@charset "UTF-8";
/*=======================================
アニメーション
=========================================*/
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.rotate {
  animation: rotate 12s infinite linear;
}

.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: .8s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes textFade {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.text-fade {
  opacity: 1;
  animation-name: textFade;
  animation-duration: 0.8s;
  animation-fill-mode: both;
  transition: opacity 0.5s ease;
}

/*=======================================
トップページ
=========================================*/
.l-kv {
  display: flex;
  overflow: hidden;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  position: relative;
  padding-top: 100px;
  background: url("../img/top/bg2.png") no-repeat center;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*		&:before{
  			content: "";
  			width: 100%;
  			height: 100%;
  			position: absolute;
  			top: 0;
  			left: 0;
  			display: block;
    		animation: Grad 10s infinite;
    		opacity: 0.3;
  		}*/
}
.l-kv .rec-btn {
  position: absolute;
  right: 50px;
  bottom: 8%;
  opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.l-kv .rec-btn .bg {
  width: 250px;
  height: 250px;
  background: url("../img/top/recruit_btn.svg") no-repeat center;
  -webkit-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
}
.l-kv .rec-btn .txt {
  position: absolute;
  left: 0;
  top: 0;
}
.l-kv .rec-btn .txt a {
  text-decoration: none;
  width: 250px;
  height: 250px;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.l-kv .rec-btn .txt .tit {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #FFF;
  font-size: 32px;
  border-bottom: 1px solid #fff;
  padding-bottom: 15px;
  margin-bottom: 10px;
}
.l-kv .rec-btn .txt p {
  color: #FFF;
  font-weight: bold;
  position: relative;
}
.l-kv .rec-btn .txt p::before, .l-kv .rec-btn .txt p::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: calc(50% - 2px);
  width: 2px;
  height: 10px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 50% calc(100% - 2px);
}
.l-kv .rec-btn .txt p::before {
  transform: rotate(45deg);
}
.l-kv .rec-btn .txt p::after {
  transform: rotate(-45deg);
}
.l-kv .mv {
  /*		text-align: center;
  		width: 50%;
  		margin:0 auto;
  		position: relative;*/
}
.l-kv .mv .icon1 {
  position: absolute;
  bottom: 0;
}
.l-kv .mv .icon2 {
  position: absolute;
  bottom: 0;
}
.l-kv .mv img {
  display: inline-block;
  opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.l-kv .ct {
  padding-top: 7%;
  left: 8%;
  position: absolute;
}
.l-kv .ct .txt1,
.l-kv .ct .txt2,
.l-kv .ct .txt3 {
  opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: block;
  float: right;
  writing-mode: vertical-rl;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.2em;
}
.l-kv .ct .txt1 {
  font-weight: bold;
  font-size: 47px;
  text-align: left;
  color: #707070;
}
.l-kv .ct .txt2,
.l-kv .ct .txt3 {
  margin-right: 60px;
  font-weight: bold;
  font-size: 39px;
  text-align: left;
  color: #707070;
}

@keyframes blob_rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes Grad {
  0% {
    background-color: #bf4040;
  }
  1% {
    background-color: #bf4740;
  }
  2% {
    background-color: #bf4f40;
  }
  3% {
    background-color: #bf5740;
  }
  4% {
    background-color: #bf5e40;
  }
  5% {
    background-color: #bf6640;
  }
  6% {
    background-color: #bf6e40;
  }
  7% {
    background-color: #bf7540;
  }
  8% {
    background-color: #bf7d40;
  }
  9% {
    background-color: #bf8540;
  }
  10% {
    background-color: #bf8c40;
  }
  11% {
    background-color: #bf9440;
  }
  12% {
    background-color: #bf9c40;
  }
  13% {
    background-color: #bfa340;
  }
  14% {
    background-color: #bfab40;
  }
  15% {
    background-color: #bfb340;
  }
  16% {
    background-color: #bfba40;
  }
  17% {
    background-color: #bdbf40;
  }
  18% {
    background-color: #b5bf40;
  }
  19% {
    background-color: #adbf40;
  }
  20% {
    background-color: #a6bf40;
  }
  21% {
    background-color: #9ebf40;
  }
  22% {
    background-color: #96bf40;
  }
  23% {
    background-color: #8fbf40;
  }
  24% {
    background-color: #87bf40;
  }
  25% {
    background-color: #80bf40;
  }
  26% {
    background-color: #78bf40;
  }
  27% {
    background-color: #70bf40;
  }
  28% {
    background-color: #69bf40;
  }
  29% {
    background-color: #61bf40;
  }
  30% {
    background-color: #59bf40;
  }
  31% {
    background-color: #52bf40;
  }
  32% {
    background-color: #4abf40;
  }
  33% {
    background-color: #42bf40;
  }
  34% {
    background-color: #40bf45;
  }
  35% {
    background-color: #40bf4d;
  }
  36% {
    background-color: #40bf54;
  }
  37% {
    background-color: #40bf5c;
  }
  38% {
    background-color: #40bf63;
  }
  39% {
    background-color: #40bf6b;
  }
  40% {
    background-color: #40bf73;
  }
  41% {
    background-color: #40bf7a;
  }
  42% {
    background-color: #40bf82;
  }
  43% {
    background-color: #40bf8a;
  }
  44% {
    background-color: #40bf91;
  }
  45% {
    background-color: #40bf99;
  }
  46% {
    background-color: #40bfa1;
  }
  47% {
    background-color: #40bfa8;
  }
  48% {
    background-color: #40bfb0;
  }
  49% {
    background-color: #40bfb8;
  }
  50% {
    background-color: #40bfbf;
  }
  51% {
    background-color: #40b8bf;
  }
  52% {
    background-color: #40b0bf;
  }
  53% {
    background-color: #40a8bf;
  }
  54% {
    background-color: #40a1bf;
  }
  55% {
    background-color: #4099bf;
  }
  56% {
    background-color: #4091bf;
  }
  57% {
    background-color: #408abf;
  }
  58% {
    background-color: #4082bf;
  }
  59% {
    background-color: #407abf;
  }
  60% {
    background-color: #4073bf;
  }
  61% {
    background-color: #406bbf;
  }
  62% {
    background-color: #4063bf;
  }
  63% {
    background-color: #405cbf;
  }
  64% {
    background-color: #4054bf;
  }
  65% {
    background-color: #404dbf;
  }
  66% {
    background-color: #4045bf;
  }
  67% {
    background-color: #4240bf;
  }
  68% {
    background-color: #4a40bf;
  }
  69% {
    background-color: #5240bf;
  }
  70% {
    background-color: #5940bf;
  }
  71% {
    background-color: #6140bf;
  }
  72% {
    background-color: #6940bf;
  }
  73% {
    background-color: #7040bf;
  }
  74% {
    background-color: #7840bf;
  }
  75% {
    background-color: #8040bf;
  }
  76% {
    background-color: #8740bf;
  }
  77% {
    background-color: #8f40bf;
  }
  78% {
    background-color: #9640bf;
  }
  79% {
    background-color: #9e40bf;
  }
  80% {
    background-color: #a640bf;
  }
  81% {
    background-color: #ad40bf;
  }
  82% {
    background-color: #b540bf;
  }
  83% {
    background-color: #bd40bf;
  }
  84% {
    background-color: #bf40ba;
  }
  85% {
    background-color: #bf40b3;
  }
  86% {
    background-color: #bf40ab;
  }
  87% {
    background-color: #bf40a3;
  }
  88% {
    background-color: #bf409c;
  }
  89% {
    background-color: #bf4094;
  }
  90% {
    background-color: #bf408c;
  }
  91% {
    background-color: #bf4085;
  }
  92% {
    background-color: #bf407d;
  }
  93% {
    background-color: #bf4075;
  }
  94% {
    background-color: #bf406e;
  }
  95% {
    background-color: #bf4066;
  }
  96% {
    background-color: #bf405e;
  }
  97% {
    background-color: #bf4057;
  }
  98% {
    background-color: #bf404f;
  }
  99% {
    background-color: #bf4047;
  }
  100% {
    background-color: #bf4040;
  }
}
.bg-blobs {
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  top: 0;
  z-index: 0;
  /* 本文より背面へ */
  width: 100%;
  height: 100vh;
  overflow: hidden;
  pointer-events: none;
  /* 背景は操作対象外（クリック等を透過） */
}

.blob {
  position: absolute;
  left: 50%;
  top: 50%;
  animation-name: blob_rotate;
  /* 中心基準で回転させ、擬似要素の相対位置を円運動させる */
  animation-timing-function: linear;
  /* 一定速度で回転 */
  animation-iteration-count: infinite;
  /* アニメーションを無限に繰り返す */
}

.blob::before {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  opacity: 0.4;
  /* 全体の発光強度（強すぎると本文を圧迫） */
  transform: translate(-50%, -50%);
  /* left/top の基準点（左上）を要素の中心に補正 */
  /* 見た目のコア：
      - background: radial-gradient（中心が最も濃く、外側でフェードアウト）
      - サイズ/位置/色/濃度は各 nth-child で個別に指定し、重なりで奥行きを作る */
}

/* 各 blob の速度や見た目（サイズ・色・配置・フェード距離）を個別に指定 */
.blob:nth-child(1) {
  animation-duration: 35000ms;
}

.blob:nth-child(1)::before {
  left: -150px;
  top: 150px;
  width: 350px;
  height: 350px;
  background: radial-gradient(rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%);
}

.blob:nth-child(2) {
  animation-duration: 30000ms;
  animation-direction: reverse;
}

.blob:nth-child(2)::before {
  left: 250px;
  top: -250px;
  width: 500px;
  height: 500px;
  background: radial-gradient(rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 70%);
}

.blob:nth-child(3) {
  animation-duration: 25000ms;
}

.blob:nth-child(3)::before {
  left: 550px;
  top: 300px;
  width: 700px;
  height: 700px;
  background: radial-gradient(rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
}

/* ------------------------------
  レスポンシブ対応
------------------------------ */
@media (max-width: 767px) {
  /* 固定配置の背景レイヤー（モバイル調整）
      - 画面が狭いと blob（丸）が主張しやすいため、半径とオフセットのみ縮小
      - アニメ速度や不透明度は PC と同一にし、見た目のトーンを揃える
      - 文字や画像に被り過ぎないよう、端寄りの配置を弱める（left/top を再調整）
  */
  .blob:nth-child(1)::before {
    left: -50px;
    top: 50px;
    width: 250px;
    height: 250px;
  }

  .blob:nth-child(2)::before {
    left: 150px;
    top: -150px;
    width: 350px;
    height: 350px;
  }

  .blob:nth-child(3)::before {
    left: 450px;
    top: 150px;
    width: 500px;
    height: 500px;
  }
}
.img-wrap {
  height: 596px;
  width: 875px;
  margin: 0 auto;
  position: relative;
  /* 2秒ごとに順次実行 */
  /* 最後の画像（src5）だけ透明度を1で維持するアニメーション */
}
.img-wrap .image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  /* infinite を削除し、animation-fill-mode: forwards を追加 */
  animation: image-switch-animation 10s ease-in-out forwards;
}
.img-wrap .src1 {
  background-image: url(../img/top/t1_v2.png);
  animation-delay: 0s;
}
.img-wrap .src2 {
  background-image: url(../img/top/t2_v2.png);
  animation-delay: 2s;
}
.img-wrap .src3 {
  background-image: url(../img/top/t3.png);
  animation-delay: 4s;
}
.img-wrap .src4 {
  background-image: url(../img/top/t4.png);
  animation-delay: 6s;
}
.img-wrap .src5 {
  background-image: url(../img/top/t5.png);
  animation-delay: 8s;
}
.img-wrap .src5 {
  animation-name: last-image-animation;
}

/* 通常用：表示して消える */
@keyframes image-switch-animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* 最後用：表示したまま残る */
@keyframes last-image-animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.p-top__news {
  position: relative;
}
.p-top__news:before {
  content: "";
  width: 50%;
  position: absolute;
  display: block;
  height: 100%;
  background-color: #F0EADE;
  z-index: -1;
}
.p-top__news:after {
  content: "";
  width: 50%;
  position: absolute;
  right: 0;
  display: block;
  height: 100%;
  background-color: #FCFBF6;
  z-index: -1;
  top: 0;
}
.p-top__news .inner {
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.p-top__news .inner:before, .p-top__news .inner:after {
  content: none;
}
.p-top__news .inner .title {
  width: 50%;
  text-align: center;
  padding: 50px 0;
}
.p-top__news .inner .title h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #707070;
  padding-bottom: 20px;
}
.p-top__news .inner .title h2 span {
  margin-top: 20px;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: #707070;
  padding-left: 20px;
  display: block;
}
.p-top__news .inner .title .btn {
  text-align: center;
}
.p-top__news .inner .title .btn a {
  text-decoration: none;
  width: 156px;
  display: inline-block;
  padding: 5px 0 15px;
  color: #FFF;
  border-radius: 24px;
  background: #fcce25;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.05em;
  color: #fff;
}
.p-top__news .inner .title .btn a span {
  line-height: 1;
}
.p-top__news .inner .detail {
  width: 50%;
  padding-left: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.p-top__facility {
  padding: 150px 0 100px;
}
.p-top__facility h2 {
  border-bottom: 1px solid #D5D5D5;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 0.15em;
  text-align: left;
  color: #707070;
  padding-bottom: 20px;
}
.p-top__facility h2 span {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  text-align: left;
  color: #707070;
  padding-left: 20px;
}
.p-top__facility .f-wrap {
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-top__facility .f-wrap:before, .p-top__facility .f-wrap:after {
  content: none;
}
.p-top__facility .f-wrap .item {
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 50px;
}
.p-top__facility .f-wrap .item:nth-child(2n) {
  border-left: 1px solid #D5D5D5;
}
.p-top__facility .f-wrap .item:nth-child(n+3) {
  border-top: 1px solid #D5D5D5;
}
.p-top__facility .f-wrap .item .ph {
  height: 290px;
  text-align: center;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.p-top__facility .f-wrap .item .txt .title {
  position: relative;
  margin-top: 20px;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.p-top__facility .f-wrap .item .txt .title:before, .p-top__facility .f-wrap .item .txt .title:after {
  content: none;
}
.p-top__facility .f-wrap .item .txt .title h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.1em;
  text-align: left;
  color: #707070;
}
.p-top__facility .f-wrap .item .txt .title h3 span:before {
  content: "⚫︎";
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.1em;
  text-align: left;
  color: #fcce25;
}
.p-top__facility .f-wrap .item .txt .title .btn {
  right: 0;
  top: 0;
}
.p-top__facility .f-wrap .item .txt .title .btn a {
  text-decoration: none;
  width: 156px;
  display: block;
  padding: 5px 0 15px;
  color: #FFF;
  border-radius: 24px;
  background: #fcce25;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.05em;
  color: #fff;
}
.p-top__facility .f-wrap .item .txt .title .btn a span {
  line-height: 1;
}
.p-top__facility .f-wrap .item .txt .detail {
  margin-top: 20px;
}
.p-top__facility .f-wrap .item .txt .detail h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  text-align: left;
  color: #707070;
}
.p-top__facility .f-wrap .item .txt .detail p {
  margin-top: 20px;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-align: left;
  color: #707070;
}
.p-top__facility .f-wrap .item:nth-child(1) .txt .title h3 span:before {
  color: #6E9BD1;
}
.p-top__facility .f-wrap .item:nth-child(1) .txt .title .btn a {
  background-color: #6E9BD1;
}
.p-top__facility .f-wrap .item:nth-child(2) .txt .title h3 span:before {
  /*color: #E76549;*/
  color: #1CB179;
}
.p-top__facility .f-wrap .item:nth-child(2) .txt .title .btn a {
  background-color: #1CB179;
}
.p-top__facility .f-wrap .item:nth-child(3) .txt .title h3 span:before {
  color: #f9acdf;
}
.p-top__facility .f-wrap .item:nth-child(3) .txt .title .btn a {
  background-color: #f9acdf;
}
.p-top__facility .f-wrap .item:nth-child(4) .txt .title h3 span:before {
  /*color: #1CB179;*/
  color: #E9A766;
}
.p-top__facility .f-wrap .item:nth-child(4) .txt .title .btn a {
  background-color: #E9A766;
}
.p-top__philos {
  padding: 0 0 100px;
}
.p-top__philos h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #707070;
  padding-bottom: 60px;
}
.p-top__philos h2 span {
  margin-top: 20px;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: #707070;
  padding-left: 20px;
  display: block;
}
.p-top__philos p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.15em;
  line-height: 40px;
  text-align: center;
  color: #707070;
}
.p-top__philos ul {
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: 60px;
}
.p-top__philos ul:before, .p-top__philos ul:after {
  content: none;
}
.p-top__philos ul li {
  width: 32%;
  height: 217px;
  border-radius: 20px;
  color: #FFF;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.p-top__philos ul li p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 0.15em;
  color: #fff;
  text-align: center;
  margin-top: 10px;
}
.p-top__philos ul li:nth-child(1) {
  background-color: #6E9BD1;
}
.p-top__philos ul li:nth-child(2) {
  background-color: #1CB179;
}
.p-top__philos ul li:nth-child(3) {
  background-color: #E9A766;
}
.p-top__message {
  background-color: #F0EADE;
  padding: 100px 0;
}
.p-top__message .inner {
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.p-top__message .inner:before, .p-top__message .inner:after {
  content: none;
}
.p-top__message .inner .title {
  width: 516px;
}
.p-top__message .inner .title h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 0.15em;
  line-height: 100px;
  text-align: left;
  color: #707070;
}
.p-top__message .inner .txt {
  width: calc(100% - 516px);
}
.p-top__message .inner .txt p {
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 40px;
  text-align: left;
  color: #707070;
  margin-bottom: 1em;
}
.p-top__message .inner .txt .name {
  text-align: right;
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.15em;
  line-height: 100px;
  color: #707070;
}
.p-top__rec .bg {
  width: 100%;
  height: 660px;
  background: url("../img/top/mv.png") no-repeat center;
  /*background-image: url("../img/top/recruit_bg.png");*/
  background-repeat: no-repeat;
  background-attachment: fixed;
  -webkit-background-size: 75%;
  -o-background-size: 75%;
  background-size: 75%;
}
.p-top__rec .txt {
  position: relative;
  margin-top: -200px;
  z-index: 10;
}
.p-top__rec .txt:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  max-width: 70%;
  min-width: 960px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%;
  border-radius: 20px 0px 0px 20px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  z-index: -1;
}
.p-top__rec .txt .in {
  width: 890px;
  float: right;
  padding: 70px 0;
}
.p-top__rec .txt .in h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 0.15em;
  text-align: left;
  color: #707070;
  padding-bottom: 40px;
}
.p-top__rec .txt .in h2 span {
  margin-top: 20px;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: #707070;
  display: block;
}
.p-top__rec .txt .in ul {
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-top__rec .txt .in ul:before, .p-top__rec .txt .in ul:after {
  content: none;
}
.p-top__rec .txt .in ul li {
  width: 434px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #ccc;
}
.p-top__rec .txt .in ul li:nth-child(n+3) {
  margin-top: 20px;
}
.p-top__rec .txt .in ul li a {
  display: block;
  height: 92px;
  line-height: 92px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #707070;
  /*color: #fff;*/
  text-decoration: none;
}
.p-top__access {
  padding: 100px 0;
}
.p-top__access h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #707070;
}
.p-top__access h2 span {
  margin-top: 20px;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: #707070;
  padding-left: 20px;
  display: block;
}
.p-top__access p {
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 45px 0;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.15em;
  text-align: center;
  color: #707070;
}
.p-top__access .gmap {
  width: 100%;
  height: 400px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  overflow: hidden;
}
.p-top__access .gmap iframe {
  width: 100%;
  height: 100%;
}

/* ----------------------------- スマホ（～767px） */
@media screen and (max-width: 767px) {
  .l-kv {
    display: block;
    padding: 230px 0 100px;
    position: relative;
  }
  .l-kv .rec-btn {
    position: absolute;
    right: 10px;
    bottom: 40px;
  }
  .l-kv .rec-btn .bg {
    width: 160px;
    height: 160px;
  }
  .l-kv .rec-btn .txt {
    position: absolute;
    left: 0;
    top: 0;
  }
  .l-kv .rec-btn .txt a {
    text-decoration: none;
    width: 160px;
    height: 160px;
  }
  .l-kv .rec-btn .txt .tit {
    font-family: "Zen Maru Gothic", sans-serif;
    color: #FFF;
    font-size: 26px;
  }
  .l-kv .mv {
    width: 100%;
    margin: 0 auto;
  }
  .l-kv .mv img {
    width: 130%;
    margin: 0 auto;
  }
  .l-kv .ct {
    padding-top: 0;
    padding-right: 0;
    margin-top: 0;
    top: 100px;
    left: 0;
    width: 100%;
    text-align: center;
  }
  .l-kv .ct .txt1,
  .l-kv .ct .txt2,
  .l-kv .ct .txt3 {
    display: block;
    float: none;
    line-height: 2;
    writing-mode: inherit;
    font-family: "Zen Maru Gothic", sans-serif;
    letter-spacing: 0;
    padding-left: 0;
    margin: 0 auto;
    text-align: center;
    text-indent: 0;
    font-feature-settings: "palt";
  }
  .l-kv .ct .txt1 {
    font-size: 32px;
  }
  .l-kv .ct .txt2,
  .l-kv .ct .txt3 {
    font-size: 26px;
  }

  .img-wrap {
    width: min(100%, 875px);
    aspect-ratio: 875 / 596;
    max-height: 42vh;
    margin: 0 auto;
    position: relative;
  }

  .p-top__news {
    position: relative;
    background-color: #F0EADE;
    padding-bottom: 40px;
  }
  .p-top__news:before {
    content: none;
  }
  .p-top__news:after {
    content: none;
  }
  .p-top__news .inner {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
  }
  .p-top__news .inner .title {
    width: 100%;
    background-color: #F0EADE;
    text-align: center;
    padding: 50px 0 20px;
  }
  .p-top__news .inner .title h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.15em;
    text-align: center;
    color: #707070;
    padding-bottom: 20px;
  }
  .p-top__news .inner .title h2 span {
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #707070;
    padding-left: 0;
    display: block;
  }
  .p-top__news .inner .title .btn {
    text-align: center;
  }
  .p-top__news .inner .title .btn a {
    text-decoration: none;
    width: 156px;
    display: inline-block;
    padding: 5px 0 15px;
    color: #FFF;
    border-radius: 24px;
    background: #fcce25;
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 26px;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .p-top__news .inner .title .btn a span {
    line-height: 1;
  }
  .p-top__news .inner .detail {
    width: 95%;
    margin: 0 auto;
    background-color: #FCFBF6;
    padding: 30px 15px;
  }
  .p-top__news .btn {
    margin-top: 30px;
    text-align: center;
  }
  .p-top__news .btn a {
    text-decoration: none;
    width: 156px;
    display: inline-block;
    padding: 5px 0 15px;
    color: #FFF;
    border-radius: 24px;
    background: #fcce25;
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.05em;
    color: #fff;
  }
  .p-top__news .btn a span {
    line-height: 1;
  }
  .p-top__facility {
    padding: 60px 0 60px;
  }
  .p-top__facility h2 {
    border-bottom: 1px solid #D5D5D5;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.15em;
    text-align: left;
    color: #707070;
    padding-bottom: 20px;
  }
  .p-top__facility h2 span {
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #707070;
    padding-left: 10px;
  }
  .p-top__facility .f-wrap {
    display: ｂblock;
  }
  .p-top__facility .f-wrap .item {
    width: 100%;
    padding: 30px 0;
  }
  .p-top__facility .f-wrap .item:nth-child(2n) {
    border-left: none;
  }
  .p-top__facility .f-wrap .item:nth-child(n+2) {
    border-top: 1px solid #D5D5D5;
  }
  .p-top__facility .f-wrap .item:last-child {
    border-bottom: 1px solid #D5D5D5;
  }
  .p-top__facility .f-wrap .item .txt .title h3 {
    font-size: 26px;
  }
  .p-top__facility .f-wrap .item .txt .title h3 span:before {
    font-size: 26px;
  }
  .p-top__facility .f-wrap .item .txt .title .btn {
    right: 0;
    top: 0;
  }
  .p-top__facility .f-wrap .item .txt .title .btn a {
    text-decoration: none;
    width: 106px;
    display: block;
    padding: 5px 0 15px;
    color: #FFF;
    border-radius: 24px;
    font-size: 18px;
  }
  .p-top__facility .f-wrap .item .txt .detail {
    margin-top: 20px;
  }
  .p-top__facility .f-wrap .item .txt .detail h4 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #707070;
  }
  .p-top__facility .f-wrap .item .txt .detail p {
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #707070;
  }
  .p-top__philos {
    padding: 0 0 60px;
  }
  .p-top__philos h2 {
    font-size: 32px;
    letter-spacing: 0.15em;
    text-align: center;
    color: #707070;
    padding-bottom: 60px;
  }
  .p-top__philos h2 span {
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #707070;
    padding-left: 20px;
    display: block;
  }
  .p-top__philos p {
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
  }
  .p-top__philos ul {
    display: block;
    margin-bottom: 40px;
  }
  .p-top__philos ul li {
    width: 100%;
    height: 80px;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 10px;
  }
  .p-top__philos ul li:last-child {
    margin-bottom: 0;
  }
  .p-top__philos ul li .icon {
    margin-right: 20px;
  }
  .p-top__philos ul li p {
    font-size: 26px;
    margin-top: 0;
  }
  .p-top__philos ul li:nth-child(1) .icon {
    width: 30px;
    margin-left: -30px;
  }
  .p-top__philos ul li:nth-child(2) .icon {
    width: 40px;
    margin-left: -40px;
  }
  .p-top__philos ul li:nth-child(3) .icon {
    width: 25px;
    margin-left: -25px;
  }
  .p-top__message {
    padding: 60px 0;
  }
  .p-top__message .inner {
    display: block;
  }
  .p-top__message .inner .title {
    width: 100%;
  }
  .p-top__message .inner .title h2 {
    font-size: 36px;
    text-align: center;
    line-height: 2;
  }
  .p-top__message .inner .title .icon {
    width: 60%;
    margin: 0 auto;
  }
  .p-top__message .inner .txt {
    margin-top: 20px;
    width: 100%;
  }
  .p-top__message .inner .txt p {
    font-size: 14px;
    line-height: 1.8;
  }
  .p-top__message .inner .txt .name {
    font-size: 18px;
    line-height: 1;
    margin-top: 20px;
  }
  .p-top__rec .bg {
    width: 100%;
    height: 450px;
    -webkit-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    background-attachment: unset;
    background-position: top 10px center;
  }
  .p-top__rec .txt:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 98%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%;
    border-radius: 20px 0px 0px 20px;
    background: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    z-index: -1;
  }
  .p-top__rec .txt .in {
    width: 100%;
    float: none;
    padding: 40px 0 40px 5px;
  }
  .p-top__rec .txt .in h2 {
    font-size: 32px;
    letter-spacing: 0.15em;
    text-align: center;
    color: #707070;
    padding-bottom: 40px;
  }
  .p-top__rec .txt .in h2 span {
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #707070;
    display: block;
  }
  .p-top__rec .txt .in ul li {
    width: 49%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .p-top__rec .txt .in ul li:nth-child(n+3) {
    margin-top: 2%;
  }
  .p-top__rec .txt .in ul li a {
    display: block;
    height: 60px;
    line-height: 60px;
    font-size: 16px;
  }
  .p-top__access {
    padding: 60px 0;
  }
  .p-top__access h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.15em;
    text-align: center;
    color: #707070;
  }
  .p-top__access h2 span {
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #707070;
    padding-left: 20px;
    display: block;
  }
  .p-top__access p {
    font-size: 14px;
  }
  .p-top__access .gmap {
    width: 100%;
    height: 250px;
  }
}
