@charset "UTF-8";
/* 1366 - 100 - 100 */
.u-desktop {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
/* MVフェードアップアニメーション -------------------------- */
.fv-fadeIn {
  opacity: 0;
  margin-top: 100px;
  transition: all 2s ease;
}

.fv-fadeIn.load-active {
  opacity: 1;
  margin-top: 0;
}

.fv-fadeIn-scroll {
  opacity: 0;
  margin-top: 100px;
  transition: all 2s ease;
}

.fv-fadeIn-scroll.load-active {
  opacity: 1;
  margin-top: 0;
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1;
}

@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.372212693vw;
    overflow-y: scroll;
  }
}
@media (min-width: 1166px) {
  html {
    font-size: 16px;
  }
}
/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* ホバー */
a {
  text-decoration: none;
  color: inherit;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  list-style: none;
}

button:focus,
button:hover {
  outline: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd,
h5,
h6 {
  margin: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.acc {
  overflow: hidden;
}

.acc-body {
  cursor: pointer;
}

.acc-parent {
  position: relative;
  display: flex;
  justify-content: space-between;
}

.acc-parent-link {
  display: inline-block;
  opacity: 1;
}

.acc-child-open {
  width: 70px;
  width: 4.375rem;
  display: inline-block;
}

.acc-child-open-btn::before,
.acc-child-open-btn::after {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 30px;
  right: 1.875rem;
  width: 15px;
  width: 0.9375rem;
  height: 2px;
  height: 0.125rem;
  transition: all 0.3s ease;
}

.acc-child-open-btn::after {
  transform: rotate(90deg);
}

.acc-child-open-btn.is-active::before {
  opacity: 0;
}

.acc-child-open-btn.is-active::after {
  transform: rotate(0);
}

.acc-children {
  line-height: 0; /* クリックするとアコーディオンが開く挙動をするため、初期状態は「0」としている。 */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}

.acc-child {
  border-top: 0.5px solid #fff;
  background-color: #74a6a6;
}

/* アコーディオンが展開されるときの挙動 */
.acc-children.is-open {
  max-height: 100vh; /* height: auto;だとtransitionが効かないため */
  line-height: 1.5;
  opacity: 1;
}

.acc-child-link {
  display: inline-block;
  outline: none;
  text-decoration: none;
  opacity: 1;
}

.archive-acc li:not(:first-child) {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.archive-acc ul {
  /* アコーディオン部 */
  margin-top: 10px;
  margin-top: 0.625rem;
  margin-left: 25px;
  margin-left: 1.5625rem;
}

.archive-acc ul.hide {
  /* アコーディオン非表示 */
  display: none;
}

.archive-acc li p {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
}

.archive-acc li:hover p {
  color: #388080;
}

.archive-acc li p span {
  /* アイコン背景 */
  position: relative;
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #388080;
  border-radius: 3px;
  margin-right: 10px;
  margin-right: 0.625rem;
}

.archive-acc li p span:before {
  /* アイコン横棒 */
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 9px;
  background-color: #fff;
  top: 7px;
  left: 3px;
}

.archive-acc li p span:after {
  /* アイコン縦棒（閉じてるとき） */
  content: "";
  position: absolute;
  display: block;
  height: 9px;
  width: 1px;
  background-color: #fff;
  top: 3px;
  left: 7px;
}

.archive-acc li p span.archive-acc__open:after {
  /* アイコン縦棒なし（開いてるとき） */
  height: 0;
  width: 0;
  transition: all 0.3s ease;
}

.archive-acc ul li {
  /* アーカイブリスト */
  position: relative;
  margin-left: 15px;
}

/* 「＞」マーク */
.archive-acc ul li::after {
  content: "";
  position: absolute;
  display: block;
  top: 0.2em;
  left: -1em;
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}

.archive-acc li ul li:not(:first-child) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.archive-acc li ul li a {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
}

.archive-acc li ul li:hover {
  color: #388080;
}

.beginning {
  background-color: #d7e6e6;
  padding: 35px 0 55px;
  padding: 2.1875rem 0 3.4375rem;
}

@media screen and (min-width: 768px) {
  .beginning {
    padding: 3.4375rem 0 12.5rem;
  }
}
.beginning__inner {
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .beginning__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
  }
}
.beginning__container {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .beginning__container {
    margin-top: 3.4375rem;
  }
}
.beginning__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.beginning__text-mt {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .beginning__text-mt {
    margin-top: 3.125rem;
  }
}
.beginning__beigoma-img {
  position: relative;
  margin: 5rem calc(50% - 50vw) 0;
  width: 100vw;
}

@media screen and (min-width: 600px) {
  .beginning__beigoma-img {
    max-width: 37.5rem;
    margin: 5rem auto 0;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .beginning__beigoma-img {
    float: right;
    max-width: 31.25rem;
    margin: 0 0 5rem 5rem;
  }
}
.beginning__beigoma-img::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 76%; /* H / W  */
}

.beginning__beigoma-img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.beginning__beigoma-img.beginning__beigoma-img--sp {
  display: block;
}

@media screen and (min-width: 768px) {
  .beginning__beigoma-img.beginning__beigoma-img--sp {
    display: none;
  }
}
.beginning__beigoma-img.beginning__beigoma-img--pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .beginning__beigoma-img.beginning__beigoma-img--pc {
    display: block;
  }
}
.beginning__greeting-wrapper {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.beginning__greeting-name {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  text-align: right;
}

/* パンくずリスト */
.breadcrumb {
  background-color: #fff;
  width: 100%;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem;
}

@media screen and (min-width: 768px) {
  .breadcrumb {
    padding: 0.9375rem 1.5625rem;
  }
}
.breadcrumb.breadcrumb--green {
  background-color: #d7e6e6;
}

.breadcrumb.breadcrumb--anniversary {
  background-color: #d7e6e6;
}

.breadcrumb__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap; /* パンくずリストが長くなったときに折り返す */
  max-width: 1266px;
  width: 100%;
  margin: 0 auto;
}

.breadcrumb__items li {
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .breadcrumb__items li {
    font-size: 1rem;
  }
}
.breadcrumb__items li:last-of-type {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数を2行に設定 */
  overflow: hidden;
}

.breadcrumb__items li::after {
  content: ">";
  display: inline-block;
  margin: 0 5px;
  margin: 0 0.3125rem;
  font-size: 14px;
  font-size: 0.875rem;
}

.breadcrumb__items li:last-of-type::after {
  content: "";
  margin: 0;
}

.breadcrumb__items li a {
  color: inherit;
  text-decoration: underline;
}

.chronology {
  background-color: #ebf2f2;
  padding-top: 50px;
  padding-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .chronology {
    padding: 0;
  }
}
.chronology__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .chronology__inner {
    max-width: 85.375rem;
    padding: 0 0 0 6.25rem;
    margin: auto;
  }
}
.chronology__container {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .chronology__container {
    display: flex;
  }
}
.chronology__text-wrapper {
  width: 100%;
  max-width: 600px;
  max-width: 37.5rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .chronology__text-wrapper {
    width: 50%;
    padding: 6.875rem 1.25rem 0 0;
    max-width: none;
  }
}
@media screen and (min-width: 1440px) {
  .chronology__text-wrapper {
    padding: 6.875rem 3.125rem 0 0;
  }
}
.chronology__text-box {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .chronology__text-box {
    margin-top: 2.5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (min-width: 1440px) {
  .chronology__text-box {
    margin-top: 3.125rem;
  }
}
.chronology__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .chronology__text {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .chronology__text {
    font-size: 1.125rem;
  }
}
.chronology__text-mt {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .chronology__text-mt {
    margin-top: 2.8125rem;
  }
}
@media screen and (min-width: 1440px) {
  .chronology__text-mt {
    margin-top: 3.4375rem;
  }
}
.chronology__history-wrapper {
  background-color: #d7e6e6;
  margin: 3.125rem calc(50% - 50vw) 0;
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .chronology__history-wrapper {
    width: 50%;
    padding: 6.875rem 0 0 0;
    margin: 0 auto;
  }
}
.company__inner {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .company__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .company__container {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }
}
.company__img {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

@media screen and (min-width: 520px) {
  .company__img {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .company__img {
    max-width: 48.75rem;
    width: 61.611%;
  }
}
.company__img::before {
  content: "";
  display: block;
  padding-top: 100%; /* H / W  */
}

.company__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: -185px 0;
  object-position: -185px 0;
}

@media screen and (min-width: 768px) {
  .company__img img {
    -o-object-position: -215px 0;
    object-position: -215px 0;
  }
}
.company__img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.95), rgba(130, 130, 130, 0.4) 50%, rgba(255, 255, 255, 0));
  background-size: cover;
  opacity: 0.1;
}

@media screen and (min-width: 768px) {
  .company__block {
    max-width: 38.389%;
    width: 100%;
    padding-right: 1.875rem;
  }
}
.company__title {
  position: relative;
  z-index: 1;
  max-width: 278px;
  max-width: 17.375rem;
  width: 100%;
  margin-top: -27px;
  margin-top: -1.6875rem;
}

@media screen and (min-width: 768px) {
  .company__title {
    max-width: 28.1875rem;
    margin-top: 2.875rem;
  }
}
.company__btn-items {
  margin-top: 49px;
  margin-top: 3.0625rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .company__btn-items {
    margin-top: 3.0625rem;
  }
}
.company__btn-item {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .company__btn-item {
    max-width: 28.5rem;
  }
}
.company__btn {
  font-size: 16px;
  font-size: 1rem;
  display: inline-block;
  max-width: 315px;
  max-width: 19.6875rem;
  width: 100%;
  padding: 16px 10px;
  padding: 1rem 0.625rem;
  background-color: #fff;
  border: 0.5px solid #000;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .company__btn {
    font-size: 1.5rem;
    max-width: 28.1875rem;
    width: 100%;
    padding: 1.25rem 0.625rem;
  }
}
.company__btn:hover {
  background-color: #388080;
  border: 0.5px solid #388080;
  color: #fff;
}

.company__btn-item:nth-child(n+2) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.company__map {
  aspect-ratio: 1366/780;
  width: 100%;
  max-height: 780px;
  max-height: 48.75rem;
  margin-top: 40px;
  margin-top: 2.5rem;
  vertical-align: bottom;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .company__map {
    margin-top: 0;
    position: static;
  }
}
.company__map iframe {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: -150px;
  left: 0;
  height: calc(100% + 300px);
}

@media screen and (min-width: 768px) {
  .company__map iframe {
    position: static;
    height: 100%;
  }
}
.company__map.company__map--subpage {
  margin-top: 0;
}

.contact-subpage__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .contact-subpage__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
    margin: auto;
  }
}
.contact-subpage__message {
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .contact-subpage__message {
    font-size: 1.125rem;
  }
}
.contact {
  background-color: #fff;
}

.contact__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .contact__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
    margin: auto;
  }
}
.contact__message {
  margin-top: 50px;
  margin-top: 3.125rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .contact__message {
    margin-top: 2.875rem;
  }
}
.contact__tel-wrapper {
  margin-top: 48px;
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .contact__tel-wrapper {
    margin-top: 2.1875rem;
  }
}
.contact__tel-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 315px;
  max-width: 19.6875rem;
  background-color: #388080;
  padding: 22.5px 0;
  padding: 1.40625rem 0;
}

@media screen and (min-width: 768px) {
  .contact__tel-inner {
    max-width: 28.75rem;
  }
}
.contact__tel-inner img {
  max-width: 27px;
  max-width: 1.6875rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .contact__tel-inner img {
    max-width: 3.0625rem;
  }
}
.contact__tel {
  font-size: 24px;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  margin-left: 12px;
  margin-left: 0.75rem;
}

@media screen and (min-width: 768px) {
  .contact__tel {
    font-size: 2.75rem;
    margin-left: 2rem;
  }
}
.contact__container {
  margin-top: 38px;
  margin-top: 2.375rem;
}

@media screen and (min-width: 768px) {
  .contact__container {
    margin-top: 3.125rem;
  }
}
/* 下層ページ */
.contact__inner.contact__inner--subpage {
  padding-bottom: 90px;
  padding-bottom: 5.625rem;
}

@media screen and (min-width: 768px) {
  .contact__inner.contact__inner--subpage {
    padding-bottom: 6.25rem;
  }
}
/* コンテンツ量が少なく短いページでもフッターを最下部に表示する */
.content-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}

.facilities__inner {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .facilities__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 6.25rem;
  }
}
.facilities__title {
  max-width: 296px;
  max-width: 18.5rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .facilities__title {
    max-width: 29.8125rem;
  }
}
.facilities__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.facilities__swiper {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .facilities__swiper {
    margin-top: 2.8125rem;
  }
}
.swiper-tab01__wrapper {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .swiper-tab01__wrapper {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.swiper-tab01__slide + .swiper-tab01__slide {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .swiper-tab01__slide + .swiper-tab01__slide {
    margin-top: 0;
  }
}
.swiper-tab01__slide.swiper-tab01__slide01,
.swiper-tab01__slide.swiper-tab01__slide02,
.swiper-tab01__slide.swiper-tab01__slide03 {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .swiper-tab01__slide.swiper-tab01__slide01,
  .swiper-tab01__slide.swiper-tab01__slide02,
  .swiper-tab01__slide.swiper-tab01__slide03 {
    max-width: calc(33.33333% - 0.54167rem);
  }
}
.swiper-tab01__slide.swiper-tab01__slide04,
.swiper-tab01__slide.swiper-tab01__slide05,
.swiper-tab01__slide.swiper-tab01__slide06,
.swiper-tab01__slide.swiper-tab01__slide07 {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .swiper-tab01__slide.swiper-tab01__slide04,
  .swiper-tab01__slide.swiper-tab01__slide05,
  .swiper-tab01__slide.swiper-tab01__slide06,
  .swiper-tab01__slide.swiper-tab01__slide07 {
    /* max-width: calc(25% - 0.60938rem); */
    max-width: calc(33.33333% - 0.54167rem);
    margin-top: 0.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .swiper-tab01__slide.swiper-tab01__slide02,
  .swiper-tab01__slide.swiper-tab01__slide03,
  .swiper-tab01__slide.swiper-tab01__slide05,
  .swiper-tab01__slide.swiper-tab01__slide06,
  .swiper-tab01__slide.swiper-tab01__slide07 {
    margin-left: 0.8125rem;
  }
}
.swiper-tab01__slide span {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #000;
  text-align: center;
  padding: 17px 0;
  padding: 1.0625rem 0;
  border: 0.5px solid #000;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .swiper-tab01__slide span {
    font-size: 1.5rem;
    padding: 1.75rem 0;
  }
}
.swiper-tab01__slide.swiper-slide-thumb-active span {
  background-color: #388080;
  border: 0.5px solid #388080;
  color: #fff;
}

.swiper-tab01__slide span:hover {
  background-color: #388080;
  border: 0.5px solid #388080;
  color: #fff;
}

.swiper-content01 {
  height: calc(106.6666vw + 2.8125rem);
  margin-top: 30px;
  margin-top: 1.875rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .swiper-content01 {
    height: calc(31.25vw + 4.375rem);
    margin-top: 6.25rem;
  }
}
.swiper-content01__wrapper {
  height: 106.6666vw;
}

@media screen and (min-width: 768px) {
  .swiper-content01__wrapper {
    height: 31.25vw;
  }
}
.swiper-content01__slide {
  height: 100%;
  position: relative;
}

.swiper-content01__card {
  height: 100%;
}

@media screen and (min-width: 768px) {
  .swiper-content01__card {
    padding-left: 2.6041666667vw;
    padding-right: 2.6041666667vw;
  }
}
.swiper-content01__link {
  display: block;
  height: 100%;
  position: relative;
}

.swiper-content01__link img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  cursor: pointer;
  transition: all 0.3s ease;
}

.swiper-content01__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.95), rgba(130, 130, 130, 0.4) 50%, rgba(255, 255, 255, 0));
  background-size: cover;
  opacity: 0.1;
}

.swiper-content01__link:hover img {
  transform: scale(1.05);
  opacity: 0.8;
}

.swiper-content01__txtbox {
  position: absolute;
  top: 12.5%;
  left: 0;
  width: 100%;
  padding: 5px 50px;
  padding: 0.3125rem 3.125rem;
}

@media screen and (min-width: 768px) {
  .swiper-content01__txtbox {
    display: inline-block;
    width: auto;
    top: 21.666%;
    left: 5%;
    padding: 0;
  }
}
.swiper-content01__ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 5.3333333333vw;
  line-height: 1.75;
  color: #fff;
  text-align: center;
  text-shadow: 1px 2px 3px #000;
}

@media screen and (min-width: 768px) {
  .swiper-content01__ttl {
    font-size: 2.0833333333vw;
    text-align: left;
  }
}
.facilities .swiper-button-prev,
.facilities .swiper-button-next {
  display: block;
  width: 70.7px;
  width: 4.41875rem;
  height: 70.7px;
  height: 4.41875rem;
  border: 0;
}

@media screen and (min-width: 768px) {
  .facilities .swiper-button-prev,
  .facilities .swiper-button-next {
    width: 11.0479166667vw;
    height: 11.0479166667vw;
  }
}
.facilities .swiper-button-next.swiper-button-disabled,
.facilities .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.facilities .swiper-button-prev {
  position: absolute;
  top: calc(50% - 1.40625rem);
  left: 15px;
  left: 0.9375rem;
  right: auto;
  bottom: auto;
  transform: translate(22%, -50%) rotate(-45deg);
  border-top: 2px solid #388080;
  border-left: 2px solid #388080;
  margin-top: 0;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .facilities .swiper-button-prev {
    top: calc(50% - 2.1875rem);
    left: 15.625vw;
    border-top: 3px solid #388080;
    border-left: 3px solid #388080;
  }
}
.facilities .swiper-button-prev:hover {
  left: 5px;
  left: 0.3125rem;
  border-top: 2px solid #5bc5c1;
  border-left: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .facilities .swiper-button-prev:hover {
    left: 13.0208333333vw;
    border-top: 3px solid #5bc5c1;
    border-left: 3px solid #5bc5c1;
  }
}
.facilities .swiper-button-next {
  position: absolute;
  top: calc(50% - 1.40625rem);
  right: 15px;
  right: 0.9375rem;
  left: auto;
  bottom: auto;
  transform: translate(-22%, -50%) rotate(-45deg);
  border-bottom: 2px solid #388080;
  border-right: 2px solid #388080;
  margin-top: 0;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .facilities .swiper-button-next {
    top: calc(50% - 2.1875rem);
    right: 15.625vw;
    border-bottom: 3px solid #388080;
    border-right: 3px solid #388080;
  }
}
.facilities .swiper-button-next:hover {
  right: 5px;
  right: 0.3125rem;
  border-bottom: 2px solid #5bc5c1;
  border-right: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .facilities .swiper-button-next:hover {
    right: 13.0208333333vw;
    border-bottom: 3px solid #5bc5c1;
    border-right: 3px solid #5bc5c1;
  }
}
.facilities .swiper-button-prev:after,
.facilities .swiper-button-next:after {
  content: "";
}

.facilities .swiper-pagination-bullets.swiper-pagination-horizontal {
  width: 100%;
  padding-right: 30px;
  padding-left: 30px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .facilities .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: calc(100% - 200px);
    left: 50%;
    transform: translate(-50%, 0);
    padding: 0;
  }
}
@media screen and (min-width: 1366px) {
  .facilities .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: 1166px;
  }
}
.facilities .swiper-pagination-bullet {
  border-radius: inherit;
  margin: 0 !important;
  width: 14.2857142857%;
  height: 5px;
  height: 0.3125rem;
  background: #9fa0a0;
  opacity: 0.19;
}

.facilities .swiper-pagination-bullet-active {
  background-color: #388080;
  opacity: 1;
}

.facilities__btn {
  width: 100%;
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .facilities__btn {
    text-align: right;
  }
}
.factory__wrapper {
  margin-top: 19px;
  margin-top: 1.1875rem;
}

@media screen and (min-width: 768px) {
  .factory__wrapper {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .factory__tabLists {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 0.75rem;
    column-gap: 0.75rem;
    row-gap: 0.75rem;
  }
}
.factory__tabItem {
  text-align: center;
  padding: 16px 5px;
  padding: 1rem 0.3125rem;
  border: 1px solid #000;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .factory__tabItem {
    padding: 1.625rem 0.625rem;
  }
}
.factory__tabItem:hover {
  background-color: #388080;
  border: 1px solid #388080;
}

.factory__tabItem:hover span {
  color: #fff;
}

.factory__tabItem.factory-active {
  background-color: #388080;
  border: 1px solid #388080;
}

@media screen and (min-width: 768px) {
  .factory__tabItem:nth-of-type(-n + 3) {
    width: calc(33.333% - 0.5rem);
  }
}
@media screen and (min-width: 768px) {
  .factory__tabItem:nth-of-type(n + 4) {
    width: calc(33.333% - 0.5rem);
  }
}
.factory__tabItem:not(:first-of-type) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .factory__tabItem:not(:first-of-type) {
    margin-top: 0;
  }
}
.factory__tabItem.factory-active {
  color: #fff;
}

.factory__tabItem span {
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .factory__tabItem span {
    font-size: 1.5rem;
  }
}
.factory__tabItem.factory-active span {
  color: #fff;
}

.factory__contentsBox {
  display: none;
}

.factory__contentsBox.factory-active {
  display: block;
}

.factory__table01Area {
  padding: 50px 0 65px;
  padding: 3.125rem 0 4.0625rem;
  background-color: #f7f8f8;
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .factory__table01Area {
    padding: 3.125rem 0 6.25rem;
  }
}
@media screen and (min-width: 768px) {
  .factory__detailWrppr {
    margin-top: 5.625rem;
  }
}
@media screen and (min-width: 768px) {
  .factory__machineInfo:nth-of-type(2) {
    margin-top: 5.625rem;
  }
}
.footer {
  background-color: #ebf2f2;
}

.footer__upper {
  padding: 90px 30px 80px;
  padding: 5.625rem 1.875rem 5rem;
}

