@charset "UTF-8";
/* リキッドレイアウト対応 */
.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 16px;
  }
}

html {
  scroll-padding-top: 4.6875rem;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 6.375rem;
  }
}

body {
  background-color: #F4F2F0;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0.12em;
}

body.page-template-page-recruit,
body.single-requirements,
body.parent-pageid-21,
body.parent-pageid-172 {
  background-color: #fff;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  pointer-events: none;
}

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

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

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

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

/* 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]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

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

textarea {
  resize: vertical;
}

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

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

.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}

.breadcrumb__item {
  font-size: 0.625rem;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .breadcrumb__item {
    font-size: 0.75rem;
    line-height: 1.4166666667;
  }
}

.breadcrumb__arrow {
  display: block;
  margin-inline: 1em;
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .breadcrumb__arrow {
    font-size: 0.75rem;
  }
}

.commonBtn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background-color: #247E47;
  border-radius: 0.3125rem;
  color: #fff;
  text-align: left;
  position: relative;
  min-width: 11.25rem;
  height: 2.875rem;
  font-size: 0.875rem;
  line-height: 2;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .commonBtn a {
    min-width: 12.5rem;
    height: 3.125rem;
    font-size: 1rem;
    line-height: 1.75;
  }
}

.commonBtn a::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  right: 2.75rem;
  top: 0;
}
@media screen and (min-width: 768px) {
  .commonBtn a::before {
    right: 3.125rem;
  }
}

.commonBtn a::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 100%;
  background-image: url("../images/common/icon_arrow-white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0.78125rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .commonBtn a::after {
    right: 0.9375rem;
  }
}

.commonBtn--white a {
  background-color: #fff;
  color: #247E47;
  letter-spacing: 0;
  min-width: 13.75rem;
  height: 2.875rem;
  padding: 0.8125rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .commonBtn--white a {
    min-width: 15.625rem;
    height: 3.75rem;
    padding: 1.125rem 1.25rem;
  }
}

.commonBtn--white a::before {
  background-color: #247E47;
  right: 2.9rem;
}
@media screen and (min-width: 768px) {
  .commonBtn--white a::before {
    right: 3.4625rem;
  }
}

.commonBtn--white a::after {
  background-image: url("../images/common/icon_arrow-green.svg");
  right: 0.90625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .commonBtn--white a::after {
    right: 1.3125rem;
  }
}

.commonBtn--back a {
  min-width: 13.75rem;
  background-color: #333;
  color: #fff;
  padding: 0.8125rem 0 0.8125rem 4.125rem;
}
@media screen and (min-width: 768px) {
  .commonBtn--back a {
    min-width: 12.5rem;
    padding: 0.8125rem 0 0.8125rem 4.0625rem;
  }
}

.commonBtn--back a::before {
  background-color: #fff;
  right: initial;
  left: 2.9rem;
}
@media screen and (min-width: 768px) {
  .commonBtn--back a::before {
    left: 3.125rem;
  }
}

.commonBtn--back a::after {
  right: initial;
  left: 0.90625rem;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(-1);
          transform: translateY(-50%) scale(-1);
}
@media screen and (min-width: 768px) {
  .commonBtn--back a::after {
    left: 1.0625rem;
  }
}

.commonBtn--recruit a {
  background-color: #6DB52E;
  min-width: 10.4375rem;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  padding-inline: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .commonBtn--recruit a {
    min-width: 11.25rem;
    height: 3.125rem;
  }
}

.commonBtn--recruit a::after {
  width: 1.5rem;
  background-image: url("../images/common/icon_arrow-recruit.svg");
  right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .commonBtn--recruit a::after {
    right: 0.6875rem;
  }
}

.footer {
  padding: 0.625rem 0.625rem 0.875rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 1.75rem 1.25rem 2.375rem;
  }
}

.footer__inner {
  background-image: url("../images/common/bg_footer-sp.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 0.625rem;
  height: 126.9333333333vw;
  height: 29.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer__inner {
    background-image: url("../images/common/bg_footer.webp");
    border-radius: 1.25rem;
    height: 69.2647058824vw;
    height: 58.875rem;
  }
}

.footer__inner::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 15.25rem;
  background-color: rgba(0, 0, 0, 0.11);
  border-radius: inherit;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .footer__inner::before {
    height: 29.4375rem;
  }
}

.footer__wrap {
  display: contents;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 4.5625rem;
    padding-left: 4.375rem;
  }
}

.footer__text {
  position: absolute;
  top: 1.6875rem;
  left: 1.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .footer__text {
    position: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 1.25rem;
    padding-top: 0.25rem;
  }
}

.footer__text p {
  font-size: 1rem;
  line-height: 1.0625;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .footer__text p {
    font-size: 1.375rem;
    line-height: 1.0909090909;
  }
}

.footer__logo {
  display: block;
  width: 100%;
  max-width: 12.0625rem;
  margin-left: auto;
  padding-top: 4.125rem;
  margin-right: 1.25rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    max-width: 20.5625rem;
    margin-left: 10.75rem;
    padding-top: 5.5625rem;
    margin-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .footer__nav {
    margin-left: 9.375rem;
  }
}

.footer__navItem + .footer__navItem {
  padding-left: 1em;
}

.footer__navItem a {
  font-size: 1rem;
  line-height: 1.875;
  color: #fff;
  letter-spacing: 0.05em;
}

.footer__copy {
  margin-top: 1.875rem;
  color: #fff;
  text-align: right;
  margin-right: 2.875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer__copy {
    text-align: center;
    margin-top: 0.4375rem;
    margin-left: 2.8125rem;
  }
}

.footer__copy small {
  font-size: 0.4375rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .footer__copy small {
    font-size: 0.75rem;
    line-height: 1.4166666667;
  }
}

.footer__links {
  background-color: rgba(0, 0, 0, 0.55);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-top: 2.59375rem;
  padding-top: 0.75rem;
  padding-bottom: 0.625rem;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  row-gap: 0.3125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer__links {
    margin-top: 0.875rem;
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
    gap: 0;
  }
}

.footer__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3125rem;
  color: #fff;
  letter-spacing: 0;
  text-align: center;
  font-size: 0.625rem;
  line-height: 1.5;
  min-width: 33%;
}
@media screen and (min-width: 768px) {
  .footer__link {
    width: 25%;
    height: 100%;
    font-size: 1.25rem;
    line-height: 1.25;
    position: relative;
    min-width: unset;
  }
}

@media screen and (min-width: 768px) {
  .footer__link + .footer__link::before {
    content: "";
    display: block;
    width: 1px;
    height: 70%;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.footer__link[target=_blank]::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-image: url("../images/common/icon_external-link.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .footer__link[target=_blank]::after {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.footer--recruit {
  padding: 0.625rem 0.625rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .footer--recruit {
    padding: 1.875rem 1.25rem 2.3125rem;
  }
}
.footer--recruit .footer__inner {
  background-image: url("../images/common/bg_footerRecruit-sp.webp");
  background-position: bottom;
  height: 24.4375rem;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__inner {
    background-image: url("../images/common/bg_footerRecruit.webp");
    height: 33.25rem;
  }
}
.footer--recruit .footer__inner::before {
  display: none;
}
.footer--recruit .footer__wrap {
  padding-top: 12.5rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__wrap {
    padding-top: 7.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.footer--recruit .footer__text {
  top: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__text {
    padding-top: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.footer--recruit .footer__text p {
  font-size: 1rem;
  line-height: 1.0625;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__text p {
    font-size: 1.25rem;
    line-height: 1.15;
  }
}
.footer--recruit .footer__logo {
  max-width: 12.0625rem;
  padding-top: 0;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__logo {
    max-width: 25.625rem;
    margin-left: 8.75rem;
    margin-right: 0;
    padding-top: 5.125rem;
  }
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__nav {
    margin-left: 9.125rem;
    margin-top: 0.3125rem;
  }
}
.footer--recruit .footer__navItem + .footer__navItem {
  padding-left: 1em;
}
.footer--recruit .footer__navItem--indent {
  padding-left: 3em !important;
}
.footer--recruit .footer__navItem a {
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.12em;
}
.footer--recruit .footer__copy {
  margin-top: 0.625rem;
  margin-right: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__copy {
    margin-top: 2.9375rem;
    margin-left: -5.1875rem;
  }
}
.footer--recruit .footer__copy small {
  font-size: 0.4375rem;
  line-height: 1.4285714286;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__copy small {
    font-size: 0.75rem;
    line-height: 1.4166666667;
  }
}
.footer--recruit .footer__links {
  background-color: transparent;
  border-top: 1px solid #fff;
  border-bottom: none;
  margin-top: 1.25rem;
  padding-top: 0.75rem;
  height: initial;
  -webkit-column-gap: 2.8125rem;
     -moz-column-gap: 2.8125rem;
          column-gap: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__links {
    margin-top: 0.875rem;
    padding-top: 0;
    padding-bottom: 0;
    height: 5.6875rem;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}
.footer--recruit .footer__link {
  gap: 0.3125rem;
  font-size: 0.625rem;
  line-height: 1.5;
  min-width: unset;
}
@media screen and (min-width: 768px) {
  .footer--recruit .footer__link {
    gap: 1.25rem;
    font-size: 1rem;
    line-height: 1.5625;
  }
}

.footerCta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}
@media screen and (min-width: 768px) {
  .footerCta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.25rem;
  }
}

.footerCta__container {
  background-color: #247E47;
  text-align: center;
  padding: 2.5rem 5.333vw;
}
@media screen and (min-width: 768px) {
  .footerCta__container {
    width: calc(50% - 0.125rem);
    padding: 3.9375rem 0 4.8125rem;
  }
}

.footerCta__map,
.footerCta__image {
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .footerCta__map,
  .footerCta__image {
    margin-top: 1.9375rem;
  }
}

.footerCta__map iframe,
.footerCta__image img {
  width: 100%;
  height: auto;
  margin-inline: auto;
  aspect-ratio: 335/160;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .footerCta__map iframe,
  .footerCta__image img {
    aspect-ratio: 498/293;
    max-width: 31.125rem;
  }
}

.footerCta__address {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .footerCta__address {
    margin-top: 1.75rem;
  }
}

.footerCta__address p {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.7142857143;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footerCta__address p {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.footerCta__btn {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .footerCta__btn {
    margin-top: 1.5625rem;
  }
}

.footerCta__tel {
  margin-top: 1.25rem;
  font-size: 1.75rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .footerCta__tel {
    margin-top: 1.5625rem;
    font-size: 2.3125rem;
    line-height: 0.9459459459;
  }
}

.footerCta__tel a {
  letter-spacing: 0.12em;
}

.footerCta__tel span {
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (min-width: 768px) {
  .footerCta__tel span {
    font-size: 1.25rem;
    line-height: 1.75;
  }
}

.footerCta__tel p {
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (min-width: 768px) {
  .footerCta__tel p {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.footerCta--recruit .footerCta__container {
  background-color: #FCF8EF;
  padding: 2.5rem 5.333vw;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__container {
    padding: 4rem 0 4.1875rem;
  }
}
.footerCta--recruit .footerCta__title span {
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 500;
  text-transform: uppercase;
  display: block;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__title span {
    font-size: 1rem;
    line-height: 1.3125;
  }
}
.footerCta--recruit .footerCta__title h2 {
  font-size: 2rem;
  line-height: 1.3125;
  font-weight: 400;
  margin-top: 0.0625rem;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__title h2 {
    font-size: 2.25rem;
    line-height: 1.9444444444;
    margin-top: 0.125rem;
  }
}
.footerCta--recruit .footerCta__map,
.footerCta--recruit .footerCta__image {
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__map,
  .footerCta--recruit .footerCta__image {
    margin-top: 0.5625rem;
  }
}
.footerCta--recruit .footerCta__address p {
  letter-spacing: 0.12em;
  color: #333;
}
.footerCta--recruit .footerCta__address + .footerCta__btn {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__address + .footerCta__btn {
    margin-top: 2.0625rem;
  }
}
.footerCta--recruit .footerCta__btn a {
  min-width: 14.25rem;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__btn a {
    min-width: 15.625rem;
  }
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__tel {
    margin-top: 1rem;
  }
}
.footerCta--recruit .footerCta__tel a {
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}
.footerCta--recruit .footerCta__tel p {
  color: #333;
  letter-spacing: 0.12em;
  font-size: 0.625rem;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__tel p {
    margin-top: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
.footerCta--recruit .footerCta__tel + .footerCta__btn {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .footerCta--recruit .footerCta__tel + .footerCta__btn {
    margin-top: 1rem;
  }
}

.form__required {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4166666667;
  color: #fff;
  padding: 0.125rem 0.5rem;
  background-color: #247E47;
  border-radius: 0.3125rem;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .form__required {
    font-size: 0.875rem;
    line-height: 1.4285714286;
    padding: 0.1875rem 0.625rem;
  }
}

.form__optional {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4166666667;
  padding: 0.125rem 0.5rem;
  border: 1px solid #707070;
  border-radius: 0.3125rem;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .form__optional {
    font-size: 0.875rem;
    line-height: 1.4285714286;
    padding: 0.1875rem 0.625rem;
  }
}

.form__telNote,
.form__postalcodeNote {
  font-size: 0.625rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .form__telNote,
  .form__postalcodeNote {
    font-size: 0.75rem;
    line-height: 1.4166666667;
  }
}

.form__telNote {
  margin-top: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .form__telNote {
    margin-top: 0.625rem;
  }
}

.form__postalcode {
  max-width: 7.5rem !important;
}
@media screen and (min-width: 768px) {
  .form__postalcode {
    max-width: 8.375rem !important;
  }
}

.form__address {
  margin-top: 0.625rem;
}

.form__privacy {
  border: 1px solid #c6c6c6;
  overflow-y: scroll;
  margin-top: 0.625rem;
  padding: 1.25rem;
  height: 13.6875rem;
}
@media screen and (min-width: 768px) {
  .form__privacy {
    height: 15.625rem;
  }
}

.form__privacyTitle {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .form__privacyTitle {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
}

.form__privacyText {
  padding-inline: 0.625rem;
  margin-top: 1.25rem;
  font-size: 0.75rem;
  line-height: 2.1666666667;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .form__privacyText {
    margin-top: 1.375rem;
    font-size: 0.875rem;
    line-height: 1.8571428571;
  }
}

.entry .form__required {
  background-color: #6DB52E;
}
.entry .form__telNote,
.entry .form__postalcodeNote {
  font-weight: 400;
}

.smf-item__label__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .smf-item__label__text {
    gap: 0.75rem;
    font-size: 1rem;
  }
}

.smf-form--letter .smf-item__col--label {
  padding-bottom: 0.625rem;
}

.smf-form--letter .smf-text-control__control,
.smf-form .smf-textarea-control__control {
  border-radius: 0.3125rem;
  padding: 0.625rem;
}

.smf-form--letter .smf-text-control__control::-webkit-input-placeholder, .smf-form .smf-textarea-control__control::-webkit-input-placeholder {
  color: #adadad;
}

.smf-form--letter .smf-text-control__control::-moz-placeholder, .smf-form .smf-textarea-control__control::-moz-placeholder {
  color: #adadad;
}

.smf-form--letter .smf-text-control__control:-ms-input-placeholder, .smf-form .smf-textarea-control__control:-ms-input-placeholder {
  color: #adadad;
}

.smf-form--letter .smf-text-control__control::-ms-input-placeholder, .smf-form .smf-textarea-control__control::-ms-input-placeholder {
  color: #adadad;
}

.smf-form--letter .smf-text-control__control::placeholder,
.smf-form .smf-textarea-control__control::placeholder {
  color: #adadad;
}

.smf-form .smf-select-control__control {
  border-radius: 0.3125rem;
  padding-block: 0.625rem;
}

.smf-radio-button-control__label {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .smf-radio-button-control__label {
    font-size: 0.875rem;
  }
}

.smf-form .smf-radio-button-control__control:checked,
.smf-form .smf-checkbox-control__control:checked {
  background-color: #fff;
  border-color: #bcbcbc;
}

.smf-form .smf-radio-button-control__control:before {
  background-color: #247E47;
}

.entry .smf-form .smf-radio-button-control__control:before {
  background-color: #6DB52E;
}

.smf-form .smf-checkbox-control__control:before {
  border-color: #247E47;
}

.entry .smf-form .smf-checkbox-control__control:before {
  border-color: #6DB52E;
}

.smf-form .smf-radio-button-control {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.smf-placeholder[data-name=agree] {
  text-align: center;
  margin-top: 0.875rem;
}

.smf-placeholder[data-name=agree] .smf-label {
  text-align: center;
}

.snow-monkey-form .smf-action {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .snow-monkey-form .smf-action {
    margin-top: 3.125rem;
  }
}

.snow-monkey-form[data-screen=confirm] .wp-block-columns:has(.form__privacy) {
  display: none;
}

.snow-monkey-form[data-screen=confirm] .smf-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .snow-monkey-form[data-screen=confirm] .smf-action {
    gap: 2.5rem;
  }
}

.smf-action .smf-button-control__control:not([data-action=back]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background-color: #247E47;
  border-radius: 0.3125rem;
  color: #fff;
  text-align: left;
  position: relative;
  min-width: 11.25rem;
  height: 2.875rem;
  font-size: 0.875rem;
  line-height: 2;
  padding: 0 1.25rem;
  background-image: none;
  border: none;
}
@media screen and (min-width: 768px) {
  .smf-action .smf-button-control__control:not([data-action=back]) {
    min-width: 12.5rem;
    height: 3.125rem;
    font-size: 1rem;
    line-height: 1.75;
  }
}

.smf-action .smf-button-control__control:not([data-action=back])::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  right: 2.75rem;
  top: 0;
}
@media screen and (min-width: 768px) {
  .smf-action .smf-button-control__control:not([data-action=back])::before {
    right: 3.125rem;
  }
}

.smf-action .smf-button-control__control:not([data-action=back])::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 100%;
  background-image: url("../images/common/icon_arrow-white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0.78125rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .smf-action .smf-button-control__control:not([data-action=back])::after {
    right: 0.9375rem;
  }
}

.entry .smf-action .smf-button-control__control:not([data-action=back]) {
  background-color: #6DB52E;
  font-weight: 700;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .entry .smf-action .smf-button-control__control:not([data-action=back]) {
    min-width: 11.25rem;
  }
}

.smf-action .smf-button-control__control:not([data-action=back])::after {
  background-image: url("../images/common/icon_arrow-recruit.svg");
}

.smf-action .smf-button-control + .smf-button-control {
  margin-left: 0;
}

.smf-action .smf-button-control__control[data-action=back] {
  background-color: transparent;
  background-image: none;
  color: #333;
  padding: 0;
  text-decoration: underline;
  border: none;
}

.header {
  width: 100%;
  height: 4.0625rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .header {
    height: 5rem;
  }
}

.header.scrolled {
  background-color: #fff;
}

.header__inner {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .header__inner {
    padding-inline: 1.875rem;
  }
}

.header__logo {
  width: 100%;
  max-width: 10.5rem;
}
@media screen and (min-width: 768px) {
  .header__logo {
    max-width: 15.75rem;
    width: 18vw;
    margin-top: 1.875rem;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}

@media screen and (min-width: 768px) {
  .header.scrolled:not(.header--recruit) .header__logo {
    max-width: 13.75rem;
    margin-top: 0.3125rem;
  }
}

.header__burger {
  width: 2.5rem;
  height: 2.5rem;
  padding-top: 0.65625rem;
  border-radius: 0.25rem;
  background-color: #247E47;
  display: -ms-grid;
  display: grid;
  place-content: center;
  z-index: 5;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .header__burger {
    display: none;
  }
}

.header__burgerBar {
  width: 1.375rem;
  height: 0.0625rem;
  background-color: #fff;
  position: relative;
  padding: 0;
  margin-inline: auto;
  display: block;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.header__burgerBar::before,
.header__burgerBar::after {
  content: "";
  position: absolute;
  width: 100%;
  display: block;
  height: 0.0625rem;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.header__burgerBar::before {
  top: -0.375rem;
}

.header__burgerBar::after {
  bottom: -0.375rem;
}

.header__burgerText {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.4375rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0;
  line-height: 1.4285714286;
  text-transform: uppercase;
  color: #fff;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.header__burger:hover .header__burgerText {
  color: #fff;
}

.header__drawer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding-top: 3.75rem;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  z-index: 5;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.header__drawer.open {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

.header__drawerLogo {
  width: 10.5rem;
  position: absolute;
  top: 1.125rem;
  left: 1.125rem;
}

.header__drawerClose {
  position: absolute;
  top: 1.0625rem;
  right: 0.625rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.25rem;
  background-color: #247E47;
  display: -ms-grid;
  display: grid;
  place-content: center;
  cursor: pointer;
}

.header__drawerCloseBar {
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1;
}

.header__drawerCloseText {
  margin-top: 0.1875rem;
  font-size: 0.4375rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4285714286;
  color: #fff;
  white-space: nowrap;
}

.header__drawerEntry {
  position: absolute;
  top: 1.0625rem;
  right: 3.75rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #6DB52E;
  border-radius: 0.25rem;
  padding-block: 0.1875rem;
}

.header__drawerEntry img {
  width: 1.625rem;
  height: 1.4375rem;
  margin-left: 0.25rem;
}

.header__drawerEntry span {
  color: #fff;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: -0.08em;
  white-space: nowrap;
}

.header__drawerItem {
  border-bottom: 1px solid #d5d5d5;
}

.header__drawerLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: 700;
  padding: 0.9375rem 0 0.9375rem 0.625rem;
}

.header__drawerLink::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../images/common/icon_drawerArrow.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.header__drawerBtns {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.header__drawerBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.625rem 0.625rem 0.625rem 0.8125rem;
  gap: 0.3125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 0.875rem;
  letter-spacing: 0;
  border-radius: 0.3125rem;
  background-color: #247E47;
  min-width: 5.25rem;
}

.header__drawerBtn img {
  width: 1.25rem;
  height: 0.9375rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.header__drawerPolicy {
  display: block;
  text-align: center;
  margin-top: 1.9375rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
}

.header__pcnavWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}

.header__pcnavList {
  display: none;
}
@media screen and (min-width: 768px) {
  .header__pcnavList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(1.428vw, 1.25rem);
  }
}

.header__pcnavItem {
  position: relative;
}

.header__pcnavLink {
  font-size: min(1vw, 0.875rem);
  font-family: "Noto Serif JP", serif;
  display: inline-block;
  position: relative;
}

.header__pcnavLink.active::after {
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: #247E47;
  position: absolute;
  bottom: -0.6875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.header__pcnavBtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.header__pcnavBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.625rem 0.5625rem;
  gap: 0.1875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 0.875rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0;
  border-radius: 0.3125rem;
  background-color: #247E47;
}

.header__pcnavBtn img {
  width: 1.25rem;
  height: 0.9375rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.header--recruit {
  margin-top: 0.625rem;
  margin-inline: auto;
  width: calc(100% - 1.25rem);
  border-radius: 2.0625rem;
  background-color: #fff;
  -webkit-box-shadow: 0rem 0.0625rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0rem 0.0625rem 0.375rem rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 768px) {
  .header--recruit {
    margin-top: 1.375rem;
    border-radius: 2.5rem;
    height: 5rem;
    max-width: 85rem;
  }
}
.header--recruit .header__inner {
  padding-inline: 1.25rem;
}
.header--recruit .header__logo {
  max-width: 12.625rem;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .header--recruit .header__logo {
    max-width: 16.875rem;
    margin-top: 0;
    margin-left: 1.25rem;
  }
}
.header--recruit .header__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
.header--recruit .header__entry {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #6DB52E;
  border-radius: 0.25rem;
  padding-block: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .header--recruit .header__entry {
    display: none;
  }
}
.header--recruit .header__entry img {
  width: 1.625rem;
  height: 1.4375rem;
  margin-left: 0.25rem;
}
.header--recruit .header__entry span {
  color: #fff;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: -0.08em;
}
.header--recruit .header__burgerText {
  font-family: "Noto Sans JP", serif;
  font-weight: 700;
}
.header--recruit .header__drawerLogo {
  width: 12.625rem;
}
.header--recruit .header__drawerLink::after {
  background-image: url("../images/common/icon_drawerArrow-recruit.svg");
}
.header--recruit .header__drawerBtn {
  background-color: #fff;
  color: #333;
  border: 1px solid #333;
  font-weight: 500;
}
.header--recruit .header__pcnavWrap {
  gap: 1.5625rem;
}
@media screen and (min-width: 1100px) {
  .header--recruit .header__pcnavList {
    gap: 1.875rem;
  }
}
.header--recruit .header__pcnavLink {
  font-family: "Noto Sans JP", serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.header--recruit .header__pcnavLink.active::after {
  background-color: #6DB52E;
}
.header--recruit .header__pcnavSublist {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 50%;
  bottom: -7.25rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
.header--recruit .header__pcnavItem:hover .header__pcnavSublist {
  opacity: 1;
  visibility: visible;
}
.header--recruit .header__pcnavSubitem:not(:last-child) {
  border-bottom: 1px solid #fff;
}
.header--recruit .header__pcnavSubitem:first-child {
  position: relative;
}
.header--recruit .header__pcnavSubitem:first-child::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 0.8125rem;
  background-color: #6DB52E;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -0.8125rem;
}
.header--recruit .header__pcnavSublink {
  display: inline-block;
  padding: 0.6875rem 0.875rem;
  min-width: 7.4375rem;
  background-color: #6DB52E;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}
.header--recruit .header__pcnavBtn {
  padding: 0.625rem 1.1875rem;
  font-family: "Noto Sans JP", serif;
  border-radius: 6.25rem;
}
.header--recruit .header__pcnavBtn:last-child {
  background-color: #6DB52E;
}

.inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1240px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.sectionTitle span {
  font-family: "Noto Serif JP", serif;
  font-size: 0.875rem;
  line-height: 1.5;
  text-transform: uppercase;
  display: block;
  text-align: left;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .sectionTitle span {
    font-size: 1.25rem;
    line-height: 1.05;
  }
}

.sectionTitle h2 {
  font-size: 2rem;
  line-height: 1.3125;
  text-align: left;
  margin-top: 0.9375rem;
  color: #247E47;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .sectionTitle h2 {
    font-size: 2.75rem;
    line-height: 1.3636363636;
    margin-top: 1.5625rem;
  }
}

.sectionTitle--white.sectionTitle span {
  color: #fff;
  text-align: center;
  text-decoration-color: #fff;
}

.sectionTitle--white.sectionTitle h2 {
  color: #fff;
  text-align: center;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .sectionTitle--white.sectionTitle h2 {
    margin-top: 1.4375rem;
  }
}

.subpageHeader__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .subpageHeader__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .subpageHeader__title {
    margin-top: 4.25rem;
  }
}

@media screen and (min-width: 768px) {
  .subpageHeader--noimg .subpageHeader__title {
    margin-top: 0;
  }
}

.subpageHeader__title span {
  font-family: "Noto Serif JP", serif;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-transform: uppercase;
  display: block;
  text-align: left;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .subpageHeader__title span {
    font-size: 1.25rem;
    line-height: 1.05;
  }
}

.subpageHeader__title h1 {
  font-size: 1.6875rem;
  line-height: 1.5185185185;
  text-align: left;
  margin-top: 0.9375rem;
  color: #247E47;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .subpageHeader__title h1 {
    font-size: 3.125rem;
    line-height: 1.4;
    margin-top: 1.875rem;
  }
}

.subpageHeader__image {
  margin-top: 0.9375rem;
  width: 100vw;
  height: 45.3333333333vw;
  margin-inline: calc(50% - 50vw);
  padding-inline: 2.666vw;
}
@media screen and (min-width: 768px) {
  .subpageHeader__image {
    width: 55vw;
    height: 21.125rem;
    margin-top: 0;
    margin-inline: 0;
    margin-right: calc(50% - 50vw);
    padding-inline: 0;
  }
}

.subpageHeader__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .subpageHeader__image img {
    border-radius: 0.625rem 0 0 0.625rem;
  }
}

.recruitHeader__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 5.9375rem;
}
@media screen and (min-width: 768px) {
  .recruitHeader__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 5.6875rem;
  }
}

@media screen and (min-width: 768px) {
  .recruitHeader--noimg {
    margin-top: 11.875rem;
  }
}

.recruitHeader__title span {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-transform: uppercase;
  display: block;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .recruitHeader__title span {
    font-size: 1.25rem;
    line-height: 1.45;
  }
}

.recruitHeader__title h1 {
  font-size: 1.875rem;
  line-height: 1.4666666667;
  font-weight: 400;
  margin-top: 0.4375rem;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .recruitHeader__title h1 {
    font-size: 3.125rem;
    line-height: 1.44;
    margin-top: 1.125rem;
  }
}

.recruitHeader__image {
  margin-top: 0.875rem;
  width: 94.666vw;
  width: 100vw;
  height: 45.3333333333vw;
  margin-inline: calc(50% - 50vw);
  padding-inline: 2.666vw;
}
@media screen and (min-width: 768px) {
  .recruitHeader__image {
    margin-top: 0;
    width: 55vw;
    height: 21.125rem;
    margin-inline: initial;
    padding-inline: 0;
    margin-right: calc(50% - 50vw);
  }
}

.recruitHeader__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitHeader__image img {
    border-radius: 0.625rem 0 0 0.625rem;
  }
}

.subSectionTitle {
  font-size: 2rem;
  font-weight: 500;
  color: #247E47;
}
@media screen and (min-width: 768px) {
  .subSectionTitle {
    font-size: 2.75rem;
    line-height: 1.5909090909;
  }
}

.subSmallTitle {
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .subSmallTitle {
    font-size: 1.3125rem;
  }
}

.subSmallTitle::before {
  content: "";
  display: block;
  width: 0.1875rem;
  height: 1.5625rem;
  background-color: #247E47;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.subRecruitTitle span {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-transform: uppercase;
  display: block;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .subRecruitTitle span {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.subRecruitTitle h2 {
  font-size: 1.6875rem;
  line-height: 1.4814814815;
  font-weight: 400;
  margin-top: 0.5rem;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .subRecruitTitle h2 {
    font-size: 2.5rem;
    line-height: 1.5;
    margin-top: 1.25rem;
  }
}

.text {
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .text {
    font-size: 1rem;
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .recruitTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 1.125rem;
  }
}

.recruitTitle > span {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-transform: uppercase;
  display: block;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .recruitTitle > span {
    font-size: 1.25rem;
    line-height: 1.05;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

.recruitTitle > h2 {
  font-size: 1.6875rem;
  line-height: 1.4444444444;
  font-weight: 400;
  margin-top: 0.6875rem;
  color: #6DB52E;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .recruitTitle > h2 {
    font-size: 2.5rem;
    line-height: 1.1;
    margin-top: 0;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

.pagetop {
  position: fixed;
  right: 0.625rem;
  bottom: 0.625rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .pagetop {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

.pagetop__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.0625rem;
  background-color: #247E47;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .pagetop__btn {
    width: 3.125rem;
    height: 3.125rem;
  }
}

.pagetop--recruit .pagetop__btn {
  background-color: #6DB52E;
}

.pagetop__btn img {
  width: 0.625rem;
}
@media screen and (min-width: 768px) {
  .pagetop__btn img {
    width: 0.8125rem;
  }
}

.pagetop__btn span {
  display: block;
  text-transform: uppercase;
  font-size: 0.625rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .pagetop__btn span {
    font-size: 0.8125rem;
    line-height: 1.4615384615;
  }
}

.lineAnimation {
  position: absolute;
  width: 100%;
  height: auto;
  z-index: -1;
}

.lineAnimation__line {
  stroke: #247E47;
  stroke-width: 1;
  stroke-dasharray: 512;
  stroke-dashoffset: 512;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@media screen and (min-width: 768px) {
  .lineAnimation__line {
    stroke-dasharray: 1710;
    stroke-dashoffset: 1710;
  }
}

.lineAnimation.is-active .lineAnimation__line {
  -webkit-animation: draw-line 3s linear forwards;
          animation: draw-line 3s linear forwards;
}

@-webkit-keyframes draw-line {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes draw-line {
  to {
    stroke-dashoffset: 0;
  }
}
.newsCategories ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .newsCategories ul {
    gap: 1.25rem;
  }
}

.newsCategories li {
  min-width: 6.5625rem;
}
@media screen and (min-width: 768px) {
  .newsCategories li {
    min-width: 9.3125rem;
  }
}

.newsCategories li a,
.newsCategories li span {
  display: inline-block;
  width: 100%;
  border-radius: 6.25rem;
  border: 1px solid #333;
  font-size: 0.8125rem;
  letter-spacing: 0;
  color: #333;
  text-align: center;
  padding: 0.375rem 0;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .newsCategories li a,
  .newsCategories li span {
    font-size: 1rem;
    padding: 0.5rem 0;
  }
}

.newsCategories li a.active,
.newsCategories li span.active {
  background-color: #333;
  color: #fff;
}

.newsList {
  display: -ms-grid;
  display: grid;
  -webkit-column-gap: 1.1875rem;
     -moz-column-gap: 1.1875rem;
          column-gap: 1.1875rem;
  row-gap: 1.875rem;
  -ms-grid-columns: 1fr 1.1875rem 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
  .newsList {
    -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr 1.875rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
    row-gap: 3.75rem;
  }
}

.newsList__link {
  display: inline-block;
  width: 100%;
}

.newsList__image img {
  aspect-ratio: 1/1;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}

.newsList__body {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .newsList__body {
    margin-top: 0.5625rem;
  }
}

.newsList__info {
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .newsList__info {
    gap: 1.1875rem;
  }
}

.newsList__date {
  font-family: "Noto Serif JP", serif;
  font-size: 0.75rem;
  line-height: 1.4166666667;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .newsList__date {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.newsList__category {
  display: inline-block;
  font-size: 0.625rem;
  line-height: 1.5;
  letter-spacing: 0;
  border-radius: 6.25rem;
  border: 1px solid #333;
  min-width: 5.5625rem;
  text-align: center;
  padding: 0.25rem;
}
@media screen and (min-width: 768px) {
  .newsList__category {
    font-size: 0.75rem;
    line-height: 1.3333333333;
    min-width: 6.1875rem;
    padding: 0.1875rem;
  }
}

.newsList__title {
  margin-top: 0.5625rem;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 0;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .newsList__title {
    margin-top: 0.625rem;
    font-size: 1.3125rem;
    line-height: 1.3333333333;
  }
}

.newsList__text {
  font-size: 0.875rem;
  line-height: 1.8571428571;
  margin-top: 0.625rem;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .newsList__text {
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 0.9375rem;
  }
}

.pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 0.625rem;
}

.page-numbers {
  display: block;
  font-family: "Noto Sans JP", serif;
  font-size: 0.875rem;
  font-weight: 700;
  height: 2.5rem;
  line-height: 2.5rem;
  margin-inline: 0.46875rem;
  min-width: 2.5rem;
  padding: 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  width: auto;
  border-radius: 0.3125rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .page-numbers {
    font-size: 1.125rem;
    height: 3.125rem;
    line-height: 3.125rem;
    min-width: 3.125rem;
    margin-inline: 0.625rem;
  }
}

.page-numbers.current {
  background-color: #333;
  color: #fff;
}

a.page-numbers:hover {
  background-color: #333;
  color: #fff;
  opacity: 1;
}

.page-numbers.next,
.page-numbers.prev {
  background-color: transparent !important;
  border: none !important;
  min-width: unset;
  padding-inline: 0.625rem;
}

.page-numbers.next::before,
.page-numbers.prev::before {
  content: "";
  display: block;
  width: 0.8125rem;
  height: 0.8125rem;
  border-top: 0.125rem solid #333;
  border-left: 0.125rem solid #333;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
          transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .page-numbers.next::before,
  .page-numbers.prev::before {
    width: 0.875rem;
    height: 0.875rem;
    border-top: 0.14125rem solid #333;
    border-left: 0.14125rem solid #333;
  }
}

.page-numbers.next {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.recruitColumn2 {
  margin-top: 6.25rem;
  padding-bottom: 6.8125rem;
}
@media screen and (min-width: 768px) {
  .recruitColumn2 {
    margin-top: 10rem;
    padding-bottom: 7.4375rem;
  }
}

.recruitColumn2__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.3125rem;
}
@media screen and (min-width: 768px) {
  .recruitColumn2__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .recruitColumn2__container {
    width: calc(50% - 2.5rem);
  }
}

.recruitColumn2__img img {
  aspect-ratio: 335/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitColumn2__img img {
    aspect-ratio: 560/280;
  }
}

.recruitColumn2__body {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .recruitColumn2__body {
    margin-top: 0.9375rem;
  }
}

.recruitColumn2__title span {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-transform: uppercase;
  display: block;
  -webkit-text-decoration: underline 1px;
          text-decoration: underline 1px;
  text-decoration-color: #333;
  text-underline-offset: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .recruitColumn2__title span {
    font-size: 1rem;
    line-height: 1.3125;
  }
}

.recruitColumn2__title h2 {
  font-size: 1.6875rem;
  line-height: 1.1111111111;
  font-weight: 400;
  margin-top: 0.6875rem;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .recruitColumn2__title h2 {
    font-size: 2.125rem;
    line-height: 1.4411764706;
    margin-top: 0.6875rem;
  }
}

.recruitColumn2__btn {
  margin-top: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .recruitColumn2__btn {
    margin-top: 2.125rem;
  }
}

.recruitCrosstalk__wrap {
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  padding: 1.875rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 50rem;
    margin-inline: auto;
    padding: 3.125rem 3.75rem 3.625rem;
  }
}

.recruitCrosstalk__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__body {
    display: block;
  }
}

.recruitCrosstalk__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 400;
  color: #6DB52E;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__title {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    font-size: 1.875rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
}

.recruitCrosstalk__text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 0.625rem;
  letter-spacing: 0;
  line-height: 1.4285714286;
  font-size: 0.875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__text {
    margin-top: 1.875rem;
    line-height: 1.5625;
    font-size: 1rem;
  }
}

.recruitCrosstalk__btn {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__btn {
    margin-top: 3.125rem;
  }
}

.recruitCrosstalk__image {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__image {
    width: 56.764%;
  }
}

.recruitCrosstalk__image img {
  aspect-ratio: 295/155;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitCrosstalk__image img {
    aspect-ratio: 386/262;
  }
}

.recruitSublead__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.8125rem;
  padding-left: 10vw;
}
@media screen and (min-width: 768px) {
  .recruitSublead__wrap {
    gap: 8.375rem;
    padding-left: 0;
  }
}

.recruitSublead__text {
  min-width: 4.875rem;
}
@media screen and (min-width: 768px) {
  .recruitSublead__text {
    min-width: 9.1875rem;
  }
}

.recruitSublead__text p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.625;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .recruitSublead__text p {
    font-size: 1.5rem;
    line-height: 2.0416666667;
  }
}

@media screen and (min-width: 768px) {
  .recruitSublead__image {
    margin-top: 2.0625rem;
  }
}

.recruitSublead__image img:first-child {
  width: 45.333vw;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  margin-left: 2.625rem;
}
@media screen and (min-width: 768px) {
  .recruitSublead__image img:first-child {
    width: 17.5rem;
    margin-left: 13.125rem;
  }
}

.recruitSublead__image img:last-child {
  width: 22.666vw;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  margin-top: 4.1875rem;
}
@media screen and (min-width: 768px) {
  .recruitSublead__image img:last-child {
    width: 7.5rem;
    margin-top: 2.1875rem;
  }
}

.slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  padding-bottom: 5.1875rem;
}
@media screen and (min-width: 768px) {
  .slider .swiper-wrapper {
    padding-bottom: 9.75rem;
  }
}

.slider__image img {
  aspect-ratio: 186/133;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .slider__image img {
    aspect-ratio: 350/250;
  }
}

.slider__image--odd {
  position: relative;
  top: 5.1875rem;
}
@media screen and (min-width: 768px) {
  .slider__image--odd {
    top: 9.75rem;
  }
}

.recruitSlider01 {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.recruitSlider01 .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.recruitSlider01__slide--odd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}
@media screen and (min-width: 768px) {
  .recruitSlider01__slide--odd {
    gap: 10px;
  }
}

.recruitSlider01__slide img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.recruitSlider01__slide--odd img {
  width: calc(50% - 2px);
}
@media screen and (min-width: 768px) {
  .recruitSlider01__slide--odd img {
    width: calc(50% - 5px);
  }
}

.recruitSlider02 {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.recruitSlider02 .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.recruitSlider02__slide img {
  height: 100%;
  aspect-ratio: 200/133;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitSlider02__slide img {
    aspect-ratio: 300/200;
  }
}

.swiper-pagination-bullet {
  background-color: #d1d1d1;
  opacity: 1;
  width: 3.125rem;
  height: 0.3125rem;
  margin: 0 0.21875rem !important;
  border-radius: 6.25rem;
}
@media screen and (min-width: 768px) {
  .swiper-pagination-bullet {
    width: 4.3125rem;
  }
}

.swiper-pagination-bullet-active {
  background-color: #818181;
}

.voiceList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.6875rem;
     -moz-column-gap: 0.6875rem;
          column-gap: 0.6875rem;
  row-gap: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .voiceList {
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.voiceList__item {
  padding: 0.5625rem 0.3125rem 1.25rem;
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  text-align: center;
  width: calc(50% - 0.34375rem);
}
@media screen and (min-width: 768px) {
  .voiceList__item {
    padding: 0.625rem 0.625rem 2.5rem;
    width: calc(25% - 1.40625rem);
  }
}

.voiceList__image {
  width: 88.888%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .voiceList__image {
    width: 92.972%;
    max-width: 16.125rem;
  }
}

.voiceList__image img {
  aspect-ratio: 144/102;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .voiceList__image img {
    aspect-ratio: 258/180;
  }
}

.voiceList__name {
  display: block;
  margin-top: 0.625rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #6DB52E;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .voiceList__name {
    margin-top: 1.25rem;
    font-size: 1.375rem;
    line-height: 1.4545454545;
  }
}

.voiceList__text {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .voiceList__text {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.5625;
  }
}

.voiceList__btn {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .voiceList__btn {
    margin-top: 1.875rem;
  }
}

.voiceList__btn a {
  min-width: 7.4375rem;
  padding-inline: 0.625rem;
  height: 2.0625rem;
  font-size: 0.75rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .voiceList__btn a {
    min-width: 11.25rem;
    padding-inline: 1.25rem;
    height: 3.125rem;
    font-size: 0.875rem;
    letter-spacing: 0.12em;
  }
}

.voiceList__btn a::before {
  right: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .voiceList__btn a::before {
    right: 3.1875rem;
  }
}

.voiceList__btn a::after {
  width: 0.96875rem;
  right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .voiceList__btn a::after {
    width: 1.25rem;
    right: 0.8125rem;
  }
}

.mv {
  position: relative;
  width: 100%;
  margin-top: 5.0625rem;
}
@media screen and (min-width: 768px) {
  .mv {
    margin-top: 8.875rem;
  }
}

.mv__imageWrap {
  position: relative;
  z-index: 2;
  margin-top: 1.25rem;
  margin-inline: auto;
  width: 89.333%;
}
@media screen and (min-width: 768px) {
  .mv__imageWrap {
    margin-top: 1.8125rem;
    width: 97.142%;
  }
}

.mv__images {
  margin-inline: 0;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .mv__images {
    padding-bottom: 1.375rem;
  }
}

.mv__images .swiper-slide {
  aspect-ratio: 355/200;
  border-radius: max(0.714vw, 0.625rem);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .mv__images .swiper-slide {
    aspect-ratio: 1360/589;
    border-radius: max(1.428vw, 1.25rem);
  }
}

.swiper-slide-active .mv__image,
.swiper-slide-duplicate-active .mv__image,
.swiper-slide-prev .mv__image {
  -webkit-animation: ascending-sp 4s ease-out 0s normal both;
          animation: ascending-sp 4s ease-out 0s normal both;
}
@media screen and (min-width: 768px) {
  .swiper-slide-active .mv__image,
  .swiper-slide-duplicate-active .mv__image,
  .swiper-slide-prev .mv__image {
    -webkit-animation: ascending 6s ease-out 0s normal both;
            animation: ascending 6s ease-out 0s normal both;
  }
}

.mv__image img {
  -o-object-fit: cover;
     object-fit: cover;
}

@-webkit-keyframes ascending {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-33%);
            transform: translateY(-33%);
  }
}

@keyframes ascending {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-33%);
            transform: translateY(-33%);
  }
}
@-webkit-keyframes ascending-sp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-13%);
            transform: translateY(-13%);
  }
}
@keyframes ascending-sp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-13%);
            transform: translateY(-13%);
  }
}
.mv__textWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-inline: 5.333vw;
}
@media screen and (min-width: 768px) {
  .mv__textWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 4.714vw;
    padding-inline: 0;
  }
}

.mv__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 3.2vw;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .mv__text {
    gap: 1.071vw;
    margin-left: 0;
  }
}

.mv__text p {
  color: #247E47;
  font-size: 7.733vw;
  line-height: 1.0689655172;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .mv__text p {
    font-size: 3.785vw;
    line-height: 1.0943396226;
    letter-spacing: 0.1em;
  }
}

.mv__subtext {
  margin-top: -8vw;
}
@media screen and (min-width: 768px) {
  .mv__subtext {
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 3.571vw;
    margin-top: 1.642vw;
  }
}

.mv__subtext p {
  font-size: 3.733vw;
  line-height: 1.8571428571;
}
@media screen and (min-width: 768px) {
  .mv__subtext p {
    font-size: 1.1428vw;
    line-height: 2.25;
    letter-spacing: 0.05em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

.mv .swiper-pagination {
  bottom: 0 !important;
}

.mv_lineAnimation {
  top: 0.625rem;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .mv_lineAnimation {
    top: 14.125rem;
  }
}

.topAbout {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .topAbout {
    margin-top: 5.625rem;
  }
}

@media screen and (min-width: 768px) {
  .topAbout__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 7rem;
  }
}

.topAbout__imageWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .topAbout__imageWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.875rem;
    padding-bottom: 1.357vw;
  }
}

.topAbout__image-l {
  width: 94.666vw;
  aspect-ratio: 355/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-right-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .topAbout__image-l {
    width: 42.857vw;
    aspect-ratio: 600/589;
    border-top-right-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
  }
}

.topAbout__image-s {
  position: absolute;
  width: 40vw;
  aspect-ratio: 150/99.73;
  -o-object-fit: cover;
     object-fit: cover;
  right: 32.533vw;
  top: min(68.8vw, 28.125rem);
}
@media screen and (min-width: 768px) {
  .topAbout__image-s {
    right: 2.714vw;
    top: initial;
    bottom: -6vw;
    width: 19.285vw;
    aspect-ratio: 270/180;
  }
}

.topAbout__imageText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.75rem;
  margin-left: auto;
  margin-right: 5.334vw;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topAbout__imageText {
    gap: 1.25rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1.5rem;
  }
}

.topAbout__imageText p {
  font-size: 1.25rem;
  line-height: 1.05;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .topAbout__imageText p {
    font-size: 1.5rem;
    line-height: 1.0833333333;
  }
}

.topAbout__body {
  margin-top: -1.875rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topAbout__body {
    margin-top: 1.375rem;
    padding-inline: 0;
    width: 100%;
    max-width: 26.875rem;
  }
}

.topAbout__text {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .topAbout__text {
    margin-top: 1.25rem;
  }
}

.topAbout__btn {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .topAbout__btn {
    margin-top: 2.25rem;
  }
}

.topCase {
  margin-top: 3.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .topCase {
    margin-top: 8.75rem;
  }
}

.topCase__wrap {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2.5rem 1.875rem 2.5rem;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .topCase__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 5.4375rem;
    padding: 5rem;
  }
}

.topCase__image {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topCase__image {
    max-width: 27.625rem;
    margin-top: 0;
  }
}

.topCase__image img {
  aspect-ratio: 275/202;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .topCase__image img {
    aspect-ratio: 442/325;
  }
}

.topCase__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .topCase__body {
    width: 50%;
    display: block;
  }
}

.topCase__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.topCase__text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .topCase__text {
    margin-top: 1.25rem;
  }
}

.topCase__btn {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 1.28125rem;
}
@media screen and (min-width: 768px) {
  .topCase__btn {
    margin-top: 3.75rem;
  }
}

.topCase_lineAnimation {
  top: -11.375rem;
  z-index: -1;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .topCase_lineAnimation {
    top: -12.25rem;
  }
}

.topCompany {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .topCompany {
    margin-top: 9.5rem;
    padding-left: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .topCompany__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 7rem;
  }
}

.topCompany__imageWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .topCompany__imageWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 1.875rem;
  }
}

.topCompany__image {
  width: 94.666vw;
  aspect-ratio: 355/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-left-radius: 0.625rem;
  border-bottom-left-radius: 0.625rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .topCompany__image {
    width: 42.857vw;
    aspect-ratio: 600/589;
    margin-left: 0;
  }
}

.topCompany__imageText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.75rem;
  margin-right: auto;
  margin-left: 5.334vw;
  margin-top: 1.875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .topCompany__imageText {
    gap: 1.25rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
  }
}

.topCompany__imageText p {
  font-size: 1.25rem;
  line-height: 1.05;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .topCompany__imageText p {
    font-size: 1.5rem;
    line-height: 1.0833333333;
  }
}

.topCompany__body {
  margin-top: -8.125rem;
  padding-inline: 1.25rem;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .topCompany__body {
    margin-top: 0;
    padding-inline: 0;
    width: 100%;
    max-width: 30.5rem;
  }
}

.topCompany__text {
  margin-top: 0.625rem;
  width: 64.8vw;
}
@media screen and (min-width: 768px) {
  .topCompany__text {
    margin-top: 2rem;
    width: auto;
  }
}

.topCompany__btn {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .topCompany__btn {
    margin-top: 2.5rem;
  }
}

.topNews {
  margin-top: 6.25rem;
  padding-bottom: 3.5rem;
}
@media screen and (min-width: 768px) {
  .topNews {
    margin-top: 9.75rem;
    padding-bottom: 7.5rem;
  }
}

.topNews__categories {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topNews__categories {
    margin-top: 1.875rem;
  }
}

.topNews__list {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topNews__list {
    margin-top: 1.375rem;
  }
}

.topNews__list[hidden] {
  display: none;
}

.topNews__btn {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .topNews__btn {
    margin-top: 2.1875rem;
    text-align: right;
  }
}

.topRecruit {
  margin-top: 5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .topRecruit {
    margin-top: 10rem;
  }
}

@media screen and (min-width: 768px) {
  .topRecruit__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 9.5rem;
  }
}

.topRecruit__imageWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .topRecruit__imageWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.875rem;
  }
}

.topRecruit__image {
  width: 94.666vw;
  aspect-ratio: 355/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-right-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .topRecruit__image {
    width: 46.428vw;
    aspect-ratio: 650/444;
  }
}

.topRecruit__imageText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.75rem;
  margin-left: auto;
  margin-right: 5.334vw;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topRecruit__imageText {
    gap: 1.25rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
  }
}

.topRecruit__imageText p {
  font-size: 1.25rem;
  line-height: 1.05;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .topRecruit__imageText p {
    font-size: 1.5rem;
    line-height: 1.0833333333;
  }
}

.topRecruit__body {
  margin-top: -4.375rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topRecruit__body {
    margin-top: 1.375rem;
    padding-inline: 0;
    width: 100%;
    max-width: 26.875rem;
  }
}

.topRecruit__text {
  margin-top: 0.625rem;
  width: 64.8vw;
}
@media screen and (min-width: 768px) {
  .topRecruit__text {
    margin-top: 1.875rem;
    width: auto;
  }
}

.topRecruit__btn {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topRecruit__btn {
    margin-top: 2.5rem;
  }
}

.topRecruit_lineAnimation {
  top: -2.8125rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .topRecruit_lineAnimation {
    top: 8.125rem;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

.topService {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .topService {
    margin-top: 11.875rem;
  }
}

.topService__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  padding: 2.5rem 1.875rem 2.5rem;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .topService__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5rem;
    padding: 4.875rem 5rem 6.625rem;
  }
}

.topService__body {
  width: 100%;
  display: contents;
}
@media screen and (min-width: 768px) {
  .topService__body {
    width: 40.576%;
    display: block;
    margin-top: 0.625rem;
  }
}

.topService__title {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.topService__text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .topService__text {
    margin-top: 6.25rem;
  }
}

.topService__btn {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 1.28125rem;
}
@media screen and (min-width: 768px) {
  .topService__btn {
    margin-top: 2.1875rem;
  }
}

.topService__list {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  display: -ms-grid;
  display: grid;
  gap: 0.625rem;
  -ms-grid-columns: 1fr 0.625rem 1fr 0.625rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .topService__list {
    gap: 1.25rem;
    margin-top: 0;
    min-width: 33.625rem;
  }
}

.topService__item {
  text-align: center;
  background-color: #EEF7F5;
  padding: 0.625rem 0.78125rem;
}
@media screen and (min-width: 768px) {
  .topService__item {
    padding: 1.25rem;
  }
}

.topService__itemIcon {
  margin-inline: auto;
  width: 3.75rem;
  height: 3.75rem;
}
@media screen and (min-width: 768px) {
  .topService__itemIcon {
    width: 7.5rem;
    height: 7.5rem;
  }
}

.topService__itemTitle {
  font-size: 0.875rem;
  letter-spacing: 0;
  line-height: 1.1428571429;
  font-weight: 500;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .topService__itemTitle {
    font-size: 1.125rem;
    line-height: 1;
    margin-top: 1.125rem;
  }
}

.topSlider {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .topSlider {
    margin-top: 7.75rem;
  }
}

.about {
  margin-top: 5rem;
  margin-bottom: 3.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .about {
    margin-top: 5.75rem;
    margin-bottom: 7.5rem;
  }
}

.about__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__breadcrumb {
    margin-top: 0.625rem;
    padding-right: 1.25rem;
  }
}

.about__message {
  margin-top: 1.6875rem;
}
@media screen and (min-width: 768px) {
  .about__message {
    margin-top: 6.5625rem;
  }
}

.about__messageWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 48.8vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  .about__messageWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
}

.about__messageLabel {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.6;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .about__messageLabel {
    font-size: 1.5rem;
    line-height: 1.8333333333;
    top: -2.0625rem;
  }
}

@media screen and (min-width: 768px) {
  .about__messageTextWrap {
    margin-top: 0;
    padding-left: 9.875rem;
  }
}

.about__messageText {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__messageText {
    margin-top: 1.875rem;
  }
}

.about__messageImgs {
  position: relative;
  width: 67.466vw;
  margin-right: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .about__messageImgs {
    width: 33.333%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 2.5625rem;
    margin-right: 0;
  }
}

.about__messageImgs picture:nth-child(1) img {
  aspect-ratio: 253/258;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  border-radius: 0.625rem 0 0 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__messageImgs picture:nth-child(1) img {
    aspect-ratio: 400/490;
    border-radius: 0.625rem;
  }
}

.about__messageImgs picture:nth-child(2) img {
  aspect-ratio: 1/1;
  width: 34.666vw;
  height: 34.666vw;
  bottom: -25.6vw;
  left: 20.533vw;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  border: 0.375rem solid #F4F2F0;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__messageImgs picture:nth-child(2) img {
    width: 12.6875rem;
    height: 12.6875rem;
    bottom: -14.125rem;
    left: -20.3125rem;
  }
}

.about__messageImgs picture:nth-child(3) img {
  aspect-ratio: 88/83;
  width: 23.466vw;
  height: 22.1333vw;
  bottom: -39.466vw;
  left: -9.066vw;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__messageImgs picture:nth-child(3) img {
    width: 6.625rem;
    height: 6.625rem;
    bottom: -18.125rem;
    left: 0.6875rem;
  }
}

.about__story {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .about__story {
    margin-top: 20.5rem;
  }
}

.about__storyTitle h2 {
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .about__storyTitle h2 {
    letter-spacing: 0.12em;
  }
}

.about__storyLead {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__storyLead {
    margin-top: 1.875rem;
  }
}

.about__storyList {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about__storyList {
    margin-top: 3.3125rem;
  }
}

.about__storyItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .about__storyItem {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.375rem;
  }
}

.about__storyItem + .about__storyItem {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .about__storyItem + .about__storyItem {
    margin-top: 7.5rem;
  }
}

@media screen and (min-width: 768px) {
  .about__storyItem:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.about__storyTextWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.625rem;
}
@media screen and (min-width: 768px) {
  .about__storyTextWrap {
    gap: 3.375rem;
  }
}

.about__storyNum {
  display: block;
  color: #247E47;
  font-weight: 500;
  letter-spacing: 0.12em;
  font-size: 0.9375rem;
  text-align: right;
  padding-right: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .about__storyNum {
    font-size: 1.125rem;
    line-height: 1.4444444444;
    margin-right: 0.625rem;
  }
}

.about__storyItemTitle {
  margin-top: 0.375rem;
  letter-spacing: 0.12em;
  font-weight: 500;
  font-size: 1.25rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  min-width: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .about__storyItemTitle {
    font-size: 1.875rem;
    line-height: 1.6666666667;
    min-width: 3.125rem;
  }
}

.about__storyItemTitle:has(br) {
  min-width: 3.625rem;
}
@media screen and (min-width: 768px) {
  .about__storyItemTitle:has(br) {
    min-width: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .about__storyItemText {
    margin-top: 2.0625rem;
  }
}

.about__storyItemBtn {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about__storyItemBtn {
    margin-top: 3.125rem;
  }
}

.about__storyItemBtn a {
  width: 12.625rem;
}
@media screen and (min-width: 768px) {
  .about__storyItemBtn a {
    width: 15.625rem;
  }
}

.about__storyItemBtn a::after {
  width: 0.875rem;
  background-image: url("../images/common/icon_external-link.svg");
}

.about__storyImg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .about__storyImg {
    width: 39.166%;
    max-width: 29.375rem;
    margin-top: 2.0625rem;
  }
}

@media screen and (min-width: 768px) {
  .about__storyItem:nth-child(even) .about__storyImg {
    margin-top: 0;
  }
}

.about__storyImg img {
  aspect-ratio: 335/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__storyImg img {
    aspect-ratio: 470/447;
  }
}

@media screen and (min-width: 768px) {
  .about__storyItem:last-child .about__storyImg {
    width: 45.833%;
    max-width: 34.375rem;
  }
}

@media screen and (min-width: 768px) {
  .about__storyItem:last-child .about__storyImg img {
    aspect-ratio: 550/447;
  }
}

.about__feature {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .about__feature {
    margin-top: 7.5rem;
  }
}

.about__featureWrap {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .about__featureWrap {
    border-radius: 1.25rem;
    padding: 5rem;
  }
}

.about__featureList {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about__featureList {
    margin-top: 2.375rem;
  }
}

.about__featureItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #cecece;
}
@media screen and (min-width: 768px) {
  .about__featureItem {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
    padding-bottom: 3.125rem;
  }
}

.about__featureItem + .about__featureItem {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .about__featureItem + .about__featureItem {
    margin-top: 3.5625rem;
  }
}

.about__featureItem:last-child {
  border-bottom: none;
}

@media screen and (min-width: 768px) {
  .about__featureImg {
    width: 38.461%;
    max-width: 25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.about__featureImg img {
  aspect-ratio: 275/160;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__featureImg img {
    aspect-ratio: 400/280;
  }
}

.about__featureNum {
  display: block;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #247E47;
  font-size: 1.25rem;
  line-height: 1.45;
}

.about__featureItemTitle {
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 0.625rem;
  font-size: 1.5625rem;
  line-height: 1.68;
}
@media screen and (min-width: 768px) {
  .about__featureItemTitle {
    margin-top: 0.3125rem;
    font-size: 1.875rem;
    letter-spacing: 0.12em;
    line-height: 1.6;
  }
}

.about__featureItemText {
  margin-top: 1.25rem;
}

.about__service {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .about__service {
    margin-top: 7.5rem;
  }
}

.about__serviceContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .about__serviceContainer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.25rem;
    padding-inline: 5rem;
  }
}

.about__serviceBody {
  display: contents;
}
@media screen and (min-width: 768px) {
  .about__serviceBody {
    width: 43.269%;
    display: block;
  }
}

.about__serviceTitle {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.about__serviceText {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__serviceText {
    margin-top: 1.875rem;
  }
}

.about__serviceBtn {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about__serviceBtn {
    margin-top: 5.65625rem;
  }
}

.about__serviceList {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  display: -ms-grid;
  display: grid;
  gap: 0.8125rem;
  -ms-grid-columns: 1fr 0.8125rem 1fr 0.8125rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about__serviceList {
    gap: 1.25rem;
    margin-top: 0;
    min-width: 33.625rem;
  }
}

.about__serviceItem {
  text-align: center;
  background-color: #EEF7F5;
  padding: 0.75rem 0.5rem 0.8125rem;
}
@media screen and (min-width: 768px) {
  .about__serviceItem {
    padding: 1.25rem;
  }
}

.about__serviceIcon {
  margin-inline: auto;
  width: 4.6875rem;
  height: 4.6875rem;
}
@media screen and (min-width: 768px) {
  .about__serviceIcon {
    width: 7.5rem;
    height: 7.5rem;
  }
}

.about__serviceItemTitle {
  font-size: 0.75rem;
  letter-spacing: 0;
  line-height: 1.4166666667;
  font-weight: 500;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .about__serviceItemTitle {
    font-size: 1.125rem;
    line-height: 1;
    margin-top: 0.625rem;
  }
}

.about__slider {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .about__slider {
    margin-top: 7.5rem;
  }
}

.about__philosophy {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .about__philosophy {
    margin-top: 8.5625rem;
  }
}

.about__philosophyHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__philosophyHeader {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .about__philosophyText {
    width: 70.25%;
    max-width: 52.6875rem;
    margin-top: 3.25rem;
  }
}

.about__philosophyList {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about__philosophyList {
    margin-top: 2.0625rem;
  }
}

.about__philosophyItem {
  border-top: 1px solid #cecece;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .about__philosophyItem {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.125rem;
    padding: 2.5rem 0 2.5rem 3.75rem;
  }
}

.about__philosophyItem:last-child {
  border-bottom: 1px solid #cecece;
}

.about__philosophyName {
  font-size: 1.5625rem;
  line-height: 1.44;
  font-weight: 500;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .about__philosophyName {
    font-size: 1.875rem;
    line-height: 1.6;
    letter-spacing: 0.12em;
    min-width: 14.5rem;
  }
}

.about__philosophyDesc {
  margin-top: 0.625rem;
}

.about__philosophyDesc li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5625rem;
}
@media screen and (min-width: 768px) {
  .about__philosophyDesc li {
    gap: 1rem;
  }
}

.about__philosophyDesc li span {
  color: #247E47;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .about__philosophyDesc li span {
    font-size: 1.25rem;
    line-height: 1.45;
  }
}

.about__philosophyDesc li + li {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about__philosophyDesc li + li {
    margin-top: 1.4375rem;
  }
}

.company {
  margin-top: 5rem;
  margin-bottom: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .company {
    margin-top: 5.75rem;
    margin-bottom: 8.75rem;
  }
}

.company__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .company__breadcrumb {
    margin-top: 0.625rem;
    padding-right: 1.25rem;
  }
}

.company__lead {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .company__lead {
    margin-top: 4.0625rem;
  }
}

.company__leadWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .company__leadWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5.714vw;
  }
}

.company__leadImage {
  width: 94.666vw;
  margin-left: calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .company__leadImage {
    width: 42.857vw;
  }
}

.company__leadImage img {
  aspect-ratio: 355/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0.625rem 0.625rem 0;
}
@media screen and (min-width: 768px) {
  .company__leadImage img {
    aspect-ratio: 3/2;
    border-radius: 0 1.25rem 1.25rem 0;
  }
}

.company__leadText p {
  font-size: 1.25rem;
  letter-spacing: 0.12em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .company__leadText p {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 2;
  }
}

.company__overview {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .company__overview {
    margin-top: 8.125rem;
  }
}

.company__tableWrap {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .company__tableWrap {
    border-radius: 1.25rem;
    padding: 5rem;
  }
}

.company__table {
  width: calc(100% + 1.875rem);
  margin-top: 0.9375rem;
  border-collapse: separate;
  border-spacing: 0.9375rem 0;
  margin-right: -0.9375rem;
  margin-left: -0.9375rem;
}
@media screen and (min-width: 768px) {
  .company__table {
    width: calc(100% + 2.5rem);
    margin-top: 0.625rem;
    border-spacing: 1.25rem 0;
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

.company__tableHeader,
.company__tableData {
  padding: 0.9375rem 0;
  border-bottom: 0.0625rem solid #cecece;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.8571428571;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .company__tableHeader,
  .company__tableData {
    padding: 1.25rem 1.25rem;
    font-size: 1rem;
    line-height: 1.75;
  }
}

.company__tableHeader {
  border-color: #247E47;
  min-width: 4.8125rem;
  width: 26.101%;
}
@media screen and (min-width: 768px) {
  .company__tableHeader {
    min-width: 9.375rem;
    width: 14.423%;
  }
}

.company__slider {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .company__slider {
    margin-top: 7.5rem;
  }
}

.contact {
  margin-top: 5rem;
  margin-bottom: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .contact {
    margin-top: 10rem;
    margin-bottom: 10.5rem;
  }
}

.contact__breadcrumb {
  margin-top: 0.9375rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .contact__breadcrumb {
    margin-top: 1.875rem;
    padding-right: 1.25rem;
  }
}

.contact__contents {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .contact__contents {
    margin-top: 4.0625rem;
  }
}

.contact__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 768px) {
  .contact__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5.1875rem;
  }
}

@media screen and (min-width: 768px) {
  .contact__lead {
    width: 47.25%;
  }
}

.contact__lead--confirm {
  display: none;
}

.contact__wrap:has(form[data-screen=confirm]) .contact__lead {
  display: none;
}

.contact__wrap:has(form[data-screen=confirm]) .contact__lead--confirm {
  display: block;
}

.contact__leadTextL {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .contact__leadTextL {
    font-size: 1.3125rem;
    letter-spacing: 0.05em;
  }
}

.contact__leadTel {
  margin-top: 2.5rem;
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  padding: 0.875rem 0.875rem 1.0625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__leadTel {
    margin-top: 3.3125rem;
    padding: 1.125rem 1.125rem 1.25rem;
    max-width: 26.875rem;
  }
}

.contact__leadTel p {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4166666667;
}
@media screen and (min-width: 768px) {
  .contact__leadTel p {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.contact__leadTel a {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.12em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.375rem;
}
@media screen and (min-width: 768px) {
  .contact__leadTel a {
    font-size: 2.3125rem;
    line-height: 1.4594594595;
  }
}

.contact__leadTel a > span {
  font-size: 0.9375rem;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .contact__leadTel a > span {
    font-size: 1.25rem;
  }
}

.contact__leadTel span {
  display: block;
  margin-top: 0.1875rem;
  font-size: 0.75rem;
  line-height: 1.4166666667;
}
@media screen and (min-width: 768px) {
  .contact__leadTel span {
    margin-top: 0.0625rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.contact__note {
  margin-top: 0.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .contact__note {
    margin-top: 1.3125rem;
  }
}

@media screen and (min-width: 768px) {
  .contact__form {
    width: 45.833%;
  }
}

.contact__thanksWrap {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .contact__thanksWrap {
    margin-top: 2.375rem;
  }
}

.contact__thanksTextL {
  text-align: center;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .contact__thanksTextL {
    font-size: 1.625rem;
    line-height: 1.3076923077;
  }
}

.contact__thanksText {
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__thanksText {
    margin-top: 1.875rem;
  }
}

.contact__thanksTel {
  margin-top: 2.5rem;
  background-color: #fff;
  padding: 1.25rem;
  border-radius: 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .contact__thanksTel {
    margin-top: 3.5625rem;
    padding: 1.3125rem 2.625rem;
  }
}

.contact__thanksTel a {
  color: #247E47;
  font-size: 1.875rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .contact__thanksTel a {
    font-size: 2.3125rem;
    line-height: 1.4594594595;
  }
}

.contact__thanksTel a span {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .contact__thanksTel a span {
    font-size: 1.25rem;
  }
}

.contact__thanksHours {
  display: block;
  margin-top: 0.0625rem;
  text-align: center;
  font-size: 0.875rem;
  color: #247E47;
}
@media screen and (min-width: 768px) {
  .contact__thanksHours {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.contact__thanksBtn {
  margin-top: 3.75rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__thanksBtn {
    margin-top: 5.5rem;
  }
}

.contact__thanksBtn a {
  min-width: 17.25rem;
}

.case {
  margin-top: 5rem;
  margin-bottom: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .case {
    margin-top: 5.75rem;
    margin-bottom: 8.75rem;
  }
}

.case__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .case__breadcrumb {
    margin-top: 0.625rem;
    padding-right: 1.25rem;
  }
}

.case__lead {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__lead {
    margin-top: 4.0625rem;
  }
}

.case__leadWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__leadWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 7rem;
  }
}

.case__leadImage {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__leadImage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.case__leadImage img {
  width: 67.466vw;
  height: 100%;
  aspect-ratio: 253/258;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0.625rem 0.625rem 0;
}
@media screen and (min-width: 768px) {
  .case__leadImage img {
    width: 42.857vw;
    aspect-ratio: 600/589;
    border-radius: 0 1.25rem 1.25rem 0;
  }
}

.case__leadLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .case__leadLabel {
    gap: 1.25rem;
    margin-top: 1rem;
  }
}

.case__leadLabel p {
  font-size: 1.25rem;
  line-height: 1.05;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .case__leadLabel p {
    font-size: 1.5rem;
    line-height: 1.0833333333;
  }
}

.case__leadText {
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .case__leadText {
    padding-inline: 0;
    width: 100%;
    max-width: 30.625rem;
    margin-top: 6.3125rem;
    margin-right: 1.25rem;
  }
}

.case__interview {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .case__interview {
    margin-top: 7.4375rem;
  }
}

.case__interviewNote span {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .case__interviewNote span {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 2;
  }
}

.case__interviewList {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__interviewList {
    margin-top: 3.25rem;
  }
}

.case__interviewItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .case__interviewItem {
    gap: 1.875rem;
  }
}

.case__interviewItem + .case__interviewItem {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__interviewItem + .case__interviewItem {
    margin-top: 2.5rem;
  }
}

.case__interviewIcon {
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.case__interviewIcon img {
  width: 4.375rem;
  height: 4.375rem;
}
@media screen and (min-width: 768px) {
  .case__interviewIcon img {
    width: 5rem;
    height: 5rem;
  }
}

.case__interviewName {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.4615384615;
  font-weight: 700;
  margin-top: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .case__interviewName {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 0.0625rem;
  }
}

.case__interviewName--green {
  color: #247E47;
}

.case__interviewText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4.375rem;
}
@media screen and (min-width: 768px) {
  .case__interviewText {
    min-height: 5rem;
  }
}

.case__interviewText p {
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .case__interviewText p {
    letter-spacing: 0.1em;
  }
}

.case__divider {
  margin-top: 3.75rem;
  margin-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__divider {
    margin-top: 6.25rem;
    margin-bottom: 5rem;
  }
}

.case__divider img {
  aspect-ratio: 335/200;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .case__divider img {
    aspect-ratio: 1200/350;
  }
}

.case__slider {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .case__slider {
    margin-top: 7.5rem;
  }
}

.privacy {
  margin-top: 6.25rem;
  margin-bottom: 5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .privacy {
    margin-top: 10rem;
    margin-bottom: 10.5rem;
  }
}

.privacy__breadcrumb {
  margin-top: 0.9375rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .privacy__breadcrumb {
    margin-top: 1.875rem;
    padding-right: 1.25rem;
  }
}

.privacy__wrap {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .privacy__wrap {
    margin-top: 2.375rem;
  }
}

.privacy__contents {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .privacy__contents {
    margin-top: 3.75rem;
  }
}

.privacy__item + .privacy__item {
  margin-top: 2.5rem;
}

.privacy__itemTitle {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .privacy__itemTitle {
    font-size: 1.3125rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.619047619;
  }
}

.privacy__itemText {
  margin-top: 1.25rem;
}

.service {
  margin-top: 5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .service {
    margin-top: 5.75rem;
  }
}

.service__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .service__breadcrumb {
    margin-top: 0.625rem;
    padding-right: 1.25rem;
  }
}

.service__lead {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .service__lead {
    margin-top: 4.0625rem;
  }
}

.service__leadWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .service__leadWrap {
    display: block;
    border-radius: 1.25rem;
    padding: 5rem;
  }
}

.service__leadTitle {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  font-size: 1.5625rem;
  line-height: 1.68;
  letter-spacing: 0.07em;
  color: #247E47;
  font-weight: 500;
  padding-inline: 1.125rem;
}
@media screen and (min-width: 768px) {
  .service__leadTitle {
    font-size: 2.75rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
    padding-inline: 0;
  }
}

.service__leadTexts {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 3rem;
  padding-inline: 1.125rem;
}
@media screen and (min-width: 768px) {
  .service__leadTexts {
    margin-top: 1.875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5rem;
    margin-left: 0.75rem;
    padding-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .service__leadTextV {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 1.25rem;
  }
}

.service__leadTextV p {
  font-size: 1.25rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .service__leadTextV p {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: 1.5rem;
    line-height: 1.0833333333;
  }
}

.service__leadTextH {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__leadTextH {
    margin-top: 1.4375rem;
  }
}

.service__leadImage {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .service__leadImage {
    margin-top: -3.125rem;
    max-width: 61.25rem;
    margin-inline: auto;
  }
}

.service__anchor {
  margin-top: 3.75rem;
  padding-top: 2.5rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .service__anchor {
    margin-top: 6.25rem;
    padding-top: 6.25rem;
  }
}

.service__anchorList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8125rem;
  max-width: 56.875rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .service__anchorList {
    gap: 1.25rem;
  }
}

.service__anchorItem {
  background-color: #247E47;
  border-radius: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: calc(33.3333333333% - 0.5416666667rem);
}
@media screen and (min-width: 768px) {
  .service__anchorItem {
    width: calc(20% - 1rem);
  }
}

.service__anchorItem::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-bottom: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  position: absolute;
  left: 50%;
  bottom: 0.5rem;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .service__anchorItem::after {
    width: 0.9375rem;
    height: 0.9375rem;
    bottom: 1.25rem;
  }
}

.service__anchorItem a {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 0.8125rem 0.9375rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__anchorItem a {
    padding: 1.3125rem 1.25rem 2.875rem;
  }
}

.service__anchorIcon {
  width: 4.5625rem;
  height: 4.5625rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .service__anchorIcon {
    width: 7.5rem;
    height: 7.5rem;
  }
}

.service__anchorItem span {
  display: block;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .service__anchorItem span {
    margin-top: 0.625rem;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1;
  }
}

.service__container {
  padding-top: 3.75rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .service__container {
    padding-top: 6.25rem;
  }
}

.service__titleWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__titleWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.125rem;
  }
}

.service__titleIcon {
  background-color: #EEF7F5;
  border-radius: 0.625rem;
  display: -ms-grid;
  display: grid;
  place-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 9.375rem;
  height: 9.375rem;
}
@media screen and (min-width: 768px) {
  .service__titleIcon {
    width: 12.5rem;
    height: 12.5rem;
  }
}

.service__titleIcon img {
  width: 6.75rem;
  height: 6.75rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .service__titleIcon img {
    width: 9.0625rem;
    height: 9.0625rem;
  }
}

@media screen and (min-width: 768px) {
  .service__titleBody h2 {
    margin-top: 1.375rem;
  }
}

.service__titleBody p {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .service__titleBody p {
    margin-top: 1.875rem;
  }
}

.service__titleBody p a {
  color: #247E47;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
  text-decoration-color: #247E47;
}

.service__supports {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .service__supports {
    margin-top: 4.0625rem;
  }
}

.service__subTitle {
  font-size: 1.5625rem;
  line-height: 1.44;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #cecece;
}
@media screen and (min-width: 768px) {
  .service__subTitle {
    font-size: 1.625rem;
    letter-spacing: 0.05em;
    line-height: 1.1923076923;
    padding-bottom: 1.0625rem;
  }
}

.service__supports ul {
  display: -ms-grid;
  display: grid;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  row-gap: 0.625rem;
  -ms-grid-columns: 1fr 0.5rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__supports ul {
    gap: 1.23125rem;
    -ms-grid-columns: 1fr 1.23125rem 1fr 1.23125rem 1fr 1.23125rem 1fr 1.23125rem 1fr 1.23125rem 1fr;
    grid-template-columns: repeat(6, 1fr);
    margin-top: 1.875rem;
  }
}

.service__supports ul li {
  background-color: #EEF7F5;
  border-radius: 6.25rem;
  width: 100%;
  font-size: 1.125rem;
  letter-spacing: 0;
  line-height: 1.4444444444;
  text-align: center;
  padding: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .service__supports ul li {
    padding: 0.8125rem;
    font-size: 1.25rem;
    line-height: 1.55;
  }
}

.service__columns {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .service__columns {
    margin-top: 4.375rem;
  }
}

.service__columnList {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 768px) {
  .service__columnList {
    margin-top: 1.875rem;
    gap: 1.875rem;
    -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr;
    grid-template-columns: repeat(3, 1fr);
  }
}

.service__column {
  background-color: #EEF7F5;
  border-radius: 0.625rem;
  padding: 2.5625rem 1.875rem 2.5rem;
}
@media screen and (min-width: 768px) {
  .service__column {
    padding: 2.125rem 2.5rem 1.90625rem;
  }
}

#incorporate .service__column {
  padding: 1.25rem 1.875rem 2.5rem;
}
@media screen and (min-width: 768px) {
  #incorporate .service__column {
    padding: 1.6875rem 2.5rem 3.3125rem;
  }
}

.service__columnTitle {
  font-size: 1.5625rem;
  line-height: 1.36;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #247E47;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service__columnTitle {
    font-size: 1.625rem;
    line-height: 1.3076923077;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  #start .service__columnTitle,
  #accounting .service__columnTitle,
  #succession .service__columnTitle {
    min-height: 2.6153846154em;
  }
}

.service__columnText {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .service__columnText {
    margin-top: 0.96875rem;
  }
}

.service__columnGrids {
  margin-top: 0.9375rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.0625rem 1fr 0.0625rem 1fr 0.0625rem 1fr 0.0625rem 1fr 0.0625rem 1fr;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .service__columnGrids {
    margin-top: 1.25rem;
    gap: 0.125rem;
  }
}

.service__columnGrid {
  padding: 0.5625rem 0.25rem;
  background-color: #247E47;
  color: #fff;
  font-size: 0.8125rem;
  letter-spacing: 0;
  text-align: center;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
@media screen and (min-width: 768px) {
  .service__columnGrid {
    padding: 0.625rem 0.1875rem;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
  }
}

.service__columnGrid--wide {
  -ms-grid-column-span: 3;
  grid-column: span 3;
}

.service__columnNum {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .service__columnNum {
    margin-bottom: 0.125rem;
  }
}

.service__rows {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .service__rows {
    margin-top: 4.0625rem;
  }
}

.service__rowList {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__rowList {
    margin-top: 1.875rem;
  }
}

.service__rowItem {
  background-color: #EEF7F5;
  border-radius: 0.625rem;
  padding: 2.5625rem 1.875rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__rowItem {
    padding: 1.875rem 1.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.75rem;
  }
}

.service__rowItem + .service__rowItem {
  margin-top: 1.25rem;
}

.service__rowTitle {
  font-size: 1.5625rem;
  line-height: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #247E47;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4375rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .service__rowTitle {
    font-size: 1.625rem;
    line-height: 1.3846153846;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.service__rowTitle span {
  display: inline-block;
  color: #333;
  font-size: 1.25rem;
}

@media screen and (min-width: 768px) {
  #inheritance .service__rowTitle {
    min-width: 21.875rem;
  }
}

.service__rowText {
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.04em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .service__rowText {
    letter-spacing: 0.05em;
  }
}

.service__faq {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .service__faq {
    margin-top: 4.0625rem;
  }
}

.service__faqList {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__faqList {
    margin-top: 1.875rem;
  }
}

.service__faqItem + .service__faqItem {
  margin-top: 1.875rem;
}

.service__faqQuestion {
  cursor: pointer;
  background-color: #EEF7F5;
  border-radius: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
  padding: 0.3125rem 2.5rem 0.625rem 1.3125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .service__faqQuestion {
    padding: 0.875rem 1.875rem 0.9375rem;
    gap: 0.75rem;
  }
}

.service__faqQuestion span,
.service__faqAnswer span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #247E47;
  font-size: 1.5625rem;
  line-height: 1.36;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .service__faqQuestion span,
  .service__faqAnswer span {
    font-size: 1.625rem;
    line-height: 1.3076923077;
  }
}

.service__faqQuestion p {
  letter-spacing: 0;
  font-size: 1rem;
  padding-top: 0.4375rem;
}

.service__faqQuestion::before,
.service__faqQuestion::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 0.0625rem;
  background-color: #333;
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .service__faqQuestion::before,
  .service__faqQuestion::after {
    right: 2.5rem;
  }
}

.service__faqQuestion::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.service__faqQuestion.active::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.service__faqAnswer {
  display: none;
}

.service__faqAnswer > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  padding: 0.625rem 0 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .service__faqAnswer > div {
    gap: 0.75rem;
    padding: 0.75rem 0.875rem 0 1.875rem;
  }
}

.service__faqAnswer span {
  color: #333;
}

.service__faqAnswer p {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .service__faqAnswer p {
    line-height: 1.8571428571;
  }
}

.service__coverImg {
  margin-top: 3.75rem;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media screen and (min-width: 768px) {
  .service__coverImg {
    margin-top: 6.25rem;
  }
}

.service__coverImg img {
  aspect-ratio: 375/200;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .service__coverImg img {
    aspect-ratio: 1400/500;
  }
}

.service__btm {
  background-color: #fff;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .service__btm {
    padding-top: 6.25rem;
    padding-bottom: 8.75rem;
  }
}

.service___btmMessage {
  display: block;
  width: 100%;
  font-size: 1.4375rem;
  line-height: 1.4347826087;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service___btmMessage {
    font-size: 1.625rem;
    line-height: 1.5384615385;
  }
}

.service__btmBtn {
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service__btmBtn {
    margin-top: 1.875rem;
  }
}

.service__btmBtn a {
  width: 17.25rem;
  font-size: 0.75rem;
  line-height: 1.4166666667;
  font-weight: 700;
  font-family: "Noto Sans JP", serif;
  background: #1C64C6;
  background: -webkit-gradient(linear, left top, right top, from(rgb(28, 100, 198)), to(rgb(26, 64, 116)));
  background: linear-gradient(90deg, rgb(28, 100, 198) 0%, rgb(26, 64, 116) 100%);
}
@media screen and (min-width: 768px) {
  .service__btmBtn a {
    width: 18.75rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.service__btmBtn a::before {
  right: 3.1875rem;
}
@media screen and (min-width: 768px) {
  .service__btmBtn a::before {
    right: 3.4625rem;
  }
}

.service__btmBtn a::after {
  width: 0.8125rem;
  background-image: url("../images/common/icon_external-link.svg");
  right: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .service__btmBtn a::after {
    width: 0.875rem;
    right: 1.1875rem;
  }
}

.news {
  margin-top: 5rem;
  margin-bottom: 6.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .news {
    margin-top: 10rem;
    margin-bottom: 7.5rem;
  }
}

.news__breadcrumb {
  margin-top: 0.9375rem;
  margin-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .news__breadcrumb {
    margin-top: 1.875rem;
    padding-right: 1.25rem;
  }
}

.news__wrap {
  margin-top: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .news__wrap {
    margin-top: 4.0625rem;
  }
}

.news__list {
  margin-top: 1.875rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .news__list {
    margin-top: 3.125rem;
    padding-bottom: 6.25rem;
  }
}

.newsDetail {
  margin-top: 4.8125rem;
  margin-bottom: 6.25rem;
}
@media screen and (min-width: 768px) {
  .newsDetail {
    margin-top: 10.8125rem;
    margin-bottom: 8.75rem;
  }
}

.newsDetail__header {
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #cecece;
}
@media screen and (min-width: 768px) {
  .newsDetail__header {
    padding-bottom: 1.875rem;
  }
}

.newsDetail__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.375rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .newsDetail__info {
    gap: 3.25rem;
  }
}

.newsDetail__date {
  font-family: "Noto Serif JP", serif;
  font-size: 0.75rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .newsDetail__date {
    font-size: 1rem;
    line-height: 1.4375;
  }
}

.newsDetail__category span {
  display: inline-block;
  font-size: 0.6875rem;
  line-height: 1.4545454545;
  border: 1px solid #333;
  border-radius: 6.25rem;
  padding: 0.1875rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__category span {
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.3125rem 2.375rem;
    min-width: 8.75rem;
  }
}

.newsDetail__title {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__title {
    font-size: 2.25rem;
    letter-spacing: 0.05em;
    line-height: 1.6666666667;
    margin-top: 1.5rem;
  }
}

.newsDetail__breadcrumb {
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__breadcrumb {
    margin-top: 0.625rem;
  }
}

.newsDetail__contents {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .newsDetail__contents {
    margin-top: 1.25rem;
  }
}

.newsDetail__content > * {
  margin-top: 1em;
}

.newsDetail__content h2 {
  font-size: 1.125rem;
  letter-spacing: 0.12em;
  color: #247E47;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .newsDetail__content h2 {
    font-size: 1.625rem;
    letter-spacing: 0.05em;
    line-height: 1.3076923077;
    font-weight: 700;
  }
}

.newsDetail__content h3 {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.75;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .newsDetail__content h3 {
    font-size: 1.3125rem;
    letter-spacing: 0.05em;
    line-height: 1.619047619;
    font-weight: 700;
  }
}

.newsDetail__content p {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  line-height: 1.8571428571;
}
@media screen and (min-width: 768px) {
  .newsDetail__content p {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.newsDetail__content a {
  color: #247E47;
  text-decoration: underline;
}

.newsDetail__content img {
  width: auto;
}

.newsDetail__content ul {
  list-style: disc;
}

.newsDetail__content ol {
  list-style: decimal;
}

.newsDetail__content ul li,
.newsDetail__content ol li {
  font-size: 0.875rem;
  margin-left: 2em;
}
@media screen and (min-width: 768px) {
  .newsDetail__content ul li,
  .newsDetail__content ol li {
    font-size: 1rem;
  }
}

.newsDetail__back {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .newsDetail__back {
    margin-top: 3.5625rem;
  }
}

.crosstalk {
  overflow: hidden;
  padding-bottom: 6.25rem;
}

.crosstalk__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__breadcrumb {
    margin-top: 0.6875rem;
    padding-right: 1.25rem;
  }
}

.crosstalk__member {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__member {
    margin-top: 1.375rem;
  }
}

.crosstalk__memberWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__memberWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 9.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .crosstalk__memberText {
    min-width: 12.25rem;
  }
}

.crosstalk__memberText p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.625;
}
@media screen and (min-width: 768px) {
  .crosstalk__memberText p {
    font-size: 1.5rem;
    line-height: 2.0416666667;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}

.crosstalk__memberList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__memberList {
    gap: 2.5rem;
    padding-top: 6.125rem;
    padding-right: 4.1875rem;
  }
}

.crosstalk__memberItem {
  width: calc(33.3333333333% - 0.4166666667rem);
}
@media screen and (min-width: 768px) {
  .crosstalk__memberItem {
    width: calc(33.3333333333% - 1.6666666667rem);
  }
}

@media screen and (min-width: 768px) {
  .crosstalk__memberImage {
    max-width: 11.25rem;
  }
}

.crosstalk__memberImage img {
  aspect-ratio: 105/110;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__memberImage img {
    aspect-ratio: 1/1;
  }
}

.crosstalk__memberName {
  display: block;
  text-align: center;
  margin-top: 0.4375rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .crosstalk__memberName {
    margin-top: 0.625rem;
    font-size: 1.375rem;
    line-height: 1.4545454545;
  }
}

.crosstalk__memberCareer {
  display: block;
  text-align: center;
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .crosstalk__memberCareer {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.crosstalk__lead {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__lead {
    margin-top: 5.5rem;
  }
}

.crosstalk__leadText {
  padding: 1.875rem 0;
  border-top: 1px solid #6DB52E;
  border-bottom: 1px solid #6DB52E;
}
@media screen and (min-width: 768px) {
  .crosstalk__leadText {
    padding: 2.5rem 0;
    max-width: 62.5rem;
    margin-inline: auto;
  }
}

.crosstalk__lead p {
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .crosstalk__lead p {
    font-size: 1rem;
    line-height: 2.125;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

.crosstalk__talk {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talk {
    margin-top: 5.3125rem;
  }
}

.crosstalk__talkTitle {
  font-size: 1.25rem;
  font-weight: 400;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkTitle {
    font-size: 1.875rem;
    letter-spacing: 0;
  }
}

* + .crosstalk__talkTitle {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  * + .crosstalk__talkTitle {
    margin-top: 6.25rem;
  }
}

.crosstalk__talkList {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkList {
    margin-top: 2.5rem;
  }
}

.crosstalk__talkItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkItem {
    gap: 2.3125rem;
  }
}

.crosstalk__talkItem + .crosstalk__talkItem {
  margin-top: 1.875rem;
}

.crosstalk__talkIcon {
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0.875rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkIcon {
    margin-top: 0;
  }
}

.crosstalk__talkIcon img {
  width: 4.375rem;
  height: 4.375rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkIcon img {
    width: 5rem;
    height: 5rem;
  }
}

.crosstalk__talkName {
  display: block;
  font-size: 0.8125rem;
  margin-top: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkName {
    font-size: 1rem;
    margin-top: 0.0625rem;
  }
}

.crosstalk__talkText {
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  padding: 1.25rem;
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkText {
    padding: 1.875rem;
    margin-top: 0.4375rem;
  }
}

.crosstalk__talkText p span {
  color: #6DB52E;
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
  font-weight: 700;
}

.crosstalk__talkText::before {
  content: "";
  display: block;
  width: 1.14375rem;
  height: 1.35rem;
  background-color: #FCF8EF;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  position: absolute;
  top: 1.9375rem;
  left: -0.9625rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__talkText::before {
    width: 1.58125rem;
    height: 1.8625rem;
    top: 1.26875rem;
    left: -1.58125rem;
  }
}

.crosstalk__divider {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__divider {
    margin-top: 6.25rem;
  }
}

.crosstalk__divider img {
  aspect-ratio: 335/200;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .crosstalk__divider img {
    aspect-ratio: 1200/350;
  }
}

.crosstalk__slides {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__slides {
    margin-top: 6.25rem;
  }
}

.crosstalk__interview {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__interview {
    margin-top: 6.25rem;
  }
}

.crosstalk__interviewTitle {
  font-size: 1.25rem;
  font-weight: 400;
  color: #6DB52E;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .crosstalk__interviewTitle {
    font-size: 1.875rem;
    letter-spacing: 0.1em;
  }
}

.crosstalk__interviewList {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .crosstalk__interviewList {
    margin-top: 2.5rem;
  }
}

.entry {
  margin-bottom: 6.25rem;
}

.entry__breadcrumb {
  margin-top: 0.4375rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .entry__breadcrumb {
    margin-top: 1.8125rem;
    padding-right: 1.25rem;
  }
}

.entry__thanksWrap {
  margin-top: 1.625rem;
}
@media screen and (min-width: 768px) {
  .entry__thanksWrap {
    margin-top: 2.5rem;
  }
}

.entry__thanksTextL {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .entry__thanksTextL {
    text-align: center;
    font-size: 1.625rem;
    line-height: 1.3076923077;
  }
}

.entry__thanksText {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .entry__thanksText {
    margin-top: 1.875rem;
    text-align: center;
  }
}

.entry__thanksTel {
  margin-top: 1.875rem;
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  padding: 1rem 0.875rem 1.0625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .entry__thanksTel {
    margin-top: 3.5625rem;
    padding: 1.3125rem 1.125rem 1.25rem;
    max-width: 26.875rem;
    margin-inline: auto;
  }
}

.entry__thanksTel a {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.4285714286;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.375rem;
}
@media screen and (min-width: 768px) {
  .entry__thanksTel a {
    font-size: 2.3125rem;
    line-height: 1.4594594595;
  }
}

.entry__thanksTel a > span {
  font-size: 0.9375rem;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .entry__thanksTel a > span {
    font-size: 1.25rem;
  }
}

.entry__thanksHours {
  display: block;
  margin-top: 0.1875rem;
  font-size: 0.75rem;
  line-height: 1.4166666667;
}
@media screen and (min-width: 768px) {
  .entry__thanksHours {
    margin-top: 0.0625rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.entry__thanksBtn {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .entry__thanksBtn {
    margin-top: 5.5rem;
  }
}

.entry__thanksBtn a {
  min-width: 13.25rem;
}
@media screen and (min-width: 768px) {
  .entry__thanksBtn a {
    min-width: 17.25rem;
  }
}

.job {
  overflow: hidden;
  padding-bottom: 6.25rem;
}

.job__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .job__breadcrumb {
    margin-top: 0.6875rem;
    padding-right: 1.25rem;
  }
}

.job__lead {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .job__lead {
    margin-top: 1.375rem;
  }
}

.job__mission {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .job__mission {
    margin-top: 5.3125rem;
  }
}

.job__missionWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .job__missionWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .job__missionText {
    margin-top: 3.5625rem;
    width: 69.166%;
    max-width: 51.875rem;
  }
}

.job__missionText p {
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .job__missionText p {
    letter-spacing: 0.05em;
    line-height: 2.125;
  }
}

.job__slider01 {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .job__slider01 {
    margin-top: 7.5rem;
  }
}

.job__work {
  margin-top: 0.3125rem;
  padding-top: 3.125rem;
  background-color: #FCF8EF;
}
@media screen and (min-width: 768px) {
  .job__work {
    margin-top: 0.625rem;
    padding-top: 5rem;
  }
}

.job__workWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .job__workWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .job__workList {
    margin-top: 3.25rem;
    min-width: 70.666%;
    max-width: 53rem;
  }
}

.job__workItem {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .job__workItem {
    font-size: 1rem;
    line-height: 2.125;
  }
}

.job__workItem::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #247E47;
  border-radius: 50%;
  position: relative;
  top: 0.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .job__workItem::before {
    top: 0.875rem;
  }
}

.job__growth {
  padding-top: 6.25rem;
  padding-bottom: 3.75rem;
  background-color: #FCF8EF;
}
@media screen and (min-width: 768px) {
  .job__growth {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.job__growthList {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.6875rem 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 0.6875rem;
     -moz-column-gap: 0.6875rem;
          column-gap: 0.6875rem;
  row-gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .job__growthList {
    margin-top: 2.375rem;
    -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr 1.875rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;
  }
}

.job__growthItem {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .job__growthItem {
    padding: 1.8125rem 0 1rem;
  }
}

.job__growthImage {
  width: 49.295%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .job__growthImage {
    width: 43.243%;
  }
}

.job__growthText {
  display: block;
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.7142857143;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .job__growthText {
    margin-top: 0.625rem;
    font-size: 1rem;
    line-height: 1.5625;
    min-height: 3.0625rem;
  }
}

.job__slider02 {
  position: relative;
}

.job__slider02::before {
  content: "";
  display: block;
  background-color: #FCF8EF;
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}

.job__reason {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .job__reason {
    margin-top: 6.25rem;
  }
}

.job__reasonList {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .job__reasonList {
    margin-top: 2.5rem;
  }
}

.job__reasonItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .job__reasonItem {
    gap: 0.9375rem;
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0;
  }
}

.job__reasonItem::before {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.9375rem;
  background-image: url("../images/job/icon_check.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  top: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .job__reasonItem::before {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.job__reasonItem + .job__reasonItem {
  margin-top: 1.25rem;
}

.job__reasonVoice {
  margin-top: 6.25rem;
}

.job__reasonVoiceTitle span {
  display: block;
  color: #6DB52E;
  text-align: center;
}

.job__reasonVoiceTitle span:first-child {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .job__reasonVoiceTitle span:first-child {
    font-size: 1.25rem;
    line-height: 1.45;
    letter-spacing: 0.1em;
  }
}

.job__reasonVoiceTitle span:last-child {
  margin-top: 0.625rem;
  font-size: 1.25rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .job__reasonVoiceTitle span:last-child {
    margin-top: 0.5625rem;
    font-size: 1.875rem;
    line-height: 1.4666666667;
    letter-spacing: 0.1em;
  }
}

.job__reasonVoiceList {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.3125rem 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 0.3125rem;
     -moz-column-gap: 0.3125rem;
          column-gap: 0.3125rem;
  row-gap: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .job__reasonVoiceList {
    margin-top: 1.875rem;
    -ms-grid-columns: 1fr 1.25rem 1fr 1.25rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 2.75rem;
  }
}

.job__reasonVoiceItem {
  border: 1px solid #6DB52E;
  border-radius: 0.625rem;
  height: 5.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
  position: relative;
}
@media screen and (min-width: 768px) {
  .job__reasonVoiceItem {
    height: 8.75rem;
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    line-height: 1.85;
  }
}

.job__reasonVoiceItem::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #6DB52E;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  position: absolute;
  bottom: -1rem;
  right: 2.0625rem;
}
@media screen and (min-width: 768px) {
  .job__reasonVoiceItem::before {
    width: 1.5rem;
    height: 1.5rem;
    bottom: -1.5rem;
    right: 3.4375rem;
  }
}

.job__reasonVoiceItem::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #fff;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  position: absolute;
  bottom: -0.875rem;
  right: 2.125rem;
}
@media screen and (min-width: 768px) {
  .job__reasonVoiceItem::after {
    width: 1.5rem;
    height: 1.5rem;
    bottom: -1.375rem;
    right: 3.5rem;
  }
}

.job__voice {
  margin-top: 7.1875rem;
}
@media screen and (min-width: 768px) {
  .job__voice {
    margin-top: 9.875rem;
  }
}

.job__voiceLead {
  margin-top: 1.25rem;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.5714285714;
}
@media screen and (min-width: 768px) {
  .job__voiceLead {
    margin-top: 1.875rem;
    line-height: 1.5;
  }
}

.job__voiceTitle {
  text-align: center;
}

.job__voiceList {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .job__voiceList {
    margin-top: 2.5rem;
  }
}

.job__crosstalk {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .job__crosstalk {
    margin-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .recruitJob__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 10rem;
  }
}

.recruitJob__imageWrap {
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9.066vw;
}
@media screen and (min-width: 768px) {
  .recruitJob__imageWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
}

.recruitJob__image {
  width: 67.466vw;
  height: auto;
  aspect-ratio: 253/258;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitJob__image {
    width: 42.857vw;
    aspect-ratio: 600/608;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0.625rem;
  }
}

.recruitJob__imageText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.625rem;
  margin-left: auto;
  margin-top: 2.125rem;
}
@media screen and (min-width: 768px) {
  .recruitJob__imageText {
    gap: 1.25rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 4.0625rem;
  }
}

.recruitJob__imageText p {
  font-size: 1rem;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.18em;
}
@media screen and (min-width: 768px) {
  .recruitJob__imageText p {
    font-size: 1.25rem;
    line-height: 1.05;
    letter-spacing: 0.05em;
  }
}

.recruitJob__body {
  margin-top: 1.3125rem;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitJob__body {
    margin-top: 8.5625rem;
    padding-inline: 0;
    width: 100%;
    max-width: 25rem;
  }
}

.recruitJob__text {
  margin-top: 1rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .recruitJob__text {
    margin-top: 2.3125rem;
    line-height: 2.125;
  }
}

.recruitJob__btn {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .recruitJob__btn {
    margin-top: 2.1875rem;
  }
}

.recruitmerit {
  background-color: #FCF8EF;
  padding-bottom: 1.9375rem;
}
@media screen and (min-width: 768px) {
  .recruitmerit {
    padding-top: 1.125rem;
    padding-bottom: 6.375rem;
  }
}

.recruitMerit__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitMerit__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 8.125rem;
  }
}

@media screen and (min-width: 768px) {
  .recruitMerit__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .recruitMerit__title h2 {
    line-height: 1.525;
  }
}

.recruitMerit__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitMerit__grid {
    padding-top: 2.375rem;
    -ms-grid-columns: 1fr 1.875rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.875rem;
  }
}

.recruitMerit__item {
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem 1.25rem 1.5625rem;
}
@media screen and (min-width: 768px) {
  .recruitMerit__item {
    padding: 1.90625rem 2.5rem 1.625rem;
    max-width: 23.75rem;
  }
}

@media screen and (min-width: 768px) {
  .recruitMerit__item:last-child {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    max-width: 49.375rem;
  }
}

.recruitMerit__itemTitle {
  font-size: 1.375rem;
  font-weight: 700;
  color: #247E47;
  letter-spacing: 0.05em;
  line-height: 1.5454545455;
  text-align: center;
}

.recruitMerit__itemText {
  margin-top: 0.5625rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2;
}

.recruitMv {
  position: relative;
}

@media screen and (min-width: 768px) {
  .recruitMv__inner {
    display: contents;
  }
}

.recruitMv__images picture:nth-child(1) img,
.recruitMv__images img:nth-child(2),
.recruitMv__images img:nth-child(3),
.recruitMv__images img:nth-child(4) {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  border-radius: 0.625rem;
}

.recruitMv__images picture:nth-child(1) img {
  width: 53.333vw;
  aspect-ratio: 200/286;
  top: 0;
  left: 0;
  border-radius: 0 0 0.625rem 0;
}
@media screen and (min-width: 768px) {
  .recruitMv__images picture:nth-child(1) img {
    width: 41.428vw;
    aspect-ratio: 580/750;
    border-radius: 0 0 1.25rem 0;
  }
}

.recruitMv__images img:nth-child(2) {
  width: 25.333vw;
  aspect-ratio: 95/94;
  top: 69.066vw;
  left: 33.333vw;
}
@media screen and (min-width: 768px) {
  .recruitMv__images img:nth-child(2) {
    width: 12.857vw;
    aspect-ratio: 1/1;
    top: 22.142vw;
    left: 47.928vw;
  }
}

.recruitMv__images img:nth-child(3) {
  display: none;
}
@media screen and (min-width: 768px) {
  .recruitMv__images img:nth-child(3) {
    display: block;
    width: 9.357vw;
    aspect-ratio: 131/117;
    top: 10.214vw;
    right: 5vw;
  }
}

.recruitMv__images img:nth-child(4) {
  width: 17.333vw;
  aspect-ratio: 1/1;
  top: 84.266vw;
  left: 8vw;
}
@media screen and (min-width: 768px) {
  .recruitMv__images img:nth-child(4) {
    width: 8.928vw;
    aspect-ratio: 125/109;
    top: 39.928vw;
    left: initial;
    right: 7.142vw;
  }
}

.recruitMv__titleWrap {
  position: absolute;
  top: 25.2vw;
  right: 7vw;
  min-width: 37.749vw;
}
@media screen and (min-width: 768px) {
  .recruitMv__titleWrap {
    top: 11.692vw;
    right: 20.3vw;
    min-width: 14.99vw;
  }
}

.recruitMv__titleWrap p {
  font-size: 5.6vw;
  font-weight: 500;
  line-height: 2.2476190476;
  letter-spacing: 0;
  color: #6DB52E;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-decoration: underline;
  text-underline-position: right;
  text-underline-offset: 1.866vw;
  text-decoration-thickness: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .recruitMv__titleWrap p {
    font-size: 2.285vw;
    line-height: 2.1875;
    text-underline-offset: 0.714vw;
    text-decoration-thickness: 0.125rem;
  }
}

.recruitMv__text {
  padding-top: 106.133vw;
}
@media screen and (min-width: 768px) {
  .recruitMv__text {
    padding-top: 41vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: 47.928vw;
    margin-right: auto;
  }
}

.recruitMv__text p {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .recruitMv__text p {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 2;
  }
}

.recruitHiring {
  padding-top: 1.625rem;
  padding-bottom: 3.75rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .recruitHiring {
    padding-top: 5.375rem;
    padding-bottom: 6.1875rem;
    margin-top: -3.125rem;
  }
}

.recruitHiring::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("../images/recruit/bg_top-sp.webp");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .recruitHiring::before {
    background-image: url("../images/recruit/bg_top.webp");
  }
}

@media screen and (min-width: 768px) {
  .recruitHiring__inner {
    display: contents;
  }
}

.recruitHiring__item {
  border: 1px solid #6DB52E;
  border-radius: 0.625rem;
  background-color: #fff;
  padding: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4375rem;
  max-width: 28.25rem;
}
@media screen and (min-width: 768px) {
  .recruitHiring__item {
    padding: 1.25rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 1.4375rem;
    margin-left: 47.928vw;
    margin-right: auto;
  }
}

.recruitHiring__label {
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.5;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .recruitHiring__label {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}

.recruitHiring__name {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-top: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .recruitHiring__name {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 0.125rem;
  }
}

.recruitHiring__more {
  font-size: 0.75rem;
}

.recruitHiring__btn a {
  min-width: 8.5625rem;
  font-size: 0.625rem;
  height: 2.375rem;
  padding-inline: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .recruitHiring__btn a {
    min-width: 11.25rem;
    font-size: 0.875rem;
    height: 3.125rem;
    padding-inline: 1.25rem;
  }
}

.recruitHiring__btn a::before {
  right: 2.4375rem;
}
@media screen and (min-width: 768px) {
  .recruitHiring__btn a::before {
    right: 3.1875rem;
  }
}

.recruitHiring__btn a::after {
  width: 0.9375rem;
  right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitHiring__btn a::after {
    width: 1.25rem;
    right: 0.8125rem;
  }
}

.recruit__slider .swiper-slide {
  margin-left: 0.357%;
}

.recruit__slider .swiper-slide img {
  border-radius: 0.625rem;
}

.recruit__slider01 {
  width: 38.928%;
}

.recruit__slider02 {
  width: 17.142%;
}

.recruit__slider02 img:last-child {
  margin-top: 2.083%;
}

.recruit__slider03 {
  width: 25.714%;
}

.recruit__slider04 {
  width: 17.142%;
}

.recruit__slider04 img:last-child {
  margin-top: 2.083%;
}

.recruitVoice {
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .recruitVoice {
    margin-top: 12.5rem;
    padding-left: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .recruitVoice__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 6.857vw;
  }
}

.recruitVoice__imageWrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 5.333vw;
}
@media screen and (min-width: 768px) {
  .recruitVoice__imageWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 2.75rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-bottom: 6.428vw;
  }
}

.recruitVoice__image {
  width: 67.466vw;
  height: 100%;
  aspect-ratio: 253/258;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0.625rem 0.625rem 0;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .recruitVoice__image {
    width: 48.571vw;
    aspect-ratio: 680/500;
    border-radius: 0.625rem 0 0 0.625rem;
    margin-left: 0;
  }
}

.recruitVoice__imageText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0.625rem;
  margin-right: auto;
  margin-top: 2.1875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .recruitVoice__imageText {
    gap: 1.25rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 2.5rem;
  }
}

.recruitVoice__imageText p {
  font-size: 1rem;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.18em;
}
@media screen and (min-width: 768px) {
  .recruitVoice__imageText p {
    font-size: 1.25rem;
    line-height: 1.05;
    letter-spacing: 0.05em;
  }
}

.recruitVoice__body {
  margin-top: 1.625rem;
  padding-inline: 1.25rem;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .recruitVoice__body {
    margin-top: 9.5rem;
    padding-inline: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.recruitVoice__text {
  margin-top: 1rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .recruitVoice__text {
    margin-top: 2.375rem;
    max-width: 22.5625rem;
    line-height: 2.125;
  }
}

.recruitVoice__btn {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitVoice__btn {
    margin-top: 2.125rem;
  }
}

.recruitVoice__btn a {
  min-width: 9.8125rem;
  padding-inline: 0.9375rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .recruitVoice__btn a {
    min-width: 11.25rem;
  }
}

.recruitInfo {
  padding-bottom: 1.25rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .recruitInfo {
    padding-bottom: 1.5625rem;
  }
}

.recruitInfo__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__breadcrumb {
    margin-top: 0.6875rem;
    padding-right: 1.25rem;
  }
}

.recruitInfo__faq {
  margin-top: 1.875rem;
  padding-bottom: 3.75rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faq {
    margin-top: 3.625rem;
    padding-bottom: 5.75rem;
  }
}

.recruitInfo__faqList {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faqList {
    margin-top: 2.5rem;
  }
}

.recruitInfo__faqItem + .recruitInfo__faqItem {
  margin-top: 1.875rem;
}

.recruitInfo__faqQuestion {
  cursor: pointer;
  background-color: #FCF8EF;
  border-radius: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 2.625rem 0.625rem 1.3125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faqQuestion {
    padding: 0.875rem 1.875rem 0.9375rem;
    gap: 0.75rem;
  }
}

.recruitInfo__faqQuestion span,
.recruitInfo__faqAnswer span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #6DB52E;
  font-size: 1.5625rem;
  line-height: 1.36;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faqQuestion span,
  .recruitInfo__faqAnswer span {
    font-size: 1.625rem;
    line-height: 1.3076923077;
  }
}

.recruitInfo__faqQuestion p {
  letter-spacing: 0;
  color: #6DB52E;
  font-weight: 700;
}

.recruitInfo__faqQuestion::before,
.recruitInfo__faqQuestion::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 0.0625rem;
  background-color: #333;
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faqQuestion::before,
  .recruitInfo__faqQuestion::after {
    right: 2.5rem;
  }
}

.recruitInfo__faqQuestion::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.recruitInfo__faqQuestion.active::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.recruitInfo__faqAnswer {
  display: none;
}

.recruitInfo__faqAnswer > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  padding: 0.625rem 0 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faqAnswer > div {
    gap: 0.75rem;
    padding: 0.75rem 0.875rem 0 1.875rem;
  }
}

.recruitInfo__faqAnswer span {
  color: #333;
}

.recruitInfo__faqAnswer p {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .recruitInfo__faqAnswer p {
    line-height: 1.8571428571;
  }
}

.recruitInfo__require {
  background-color: #FCF8EF;
  padding-bottom: 3.75rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .recruitInfo__require {
    padding-bottom: 7.0625rem;
  }
}

.recruitInfo__require::before {
  content: "";
  display: block;
  width: 100%;
  height: 6.25rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .recruitInfo__require::before {
    height: 7.5rem;
  }
}

.recruitInfo__inner {
  position: relative;
}

.recruitInfo__image img {
  aspect-ratio: 335/200;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .recruitInfo__image img {
    aspect-ratio: 1200/350;
  }
}

.recruitInfo__title {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__title {
    margin-top: 6.25rem;
  }
}

.recruitInfo__anchors {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__anchors {
    margin-top: 2.1875rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}

.recruitInfo__anchors a {
  display: inline-block;
  width: 100%;
  padding: 0.875rem 1.875rem 0.875rem 0.9375rem;
  border-radius: 0.3125rem;
  background-color: #6DB52E;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4166666667;
  position: relative;
}
@media screen and (min-width: 768px) {
  .recruitInfo__anchors a {
    padding: 0.9375rem 2.1875rem 0.9375rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.recruitInfo__anchors a::before {
  content: "";
  display: block;
  width: 0.53125rem;
  height: 0.53125rem;
  border-bottom: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .recruitInfo__anchors a::before {
    width: 0.59375rem;
    height: 0.59375rem;
    right: 1.1875rem;
  }
}

.recruitInfo__container {
  margin-top: 1.875rem;
  padding: 1.875rem 1.25rem;
  background-color: #fff;
  border-radius: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__container {
    padding: 3.75rem 3.75rem 4.125rem;
  }
}

.recruitInfo__container + .recruitInfo__container {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__container + .recruitInfo__container {
    margin-top: 3.625rem;
  }
}

.recruitInfo__requireTitle {
  font-size: 1.25rem;
  line-height: 1.5;
  color: #6DB52E;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .recruitInfo__requireTitle {
    font-size: 1.5rem;
    line-height: 1.5416666667;
    letter-spacing: 0.1em;
  }
}

.recruitInfo__requireList {
  margin-top: 1.875rem;
  padding-inline: 0.625rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__requireList {
    padding-inline: 0;
  }
}

.recruitInfo__requireItem {
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #bcbcbc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.875rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (min-width: 768px) {
  .recruitInfo__requireItem {
    padding-bottom: 1.3125rem;
    gap: 2.25rem;
  }
}

.recruitInfo__requireItem + .recruitInfo__requireItem {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__requireItem + .recruitInfo__requireItem {
    margin-top: 1.3125rem;
  }
}

.recruitInfo__requireItem dt {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: 700;
  color: #6DB52E;
  letter-spacing: 0;
  min-width: 3.5rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__requireItem dt {
    font-size: 1rem;
    line-height: 1.5;
    min-width: 5.25rem;
    padding-left: 1.25rem;
  }
}

.recruitInfo__requireItem dd {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .recruitInfo__requireItem dd {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.recruitInfo__btn {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .recruitInfo__btn {
    margin-top: 3.125rem;
  }
}

.recruitInfo__btn a {
  min-width: 14.25rem;
}
@media screen and (min-width: 768px) {
  .recruitInfo__btn a {
    min-width: 14.1875rem;
  }
}

.voice {
  overflow: hidden;
  padding-bottom: 6.25rem;
}

.voice__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .voice__breadcrumb {
    margin-top: 0.6875rem;
    padding-right: 1.25rem;
  }
}

.voice__lead {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .voice__lead {
    margin-top: 1.375rem;
  }
}

.voice__contents {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .voice__contents {
    margin-top: 6.25rem;
  }
}

.voice__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  padding: 2.5rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .voice__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.25rem;
    padding: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .voice__container:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.voice__container + .voice__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .voice__container + .voice__container {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .voice__imageWrap {
    width: 39.814%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.voice__imageTitle {
  font-size: 1.25rem;
  line-height: 1.5;
  color: #6DB52E;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .voice__imageTitle {
    font-size: 1.875rem;
    line-height: 1.6;
    text-align: left;
  }
}

.voice__imageWrap img {
  margin-top: 1.25rem;
  aspect-ratio: 275/174;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
@media screen and (min-width: 768px) {
  .voice__imageWrap img {
    margin-top: 1.25rem;
    aspect-ratio: 430/300;
  }
}

.voice__imageName {
  display: block;
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .voice__imageName {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.voice__textBody + .voice__textBody {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .voice__textBody + .voice__textBody {
    margin-top: 2.5rem;
  }
}

.voice__textQ {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #6DB52E;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .voice__textQ {
    font-size: 1.0625rem;
    line-height: 1.4705882353;
    gap: 0.75rem;
  }
}

.voice__textQ::before {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1px;
  background-color: #6DB52E;
  position: relative;
  top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .voice__textQ::before {
    width: 3.125rem;
  }
}

.voice__textA {
  margin-top: 0.625rem;
  letter-spacing: 0.08em;
  line-height: 1.7142857143;
}
@media screen and (min-width: 768px) {
  .voice__textA {
    margin-top: 1.25rem;
    letter-spacing: 0.05em;
    line-height: 2.125;
  }
}

.voice__crosstalk {
  margin-top: 3.75rem;
}
.voice__crosstalk {
  margin-top: 6.25rem;
}

.workplace {
  overflow: hidden;
}

.workplace__breadcrumb {
  margin-top: 0.3125rem;
  padding-right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .workplace__breadcrumb {
    margin-top: 0.6875rem;
    padding-right: 1.25rem;
  }
}

.workplace__number {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .workplace__number {
    margin-top: 3.6875rem;
  }
}

.workplace__numberTitle {
  text-align: center;
}

.workplace__numberColumn3 {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn3 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.875rem;
  }
}

.workplace__numberColumn3Item {
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9375rem;
  height: 5.75rem;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn3Item {
    width: calc(33.3333333333% - 1.25rem);
    height: 8.125rem;
  }
}

.workplace__numberColumn3Item p {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn3Item p {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
  }
}

.workplace__numberColumn3Item span {
  font-size: 2.0625rem;
  font-weight: 700;
  color: #6DB52E;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn3Item span {
    font-size: 2.5rem;
  }
}

.workplace__numberColumn3Item span > span {
  font-family: "Carlito", sans-serif;
  font-size: 5.375rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn3Item span > span {
    font-size: 6.25rem;
  }
}

.workplace__numberColumn2 {
  margin-top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn2 {
    margin-top: 2.625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.875rem;
  }
}

.workplace__numberColumn2Item {
  background-color: #FCF8EF;
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 18.5625rem;
  padding: 1.875rem 0;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn2Item {
    width: calc(50% - 0.9375rem);
    height: 23.6875rem;
    padding: 1.75rem 0;
  }
}

.workplace__numberColumn2Item p {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn2Item p {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
  }
}

.workplace__numberColumn2Item div {
  margin-top: 0.625rem;
  height: 12.6875rem;
}
@media screen and (min-width: 768px) {
  .workplace__numberColumn2Item div {
    margin-top: 1.25rem;
    height: 16.6875rem;
  }
}

.workplace__numberColumn2Item div > img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.workplace__numberNote {
  margin-top: 0.3125rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .workplace__numberNote {
    margin-top: 1.0625rem;
  }
}

.workplace__numberNote small {
  font-size: 0.75rem;
  line-height: 1.4166666667;
}

.workplace__office {
  margin-top: 4.875rem;
}
@media screen and (min-width: 768px) {
  .workplace__office {
    margin-top: 7.25rem;
  }
}

.workplace__officeTitle {
  text-align: center;
}

.workplace__officeText {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .workplace__officeText {
    margin-top: 1.875rem;
    font-size: 1rem;
    line-height: 2.125;
    letter-spacing: 0.05em;
  }
}

.workplace__officeSliders {
  margin-top: 1.875rem;
}
/*# sourceMappingURL=styles.css.map */