@charset "UTF-8";
/*reset */
* {
  box-sizing: border-box;
}

:after,
:before {
  box-sizing: inherit;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  margin: 0;
}

main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

address,
blockquote,
dl,
figure,
form,
iframe,
ol,
p,
pre,
table,
ul {
  margin: 0;
}

ol,
ul {
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  border-bottom: 0;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  vertical-align: bottom;
}

embed,
iframe,
object {
  border: 0;
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled],
button[disabled] {
  cursor: default;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset,
option {
  padding: 0;
}

fieldset {
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

[hidden],
template {
  display: none;
}

* {
  transition: all 0.3s cubic-bezier(0, 0, 0, 0.99);
}

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 200%;
  overflow-x: hidden;
}

a {
  color: #0041c3;
}

a:hover {
  color: #0041c3;
}

img {
  width: 100%;
  height: auto;
}

.jp {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-style: normal;
}

.en {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.en_regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.en_medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.en_semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

/* =================================================================

    共通

================================================================= */
.inner {
  width: 1100px;
  margin: auto;
}

.cf:after {
  content: "";
  clear: both;
  display: block;
}

.fadein {
  transition: 1s;
  opacity: 0;
  transform: translatey(50px);
}

.fadein.animated {
  opacity: 1;
  transform: translatey(0px);
}

.wp-block-column p {
  line-height: 180%;
}

header {
  display: flex;
  padding: 0 36px;
  position: fixed;
  width: 100%;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  background: #fff;
  z-index: 9999;
  /**************** 以下、ハンバーガーボタンのスタイリング ****************/
  /***** 真ん中のバーガー線 *****/
  /***** 上下のバーガー線 *****/
  /***** メニューオープン時 *****/
  /**************** ここまで、ハンバーガーボタンのスタイリング ****************/
  /**************** 以下、メニューのスタイリング ****************/
  /***** メニューオープン時位置0にして画面内に *****/
  /* 600px以上はハンバーガーボタン非表示、ヘッダー固定 */
  /**************** ここまで、メニューのスタイリング ****************/
}
header.scrolled {
  box-shadow: 0px 5px 24px 0px rgba(174, 179, 185, 0.19);
}
header.scrolled .logo {
  margin: 16px 0 16px 0;
  width: 120px;
}
header.scrolled .logo.rectuit_logo {
  width: 180px;
}
header.scrolled .menu {
  height: 79px;
}
header .logo {
  width: 155px;
  margin: 36px 0 0 0;
}
header .logo.rectuit_logo {
  width: 240px;
}
header .coplink {
  display: none;
}
@media screen and (max-width: 1194px) {
  header .coplink {
    display: block;
    position: fixed;
    top: 30px;
    right: 70px;
  }
  header .coplink a {
    display: block;
    border-radius: 100px;
    border: 1px solid #ddd;
    padding: 3px 12px;
    color: #777;
    font-size: 10px;
  }
}
header .g_btn {
  /* ボタンの配置位置  */
  position: fixed;
  top: 22px;
  right: 24px;
  /* 最前面に */
  z-index: 10;
  /* ボタンの大きさ  */
  width: 30px;
  height: 48px;
}
header .btn-line {
  display: block;
  /* バーガー線の位置基準として設定 */
  position: relative;
  /* 線の長さと高さ */
  width: 100%;
  height: 1px;
  /* バーガー線の色 */
  background-color: #000;
  transition: 0.2s;
}
header .btn-line::before,
header .btn-line::after {
  content: "";
  /* 基準線と同じ大きさと色 */
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  transition: 0.5s;
}
header .btn-line::before {
  /* 上の線の位置 */
  transform: translateY(-10px);
}
header .btn-line::after {
  /* 下の線の位置 */
  transform: translateY(10px);
}
header .btn-line.open {
  /* 真ん中の線を透明に */
  background-color: transparent;
}
header .btn-line.open::before,
header .btn-line.open::after {
  content: "";
  background-color: #333;
  transition: 0.2s;
}
header .btn-line.open::before {
  /* 上の線を傾ける */
  transform: rotate(45deg);
}
header .btn-line.open::after {
  /* 上の線を傾ける */
  transform: rotate(-45deg);
}
header .menu {
  /* メニューを縦に */
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  position: fixed;
  /* メニューの位置マイナス指定で画面外に */
  right: -70%;
  height: 100vh;
  color: #fff;
  transition: 0.3s;
  background: #CE5737;
  padding-top: 100px;
}
header .menu a {
  color: #000;
}
header .menu-list {
  /* メニューテキスト位置をリスト内中心に */
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 70px;
}
header .menu-list a {
  color: #fff;
  text-align: left;
  padding: 24px 16px;
  width: 100%;
  display: block;
}
header .menu-list:hover {
  background-color: rgba(255, 255, 255, 0.5);
  color: #333;
  cursor: pointer;
  transition: 0.3s;
}
header .menu.open {
  position: absolute;
  right: 0;
  padding-top: 100px;
  width: 70%;
}
@media screen and (min-width: 1194px) {
  header .g_btn {
    display: none;
  }
  header .menu {
    /* メニューを横に */
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    position: fixed;
    top: 0;
    right: 36px;
    height: 148px;
    background: none;
    padding: 0;
  }
  header .menu a {
    white-space: nowrap;
    color: #000;
  }
  header .menu a:hover {
    color: #CE5737;
  }
  header .menu a.contact {
    border: #CE5737 solid 1px;
    border-radius: 8px;
    padding: 8px 24px;
    color: #CE5737;
    background: #fff;
  }
  header .menu a.contact:hover {
    color: #fff;
    background: #CE5737;
  }
  header .menu a.line_link {
    border-radius: 8px;
    margin-left: 16px;
    padding: 8px 20px 8px 45px;
    color: #fff;
    background: #00b900 url(/wp-content/themes/joyne_001_1-2-7/assets_base/images/recruit/btn_lin.svg) no-repeat 16px 50%/20px;
  }
  header .menu a.line_link:hover {
    opacity: 0.6;
  }
  header .menu-list {
    /* メニューテキスト位置をリスト内中心に */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}

.ttl_base span {
  background: url("../images/common/head_ic_o.svg") no-repeat 0 50%/9px;
  color: #CE5737;
  padding-left: 24px;
  left: 2px;
}
.ttl_base h2 {
  font-size: 32px;
  padding: 36px 0 48px;
}

.btn a {
  display: flex;
  align-items: center;
  color: #000;
}
.btn a.right {
  display: flex;
  justify-content: flex-end;
}
.btn a span {
  border: 1px solid #CE5737;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-left: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.btn a span::before {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background: url("../images/common/arrow_right_orange.svg") no-repeat center/contain;
  z-index: 2;
  position: relative;
}
.btn a span::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #CE5737;
  transition: 0.3s;
  border-radius: 50%;
}
.btn a:hover {
  opacity: 1;
}
.btn a:hover span::before {
  background-image: url("../images/common/arrow_right_white.svg");
}
.btn a:hover span::after {
  width: 100%;
  height: 100%;
}

.cta a {
  border-radius: 200px;
  background-image: -ms-linear-gradient(0deg, rgb(62, 203, 255) 0%, rgb(0, 65, 195) 100%);
  box-shadow: 0px 5px 13px 0px rgba(29, 129, 223, 0.46);
  color: #fff;
}

span.marker {
  background: linear-gradient(transparent 50%, #d2f9e8 50%);
  padding: 0 5px;
}

/* =================================================================

    トップページ

================================================================= */
.home .hero {
  padding: 148px 0 0;
  position: relative;
}
.home .hero .in_wrap {
  display: flex;
  justify-content: space-between;
}
.home .hero .in_wrap .left {
  width: 31%;
  text-align: center;
}
.home .hero .in_wrap .left .copy {
  display: flex;
  height: 64vh;
  /* 高さを設定して、中央寄せの基準とする */
  align-items: center;
  /* 垂直方向の中央寄せ */
  justify-content: center;
  /* 水平方向の中央寄せ */
}
.home .hero .in_wrap .left .copy p {
  writing-mode: vertical-rl;
  text-orientation: inherit;
}
.home .hero .in_wrap .left .copy p span {
  display: block;
  font-size: 4vh;
  line-height: 200%;
  letter-spacing: 0.2em;
}
.home .hero .in_wrap .left .copy p span.t1 {
  margin-top: -24vh;
}
.home .hero .in_wrap .left .copy p span.t2 {
  padding-top: 10vh;
}
.home .hero .in_wrap .left .copy p span.t3 {
  padding-top: 29.5vh;
}
.home .hero .in_wrap .left .en {
  color: #CE5737;
  font-size: 13px;
  padding-top: 5.2vh;
  letter-spacing: 0.15em;
}
.home .hero .in_wrap .right {
  width: 69%;
  height: 88vh;
  border-radius: 8px 0 0 8px;
  overflow: hidden;
}
.home .hero .in_wrap .right img {
  border-radius: 8px 0 0 8px;
  overflow: hidden;
  height: 90vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .hero .btn,
.home .hero .btn_r {
  width: 311px;
  position: absolute;
  bottom: 140px;
  right: 36px;
}
.home .hero .btn a,
.home .hero .btn_r a {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: space-between;
  height: 100%;
  align-items: center;
  color: #fff;
  background: #CE5737;
  padding: 20px 30px;
  font-size: 14px;
  border-radius: 8px;
}
.home .hero .btn a span,
.home .hero .btn_r a span {
  border: 1px solid #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-left: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.home .hero .btn a span::before,
.home .hero .btn_r a span::before {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background: url("../images/common/arrow_right_white.svg") no-repeat center/contain;
  z-index: 2;
  position: relative;
}
.home .hero .btn a span::after,
.home .hero .btn_r a span::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  transition: 0.3s;
  border-radius: 50%;
}
.home .hero .btn a:hover,
.home .hero .btn_r a:hover {
  opacity: 1;
}
.home .hero .btn a:hover span::before,
.home .hero .btn_r a:hover span::before {
  background-image: url("../images/common/arrow_right_orenge.svg");
}
.home .hero .btn a:hover span::after,
.home .hero .btn_r a:hover span::after {
  width: 100%;
  height: 100%;
}
.home .hero .btn_r {
  width: 311px;
  position: absolute;
  bottom: 40px;
  right: 36px;
}
.home .sec1 {
  padding: 100px 0;
  background: url("../images/home/sec1_2.svg") no-repeat 80% -200px/70%;
}
.home .sec1 .box {
  display: flex;
  margin-left: calc(50% - 50vw);
  align-items: center;
}
.home .sec1 .box .image {
  flex-shrink: 0;
  width: 40vw;
}
.home .sec1 .box .text {
  width: 44%;
  margin-left: 8%;
}
.home .sec1 .box .text p {
  margin-bottom: 16px;
  color: #5C5C5C;
}
.home .sec1 .box .text .btn {
  margin-top: 40px;
}
.home .sec2 {
  background: url("../images/home/sec2_1.jpg") no-repeat 50% 50%/cover;
  padding: 94px 0;
}
.home .sec2 .box {
  display: flex;
  align-items: center;
}
.home .sec2 .box .text {
  width: 30%;
}
.home .sec2 .box .text p {
  margin-bottom: 16px;
  color: #5C5C5C;
}
.home .sec2 .box .text .btn {
  margin-top: 40px;
}
.home .sec2 .box .image {
  width: 64%;
  padding-left: 6%;
}
.home .sec2 .box .image .left {
  float: left;
  width: 48%;
}
.home .sec2 .box .image .right {
  float: right;
  width: 48%;
  margin-top: 90px;
}
.home .sec2 .box .image .i a {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 32px;
  padding: 54px 20px;
  display: flex;
  align-items: center;
  color: #000;
}
.home .sec2 .box .image .i a:hover {
  opacity: 0.6;
}
.home .sec2 .box .image .i .icon {
  width: 20%;
  padding-top: 12px;
}
.home .sec2 .box .image .i .fcty {
  padding-left: 4%;
}
.home .sec2 .box .image .i .fcty span {
  color: #CE5737;
  font-size: 12px;
}
.home .sec2 .box .image .i .fcty p {
  font-size: 20px;
}
.home .sec2 .box .image .i .fcty p.fs {
  font-size: 16px;
}
.home .sec2 .btn span {
  background: #fff;
  border: none;
}
.home .sec3 {
  padding: 64px 0;
}
.home .sec3 .box {
  display: flex;
}
.home .sec3 .box .image {
  width: 40%;
}
.home .sec3 .box .text {
  padding-top: 64px;
  width: 50%;
  padding-left: 10%;
}
.home .sec3 .box .text .btn {
  margin-top: 40px;
}
@keyframes bgRotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.home .sec3 .sec3-animated-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 1400px;
  height: 1400px;
  /* 背景をはみ出さないように */
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  /* 背景のイベントを無効化 */
}
.home .sec3 .sec3-animated-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 2%;
  width: 700px;
  height: 700px;
  background-image: url("/wp-content/themes/joyne_001_1-2-7/assets_base/images/home/sec3_animated-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: center;
  animation: bgRotation 15s linear infinite;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .home .sec3 .sec3-animated-bg {
    top: inherit;
    left: 10%;
    bottom: 0;
    width: 650px;
    height: 650px;
    overflow: hidden;
  }
  .home .sec3 .sec3-animated-bg::before {
    width: 325px;
    height: 325px;
    top: inherit;
    left: 10%;
    bottom: 0;
    overflow: hidden;
  }
}
.home .sec4 {
  background: #faeeeb;
  padding: 94px 0;
}
.home .sec4 .box {
  display: flex;
  align-items: center;
}
.home .sec4 .box .text {
  width: 30%;
}
.home .sec4 .box .text p {
  margin-bottom: 16px;
  color: #5C5C5C;
}
.home .sec4 .box .text .btn {
  margin-top: 40px;
}
.home .sec4 .box .body {
  width: 64%;
  padding-left: 6%;
}
.home .sec4 .box .body .base a {
  display: block;
  background: url("../images/common/arrow_right_orange.svg") no-repeat 100% 50%;
  padding: 24px 0;
  border-bottom: #f5ddd7 solid 1px;
  color: #000;
}
.home .sec4 .box .body .base a:hover {
  opacity: 0.6;
  border-bottom: #CE5737 solid 1px;
}
.home .sec4 .box .body .base a span {
  color: #CE5737;
  font-size: 12px;
}
.home .sec4 .box .body .base a p {
  font-size: 17px;
}

/* =================================================================

    下層

================================================================= */
.lows {
  padding-top: 148px;
}
.lows .lows_ttl {
  background: url("../images/common/lows_kv_bg.jpg") no-repeat 50% 50%/cover;
  padding: 100px 0;
  color: #fff;
}
.lows .lows_ttl span {
  font-size: 14px;
}
.lows .lows_ttl h1 {
  padding-top: 16px;
  font-size: 32px;
}
.lows.def {
  margin-bottom: 60px;
}

/* =================================================================

    施設

================================================================= */
.facility {
  background: url("../images/facility/sec1_bg.svg") no-repeat 120% 600px;
}
.facility .hero {
  /*メイン画像下に余白をつける*/
  /*矢印の設定*/
  /*戻る、次へ矢印の位置*/
  /*選択するサムネイル画像の設定*/
}
.facility .hero .inner {
  position: relative;
}
.facility .hero .inner .mark {
  position: absolute;
  top: 0;
  left: 40px;
  width: 425px;
}
.facility .hero img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  /*画像の下にできる余白を削除*/
}
.facility .hero .gallery {
  margin: 0 0 5px 0;
}
.facility .hero .gallery li {
  list-style: none;
}
.facility .hero .slick-prev,
.facility .hero .slick-next {
  display: none !important;
  position: absolute;
  /*絶対配置にする*/
  z-index: 3;
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #ccc;
  /*矢印の色*/
  border-right: 2px solid #ccc;
  /*矢印の色*/
  height: 25px;
  width: 25px;
}
.facility .hero .slick-prev {
  /*戻る矢印の位置と形状*/
  left: 2.5%;
  transform: rotate(-135deg);
}
.facility .hero .slick-next {
  /*次へ矢印の位置と形状*/
  right: 2.5%;
  transform: rotate(45deg);
}
.facility .hero .choice-btn {
  background: #fff;
  border-radius: 8px;
  padding: 8px;
  width: 670px;
  margin: -85px auto 0 auto;
  gap: 0.3%;
}
.facility .hero .choice-btn .slick-track {
  width: 100% !important;
}
.facility .hero .choice-btn li {
  cursor: pointer;
  outline: none;
  background: #333;
  width: 24.5% !important;
  list-style: none;
  margin-right: 0.5%;
}
.facility .hero .choice-btn.three li {
  width: 33% !important;
}
.facility .hero .choice-btn .choice-btn li img {
  opacity: 0.4;
  /*選択されていないものは透過40%*/
}
.facility .hero .choice-btn li.slick-current img {
  opacity: 1;
  /*選択されているものは透過しない*/
}
.facility .hero .choice-btn .slick-track {
  transform: unset !important;
  /*画面幅サイズ変更に伴うサムネイル固定*/
}
.facility .sec1 {
  padding: 94px 0;
}
.facility .sec1 .base {
  display: flex;
  align-items: center;
  gap: 4%;
}
.facility .sec1 .base .img {
  width: 48%;
}
.facility .sec1 .base .body {
  width: 48%;
}
.facility .sec1 .base .body p {
  margin-bottom: 1em;
}
.facility .sec1 .intro {
  padding-bottom: 80px;
}
.facility .sec1 .intro .i_ttl {
  font-size: 24px;
  margin-bottom: 24px;
  line-height: 180%;
}
.facility .sec1 .intro ul {
  padding: 0 0 16px 20px;
}
.facility .sec1 .intro ul li {
  font-weight: bold;
}
.facility .sec1 .intro ul li:before {
  content: "● ";
  color: #CE5737;
}
.facility .sec1 .intro p {
  padding: 0 0 16px 16px;
}
.facility .sec2 {
  padding: 94px 0;
  background: url("../images/facility/sec2_bg.jpg") no-repeat 50% 50%/cover;
}
.facility .sec2 h2 {
  font-size: 32px;
  text-align: center;
  padding-bottom: 80px;
}
.facility .sec2 h2 span {
  display: block;
  font-size: 42px;
  padding-bottom: 20px;
}
.facility .sec2 .base {
  display: flex;
  gap: 4%;
}
.facility .sec2 .base .box {
  width: 48%;
}
.facility .sec2 .base .img img {
  border-radius: 8px;
  overflow: hidden;
}
.facility .sec2 .base .body h3 {
  font-size: 24px;
  padding: 33px 0 28px;
  font-weight: bold !important;
}
.facility .sec2 .base .body h3 span {
  background: #fff;
  padding: 2px 8px 4px;
  border-radius: 4px;
}
.facility .sec2 .base .body p {
  margin-bottom: 1em;
}
.facility .sec3 {
  padding: 94px 0;
}
.facility .sec3 .base {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: space-between;
  height: 100%;
  gap: 4%;
  margin-bottom: 40px;
}
.facility .sec3 .base .blk {
  width: 48%;
  border: #BECBD8 solid 1px;
  border-radius: 8px;
  margin: 35px 0 0 0;
}
.facility .sec3 .base .blk .box {
  position: relative;
  padding: 40px 54px;
  width: 100%;
}
.facility .sec3 .base .blk .box .icon {
  position: absolute;
  top: -35px;
  left: -35px;
  width: 80px;
}
.facility .sec3 .base .blk .box h3 {
  font-size: 25px;
  color: #CE5737;
  margin: 20px 0 16px 0;
}
.facility .sec4 {
  padding: 0 0 94px 0;
}
.facility .sec4 .bases {
  display: flex;
  gap: 4%;
}
.facility .sec4 .bases .left {
  width: 40%;
}
.facility .sec4 .bases .left .blk {
  margin-bottom: 24px;
}
.facility .sec4 .bases .left p {
  font-size: 13px;
  margin-top: -16px;
  text-align: right;
}
.facility .sec4 .bases .right {
  width: 56%;
  padding-top: 60px;
}
.facility .sec4 .bases .right h3 {
  font-size: 24px;
  padding-bottom: 16px;
  color: #CE5737;
}
.facility .sec4 .bases .right p {
  padding-bottom: 60px;
}
.facility .sec5 {
  padding: 0 0 180px 0;
}
.facility .sec5 h2 {
  text-align: left !important;
}
.facility .sec5 .base2 .price {
  color: #CE5737;
  font-size: 28px;
}
.facility .sec5 .base2 .price span {
  font-size: 50%;
}
.facility .sec5 .base2 .caution {
  font-size: 14px;
  display: block;
  line-height: 160%;
  margin-top: 16px;
}
.facility .sec5 .base2 h3 {
  border-top: #d5dde5 solid 1px;
  margin-top: 40px;
  padding-top: 36px;
  margin-bottom: 16px;
  font-size: 22px;
}
.facility .sec5 .base2 table {
  width: 100%;
}
.facility .sec5 .base2 table th {
  background: #CE5737;
  color: #fff;
  text-align: center;
  padding: 16px;
  vertical-align: middle;
  font-size: 20px;
  border: #E8ECED solid 1px;
  width: 33%;
}
.facility .sec5 .base2 table td {
  text-align: center;
  padding: 24px;
  vertical-align: middle;
  font-size: 20px;
  border: #E8ECED solid 1px;
}
.facility .sec5 .base2 tr:nth-child(even) {
  background: #F4F7F8;
}
.facility .sec6 {
  padding: 94px 0;
}
.facility .sec6 .base .blk {
  background: #F4F7F8;
  border: #E1E5E7 solid 1px;
  padding: 40px 36px 48px 36px;
  border-radius: 8px;
  margin-bottom: 48px;
}
.facility .sec6 .base .blk h3 {
  background: url("../images/common/head_ic_o.svg") no-repeat 0 50%/10px;
  font-size: 22px;
  padding-left: 24px;
  margin-bottom: 16px;
}
.facility .sec6 .base .blk h4 {
  margin-top: 16px;
}
.facility .sec6 .base.b_top {
  display: flex;
  gap: 4%;
}
.facility .sec6 .base.b_top .blk {
  width: 48%;
}
.facility .sec6 .base.b_btm .info {
  display: flex;
}
.facility .sec6 .base.b_btm .info .ad {
  width: 30%;
}
.facility .sec6 .base.b_btm .info .map {
  width: 70%;
}
.facility .sec6 .base.b_btm .info .map iframe {
  width: 100%;
}
.facility .sec_voice {
  padding-bottom: 100px;
}
.facility .sec_voice .base .blk {
  background: #fdede9;
  border: 1px solid #CE5737;
  padding: 8px;
  border-radius: 8px;
  margin-bottom: 24px;
}
.facility .sec_voice .base .blk .in {
  background: #fff;
  padding: 40px;
  border-radius: 6px;
}
.facility .sec_voice .base .blk .in h3 {
  color: #CE5737;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 16px;
}
.facility .sec_voice .base .blk .in h3 span {
  font-size: 15px;
}

/* =================================================================

    採用

================================================================= */
.recruit .ttl_base {
  text-align: center;
}
.recruit .ttl_base span {
  background: none;
  color: #CE5737;
  padding-left: 24px;
  left: 2px;
}
.recruit .ttl_base h2 {
  font-size: 32px;
  padding: 24px 0 48px;
}
.recruit .hero {
  background: linear-gradient(90deg, rgba(207, 233, 242, 0.33) 0%, rgba(246, 253, 211, 0.33) 100%);
}
.recruit .sec1 .inner {
  background: url("../images/recruit/sec1_3.png") no-repeat 100% 0;
  padding: 80px 0;
  position: relative;
}
.recruit .sec1 .inner::before {
  position: absolute;
  top: 0;
  left: 47%;
  content: url("../images/recruit/sec1_2.svg");
}
.recruit .sec1 .base {
  display: flex;
  align-items: center;
  gap: 4%;
}
.recruit .sec1 .base .img {
  width: 48%;
  margin-left: -20px;
}
.recruit .sec1 .base .body {
  width: 48%;
}
.recruit .sec1 .base .body p {
  margin-bottom: 1em;
}
.recruit .sec1 .base .body .btn {
  margin-top: 24px;
}
.recruit .sec2 {
  padding: 80px 0;
  background: linear-gradient(90deg, #F7FDD0 0%, #F3CEC5 100%);
}
.recruit .sec2 h2 {
  font-size: 32px;
  text-align: center;
  padding-bottom: 40px;
}
.recruit .sec2 h2 span {
  display: block;
  font-size: 42px;
  padding-bottom: 20px;
}
.recruit .sec2 .intro {
  padding-bottom: 80px;
}
.recruit .sec2 .base {
  display: flex;
  align-items: center;
  gap: 4%;
}
.recruit .sec2 .base .box {
  width: 48%;
}
.recruit .sec2 .base .img img {
  border-radius: 8px;
  overflow: hidden;
}
.recruit .sec2 .base .body h3 {
  font-size: 24px;
  padding: 33px 0 28px;
}
.recruit .sec2 .base .body p {
  margin-bottom: 1em;
}
.recruit .sec3 {
  padding: 80px 0;
  background: url("../images/recruit/sec3_5.png") no-repeat 50% 0/contain;
}
.recruit .sec3 .base {
  display: flex;
  gap: 4%;
  margin-bottom: 40px;
}
.recruit .sec3 .base .blk {
  width: 48%;
}
.recruit .sec3 .base .blk .box {
  position: relative;
  background: #FBFFE1;
  border-radius: 8px;
  padding: 40px 34px 40px 54px;
  margin: 35px 0 0 35px;
}
.recruit .sec3 .base .blk .box .icon {
  position: absolute;
  top: -35px;
  left: -35px;
}
.recruit .sec3 .base .blk .box h3 {
  font-size: 23px;
  margin-bottom: 16px;
}
.recruit .sec3 .base .blk .box h3 span {
  font-size: 16px;
}
.recruit .sec3 .base .blk .box p {
  opacity: 0.7;
}
.recruit .sec6 {
  padding: 80px 0;
  background: linear-gradient(90deg, rgba(207, 233, 242, 0.33) 0%, rgba(246, 253, 211, 0.33) 100%);
}
.recruit .sec6 .base {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: space-between;
  height: 100%;
  gap: 50px;
}
.recruit .sec6 .base .blk {
  width: calc(25% - 50px);
  position: relative;
}
.recruit .sec6 .base .blk:before {
  content: url("../images/recruit/sec6_5.svg");
  position: absolute;
  right: -48px;
  top: 100px;
}
.recruit .sec6 .base .blk:last-child::before {
  display: none;
}
.recruit .sec6 .base .blk .txt {
  padding-top: 16px;
}

.interview_area {
  padding: 80px 0;
  background: linear-gradient(to right, #BAE9FC 0%, #FFD1C5 100%);
}
.interview_area .ttl_base {
  text-align: center;
}
.interview_area .ttl_base span {
  background: none;
  color: #CE5737;
  padding-left: 24px;
  left: 2px;
}
.interview_area .ttl_base h2 {
  font-size: 32px;
  padding: 24px 0 48px;
}
.interview_area .test__container {
  overflow: hidden;
  padding-bottom: 100px;
}
.interview_area .test-slick {
  width: 100%;
  max-width: 1100px;
  padding: 30px 10px;
  margin: 15px auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .interview_area .test-slick {
    margin: 5% auto;
  }
}
.interview_area .test-slick__item {
  margin-right: 40px;
  margin-left: 40px;
}
.interview_area .test-slick__item:nth-child(even) {
  margin-top: 54px;
}
.interview_area .test-slick__item a {
  color: #000;
}
.interview_area .test-slick__item a .jobname {
  padding: 16px 0;
}
.interview_area .test-slick__item a .jobname span {
  background: #fff;
  border-radius: 100px;
  font-size: 12px;
  padding: 6px 16px 8px;
  color: #000;
}
.interview_area .test-slick__item:hover {
  opacity: 0.5;
}
.interview_area .test-slick__item img {
  height: auto;
  width: 100%;
}
.interview_area .test-slick button.arrow_name {
  width: 54px;
  height: 54px;
  border-radius: 100%;
  background-color: #fff;
  position: absolute;
  bottom: 64%;
  cursor: pointer;
  z-index: 5;
}
.interview_area .test-slick button.arrow_name::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #CE5737;
  border-right: 1px solid #CE5737;
  position: absolute;
  top: 50%;
}
.interview_area .test-slick button.prev_arrow {
  left: 29px;
}
.interview_area .test-slick button.next_arrow {
  right: 29px;
}
.interview_area .test-slick button.prev_arrow::before {
  left: 52%;
  transform: translate(-50%, -50%) rotate(225deg);
}
.interview_area .test-slick button.next_arrow::before {
  left: 48%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.interview_area .test-slick button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
.interview_area .slick-slider button:focus {
  outline: none;
}
.interview_area .slick-list {
  overflow: visible;
}

.staff_area {
  padding: 80px 0;
}
.staff_area .ttl_base {
  text-align: center;
}
.staff_area .ttl_base span {
  background: none;
  color: #CE5737;
  padding-left: 24px;
  left: 2px;
}
.staff_area .ttl_base h2 {
  font-size: 32px;
  padding: 24px 0 48px;
}
.staff_area .base {
  background: url("../images/recruit/staff_bg.svg") repeat-y 50% 0;
  padding-bottom: 80px;
}
.staff_area .base .blk a {
  display: block;
  width: 525px;
  padding: 58px 40px 40px;
  color: #fff;
}
.staff_area .base .blk a .icon {
  width: 288px;
  height: 288px;
  margin: 0 auto 54px;
}
.staff_area .base .blk a .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  display: block;
}
.staff_area .base .blk a .job {
  padding-top: 36px;
  border-top: rgba(255, 255, 255, 0.4) solid 1px;
  background: url("../images/recruit/staff_limk.svg") no-repeat 100% 50%;
}
.staff_area .base .blk a .job p {
  font-size: 24px;
  padding-bottom: 16px;
}
.staff_area .base .blk a .job span {
  font-size: 14px;
}
.staff_area .base .blk a:hover {
  opacity: 0.5;
}
.staff_area .base .blk.left {
  background: linear-gradient(137.81deg, #17A5E5 0.76%, #1AA8E4 8.86%, #3ECCE0 99.4%);
  border-radius: 8px;
  margin-top: 77px;
  float: left;
}
.staff_area .base .blk.right {
  background: linear-gradient(138.15deg, #EC8BB4 0.07%, #D5E37A 99.14%);
  border-radius: 8px;
  float: right;
  margin-top: 240px;
}
.staff_area .base .blk.right + .blk.left + .blk.right {
  margin-top: 77px;
}

.interview .hero .base {
  position: relative;
}
.interview .hero .base .img {
  overflow: hidden;
  border-radius: 8px;
}
.interview .hero .base .icon {
  position: absolute;
  top: 48px;
  left: 42px;
  width: 200px;
  height: 200px;
  line-height: 200px;
  text-align: center;
  color: #FFFFFF;
  font-size: 24px;
  background: url("../images/interview/interview_kv_icon.png") no-repeat 0 0;
}
.interview .hero .base .copy {
  text-align: right;
  position: absolute;
  bottom: 48px;
  right: 42px;
}
.interview .hero .base .copy span {
  background: #fff;
  padding: 8px 0;
  font-size: 32px;
  line-height: 240%;
}

/* =================================================================

    インタビュー

================================================================= */
.interview {
  background: url("../images/interview/bg.svg") no-repeat 0 500px/26%;
}
.interview .sec1 {
  padding: 80px 0;
}
.interview .sec1 .base {
  display: flex;
  gap: 80px;
}
.interview .sec1 .base .body {
  width: 60%;
}
.interview .sec1 .base .schedule {
  width: 40%;
  border: #CED9DD solid 1px;
  padding: 30px 40px;
  border-radius: 8px;
}
.interview .sec1 .base .schedule .s_ttl {
  padding-bottom: 16px;
}
.interview .sec1 .base .schedule .s_ttl h3 {
  background: url("../images/interview/schedule.svg") no-repeat 0 50%;
  font-size: 24px;
  padding: 4px 0 4px 40px;
}
.interview .sec1 .base .schedule .body {
  width: 100%;
}
.interview .sec1 .base .schedule .body .blk {
  display: flex;
  padding-bottom: 8px;
  gap: 16px;
  width: 100%;
}
.interview .sec1 .base .schedule .body .blk .time {
  width: 30%;
  text-align: center;
}
.interview .sec1 .base .schedule .body .blk .time span {
  padding: 2px 16px;
  background: #F7FDD0;
  border-radius: 100px;
}
.interview .sec1 .base .schedule .body .blk .detail {
  width: 70%;
}
.interview .sec2 {
  padding: 80px 0;
  background: linear-gradient(90deg, #F7FDD0 0%, #F3CEC5 100%);
}
.interview .sec2 .base {
  padding-bottom: 70px;
}
.interview .sec2 .base p img {
  float: right;
  width: 41%;
  padding: 0 0 24px 40px;
}

/* =================================================================

    募集要項

================================================================= */
.job .sec1 {
  padding: 54px 0;
}
.job .sec1 .base {
  background: #F4F7F8;
  padding: 30px;
}
.job .sec1 .base ul {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: space-between;
  height: 100%;
  gap: 24px;
}
.job .sec1 .base ul li {
  width: calc(50% - 12px);
}
.job .sec1 .base ul li a {
  border: #CED9DD solid 1px;
  border-radius: 8px;
  background: #fff url("../images/common/arrow_down.svg") no-repeat calc(100% - 24px) 50%;
  display: block;
  padding: 16px 24px;
  color: #000;
}
.job .sec1 .base ul li a:hover {
  border-color: #CE5737;
  color: #CE5737;
}
.job .sec2 .wrap {
  padding: 64px 0 80px;
}
.job .sec2 .wrap:target::before {
  content: "";
  display: block;
  height: 80px;
  /* ヘッダーの高さに合わせて設定 */
}
.job .sec2 .jobttl {
  font-size: 26px;
  padding: 16px 24px;
  color: #fff;
}
.job .sec2 .jobttl.job1 {
  background: #CE5737;
}
.job .sec2 .jobttl.job2 {
  background: linear-gradient(117.57deg, #EC8BB4 -0.29%, #D5E37A 65.7%);
}
.job .sec2 table {
  width: 100%;
  border: 1px solid #d5dde5;
  margin-bottom: 24px;
}
.job .sec2 table tr th {
  width: 20%;
  padding: 16px 24px;
  border-bottom: 1px solid #d5dde5;
}
.job .sec2 table tr td {
  width: 80%;
  padding: 16px 24px;
  border-bottom: 1px solid #d5dde5;
}
.job .sec2 table tr:nth-child(odd) {
  background: #f8f9fa;
}
.job .sec2 .job_btn {
  display: flex;
  gap: 32px;
  width: 620px;
  margin: auto;
}
.job .sec2 .job_btn a.line {
  padding: 16px 0 16px 24px;
  text-align: center;
  width: 292px;
  border-radius: 100px;
  display: block;
  background: #00b900 url(/wp-content/themes/joyne_001_1-2-7/assets_base/images/recruit/btn_lin.svg) no-repeat 24px 50%/28px;
  margin: 36px auto 0;
  color: #fff;
  font-size: 120%;
}
.job .sec2 .job_btn a.line:hover {
  opacity: 0.6;
}
.job .sec2 .job_btn a.contactform {
  padding: 16px;
  text-align: center;
  width: 292px;
  border-radius: 100px;
  display: block;
  background: linear-gradient(90deg, #FF9900 0%, #FD4228 100%);
  margin: 36px auto 0;
  color: #fff;
  font-size: 120%;
}
.job .sec2 .job_btn a.contactform:hover {
  opacity: 0.6;
}

.job_list_bg {
  background: linear-gradient(90deg, rgba(207, 233, 242, 0.33) 0%, rgba(246, 253, 211, 0.33) 100%);
  padding: 80px 0;
  margin-top: -60px;
}

.job_list_wrap .job_list_item a {
  display: flex;
  border: 1px solid #d5dde5;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 24px;
  gap: 32px;
  color: #000;
  background: #fff;
}
.job_list_wrap .job_list_item a .thum {
  width: 40%;
}
.job_list_wrap .job_list_item a .info {
  width: 60%;
  padding-top: 24px;
}
.job_list_wrap .job_list_item a .info h3 {
  font-size: 24px;
  padding-bottom: 24px;
  margin-bottom: 16px;
  color: #CE5737;
  font-weight: bold;
  border-bottom: 1px solid #d5dde5;
}
.job_list_wrap .job_list_item a .info ul li {
  margin-bottom: 6px;
  font-size: 14px;
  color: #000;
}
.job_list_wrap .job_list_item a .info ul li span {
  color: #777;
  margin-right: 8px;
}
.job_list_wrap .job_list_item a .info ul li:before {
  content: "・";
  color: #CE5737;
  margin-right: 4px;
}
.job_list_wrap .job_list_item a .info .linkbtn {
  padding-top: 40px;
  display: flex;
  align-items: center;
  color: #000;
  justify-content: flex-end;
}
.job_list_wrap .job_list_item a .info .linkbtn span {
  border: 1px solid #CE5737;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-left: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.job_list_wrap .job_list_item a .info .linkbtn span::before {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background: url("../images/common/arrow_right_orange.svg") no-repeat center/contain;
  z-index: 2;
  position: relative;
}
.job_list_wrap .job_list_item a .info .linkbtn span::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #CE5737;
  transition: 0.3s;
  border-radius: 50%;
}
.job_list_wrap .job_list_item a .info .linkbtn:hover {
  opacity: 1;
}
.job_list_wrap .job_list_item a .info .linkbtn:hover span::before {
  background-image: url("../images/common/arrow_right_white.svg");
}
.job_list_wrap .job_list_item a .info .linkbtn:hover span::after {
  width: 100%;
  height: 100%;
}

/* =================================================================

    footer

================================================================= */
footer {
  background: #00496b;
  color: #fff;
  padding: 64px 0;
}
footer a {
  color: #fff;
}
footer a:hover {
  color: #fff;
  opacity: 0.6;
}
footer .menuarea {
  display: flex;
  padding-bottom: 60px;
}
footer .menuarea .left {
  margin-right: auto;
}
footer .menuarea .right ul {
  display: flex;
  justify-content: flex-end;
}
footer .menuarea .right ul li a {
  display: block;
  padding: 16px;
}
footer .accessarea {
  border-top: #0a2d3d solid 1px;
  border-bottom: #0a2d3d solid 1px;
  padding: 48px 0;
  display: flex;
  gap: 80px;
}
footer .accessarea .base {
  width: calc(50% - 40px);
}
footer .accessarea .base .copname {
  font-size: 20px;
  margin-bottom: 18px;
  background: url("../images/common/head_ic_white.svg") no-repeat 0 13px;
  padding-left: 24px;
}
footer .accessarea .base .ad {
  padding-left: 24px;
  padding-bottom: 24px;
}
footer .accessarea .iframe-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
footer .accessarea .iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 24px;
  width: 100%;
  height: 100%;
}
footer .copy {
  text-align: center;
  padding-top: 40px;
  font-size: 12px;
  letter-spacing: 2px;
}

/* =================================================================

    タブレット

================================================================= */
/* 縦向きのタブレット */
@media screen and (min-width: 768px) and (max-width: 1194px) and (orientation: portrait) {
  body {
    overflow-x: hidden;
  }
  .inner {
    width: 100%;
  }
  header {
    padding: 0 10px 24px 24px;
  }
  header .logo {
    width: 16%;
    margin: 24px 0 0 0;
  }
  header .logo.rectuit_logo {
    width: 20%;
  }
  header.scrolled .logo {
    margin: 24px 0 24px 0;
    width: 13%;
  }
  .lows_ttl {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .home .hero {
    padding-top: 98px;
  }
  .home .hero .in_wrap {
    display: flex;
    justify-content: space-between;
  }
  .home .hero .in_wrap .left {
    width: 31%;
    text-align: center;
  }
  .home .hero .in_wrap .left .copy {
    display: flex;
    height: 52vh;
    /* 高さを設定して、中央寄せの基準とする */
    align-items: center;
    /* 垂直方向の中央寄せ */
    justify-content: center;
    /* 水平方向の中央寄せ */
  }
  .home .hero .in_wrap .left .copy p {
    writing-mode: vertical-rl;
    text-orientation: inherit;
  }
  .home .hero .in_wrap .left .copy p span {
    display: block;
    font-size: 3vh;
    line-height: 200%;
    letter-spacing: 0.2em;
  }
  .home .hero .in_wrap .left .copy p span.t1 {
    margin-top: -28vh;
  }
  .home .hero .in_wrap .left .copy p span.t2 {
    padding-top: -24vh !important;
  }
  .home .hero .in_wrap .left .copy p span.t3 {
    padding-top: -42.5vh;
  }
  .home .hero .in_wrap .left .en {
    color: #CE5737;
    font-size: 13px;
    padding-top: 5.2vh;
    letter-spacing: 0.15em;
  }
  .home .hero .in_wrap .right {
    width: 69%;
    height: 47vh;
    border-radius: 8px 0 0 8px;
    overflow: hidden;
  }
  .home .hero .in_wrap .right img {
    border-radius: 8px 0 0 8px;
    overflow: hidden;
    height: 47vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home .hero .btn {
    bottom: 195px;
  }
  .home .hero .btn_r {
    bottom: 95px;
  }
  .home .sec1 {
    margin-top: -68px;
  }
  .home .sec2 {
    background: url("../images/home/sec2_1.jpg") no-repeat 50% 50%/cover;
    padding: 60px 0 40px;
  }
  .home .sec2 .inner {
    padding: 0 24px;
  }
  .home .sec2 .box {
    display: block;
  }
  .home .sec2 .box .text {
    width: 100%;
  }
  .home .sec2 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec2 .box .text .btn {
    margin: 20px 0 40px;
    display: flex;
    justify-content: flex-end;
  }
  .home .sec2 .box .image {
    width: 100%;
    padding-left: 0;
    overflow: hidden;
  }
  .home .sec2 .box .image .left {
    float: left;
    width: 49%;
  }
  .home .sec2 .box .image .right {
    float: right;
    width: 49%;
    margin-top: 0;
  }
  .home .sec2 .box .image .i {
    padding: 0;
    margin-bottom: 16px;
  }
  .home .sec2 .box .image .i a {
    padding: 20px 24px 30px 16px;
    margin-bottom: 0 !important;
  }
  .home .sec2 .box .image .i .fcty {
    padding-left: 4%;
  }
  .home .sec2 .box .image .i .fcty span {
    font-size: 10px;
  }
  .home .sec2 .box .image .i .fcty p {
    font-size: 16px;
  }
  .home .sec3 {
    padding: 64px 0;
  }
  .home .sec3 .ttl_base {
    padding: 0 24px 24px;
  }
  .home .sec3 .box {
    display: block;
  }
  .home .sec3 .box .image {
    width: 70%;
    margin: auto;
  }
  .home .sec3 .box .text {
    padding: 44px 10%;
    width: 100%;
  }
  .home .sec3 .sec3-animated-bg {
    display: none !important;
  }
  .home .sec4 {
    padding: 48px 0 64px 0;
  }
  .home .sec4 .box {
    display: block;
  }
  .home .sec4 .box .text {
    width: 100%;
    padding: 0 24px;
    display: flex;
  }
  .home .sec4 .box .text .ttl_base {
    width: 50%;
  }
  .home .sec4 .box .text .ttl_base h2 {
    padding-top: 16px;
  }
  .home .sec4 .box .text .body {
    width: 50%;
    padding: 0 !important;
  }
  .home .sec4 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec4 .box .text .btn {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
  }
  .home .sec4 .box .body {
    width: 100%;
    padding: 0 24px;
  }
  .home .sec4 .box .body .base:first-child {
    border-top: #CED9DD solid 1px;
  }
  .home .sec4 .box .body .base a {
    display: block;
    background: url("../images/common/arrow_right_orange.svg") no-repeat 100% 50%;
    padding: 24px 0;
    border-bottom: #CED9DD solid 1px;
    color: #000;
  }
  .home .sec4 .box .body .base a:hover {
    opacity: 0.6;
    border-bottom: #CE5737 solid 1px;
  }
  .home .sec4 .box .body .base a span {
    color: #CE5737;
    font-size: 10px;
  }
  .home .sec4 .box .body .base a p {
    font-size: 13px;
    padding-right: 36px;
  }
  .lows {
    padding-top: 98px;
  }
  .home .sec2 .inner,
  .home .sec3 .inner,
  .home .sec4 .inner {
    padding: 0 24px;
  }
  .home .sec2 .inner .box,
  .home .sec3 .inner .box,
  .home .sec4 .inner .box {
    justify-content: space-between;
  }
  .page-id-17 .b_s .skrb-btn-wrap .skrb-btn {
    margin: 0 16px;
  }
  .page-id-17 .b_s .skrb-btn-wrap .skrb-btn a {
    width: calc(100% - 32px);
  }
  .facility {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .facility .hero .choice-btn {
    margin-top: 8px;
  }
  .facility .sec2 {
    margin: 0 -24px;
    padding: 60px 24px;
  }
  .facility .hero .inner .mark {
    position: absolute;
    top: 0;
    left: 20px;
    width: 238px;
  }
  .facility .contact2 {
    margin: 0 -24px;
  }
  .recruit .sec5 .inner,
  .recruit .sec2 .inner,
  .recruit .sec3 .inner,
  .recruit .sec6 .inner {
    padding-left: 24px;
    padding-right: 24px;
  }
  .recruit .staff_area .base .blk.right {
    margin-top: 40px;
  }
  footer {
    color: #fff;
    padding: 40px 0;
  }
  footer a {
    color: #fff;
  }
  footer .menuarea {
    display: block;
    padding-bottom: 36px;
  }
  footer .menuarea .left {
    margin-right: auto;
  }
  footer .menuarea .left img {
    width: 20%;
    display: block;
    margin: 0;
    padding-left: 24px;
  }
  footer .menuarea .right {
    display: none;
  }
  footer .accessarea {
    padding: 36px 24px 0;
    display: block;
    gap: 80px;
  }
  footer .accessarea .base {
    width: calc(100% - 0px);
    margin-bottom: 36px;
  }
  footer .accessarea .base .copname {
    font-size: 16px;
    margin-bottom: 9px;
    background: url("../images/common/head_ic_white.svg") no-repeat 0 13px;
    padding-left: 24px;
  }
  footer .accessarea .base .ad {
    padding-left: 24px;
    padding-bottom: 16px;
  }
  footer .copy {
    font-size: 12px;
  }
}
/* 横向きのタブレット */
@media screen and (min-width: 768px) and (max-width: 1194px) and (orientation: landscape) {
  body {
    overflow-x: hidden;
  }
  .inner {
    width: 100%;
  }
  header {
    padding: 0 24px;
  }
  header .logo {
    width: 16%;
    margin: 24px 0 0 0;
  }
  header.scrolled .logo {
    margin: 16px 0 16px 0;
    width: 13%;
  }
  .lows_ttl {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .home .hero {
    padding-top: 98px;
  }
  .home .sec2 {
    background: url("../images/home/sec2_1.jpg") no-repeat 50% 50%/cover;
    padding: 60px 0 40px;
  }
  .home .sec2 .inner {
    padding: 0 24px;
  }
  .home .sec2 .box {
    display: block;
  }
  .home .sec2 .box .text {
    width: 100%;
  }
  .home .sec2 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec2 .box .text .btn {
    margin: 20px 0 40px;
    display: flex;
    justify-content: flex-end;
  }
  .home .sec2 .box .image {
    width: 100%;
    padding-left: 0;
    overflow: hidden;
  }
  .home .sec2 .box .image .left {
    float: left;
    width: 49%;
  }
  .home .sec2 .box .image .right {
    float: right;
    width: 49%;
    margin-top: 0;
  }
  .home .sec2 .box .image .i {
    padding: 0;
    margin-bottom: 16px;
  }
  .home .sec2 .box .image .i a {
    padding: 20px 24px 30px 16px;
    margin-bottom: 0 !important;
  }
  .home .sec2 .box .image .i .fcty {
    padding-left: 4%;
  }
  .home .sec2 .box .image .i .fcty span {
    font-size: 10px;
  }
  .home .sec2 .box .image .i .fcty p {
    font-size: 16px;
  }
  .home .sec3 {
    padding: 64px 0;
    overflow: hidden;
  }
  .home .sec3 .ttl_base {
    padding: 0 24px 24px;
  }
  .home .sec3 .box {
    display: block;
  }
  .home .sec3 .box .image {
    width: 70%;
    margin: auto;
  }
  .home .sec3 .box .text {
    padding: 44px 10%;
    width: 100%;
  }
  .home .sec3 .sec3-animated-bg {
    display: none !important;
  }
  .home .sec4 {
    padding: 48px 0 64px 0;
  }
  .home .sec4 .box {
    display: block;
  }
  .home .sec4 .box .text {
    width: 100%;
    padding: 0 24px;
    display: flex;
  }
  .home .sec4 .box .text .ttl_base {
    width: 50%;
  }
  .home .sec4 .box .text .ttl_base h2 {
    padding-top: 16px;
  }
  .home .sec4 .box .text .body {
    width: 50%;
    padding: 0 !important;
  }
  .home .sec4 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec4 .box .text .btn {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
  }
  .home .sec4 .box .body {
    width: 100%;
    padding: 0 24px;
  }
  .home .sec4 .box .body .base:first-child {
    border-top: #CED9DD solid 1px;
  }
  .home .sec4 .box .body .base a {
    display: block;
    background: url("../images/common/arrow_right_orange.svg") no-repeat 100% 50%;
    padding: 24px 0;
    border-bottom: #CED9DD solid 1px;
    color: #000;
  }
  .home .sec4 .box .body .base a:hover {
    opacity: 0.6;
    border-bottom: #CE5737 solid 1px;
  }
  .home .sec4 .box .body .base a span {
    color: #CE5737;
    font-size: 10px;
  }
  .home .sec4 .box .body .base a p {
    font-size: 13px;
    padding-right: 36px;
  }
  .lows {
    padding-top: 98px;
  }
  .home .sec2 .inner,
  .home .sec3 .inner,
  .home .sec4 .inner {
    padding: 0 24px;
  }
  .home .sec2 .inner .box,
  .home .sec3 .inner .box,
  .home .sec4 .inner .box {
    justify-content: space-between;
  }
  .page-id-17 .b_s .skrb-btn-wrap .skrb-btn {
    margin: 0 16px;
  }
  .page-id-17 .b_s .skrb-btn-wrap .skrb-btn a {
    width: calc(100% - 32px);
  }
  .facility {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .facility .sec2 {
    margin: 0 -24px;
    padding: 60px 24px;
  }
  .facility .hero .inner .mark {
    position: absolute;
    top: 0;
    left: 20px;
    width: 238px;
  }
  footer {
    color: #fff;
    padding: 40px 0;
  }
  footer a {
    color: #fff;
  }
  footer .menuarea {
    display: block;
    padding-bottom: 36px;
  }
  footer .menuarea .left {
    margin-right: auto;
  }
  footer .menuarea .left img {
    width: 20%;
    display: block;
    margin: 0;
    padding-left: 24px;
  }
  footer .menuarea .right {
    display: none;
  }
  footer .accessarea {
    padding: 36px 24px 0;
    display: block;
    gap: 80px;
  }
  footer .accessarea .base {
    width: calc(100% - 0px);
    margin-bottom: 36px;
  }
  footer .accessarea .base .copname {
    font-size: 16px;
    margin-bottom: 9px;
    background: url("../images/common/head_ic_white.svg") no-repeat 0 13px;
    padding-left: 24px;
  }
  footer .accessarea .base .ad {
    padding-left: 24px;
    padding-bottom: 16px;
  }
  footer .copy {
    font-size: 12px;
  }
}
@media screen and (width: 768px) and (orientation: portrait) {
  .home .hero .in_wrap .left {
    width: 31%;
    text-align: center;
  }
  .home .hero .in_wrap .left .copy {
    display: flex;
    height: 60vh;
    /* 高さを設定して、中央寄せの基準とする */
    align-items: center;
    /* 垂直方向の中央寄せ */
    justify-content: center;
    /* 水平方向の中央寄せ */
  }
  .home .hero .in_wrap .left .copy p {
    writing-mode: vertical-rl;
    text-orientation: inherit;
  }
  .home .hero .in_wrap .left .copy p span {
    display: block;
    font-size: 3vh;
    line-height: 200%;
    letter-spacing: 0.2em;
  }
  .home .hero .in_wrap .left .copy p span.t1 {
    margin-top: -28vh;
  }
  .home .hero .in_wrap .left .copy p span.t2 {
    padding-top: -24vh !important;
  }
  .home .hero .in_wrap .left .copy p span.t3 {
    padding-top: -42.5vh;
  }
  .home .hero .in_wrap .left .en {
    color: #CE5737;
    font-size: 13px;
    padding-top: 5.2vh;
    letter-spacing: 0.15em;
  }
  .home .hero .in_wrap .right {
    height: 67vh;
  }
  .home .hero .in_wrap .right img {
    height: 67vh;
  }
  .home .hero .btn {
    bottom: 140px;
  }
  .home .hero .btn_r {
    bottom: 40px;
  }
  .home .sec1 {
    margin-top: 0;
  }
}
/* =================================================================

    スマホ

================================================================= */
@media screen and (max-width: 767px) {
  body {
    font-size: 13px;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .inner {
    width: 100%;
    margin: 0;
  }
  .ttl_base span {
    background: url("../images/common/head_ic_o.svg") no-repeat 0 50%/8px;
    color: #CE5737;
    padding-left: 24px;
    left: 2px;
  }
  .ttl_base h2 {
    font-size: 24px;
    padding: 24px 0 32px;
  }
  .btn a span {
    width: 48px !important;
    height: 48px !important;
  }
  header {
    padding: 0 24px;
  }
  header .logo {
    width: 30%;
    margin: 30px 0 0 0;
  }
  header .logo.rectuit_logo {
    width: 145px;
  }
  header.scrolled {
    box-shadow: 0px 5px 24px 0px rgba(174, 179, 185, 0.19);
  }
  header.scrolled .logo {
    margin: 16px 0 16px 0;
    width: 25%;
  }
  header.scrolled .logo.rectuit_logo {
    width: 140px;
  }
  header.scrolled .g_btn {
    top: 9px;
  }
  header.scrolled .menu {
    height: 100vh;
  }
  header.scrolled .coplink {
    top: 17px;
  }
  header .btn-line.open::after,
  header .btn-line.open::before {
    background: #fff !important;
  }
  /* =================================================================

  	下層

  ================================================================= */
  .lows {
    padding-top: 96px;
  }
  .lows .lows_ttl {
    background: url("../images/common/lows_kv_bg.jpg") no-repeat 50% 50%/cover;
    padding: 48px 24px 56px;
    color: #fff;
  }
  .lows .lows_ttl span {
    font-size: 12px;
  }
  .lows .lows_ttl h1 {
    padding-top: 4px;
    font-size: 24px;
  }
  .lows.def {
    margin-bottom: 24px;
  }
  /* =================================================================

  	トップページ

  ================================================================= */
  .home .hero {
    padding: 94px 0 0;
    width: 100%;
    overflow: inherit;
  }
  .home .hero .in_wrap {
    display: flex;
    flex-direction: column-reverse;
  }
  .home .hero .in_wrap .left {
    width: 100%;
    text-align: left;
  }
  .home .hero .in_wrap .left .copy {
    display: block;
    height: inherit;
    margin-left: 10vw;
    /* 高さを設定して、中央寄せの基準とする */
  }
  .home .hero .in_wrap .left .copy p {
    writing-mode: inherit;
    text-orientation: upright;
    padding: 24px 0 0 24px;
  }
  .home .hero .in_wrap .left .copy p span {
    display: block;
    font-size: 6vw;
    line-height: 200%;
    letter-spacing: 0.05em;
  }
  .home .hero .in_wrap .left .copy p span.t1 {
    margin-top: 0;
  }
  .home .hero .in_wrap .left .copy p span.t2 {
    padding-top: 0;
    padding-left: 0;
    text-align: left;
  }
  .home .hero .in_wrap .left .copy p span.t3 {
    padding-top: 0;
    padding-left: 0;
    text-align: left;
  }
  .home .hero .in_wrap .left .en {
    color: #CE5737;
    font-size: 10px;
    padding: 16px 0 0 24px;
    letter-spacing: 0.15em;
  }
  .home .hero .in_wrap .right {
    width: calc(100% + 0px);
    height: 64vh;
    border-radius: 0;
    overflow: hidden;
    margin-left: 0px;
  }
  .home .hero .in_wrap .right img {
    border-radius: 0;
    overflow: hidden;
    height: 76vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home .hero .btn,
  .home .hero .btn_r {
    width: 285px;
    position: relative;
    bottom: inherit;
    margin: 24px auto;
    right: inherit;
  }
  .home .hero .btn a,
  .home .hero .btn_r a {
    padding: 12px 30px;
    font-size: 13px;
  }
  .home .hero .btn a span,
  .home .hero .btn_r a span {
    width: 36px !important;
    height: 36px !important;
  }
  .home .hero .btn_r {
    width: 285px;
    position: relative;
    bottom: 8px;
    right: inherit;
  }
  .home .sec1 {
    padding: 0;
    margin: 60px 0 40px;
  }
  .home .sec1 .box {
    display: block;
    margin-left: 0;
  }
  .home .sec1 .box .image {
    flex-shrink: 0;
    width: 100%;
  }
  .home .sec1 .box .text {
    width: 100%;
    margin-left: 0;
    padding: 0 24px;
  }
  .home .sec1 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec1 .box .text .btn {
    margin-top: 40px;
  }
  .home .sec2 {
    background: url("../images/home/sec2_1.jpg") no-repeat 50% 50%/cover;
    padding: 60px 0 40px;
  }
  .home .sec2 .inner {
    padding: 0 24px;
  }
  .home .sec2 .box {
    display: block;
  }
  .home .sec2 .box .text {
    width: 100%;
  }
  .home .sec2 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec2 .box .text .btn {
    margin: 20px 0 40px;
    display: flex;
    justify-content: flex-end;
  }
  .home .sec2 .box .image {
    width: 100%;
    padding-left: 0;
    overflow: hidden;
  }
  .home .sec2 .box .image .left {
    float: none;
    width: 100%;
  }
  .home .sec2 .box .image .right {
    float: none;
    width: 100%;
    margin-top: 0;
  }
  .home .sec2 .box .image .i {
    padding: 0;
    margin-bottom: 16px;
  }
  .home .sec2 .box .image .i a {
    padding: 20px 24px 30px 16px;
    margin-bottom: 0 !important;
  }
  .home .sec2 .box .image .i .fcty {
    padding-left: 4%;
  }
  .home .sec2 .box .image .i .fcty span {
    font-size: 10px;
  }
  .home .sec2 .box .image .i .fcty p {
    font-size: 16px;
  }
  .home .sec3 {
    padding: 64px 0;
  }
  .home .sec3 .ttl_base {
    padding: 0 24px 24px;
  }
  .home .sec3 .box {
    display: block;
  }
  .home .sec3 .box .image {
    width: calc(100% - 24px);
  }
  .home .sec3 .box .text {
    padding: 44px 24px;
    width: 100%;
    padding-left: 10%;
  }
  .home .sec3 .box .text .btn {
    margin-top: 40px;
  }
  .home .sec3 .sec3-animated-bg {
    display: none !important;
  }
  .home .sec4 {
    padding: 48px 0 64px 0;
  }
  .home .sec4 .box {
    display: block;
  }
  .home .sec4 .box .text {
    width: 100%;
    padding: 0 24px;
    display: flex;
  }
  .home .sec4 .box .text .ttl_base {
    width: 50%;
  }
  .home .sec4 .box .text .ttl_base h2 {
    padding-top: 16px;
  }
  .home .sec4 .box .text .body {
    width: 50%;
    padding: 0 !important;
  }
  .home .sec4 .box .text p {
    margin-bottom: 16px;
    color: #5C5C5C;
  }
  .home .sec4 .box .text .btn {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
  }
  .home .sec4 .box .body {
    width: 100%;
    padding: 0 24px;
  }
  .home .sec4 .box .body .base:first-child {
    border-top: #CED9DD solid 1px;
  }
  .home .sec4 .box .body .base a {
    display: block;
    background: url("../images/common/arrow_right_orange.svg") no-repeat 100% 50%;
    padding: 24px 0;
    border-bottom: #CED9DD solid 1px;
    color: #000;
  }
  .home .sec4 .box .body .base a:hover {
    opacity: 0.6;
    border-bottom: #CE5737 solid 1px;
  }
  .home .sec4 .box .body .base a span {
    color: #CE5737;
    font-size: 10px;
  }
  .home .sec4 .box .body .base a p {
    font-size: 13px;
    padding-right: 36px;
  }
  /* =================================================================

  	施設

  ================================================================= */
  .facility {
    background: url("../images/facility/sec1_bg.svg") no-repeat 120% 600px;
  }
  .facility .hero {
    /*メイン画像下に余白をつける*/
    /*矢印の設定*/
    /*戻る、次へ矢印の位置*/
    /*選択するサムネイル画像の設定*/
  }
  .facility .hero .inner {
    position: relative;
    padding: 0 4px;
  }
  .facility .hero .inner .mark {
    position: absolute;
    top: 0;
    left: 20px;
    width: 45%;
  }
  .facility .hero img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    /*画像の下にできる余白を削除*/
  }
  .facility .hero .gallery {
    margin: 0 0 5px 0;
  }
  .facility .hero .gallery li {
    list-style: none;
    text-align: center;
  }
  .facility .hero .gallery li span {
    padding-top: 8px;
    display: block;
    font-size: 12px;
    line-height: 130%;
  }
  .facility .hero .slick-next:before,
  .facility .hero .slick-prev:before {
    display: none;
  }
  .facility .hero .slick-prev,
  .facility .hero .slick-next {
    display: block !important;
    position: absolute;
    /*絶対配置にする*/
    z-index: 3;
    top: 42%;
    cursor: pointer;
    /*マウスカーソルを指マークに*/
    outline: none;
    /*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;
    /*矢印の色*/
    border-right: 2px solid #fff;
    /*矢印の色*/
    height: 18px;
    width: 18px;
  }
  .facility .hero .slick-prev {
    /*戻る矢印の位置と形状*/
    left: 2.5%;
    transform: rotate(-135deg);
  }
  .facility .hero .slick-next {
    /*次へ矢印の位置と形状*/
    right: 2.5%;
    transform: rotate(45deg);
  }
  .facility .hero .choice-btn {
    display: none;
    background: #fff;
    border-radius: 8px;
    padding: 8px;
    width: 670px;
    margin: -85px auto 0 auto;
    gap: 0.3%;
  }
  .facility .hero .choice-btn .slick-track {
    width: 100% !important;
  }
  .facility .hero .choice-btn li {
    cursor: pointer;
    outline: none;
    background: #333;
    width: 24.5% !important;
    list-style: none;
    margin-right: 0.5%;
  }
  .facility .hero .choice-btn li img {
    opacity: 0.4;
    /*選択されていないものは透過40%*/
  }
  .facility .hero .choice-btn li.slick-current img {
    opacity: 1;
    /*選択されているものは透過しない*/
  }
  .facility .hero .choice-btn .slick-track {
    transform: unset !important;
    /*画面幅サイズ変更に伴うサムネイル固定*/
  }
  .facility .sec1 {
    padding: 60px 0;
  }
  .facility .sec1 .base {
    display: block;
    padding: 0 24px;
  }
  .facility .sec1 .base .img {
    width: 100%;
  }
  .facility .sec1 .base .body {
    width: 100%;
    padding-top: 24px;
  }
  .facility .sec1 .base .body p {
    margin-bottom: 1em;
  }
  .facility .sec1 .intro {
    padding: 0 24px 60px 24px;
  }
  .facility .sec1 .intro .i_ttl {
    font-size: 18px;
    margin-bottom: 24px;
    line-height: 180%;
  }
  .facility .sec1 .intro ul {
    padding: 0 0 16px 0;
  }
  .facility .sec1 .intro ul li {
    font-weight: bold;
  }
  .facility .sec1 .intro ul li:before {
    content: "● ";
    color: #CE5737;
  }
  .facility .sec1 .intro p {
    padding: 0 0 16px 0;
  }
  .facility .sec2 {
    padding: 50px 0;
  }
  .facility .sec2 h2 {
    font-size: 24px;
    text-align: center;
    padding-bottom: 50px;
  }
  .facility .sec2 h2 span {
    display: block;
    font-size: 26px;
    padding-bottom: 20px;
  }
  .facility .sec2 .base {
    display: block;
    padding: 0 24px;
  }
  .facility .sec2 .base .box {
    width: 100% !important;
  }
  .facility .sec2 .base .img img {
    border-radius: 8px;
    overflow: hidden;
  }
  .facility .sec2 .base .body h3 {
    font-size: 20px;
    padding: 24px 0 16px;
  }
  .facility .sec2 .base .body p {
    margin-bottom: 3em;
  }
  .facility .sec3 {
    padding: 50px 24px 40px;
  }
  .facility .sec3 .base {
    display: block;
    margin-bottom: 0;
  }
  .facility .sec3 .base .blk {
    width: 100%;
    padding-bottom: 24px;
    height: inherit;
  }
  .facility .sec3 .base .blk .box {
    position: relative;
    border-radius: 8px;
    padding: 0;
    margin: 35px 0 0 20px;
    width: 88%;
  }
  .facility .sec3 .base .blk .box .icon {
    position: absolute;
    top: -55px;
    left: -35px;
    width: 60px;
  }
  .facility .sec3 .base .blk .box h3 {
    font-size: 18px;
    margin-bottom: 16px;
  }
  .facility .sec3 .base .blk .box h3 span {
    font-size: 16px;
  }
  .facility .sec4 {
    padding: 0 24px;
  }
  .facility .sec4 .bases {
    display: block;
    gap: 0%;
  }
  .facility .sec4 .bases .left {
    width: 100%;
  }
  .facility .sec4 .bases .left .blk {
    margin-bottom: 24px;
  }
  .facility .sec4 .bases .right {
    width: 100%;
    padding-top: 30px;
  }
  .facility .sec4 .bases .right h3 {
    font-size: 18px;
    padding-bottom: 16px;
  }
  .facility .sec4 .bases .right p {
    padding-bottom: 40px;
  }
  .facility .sec5 {
    padding: 50px 24px 64px;
  }
  .facility .sec5 .base2 .price {
    font-size: 22px;
  }
  .facility .sec5 .base2 .price span {
    font-size: 12px;
  }
  .facility .sec5 .base2 h3 {
    margin-top: 30px;
    padding-top: 26px;
    margin-bottom: 16px;
    font-size: 18px;
  }
  .facility .sec5 .base2 table {
    width: 100%;
  }
  .facility .sec5 .base2 table th {
    background: #CE5737;
    color: #fff;
    text-align: center;
    padding: 10px;
    vertical-align: middle;
    font-size: 13px;
    border: #E8ECED solid 1px;
    width: 33%;
  }
  .facility .sec5 .base2 table th span {
    font-size: 10px;
    display: block;
    line-height: 140%;
  }
  .facility .sec5 .base2 table td {
    text-align: center;
    padding: 10px;
    vertical-align: middle;
    font-size: 13px;
    border: #E8ECED solid 1px;
  }
  .facility .sec5 .base2 tr:nth-child(even) {
    background: #F4F7F8;
  }
  .facility .sec6 {
    padding: 0 24px 50px;
  }
  .facility .sec6 .base .blk {
    background: #F4F7F8;
    border: #E1E5E7 solid 1px;
    padding: 36px 36px 48px 36px;
    border-radius: 8px;
    margin-bottom: 24px;
  }
  .facility .sec6 .base .blk h3 {
    background: url("../images/common/head_ic_o.svg") no-repeat 0 50%/10px;
    font-size: 20px;
    padding-left: 24px;
    margin-bottom: 16px;
  }
  .facility .sec6 .base .blk h4 {
    margin-top: 16px;
  }
  .facility .sec6 .base.b_top {
    display: block;
  }
  .facility .sec6 .base.b_top .blk {
    width: 100%;
  }
  .facility .sec6 .base.b_btm .info {
    display: block;
  }
  .facility .sec6 .base.b_btm .info .ad {
    width: 100%;
  }
  .facility .sec6 .base.b_btm .info .map {
    width: 100%;
    padding-top: 24px;
  }
  .facility .sec6 .base.b_btm .info .map iframe {
    width: 100%;
    height: 240px;
  }
  .facility .sec_voice {
    padding-bottom: 60px;
    padding: 0 24px;
  }
  .facility .sec_voice .base .blk {
    margin-bottom: 24px;
  }
  .facility .sec_voice .base .blk .in {
    background: #fff;
    padding: 24px;
    border-radius: 6px;
  }
  .facility .sec_voice .base .blk .in h3 {
    color: #CE5737;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 16px;
  }
  .facility .sec_voice .base .blk .in h3 span {
    font-size: 15px;
  }
  /* =================================================================

  	採用

  ================================================================= */
  .recruit .ttl_base {
    text-align: center;
  }
  .recruit .ttl_base span {
    background: none;
    color: #CE5737;
    padding-left: 24px;
    left: 2px;
  }
  .recruit .ttl_base h2 {
    font-size: 24px;
    padding: 16px 0 48px;
  }
  .recruit .sec1 .inner {
    background: url("../images/recruit/sec1_3.png") no-repeat 0% 0/cover;
    padding: 80px 0;
    position: relative;
  }
  .recruit .sec1 .inner::before {
    position: absolute;
    top: 0;
    left: 47%;
    content: url("../images/recruit/sec1_2.svg");
  }
  .recruit .sec1 .base {
    display: block;
  }
  .recruit .sec1 .base .img {
    width: 100%;
    margin-left: 0px;
    padding: 0 24px;
  }
  .recruit .sec1 .base .body {
    width: 100%;
    padding: 24px;
  }
  .recruit .sec1 .base .body p {
    margin-bottom: 1em;
  }
  .recruit .sec1 .base .body .btn {
    margin-top: 24px;
  }
  .recruit .sec2 {
    padding: 40px 0 20px;
    background: linear-gradient(90deg, #F7FDD0 0%, #F3CEC5 100%);
  }
  .recruit .sec2 h2 {
    font-size: 24px;
    text-align: center;
    padding-bottom: 50px;
  }
  .recruit .sec2 h2 span {
    display: block;
    font-size: 42px;
    padding-bottom: 20px;
  }
  .recruit .sec2 .base {
    display: block;
    padding: 0 24px;
  }
  .recruit .sec2 .base .box {
    width: 100%;
  }
  .recruit .sec2 .base .img img {
    border-radius: 8px;
    overflow: hidden;
  }
  .recruit .sec2 .base .body h3 {
    font-size: 20px;
    padding: 24px 0 16px;
  }
  .recruit .sec2 .base .body p {
    margin-bottom: 3em;
  }
  .recruit .sec3 {
    padding: 60px 0;
    background: url("../images/recruit/sec3_5.png") no-repeat 50% 0/contain;
  }
  .recruit .sec3 .base {
    display: block;
    margin-bottom: 20px;
  }
  .recruit .sec3 .base .blk {
    width: 100%;
    padding: 0 24px 24px;
  }
  .recruit .sec3 .base .blk .box {
    position: relative;
    background: #FBFFE1;
    border-radius: 8px;
    padding: 30px 24px 30px 30px;
    margin: 35px 0 0 20px;
  }
  .recruit .sec3 .base .blk .box .icon {
    position: absolute;
    top: -35px;
    left: -35px;
    width: 60px;
  }
  .recruit .sec3 .base .blk .box h3 {
    font-size: 18px;
    margin-bottom: 16px;
  }
  .recruit .sec3 .base .blk .box h3 span {
    font-size: 16px;
  }
  .recruit .sec3 .base .blk .box p {
    opacity: 0.7;
  }
  .recruit .sec6 {
    padding: 50px 0;
    background: linear-gradient(90deg, rgba(207, 233, 242, 0.33) 0%, rgba(246, 253, 211, 0.33) 100%);
  }
  .recruit .sec6 .base {
    display: block;
  }
  .recruit .sec6 .base .blk {
    padding: 0 24px 60px;
    width: calc(100% - 0px);
    position: relative;
  }
  .recruit .sec6 .base .blk:before {
    content: url("../images/recruit/sec6_5.svg");
    transform: rotate(-30deg);
    position: absolute;
    right: 45%;
    top: auto;
    bottom: 16px;
  }
  .recruit .sec6 .base .blk:last-child::before {
    display: none;
  }
  .recruit .sec6 .base .blk .img {
    width: 56%;
    margin: auto;
  }
  .recruit .sec6 .base .blk .txt {
    padding-top: 16px;
  }
  .interview_area {
    padding: 60px 0;
    background: linear-gradient(to right, #BAE9FC 0%, #FFD1C5 100%);
  }
  .interview_area .ttl_base {
    text-align: center;
  }
  .interview_area .ttl_base span {
    background: none;
    color: #CE5737;
    padding-left: 24px;
    left: 2px;
  }
  .interview_area .ttl_base h2 {
    font-size: 24px;
    padding: 16px 0 48px;
  }
  .interview_area .test__container {
    overflow: hidden;
    padding-bottom: 0px;
  }
  .interview_area .test-slick {
    width: 100%;
    max-width: 1100px;
    padding: 0 0;
    margin: 0 auto;
    position: relative;
  }
  /* =================================================================

  	インタビュー

  ================================================================= */
  /* =================================================================

  	page-id-718

  ================================================================= */
  /* =================================================================

  	footer

  ================================================================= */
}
@media screen and (max-width: 767px) and (max-width: 768px) {
  .interview_area .test-slick {
    margin: 5% auto;
  }
}
@media screen and (max-width: 767px) {
  .interview_area .test-slick__item {
    margin-right: 40px;
    margin-left: 40px;
  }
  .interview_area .test-slick__item:nth-child(even) {
    margin-top: 0;
  }
  .interview_area .test-slick__item a {
    color: #000;
  }
  .interview_area .test-slick__item a .jobname {
    padding: 16px 0;
  }
  .interview_area .test-slick__item a .jobname span {
    background: #fff;
    border-radius: 100px;
    font-size: 11px;
    padding: 6px 16px 8px;
    color: #000;
  }
  .interview_area .test-slick__item:hover {
    opacity: 0.5;
  }
  .interview_area .test-slick__item img {
    height: auto;
    width: 100%;
  }
  .interview_area .test-slick button.arrow_name {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #fff;
    position: absolute;
    bottom: 59%;
    cursor: pointer;
    z-index: 5;
  }
  .interview_area .test-slick button.arrow_name::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #CE5737;
    border-right: 1px solid #CE5737;
    position: absolute;
    top: 50%;
  }
  .interview_area .test-slick button.prev_arrow {
    left: 29px;
  }
  .interview_area .test-slick button.next_arrow {
    right: 29px;
  }
  .interview_area .test-slick button.prev_arrow::before {
    left: 52%;
    transform: translate(-50%, -50%) rotate(225deg);
  }
  .interview_area .test-slick button.next_arrow::before {
    left: 48%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .interview_area .test-slick button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
  }
  .interview_area .slick-slider button:focus {
    outline: none;
  }
  .interview_area .slick-list {
    overflow: visible;
  }
  .staff_area {
    padding: 60px 0;
  }
  .staff_area .ttl_base {
    text-align: center;
  }
  .staff_area .ttl_base span {
    background: none;
    color: #CE5737;
    padding-left: 24px;
    left: 2px;
  }
  .staff_area .ttl_base h2 {
    font-size: 24px;
    padding: 16px 0 48px;
  }
  .staff_area .base {
    background: url("../images/recruit/staff_bg.svg") 50% 0;
    padding-bottom: 40px;
    padding: 30px 24px;
  }
  .staff_area .base .blk a {
    display: block;
    width: 100%;
    padding: 40px 24px 30px;
    color: #fff;
  }
  .staff_area .base .blk a .icon {
    width: 200px;
    height: 200px;
    margin: 0 auto 40px;
  }
  .staff_area .base .blk a .icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
    display: block;
  }
  .staff_area .base .blk a .job {
    padding-top: 24px;
    border-top: rgba(255, 255, 255, 0.4) solid 1px;
    background: url("../images/recruit/staff_limk.svg") no-repeat 100% 70%/40px;
  }
  .staff_area .base .blk a .job p {
    font-size: 20px;
    padding-bottom: 4px;
    width: 80%;
  }
  .staff_area .base .blk a .job span {
    font-size: 10px;
  }
  .staff_area .base .blk a:hover {
    opacity: 0.5;
  }
  .staff_area .base .blk.left {
    background: linear-gradient(137.81deg, #17A5E5 0.76%, #1AA8E4 8.86%, #3ECCE0 99.4%);
    border-radius: 8px;
    margin: 0 0 24px;
    float: none;
  }
  .staff_area .base .blk.right {
    background: linear-gradient(138.15deg, #EC8BB4 0.07%, #D5E37A 99.14%);
    border-radius: 8px;
    margin: 0 0 24px;
    float: none;
  }
  .staff_area .base .blk.right + .blk.left + .blk.right {
    margin: 0 0 24px;
  }
  .job .sec2 .wrap {
    padding-bottom: 64px;
    padding-top: 8px;
  }
  .job .sec2 .wrap h2 {
    font-size: 20px;
  }
  .job .sec2 .wrap .base .job-detail {
    border: none;
  }
  .job .sec2 .wrap .base .job-detail th {
    display: block;
    width: 100%;
    border: none;
    padding-bottom: 0;
  }
  .job .sec2 .wrap .base .job-detail td {
    display: block;
    width: 100%;
    padding-top: 8px;
  }
  .job .sec2 .wrap .base .job_btn .contactform {
    margin-top: 24px;
  }
  .job .sec2 .job_btn {
    display: block;
    width: 100%;
    margin: auto;
  }
  .interview {
    background: url("../images/interview/bg.svg") no-repeat 0 230px/60%;
  }
  .interview .hero {
    padding: 0 4px;
  }
  .interview .hero .base {
    position: relative;
  }
  .interview .hero .base .img {
    overflow: hidden;
    border-radius: 8px;
  }
  .interview .hero .base .icon {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: #FFFFFF;
    font-size: 12px;
    background: url("../images/interview/interview_kv_icon.png") no-repeat 0 0/80px;
  }
  .interview .hero .base .copy {
    text-align: right;
    position: absolute;
    bottom: 16px;
    right: 16px;
  }
  .interview .hero .base .copy span {
    background: #fff;
    padding: 4px 0;
    font-size: 16px;
    line-height: 200%;
  }
  .interview .sec1 {
    padding: 50px 24px;
  }
  .interview .sec1 .base {
    display: block;
  }
  .interview .sec1 .base .body {
    width: 100%;
  }
  .interview .sec1 .base .schedule {
    width: 100%;
    padding: 24px;
    margin-top: 24px;
  }
  .interview .sec1 .base .schedule .s_ttl {
    padding-bottom: 16px;
  }
  .interview .sec1 .base .schedule .s_ttl h3 {
    background: url("../images/interview/schedule.svg") no-repeat 0 50%;
    font-size: 20px;
    padding: 4px 0 4px 40px;
  }
  .interview .sec1 .base .schedule .body .blk {
    display: flex;
    padding-bottom: 8px;
    gap: 8px;
  }
  .interview .sec1 .base .schedule .body .blk .time {
    width: 30%;
    text-align: center;
  }
  .interview .sec1 .base .schedule .body .blk .detail {
    width: 70%;
  }
  .interview .sec2 {
    padding: 50px 24px;
    background: linear-gradient(90deg, #F7FDD0 0%, #F3CEC5 100%);
  }
  .interview .sec2 .base {
    padding-bottom: 70px;
  }
  .interview .sec2 .base p img {
    float: none;
    width: 100%;
    padding: 0 0 24px 0;
  }
  .page-id-718 .wp-elements-eea20a39a222c5b869c6d48332b90af4 {
    font-size: 26px !important;
  }
  .page-id-718 .has-medium-font-size {
    font-size: 20px !important;
  }
  .page-id-718 .wp-container-core-columns-is-layout-3 {
    padding: 16px;
  }
  .page-id-718 .wp-elements-1c1a9303ba17e7e3993a691951aa4f5e {
    padding: 16px !important;
    font-size: 28px !important;
  }
  .page-id-718 .skrb-block-id-block_4c673f7d4eecc9f49a957bafa1102620 {
    margin-bottom: 0 !important;
  }
  .page-id-718 .fsss {
    font-size: 26px !important;
  }
  footer {
    color: #fff;
    padding: 40px 0;
  }
  footer a {
    color: #fff;
  }
  footer .menuarea {
    display: block;
    padding-bottom: 36px;
  }
  footer .menuarea .left {
    margin-right: auto;
  }
  footer .menuarea .left img {
    width: 40%;
    display: block;
    margin: 0;
    padding-left: 24px;
  }
  footer .menuarea .right {
    display: none;
  }
  footer .accessarea {
    padding: 36px 24px 0;
    display: block;
    gap: 80px;
  }
  footer .accessarea .base {
    width: calc(100% - 0px);
    margin-bottom: 36px;
  }
  footer .accessarea .base .copname {
    font-size: 16px;
    margin-bottom: 9px;
    background: url("../images/common/head_ic_white.svg") no-repeat 0 13px;
    padding-left: 24px;
  }
  footer .accessarea .base .ad {
    padding-left: 24px;
    padding-bottom: 16px;
  }
  footer .copy {
    font-size: 12px;
  }
}
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #942D2F;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
}

#page-top a:hover {
  background: #777;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/* =================================================================

    その他

================================================================= */
.pc-only {
  display: block;
}

.tb-only {
  display: none;
}

.sp-only {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .tb-only {
    display: block;
  }
}
/* 横向きのタブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .tb-only {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .tb-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
br.is-sp-only {
  display: none;
}/*# sourceMappingURL=style.css.map */