@media screen and (min-width: 768px) {
  .footer__upper {
    display: flex;
    justify-content: space-between;
    padding: 3.125rem 6.25rem 1.875rem;
    margin: auto;
    max-width: 85.375rem;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .footer__address {
    width: 37%;
  }
}
.footer__company {
  font-size: 24px;
  font-size: 1.5rem;
}

.footer__address-main {
  margin-top: 42px;
  margin-top: 2.625rem;
  font-size: 14px;
  font-size: 0.875rem;
}

.footer__address-branch {
  margin-top: 36px;
  margin-top: 2.25rem;
  font-size: 14px;
  font-size: 0.875rem;
}

.footer__contact-details > p {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.footer__address-info {
  display: flex;
  margin-top: 13px;
  margin-top: 0.8125rem;
}

.footer__address-info p:nth-child(2) {
  margin-left: 15px;
  margin-left: 0.9375rem;
}

.footer__tel {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.footer__tel p:nth-child(2) {
  margin-top: 12px;
  margin-top: 0.75rem;
}

.footer__nav {
  display: none;
}

@media screen and (min-width: 768px) {
  .footer__nav {
    display: flex;
    width: 57%;
    margin-left: 6%;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-left {
    width: 58%;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-right {
    width: 42%;
    margin-left: 0.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items-box {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items-box--products {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items-box--company {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items-box--recruit {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items-box--sitemap {
    margin-top: 3.125rem;
  }
}
.footer__nav-en {
  color: #388080;
  font-family: "Arial Black", sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .footer__nav-en {
    max-width: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items {
    margin-left: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-items li:not(:first-child) {
    margin-top: 0.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav-item a {
    font-size: 0.75rem;
    line-height: 1.5;
    cursor: pointer;
    transition: all 0.3s ease;
  }
}
.footer__nav-item a:hover {
  color: #388080;
}

.footer__under {
  background-color: #388080;
}

.footer__under-inner {
  padding: 25px 30px;
  padding: 1.5625rem 1.875rem;
}

@media screen and (min-width: 768px) {
  .footer__under-inner {
    padding: 1.25rem 6.25rem;
    margin: auto;
    max-width: 85.375rem;
    width: 100%;
  }
}
.footer__copyright {
  font-size: 10px;
  font-size: 0.625rem;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .footer__copyright {
    text-align: left;
  }
}
/* プラグイン「MW WP Form」使用 */
/* 各フォーム部品の基本スタイルを変更する */
input,
textarea,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; /*ブラウザ標準スタイルを無効にする*/
}

input[type=text],
input[type=email],
input[type=tel] {
  padding: 10px 10px;
  padding: 0.625rem 0.625rem;
  background-color: #fff;
  border: 0.5px solid #000;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel] {
    font-size: 1rem;
  }
}
textarea {
  width: 100%;
  height: 240px;
  height: 15rem;
  padding: 10px;
  padding: 0.625rem;
  background-color: #fff;
  border: 0.5px solid #000;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  textarea {
    font-size: 1rem;
  }
}
/*フォーカス時*/
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus {
  outline: none;
  box-shadow: 0 0 5px rgba(56, 128, 128, 0.8);
}

/*ラジオボタン、チェックボックススタイル*/
input[type=radio],
input[type=checkbox] {
  opacity: 0; /*デフォルトを透明にしておく*/
  position: absolute; /*本来の配置から切り離す*/
}

/*クリック範囲*/
input[type=radio] + span {
  display: inline-block;
  position: relative;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}

input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  padding-left: 1.875rem;
  vertical-align: middle;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  input[type=checkbox] + span {
    padding-left: 2.1875rem;
  }
}
/*チェックボックススタイル*/
input[type=checkbox] + span:before {
  position: absolute;
  top: 2px;
  top: 0.125rem;
  left: 0;
  content: "";
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  border: 1px solid #000;
  background-color: #fff;
  line-height: 1;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  input[type=checkbox] + span:before {
    top: 0.125rem;
  }
}
/*チェックボックス未チェック時*/
input[type=checkbox] + span:after {
  content: "";
  display: none;
}

/*チェックボックスチェック時*/
input[type=checkbox]:checked + span:after {
  display: block;
  position: absolute;
  top: 1px;
  top: 0.0625rem;
  left: 6px;
  left: 0.375rem;
  width: 8px;
  width: 0.5rem;
  height: 15px;
  height: 0.9375rem;
  content: "";
  border-bottom: 2px solid #388080;
  border-right: 2px solid #388080;
  transform: rotate(45deg);
}

/* お問い合わせフォーム */
.form {
  width: 100%;
  background-color: #fff;
}
@media (max-width: 767px) {
  .form {
    padding: 0px !important;
  }
  .form .form__btn-container {
    flex-direction: column;
  }
  .form .form__item,
  .form .form__contact-text {
    line-height: 1.5;
    padding-block: 1rem;
  }
  .form .form__item .form__privacy-policy-label,
  .form .form__contact-text .form__privacy-policy-label {
    max-width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .contact-subpage__message {
    margin-bottom: 2rem;
  }
}
.form__message {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.form__item,
.form__contact-text {
  width: 100%;
  display: flex;
  flex-direction: column;
  word-wrap: break-word; /*確認画面でURLを折返しさせる処理*/
  word-wrap: break-word;
}

@media screen and (min-width: 768px) {
  .form__item,
  .form__contact-text {
    flex-direction: row;
    align-items: center;
    margin-top: 3.125rem;
  }
}
.form__item:nth-of-type(1) {
  margin-top: 40px;
  margin-top: 2.5rem;
  justify-content: flex-start;
}

.form__item label,
.form__contact-text label,
.form__privacy-policy-label {
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .form__item label,
  .form__contact-text label,
  .form__privacy-policy-label {
    /* width: 30%; */
    font-size: 1.125rem;
  }
}
.form__item input,
.form__contact-text textarea {
  width: 100%;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .form__item input,
  .form__contact-text textarea {
    margin-top: 0;
  }
}
.form__privacy-policy-wrapper {
  width: 100%;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .form__privacy-policy-wrapper {
    width: 70%;
    margin-top: 0;
  }
}
.form__item-right-wrapper {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .form__item-right-wrapper {
    width: 70%;
    margin-top: 0;
  }
}
/*エラーメッセージが1項目につき2個表示されるものに対し、非表示にする*/
.form__item-right-wrapper .error:nth-child(2) {
  display: none;
}

@media screen and (min-width: 768px) {
  .form__item-right-wrapper.form__item-right-wrapper-birth,
  .form__item-right-wrapper.form__item-right-wrapper-address,
  .form__item-right-wrapper-occupation,
  .form__item-right-wrapper-workStyle,
  .form__item-right-wrapper-finalEducation,
  .form__item-right-wrapper-motivation {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .form__item-right-wrapper.form__item-right-wrapper-birth input {
    width: 100%;
    max-width: 15.625rem;
  }
}
.form__checkbox {
  margin-top: 35px;
  margin-top: 2.1875rem;
}

@media screen and (min-width: 768px) {
  .form__checkbox {
    margin-top: 3.125rem;
  }
}
.form__checkbox-description {
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  padding: 10px 0;
  padding: 0.625rem 0;
  border-top: 0.5px solid #000;
  /* border-bottom: 0.5px solid #000; */
}

@media screen and (min-width: 768px) {
  .form__checkbox-description {
    width: 30%;
    font-size: 1.125rem;
    text-align: left;
    border-top: 0;
    border-bottom: 0;
  }
}
.form__checkbox-list {
  display: flex;
  flex-direction: column;
  padding: 15px 0;
  padding: 0.9375rem 0;
  /* border-bottom: 0.5px solid #000; */
}

@media screen and (min-width: 768px) {
  .form__checkbox-list {
    display: inline-block;
    /* width: 70%; */
    text-align: right;
    padding: 2.1875rem 0;
    /* border-top: 0.5px solid #000; */
  }
}
.form__checkbox-list span {
  display: block;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .form__checkbox-list span {
    display: inline-block;
  }
}
.form__checkbox-list label {
  margin-left: 30px;
  margin-left: 1.875rem;
}

@media screen and (min-width: 768px) {
  .form__checkbox-list label {
    margin-left: 0;
  }
}
.form__checkbox-list label:not(:first-child) {
  margin-top: 8px;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .form__checkbox-list label:not(:first-child) {
    margin-top: 0;
    margin-left: 6.875rem;
  }
}
.form__checkbox-list label span {
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .form__checkbox-list label span {
    font-size: 1.125rem;
  }
}
.form__contact-text label {
  display: block;
}

.form__essential {
  margin-left: 15px;
  margin-left: 0.9375rem;
  font-size: 12px;
  font-size: 0.75rem;
  padding: 3px 9px;
  padding: 0.1875rem 0.5625rem;
  color: #fff;
  background-color: #d43445;
  border-radius: 0.4375rem;
}

.form__privacy-policy-inner {
  overflow-y: scroll;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
  border: 0.5px solid #000;
  height: 180px;
  height: 11.25rem;
}

@media screen and (min-width: 768px) {
  .form__privacy-policy-inner {
    width: 100%;
    padding: 0.625rem 0.625rem;
  }
}
.form__privacy-policy {
  margin-top: 25px;
  margin-top: 1.5625rem;
  text-align: center;
}

.form__privacy-policy p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form__privacy-policy p {
    font-size: 1.125rem;
  }
}
.form__privacy-policy a {
  color: #388080;
  text-decoration: underline;
}

.form__privacy-checkbox {
  margin-top: 15px;
  margin-top: 0.9375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form__privacy-checkbox {
    font-size: 1.125rem;
  }
}
.form__privacy {
  overflow-y: scroll;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
  border: 0.5px solid #000;
}

@media screen and (min-width: 768px) {
  .form__privacy {
    width: 100%;
    padding: 0.625rem 0.625rem;
  }
}
.form__privacy-title {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.form__privacy-title:before {
  content: "";
  display: inline-block;
  align-items: center;
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  margin-right: 5px;
  margin-right: 0.3125rem;
  background: #333;
}

@media screen and (min-width: 768px) {
  .form__privacy-title {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .form__privacy-subtitle {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.625rem;
  }
}
.form__privacy-text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
  word-break: break-all;
  overflow: scroll;
}

@media screen and (min-width: 768px) {
  .form__privacy-text {
    font-size: 1rem;
  }
}
.form__privacy-agree {
  margin-top: 15px;
  margin-top: 0.9375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form__privacy-agree {
    font-size: 1.125rem;
  }
}
.form__privacy-policy {
  margin-top: 25px;
  margin-top: 1.5625rem;
  text-align: center;
}

.form__privacy-policy p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form__privacy-policy p {
    font-size: 1.125rem;
  }
}
.form__privacy-policy a {
  color: #388080;
  text-decoration: underline;
}

.form__privacy-checkbox {
  margin-top: 15px;
  margin-top: 0.9375rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form__privacy-checkbox {
    font-size: 1.125rem;
  }
}
.form__privacy-checkbox .form__essential {
  margin-left: 0;
}

.form__privacy-checkbox {
  text-align: center;
}

.form__privacy-checkbox label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.form__privacy-checkbox label span {
  text-align: left;
  line-height: 1.5;
}

/*送信ボタン*/
.form__btn-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .form__btn-container {
    margin-top: 4.375rem;
  }
}
.form__btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  overflow: hidden;
  display: inline-block;
  max-width: 315px;
  max-width: 19.6875rem;
  width: 100%;
  padding: 27px 10px;
  padding: 1.6875rem 0.625rem;
  background-color: #388080;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  line-height: 1;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .form__btn {
    padding: 1.25rem 0.625rem;
    max-width: 22.5rem;
  }
}
.form__btn-confirm::after {
  content: "送信内容を確認する";
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.form__btn-back::after {
  content: "前の画面へ戻る";
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.form__btn-send::after {
  content: "送信する";
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.form__btn:hover {
  opacity: 0.8;
}

.form__btn-send {
  margin-top: 30px;
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .form__btn-send {
    margin-top: 2.5rem;
  }
}
/*MW WP Form*/
/*バリデーションエラー*/
.mw_wp_form .error {
  margin-top: 10px;
  margin-top: 0.625rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .mw_wp_form .error {
    font-size: 1.125rem;
  }
}
.mw_wp_form .form__checkbox-list .error {
  text-align: center;
}

.mw_wp_form_confirm .input-show {
  display: none;
}

.mw_wp_form_confirm .form__checkbox-list {
  margin-top: 0;
}

.mw_wp_form_confirm .form__item label,
.mw_wp_form_confirm .form__contact-text label {
  line-height: 1.5;
}

/* WPから出力されるスタイルを上書き */
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 5rem;
    margin-top: 0;
  }
}
/* お問い合わせフォーム */
/*ラジオボタンスタイル*/
input[type=radio] + span::before {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  right: -1.25rem;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  border: 1px solid #000;
  border-radius: 100vh;
  line-height: 1;
  background-color: #fff;
}

/*ラジオボタンチェック印（未選択）*/
input[type=radio] + span::after {
  content: "";
  display: none;
}

/*ラジオボタンチェック印（選択）*/
input[type=radio]:checked + span::after {
  display: block;
  position: absolute;
  top: 3px;
  top: 0.1875rem;
  right: -17px;
  right: -1.0625rem;
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  margin: 0;
  padding: 0;
  border-radius: 100vh;
  background-color: #388080;
  line-height: 1;
}

/*添付ファイル ---------------*/
input[type=file] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

/* 「削除」ボタン */
.fileclear-resume,
.fileclear-jobHistory {
  display: none;
  font-size: 14px;
  font-size: 0.875rem;
  color: #fff;
  background-color: #d43445;
  padding: 8px 15px;
  padding: 0.5rem 0.9375rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
  text-align: center;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .fileclear-resume,
  .fileclear-jobHistory {
    font-size: 1rem;
    padding: 0.5rem 1.25rem;
  }
}
/* 添付ファイル */
.js-upload-filename-resume,
.js-upload-filename-jobHistory {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  .js-upload-filename-resume,
  .js-upload-filename-jobHistory {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}
/* 確認画面では「選択されていません」を削除 */
.mw_wp_form_confirm .js-upload-filename-resume,
.mw_wp_form_confirm .js-upload-filename-jobHistory {
  display: none;
}

/*添付ファイル ---------------*/
.form02 {
  margin: 2.5rem calc(50% - 50vw) 0;
  width: 100vw;
  padding: 30px 30px;
  padding: 1.875rem 1.875rem;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .form02 {
    margin: 3.125rem auto 0;
    padding: 3.125rem 6.25rem;
    width: 100%;
  }
}
.form02__message {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.form02__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  margin-top: 2.5rem;
  word-wrap: break-word; /*確認画面でURLを折返しさせる処理*/
  word-wrap: break-word;
}

@media screen and (min-width: 768px) {
  .form02__item {
    margin-top: 3.125rem;
  }
}
.form02__item:nth-of-type(1) {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

.form02__item label:not(.form__item-radio-lable):not(.form02__file-label),
.form02__itemLabel,
.form02__label {
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  display: flex;
}

@media screen and (min-width: 768px) {
  .form02__item label:not(.form__item-radio-lable):not(.form02__file-label),
  .form02__itemLabel,
  .form02__label {
    font-size: 1.125rem;
  }
}
.form02__item input {
  width: 100%;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .form02__item input {
    width: 100%;
    margin-top: 0;
  }
}
.form02__control {
  display: flex;
  background: #fff;
  padding: 10px 0;
  padding: 0.625rem 0;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .form02__control {
    width: 70%;
  }
}
.form02__control.form02__control--scroll {
  height: 180px;
  height: 11.25rem;
}

@media screen and (min-width: 768px) {
  .form02__control label {
    width: auto;
    min-width: auto;
  }
}
@media screen and (min-width: 768px) {
  .form02__control-name {
    display: flex;
    flex: 1;
    align-items: center;
    width: 70%;
  }
}
@media screen and (min-width: 768px) {
  .form02__control-name-left,
  .form02__control-name-right {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .form02__control-name-right {
    margin-left: 1.875rem;
  }
}
@media (max-width: 767px) {
  .form02__control-name-left-wrapper {
    padding-block: 1rem;
  }
  .form02__text-name {
    margin-top: unset !important;
    width: 20% !important;
  }
}
.form02__control-name-left-wrapper,
.form02__control-name-right-wrapper {
  display: flex;
  align-items: center;
}

.form02__control-name-left-wrapper input,
.form02__control-name-right-wrapper input {
  margin-left: 20px;
  margin-left: 1.25rem;
}

.form02__text,
.form02__text-name {
  display: inline-block;
}

.form02__text-name {
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .form02__text-name {
    margin-top: 0;
    width: min(50px, 100%);
  }
}
.form02__control-name label {
  display: inline-block;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .form02__control-name label {
    margin-top: 0;
    width: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .form02__control-name label:last-of-type {
    margin-left: 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .form02__control-name input {
    max-width: 15.625rem;
    margin-left: 0.9375rem;
  }
}
.form02__control-birth {
  width: 100%;
  max-width: 200px;
  max-width: 12.5rem;
}

@media screen and (min-width: 768px) {
  .form02__control-birth {
    max-width: 15.625rem;
  }
}
.form02__example {
  margin-top: 15px;
  margin-top: 0.9375rem;
  display: block;
}

@media screen and (min-width: 768px) {
  .form02__example {
    margin-top: 0;
    margin-left: 0.625rem;
  }
}
@media screen and (min-width: 768px) {
  .form02__zip-wrap {
    margin-bottom: 1.875rem;
  }
}
.form02__address-wrap {
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .form02__address-wrap {
    flex: 1;
  }
}
.form02__zip-wrap input {
  margin-top: 0;
  width: 100%;
  max-width: 200px;
  max-width: 12.5rem;
  margin-left: 15px;
  margin-left: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .form02__zip-wrap input {
    max-width: 15.625rem;
  }
}
.form02__control.is-column.is-border {
  border: 0.5px solid #000;
  margin-top: 10px;
  margin-top: 0.625rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  padding: 10px 5px;
  padding: 0.625rem 0.3125rem;
  padding: 10px 5px;
  padding: 0.625rem 0.3125rem;
  flex-direction: column;
}

.form02__file-wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  padding: 0 10px;
  padding: 0 0.625rem;
  width: 100%;
}

.form02__file-wrap input {
  margin-top: 0;
}

.form02__file-label input {
  width: 0;
}

label.form02__file-label {
  background-color: #9fa0a0;
  color: #fff;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  max-width: 190px;
  max-width: 11.875rem;
  width: 100%;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  text-align: center;
}

.form02-file-delete {
  display: none;
}

.form02__file-name {
  font-weight: 500;
  margin-left: 10px;
  margin-left: 0.625rem;
}

.form02__file-delete {
  background: #d43445;
  color: #fff;
  cursor: pointer;
  display: none;
  font-size: 16px;
  font-size: 1rem;
  margin-left: auto;
  max-width: 80px;
  max-width: 5rem;
  min-width: 80px;
  min-width: 5rem;
  padding: 5px;
  padding: 0.3125rem;
  position: absolute;
  right: 10px;
  right: 0.625rem;
  text-align: center;
  top: -40px;
  top: -2.5rem;
}

.form02__list {
  gap: 10px;
  gap: 0.625rem;
  display: grid;
  list-style: disc;
  padding-left: 20px;
  padding-left: 1.25rem;
}

.form02__list-item {
  font-feature-settings: "palt";
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  position: relative;
  line-height: 1.5;
}

.form02__list-item::before {
  background-color: #000;
  border-radius: 50%;
  content: "";
  display: block;
  height: 3px;
  height: 0.1875rem;
  height: 3px;
  height: 0.1875rem;
  left: -3px;
  left: -0.1875rem;
  left: -3px;
  left: -0.1875rem;
  position: absolute;
  top: 0.5em;
  transform: translate(-100%, -50%);
  width: 3px;
  width: 0.1875rem;
  width: 3px;
  width: 0.1875rem;
}

.form02__privacy {
  overflow-y: scroll;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
  border: 0.5px solid #000;
}

@media screen and (min-width: 768px) {
  .form02__privacy {
    width: 100%;
    padding: 0.625rem 0.625rem;
  }
}
.form02__privacy-title {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.form02__privacy-title:before {
  content: "";
  display: inline-block;
  align-items: center;
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  margin-right: 5px;
  margin-right: 0.3125rem;
  background: #333;
}

@media screen and (min-width: 768px) {
  .form02__privacy-title {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .form02__privacy-subtitle {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.625rem;
  }
}
.form02__privacy-text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
  word-break: break-all;
  margin-left: 20px;
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .form02__privacy-text {
    font-size: 1rem;
  }
}
.form02__privacy-agree {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form02__privacy-agree {
    font-size: 1.125rem;
  }
}
.form__privacy-policy {
  margin-top: 25px;
  margin-top: 1.5625rem;
  text-align: center;
}

.form__privacy-policy p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form__privacy-policy p {
    font-size: 1.125rem;
  }
}
.form__privacy-policy a {
  color: #388080;
  text-decoration: underline;
}

.form02__privacy-checkbox .form02__essential {
  margin-left: 0;
}

.form02__privacy-checkbox {
  text-align: center;
}

.form02__privacy-checkbox label {
  display: flex;
  align-items: center;
  justify-content: center;
}

.form02__privacy-checkbox label span {
  text-align: left;
  line-height: 1.5;
}

.form02__privacy-agree label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  line-height: 1.5;
  margin-left: 0;
}

.form02__privacy-agree .form02__essential {
  margin-left: 0;
}

.form02__privacy-agree-txt {
  line-height: 1.5;
  text-align: left;
}

.form02__select-wrap {
  position: relative;
}

/* 入力画面の時のみ表示 */
.mw_wp_form_input .form02__select-wrap::before {
  position: absolute;
  bottom: 35px;
  bottom: 2.1875rem;
  right: 25px;
  right: 1.5625rem;
  transform: translate(0, -50%) rotate(30deg);
  display: block;
  content: "";
  width: 10px;
  width: 0.625rem;
  height: 1px;
  border-bottom: 1px solid #000;
}

/* 入力画面の時のみ表示 */
.mw_wp_form_input .form02__select-wrap::after {
  position: absolute;
  bottom: 30px;
  bottom: 1.875rem;
  right: 25px;
  right: 1.5625rem;
  transform: translate(0, -50%) rotate(-30deg);
  display: block;
  content: "";
  width: 10px;
  width: 0.625rem;
  height: 1px;
  border-bottom: 1px solid #000;
}

.form02__selectbox {
  width: 100%;
  padding: 15px 10px;
  padding: 0.9375rem 0.625rem;
  cursor: pointer;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  border: 0.5px solid #000;
  position: relative;
}

.form02__checkbox {
  margin-top: 35px;
  margin-top: 2.1875rem;
}

@media screen and (min-width: 768px) {
  .form02__checkbox {
    margin-top: 3.125rem;
  }
}
.form02__checkbox-description {
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  padding: 10px 0;
  padding: 0.625rem 0;
  border-top: 0.5px solid #000;
  border-bottom: 0.5px solid #000;
}

@media screen and (min-width: 768px) {
  .form02__checkbox-description {
    width: 30%;
    font-size: 1.125rem;
    text-align: left;
    border-top: 0;
    border-bottom: 0;
  }
}
.form02__checkbox-list {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  padding: 0.625rem 0;
  border-bottom: 0.5px solid #000;
}

@media screen and (min-width: 768px) {
  .form02__checkbox-list {
    display: inline-block;
    width: 70%;
    text-align: center;
    padding: 2.1875rem 0;
    border-top: 0.5px solid #000;
  }
}
@media screen and (min-width: 768px) {
  .form02__checkbox-list span {
    display: block;
  }
}
.form02__checkbox-list label {
  margin-left: 30px;
  margin-left: 1.875rem;
}

@media screen and (min-width: 768px) {
  .form02__checkbox-list label {
    margin-left: 0;
  }
}
.form02__checkbox-list label:not(:first-child) {
  margin-top: 8px;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .form02__checkbox-list label:not(:first-child) {
    margin-top: 0;
    margin-left: 6.875rem;
  }
}
.form02__checkbox-list label span {
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .form02__checkbox-list label span {
    font-size: 1.125rem;
  }
}
.form02__contact-text label {
  display: block;
}

.form02__essential {
  margin-left: 15px;
  margin-left: 0.9375rem;
  font-size: 12px;
  font-size: 0.75rem;
  padding: 3px 9px;
  padding: 0.1875rem 0.5625rem;
  color: #fff;
  background-color: #d43445;
  border-radius: 0.4375rem;
  flex-shrink: 0;
}

.form02__essential-agree {
  margin-right: 20px;
  margin-right: 1.25rem;
}

.form02__privacy-policy {
  margin-top: 25px;
  margin-top: 1.5625rem;
  text-align: center;
}

.form02__privacy-policy p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .form02__privacy-policy p {
    font-size: 1.125rem;
  }
}
.form02__privacy-policy a {
  color: #388080;
  text-decoration: underline;
}

/*送信ボタン*/
.form02__btn-container {
  display: flex;
  -webkit-box-orient: vertical;
  /* -ms-flex-direction: column; */
  /* flex-direction: column; */
  align-items: center;
  margin-top: 50px;
  margin-top: 3.125rem;
  gap: 1rem;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .form02__btn-container {
    margin-top: 4.375rem;
  }
}
.form02__btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  overflow: hidden;
  display: inline-block;
  max-width: 315px;
  max-width: 19.6875rem;
  width: 100%;
  padding: 27px 10px;
  padding: 1.6875rem 0.625rem;
  background-color: #388080;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  line-height: 1;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .form02__btn {
    padding: 1.25rem 0.625rem;
    max-width: 22.5rem;
  }
}
.form02__btn-confirm::after {
  content: "送信内容を確認する";
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.form02__btn-back::after {
  content: "前の画面へ戻る";
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.form02__btn-send::after {
  content: "送信する";
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.form02__btn:hover {
  opacity: 0.8;
}

.form02__btn-send {
  margin-top: 30px;
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .form02__btn-send {
    margin-top: 2.5rem;
  }
}
.form__item-right-wrapper-gender {
  width: 100%;
}

.form__item-right-wrapper-radio-box {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .form__item-right-wrapper-radio-box {
    flex-direction: row;
  }
}
.form__item-right-wrapper-radio-box .mwform-radio-field.horizontal-item {
  width: 60px;
  width: 3.75rem;
}

.form__item-right-wrapper-radio-box .mwform-radio-field.horizontal-item label {
  width: 100%;
}

.form__item-right-wrapper-gender span .mwform-radio-field-text {
  width: 100px;
  width: 6.25rem;
}

.mw_wp_form_confirm .form02__item label:not(.form02__control-name label),
.mw_wp_form_confirm .form02__itemLabel,
.mw_wp_form_confirm .form02__contact-text label {
  line-height: 1.5;
}

.mw_wp_form_confirm .form02__control-name-left-wrapper,
.mw_wp_form_confirm .form02__control-name-right,
.mw_wp_form_confirm .form__item-right-wrapper {
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .mw_wp_form_confirm .form02__control-name-left-wrapper,
  .mw_wp_form_confirm .form02__control-name-right,
  .mw_wp_form_confirm .form__item-right-wrapper {
    margin-top: 0;
  }
}
.mw_wp_form_confirm .form02__text-name {
  margin-top: 0;
}

/* セレクトボタンの「>」を消す */
.form02__select-wrap.no-pseudo::before,
.form02__select-wrap.no-pseudo::after {
  display: none;
}

.fv {
  height: calc(100vh - 70px); /* 固定ヘッダー分の高さをマイナス */
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .fv {
    height: calc(100vh - 80px);
  }
}
.fv__copy-wrapper {
  position: absolute;
  top: 20%;
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .fv__copy-wrapper {
    top: 20%;
    max-width: 1366px;
    margin-right: 6.25rem;
  }
}
.fv__copy-inner {
  width: 100%;
  padding: 0 8%;
}

@media screen and (min-width: 768px) {
  .fv__copy-inner {
    padding: 0;
  }
}
.fv__copy-main {
  color: #fff;
  font-size: 35px;
  font-size: 2.1875rem;
  font-weight: 500;
  line-height: 1.75;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .fv__copy-main {
    font-size: 4rem;
  }
}
.fv__copy-sub {
  color: #fff;
  font-size: 11.5px;
  font-size: 0.71875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-style: italic;
  letter-spacing: 0.1em;
  text-align: right;
  text-transform: capitalize;
  margin-top: 7px;
  margin-top: 0.4375rem;
}

@media screen and (min-width: 768px) {
  .fv__copy-sub {
    font-size: 1.4375rem;
    margin-top: 0.3125rem;
  }
}
.fv__btn {
  position: relative;
  margin-top: 30px;
  margin-top: 1.875rem;
  text-align: right;
}

/* video */
.video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

.video::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.3;
}

.video video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.greeting {
  background-color: #fff;
}

.greeting__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .greeting__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
    margin: auto;
  }
}
.greeting__container {
  width: 100%;
}

@media screen and (min-width: 520px) {
  .greeting__container {
    width: 80%;
    margin: auto;
  }
}
@media screen and (min-width: 768px) {
  .greeting__container {
    width: 100%;
  }
}
.greeting__block {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .greeting__block {
    display: flex;
    justify-content: space-between;
    margin-top: 3.3125rem;
  }
}
.greeting__text-box {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .greeting__text-box {
    width: 61.06%;
    /* padding-right: 8.125rem; */
  }
}
.greeting__text-bottom {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .greeting__text-bottom {
    /* margin-top: 7rem; */
    margin-top: 11rem;
    padding-right: 5.125rem;
  }
}
.greeting__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .greeting__text {
    line-height: 1.875;
  }
}
.greeting__text:not(:first-child) {
  margin-top: 45px;
  /* margin-top: 2.8125rem; */
  margin-top: 4.8125rem;
}

.greeting__img {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 30px;
  margin-top: 1.875rem;
  width: 100vw;
}

@media screen and (min-width: 520px) {
  .greeting__img {
    margin: auto;
    max-width: 28.125rem;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__img {
    max-width: 28.125rem;
  }
}
.greeting__img::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 128.889%; /* 580/450 */
}

.greeting__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 50周年記念ページボタン */
.greeting__anniversary {
  position: relative; /* マイナスマージンで画像に重ねる際、疑似要素で配置している画像より上に配置するために指定 */
  width: 100%;
  margin: -60px auto 0;
  margin: -3.75rem auto 0;
  background: rgba(215, 230, 230, 0.9);
  transition: all 0.3s ease;
}

@media screen and (min-width: 520px) {
  .greeting__anniversary {
    margin: -2.5rem auto 0;
  }
}
@media screen and (min-width: 768px) {
  .greeting__anniversary {
    width: 100%;
    margin: 6.25rem auto 0;
    background: linear-gradient(90deg, #388080 61.41%, #d7e6e6 61.41%);
    transition: all 0.3s ease;
  }
}
/* ボタンhover後の背景色 */
@media screen and (min-width: 768px) {
  .greeting__anniversary::before {
    background: linear-gradient(90deg, #d7e6e6 61.41%, #388080 61.41%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: all 0.3s ease;
    width: 100%;
  }
}
/* ボタンhoverで元の背景色透過 */
@media screen and (min-width: 768px) {
  .greeting__anniversary:hover::before {
    opacity: 0;
  }
}
.greeting__btn-anniversary {
  display: block;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .greeting__btn-anniversary {
    position: relative;
    display: flex;
    align-items: center;
  }
}
.greeting__text-wrapper {
  text-align: center;
  padding: 15px 20px 15px 20px;
  padding: 0.9375rem 1.25rem 0.9375rem 1.25rem;
}

@media screen and (min-width: 768px) {
  .greeting__text-wrapper {
    padding: 2.8125rem 1.25rem;
    width: 61.41%;
    margin: auto;
  }
}
.greeting__first-text {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #000;
  line-height: 1.75;
}

@media screen and (min-width: 520px) {
  .greeting__first-text {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .greeting__first-text {
    font-size: 1rem;
  }
}
.greeting__second-text {
  position: relative;
  display: inline-block;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  color: #388080;
  letter-spacing: 0.14em;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

@media screen and (min-width: 520px) {
  .greeting__second-text {
    font-size: 1.5rem;
    margin-top: 1.5625rem;
  }
}
@media screen and (min-width: 768px) {
  .greeting__second-text {
    font-size: 1.875rem;
    margin-top: 2.1875rem;
  }
}
/* 下線 */
.greeting__second-text::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 105%;
  height: 1px;
  background-color: #388080;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .greeting__second-text::before {
    bottom: -8px;
    height: 1px;
  }
}
/* ホバーした時の下線 */
.greeting__anniversary:hover .greeting__second-text::before {
  background-color: #fff;
}

.greeting__arrow-line-wrapper {
  position: relative;
  width: 100%;
  height: 30px;
  height: 1.875rem;
  background-color: #388080;
}

@media screen and (min-width: 520px) {
  .greeting__arrow-line-wrapper {
    height: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line-wrapper {
    width: 38.59%;
    height: 100%;
  }
}
.greeting__arrow-line {
  display: block;
  height: 100%;
  width: 100%;
}

.greeting__arrow-line::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3px;
  width: 18px;
  width: 1.125rem;
  height: 18px;
  height: 1.125rem;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

@media screen and (min-width: 520px) {
  .greeting__arrow-line::before {
    right: 4px;
    width: 1.6875rem;
    height: 1.6875rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line::before {
    right: 10px;
    width: 3.75rem;
    height: 3.75rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
.greeting__arrow-line::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 1px;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

@media screen and (min-width: 520px) {
  .greeting__arrow-line::after {
    height: 2px;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line::after {
    width: 55.56%;
    height: 2px;
    right: 0;
  }
}
.greeting__anniversary:hover .greeting__first-text {
  color: #fff;
}

.greeting__anniversary:hover .greeting__second-text {
  color: #fff;
}

.greeting__anniversary:hover {
  background-color: rgba(56, 128, 128, 0.9);
}

.greeting__anniversary:hover .greeting__arrow-line {
  background-color: #74a6a6;
}

/* ---------------------------------------------------- */
/* メガメニュー 50周年記念ページボタン --------------------- */
@media screen and (min-width: 768px) {
  .greeting__anniversary.greeting__anniversary--header-pc {
    width: 65.2%;
    margin-top: 2.5rem;
    background: linear-gradient(90deg, #388080 83.87%, #d7e6e6 83.87%);
    transition: all 0.3s ease;
    display: inline-block;
  }
}
/* ボタンhover後の背景色 */
@media screen and (min-width: 768px) {
  .greeting__anniversary.greeting__anniversary--header-pc::before {
    background: linear-gradient(90deg, #d7e6e6 83.87%, #388080 83.87%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: all 0.3s ease;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__text-wrapper.greeting__text-wrapper--header-pc {
    padding: 0.625rem 1.25rem 1.5625rem 1.25rem;
    width: 83.87%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__first-text.greeting__first-text--header-pc {
    font-size: 0.625rem;
    color: #000;
    line-height: 1.75;
  }
}
@media screen and (min-width: 768px) {
  .greeting__second-text.greeting__second-text--header-pc {
    position: relative;
    display: inline-block;
    font-size: 1.375rem;
    font-weight: 600;
    color: #388080;
    letter-spacing: 0.14em;
    margin-top: 0.625rem;
  }
}
@media screen and (min-width: 768px) {
  .greeting__second-text.greeting__second-text--header-pc::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 105%;
    background-color: #388080;
    transition: all 0.3s ease;
    bottom: -7px;
    height: 1px;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line-wrapper.greeting__arrow-line-wrapper--header-pc {
    position: relative;
    background-color: #388080;
    width: 16.13%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line.greeting__arrow-line--header-pc::before {
    content: "";
    margin: auto;
    position: absolute;
    top: -1px;
    bottom: 0;
    transform: rotate(45deg);
    right: 31%;
    width: 2.5rem;
    height: 2.5rem;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line.greeting__arrow-line--header-pc::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    width: 57.88%;
    height: 1px;
  }
}
/* ドロワーメニュー 50周年記念ページボタン --------------------- */
/* 50周年記念ページボタン */
.greeting__anniversary.greeting__anniversary--header-sp {
  position: relative; /* マイナスマージンで画像に重ねる際、疑似要素で配置している画像より上に配置するために指定 */
  width: 100%;
  background: #d7e6e6;
  transition: all 0.3s ease;
  margin: 0;
}

.greeting__btn-anniversary.greeting__btn-anniversary--header-sp {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 30px;
  padding: 2.5rem 1.875rem;
}

.greeting__text-wrapper.greeting__text-wrapper--header-sp {
  text-align: left;
  padding: 0;
  margin-right: 34px;
  margin-right: 2.125rem;
}

.greeting__second-text.greeting__second-text--header-sp {
  position: relative;
  display: inline-block;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #000;
  margin-top: 0;
}

.greeting__anniversary.greeting__anniversary--header-sp:hover .greeting__second-text.greeting__second-text--header-sp {
  color: #000;
}

.greeting__second-text.greeting__second-text--header-sp::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -35px;
  left: auto;
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  border-top: 1px solid #388080;
  border-right: 1px solid #388080;
  transform: rotate(45deg);
  background-color: transparent;
}

.greeting__second-text.greeting__second-text--header-sp:hover::before {
  border-top: 1px solid #388080;
  border-right: 1px solid #388080;
}

.greeting__second-text.greeting__second-text--header-sp::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 1px;
  right: -37px;
  left: auto;
  bottom: 0;
  width: 15px;
  width: 0.9375rem;
  height: 1px;
  background-color: #388080;
}

.greeting__second-text.greeting__second-text--header-sp:hover::after {
  background-color: #388080;
}

/* ホバーした時の下線 （共通の指定部分のcssの指定を解除する） */
.greeting__anniversary.greeting__anniversary--header-sp:hover .greeting__second-text::before {
  background-color: transparent;
}

/* ---------------------------------------------------- */
/* フッター 50周年記念ページボタン --------------------- */
.greeting__anniversary.greeting__anniversary--footer {
  display: none;
}

@media screen and (min-width: 768px) {
  .greeting__anniversary.greeting__anniversary--footer {
    width: 100%;
    margin-top: 2.1875rem;
    background: linear-gradient(90deg, #388080 87%, #fff 87%);
    transition: all 0.3s ease;
    display: inline-block;
  }
}
/* ボタンhover後の背景色 */
@media screen and (min-width: 768px) {
  .greeting__anniversary.greeting__anniversary--footer::before {
    background: linear-gradient(90deg, #fff 87%, #388080 87%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: all 0.3s ease;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__text-wrapper.greeting__text-wrapper--footer {
    padding: 0.625rem 0.625rem 1.5625rem 0.625rem;
    width: 87%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__first-text.greeting__first-text--footer {
    font-size: 0.625rem;
    color: #000;
    line-height: 1.75;
  }
}
@media screen and (min-width: 768px) {
  .greeting__second-text.greeting__second-text--footer {
    position: relative;
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    color: #388080;
    letter-spacing: 0.1em;
    margin-top: 0.625rem;
  }
}
@media screen and (min-width: 768px) {
  .greeting__second-text.greeting__second-text--footer::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 105%;
    background-color: #388080;
    transition: all 0.3s ease;
    bottom: -7px;
    height: 1px;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line-wrapper.greeting__arrow-line-wrapper--footer {
    position: relative;
    background-color: #388080;
    width: 13%;
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line.greeting__arrow-line--footer::before {
    content: "";
    margin: auto;
    position: absolute;
    top: -1px;
    bottom: 0;
    transform: rotate(45deg);
    right: 27%;
    width: 1.5625rem;
    height: 1.5625rem;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .greeting__anniversary.greeting__anniversary--footer:hover .greeting__arrow-line.greeting__arrow-line--footer::before {
    border-top: 1px solid #388080;
    border-right: 1px solid #388080;
  }
}
@media screen and (min-width: 768px) {
  .greeting__arrow-line.greeting__arrow-line--footer::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    width: 57.88%;
    height: 1px;
  }
}
@media screen and (min-width: 768px) {
  .greeting__anniversary.greeting__anniversary--footer:hover .greeting__arrow-line.greeting__arrow-line--footer::after {
    background-color: #388080;
  }
}
.hamburger {
  position: relative;
  width: 30px;
  width: 1.875rem;
  height: 14px;
  height: 0.875rem;
  z-index: 100;
  cursor: pointer;
}

.hamburger span {
  position: absolute;
  width: inherit;
  height: 2px;
  height: 0.125rem;
  background-color: #388080;
  transition: 0.3s;
}

.hamburger span:nth-child(1) {
  top: 0%;
}

.hamburger span:nth-child(2) {
  top: 100%;
  opacity: 1;
}

.hamburger.is-active span {
  background-color: #fff;
}

.hamburger.is-active span:nth-child(1) {
  top: 60%;
  transform: rotate(45deg);
}

.hamburger.is-active span:nth-child(2) {
  top: 60%;
  transform: rotate(-45deg);
}

.header {
  height: 70px;
  background-color: #fff;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .header {
    height: 80px;
  }
}
.header__inner {
  height: inherit;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px;
  padding: 0 1.875rem;
  width: 100%;
  margin: auto;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .header__inner {
    max-width: 85.375rem;
    padding-right: 0;
    padding-left: 4.5rem;
  }
}
.header__logo {
  width: 140px;
  width: 8.75rem;
}

@media screen and (min-width: 768px) {
  .header__logo {
    width: 15rem;
  }
}
.header__logoLink img {
  width: 100%;
  max-width: 100%;
}
.header__logoLink img.red-logo {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

@media screen and (min-width: 768px) {
  .header__drawer {
    display: none;
  }
}
.header__close-area {
  position: fixed;
  z-index: 999;
  top: 70px;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  visibility: hidden;
  cursor: pointer;
}

.header__pc-nav {
  height: inherit;
  display: none;
}

@media screen and (min-width: 768px) {
  .header__pc-nav {
    display: block;
  }
}
.header__sp-nav {
  position: relative;
}

.header__logo.logo-open {
  position: absolute;
  top: 25px;
  top: 1.5625rem;
  left: 30px;
  left: 1.875rem;
  z-index: 10;
}

.history {
  padding: 50px 0 100px;
  padding: 3.125rem 0 6.25rem;
}

@media screen and (min-width: 768px) {
  .history {
    padding: 11.875rem 6.25rem;
  }
}
.history__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .history__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
    margin: auto;
  }
}
.history__container {
  width: 100%;
}

@media screen and (min-width: 520px) {
  .history__container {
    width: 80%;
    margin: auto;
  }
}
@media screen and (min-width: 768px) {
  .history__container {
    width: 100%;
  }
}
.history__wrapper {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .history__wrapper {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .history__items {
    position: relative;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
  }
}
/* 年表のライン */
@media screen and (min-width: 768px) {
  .history__items::before {
    content: "";
    position: absolute;
    top: 0;
    left: 25.73%;
    height: 100%;
    width: 1px;
    background-color: #000;
  }
}
.history__items:last-child {
  position: relative;
  border-bottom: 1px solid #000;
}

.history__items:last-child::after {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
  left: 0;
  width: 28.57%;
  border-bottom: 1px solid #388080;
}

@media screen and (min-width: 768px) {
  .history__items:last-child::after {
    border-bottom: none;
  }
}
.history__item {
  position: relative;
  border-top: 1px solid #000;
  padding: 20px 0;
  padding: 1.25rem 0;
}

@media screen and (min-width: 768px) {
  .history__item {
    border-top: 0;
    display: flex;
    align-items: flex-start;
    padding: 2.8125rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .history__item:last-child {
    padding-bottom: 2.8125rem;
  }
}
.history__period {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  color: #388080;
}

@media screen and (min-width: 768px) {
  .history__period {
    position: relative;
    width: 25.73%;
    text-align: center;
  }
}
/* 緑色の丸 */
@media screen and (min-width: 768px) {
  .history__period::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -0.46875rem;
    width: 0.9375rem;
    height: 0.9375rem;
    background-color: #388080;
    border-radius: 50%;
  }
}
/* 緑色の線 */
.history__period::after {
  content: "";
  position: absolute;
  top: -1px;
  display: block;
  left: 0;
  width: 28.57%;
  border-top: 1px solid #388080;
}

@media screen and (min-width: 768px) {
  .history__period::after {
    border-top: none;
  }
}
.history__text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .history__text {
    width: 74.27%;
    margin-top: 0;
    padding-left: 8.58%;
  }
}
.inner {
  width: 100%;
  padding-right: 30px;
  padding-left: 30px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .inner {
    max-width: 1366px;
    padding-right: 100px;
    padding-left: 100px;
  }
}
.machineInfo01 {
  padding-top: 65px;
  padding-top: 4.0625rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .machineInfo01 {
    padding-top: 5.625rem;
    padding-bottom: 4.375rem;
  }
}
.machineInfo01--bgGray {
  background-color: #f7f8f8;
}

.machineInfo01__ttl {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  color: #388080;
  line-height: 1.3333;
  letter-spacing: 0.01em;
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid #000;
  position: relative;
}

@media screen and (min-width: 768px) {
  .machineInfo01__ttl {
    font-size: 2rem;
  }
}
.machineInfo01__ttl::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  content: "";
  width: 50%;
  height: 1px;
  border-bottom: 1px solid #388080;
}

.machineInfo01__container {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .machineInfo01__container {
    flex-direction: row;
    justify-content: space-between;
    /* margin-top: 1.5625rem; */
    padding-bottom: 1.4375rem;
    border-bottom: 1px solid #000;
    align-items: flex-start;
  }
}
.machineInfo01__imgWrppr {
  display: contents;
}

@media screen and (min-width: 768px) {
  .machineInfo01__imgWrppr {
    /* display: block; */
    width: 50%;
    display: flex;
    flex-direction: column;
  }
}
.machineInfo01__imgBox {
  position: relative;
}

.machineInfo01__imgName {
  position: absolute;
  bottom: 10px;
  bottom: 0.625rem;
  left: 10px;
  left: 0.625rem;
  display: inline-block;
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .machineInfo01__imgName {
    font-size: 1.5rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }
}
.machineInfo01__imgBox--01 {
  margin-top: 0;
  order: 0;
  margin-top: 1.5625rem;
}

.machineInfo01__imgBox--02 {
  margin-top: 10px;
  margin-top: 0.625rem;
  order: 2;
}

@media screen and (min-width: 768px) {
  .machineInfo01__imgBox--02 {
    margin-top: 3.125rem;
    order: 0;
  }
}
.machineInfo01__imgBox--03 {
  margin-top: 10px;
  margin-top: 0.625rem;
  order: 4;
}

@media screen and (min-width: 768px) {
  .machineInfo01__imgBox--03 {
    margin-top: 3.125rem;
    order: 0;
  }
}
.machineInfo01__imgBox--04 {
  margin-top: 10px;
  margin-top: 0.625rem;
  /* 6を7に修正 */
  order: 6;
  /* 5を6に修正 */
}

@media screen and (min-width: 768px) {
  .machineInfo01__imgBox--04 {
    margin-top: 3.125rem;
    order: 0;
  }
}
.machineInfo01__contentsWrppr {
  display: contents;
}

@media screen and (min-width: 768px) {
  .machineInfo01__contentsWrppr {
    display: block;
    width: 45.7%;
  }
}
.machineInfo01__table02--01 {
  /* margin-top: 10px;
  margin-top: 0.625rem; */
  order: 1;
}

@media screen and (min-width: 768px) {
  .machineInfo01__table02--01 {
    order: 0;
  }
}
.machineInfo01__table02--02 {
  margin-top: 10px;
  margin-top: 0.625rem;
  order: 3;
}

@media screen and (min-width: 768px) {
  .machineInfo01__table02--02 {
    margin-top: 3rem;
    order: 0;
  }
}
.machineInfo01__table02--03 {
  margin-top: 10px;
  margin-top: 0.625rem;
  /* 7を6に修正 */
  order: 5;
  /* 6を5に修正 */
}

@media screen and (min-width: 768px) {
  .machineInfo01__table02--03 {
    margin-top: 3rem;
    order: 0;
  }
}
.machineInfo01__table02--03 {
  margin-top: 10px;
  margin-top: 0.625rem;
  order: 7;
}

@media screen and (min-width: 768px) {
  .machineInfo01__table02--03 {
    margin-top: 3rem;
    order: 0;
  }
}
.machineInfo02 {
  padding-top: 65px;
  padding-top: 4.0625rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .machineInfo02 {
    padding-top: 5.625rem;
    padding-bottom: 4.375rem;
  }
}
.machineInfo02--bgGray {
  background-color: #f7f8f8;
}

.machineInfo02__ttl {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  color: #388080;
  line-height: 1.3333;
  letter-spacing: 0.01em;
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid #000;
  position: relative;
}

@media screen and (min-width: 768px) {
  .machineInfo02__ttl {
    font-size: 2rem;
  }
}
.machineInfo02__ttl::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  content: "";
  width: 50%;
  height: 1px;
  border-bottom: 1px solid #388080;
}

.machineInfo02__container {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .machineInfo02__container {
    flex-direction: row;
    -moz-column-gap: 10.4%;
    column-gap: 10.4%;
    margin-top: 1.5625rem;
    padding-left: 6%;
    border-bottom: 1px solid #000;
  }
}
@media screen and (min-width: 768px) {
  .machineInfo02__imgWrppr {
    display: block;
    width: 23.4375vw;
    height: 23.4375vw;
  }
}
@media screen and (min-width: 768px) {
  .machineInfo02__imgWrppr02 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 23.4375vw;
    height: 23.4375vw;
  }
}
.machineInfo02__imgBox {
  position: relative;
  width: 60vw;
  height: 60vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .machineInfo02__imgBox {
    width: 100%;
    height: 100%;
  }
}
.machineInfo02__imgBox02 {
  position: relative;
  width: 100%;
  height: 60vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .machineInfo02__imgBox02 {
    width: 110%;
    height: 17.3958333333vw;
    margin-left: -5%;
    margin-right: -5%;
  }
}
.machineInfo02__imgBox02 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.machineInfo02__contentsWrppr {
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .machineInfo02__contentsWrppr {
    display: block;
    margin-top: 1.4375rem;
    margin-bottom: 4rem;
    width: 48.5%;
  }
}
.machineInfo02__txt {
  padding: 20px 0 10px;
  padding: 1.25rem 0 0.625rem;
  line-height: 2;
  letter-spacing: -0.015em;
  border-top: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .machineInfo02__txt {
    padding: 1.25rem 0 0.75rem 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .machineInfo02__txt:first-of-type {
    border-top: none;
  }
}
.machineInfo02__txt:last-of-type {
  border-bottom: 1px solid #000;
}

/* お知らせのmain */
.main.main--news-subpage {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .main.main--news-subpage {
    width: 83%;
  }
}
.main.main--toppage {
  margin-top: 70px;
  margin-top: 4.375rem;
}

@media screen and (min-width: 768px) {
  .main.main--toppage {
    margin-top: 5rem;
  }
}
/* モーダルエリア */
.modalArea {
  visibility: hidden;
  opacity: 0;
  z-index: 1000;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: 0.3s;
  width: 100vw;
  height: 100vh;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  background-color: transparent;
}

@media screen and (min-width: 768px) {
  .modalWrapper {
    width: 80%;
  }
}
.modalContents {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.modalContents a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.modalClose {
  position: relative;
  padding-top: 20px;
  padding-top: 1.25rem;
  margin-top: auto;
}

@media screen and (min-width: 768px) {
  .modalClose {
    padding-top: 1.875rem;
  }
}
.modalClose__btn {
  position: absolute;
  bottom: 0px;
  bottom: 0rem;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  transition: all 0.3s ease;
}

.modalClose__btn span {
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .modalClose__btn span {
    font-size: 1.5rem;
  }
}
.modalClose__btn:hover span {
  color: #388080;
}

.is-show {
  /* モーダル表示用クラス */
  visibility: visible;
  opacity: 1;
}

/*  個別記事 */
.individual__main {
  border-top: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .individual__main {
    width: 82%;
    margin-top: 0;
    margin-left: 18%;
  }
}
.individual__date-category {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding-top: 13px;
  padding-top: 0.8125rem;
}

@media screen and (min-width: 768px) {
  .individual__date-category {
    flex-direction: row;
    padding-top: 2.8125rem;
  }
}
.individual__date {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; /* カテゴリーの高さと合わせるため指定 */
}

.news-subpage__category-links.news-subpage__category-links--individual {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.individual__category-links {
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .individual__category-links {
    margin-top: 0;
    margin-left: 2.8125rem;
  }
}
.individual__main h1 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  color: #388080;
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .individual__main h1 {
    font-size: 2rem;
    margin-top: 2.8125rem;
  }
}
.individual__date {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.individual__body {
  margin-top: 40px;
  margin-top: 2.5rem;
  padding-top: 20px;
  padding-top: 1.25rem;
  border-top: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .individual__body {
    margin-top: 1.875rem;
    padding-top: 1.875rem;
  }
}
/* .individual__body figure {
  position: relative;
  padding-top: 56.25%;
  font-size: 0; 
@media screen and (min-width: 768px) {
  .individual__body figure {
    padding-top: 56.25%;
  }
} */
.individual__body figure:not(:first-child) {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .individual__body figure:not(:first-child) {
    margin-top: 1.875rem;
  }
}
/* .individual__body img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
} */
.individual__body h2 {
  position: relative;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  margin-top: 50px;
  margin-top: 3.125rem;
  padding: 7px 10px;
  padding: 0.4375rem 0.625rem;
  background-color: #388080;
}

@media screen and (min-width: 768px) {
  .individual__body h2 {
    font-size: 1.75rem;
    margin-top: 4.375rem;
    padding: 0.625rem 0.9375rem;
  }
}
.individual__body h3 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 40px;
  margin-top: 2.5rem;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  border-left: 8px solid #388080;
  background-color: #f7f8f8;
}

@media screen and (min-width: 768px) {
  .individual__body h3 {
    font-size: 1.375rem;
    margin-top: 3.75rem;
  }
}
.individual__body h4 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 40px;
  margin-top: 2.5rem;
  padding: 5px 10px;
  padding: 0.3125rem 0.625rem;
  border-bottom: 6px double #388080;
}

@media screen and (min-width: 768px) {
  .individual__body h4 {
    font-size: 1.25rem;
    margin-top: 3.75rem;
  }
}
.individual__body h5 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .individual__body h5 {
    font-size: 1.125rem;
    margin-top: 3.125rem;
  }
}
.individual__body h6 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .individual__body h6 {
    font-size: 1rem;
    margin-top: 3.125rem;
  }
}
.individual__body p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 1em;
}

@media screen and (min-width: 768px) {
  .individual__body p {
    font-size: 1.125rem;
  }
}
.individual__body ul {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.individual__body li {
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  padding-left: 1em;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.individual__body li:first-child {
  margin-top: 0;
}

/* リストの「・」 */
.individual__body li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 11px;
  top: 0.6875rem;
  left: 5px;
  left: 0.3125rem;
  width: 5px;
  width: 0.3125rem;
  height: 5px;
  height: 0.3125rem;
  border-radius: 100vh;
  background-color: #000;
}

/* 引用 */
.wp-block-quote {
  position: relative;
  margin: 45px 0 30px;
  margin: 2.8125rem 0 1.875rem;
  padding: 20px 20px 20px 50px;
  padding: 1.25rem 1.25rem 1.25rem 3.125rem;
  width: 100%;
  min-height: 104px;
  background-color: #f7f8f8;
}

.wp-block-quote::before {
  content: "“";
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 1;
}

.wp-block-quote p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  margin-top: 0;
}

.individual__body p a {
  display: inline-block;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #388080;
  text-decoration: underline;
  word-break: break-all;
}

.individual__body p a:hover {
  opacity: 0.7;
}

.news-mt {
  margin-top: 25vh;
}

.news-subpage {
  margin-top: 40px;
  margin-top: 2.5rem;
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
  flex: 1; /* コンテンツ量が少なく短いページでもフッターを最下部に表示する「content-wrapはheader.phpに記述」 */
}

@media screen and (min-width: 768px) {
  .news-subpage {
    margin-top: 4.375rem;
    margin-bottom: 6.25rem;
  }
}
.news-subpage__inner {
  display: flex;
  flex-direction: column-reverse;
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  padding: 0 30px;
  padding: 0 1.875rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .news-subpage__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
    flex-direction: row;
  }
}
.news-subpage__category-links {
  background-color: #f7f8f8;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 45px;
  margin-top: 2.8125rem;
  padding: 30px 30px 20px 30px;
  padding: 1.875rem 1.875rem 1.25rem 1.875rem;
}

@media screen and (min-width: 768px) {
  .news-subpage__category-links {
    background-color: transparent;
    margin: auto;
    padding: 0;
  }
}
.news-subpage__category-link {
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  color: #388080;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #388080;
  border-radius: 100vh;
  background-color: #fff;
  padding: 4px 14px;
  padding: 0.25rem 0.875rem;
  margin-right: 7px;
  margin-right: 0.4375rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .news-subpage__category-link {
    padding: 0.25rem 0.875rem;
    margin-right: 0.625rem;
    margin-bottom: 0.625rem;
  }
}
.news-subpage__category-link:hover {
  color: #fff;
  background-color: #388080;
}

@media screen and (min-width: 768px) {
  .news-subpage__list-area {
    width: 85%;
    margin-top: 0;
    margin-left: 15%;
  }
}
.news-subpage__items {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .news-subpage__items {
    margin-top: 3.125rem;
  }
}
.news-subpage__item {
  width: 100%;
  cursor: pointer;
  border-top: 0.5px solid #000;
}

.news-subpage__item:first-child {
  border-top: none;
}

@media screen and (min-width: 768px) {
  .news-subpage__item:first-child {
    border-top: 0.5px solid #000;
  }
}
.news-subpage__item:last-child {
  border-bottom: 0.5px solid #000;
}

.news-subpage__item:hover .news-subpage__date,
.news-subpage__item:hover .news-subpage__text {
  opacity: 1;
  color: #388080;
}

.news-subpage__item a {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  padding: 1.25rem 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .news-subpage__item a {
    flex-direction: row;
    align-items: flex-start;
    padding: 1.25rem 1.25rem;
  }
}
.news-subpage__date-category {
  display: flex;
  align-items: center;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .news-subpage__date-category {
    align-items: flex-start;
    max-width: 40%;
  }
}
.news-subpage__date {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .news-subpage__date {
    width: 35%;
  }
}
.news-subpage__category {
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #fff;
  padding: 2px 8px;
  padding: 0.125rem 0.5rem;
  border-radius: 0.625rem;
  background-color: #388080;
  margin-left: 15px;
  margin-left: 0.9375rem;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 表示する行数を1行に設定 */
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .news-subpage__category {
    max-width: 10rem;
    font-size: 0.75rem;
    border-radius: 0.625rem;
    padding: 0.1875rem 0.5rem;
    margin-left: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .news-subpage__category {
    font-size: 0.875rem;
    border-radius: 0.625rem;
    padding: 0.1875rem 0.5625rem;
    margin-left: 1.5625rem;
  }
}
.news-subpage__text {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 24px;
  margin-top: 1.5rem;
  transition: all 0.3s ease;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数を2行に設定 */
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .news-subpage__text {
    margin-top: 0;
    margin-top: initial;
    margin-left: 0.9375rem;
    width: 60%;
  }
}
/* 「まだ記事がありません」WPのときにphpで組み込み */
.news-subpage__none {
  text-align: center;
}

.news__inner {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .news__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .news__container {
    display: flex;
  }
}
.news__title {
  max-width: 165px;
  max-width: 10.3125rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .news__title {
    max-width: 16.9375rem;
  }
}
.news__title.news__title--sp {
  display: block;
}

@media screen and (min-width: 768px) {
  .news__title.news__title--sp {
    display: none;
  }
}
.news__title.news__title--pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .news__title.news__title--pc {
    display: block;
  }
}
.news__body {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .news__body {
    max-width: 48.75rem;
    width: 61.611%;
    margin-top: 6.5625rem;
    margin-left: auto;
    padding-right: 3.125rem;
  }
}
.news__btn {
  text-align: center;
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .news__btn {
    text-align: left;
    margin-top: 5.625rem;
  }
}
.news__items {
  width: 100%;
}

.news__item {
  width: 100%;
  cursor: pointer;
  border-top: 0.5px solid #000;
}

.news__item:last-child {
  border-bottom: 0.5px solid #000;
}

.news__item:hover .news__date,
.news__item:hover .news__text {
  opacity: 1;
  color: #388080;
}

.news__item a {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  padding: 1.25rem 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .news__item a {
    flex-direction: row;
    align-items: flex-start;
    padding: 1.25rem 1.25rem;
  }
}
.news__date-category {
  display: flex;
  align-items: center;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .news__date-category {
    align-items: flex-start;
    max-width: 45.5%;
  }
}
.news__date {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .news__date {
    width: 35%;
  }
}
.news__category {
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #fff;
  padding: 2px 8px;
  padding: 0.125rem 0.5rem;
  border-radius: 0.625rem;
  background-color: #388080;
  margin-left: 15px;
  margin-left: 0.9375rem;
  word-wrap: break-word;
  word-wrap: break-word;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 表示する行数を1行に設定 */
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .news__category {
    max-width: 10rem;
    font-size: 0.75rem;
    border-radius: 0.625rem;
    padding: 0.1875rem 0.5rem;
    margin-left: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .news__category {
    font-size: 0.875rem;
    border-radius: 0.625rem;
    padding: 0.1875rem 0.5625rem;
    margin-left: 1.5625rem;
  }
}
.news__text {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 24px;
  margin-top: 1.5rem;
  transition: all 0.3s ease;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数を2行に設定 */
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .news__text {
    margin-top: 0;
    margin-top: initial;
    margin-left: 0.9375rem;
    width: 54.5%;
  }
}
/* 「まだ記事がありません」WPのときにphpで組み込み */
.news__none {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .news__none {
    font-size: 1.125rem;
  }
}
.next-generation {
  padding-bottom: 70px;
  padding-bottom: 4.375rem;
}

@media screen and (min-width: 768px) {
  .next-generation {
    padding-bottom: 6.25rem;
  }
}
.next-generation__inner {
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .next-generation__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
  }
}
.next-generation__container {
  margin-top: 35px;
  margin-top: 2.1875rem;
}

@media screen and (min-width: 768px) {
  .next-generation__container {
    margin-top: 2.1875rem;
  }
}
@media screen and (min-width: 1440px) {
  .next-generation__text-wrapper {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
  }
}
.next-generation__text-box {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .next-generation__text-box {
    margin-top: 0;
  }
}
@media screen and (min-width: 1440px) {
  .next-generation__text-box {
    width: 45.71%;
  }
}
.next-generation__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.next-generation__text-mt {
  margin-top: 30px;
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .next-generation__text-mt {
    margin-top: 1.875rem;
  }
}
.next-generation__img {
  position: relative;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

@media screen and (min-width: 600px) {
  .next-generation__img {
    max-width: 37.5rem;
    margin: 0 auto;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .next-generation__img {
    max-width: none;
    width: 45.71%;
    margin-left: 8.58%;
    margin-bottom: 1.875rem;
    float: right;
  }
}
.next-generation__img::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75.0469%; /* H / W  */
}

.next-generation__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 404 */
.not-found {
  margin: 80px 0;
  margin: 5rem 0;
}

@media screen and (min-width: 768px) {
  .not-found {
    margin: 9.375rem 0;
  }
}
.not-found__container {
  max-width: 900px;
  max-width: 56.25rem;
  width: 100%;
  margin: 0 auto;
}

.not-found__message {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
  text-transform: capitalize;
}

@media screen and (min-width: 768px) {
  .not-found__message {
    font-size: 1.5rem;
  }
}
.not-found__message + .not-found__message {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .not-found__message + .not-found__message {
    margin-top: 2.5rem;
  }
}
.not-found__btn {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .not-found__btn {
    margin-top: 4.0625rem;
  }
}
.original__inner {
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .original__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
  }
}
.original__container {
  margin-top: 35px;
  margin-top: 2.1875rem;
}

@media screen and (min-width: 768px) {
  .original__container {
    margin-top: 2.1875rem;
  }
}
.original__text-wrapper {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .original__text-wrapper {
    margin-top: 3.4375rem;
  }
}
.original__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.overview {
  background-color: #f7f8f8;
  margin-top: -15px;
  margin-top: -0.9375rem;
  padding: 115px 0 50px;
  padding: 7.1875rem 0 3.125rem;
}

@media screen and (min-width: 768px) {
  .overview {
    margin-top: 6.25rem;
    padding: 6.25rem 0;
  }
}
.overview__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .overview__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
    margin: auto;
  }
}
.overview__container {
  width: 100%;
}

@media screen and (min-width: 520px) {
  .overview__container {
    width: 80%;
    margin: auto;
  }
}
@media screen and (min-width: 768px) {
  .overview__container {
    width: 100%;
  }
}
.overview__table {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.overview__table-parent {
  position: relative;
  border-top: 1px solid #000;
  padding: 20px 0;
  padding: 1.25rem 0;
}

@media screen and (min-width: 768px) {
  .overview__table-parent {
    position: relative;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #000;
    padding: 0.9375rem 0;
  }
}
@media screen and (min-width: 768px) {
  .overview__table-parent::after {
    content: "";
    position: absolute;
    top: -1px;
    display: block;
    left: 0;
    width: 25.73%;
    border-top: 2px solid #388080;
  }
}
.overview__table-parent:last-child {
  position: relative;
  border-bottom: 1px solid #000;
}

.overview__table-parent:last-child::after {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
  left: 0;
  width: 28.57%;
  border-bottom: 1px solid #388080;
}

@media screen and (min-width: 768px) {
  .overview__table-parent:last-child::after {
    content: "";
    position: absolute;
    bottom: -1px;
    display: block;
    left: 0;
    width: 25.73%;
  }
}
@media screen and (min-width: 768px) {
  .overview__text-wrapper {
    width: 61.41%;
  }
}
@media screen and (min-width: 768px) {
  .overview__table-children {
    display: flex;
  }
}
.overview__table-dt {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .overview__table-dt {
    width: 41.9%;
    text-align: center;
  }
}
.overview__table-dt::after {
  content: "";
  position: absolute;
  top: -1px;
  display: block;
  left: 0;
  width: 28.57%;
  border-top: 1px solid #388080;
}

@media screen and (min-width: 768px) {
  .overview__table-dt::after {
    border-top: none;
  }
}
.overview__table-dd-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .overview__table-dd-text {
    width: 58.1%;
    margin-top: 0;
    padding-left: 8.58%;
  }
}
.overview__img-wrapper {
  position: relative;
  margin-top: 10px;
  margin-top: 0.625rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

@media screen and (min-width: 520px) {
  .overview__img-wrapper {
    margin: auto;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .overview__img-wrapper {
    width: 36.02%;
    margin-right: 2.57%;
    margin-top: 0;
  }
}
.overview__img-wrapper.overview__img-wrapper-empty {
  display: none;
}

.overview__img-inner::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 53.33%; /* 200/375 */
}

.overview__img-inner img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 固定ページテンプレート共通部分 --------------------------------------------------------------------*/
/*プライバシーポリシーなど*/
.page-contents {
  max-width: 900px;
  max-width: 56.25rem;
  margin: 50px auto;
  margin: 3.125rem auto;
}

@media screen and (min-width: 768px) {
  .page-contents {
    margin: 5rem auto;
  }
}
.page-contents h2 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 30px;
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .page-contents h2 {
    font-size: 1.625rem;
    margin-top: 3.125rem;
  }
}
.page-contents p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .page-contents p {
    font-size: 1.125rem;
  }
}
.page-contents ul {
  margin-top: 10px;
  margin-top: 0.625rem;
  list-style-type: disc;
}

@media screen and (min-width: 768px) {
  .page-contents ul {
    margin-top: 0.9375rem;
  }
}
.page-contents ul li {
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 15px;
  padding-left: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .page-contents ul li {
    font-size: 1.125rem;
    padding-left: 1.25rem;
  }
}
.page-contents ul li::before {
  content: "";
  position: absolute;
  display: inline-block;
  border-radius: 100vh;
  background-color: #000;
  top: 10px;
  top: 0.625rem;
  left: 0.3em;
  width: 0.3em;
  height: 0.3em;
}

@media screen and (min-width: 768px) {
  .page-contents ul li::before {
    top: 0.6875rem;
    left: 0.35em;
    width: 0.35em;
    height: 0.35em;
  }
}
.page-contents a {
  color: #388080;
  text-decoration: underline;
}

/* ページヘッダー画像 */
.page-header {
  text-align: center;
  position: relative;
  width: 100%;
  height: 250px;
  height: 15.625rem;
  margin-top: 70px;
}

@media screen and (min-width: 768px) {
  .page-header {
    height: 25rem;
    margin-top: 80px;
  }
}
.page-header__img {
  position: relative;
  width: 100%;
  height: 100%;
}

.page-header__img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.9) 100%); /* 不透明度95％だが少し暗すぎる印象 */
}

.page-header__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ページヘッダー画像 */
.page-header {
  text-align: center;
  position: relative;
  width: 100%;
  height: 350px;
  height: 21.875rem;
}

@media screen and (min-width: 768px) {
  .page-header {
    height: 28.125rem;
  }
}
.page-header__img {
  width: inherit;
  height: inherit;
}

.page-header__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.9" /><feFuncG type="linear" slope="0.9" /><feFuncB type="linear" slope="0.9" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(90%);
}

/* 404ページのページヘッダー */
.sub-mv.no-image {
  background-color: #388080;
}

.pagetop-btn {
  position: fixed;
  background-color: #388080;
  width: 38px;
  width: 2.375rem;
  height: 38px;
  height: 2.375rem;
  bottom: 70px;
  bottom: 4.375rem;
  right: 10px;
  right: 0.625rem;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .pagetop-btn {
    width: 3.125rem;
    height: 3.125rem;
    bottom: 4.375rem;
    right: 1.25rem;
  }
}
.pagetop-btn a {
  display: block;
}

.pagetop-btn:hover {
  background-color: #74a6a6;
}

.pagetop-btn a img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  max-width: 27px;
  max-width: 1.6875rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .pagetop-btn a img {
    max-width: 2rem;
  }
}
.pagination-container {
  margin-top: 60px;
  margin-top: 3.75rem;
}

@media screen and (min-width: 768px) {
  .pagination-container {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .pagination-container-sp {
    display: none;
  }
}
.pagination-container-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .pagination-container-pc {
    display: block;
  }
}
.pagination,
.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.01em;
  background-color: #fff;
  border: 1px solid #388080;
  padding: 6px 10px;
  padding: 0.375rem 0.625rem;
  margin: 0 5px;
  margin: 0 0.3125rem;
  transition: ease 0.3s;
}

@media screen and (min-width: 768px) {
  .page-numbers {
    font-size: 1rem;
    padding: 0.75rem 0.9375rem;
    margin: 0 0.625rem;
  }
}
.page-numbers.current {
  /* 現在表示されているページ */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #fff;
  border: 1px solid #388080;
  background-color: #388080;
  padding: 6px 10px;
  padding: 0.375rem 0.625rem;
  margin: 0 5px;
  margin: 0 0.3125rem;
}

@media screen and (min-width: 768px) {
  .page-numbers.current {
    font-size: 1rem;
    padding: 0.75rem 0.9375rem;
    margin: 0 0.4375rem;
  }
}
@media screen and (min-width: 1024px) {
  .page-numbers.current {
    margin: 0 0.625rem;
  }
}
.page-numbers.dots {
  min-width: 0;
  padding: 0;
  border: none;
}

.page-numbers:not(.current):not(.dots):hover {
  background-color: #74a6a6;
  color: #fff;
}

/* 『最新の記事』 */
.prev.page-numbers {
  margin-right: 5px;
  margin-right: 0.3125rem;
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .prev.page-numbers {
    margin-right: 0.4375rem;
  }
}
@media screen and (min-width: 1024px) {
  .prev.page-numbers {
    margin-right: 0.625rem;
  }
}
/* 『過去の記事』 */
.next.page-numbers {
  margin-left: 5px;
  margin-left: 0.3125rem;
  margin-right: 0;
}

@media screen and (min-width: 768px) {
  .next.page-numbers {
    margin-left: 0.4375rem;
  }
}
@media screen and (min-width: 1024px) {
  .next.page-numbers {
    margin-left: 0.625rem;
  }
}
.nav-links .prev,
.nav-links .next {
  text-transform: capitalize; /* 先頭文字を大文字にする */
}

.party {
  padding: 0 0 55px;
  padding: 0 0 3.4375rem;
}

@media screen and (min-width: 768px) {
  .party {
    padding: 0 0 12.5rem;
  }
}
.party__inner {
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .party__inner {
    max-width: 85.375rem;
    padding: 0 6.25rem;
  }
}
.party__container {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .party__container.party__container--sp {
    display: none;
  }
}
.party__container.party__container--pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .party__container.party__container--pc {
    display: block;
  }
}
.party__img-wrapper-venue {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .party__img-wrapper-venue {
    margin-top: 3.125rem;
  }
}
.party__img-wrapper-speech {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .party__img-wrapper-speech {
    margin-top: 3.125rem;
    margin-bottom: 1.875rem;
  }
}
/* 画像位置指定の共通設定 */
.party__img {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

@media screen and (min-width: 600px) {
  .party__img {
    max-width: 37.5rem;
    margin: auto;
    width: 100%;
  }
}
.party__img-50th {
  position: relative;
}

.party__img-50th::before {
  content: "";
  display: block;
  padding-top: 75.05%; /* H / W  */
}

.party__img-50th img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.party__img-venue {
  position: relative;
}

.party__img-venue::before {
  content: "";
  display: block;
  padding-top: 75.05%; /* H / W  */
}

.party__img-venue img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.party__img-speech {
  position: relative;
}

.party__img-speech::before {
  content: "";
  display: block;
  padding-top: 128.52%; /* H / W  */
}

.party__img-speech img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.party__img-caption {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .party__img-caption {
    font-size: 1rem;
    text-align: center;
  }
}
.party__text-wrapper {
  margin-top: 70px;
  margin-top: 4.375rem;
}

@media screen and (min-width: 768px) {
  .party__text-wrapper {
    margin-top: 0;
  }
}
.party__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

.party__img-parts-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 3.125rem calc(50% - 50vw) 0;
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .party__img-parts-wrapper {
    margin: auto;
    width: 100%;
  }
}
.party__img-parts {
  position: relative;
  width: calc(33.33333% - 0.20833rem);
}

@media screen and (min-width: 768px) {
  .party__img-parts {
    width: calc(33.33333% - 2.08333rem);
  }
}
.party__img-parts::before {
  content: "";
  display: block;
  padding-top: 72.13%; /* H / W  */
}

.party__img-parts img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.party__img-parts + .party__img-parts {
  margin-left: 5px;
  margin-left: 0.3125rem;
}

@media screen and (min-width: 768px) {
  .party__img-parts + .party__img-parts {
    margin-left: 3.125rem;
  }
}
/* 画像が4枚以上になった時の指定 */
.party__img-parts:nth-child(3n+1) {
  margin-left: 0;
}

.party__img-parts:nth-child(n+4) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .party__img-parts:nth-child(n+4) {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .party__wrapper-01 {
    display: inline-block;
    width: 45.71%;
  }
}
@media screen and (min-width: 768px) {
  .party__wrapper-02 {
    display: inline-block;
    width: 45.71%;
    margin-left: 8.58%;
    float: right;
  }
}
@media screen and (min-width: 768px) {
  .party__wrapper-03 {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .party__wrapper-04 {
    margin-top: 2.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .pc-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    height: inherit;
  }
}
@media screen and (min-width: 768px) {
  .pc-nav__items {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: inherit;
  }
}
@media screen and (min-width: 768px) {
  .pc-nav__item,
  .pc-nav__item a {
    height: inherit;
  }
}
@media screen and (min-width: 768px) {
  .pc-nav__item > a {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    line-height: 1;
    width: 100%;
    padding: 0 1.375rem 0 1.375rem; /* メニューとロゴのボトムを合わせるためrem(14)を指定 */
    color: #000;
    transition: all 0.3s ease;
  }
}
.pc-nav__item.pc-nav__item--parent .pc-nav__item-text {
  pointer-events: none;
}

.pc-nav__item:hover > a {
  color: #388080;
}

/* 現在表示されているページのメニューのフォントの色を変更する */
.pc-nav__item > a.current {
  color: #388080;
}

/* 現在表示されているページのメニューのフォントの色を変更する（お問い合わせ） */
.pc-nav__item.pc-nav__item--green > a.current {
  color: #388080;
  background-color: #d7e6e6;
}

.pc-nav__instagram {
  display: flex;
  align-items: center;
  padding-inline: 2rem;
}
.pc-nav__instagram-link {
  display: block;
  transition: opacity 0.2s ease;
}
.pc-nav__instagram-link:hover {
  opacity: 0.5;
}
.pc-nav__instagram-icon {
  width: 50px;
  height: 50px;
  display: block;
  object-fit: contain;
}

.pc-nav__items-children-wrapper {
  display: none;
  position: absolute;
  top: 80px;
  right: 0;
  padding-top: 20px;
  padding-top: 1.25rem;
  z-index: 100;
}

.pc-nav__items-children-wrapper::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  pointer-events: none;
}

.pc-nav__items-children-inner {
  padding: 30px;
  padding: 1.875rem;
  background-color: #fff;
  position: relative;
  z-index: 1000;
}

.pc-nav__items-children-title.pc-nav__items-children-title--facilities {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
}

.pc-nav__items-children-title.pc-nav__items-children-title--products {
  max-width: 232px;
  max-width: 14.5rem;
  width: 100%;
}

.pc-nav__items-children-title.pc-nav__items-children-title--company {
  max-width: 240px;
  max-width: 15rem;
  width: 100%;
}

.pc-nav__items-children-title.pc-nav__items-children-title--recruit {
  max-width: 189px;
  max-width: 11.8125rem;
  width: 100%;
}

.pc-nav__items-children-title-ja {
  position: relative; /* 矢印用 */
  display: flex;
  align-items: end;
  margin-top: 30px;
  margin-top: 1.875rem;
  display: inline-block;
  cursor: pointer;
}

.pc-nav__items-children-title-ja a {
  font-size: 24px;
  font-size: 1.5rem;
  color: #388080;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
}

.pc-nav__items-children-title-ja:hover a {
  color: #000;
}

.pc-nav__items-children {
  display: flex;
  flex-wrap: wrap;
  width: 850px;
  width: 53.125rem;
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: left;
}

.pc-nav__items-children li {
  width: calc(33.33333% - 1.66667rem);
  border-bottom: 1px solid #000;
  cursor: pointer;
}

.pc-nav__items-children li::after {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
  left: 0;
  width: 60%;
  border-bottom: 1px solid #388080;
}

.pc-nav__items-children li:nth-child(n+2) {
  /*2番目以降*/
  margin-left: 40px;
  margin-left: 2.5rem;
}

.pc-nav__items-children li:nth-child(3n+1) {
  /* 1,4,7,… */
  margin-left: 0;
}

.pc-nav__items-children li:nth-child(n+4) {
  /*前から4番目以降*/
  margin-top: 20px;
  margin-top: 1.25rem;
}

.pc-nav__items-children li:hover a {
  color: #388080;
}

.pc-nav__items-children li a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: end;
  width: 100%;
  height: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.5;
  padding: 5px 0;
  padding: 0.3125rem 0;
  transition: all 0.3s ease;
}

.pc-nav__item-text {
  width: 87%;
  display: inline-block;
}

.pc-nav__arrow-line {
  position: relative;
  width: 13%;
  display: inline-block;
}

.pc-nav__arrow-line::before {
  content: "";
  margin: auto;
  position: absolute;
  bottom: 6.5px;
  right: 4px;
  width: 12px;
  height: 12px;
  border-top: 1px solid #388080;
  border-right: 1px solid #388080;
  transform: rotate(45deg);
}

.pc-nav__arrow-line::after {
  content: "";
  margin: auto;
  position: absolute;
  bottom: 12px;
  right: 2px;
  width: 16px;
  height: 1px;
  background-color: #388080;
}

.pc-nav__arrow-line.pc-nav__arrow-line--white {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: #388080;
  border: 1px solid #388080;
  margin-left: 30px;
  margin-left: 1.875rem;
}

.pc-nav__arrow-line.pc-nav__arrow-line--white::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 7px;
  right: 3px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: all 0.3s ease;
}

.pc-nav__arrow-line.pc-nav__arrow-line--white::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 50%;
  bottom: auto;
  bottom: initial;
  transform: translateY(-50%);
  right: 2px;
  width: 15px;
  height: 1px;
  background-color: #fff;
  transition: all 0.3s ease;
}

.pc-nav__items-children-title-ja:hover .pc-nav__arrow-line.pc-nav__arrow-line--white {
  background-color: #fff;
}

.pc-nav__items-children-title-ja:hover .pc-nav__arrow-line.pc-nav__arrow-line--white::before {
  border-top: 1px solid #388080;
  border-right: 1px solid #388080;
}

.pc-nav__items-children-title-ja:hover .pc-nav__arrow-line.pc-nav__arrow-line--white::after {
  background-color: #388080;
}

/* お問い合わせ */
@media screen and (min-width: 768px) {
  .pc-nav__item--green a {
    width: auto;
    padding: 0.875rem 1.375rem 0 1.375rem; /* メニューとロゴのボトムを合わせるためrem(14)を指定 */
    background-color: #388080;
    color: #fff;
    transition: all 0.3s ease;
  }
}
@media screen and (min-width: 768px) {
  .pc-nav__item--green:hover a {
    color: #fff;
    opacity: 0.8;
  }
}
.postLinks-sp {
  display: block;
  margin: 100px auto 0;
  margin: 6.25rem auto 0;
  max-width: 375px;
  max-width: 23.4375rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .postLinks-sp {
    display: none;
  }
}
.postLinks-sp .postLinks__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.postLinks-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .postLinks-pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .postLinks-pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 9.375rem;
  }
}
.postLink-next a,
.postLink-prev a {
  /*矢印と下線の基点とするためrelativeを指定*/
  position: relative;
  /*形状*/
  display: inline-block;
  color: #388080;
  text-decoration: none;
  outline: none;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  transition: ease 0.3s;
  text-transform: capitalize;
}

@media screen and (min-width: 768px) {
  .postLink-next a,
  .postLink-prev a {
    font-size: 1.125rem;
  }
}
.postLink-next a {
  padding-left: 25px;
  padding-left: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .postLink-next a {
    margin-left: -1.875rem;
  }
}
.postLink-prev a {
  padding-right: 25px;
  padding-right: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .postLink-prev a {
    margin-right: -1.875rem;
  }
}
.postLink-next a::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 7px;
  height: 7px;
  border-right: 1px solid #388080;
  border-bottom: 1px solid #388080;
  transform: rotate(135deg);
  transition: ease 0.3s;
}

.postLink-prev a::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 7px;
  height: 7px;
  border-right: 1px solid #388080;
  border-bottom: 1px solid #388080;
  transform: rotate(-45deg);
  transition: ease 0.3s;
}

.postLink-next a:hover,
.postLink-prev a:hover {
  color: #74a6a6;
}

.postLink__btn {
  width: 100%;
  background-color: #388080;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .postLink__btn {
    max-width: 9.375rem;
  }
}
.postLink__btn:hover {
  background-color: #74a6a6;
}

.postLink__btn a {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  padding: 17px 10px;
  padding: 1.0625rem 0.625rem;
}

@media screen and (min-width: 768px) {
  .postLink__btn a {
    padding: 0.5625rem 0.625rem;
  }
}
.products__inner {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .products__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 6.25rem;
  }
}
.products__title {
  max-width: 268px;
  max-width: 16.75rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .products__title {
    max-width: 27.125rem;
  }
}
.products__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  margin-top: 40px;
  margin-top: 2.5rem;
}

.products__swiper {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .products__swiper {
    margin-top: 2.8125rem;
  }
}
.swiper-tab02__wrapper {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .swiper-tab02__wrapper {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .swiper-tab02__slide:first-of-type {
    padding-right: 0.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .swiper-tab02__slide:not(:first-of-type),
  .swiper-tab02__slide:not(:last-of-type) {
    padding-left: 0.3125rem;
    padding-right: 0.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .swiper-tab02__slide:last-of-type {
    padding-left: 0.3125rem;
  }
}
.swiper-tab02__slide span {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #000;
  text-align: center;
  padding: 17px 0;
  padding: 1.0625rem 0;
  border: 0.5px solid #000;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .swiper-tab02__slide span {
    font-size: 1.5rem;
    padding: 1.75rem 0;
  }
}
.swiper-tab02__slide.swiper-slide-thumb-active span {
  background-color: #388080;
  border: 0.5px solid #388080;
  color: #fff;
}

.swiper-tab02__slide span:hover {
  background-color: #388080;
  border: 0.5px solid #388080;
  color: #fff;
}

.swiper-tab02__slide:not(:first-of-type) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .swiper-tab02__slide:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .swiper-tab02__slide:first-of-type,
  .swiper-tab02__slide:nth-of-type(2) {
    width: 50%;
  }
  .swiper-tab02__slide:nth-of-type(n + 3) {
    margin-top: 1.875rem;
    width: 33.33%;
  }
}
.swiper-content02 {
  height: calc(60vw + 2.8125rem);
  margin-top: 30px;
  margin-top: 1.875rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .swiper-content02 {
    height: calc(31.25vw + 4.375rem);
    margin-top: 6.25rem;
  }
}
.swiper-content02__wrapper {
  height: 60vw;
}

@media screen and (min-width: 768px) {
  .swiper-content02__wrapper {
    height: 31.25vw;
  }
}
.swiper-content02__slide {
  height: 100%;
  position: relative;
}

.swiper-content02__card {
  height: 100%;
  padding-left: 4vw;
  padding-right: 4vw;
}

.swiper-content02__link {
  display: block;
  height: 100%;
  position: relative;
}

.swiper-content02__link img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  cursor: pointer;
  transition: all 0.3s ease;
}

.swiper-content02__link:hover img {
  transform: scale(1.05);
  opacity: 0.8;
}

.swiper-content02__txtbox {
  position: absolute;
  bottom: 3.9215%;
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .swiper-content02__txtbox {
    bottom: 4.4444%;
    left: 50%;
    padding: 0;
  }
}
.swiper-content02__ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 4.2666666667vw;
  line-height: 1.8;
  color: #000;
}

@media screen and (min-width: 768px) {
  .swiper-content02__ttl {
    font-size: 2.0833333333vw;
  }
}
.swiper-content02__slide.swiper-slide-active .swiper-content02__ttl {
  color: #388080;
}

.swiper-button-prev,
.swiper-button-next {
  display: block;
  width: 70.7px;
  width: 4.41875rem;
  height: 70.7px;
  height: 4.41875rem;
  border: 0;
}

@media screen and (min-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 11.0479166667vw;
    height: 11.0479166667vw;
  }
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev {
  position: absolute;
  top: calc(50% - 1.40625rem);
  left: 15px;
  left: 0.9375rem;
  right: auto;
  bottom: auto;
  transform: translate(22%, -50%) rotate(-45deg);
  border-top: 2px solid #388080;
  border-left: 2px solid #388080;
  margin-top: 0;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .swiper-button-prev {
    top: calc(50% - 2.1875rem);
    left: 15.625vw;
    border-top: 3px solid #388080;
    border-left: 3px solid #388080;
  }
}
.swiper-button-prev:hover {
  left: 5px;
  left: 0.3125rem;
  border-top: 2px solid #5bc5c1;
  border-left: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .swiper-button-prev:hover {
    left: 13.0208333333vw;
    border-top: 3px solid #5bc5c1;
    border-left: 3px solid #5bc5c1;
  }
}
.swiper-button-next {
  position: absolute;
  top: calc(50% - 1.40625rem);
  right: 15px;
  right: 0.9375rem;
  left: auto;
  bottom: auto;
  transform: translate(-22%, -50%) rotate(-45deg);
  border-bottom: 2px solid #388080;
  border-right: 2px solid #388080;
  margin-top: 0;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .swiper-button-next {
    top: calc(50% - 2.1875rem);
    right: 15.625vw;
    border-bottom: 3px solid #388080;
    border-right: 3px solid #388080;
  }
}
.swiper-button-next:hover {
  right: 5px;
  right: 0.3125rem;
  border-bottom: 2px solid #5bc5c1;
  border-right: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .swiper-button-next:hover {
    right: 13.0208333333vw;
    border-bottom: 3px solid #5bc5c1;
    border-right: 3px solid #5bc5c1;
  }
}
.swiper-button-prev:after,
.swiper-button-next:after {
  content: "";
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
  width: 100%;
  padding-right: 30px;
  padding-left: 30px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: calc(100% - 200px);
    left: 50%;
    transform: translate(-50%, 0);
    padding: 0;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: 1166px;
  }
}
.swiper-pagination-bullet {
  border-radius: inherit;
  margin: 0 !important;
  width: 20%;
  height: 5px;
  height: 0.3125rem;
  background: #9fa0a0;
  opacity: 0.19;
}

.swiper-pagination-bullet-active {
  background-color: #388080;
  opacity: 1;
}

.products__btn {
  width: 100%;
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .products__btn {
    text-align: right;
  }
}
.recruit-banner {
  background-color: #f7f8f8;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .recruit-banner {
    background-color: #ebf2f2;
    padding-bottom: 0;
  }
}
.recruit-banner__inner {
  padding: 0 30px;
  padding: 0 1.875rem;
}

@media screen and (min-width: 768px) {
  .recruit-banner__inner {
    max-width: 85.375rem;
    padding: 0;
    margin: auto;
  }
}
.recruit-banner__container {
  width: 100%;
  margin: auto;
}

.recruit-banner__item {
  position: relative;
  transition: all 0.3s ease;
  overflow: hidden;
}

.recruit-banner__item .recruit-banner__img {
  transition: all 0.3s ease;
}

.recruit-banner__item:hover .recruit-banner__img {
  transform: scale(1.1);
}

.recruit-banner__item a {
  display: block;
  width: 100%;
}

.recruit-banner__imgBox {
  width: 100%;
}

.recruit-banner__img {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .recruit-banner__list {
    display: flex;
    width: 100%;
    margin: auto;
  }
}
@media screen and (min-width: 768px) {
  .recruit-banner__item {
    width: 33.3333333333%;
  }
}
.recruit-banner__item + .recruit-banner__item {
  margin-top: 12px;
  margin-top: 0.75rem;
}

@media screen and (min-width: 768px) {
  .recruit-banner__item + .recruit-banner__item {
    margin-top: 0;
    margin-top: initial;
  }
}
.recruit-banner__img {
  position: relative;
  width: 100%;
  background-color: rgba(56, 128, 128, 0.8);
}

.recruit-banner__img::before {
  content: "";
  display: block;
  padding-top: 53.3333333333%; /* SPの縦横比 */
}

@media screen and (min-width: 768px) {
  .recruit-banner__img::before {
    padding-top: 99.9268008731%; /* PCの縦横比 */
  }
}
.recruit-banner__img picture,
.recruit-banner__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.recruit-banner__img img {
  -o-object-fit: cover;
  object-fit: cover;
}

.recruit-banner__title {
  position: absolute;
  top: 26%;
  left: 8%;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .recruit-banner__title {
    top: 38%;
    left: 7%;
  }
}
.recruit-banner__title.recruit-banner__title--recruit {
  width: 41.5570666667vw;
  height: 11.6406133333vw;
}

@media screen and (min-width: 768px) {
  .recruit-banner__title.recruit-banner__title--recruit {
    width: 17.1126647145vw;
    height: 2.1304245974vw;
    max-width: 14.6099375rem;
    max-height: 1.81885rem;
  }
}
.recruit-banner__title.recruit-banner__title--company {
  width: 53.4738666667vw;
  height: 10.0104266667vw;
}

@media screen and (min-width: 768px) {
  .recruit-banner__title.recruit-banner__title--company {
    width: 22.0198389458vw;
    height: 4.1221522694vw;
    max-width: 18.7994375rem;
    max-height: 3.5192875rem;
  }
}
.recruit-banner__title.recruit-banner__title--anniv {
  width: 64.7914666667vw;
  height: 7.89584vw;
}

@media screen and (min-width: 768px) {
  .recruit-banner__title.recruit-banner__title--anniv {
    width: 23.5660322108vw;
    height: 2.8710102489vw;
    max-width: 20.1195rem;
    max-height: 2.451125rem;
  }
}
.recruit-banner__title img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.recruit-banner__title span {
  color: #fff;
  display: inline-block;
  font-size: 19px;
  font-size: 1.1875rem;
  margin-top: 19px;
  margin-top: 1.1875rem;
}

@media screen and (min-width: 768px) {
  .recruit-banner__title span {
    font-size: 1.5rem;
    margin-top: 3.4375rem;
  }
}
.recruit-banner__overlay {
  background-color: rgba(56, 128, 128, 0.8);
  mix-blend-mode: multiply; /* 乗算ブレンドモードを指定 */
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: all 0.3s ease;
}

.recruit-banner__item:hover .recruit-banner__overlay {
  background-color: #388080;
  mix-blend-mode: multiply; /* 乗算ブレンドモードを指定 */
}

.recruit-banner__arrow {
  position: absolute;
  bottom: 13%;
  right: 8%;
}

@media screen and (min-width: 768px) {
  .recruit-banner__arrow {
    bottom: 14%;
    right: 11%;
  }
}
.recruit-banner__arrow span {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: relative;
  width: 157px;
  width: 9.8125rem;
  height: 1px;
  background-color: #fff;
}

.recruit-banner__arrow span::before {
  content: "";
  width: 34px;
  width: 2.125rem;
  height: 34px;
  height: 2.125rem;
  border: 1px solid #fff;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: 0;
  box-sizing: border-box;
}

.recruit-entry {
  padding: 100px 0 50px;
  padding: 6.25rem 0 3.125rem;
  background-color: #f7f8f8;
}

@media screen and (min-width: 768px) {
  .recruit-entry {
    padding: 8.4375rem 0 3.125rem;
  }
}
.recruit-entry__inner {
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
}

@media screen and (min-width: 768px) {
  .recruit-entry__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 6.25rem;
    margin: auto;
  }
}
.recruit-entry__title img {
  max-width: 155.035px;
  max-width: 9.6896875rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .recruit-entry__title img {
    max-width: 15.856rem;
  }
}
.recruit-entry__message {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.035em;
}

@media screen and (min-width: 768px) {
  .recruit-entry__message {
    margin-top: 2.875rem;
  }
}
.recruit-entry__tel-wrapper {
  margin-top: 43px;
  margin-top: 2.6875rem;
}

@media screen and (min-width: 768px) {
  .recruit-entry__tel-wrapper {
    margin-top: 2.1875rem;
  }
}
.recruit-entry__tel-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 315px;
  max-width: 19.6875rem;
  background-color: #388080;
  padding: 22.5px 0;
  padding: 1.40625rem 0;
}

@media screen and (min-width: 768px) {
  .recruit-entry__tel-inner {
    max-width: 28.75rem;
  }
}
.recruit-entry__tel-inner img {
  max-width: 27px;
  max-width: 1.6875rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .recruit-entry__tel-inner img {
    max-width: 3.0625rem;
  }
}
.recruit-entry__tel {
  font-size: 24px;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  margin-left: 12px;
  margin-left: 0.75rem;
}

@media screen and (min-width: 768px) {
  .recruit-entry__tel {
    font-size: 2.75rem;
    margin-left: 2rem;
  }
}
.recruit-entry__container {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .recruit-entry__container {
    margin-top: 3.125rem;
  }
}
.recruit-entry__txt {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  padding: 0 18px 0 18px;
  padding: 0 1.125rem 0 1.125rem;
}

@media screen and (min-width: 768px) {
  .recruit-entry__txt {
    text-align: center;
  }
}
.recruit-entry__formContainer {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.recruit-form__block {
  padding-top: 20px;
  padding-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__block {
    background: #fff;
    padding: 0 2.1875rem 0 2.8125rem;
    display: grid;
    max-width: 65.625rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.recruit-form__block:not(.is-start) {
  align-items: center;
}

.recruit-form__block:not(.is-start) .recruit-form__required {
  align-self: center;
}

@media screen and (min-width: 768px) {
  .recruit-form__block.is-start .recruit-form__label {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__block.is-start .recruit-form__required {
    align-self: flex-start;
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__block:not(.recruit-form__block-privacy) {
    grid-template-columns: 120px 45px 1fr;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__block-mailConfirm {
    padding-bottom: 0.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__block-privacy {
    grid-template-columns: 165px 1fr;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__block-privacy .recruit-form__label {
    width: 100%;
  }
}
.recruit-form__label {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  display: inline-block;
  width: auto;
  letter-spacing: 0.5em;
}

@media screen and (min-width: 768px) {
  .recruit-form__label {
    letter-spacing: 0;
    font-size: 16px;
  }
}
.recruit-form__label span {
  display: inline-block;
}

.recruit-form__text {
  display: inline-block;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  color: #646464;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__text {
    font-size: 16px;
    text-align: right;
    margin-right: 0.8125rem;
    min-width: 1.875rem;
  }
}
.recruit-form__text.recruit-form__example-text {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__text.recruit-form__example-text {
    margin-top: 0;
    margin-left: 1.25rem;
  }
}
.recruit-form__required {
  padding: 3px 3px;
  padding: 0.1875rem 0.1875rem;
  background: #d43445;
  color: #fff;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 500;
  text-align: center;
  float: right;
  margin: -2px 10px 0 0;
}

@media screen and (min-width: 768px) {
  .recruit-form__required {
    padding: 0.1875rem 0.3125rem;
    font-size: 0.625rem;
    margin-left: 0.3125rem;
    float: none;
  }
}
.recruit-form__required.is-any {
  background: transparent;
}

.recruit-form__wrap-name {
  clear: both;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .recruit-form__wrap-name {
    display: grid;
    grid-template-columns: 48% 52%;
    padding-left: 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__wrap-gender {
    padding: 0.8125rem 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__wrap-career {
    padding: 0.625rem 1.875rem;
  }
}
.recruit-form__control {
  width: 100%;
  position: relative;
  padding: 10px 0;
  padding: 0.625rem 0;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .recruit-form__control {
    display: flex;
    padding: 0.9375rem 0;
    align-items: center;
  }
}
.recruit-form__control.is-error {
  padding: 30px 0 40px;
  padding: 1.875rem 0 2.5rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__control.is-error {
    padding: 2.5rem 0;
  }
}
.recruit-form__control.is-error .recruit-form__zip-wrap {
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
}

.recruit-form__control.is-error .recruit-form__file-wrap {
  padding-bottom: 56px;
  padding-bottom: 3.5rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__control.is-column {
    flex-direction: column;
    align-items: flex-start;
    position: relative;
  }
}
.recruit-form__control.is-column.is-border {
  border: 0.5px solid #000;
  padding: 10px 5px;
  padding: 0.625rem 0.3125rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__control.is-column.is-border {
    flex-direction: column;
    align-items: flex-start;
    position: relative;
  }
}
.recruit-form__select-wrap {
  position: relative;
  width: 90.7936507937%;
  max-width: 300px;
  max-width: 18.75rem;
}

.recruit-form__select-wrap::before {
  position: absolute;
  top: 46%;
  right: 25px;
  right: 1.5625rem;
  transform: translate(0, -50%) rotate(30deg);
  display: block;
  content: "";
  width: 10px;
  width: 0.625rem;
  border-bottom: 1px solid #000;
}

.recruit-form__select-wrap::after {
  position: absolute;
  top: 53%;
  right: 25px;
  right: 1.5625rem;
  transform: translate(0, -50%) rotate(-30deg);
  display: block;
  content: "";
  width: 10px;
  width: 0.625rem;
  border-bottom: 1px solid #000;
}

.recruit-form__zip-wrap {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__zip-wrap {
    padding-left: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
.recruit-form__wrap-date {
  display: flex;
}

.recruit-form__file-wrap {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  width: 100%;
  padding: 0 10px;
  padding: 0 0.625rem;
}

.recruit-form__file-label {
  background: #9fa0a0;
  color: #fff;
  font-weight: 700;
  width: 100%;
  max-width: 188px;
  max-width: 11.75rem;
  max-height: 34px;
  max-height: 2.125rem;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 8px 0 10px;
  padding: 0.5rem 0 0.625rem;
  display: grid;
  place-items: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .recruit-form__file-label {
    font-size: 1rem;
    min-width: 9.375rem;
  }
}
.recruit-form__file-name {
  margin-left: 10px;
  margin-left: 0.625rem;
  font-weight: 500;
}

.recruit-form__file-delete {
  font-size: 16px;
  font-size: 1rem;
  background: #d43445;
  color: #fff;
  min-width: 80px;
  min-width: 5rem;
  max-width: 80px;
  max-width: 5rem;
  text-align: center;
  padding: 5px;
  padding: 0.3125rem;
  margin-left: auto;
  display: none;
  cursor: pointer;
  position: absolute;
  top: -40px;
  top: -2.5rem;
  right: 10px;
  right: 0.625rem;
}

.recruit-form__file-delete.is-show {
  display: block;
}

@media screen and (min-width: 768px) {
  .recruit-form__file-delete {
    position: static;
    position: initial;
  }
}
.recruit-form__privacy {
  height: 200px;
  height: 12.5rem;
  overflow-y: scroll;
  padding: 20px 24px;
  padding: 1.25rem 1.5rem;
  border: 0.5px solid #000;
}

@media screen and (min-width: 768px) {
  .recruit-form__privacy {
    width: 100%;
    padding: 0.625rem 0.625rem;
  }
}
.recruit-form__privacy-title {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.recruit-form__privacy-title:before {
  content: "";
  display: inline-block;
  align-items: center;
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  margin-right: 5px;
  margin-right: 0.3125rem;
  background: #333;
}

@media screen and (min-width: 768px) {
  .recruit-form__privacy-title {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .recruit-form__privacy-subtitle {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.625rem;
  }
}
.recruit-form__privacy-text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  .recruit-form__privacy-text {
    font-size: 1rem;
  }
}
.recruit-form__button {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 15px 0;
  padding: 0.9375rem 0;
  width: 100%;
  background: gray;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .recruit-form__button {
    margin: 0 0.9375rem;
    padding: 1.875rem 0;
    max-width: 26.5625rem;
  }
}
.recruit-form__button-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto 110px;
  margin: 0 auto 6.875rem;
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__button-wrap {
    margin-bottom: 6.875rem;
  }
}
.recruit-form__button-confirm:disabled {
  opacity: 0.5;
}

.recruit-form__agree {
  display: grid;
  grid-template-columns: 3.375rem 1fr;
  gap: 0;
  align-items: flex-start;
  margin: 30px 0;
  margin: 1.875rem 0;
  padding: 0 15px;
  padding: 0 0.9375rem;
}

@media screen and (min-width: 768px) {
  .recruit-form__agree {
    display: flex;
    justify-content: center;
    gap: 0;
    margin: 1.25rem 0 3.75rem;
    padding: 0;
  }
}
.recruit-form__agree-label {
  display: block;
}

.recruit-form__wrap-name .error {
  left: 60px;
  left: 3.75rem;
}

.recruit-form__file-wrap .error {
  top: 120%;
}

.error + .error {
  right: 0;
}

.mwform-file-delete {
  display: none;
}

.recruit-interview {
  background-color: #f7f8f8;
  padding-top: 50px;
  padding-top: 3.125rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .recruit-interview {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
.swiper-content04__box {
  position: relative;
  padding-left: 30px;
  padding-left: 1.875rem;
  margin-top: 50px;
  margin-top: 3.125rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 768px) {
  .swiper-content04__box {
    max-width: 85.375rem;
    margin-top: 2.6875rem;
    padding-left: 6.25rem;
  }
}
.swiper-content04 {
  height: 97.3vw;
}

@media screen and (min-width: 768px) {
  .swiper-content04 {
    height: calc(42.45974vw + 4.25rem);
    padding-right: 6rem;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04 {
    max-height: 40.5rem;
    padding-right: 6rem;
  }
}
.swiper-content04__wrapper {
  height: 88%;
}

@media screen and (min-width: 768px) {
  .swiper-content04__wrapper {
    height: 42.4597364568vw;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04__wrapper {
    max-height: 36.25rem;
  }
}
.swiper-content04__slide {
  position: relative;
  height: 100%;
  width: 100%;
  transform: scale(1);
  transition: opacity 0.3s ease, transform 0.3s ease;
  cursor: pointer;
}

.swiper-content04__slide:hover {
  opacity: 0.8;
}

.swiper-content04__slide:hover img {
  transform: scale(1.1);
}

.swiper-content04__card {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.swiper-content04__link {
  display: block;
  height: 100%;
  position: relative;
}

.swiper-content04__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(130, 130, 130, 0.4) 34%, rgba(0, 0, 0, 0.95));
  background-size: cover;
  opacity: 0.1;
  z-index: 5;
}

.swiper-content04__link img {
  transition: transform 0.3s ease;
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.swiper-content04__txtbox {
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  width: 100%;
  text-align: center;
  padding-left: 10px;
  padding-left: 0.625rem;
  padding-right: 12px;
  padding-right: 0.75rem;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .swiper-content04__txtbox {
    padding-top: 1.6105417277vw;
    padding-bottom: 0.9516837482vw;
    padding-left: 1.4641288433vw;
    padding-right: 2.196193265vw;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04__txtbox {
    padding-top: 1.375rem;
    padding-bottom: 0.8125rem;
    padding-left: 1.25rem;
    padding-right: 1.875rem;
  }
}
.swiper-content04__ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  color: #388080;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .swiper-content04__ttl {
    font-size: 1.4641288433vw;
    line-height: 1.75;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04__ttl {
    font-size: 1.25rem;
  }
}
.swiper-content04__slide.swiper-slide-active .swiper-content04__ttl {
  color: #388080;
  text-align: left;
}

.swiper-content04__member {
  margin-top: 12.5px;
  margin-top: 0.78125rem;
}

.swiper-content04__name {
  font-size: 13px;
  font-size: 0.8125rem;
  font-size: 3.4666666667vw;
  line-height: 1.5;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .swiper-content04__name {
    font-size: 1rem;
    font-size: 1.1713030747vw;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04__name {
    font-size: 1rem;
  }
}
.swiper-content04__time {
  font-size: 13px;
  font-size: 0.8125rem;
  font-size: 3.4666666667vw;
  line-height: 1.5;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .swiper-content04__time {
    font-size: 1rem;
    font-size: 1.1713030747vw;
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04__time {
    font-size: 1rem;
  }
}
.swiper-content04__box .swiper-button-prev,
.swiper-content04__box .swiper-button-next {
  display: block;
  width: 70.7px;
  width: 4.41875rem;
  height: 70.7px;
  height: 4.41875rem;
  border: 0;
}

@media screen and (min-width: 768px) {
  .swiper-content04__box .swiper-button-prev,
  .swiper-content04__box .swiper-button-next {
    width: 100%;
    height: 100%;
    max-width: 11.0479166667vw;
    max-height: 11.0479166667vw;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04__box .swiper-button-prev,
  .swiper-content04__box .swiper-button-next {
    max-width: 13.2575rem;
    max-height: 13.2575rem;
  }
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-content04__box .swiper-button-prev {
  position: absolute;
  top: calc(50% - 2.625rem);
  left: 15px;
  left: 0.9375rem;
  right: auto;
  bottom: auto;
  transform: translate(22%, -50%) rotate(-45deg);
  border-top: 2px solid #388080;
  border-left: 2px solid #388080;
  margin-top: 0;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .swiper-content04__box .swiper-button-prev {
    top: calc(50% - 2.1875rem);
    left: 4%;
    border-top: 3px solid #388080;
    border-left: 3px solid #388080;
  }
}
.swiper-content04__box .swiper-button-prev:hover {
  left: 5px;
  left: 0.3125rem;
  border-top: 2px solid #5bc5c1;
  border-left: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .swiper-content04__box .swiper-button-prev:hover {
    left: 2%;
    border-top: 3px solid #5bc5c1;
    border-left: 3px solid #5bc5c1;
  }
}
.swiper-content04__box .swiper-button-next {
  position: absolute;
  top: calc(50% - 2.625rem);
  right: 15px;
  right: 0.9375rem;
  left: auto;
  bottom: auto;
  transform: translate(-22%, -50%) rotate(-45deg);
  border-bottom: 2px solid #388080;
  border-right: 2px solid #388080;
  margin-top: 0;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .swiper-content04__box .swiper-button-next {
    top: calc(50% - 2.1875rem);
    right: 4%;
    border-bottom: 3px solid #388080;
    border-right: 3px solid #388080;
  }
}
.swiper-content04__box .swiper-button-next:hover {
  right: 5px;
  right: 0.3125rem;
  border-bottom: 2px solid #5bc5c1;
  border-right: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .swiper-content04__box .swiper-button-next:hover {
    right: 2%;
    border-bottom: 3px solid #5bc5c1;
    border-right: 3px solid #5bc5c1;
  }
}
.swiper-button-prev:after,
.swiper-button-next:after {
  content: "";
}

.swiper-content04 .swiper-pagination-bullets.swiper-pagination-horizontal {
  width: 100%;
  padding-right: 30px;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .swiper-content04 .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: calc(100% - 200px);
    left: 50%;
    transform: translate(-50%, 0);
    padding: 0;
  }
}
@media screen and (min-width: 1366px) {
  .swiper-content04 .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: 1166px;
    padding-left: 100px;
  }
}
.swiper-content04__box .swiper-pagination-bullet {
  border-radius: inherit;
  margin: 0 !important;
  width: 25%; /* スライドの枚数に応じて変更　社員インタビューのスライド数：4 */
  height: 5px;
  height: 0.3125rem;
  background: #f7f8f8;
  opacity: 0.19;
}

.swiper-content04__box .swiper-pagination-bullet-active {
  background-color: #388080;
  opacity: 1;
}

.recruit-job {
  margin-top: 150px;
  margin-top: 9.375rem;
  padding-bottom: 140px;
  padding-bottom: 8.75rem;
}

@media screen and (min-width: 768px) {
  .recruit-job {
    margin-top: 11.5rem;
  }
}
.recruit-job__container {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .recruit-job__container {
    margin-top: 3.375rem;
  }
}
@media screen and (min-width: 768px) {
  .recruit-job__list {
    display: flex;
    gap: 0.9375rem 1.125rem;
    flex-wrap: wrap;
  }
}
.recruit-job__item {
  position: relative;
}

@media screen and (min-width: 768px) {
  .recruit-job__item {
    width: calc(33.33333% - 0.75rem);
  }
}
.recruit-job__item + .recruit-job__item {
  margin-top: 8px;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .recruit-job__item + .recruit-job__item {
    margin-top: 0;
    margin-top: initial;
  }
}
.recruit-job__link {
  border: 1px solid #000;
  display: block;
  padding: 24.6px 25px;
  padding: 1.5375rem 1.5625rem;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .recruit-job__link {
    padding: 1.35rem 1.5625rem 2rem 1.6875rem;
  }
}
.recruit-job__link:hover {
  border: 1px solid #388080;
  background-color: #388080;
  color: #fff;
}

.recruit-job__link:hover .recruit-job__recruit {
  color: #fff;
}

.recruit-job__link::before {
  position: absolute;
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #388080;
  line-height: 1;
  width: 20px;
  height: 20px;
  border: 1px solid #388080;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  right: 5%;
}

.recruit-job__link:hover.recruit-job__link::before {
  border: 1px solid #fff;
  border-left: 0;
  border-bottom: 0;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .recruit-job__category {
    font-size: 1.5rem;
    padding-top: 0.3125rem;
  }
}
.recruit-job__type {
  margin-top: 8px;
  margin-top: 0.5rem;
  font-size: 14px;
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  .recruit-job__type {
    font-size: 1rem;
  }
}
.recruit-contact {
  font-family: "Arial Black", sans-serif;
  font-weight: 400;
  font-size: 55px;
  font-size: 3.4375rem;
  color: #388080;
}

.recruit-job__recruit,
.recruit-job__no-recruit {
  margin-top: 8px;
  margin-top: 0.5rem;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .recruit-job__recruit,
  .recruit-job__no-recruit {
    margin-top: 0.9375rem;
    font-size: 1.125rem;
  }
}
.recruit-job__recruit {
  color: #388080;
}

.recruit-job__no-recruit {
  color: #d43445;
}

.recruit-job__link.recruit-job__link--disabled {
  pointer-events: none;
  color: #9fa0a0; /* opacityの代わり */
  border: 1px solid #9fa0a0; /* opacityの代わり */
}

.recruit-job__link.recruit-job__link--disabled .recruit-job__no-recruit {
  opacity: 1;
}

.recruit-message {
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .recruit-message {
    padding-bottom: 5.625rem;
  }
}
.recruit-message .sub-intro__text:not(:first-child) {
  margin-top: 32px;
  margin-top: 2rem;
}

.recruit-message .sub-intro__text span:nth-of-type(1) {
  letter-spacing: -0.02em;
}

.recruit-message .sub-intro__text span:nth-of-type(2) {
  letter-spacing: -0.03em;
}

.recruit-message__imgbox {
  width: 100%;
  margin-top: 43px;
  margin-top: 2.6875rem;
}

.recruit-message__imgbox .swiper-wrapper {
  transition-timing-function: linear;
}

.recruit-message__swiper .swiper-slide {
  position: relative;
}

.recruit-message__swiper .swiper-slide::before {
  content: "";
  display: block;
  padding-top: 77.1869970785%;
  width: 100%;
}

.recruit-message__swiper .swiper-slide {
  position: relative;
  width: 100%;
}

.recruit-message__swiper .swiper-slide::before {
  content: "";
  display: block;
  padding-top: 77.1869970785%; /* SPの縦横比 */
}

@media screen and (min-width: 768px) {
  .recruit-message__swiper .swiper-slide::before {
    padding-top: 77.3195876289%;
  }
}
.recruit-message__swiper .swiper-slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.recruit-staff__title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .recruit-staff__title {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
  }
}
.recruit-staff__subTitle {
  font-size: 24px;
  font-size: 1.5rem;
  color: #388080;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .recruit-staff__subTitle {
    color: #fff;
    font-size: 2rem;
    line-height: 1.75;
  }
}
.recruit-staff__topImage {
  margin-top: 30px;
  margin-top: 1.875rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .recruit-staff__topImage {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .recruit-staff__txtBox {
    color: #fff;
    position: absolute;
    top: 78%;
    left: 0;
    z-index: 1;
    transform: translateY(-78%);
  }
}
.recruit-staff__member {
  display: flex;
  margin-top: 27px;
  margin-top: 1.6875rem;
}

@media screen and (min-width: 768px) {
  .recruit-staff__member {
    flex-direction: column;
    line-height: 1.75;
  }
}
.recruit-staff__position {
  margin-right: 17px;
  margin-right: 1.0625rem;
}

@media screen and (min-width: 768px) {
  .recruit-staff__position {
    margin-right: 0;
    margin-right: initial;
  }
}
.recruit-staff__name {
  letter-spacing: 0.05em;
}

.recruit-staff__img {
  margin-top: 30px;
  margin-top: 1.875rem;
  position: relative;
  width: 100%;
  width: calc(100% + 60px);
  margin-right: -30px;
  margin-left: -30px;
}

@media screen and (min-width: 768px) {
  .recruit-staff__img {
    width: calc(100% + 200px);
    margin-right: -100px;
    margin-left: -100px;
    margin-top: 0;
  }
}
.recruit-staff__img::before {
  content: "";
  display: block;
  padding-top: 58.6666666667%; /* SPの縦横比 */
}

@media screen and (min-width: 768px) {
  .recruit-staff__img::before {
    padding-top: 42.4597364568%; /* PCの縦横比 */
  }
}
.recruit-staff__img picture,
.recruit-staff__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.recruit-staff__img img {
  -o-object-fit: cover;
  object-fit: cover;
}

.recruit-staff__faqBox {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.recruit-staff__question-number {
  font-family: "Arial Black", sans-serif;
  font-size: 67.5px;
  font-size: 4.21875rem;
  color: #d7e6e6;
  margin-top: 30px;
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .recruit-staff__question-number {
    font-size: 5.625rem;
    margin-top: 4.9375rem;
  }
}
.recruit-staff__question-number:first-of-type {
  margin-top: 0;
  margin-top: initial;
}

.recruit-staff__question-number + .recruit-staff__question-number {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.recruit-staff__question-title {
  font-size: 16px;
  font-size: 1rem;
  color: #388080;
  line-height: 1;
  margin-top: 34px;
  margin-top: 2.125rem;
}

@media screen and (min-width: 768px) {
  .recruit-staff__question-title {
    font-size: 1.5rem;
    margin-top: 1.4375rem;
  }
}
.recruit-staff__aTitle {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.25;
}

.recruit-staff__answer {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.25;
  margin-top: 25px;
  margin-top: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .recruit-staff__answer {
    font-size: 2rem;
    line-height: 1.75;
    margin-top: 2.4375rem;
  }
}
.recruit-staff__answer-text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.75;
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .recruit-staff__answer-text {
    line-height: 2;
    margin-top: 1.875rem;
  }
}
.recruit-staff__overlay {
  background-color: rgba(56, 128, 128, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 50%;
  transition: all 0.3s ease;
}

.recruit__inner {
  max-width: 600px;
  max-width: 37.5rem;
  width: 100%;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .recruit__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .recruit__container {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .recruit__block {
    max-width: 38.389%;
    width: 100%;
    padding-right: 1.875rem;
  }
}
.recruit__title {
  position: relative;
  max-width: 217px;
  max-width: 13.5625rem;
  width: 100%;
  margin-top: -17px;
  margin-top: -1.0625rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .recruit__title {
    max-width: 21.9375rem;
  }
}
.recruit__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  margin-top: 46px;
  margin-top: 2.875rem;
}

@media screen and (min-width: 768px) {
  .recruit__text {
    line-height: 1.875;
  }
}
.recruit__btn {
  text-align: center;
  margin-top: 100px;
  margin-top: 6.25rem;
}

@media screen and (min-width: 768px) {
  .recruit__btn {
    text-align: left;
    margin-top: 5.625rem;
  }
}
.recruitment-entry {
  margin-top: 55px;
  margin-top: 3.4375rem;
}

@media screen and (min-width: 768px) {
  .recruitment-entry {
    margin-top: 6.875rem;
  }
}
.recruitment {
  padding-top: 5rem;
  padding-bottom: 8.75rem;
}

.recruitment__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .recruitment__title {
    font-size: 2rem;
  }
}
.recruitment__subTitle {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  color: #fff;
  background-color: #388080;
  padding: 8px 20px;
  padding: 0.5rem 1.25rem;
  margin-top: 53px;
  margin-top: 3.3125rem;
}

@media screen and (min-width: 768px) {
  .recruitment__subTitle {
    color: #000;
    color: initial;
    background-color: rgba(56, 128, 128, 0.2);
    font-size: 1.5rem;
    padding: 0.875rem 1.875rem;
  }
}
.recruitment__tableBox {
  margin-top: 33px;
  margin-top: 2.0625rem;
}

@media screen and (min-width: 768px) {
  .recruitment__tableBox {
    margin-top: 3.1875rem;
  }
}
/*スクロールボタンの指定*/
.scroll {
  position: absolute;
  width: 100%;
  bottom: -3vh;
  text-align: center;
  cursor: pointer;
}

.scroll a {
  position: relative;
  display: inline-block;
}

/* 矢印 */
.scroll a::before {
  content: "";
  position: absolute;
  width: 150px;
  width: 9.375rem;
  height: 150px;
  height: 9.375rem;
  left: 50%;
  bottom: 50px;
  bottom: 3.125rem;
  margin: auto;
  border-bottom: 2px solid #388080;
  border-right: 2px solid #388080;
  transform: translateX(-50%) rotate(45deg);
  animation: move 2s infinite;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .scroll a::before {
    width: 14.125rem;
    height: 14.125rem;
    bottom: 6.25rem;
    border-bottom: 3px solid #388080;
    border-right: 3px solid #388080;
  }
}
/* クリック範囲拡大 */
.scroll a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 15px;
  bottom: 0.9375rem;
  transform: translateX(-50%);
  width: 260px;
  width: 16.25rem;
  height: 225px;
  height: 14.0625rem;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .scroll a::after {
    bottom: 3.125rem;
    width: 20.625rem;
    height: 20.625rem;
  }
}
.scroll:hover a::before {
  bottom: 0px;
  bottom: 0rem;
  border-bottom: 2px solid #5bc5c1;
  border-right: 2px solid #5bc5c1;
}

@media screen and (min-width: 768px) {
  .scroll:hover a::before {
    border-bottom: 3px solid #5bc5c1;
    border-right: 3px solid #5bc5c1;
    bottom: 3.125rem;
  }
}
.scroll:hover a::after {
  bottom: -50px;
  bottom: -3.125rem;
}

@media screen and (min-width: 768px) {
  .scroll:hover a::after {
    bottom: 3rem;
  }
}
.section__sub-title {
  display: block;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .section__sub-title {
    font-size: 2rem;
    margin-top: 6rem;
  }
}
/* 下層ページ見出し */
.section__title-subpage {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75;
}

@media screen and (min-width: 768px) {
  .section__title-subpage {
    font-size: 2rem;
  }
}
.section__title-subpage.section__title-subpage--green {
  color: #388080;
}

/* 送信完了 */
.send {
  margin: 80px 0;
  margin: 5rem 0;
}

@media screen and (min-width: 768px) {
  .send {
    margin: 9.375rem 0;
  }
}
.send__container {
  max-width: 900px;
  max-width: 56.25rem;
  width: 100%;
  margin: 0 auto;
}

.send__message {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .send__message {
    font-size: 1.25rem;
  }
}
.send__message + .send__message {
  margin-top: 25px;
  margin-top: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .send__message + .send__message {
    margin-top: 2.5rem;
  }
}
.send__btn {
  margin-top: 50px;
  margin-top: 3.125rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .send__btn {
    margin-top: 4.0625rem;
  }
}
.sidebar {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .sidebar {
    width: 17%;
  }
}
.sidebar-archive__title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 55px;
  margin-top: 3.4375rem;
}

@media screen and (min-width: 768px) {
  .sidebar-archive__title {
    margin-top: 3.4375rem;
    padding-top: 2.8125rem;
    border-top: 1px solid #000;
  }
}
.sidebar-archive__acc {
  margin-top: 35px;
  margin-top: 2.1875rem;
}

@media screen and (min-width: 768px) {
  .sidebar-archive__acc {
    margin-top: 2.8125rem;
  }
}
.sitemap {
  padding: 50px 0 100px;
  padding: 3.125rem 0 6.25rem;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .sitemap {
    padding: 3.125rem 0 9.375rem;
  }
}
.sitemap__inner {
  width: 80%;
  margin: auto;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
}

@media screen and (min-width: 768px) {
  .sitemap__inner {
    max-width: 85.375rem;
    padding-left: 6.25rem;
    padding-right: 6.25rem;
  }
}
.sitemap__container {
  margin-top: 38px;
  margin-top: 2.375rem;
}

@media screen and (min-width: 768px) {
  .sitemap__container {
    margin-top: 3.125rem;
  }
}
.sitemap__items {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .sitemap__items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 72.875rem;
    width: 100%;
    margin: auto;
  }
}
.sitemap__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  transition: ease 0.3s;
  border-radius: 1rem;
}

@media screen and (min-width: 768px) {
  .sitemap__item {
    max-width: calc(33.33333% - 1.25rem);
  }
}
.sitemap__item + .sitemap__item {
  margin-top: 100px;
  margin-top: 6.25rem;
}

@media screen and (min-width: 768px) {
  .sitemap__item + .sitemap__item {
    margin-top: 0;
    margin-left: 1.875rem;
  }
}
@media screen and (min-width: 768px) {
  .sitemap__item:nth-child(3n+1) {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .sitemap__item:nth-child(n+4) {
    margin-top: 9.0625rem;
  }
}
.sitemap__title-en {
  position: relative;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  color: #388080;
  font-family: "Arial Black", sans-serif;
  font-weight: 400;
  text-transform: capitalize;
  padding-bottom: 10px;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #000;
}

.sitemap__title-en::after {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
  left: 0;
  width: 60%;
  border-bottom: 1px solid #388080;
}

.sitemap__title-ja {
  margin-top: 30px;
  margin-top: 1.875rem;
}

.sitemap__title-ja-link {
  font-size: 20px;
  font-size: 1.25rem;
  color: #388080;
  transition: all 0.3s ease;
}

.sitemap__title-ja-link:hover {
  color: #000;
}

.sitemap__second-items {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin-top: 25px;
  margin-top: 1.5625rem;
}

.sitemap__second-item {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.sitemap__second-item:first-child {
  margin-top: 0;
}

.sitemap__second-link,
.sitemap__third-link {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3125;
  color: #000;
  transition: all 0.3s ease;
  padding-left: 1em;
}

.sitemap__second-link:hover,
.sitemap__third-link:hover {
  color: #388080;
}

.sitemap__second-link::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.8em;
  left: 3px;
  left: 0.1875rem;
  transform: translateY(-50%);
  width: 5px;
  width: 0.3125rem;
  height: 5px;
  height: 0.3125rem;
  border-radius: 100vh;
  background-color: #000;
}

.sitemap__second-link:hover::before {
  background-color: #388080;
}

.sitemap__third-items {
  margin-top: 0;
}

.sitemap__third-item a {
  position: relative;
  padding-left: 2em;
}

.sitemap__third-item a::after {
  content: "∟";
  display: inline-block;
  position: absolute;
  top: 0.4em;
  left: 15px;
  left: 0.9375rem;
  transform: translateY(-50%);
}

.sp-nav {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  overflow: scroll;
  height: 100vh;
  background-color: #388080;
}

.sp-nav.is-active {
  display: block;
}

.sp-nav__items {
  background-color: #388080;
  display: flex;
  flex-direction: column;
  padding-top: 7.5rem;
  padding-bottom: 4.5rem;
}

.sp-nav__item {
  width: 100%;
  margin-block: 1vh;
}

.sp-nav__item a {
  padding: 15px 30px;
  padding: 0.9375rem 1.875rem;
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
  color: #fff;
}

.sp-nav__item .acc-child-link {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 15px 10px 15px 60px;
  padding: 0.9375rem 0.625rem 0.9375rem 3.75rem;
}

.sp-nav__item.sp-nav__item--sub a {
  font-size: 16px;
  font-size: 1rem;
}

.sp-nav__item--instagram {
  display: flex;
  align-items: center;
  padding-inline: 1.875rem;
}
.sp-nav__instagram-link {
  display: block;
  padding-inline: 0;
  transition: opacity 0.2s ease;
}
.sp-nav__instagram-link:hover {
  opacity: 0.5;
}
.sp-nav__instagram-icon {
  width: 50px;
  height: 50px;
  display: block;
  object-fit: contain;
}

.sub-intro {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .sub-intro {
    margin-top: 2.8125rem;
  }
}
.sub-intro__text-box {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .sub-intro__text-box {
    margin-top: 2.625rem;
  }
}
.sub-intro__text-bottom {
  margin-top: 112px;
  margin-top: 7rem;
}

@media screen and (min-width: 768px) {
  .sub-intro__text-bottom {
    margin-top: 7rem;
    text-align: right;
  }
}
.sub-intro__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.035em;
}

@media screen and (min-width: 768px) {
  .sub-intro__text {
    letter-spacing: 0;
    line-height: 2;
  }
}
.sub-intro__text:not(:first-child) {
  margin-top: 30px;
  margin-top: 1.875rem;
}

/* 下層ページMV */
.sub-mv {
  position: relative;
  width: 100%;
  height: 100%;
  margin-top: 70px;
}

@media screen and (min-width: 768px) {
  .sub-mv {
    height: 20.8333333333vw;
    margin-top: 80px;
  }
}
/* 404ページ、サイトマップのページヘッダー */
.sub-mv.no-image {
  background-color: #388080;
  height: 250px;
  height: 15.625rem;
}

.sub-mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.6), rgba(130, 130, 130, 0.4) 50%, rgba(255, 255, 255, 0));
  background-size: cover;
  z-index: 10;
  opacity: 0.5;
}

.sub-mv__img {
  position: relative;
  width: 100%;
  height: 100%;
}

.sub-mv__img picture {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.sub-mv__title-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .sub-mv__title-wrap {
    top: 47.5%;
  }
}
.sub-mv__title {
  font-size: 55px;
  font-size: 3.4375rem;
  font-family: "Arial Black", sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  text-align: left;
  text-transform: capitalize;
}

@media screen and (min-width: 768px) {
  .sub-mv__title {
    font-size: 5.625rem;
  }
}
.sub-mv__title-anniv.sub-mv__title-anniv--sp {
  display: block;
}

@media screen and (min-width: 768px) {
  .sub-mv__title-anniv.sub-mv__title-anniv--sp {
    display: none;
  }
}
.sub-mv__title-anniv.sub-mv__title-anniv--pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .sub-mv__title-anniv.sub-mv__title-anniv--pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .sub-mv__anniv-message {
    font-size: 1.25rem;
    line-height: 1.75;
    color: #fff;
    text-align: left;
    margin-top: 2.5rem;
  }
}
.subProducts__wrapper {
  margin-top: 23px;
  margin-top: 1.4375rem;
}

@media screen and (min-width: 768px) {
  .subProducts__wrapper {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .subProducts__tabLists {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 0.875rem;
    column-gap: 0.875rem;
    row-gap: 0.9375rem;
  }
}
.subProducts__tabItem {
  position: relative;
  text-align: center;
  padding: 16px 50px;
  padding: 1rem 3.125rem;
  border: 1px solid #000;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .subProducts__tabItem {
    padding: 1.75rem 0 3.4375rem;
  }
}
.subProducts__tabItem:hover {
  border: 1px solid #388080;
  background-color: #388080;
}

.subProducts__tabItem::after {
  position: absolute;
  top: 50%;
  right: 20px;
  right: 1.25rem;
  transform: translate(0, -50%) rotate(45deg);
  display: block;
  content: "";
  width: 14.15px;
  width: 0.884375rem;
  height: 14.15px;
  height: 0.884375rem;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .subProducts__tabItem::after {
    top: auto;
    right: auto;
    bottom: 1.25rem;
    left: 50%;
    transform: translate(-50%, 0) rotate(45deg);
    width: 1.325625rem;
    height: 1.325625rem;
  }
}
.subProducts__tabItem:hover::after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}

.subProducts__tabItem.subProducts-active::after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .subProducts__tabItem:nth-of-type(-n + 2) {
    width: calc(50% - 0.46875rem);
  }
}
@media screen and (min-width: 768px) {
  .subProducts__tabItem:nth-of-type(n + 3) {
    width: calc(33.33333% - 0.59375rem);
  }
}
.subProducts__tabItem:not(:first-of-type) {
  margin-top: 10px;
  margin-top: 0.625rem;
}

@media screen and (min-width: 768px) {
  .subProducts__tabItem:not(:first-of-type) {
    margin-top: 0;
  }
}
.subProducts__tabItem.subProducts-active {
  background-color: #388080;
  color: #fff;
}

.subProducts__tabItem a {
  display: block;
  transition: all 0.3s ease;
}

.subProducts__tabItem:hover a {
  color: #fff;
}

.subProducts__tabItem span {
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .subProducts__tabItem span {
    font-size: 1.5rem;
  }
}
.subProducts__contentsBox {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .subProducts__contentsBox {
    margin-top: 3.125rem;
  }
}
@media screen and (min-width: 768px) {
  .subProducts__machineInfo:nth-of-type(2) {
    margin-top: 5.625rem;
  }
}
.table01__box {
  width: 100%;
  height: auto;
  overflow-x: scroll;
}

.table01 {
  border-collapse: collapse;
  width: auto;
}

@media screen and (min-width: 768px) {
  .table01 {
    width: 100%;
  }
}
.table01__backGreen {
  background-color: #ebf2f2;
}

.table01 tr td {
  border: 1px solid #74a6a6;
}

.table01__head tr th {
  background-color: #388080;
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
  font-weight: 400;
  padding: 16px 0;
  padding: 1rem 0;
  line-height: 1;
  border: 1px solid #74a6a6;
}

.table01__body tr td {
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  font-weight: 400;
  padding: 16px 0;
  padding: 1rem 0;
  line-height: 1;
  text-align: left;
}

.table01__body tr td:last-of-type {
  padding: 13px 0;
  padding: 0.8125rem 0;
  text-align: center !important;
}

.table01__thName {
  width: 200px;
  width: 12.5rem;
  min-width: 200px;
}

@media screen and (min-width: 768px) {
  .table01__thName {
    width: 25.7289879931%;
    min-width: auto;
    max-width: 18.75rem;
  }
}
.table01__thMaker {
  width: 130px;
  width: 8.125rem;
  min-width: 130px;
}

@media screen and (min-width: 768px) {
  .table01__thMaker {
    width: 23.1560891938%;
    min-width: auto;
    max-width: 16.875rem;
  }
}
.table01__thModel {
  width: 180px;
  width: 11.25rem;
  min-width: 180px;
}

@media screen and (min-width: 768px) {
  .table01__thModel {
    width: 24.0137221269%;
    min-width: auto;
    max-width: 17.5rem;
  }
}
.table01__thNumber {
  width: 60px;
  width: 3.75rem;
  min-width: 60px;
}

@media screen and (min-width: 768px) {
  .table01__thNumber {
    width: 13.7221269297%;
    min-width: auto;
    max-width: 10rem;
  }
}
.table01__thDetail {
  width: 96px;
  width: 6rem;
  min-width: 96px;
}

@media screen and (min-width: 768px) {
  .table01__thDetail {
    width: 13.2933104631%;
    min-width: auto;
    max-width: 9.6875rem;
  }
}
.table01__view {
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-size: 0.75rem;
  background-color: #388080;
  color: #fff;
  padding: 5px 23px 5px 7px;
  padding: 0.3125rem 1.4375rem 0.3125rem 0.4375rem;
  transition: all 0.3s ease;
}

.table01__view:hover {
  background-color: #74a6a6;
}

.table01__view::before {
  position: absolute;
  top: 50%;
  right: 12px;
  right: 0.75rem;
  transform: translate(0, -50%);
  content: "";
  display: block;
  height: 9px;
  height: 0.5625rem;
  width: 1px;
  border-left: 1px solid #fff;
}

.table01__view::after {
  position: absolute;
  top: calc(50% + 1.5px);
  right: 12.6px;
  right: 0.7875rem;
  transform: translate(50%, -50%) rotate(45deg);
  content: "";
  display: block;
  height: 6.364px;
  height: 0.39776875rem;
  width: 6.364px;
  width: 0.39776875rem;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.table02__ttlBox {
  font-size: 18px;
  font-size: 1.125rem;
  text-align: center;
  font-weight: 500;
  color: #000;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 24px 0 20px;
  padding: 1.5rem 0 1.25rem;
  min-height: 63px;
  min-height: 3.9375rem;
}

@media screen and (min-width: 768px) {
  .table02__ttlBox {
    font-size: 1.5rem;
    border-top: none;
    /* padding: 2.1875rem 0 1.25rem; */
  }
}
@media screen and (min-width: 768px) {
  .table02__ttlBox span {
    display: inline-block;
    transform: translateX(-10%);
  }
}
.table02__lists {
  display: flex;
  flex-wrap: wrap;
}

.table02__term--A {
  width: 25%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0.22em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__term--A {
    padding-left: 5.5%;
    width: 34%;
  }
}
.table02__descr--A {
  width: 75%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__descr--A {
    width: 66%;
  }
}
.table02__term--B {
  width: 28%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__term--B {
    padding-left: 5.5%;
    width: 34%;
  }
}
.table02__descr--B {
  width: 72%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__descr--B {
    width: 66%;
  }
}
.table02__term--C {
  width: 50%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__term--C {
    padding-left: 5.5%;
    width: 34%;
  }
}
.table02__descr--C {
  width: 50%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__descr--C {
    width: 66%;
  }
}
.table02__term--D {
  width: 50%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__term--D {
    padding-left: 9.5%;
    width: 57.5%;
  }
}
.table02__descr--D {
  width: 50%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__descr--D {
    width: 42.5%;
  }
}
.table02__term--F {
  width: 100%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0em;
  line-height: 1.31;
}

@media screen and (min-width: 768px) {
  .table02__term--F {
    padding-left: 9.5%;
    width: 57.5%;
  }
}
.table02__descr--F {
  width: 100%;
  padding: 10px 0 15px;
  padding: 0.625rem 0 0.9375rem;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__descr--F {
    width: 42.5%;
  }
}
.table02__term--G {
  width: 50%;
  padding: 8px 0 23px;
  padding: 0.5rem 0 1.4375rem;
  letter-spacing: 0em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__term--G {
    padding-left: 9.5%;
    width: 57.5%;
  }
}
.table02__descr--G {
  width: 50%;
  padding: 8px 0 23px;
  padding: 0.5rem 0 1.4375rem;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table02__descr--G {
    width: 42.5%;
  }
}
.table02__imgBox01 {
  width: 100%;
  height: auto;
  margin-top: 10px;
  margin-top: 0.625rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #000;
}

.table02__imgBox01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

@media screen and (min-width: 768px) {
  .table02__imgBox01 img {
    width: 90%;
    margin-top: 1.875rem;
    margin-left: 4.1%;
    margin-right: 5.9%;
  }
}
.table02__imgBox02 {
  width: 50%;
  height: 44.6986666667vw;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px solid #000;
}

.table02__imgBox02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

@media screen and (min-width: 768px) {
  .table02__imgBox02 img {
    width: 90%;
    margin-top: 1.875rem;
    margin-left: 4.1%;
    margin-right: 5.9%;
  }
}
.table03__ttlBox {
  font-size: 18px;
  font-size: 1.125rem;
  text-align: center;
  color: #000;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 24px 0 20px;
  padding: 1.5rem 0 1.25rem;
  min-height: 63px;
  min-height: 3.9375rem;
}

@media screen and (min-width: 768px) {
  .table03__ttlBox {
    font-size: 1.5rem;
    border-top: none;
    padding: 2.1875rem 0 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .table03__ttlBox span {
    display: inline-block;
  }
}
.table03__lists {
  display: flex;
  flex-wrap: wrap;
}

.table03__term--A {
  width: 50%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__term--A {
    padding-left: 5.5%;
    width: 44.5%;
  }
}
.table03__descr--A {
  width: 50%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__descr--A {
    width: 55.5%;
  }
}
.table03__term--B {
  width: 100%;
  padding: 21px 0;
  padding: 1.3125rem 0;
  letter-spacing: 0em;
  line-height: 1.31;
}

@media screen and (min-width: 768px) {
  .table03__term--B {
    padding: 0.9375rem 0 0.75rem 5.5%;
    width: 57%;
  }
}
.table03__descr--B {
  width: 100%;
  padding: 0;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__descr--B {
    width: 43%;
    padding: 0.5rem 0 0.75rem;
    border-bottom: none;
  }
}
.table03__term--G {
  width: 50%;
  padding: 8px 0 23px;
  padding: 0.5rem 0 1.4375rem;
  letter-spacing: 0em;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__term--G {
    padding-left: 9.5%;
    width: 57.5%;
  }
}
.table03__descr--G {
  width: 50%;
  padding: 8px 0 23px;
  padding: 0.5rem 0 1.4375rem;
  line-height: 1.31;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__descr--G {
    width: 42.5%;
  }
}
.table03__imgBox01 {
  width: 100%;
  height: auto;
  margin-top: 10px;
  margin-top: 0.625rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #000;
}

.table03__imgBox01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

@media screen and (min-width: 768px) {
  .table03__imgBox01 img {
    width: 90%;
    margin-top: 1.875rem;
    margin-left: 4.1%;
    margin-right: 5.9%;
  }
}
.table03__imgBox02 {
  width: 50%;
  height: 44.6986666667vw;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__imgBox02 {
    width: 100%;
    height: 38.0208333333vw;
  }
}
.table03__imgBox02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

@media screen and (min-width: 768px) {
  .table03__imgBox02 img {
    width: 100%;
  }
}
.table03__imgBox04 {
  width: 50%;
  height: 44.6986666667vw;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px solid #000;
}

@media screen and (min-width: 768px) {
  .table03__imgBox04 {
    width: 100%;
    height: 8.7302083333vw;
    border-bottom: none;
  }
}
.table03__imgBox04 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}

@media screen and (min-width: 768px) {
  .table03__imgBox04 img {
    width: 100%;
  }
}
.tableBox__item {
  display: flex;
  padding: 15.5px 0;
  padding: 0.96875rem 0;
  border-bottom: solid 0.5px #000;
  position: relative;
}

.tableBox__item:first-of-type {
  border-top: solid 0.5px #000;
}

.tableBox__item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  background-color: #388080;
  background-repeat: no-repeat;
  width: 28.5714285714%;
}

.tableBox__item:first-of-type::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  background-color: #388080;
  background-repeat: no-repeat;
  width: 28.5714285714%;
}

.tableBox__item.tableBox__item--column {
  flex-direction: column;
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .tableBox__item.tableBox__item--column {
    flex-direction: initial;
  }
}
.tableBox__item dt {
  width: 28.5714285714%;
  position: relative;
  font-weight: 600;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .tableBox__item dt {
    text-align: center;
  }
}
.tableBox__item dd {
  width: 71.4285714286%;
  padding-left: 20px;
  padding-left: 1.25rem;
  font-weight: 600;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .tableBox__item dd {
    padding-left: 4.1875rem;
  }
}
.tableBox__item.tableBox__item--column dt {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .tableBox__item.tableBox__item--column dt {
    width: 28.5714285714%;
  }
}
.tableBox__item.tableBox__item--column dd {
  width: 100%;
  padding-left: 0;
  padding-left: initial;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .tableBox__item.tableBox__item--column dd {
    padding-left: 4.1875rem;
    font-weight: 600;
    width: 71.4285714286%;
  }
}
.timeline__inner {
  padding: 0 10px;
  padding: 0 0.625rem;
}

@media screen and (min-width: 520px) {
  .timeline__inner {
    padding: 0 1.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .timeline__inner {
    padding: 0 2.5rem;
  }
}
.timeline__items {
  position: relative; /*線の起点とするためrelativeを設定*/
  padding-top: 70px;
  padding-top: 4.375rem;
}

@media screen and (min-width: 768px) {
  .timeline__items {
    padding-top: 0;
  }
}
/* 年表のベースライン ----------------------------------*/
.timeline__items::before {
  content: "";
  position: absolute;
  top: 45px;
  top: 2.8125rem;
  left: 50%;
  transform: translateX(-50%);
  height: calc(100% - 2.8125rem);
  width: 2px;
  background-color: #388080;
  opacity: 0.1;
}

@media screen and (min-width: 768px) {
  .timeline__items::before {
    top: 0;
  }
}
/* 年表のベースライン ここまで----------------------------*/
/* 垂直方向に伸びるバー ----------------------------------*/
.border-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 2px;
  height: 0; /*はじめは高さを0に*/
  background-color: #388080;
}

@media screen and (min-width: 520px) {
  .border-line {
    width: 2px; /*線の太さ*/
  }
}
@media screen and (min-width: 768px) {
  .border-line {
    width: 2px; /*線の太さ*/
  }
}
/* 垂直方向に伸びるバー ここまで----------------------------*/
.border-text {
  display: block;
  opacity: 0;
  transition: opacity 0.3s;
}

.timeline__next-generation {
  font-size: 28px;
  font-size: 1.75rem;
  color: #388080;
  letter-spacing: 0.05em;
  text-transform: capitalize;
  text-align: center;
}

@media screen and (min-width: 520px) {
  .timeline__next-generation {
    font-size: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .timeline__next-generation {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .timeline__next-generation {
    font-size: 3rem;
  }
}
.timeline__item.timeline__item--right {
  flex-direction: row-reverse;
}

.timeline__item {
  display: flex;
  position: relative; /* バーの●の位置を指定 */
  width: 100%;
}

.timeline__item-pt {
  padding-top: 30px;
  padding-top: 1.875rem;
}

.timeline__item.timeline__item--2019 {
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .timeline__item.timeline__item--2019 {
    padding-bottom: 5rem;
  }
}
.timeline__item-out {
  padding-top: 30px;
  padding-top: 1.875rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .timeline__item-out {
    padding-top: 3.125rem;
    padding-bottom: 5rem;
  }
}
.timeline__item-container {
  display: flex;
  width: 50%;
}

.timeline__item-wrapper {
  width: 100%;
}

.timeline__item-wrapper-minus-mt {
  margin-top: -50px;
  margin-top: -3.125rem;
}

@media screen and (min-width: 768px) {
  .timeline__item-wrapper-minus-mt {
    margin-top: -3.125rem;
  }
}
@media screen and (min-width: 1024px) {
  .timeline__item-wrapper-minus-mt {
    margin-top: -1.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .timeline__item-wrapper-minus-mt {
    margin-top: -3.125rem;
  }
}
.timeline__date-box {
  position: relative;
}

.timeline__date-box.timeline__date-box--right,
.timeline__item-box.timeline__item-box--right {
  padding-left: 7%;
}

@media screen and (min-width: 520px) {
  .timeline__date-box.timeline__date-box--right,
  .timeline__item-box.timeline__item-box--right {
    padding-left: 10%;
  }
}
.timeline__date-box.timeline__date-box--left,
.timeline__item-box.timeline__item-box--left {
  padding-right: 7%;
}

@media screen and (min-width: 520px) {
  .timeline__date-box.timeline__date-box--left,
  .timeline__item-box.timeline__item-box--left {
    padding-right: 10%;
  }
}
.timeline__date-box::before {
  content: "";
  position: absolute;
  top: 45px;
  top: 2.8125rem;
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  background-color: #388080;
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  .timeline__date-box::before {
    width: 0.875rem;
    height: 0.875rem;
  }
}
/* positionでズラして突き出た線を上書きで見えなくする */
.timeline__date-box.timeline__date-box--first::after {
  content: "";
  position: absolute;
  top: -25px;
  top: -1.5625rem;
  left: -3px;
  left: -0.1875rem;
  width: 6px;
  width: 0.375rem;
  height: 70px;
  height: 4.375rem;
  background-color: #d7e6e6;
  z-index: 1;
}

.timeline__date-box.timeline__date-box--right::before {
  left: 0;
  transform: translateX(-50%);
}

.timeline__date-box.timeline__date-box--left::before {
  right: 0;
  transform: translateX(50%);
}

.timeline__date {
  font-size: 47px;
  font-size: 2.9375rem;
  font-family: "Arial Black", sans-serif;
  font-weight: 400;
  color: #388080;
}

.timeline__item-box {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.timeline__img {
  position: relative;
  width: 100%;
}

.timeline__img::before {
  content: "";
  display: block;
  padding-top: 70.83%; /* H / W  */
}

.timeline__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.timeline__text {
  margin-top: 5px;
  margin-top: 0.3125rem;
}

.timeline__caption {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.3744;
}

@media screen and (min-width: 520px) {
  .timeline__caption {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 600px) {
  .timeline__caption {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .timeline__caption {
    font-size: 1rem;
  }
}
.top-contact-subpage {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .top-contact-subpage {
    margin-top: 2.8125rem;
  }
}
.top-contact {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .top-contact {
    margin-top: 2.8125rem;
  }
}
.top-greeting {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .top-greeting {
    margin-top: 2.8125rem;
  }
}
.top-next-generation {
  margin-top: 90px;
  margin-top: 5.625rem;
}

@media screen and (min-width: 768px) {
  .top-next-generation {
    margin-top: 6.25rem;
  }
}
.top-original {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .top-original {
    margin-top: 6.25rem;
  }
}
.top-party {
  margin-top: 50px;
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .top-party {
    margin-top: 6.25rem;
  }
}
.top-recruit-interview {
  margin-top: 43px;
  margin-top: 2.6875rem;
}

@media screen and (min-width: 768px) {
  .top-recruit-interview {
    margin-top: 6.875rem;
  }
}
.top-recruit-staff {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .top-recruit-staff {
    margin-top: 1.8125rem;
  }
}
.top-recruit-staff {
  margin-top: 20px;
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .top-recruit-staff {
    margin-top: 2.8125rem;
  }
}
/* 追加241017 */
/* フォーム */
.form {
  padding: 3rem;
}

.form__item,
.form__contact-text {
  justify-content: space-between;
}

.form__privacy-policy-label {
  max-width: 30%;
}

/* ボタン */
.form_btn_confirm,
.form__btn_send,
.form__btn-back {
  font-family: Verdana, Geneva, Tahoma, sans-serif !important;
  background: white;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: auto;
  width: min(250px, 100%);
  padding: 10px 25px;
  font-family: "Noto Sans Japanese";
  text-decoration: none;
  color: #388080;
  line-height: 1.8;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  border: 1px solid #388080;
}

.form_btn_confirm:after,
.form__btn_send:after,
.form__btn-back:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.form_btn_confirm:hover,
.form__btn_send:hover,
.form__btn-back:hover {
  background-color: #388080;
  color: #fff;
}

.form_btn_confirm:hover:after,
.form__btn_send:hover:after,
.form__btn-back:hover:after {
  right: 1.4rem;
}

.form__btn-container {
  flex-direction: unset;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

#wpcf7-f549-p40-o1 .form__checkbox-list {
  width: 70%;
}

input[type=radio] + span {
  text-align: right;
  min-width: 100px;
  padding-right: 5px;
  display: inline-block;
  position: relative;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}

/* トップ追加 */
.fv__copy-inner {
  background-image: url(/wp-content/themes/morikawa_theme/images/top/top_fv_img_pc.jpg);
  background-color: #c9c9c9;
  background-blend-mode: multiply;
  width: 100vw;
  height: 100vh;
  display: grid;
  align-items: center;
}
.fv__copy-inner .fv__copy-container {
  margin-right: 1.5rem;
}
.fv__copy-inner .fv__copy-main {
  font-size: 6vh;
}
@media (max-width: 500px) {
  .fv__copy-inner .fv__copy-main {
    font-size: 2rem !important;
  }
}
.fv__copy-inner .fv__copy-sub {
  font-size: 3vh;
}

.fv {
  justify-content: normal;
  align-items: normal;
}

/*== ボタン共通設定 */
.btn {
  position: relative;
  overflow: hidden;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* ボタン個別設定 */
.btn span {
  display: block;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1;
  color: #fff;
  text-align: left;
  text-transform: capitalize;
  transition: all 0.3s ease;
}

@media screen and (min-width: 768px) {
  .btn span {
    font-size: 1.5rem;
  }
}
/* ホバー時の背景の色 */
/* 矢印の「>」 */
.btn span::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 4px;
  width: 20px;
  height: 20px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}

/* 矢印の「-」 (widthは「view all」、「full movie」個別に指定) */
.btn span::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 1px;
  bottom: 0;
  right: 1px;
  height: 1px;
  background-color: #fff;
}

/* ボタン固有設定 */
/* Full Movie */
.btn--movie {
  border: 1px solid #fff;
  max-width: 315px;
  max-width: 19.6875rem;
  width: 100%;
  margin: auto;
  padding: 24px 0 24px 35px;
  padding: 1.5rem 0 1.5rem 2.1875rem;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .btn--movie {
    max-width: 18.75rem;
    padding: 1.5rem 0 1.5rem 1.875rem;
  }
}
.btn--movie::after {
  width: 36.63%;
}

@media screen and (min-width: 768px) {
  .btn--movie::after {
    width: 38.46%;
  }
}
.btn--movie:hover {
  background-color: rgba(56, 128, 128, 0.7);
  border: 1px solid transparent;
}

.btn--movie span {
  color: #fff;
}

/* 矢印の「>」 */
.btn--movie::before {
  content: "";
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

/* 矢印の「-」 */
.btn--view span::after {
  content: "";
  background-color: #fff;
  width: 49.29%;
}

@media screen and (min-width: 768px) {
  .btn--view span::after {
    width: 46.15%;
  }
}
/* ------------------------------ */
/* View All */
.btn--view {
  border: 1px solid #388080;
  max-width: 315px;
  max-width: 19.6875rem;
  width: 100%;
  padding: 24px 0 24px 37px;
  padding: 1.5rem 0 1.5rem 2.3125rem;
}

@media screen and (min-width: 768px) {
  .btn--view {
    max-width: 15.625rem;
    padding: 1.5rem 0 1.5rem 0.6875rem;
  }
}
.btn--view span {
  color: #388080;
}

/* 矢印の「>」 */
.btn--view span::before {
  content: "";
  border-top: 1px solid #388080;
  border-right: 1px solid #388080;
  transition: 0.3s;
}

/* 矢印の「-」 */
.btn--view span::after {
  content: "";
  background-color: #388080;
  transition: 0.3s;
}

.btn--view:hover span {
  color: #fff;
}
.btn--view:hover span::before {
  content: "";
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.btn--view:hover span::after {
  content: "";
  background-color: #fff;
}

/* トップへ戻るボタン */
.btn.btn-top-return {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  overflow: hidden;
  display: inline-block;
  max-width: 315px;
  max-width: 19.6875rem;
  width: 100%;
  padding: 27px 10px;
  padding: 1.6875rem 0.625rem;
  background-color: #388080;
  transition: all 0.3s ease;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .btn.btn-top-return {
    padding: 1.25rem 0.625rem;
    max-width: 22.5rem;
  }
}
.btn.btn-top-return span {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  text-align: center;
}

.btn-top-return::before,
.btn-top-return::after {
  content: none;
}

.btn-top-return:hover {
  opacity: 0.8;
}

.button {
  position: relative;
  overflow: hidden;
  display: block;
  transition: ease 0.2s;
}

.button span {
  position: relative;
  z-index: 3;
}

.bgleft:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #388080;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.bgleft:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

@media (max-width: 425px) {
  .recruit__img {
    display: none !important;
  }
}

.sp-br {
  display: none;
}
@media (max-width: 510px) {
  .sp-br {
    display: block;
  }
}

.main.main--toppage section:nth-child(odd):nth-child(n+3) {
  background-color: #f7f8f8;
  padding: 10vh 0;
  margin: 10vh 0;
}

.recruit__img {
  display: grid;
  place-items: center;
}
.recruit__img img {
  width: min(400px, 100%);
  margin: 2rem;
}

.scroll a::before {
  mix-blend-mode: screen;
}

.recruit {
  margin-bottom: 10vh;
}

.form02__select-wrap {
  border: 0.5px solid black;
}

@media (min-width: 768px) {
  .form02__itemLabel {
    width: 100%;
    margin-bottom: 1rem;
  }
  .form02__item label {
    margin-bottom: 1rem;
  }
  .form02__control {
    padding: 15px 0;
  }
  .wpcf7-select {
    padding-left: 1rem;
  }
}
.form02__item:nth-of-type(3) .form02__control {
  border: 0.5px solid #000;
}

.form02__control:has(.form__item-right-wrapper-gender) {
  line-height: 2;
}

@media (max-width: 768px) {
  .form02__control:has(.form__item-right-wrapper-birth) {
    margin-block: 1rem;
  }
}

@media (max-width: 768px) {
  .form02__select-wrap {
    margin-block: 1rem;
  }
}/*# sourceMappingURL=styles.css.map */