@charset "UTF-8";
/* ================================
Reset
================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  word-break: break-all;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

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

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

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

dd {
  margin-left: 0;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  word-wrap: break-word;
}

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

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

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

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

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

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

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

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

textarea {
  overflow: auto;
  resize: none;
}

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

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

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

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

label[for] {
  cursor: pointer;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

picture {
  display: block;
  width: 100%;
  height: 100%;
}

img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ================================
Base
================================ */
html {
  font-size: min(1.3vw, 15px);
  scroll-behavior: smooth;
  scroll-padding-top: 6.7rem;
}
@media screen and (max-width: 1024px) {
  html {
    scroll-padding-top: 5rem;
  }
}
@media screen and (max-width: 834px) {
  html {
    font-size: 3.5vw;
  }
}

body {
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  color: #5a4f4a;
}

* img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

small {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 400;
}
@media screen and (max-width: 834px) {
  small {
    font-size: 1rem;
  }
}

/* ================================
Container
================================ */
/* root container */
.l-wrapper {
  overflow-x: clip;
}

/* main container */
.l-content-container {
  position: relative;
  margin: 6.7rem 0 0;
}
@media screen and (max-width: 834px) {
  .l-content-container {
    margin: 5rem 0 0;
  }
}

/* container */
.l-container {
  width: calc(100% - 4.6rem);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.l-container.-lg {
  max-width: 89.3rem;
}
.l-container.-sm {
  max-width: 73.3rem;
}
.l-container.-xs {
  max-width: 60rem;
}
@media screen and (max-width: 834px) {
  .l-container.-wide_only_mobile {
    width: calc(100% - 2.3rem);
  }
}

/* ================================
Header
================================ */
.l-header {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 6.7rem;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-header__inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(2.1vw, 30px);
  padding: 0 min(2.4vw, 35px) 0 min(3.5vw, 50px);
}
.l-header__logo {
  width: min(12.8vw, 185px);
  aspect-ratio: 184/52;
  margin: 0 auto 0 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-header__logo:hover {
  opacity: 0.7;
}
.l-header__role-btn {
  display: inline-block;
  font-size: min(1vw, 15px);
  text-align: center;
  line-height: 1.5;
  white-space: nowrap;
  border-radius: 0.3rem;
  border: 2px solid #dedede;
  padding: 0.5em 1em;
  margin: 0 auto 0 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-header__role-btn:hover {
  opacity: 0.7;
}
.l-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 min(2.8vw, 40px);
}
.l-header__menu-item {
  font-size: min(1vw, 15px);
}
.l-header__menu-item a {
  display: block;
  text-align: center;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}
.l-header__menu-item a:hover {
  color: #ed6f0f;
}
.l-header__toggle {
  display: none;
}
@media screen and (min-width: 835px) {
  .l-header {
    position: absolute;
  }
  .l-header.is-fixed {
    position: fixed;
    background-color: #fff;
  }
  .l-header__logo:has(+ .l-header__role-btn) {
    margin: 0;
  }
}
@media screen and (max-width: 834px) {
  .l-header {
    height: 5rem;
    background-color: #fff;
  }
  .l-header__inner {
    gap: 0;
    padding: 0 0 0 0.8rem;
  }
  .l-header__logo {
    width: 10rem;
  }
  .l-header__role-btn {
    color: #5A4F4A;
    height: 3.5rem;
    border-width: 1px;
    font-size: 0.9rem;
    padding: 0.4rem 0.6rem;
    border-radius: 0.2rem;
    margin: 0 0.4rem 0 0;
  }
  .l-header__nav {
    display: none;
  }
  .l-header__toggle {
    display: block;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    z-index: 1000;
    width: 3.8rem;
    height: 5rem;
    cursor: pointer;
  }
  .l-header__toggle span {
    position: absolute;
    left: 1.2rem;
    display: inline-block;
    width: 1.5rem;
    height: 0.1rem;
    background-color: #5a4f4a;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  .l-header__toggle span:nth-of-type(1) {
    top: 1.8rem;
  }
  .l-header__toggle span:nth-of-type(2) {
    top: 2.4rem;
  }
  .l-header__toggle span:nth-of-type(3) {
    bottom: 1.8rem;
  }
  .l-header__toggle.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(0.6rem) rotate(45deg);
            transform: translateY(0.6rem) rotate(45deg);
  }
  .l-header__toggle.is-active span:nth-of-type(2) {
    opacity: 0;
  }
  .l-header__toggle.is-active span:nth-of-type(3) {
    -webkit-transform: translateY(-0.7rem) rotate(-45deg);
            transform: translateY(-0.7rem) rotate(-45deg);
  }
}

.l-header-cta__body {
  display: grid;
  grid-template-areas: "heading heading" "tel mail";
  grid-template-columns: 1fr min(5.6vw, 80px);
  gap: 0 0.8rem;
}
.l-header-cta__heading {
  grid-area: heading;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.4rem;
  font-size: min(0.9vw, 13px);
}
.l-header-cta__heading::before, .l-header-cta__heading::after {
  content: "";
  display: inline-block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  background-color: #bcbcbc;
  opacity: 0.3;
}
.l-header-cta__tel {
  grid-area: tel;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-header-cta__tel:hover {
  opacity: 0.7;
}
.l-header-cta__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.3rem;
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: min(1.2vw, 17px);
  font-weight: 700;
}
.l-header-cta__num::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  aspect-ratio: 1/1;
  background: url(../img/cmn/phone_ico.svg) no-repeat center center/contain;
}
.l-header-cta__info {
  font-size: min(0.9vw, 13px);
  text-align: center;
  background-color: rgba(222, 222, 222, 0.3);
}
.l-header-cta__mail {
  grid-area: mail;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.3rem;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, right top, from(#ed6f0f), color-stop(#fac12c), to(#ed6f0f)) no-repeat top left/200% 100%;
  background: linear-gradient(to right, #ed6f0f, #fac12c, #ed6f0f) no-repeat top left/200% 100%;
  border-radius: 0.3rem;
  padding: 0.4rem 0;
  -webkit-transition: background-position 0.2s linear;
  transition: background-position 0.2s linear;
}
.l-header-cta__mail::before {
  content: "";
  display: inline-block;
  width: 0.9rem;
  aspect-ratio: 13/12;
  background: url(../img/cmn/mail_ico_wh.svg) no-repeat center center/contain;
}
.l-header-cta__mail:hover {
  background-position: 100% 0;
}
.l-header-cta__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header-cta__soudan.c-btn {
  min-width: initial;
  height: 3.3rem;
  font-size: min(1vw, 14px);
  border-radius: 0.3rem;
  padding: 0 1.3rem;
}
.l-header-cta__soudan.c-btn::after {
  content: none;
}
.l-header-cta__touroku.c-btn {
  min-width: initial;
  height: 3.3rem;
  font-size: min(0.9vw, 13px);
  text-align: center;
  line-height: 1.4;
  border-radius: 0.3rem;
  padding: 0 0.9rem;
}
.l-header-cta__touroku.c-btn::after {
  content: none;
}
@media screen and (max-width: 834px) {
  .l-header-cta__body {
    display: block;
  }
  .l-header-cta__heading, .l-header-cta__tel {
    display: none;
  }
  .l-header-cta__mail {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 0.3rem 0;
    height: 3.5rem;
    font-size: 0.9rem;
    border-radius: 0.2rem;
    padding: 0.4rem 0.8rem;
  }
  .l-header-cta__mail::before {
    width: 0.8rem;
  }
  .l-header-cta__soudan.c-btn {
    height: 3.5rem;
    font-size: 0.9rem;
    padding: 0 0.8rem;
  }
  .l-header-cta__soudan.c-btn .c-btn__text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-header-cta__touroku.c-btn {
    height: 3.5rem;
    font-size: 0.9rem;
    padding: 0 0.5rem;
  }
}

.l-header-drawer {
  display: none;
}
@media screen and (max-width: 834px) {
  .l-header-drawer {
    display: block;
    visibility: hidden;
    position: fixed;
    z-index: 500;
    top: 5rem;
    right: 0;
    width: 100%;
    height: auto;
    background-color: rgba(111, 111, 111, 0.5);
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }
  .l-header-drawer.is-active {
    visibility: visible;
    opacity: 1;
    height: calc(100lvh - 5rem);
  }
  .l-header-drawer__inner {
    width: 92.6666666667%;
    height: 100%;
    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.9rem 0;
    padding: 1.2rem 1.5rem;
    margin: 0 0 0 auto;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
  }
  .l-header-drawer__menu {
    width: 21.2rem;
  }
  .l-header-drawer__menu-item {
    position: relative;
    font-size: 1.1rem;
    border-bottom: 1px solid #bcbcbc;
  }
  .l-header-drawer__menu-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 0.4rem;
    padding: 0.9rem 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }
  .l-header-drawer__menu-item a::after {
    content: "";
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: inline-block;
    width: 0.9rem;
    aspect-ratio: 17/10;
    background: url(../img/cmn/arrow_ico_bk.svg?250826) no-repeat center center/contain;
    margin: 0 0 0 auto;
  }
  .l-header-drawer__menu-item.menu-item-blank > a {
    pointer-events: none;
  }
  .l-header-drawer__menu-item.menu-item-inactive {
    opacity: 0.7;
    pointer-events: none;
  }
  .l-header-drawer__menu-item.-privacy {
    display: none;
  }
}

/* ================================
Footer
================================ */
.l-footer {
  position: relative;
  z-index: 1;
  color: #fff;
  background-color: #5a4f4a;
  padding: 4.3rem 0 2.7rem;
}
.l-footer__inner {
  width: calc(100% - 2.3rem);
}
.l-footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.1rem 2.7rem;
}
.l-footer__bottom {
  display: grid;
  grid-template-areas: "link cta" "copyright cta";
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  grid-template-rows: 1fr -webkit-min-content;
  grid-template-rows: 1fr min-content;
  gap: 1rem 2.7rem;
}
.l-footer__copyright {
  grid-area: copyright;
  font-size: 1rem;
}
@media screen and (max-width: 834px) {
  .l-footer {
    padding: 3.1rem 0 2.3rem;
  }
  .l-footer__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 3.8rem;
  }
  .l-footer__bottom {
    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-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem 0;
  }
  .l-footer__copyright {
    font-size: 0.9rem;
  }
}

.l-footer-company {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer-company__logo {
  width: 9rem;
  aspect-ratio: 135/152;
}
@media screen and (max-width: 834px) {
  .l-footer-company__logo {
    width: 7.3rem;
  }
}

.l-footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.1rem 2.7rem;
}
.l-footer-nav__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.3rem;
  font-size: 1rem;
  line-height: 1;
  font-weight: 700;
  padding: 0 0 0.7rem;
  margin: 0 0 1.3rem;
  border-bottom: 1px solid rgba(188, 188, 188, 0.4);
}
.l-footer-nav__heading::before {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 17/9;
  -webkit-transform: rotate(232deg);
          transform: rotate(232deg);
  background: url(../img/cmn/leaf_ico_wh.svg) no-repeat center center/contain;
}
.l-footer-nav__menu {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  gap: 1.3rem 4rem;
}
.l-footer-nav__menu-item {
  font-size: 0.9rem;
}
.l-footer-nav__menu-item a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-footer-nav__menu-item a:hover {
  opacity: 0.7;
}
.l-footer-nav__menu-item.-company {
  display: none;
}
@media screen and (max-width: 834px) {
  .l-footer-nav {
    width: calc(100% - 2.3rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-footer-nav__block {
    width: 100%;
  }
  .l-footer-nav__heading {
    font-size: 1.1rem;
    padding: 0 0 0.6rem;
    margin: 0 0 1.2rem;
  }
  .l-footer-nav__menu {
    grid-template-rows: repeat(3, auto);
    gap: 1rem 1.9rem;
  }
  .l-footer-nav__menu.-jobseekers {
    grid-template-areas: "top column" "jobs news" "employment contact" ". privacy";
    grid-template-rows: repeat(4, auto);
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-top {
    grid-area: top;
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-jobs {
    grid-area: jobs;
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-employment {
    grid-area: employment;
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-column {
    grid-area: column;
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-news {
    grid-area: news;
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-contact {
    grid-area: contact;
  }
  .l-footer-nav__menu.-jobseekers .l-footer-nav__menu-item.-privacy {
    grid-area: privacy;
  }
  .l-footer-nav__menu-item {
    font-size: 1rem;
  }
}

.l-footer-cta {
  grid-area: cta;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 1rem;
  padding: 1rem 0.7rem 0.7rem;
}
.l-footer-cta__heading {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 0.9rem;
  padding: 0 0.5em;
  background-color: #5a4f4a;
}
@media screen and (min-width: 835px) {
  .l-footer-cta__main .c-contact-parts__num {
    color: #fff;
  }
  .l-footer-cta__main .c-contact-parts__num::before {
    background: url(../img/cmn/phone_ico_wh.svg) no-repeat center center/contain;
  }
  .l-footer-cta__main .c-contact-parts__info {
    color: #fff;
    background-color: transparent;
  }
  .l-footer-cta__soudan.c-contact-parts__soudan {
    height: 4rem;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 834px) {
  .l-footer-cta {
    width: 100%;
    padding: 1.2rem 1.2rem 0.8rem;
    margin: 0 0 0.8rem;
  }
  .l-footer-cta__heading {
    font-size: 1.1rem;
  }
}

.l-footer-link {
  grid-area: link;
  align-self: end;
}
.l-footer-link__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-footer-link__item {
  font-size: 0.9rem;
}
.l-footer-link__item a {
  padding: 0 1em;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.l-footer-link__item a:hover {
  opacity: 0.7;
}
.l-footer-link__item::after {
  content: "｜";
}
.l-footer-link__item:first-of-type::before {
  content: "｜";
}
@media screen and (max-width: 834px) {
  .l-footer-link {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .l-footer-link__item {
    font-size: 1rem;
  }
  .l-footer-link__item a {
    padding: 0 0.5em;
  }
}

/* ================================
Common module
================================ */
/* heading */
.c-heading {
  position: relative;
  text-align: center;
  padding: 2.3rem 0 0;
  margin: 0 0 2rem;
}
.c-heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 1.7rem);
  display: inline-block;
  width: 3.3rem;
  aspect-ratio: 50/30;
  background: url(../img/cmn/symbol_illust.png) no-repeat center center/contain;
}
.c-heading__main-title {
  display: block;
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.c-heading__main-title.-jp {
  color: #5a4f4a;
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  font-size: 2rem;
  line-height: 1.5;
}
.c-heading__sub-title {
  display: block;
  font-size: 1rem;
  margin: 0.3rem 0 0;
}
.c-heading.-gn::before {
  background: url(../img/cmn/symbol_illust_gn.png) no-repeat center center/contain;
}
.c-heading.-horizontal {
  padding: 0 0 0 4rem;
}
.c-heading.-horizontal::before {
  top: 0.7rem;
  left: 0;
}
@media screen and (min-width: 835px) {
  .c-heading.-horizontal_only_desktop {
    padding: 0 0 0 4rem;
  }
  .c-heading.-horizontal_only_desktop::before {
    top: 0.7rem;
    left: 0;
  }
}
@media screen and (max-width: 834px) {
  .c-heading {
    padding: 1.3rem 0 0;
    margin: 0 0 2.3rem;
  }
  .c-heading::before {
    left: calc(50% - 1rem);
    width: 1.9rem;
  }
  .c-heading__main-title {
    font-size: 2.4rem;
  }
  .c-heading__main-title.-jp {
    font-size: 1.5rem;
  }
  .c-heading__sub-title {
    font-size: 1rem;
    font-weight: 500;
    margin: 0.4rem 0 0;
  }
  .c-heading.-horizontal {
    padding: 0 0 0 2.3rem;
  }
  .c-heading.-horizontal::before {
    top: 0.6rem;
    left: 0;
  }
  .c-heading.-horizontal_only_mobile {
    padding: 0 0 0 2.3rem;
  }
  .c-heading.-horizontal_only_mobile::before {
    top: 0.6rem;
    left: 0;
  }
}

/*sentence*/
.c-sentence {
  line-height: 2.2;
}
.c-sentence + .c-sentence {
  margin-top: 2.2em;
}
.c-sentence + .c-btn__wrap {
  margin-top: 2rem;
}
@media screen and (max-width: 834px) {
  .c-sentence {
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
  .c-sentence + .c-sentence {
    margin-top: 1.8em;
  }
  .c-sentence + .c-btn__wrap {
    margin-top: 1.3rem;
  }
}
.c-sentence.-center_only_desktop {
  text-align: center;
}
@media screen and (max-width: 834px) {
  .c-sentence.-center_only_desktop {
    text-align: left;
  }
}
@media screen and (max-width: 834px) {
  .c-sentence.-lg_only_mobile {
    font-size: 1.1rem;
  }
}

.c-underline-link {
  color: #ed6f0f;
  text-decoration: underline;
}

.c-marker-text {
  line-height: 1.5;
  background-color: rgba(255, 240, 56, 0.6);
}

/* button */
.c-btn {
  position: relative;
  min-width: 26.7rem;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 0.7rem;
  background: -webkit-gradient(linear, left top, right top, from(#ed6f0f), color-stop(#fac12c), to(#ed6f0f)) no-repeat top left/200% 100%;
  background: linear-gradient(to right, #ed6f0f, #fac12c, #ed6f0f) no-repeat top left/200% 100%;
  padding: 0 4.5rem 0 2.9rem;
  -webkit-transition: background-position 0.2s linear;
  transition: background-position 0.2s linear;
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  width: 1.1rem;
  aspect-ratio: 17/10;
  background: url(../img/cmn/arrow_ico_wh.svg) no-repeat center center/contain;
}
.c-btn__text {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
}
.c-btn.-gn {
  background: -webkit-gradient(linear, left top, right top, from(#6BAD00), color-stop(#E4ED0F), to(#6BAD00)) no-repeat top left/200% 100%;
  background: linear-gradient(to right, #6BAD00, #E4ED0F, #6BAD00) no-repeat top left/200% 100%;
}
.c-btn:hover {
  background-position: 100% 0;
}
@media screen and (min-width: 835px) {
  .c-btn.-sm_only_desktop {
    min-width: 18.7rem;
    height: 3.3rem;
    font-size: 1.1rem;
    padding: 0 3.3rem 0 2.7rem;
  }
  .c-btn.-sm_only_desktop::after {
    right: 1.2rem;
  }
}
@media screen and (max-width: 834px) {
  .c-btn {
    min-width: 22.3rem;
    height: 4.2rem;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 0.4rem;
    padding: 0 3.2rem 0 1.9rem;
  }
  .c-btn::after {
    right: 1.2rem;
    width: 0.9rem;
  }
  .c-btn__text {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    gap: 0 0.4rem;
  }
}

.c-btn__wrap {
  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;
  gap: 0.7rem 1.3rem;
}
@media screen and (max-width: 834px) {
  .c-btn__wrap {
    gap: 0.5rem 0.5rem;
  }
}
.c-btn__wrap.-left {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
.c-btn__wrap.-right {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
.c-btn__wrap.-vertical_only_desktop {
  -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;
}
@media screen and (max-width: 834px) {
  .c-btn__wrap.-vertical_only_desktop {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.c-btn__wrap.-right_only_desktop {
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
@media screen and (max-width: 834px) {
  .c-btn__wrap.-right_only_desktop {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-btn__wrap.-left_only_desktop {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}
@media screen and (max-width: 834px) {
  .c-btn__wrap.-left_only_desktop {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* table */
.c-table {
  width: 100%;
  table-layout: fixed;
}
.c-table th,
.c-table td {
  font-size: 1.1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.c-table th {
  width: 14rem;
  font-weight: 500;
  white-space: nowrap;
}
.c-table td {
  font-weight: 400;
}
@media screen and (max-width: 834px) {
  .c-table th,
  .c-table td {
    display: block;
    width: 100%;
    font-size: 1rem;
  }
  .c-table th {
    border-bottom: none;
    padding: 0.8rem 0;
  }
  .c-table td {
    padding: 0 0 0.8rem;
  }
}

/* list */
.c-check-list {
  font-size: 0.9rem;
}
.c-check-list li {
  position: relative;
  padding: 0 0 0 1.5em;
}
.c-check-list li::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  display: inline-block;
  width: 1em;
  aspect-ratio: 15/13;
  background: url(../img/cmn/checkbox_ico.svg) no-repeat center center/contain;
}
.c-check-list li:not(:last-child) {
  margin-bottom: 1em;
}

.c-dot-list li {
  position: relative;
  font-size: 0.9rem;
  padding: 0 0 0 1em;
}
.c-dot-list li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  display: inline-block;
  width: 0.5em;
  aspect-ratio: 1/1;
  background-color: currentColor;
  border-radius: 50%;
}
.c-dot-list li:not(:last-child) {
  margin-bottom: 0.5em;
}

/* pager */
.c-pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.7rem 0.7rem;
}
.c-pager__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.7rem;
  width: 3.2rem;
  height: 3.2rem;
  font-family: "Quicksand", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  border-radius: 50%;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}
.c-pager__item .ico {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3.2rem;
  height: 3.2rem;
  color: #fff;
  background-color: rgba(222, 222, 222, 0.8);
  border-radius: 50%;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
}
.c-pager__item .ico::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 1/1;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-pager__item.current {
  color: #ed6f0f;
}
.c-pager__item.prev, .c-pager__item.next, .c-pager__item.home {
  width: auto;
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
}
.c-pager__item.next .ico::before {
  -webkit-transform: scale(-1, 1) rotate(45deg);
          transform: scale(-1, 1) rotate(45deg);
}
.c-pager__item.home {
  margin: 0 3.3rem;
}
.c-pager__item:hover {
  color: #ed6f0f;
}
.c-pager__item:hover .ico {
  background-color: #ed6f0f;
}
.c-pager__item-wrap {
  width: 8.3rem;
}
.c-pager .screen-reader-text {
  display: none;
}
@media screen and (max-width: 834px) {
  .c-pager__item {
    gap: 0 0.6rem;
    width: 2.7rem;
    height: 2.7rem;
    font-size: 1.1rem;
  }
  .c-pager__item .ico {
    width: 2.7rem;
    height: 2.7rem;
  }
  .c-pager__item.home {
    margin: 0 auto;
  }
  .c-pager__item-wrap {
    width: 7.7rem;
  }
}

/* breadcrumbs */
.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-x: auto;
}
.c-breadcrumbs__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.9rem;
  white-space: nowrap;
  opacity: 0.4;
}
.c-breadcrumbs__item a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-breadcrumbs__item a:hover {
  opacity: 0.7;
}
.c-breadcrumbs__item:not(:last-of-type)::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  aspect-ratio: 1/1;
  border-top: 1px solid #bcbcbc;
  border-right: 1px solid #bcbcbc;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: 0 0.5rem;
}
.c-breadcrumbs__item:last-of-type {
  opacity: 1;
}
@media screen and (max-width: 834px) {
  .c-breadcrumbs__item {
    font-size: 0.9rem;
  }
}

/* FAQ */
.c-faq-list {
  counter-reset: number 0;
}
.c-faq-list__item {
  cursor: pointer;
  overflow: hidden;
  counter-increment: number 1;
  padding: 0 0 1rem;
  border-bottom: 1px solid #bcbcbc;
}
.c-faq-list__item.is-open .c-faq-list__header::after {
  content: "－";
}
.c-faq-list__item.is-open .c-faq-list__content {
  opacity: 1;
  height: auto;
  padding: 1rem 3rem 0 0;
}
.c-faq-list__item:not(:last-of-type) {
  margin-bottom: 1rem;
}
.c-faq-list__header {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 1rem;
}
.c-faq-list__header::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "Q " counter(number);
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
}
.c-faq-list__header::after {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "＋";
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
}
.c-faq-list__question {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.1rem;
  font-weight: 700;
}
.c-faq-list__content {
  opacity: 0;
  height: 0;
  padding: 0 3rem 0 0;
  -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  transition: opacity 0.2s ease-out, height 0.2s ease-out, padding 0.2s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 1rem;
}
.c-faq-list__content::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "A " counter(number);
  font-family: "Quicksand", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
}
.c-faq-list__answer {
  font-size: 0.9rem;
}
@media screen and (max-width: 834px) {
  .c-faq-list__item.is-open .c-faq-list__content {
    padding: 0.8rem 1.2rem 0 0;
  }
  .c-faq-list__item:not(:last-of-type) {
    margin-bottom: 1.2rem;
  }
  .c-faq-list__header {
    gap: 0 0.8rem;
  }
  .c-faq-list__header::before {
    font-size: 1.2rem;
    letter-spacing: -0.1em;
  }
  .c-faq-list__question {
    font-size: 1.1rem;
  }
  .c-faq-list__content {
    gap: 0 0.8rem;
    padding: 0 1.2rem 0 0;
  }
  .c-faq-list__content::before {
    font-size: 1.2rem;
    letter-spacing: -0.1em;
  }
  .c-faq-list__answer {
    font-size: 1.1rem;
  }
}

/* Table Of Contents */
.c-toc {
  background-color: #f5f5f5;
  padding: 2rem;
  border-radius: 0.3rem;
}
.c-toc__heading {
  font-family: "Quicksand", sans-serif;
  color: #ed6f0f;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 0 2rem;
}
.c-toc__list {
  counter-reset: toc-parent-count 0;
}
.c-toc__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  font-size: 0.9rem;
  line-height: 1.8;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-toc__item::before {
  counter-increment: toc-parent-count 1;
  content: counter(toc-parent-count, decimal-leading-zero) ".";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.3rem;
  font-family: "Quicksand", sans-serif;
  color: #ed6f0f;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.c-toc__item:hover {
  opacity: 0.7;
}
.c-toc__item:not(:last-of-type) {
  margin-bottom: 2rem;
}
@media screen and (max-width: 834px) {
  .c-toc {
    padding: 1.5rem;
    border-radius: 0.2rem;
  }
  .c-toc__heading {
    font-size: 1.5rem;
    letter-spacing: 0.15em;
    margin: 0 0 1.5rem;
  }
  .c-toc__item {
    font-size: 1rem;
  }
  .c-toc__item::before {
    width: 2.3rem;
    font-size: 1.3rem;
  }
  .c-toc__item:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
}

/* modal */
.c-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
}
.c-modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 40, 36, 0.4);
}
.c-modal__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 13.9vw);
  height: 100%;
  max-height: calc(100% - 13.9vw);
  border-radius: 0.7rem;
  background-color: #fff;
}
.c-modal__body {
  position: relative;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.c-modal__close {
  position: absolute;
  z-index: 2;
  top: 2rem;
  right: 2rem;
  width: 4.3rem;
  height: 4.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  border-radius: 0.3rem;
  padding: 1.2rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  background-color: rgba(255, 255, 255, 0.5);
}
.c-modal__close img {
  -o-object-fit: contain;
     object-fit: contain;
}
.c-modal__close:hover {
  opacity: 0.7;
}
@media screen and (max-width: 834px) {
  .c-modal__wrap {
    width: calc(100% - 2.3rem);
    max-height: calc(100% - 4.6rem);
    border-radius: 0.8rem;
  }
  .c-modal__close {
    top: 0;
    right: 0;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 0.2rem;
    padding: 1rem;
  }
}

/* category box */
.c-category-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.7rem 0.5rem;
}
.c-category-box__heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Quicksand", sans-serif;
  font-size: 1rem;
}
.c-category-box__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.7rem 0.7rem;
}
.c-category-box__item {
  font-size: 0.9rem;
  background-color: rgba(222, 222, 222, 0.5);
  border-radius: 9999px;
  padding: 0.5rem 1.3rem;
  cursor: pointer;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-category-box__item:hover {
  opacity: 0.7;
}
@media screen and (min-width: 835px) {
  .c-category-box__list.-sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-category-box__list.-sm .c-category-box__item {
    padding: 0 0.7rem;
    background-color: #fff;
    border: 1px solid #707070;
  }
  .c-category-box__item.is-active {
    color: #fff !important;
    background-color: #707070 !important;
  }
}
@media screen and (max-width: 834px) {
  .c-category-box {
    gap: 0 1.3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-category-box__heading {
    font-size: 1rem;
  }
  .c-category-box__select-wrap {
    position: relative;
    width: 100%;
    height: 3.8rem;
    border: 1px solid #bcbcbc;
    border-radius: 0.4rem;
  }
  .c-category-box__select-wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.2rem;
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    border-bottom: 0.1rem solid #bcbcbc;
    border-right: 0.1rem solid #bcbcbc;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
  }
  .c-category-box__select {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 1.2rem;
    outline: none;
  }
}

/* case card */
.c-case-card {
  background-color: #fff;
  border: 1px solid #bcbcbc;
  border-radius: 0.8rem;
  padding: 1rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-case-card__thumb {
  aspect-ratio: 240/180;
  border-radius: 0.3rem;
  overflow: hidden;
  margin: 0 0 1rem;
}
.c-case-card__title {
  font-size: 1.1rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 0 0.7rem;
}
.c-case-card__desc {
  font-size: 0.9rem;
  line-height: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.c-case-card__btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.7rem;
  color: #ed6f0f;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1rem 0 0 auto;
}
.c-case-card__btn::after {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 34/19;
  background: url(../img/cmn/arrow_ico.svg) no-repeat center center/contain;
}
.c-case-card:hover {
  opacity: 0.7;
}
@media screen and (max-width: 834px) {
  .c-case-card {
    display: grid;
    grid-template-areas: "thumb content" "btn content";
    grid-template-columns: 11.3rem 1fr;
    gap: 0.8rem 1.2rem;
    padding: 1.2rem;
    border-radius: 0.8rem;
  }
  .c-case-card__thumb {
    grid-area: thumb;
    border-radius: 0.4rem;
  }
  .c-case-card__content {
    grid-area: content;
  }
  .c-case-card__title {
    font-size: 1.1rem;
    font-weight: 500;
    margin: 0 0 0.6rem;
    -webkit-line-clamp: 3;
  }
  .c-case-card__desc {
    font-size: 0.9rem;
    -webkit-line-clamp: 3;
  }
  .c-case-card__btn {
    grid-area: btn;
    gap: 0 0.4rem;
    font-size: 1rem;
    margin: 0 auto;
  }
}

.c-case-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3rem 1.3rem;
}
.c-case-card__wrap .c-case-card {
  width: calc((100% - 4rem) / 4);
}
@media screen and (max-width: 834px) {
  .c-case-card__wrap {
    gap: 0.8rem 0;
  }
  .c-case-card__wrap .c-case-card {
    width: 100%;
  }
}

/* column card */
.c-column-card__thumb {
  aspect-ratio: 240/180;
  border-radius: 0.3rem;
  overflow: hidden;
  margin: 0 0 1rem;
}
.c-column-card__category {
  display: inline-block;
  color: #fff;
  font-size: 0.9rem;
  background-color: #707070;
  border-radius: 9999px;
  padding: 0 0.5rem;
  margin: 0 0 0.7rem;
}
.c-column-card__title-wrap {
  margin: 0 0 0.9rem;
}
.c-column-card__title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.c-column-card__desc {
  font-size: 0.9rem;
  line-height: 1.9;
  line-height: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .c-column-card {
    display: grid;
    grid-template-areas: "thumb content" "category content";
    grid-template-rows: -webkit-min-content 1fr;
    grid-template-rows: min-content 1fr;
    grid-template-columns: 11.3rem 1fr;
    gap: 0.8rem 1.2rem;
    padding: 1.2rem;
  }
  .c-column-card__thumb {
    grid-area: thumb;
    border-radius: 0.2rem;
    margin: 0;
  }
  .c-column-card__content {
    grid-area: content;
  }
  .c-column-card__title-wrap {
    margin: 0 0 0.5rem;
  }
  .c-column-card__title {
    font-size: 1.1rem;
    -webkit-line-clamp: 3;
  }
  .c-column-card__desc {
    font-size: 0.9rem;
    -webkit-line-clamp: 3;
  }
  .c-column-card__category {
    grid-area: category;
    align-self: start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
  }
}

.c-column-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.7rem 3.3rem;
}
.c-column-card__wrap .c-column-card {
  width: calc((100% - 10rem) / 4);
}
@media screen and (max-width: 834px) {
  .c-column-card__wrap {
    gap: 0.8rem 0;
  }
  .c-column-card__wrap .c-column-card {
    width: 100%;
  }
}

/* job card */
.c-job-card {
  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.7rem 0;
  background-color: #fff;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-job-card__thumb {
  aspect-ratio: 240/180;
  border-radius: 0.3rem;
  overflow: hidden;
}
.c-job-card__balloon {
  position: relative;
  z-index: 0;
  background-color: #fff;
  border-radius: 0.3rem;
  padding: 0.7rem 1rem;
  margin: 0.5rem 0 0.7rem;
  -webkit-filter: drop-shadow(0 0 1px #bcbcbc);
          filter: drop-shadow(0 0 1px #bcbcbc);
}
.c-job-card__balloon::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -0.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
  width: 0.7rem;
  aspect-ratio: 10/7;
  background-color: #fff;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.c-job-card__title {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.c-job-card__company-name {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.c-job-card__location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 0.5em;
  font-size: 0.9rem;
}
.c-job-card__location::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  width: 0.8rem;
  aspect-ratio: 12/14;
  background: url(../img/cmn/pin_ico_bk.svg) no-repeat center center/contain;
}
.c-job-card__category {
  -ms-flex-item-align: start;
      align-self: flex-start;
  color: #fff;
  font-size: 0.9rem;
  background-color: #707070;
  border-radius: 9999px;
  padding: 0 0.5rem;
}
.c-job-card:hover {
  opacity: 0.7;
}
@media screen and (max-width: 834px) {
  .c-job-card {
    display: grid;
    grid-template-areas: "thumb content" "category content";
    grid-template-rows: -webkit-min-content 1fr;
    grid-template-rows: min-content 1fr;
    grid-template-columns: 11.3rem 1fr;
    gap: 0.8rem 0.8rem;
    padding: 1.2rem;
  }
  .c-job-card__thumb {
    grid-area: thumb;
    border-radius: 0.2rem;
  }
  .c-job-card__content {
    grid-area: content;
  }
  .c-job-card__balloon {
    padding: 0.6rem;
    margin: 0 0 0.5rem;
  }
  .c-job-card__balloon::before {
    content: "";
    top: 50%;
    left: -0.3rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.3rem;
    aspect-ratio: 7/10;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
  }
  .c-job-card__title {
    font-size: 0.9rem;
    -webkit-line-clamp: 4;
  }
  .c-job-card__company-name {
    font-size: 1rem;
    margin: 0 0 0.5rem;
  }
  .c-job-card__location {
    font-size: 0.9rem;
  }
  .c-job-card__location::before {
    width: 0.8rem;
  }
  .c-job-card__category {
    grid-area: category;
    align-self: start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.c-job-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.7rem 3.3rem;
}
.c-job-card__wrap .c-job-card {
  width: calc((100% - 10rem) / 4);
}
@media screen and (max-width: 834px) {
  .c-job-card__wrap {
    gap: 0.8rem 0;
  }
  .c-job-card__wrap .c-job-card {
    width: 100%;
  }
}

/* employment card */
.c-employment-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 0;
  background-color: #fff;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-employment-card__thumb {
  aspect-ratio: 240/180;
  border-radius: 0.3rem;
  overflow: hidden;
}
.c-employment-card__title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 0 1rem;
}
.c-employment-card__desc {
  font-size: 0.9rem;
  line-height: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.c-employment-card__category {
  -ms-flex-item-align: start;
      align-self: flex-start;
  color: #fff;
  font-size: 0.9rem;
  background-color: #707070;
  border-radius: 9999px;
  padding: 0 0.5rem;
}
.c-employment-card:hover {
  opacity: 0.7;
}
@media screen and (max-width: 834px) {
  .c-employment-card {
    display: grid;
    grid-template-areas: "thumb content" "category content";
    grid-template-rows: -webkit-min-content 1fr;
    grid-template-rows: min-content 1fr;
    grid-template-columns: 11.3rem 1fr;
    gap: 0.8rem 1.2rem;
    padding: 1.2rem;
  }
  .c-employment-card__thumb {
    grid-area: thumb;
    border-radius: 0.2rem;
  }
  .c-employment-card__content {
    grid-area: content;
  }
  .c-employment-card__title {
    font-size: 1.1rem;
    -webkit-line-clamp: 3;
    margin: 0 0 0.5rem;
  }
  .c-employment-card__desc {
    font-size: 0.9rem;
    -webkit-line-clamp: 3;
  }
  .c-employment-card__category {
    grid-area: category;
    align-self: start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.c-employment-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3rem 1.3rem;
}
.c-employment-card__wrap .c-employment-card {
  width: calc((100% - 4rem) / 4);
}
@media screen and (max-width: 834px) {
  .c-employment-card__wrap {
    gap: 0.8rem 0;
  }
  .c-employment-card__wrap .c-employment-card {
    width: 100%;
  }
}

/* news list */
.c-news-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 0.7rem;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid #bcbcbc;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-news-list__item:hover {
  opacity: 0.7;
}
.c-news-list__item:not(:last-of-type) {
  margin-bottom: 1rem;
}
.c-news-list__meta {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
}
.c-news-list__date {
  font-family: "Quicksand", sans-serif;
  font-weight: 400;
}
.c-news-list__category {
  color: #fff;
  font-size: 0.9rem;
  background-color: #707070;
  border-radius: 9999px;
  padding: 0 0.5rem;
}
.c-news-list__title {
  font-weight: 500;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 834px) {
  .c-news-list__item {
    -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;
    padding: 0 0 1.2rem;
  }
  .c-news-list__item:not(:last-of-type) {
    margin-bottom: 1.2rem;
  }
  .c-news-list__meta {
    gap: 0 0.7rem;
  }
  .c-news-list__date {
    font-size: 1.1rem;
  }
  .c-news-list__category {
    font-size: 1rem;
  }
  .c-news-list__title {
    font-size: 1.1rem;
    -webkit-line-clamp: 2;
  }
}

.c-flow-list__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 0.7rem;
}
.c-flow-list__item::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 2.2rem;
  display: block;
  width: 2px;
  height: 100%;
  background-color: #f39a00;
}
.c-flow-list__item:not(:last-of-type) {
  padding-bottom: 1rem;
}
.c-flow-list__num {
  position: relative;
  z-index: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4.5rem;
  aspect-ratio: 1/1;
  color: #fff;
  font-family: "Quicksand", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  border-radius: 50%;
  background-color: #f39a00;
}
.c-flow-list__num .-num {
  font-size: 1.7rem;
  font-weight: 600;
}
.c-flow-list__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-flow-list__title {
  position: relative;
  z-index: -1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: rgba(250, 193, 44, 0.2);
  padding: 0 0.7rem 0 2.3rem;
  border-radius: 0.3rem;
  margin: 1.3rem 0 1rem -2rem;
}
.c-flow-list__catch {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.c-flow-list__content-list li {
  position: relative;
  font-size: 0.9rem;
  padding: 0 0 0 1em;
}
.c-flow-list__content-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.c-flow-list__content-list li:not(:last-child) {
  margin-bottom: 0.5em;
}
@media screen and (max-width: 834px) {
  .c-flow-list__item {
    gap: 0;
  }
  .c-flow-list__item::before {
    left: 1.8rem;
    width: 0.1rem;
  }
  .c-flow-list__num {
    width: 3.6rem;
    font-size: 0.8rem;
  }
  .c-flow-list__num .-num {
    font-size: 1.4rem;
  }
  .c-flow-list__title {
    font-size: 1.2rem;
    padding: 0 0.4rem 0 1.5rem;
    margin: 0.8rem 0 0.6rem -1.2rem;
  }
  .c-flow-list__catch {
    font-size: 1.1rem;
    margin: 0 0 0.6rem;
  }
  .c-flow-list__content-list li {
    font-size: 1rem;
  }
}

/* Snow Monkey Form */
.smf-form .smf-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.smf-form .smf-item__col--label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15.3rem;
  padding: 1rem 1rem 1rem 0;
}
.smf-form .smf-item__col--controls {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 0;
}
.smf-form .smf-item__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  font-size: 1rem;
}
.smf-form .smf-item__controls {
  font-size: 1rem;
}
.smf-form .smf-item__controls > *:not(:last-child) {
  margin-bottom: 1rem;
}
.smf-form .smf-item__note {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}
.smf-form .smf-item__note.-center_only_desktop {
  text-align: center;
}
.smf-form .smf-item.-required .smf-item__label::after {
  content: "＊";
  color: #ed6f0f;
  font-size: 0.7rem;
  font-weight: 400;
}
.smf-form .smf-text-control__control {
  width: 100%;
  height: 3rem;
  border: 1px solid #5a4f4a;
  background-color: #fff;
  border-radius: 0.3rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0 1em;
}
.smf-form .smf-textarea-control__control {
  width: 100%;
  height: 8rem;
  border-radius: 0.3rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid #5a4f4a;
  background-color: #fff;
  padding: 1em;
}
.smf-form .smf-select-control__control {
  width: 26.7rem;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid #5a4f4a;
  padding: 0.7rem 1rem;
}
.smf-form .smf-select-control__toggle {
  background-color: #f5f5f5;
}
.smf-form .smf-select-control__toggle::before {
  content: none;
}
.smf-form .smf-select-control__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  border-width: 0.5rem 0.5rem 0 0.5rem;
  border-color: #5a4f4a transparent transparent transparent;
}
.smf-form .smf-radio-buttons-control__control {
  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: 0.3rem 1.3rem;
}
.smf-form .smf-radio-button-control {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.smf-form .smf-radio-button-control__control {
  width: 1.5em;
  height: 1.5em;
  margin: 0;
}
.smf-form .smf-radio-button-control__control::before {
  top: calc(50% - 0.4em);
  left: calc(50% - 0.4em);
  width: 0.8em;
  height: 0.8em;
  background-color: #ed6f0f;
}
.smf-form .smf-radio-button-control__control:checked {
  background-color: #fff;
  border-color: #ed6f0f;
}
.smf-form .smf-checkboxes-control__control {
  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.7rem 2rem;
}
.smf-form .smf-checkboxes-control--horizontal .smf-checkboxes-control__control {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.smf-form .smf-checkboxes-control--horizontal .smf-checkboxes-control__control > .smf-label {
  margin-right: 0;
}
.smf-form .smf-checkbox-control__control {
  width: 1rem;
  height: 1rem;
  border-radius: 0.2rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid #5a4f4a;
}
.smf-form .smf-checkbox-control__control:checked {
  background-color: #ed6f0f;
  border-color: #ed6f0f;
}
.smf-form .smf-checkbox-control__label a {
  color: #ed6f0f;
  text-decoration: underline;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.smf-form .smf-checkbox-control__label a:hover {
  opacity: 0.7;
}
.smf-form .smf-placeholder[data-name=privacy-agreement] {
  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;
  margin: 4rem 0 0;
}
@media screen and (max-width: 834px) {
  .smf-form .smf-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .smf-form .smf-item__col {
    width: 100%;
  }
  .smf-form .smf-item__col--label {
    padding: 0 0 0.8rem;
  }
  .smf-form .smf-item__col--controls {
    padding: 0 0 2.3rem;
  }
  .smf-form .smf-item__label {
    font-size: 1.1rem;
  }
  .smf-form .smf-item__label::after {
    font-size: 0.8rem;
  }
  .smf-form .smf-item__controls {
    font-size: 1.1rem;
  }
  .smf-form .smf-item__note {
    font-size: 1.1rem;
  }
  .smf-form .smf-item__note.-center_only_desktop {
    text-align: left;
  }
  .smf-form .smf-text-control__control {
    height: 3.5rem;
  }
  .smf-form .smf-textarea-control__control {
    height: 6.2rem;
  }
  .smf-form .smf-checkbox-control__control {
    width: 1.2rem;
    height: 1.2rem;
  }
  .smf-form .smf-placeholder[data-name=privacy-agreement] {
    margin: 2.3rem 0 0;
  }
}

.smf-message {
  margin: 4rem 0;
}
@media screen and (max-width: 834px) {
  .smf-message {
    margin: 2.3rem 0;
  }
}

.smf-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem 1.3rem;
  margin: 4rem 0 0;
}
.smf-action .smf-button-control__control {
  position: relative;
  min-width: 18.7rem;
  height: 3.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  border-radius: 0.7rem;
  background-color: #ed6f0f;
  padding: 0 6rem 0 5.3rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  background-image: none;
  border: 1px solid #ed6f0f;
}
.smf-action .smf-button-control__control::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  width: 1.1rem;
  aspect-ratio: 17/10;
  background: url(../img/cmn/arrow_ico_wh.svg) no-repeat center center/contain;
}
.smf-action .smf-button-control__control:hover {
  opacity: 0.7;
}
.smf-action .smf-button-control__control[data-action=back] {
  color: #ed6f0f;
  background-color: #fff;
}
.smf-action .smf-button-control__control[data-action=back]::after {
  right: initial;
  left: 1.5rem;
  background: url(../img/cmn/arrow_ico.svg) no-repeat center center/contain;
  -webkit-transform: translateY(-50%) scale(-1, 1);
          transform: translateY(-50%) scale(-1, 1);
}
.smf-action .smf-button-control + .smf-button-control {
  margin: 0;
}
@media screen and (max-width: 834px) {
  .smf-action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 2.3rem 0 0;
  }
  .smf-action .smf-button-control__control {
    min-width: 22.3rem;
    height: 4.2rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 0.4rem;
    padding: 0 3.3rem 0 1.9rem;
  }
  .smf-action .smf-button-control__control::after {
    right: 1.2rem;
    width: 1.2rem;
  }
  .smf-action .smf-button-control__control[data-action=back]::after {
    left: initial;
    right: 1.2rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.smf-error-messages {
  font-size: 86%;
}

.snow-monkey-form .-display_only_input,
.snow-monkey-form .-display_only_confirm,
.snow-monkey-form .-display_only_complete {
  display: none;
}
.snow-monkey-form[data-screen=input] .-display_only_input, .snow-monkey-form[data-screen=invalid] .-display_only_input {
  display: block;
}
.snow-monkey-form[data-screen=input] .smf-placeholder + .smf-placeholder, .snow-monkey-form[data-screen=invalid] .smf-placeholder + .smf-placeholder {
  margin-top: 0.7rem;
}
.snow-monkey-form[data-screen=input] .smf-form .smf-item.-label_match_height .smf-item__label, .snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-label_match_height .smf-item__label {
  min-height: 3rem;
}
.snow-monkey-form[data-screen=input] .smf-form .smf-item.-p0 .smf-item__col, .snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-p0 .smf-item__col {
  padding: 0;
}
.snow-monkey-form[data-screen=input] .smf-form .smf-item.-pb0 .smf-item__col--label,
.snow-monkey-form[data-screen=input] .smf-form .smf-item.-pb0 .smf-item__col--controls, .snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-pb0 .smf-item__col--label,
.snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-pb0 .smf-item__col--controls {
  padding-bottom: 0;
}
.snow-monkey-form[data-screen=input] .smf-form .smf-item.-pb60 .smf-item__col--controls, .snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-pb60 .smf-item__col--controls {
  padding-bottom: 4rem;
}
.snow-monkey-form[data-screen=confirm] .-display_only_confirm {
  display: block;
}
.snow-monkey-form[data-screen=confirm] .smf-form .smf-item__col {
  border-bottom: 1px solid #bcbcbc;
}
.snow-monkey-form[data-screen=confirm] .smf-form .smf-item__label {
  min-height: initial;
}
.snow-monkey-form[data-screen=complete] .-display_only_complete {
  display: block;
}
@media screen and (max-width: 834px) {
  .snow-monkey-form[data-screen=input] .smf-form .smf-item.-pb0 .smf-item__col--label, .snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-pb0 .smf-item__col--label {
    padding-bottom: 0.8rem;
  }
  .snow-monkey-form[data-screen=input] .smf-form .smf-item.-pb60 .smf-item__col--controls, .snow-monkey-form[data-screen=invalid] .smf-form .smf-item.-pb60 .smf-item__col--controls {
    padding-bottom: 2.3rem;
  }
  .snow-monkey-form[data-screen=confirm] .smf-form .smf-item:not(:last-of-type) {
    padding: 0 0 1.5rem;
  }
  .snow-monkey-form[data-screen=confirm] .smf-form .smf-item__col--label {
    border-bottom: none;
    padding: 0 0 1.2rem;
  }
  .snow-monkey-form[data-screen=confirm] .smf-form .smf-item__col--controls {
    padding: 0 0 1.5rem;
  }
  .snow-monkey-form[data-screen=confirm] .smf-form .smf-item__controls {
    font-weight: 400;
  }
}

/* contact parts */
.c-contact-parts {
  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.8rem 0;
}
.c-contact-parts__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.c-contact-parts__tel:hover {
  opacity: 0.7;
}
.c-contact-parts__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
}
.c-contact-parts__num::before {
  content: "";
  display: inline-block;
  width: 0.6em;
  aspect-ratio: 1/1;
  background: url(../img/cmn/phone_ico.svg) no-repeat center center/contain;
}
.c-contact-parts__info {
  font-family: "Quicksand", "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", sans-serif;
  color: #5a4f4a;
  font-size: 0.9rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.3;
  background-color: rgba(222, 222, 222, 0.3);
  padding: 2px 0.5em;
  border-radius: 0.3rem;
}
.c-contact-parts__mail .c-btn__text::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  aspect-ratio: 24/21;
  background: url(../img/cmn/mail_ico_wh.svg) no-repeat center center/contain;
}
.c-contact-parts__soudan {
  height: 5.3rem;
  font-size: 1.4rem;
}
.c-contact-parts__soudan .c-btn__text::before {
  content: "";
  display: inline-block;
  width: 1.4em;
  aspect-ratio: 30/34;
  background: url(../img/cmn/soudan_ico.png) no-repeat center center/contain;
}
@media screen and (max-width: 834px) {
  .c-contact-parts {
    gap: 0.8rem 0;
  }
  .c-contact-parts__tel {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0.4rem;
    border: 0.1rem solid #ed6f0f;
    border-radius: 0.4rem;
    background-color: #fff;
  }
  .c-contact-parts__num {
    font-size: 2.1rem;
  }
  .c-contact-parts__info {
    font-size: 1.1rem;
    background-color: transparent;
  }
  .c-contact-parts__mail {
    width: 100%;
    height: 4.6rem;
    font-size: 1.1rem;
  }
  .c-contact-parts__mail .c-btn__text::before {
    width: 1.2rem;
  }
  .c-contact-parts__soudan {
    height: 4.6rem;
    font-size: 1.1rem;
  }
  .c-contact-parts__soudan .c-btn__text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}

/* CTA */
.c-ctaA {
  background-color: #ed6f0f;
  padding: 1.3rem 0 1.7rem;
}
.c-ctaA__inner {
  width: calc(100% - 2.3rem);
}
.c-ctaA__heading {
  color: #fff;
  font-family: "Quicksand", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 1rem;
}
.c-ctaA__body {
  background-color: #fff;
  border-radius: 0.3rem;
}
.c-ctaA__main {
  position: relative;
  width: calc(100% - 2.3rem);
  max-width: 73.3rem;
  padding: 2.3rem 0 3.3rem;
  margin: 0 auto;
}
.c-ctaA__main::before {
  content: "";
  position: absolute;
  top: -6.7rem;
  right: 1.3rem;
  display: block;
  width: 10.7rem;
  aspect-ratio: 160/172;
  background: url(../img/cmn/ctaA_illust01.png) no-repeat center center/contain;
}
.c-ctaA__main::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: -5.3rem;
  display: block;
  width: 6.7rem;
  aspect-ratio: 100/170;
  background: url(../img/cmn/ctaA_illust02.png) no-repeat center center/contain;
}
.c-ctaA__message {
  font-size: 1.3rem;
  text-align: center;
  margin: 0 0 1.6rem;
}
@media screen and (min-width: 835px) {
  .c-ctaA__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    gap: 0.8rem 2.8rem;
    margin: 0 auto;
  }
  .c-ctaA__content .c-contact-parts__num {
    font-size: 3.1rem;
  }
  .c-ctaA__content .c-contact-parts__info {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 834px) {
  .c-ctaA {
    padding: 2.7rem 0;
  }
  .c-ctaA__heading {
    font-size: 2.4rem;
    text-align: left;
    padding: 0 1.2rem;
    margin: 0 0 1.3rem;
  }
  .c-ctaA__main {
    padding: 2.5rem 0 1.2rem;
  }
  .c-ctaA__main::before {
    top: 1rem;
    right: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    width: 8.9rem;
  }
  .c-ctaA__main::after {
    bottom: initial;
    top: -1.3rem;
    left: 0;
    width: 4.4rem;
  }
  .c-ctaA__message {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1.1rem;
    text-align: left;
    padding: 0 2.3rem 0 0;
    margin: 0 0 1.3rem auto;
  }
}

.c-ctaB {
  background-color: #FFFBC3;
  padding: 2.7rem 0;
  margin: -1.3rem 0 0;
}
.c-ctaB__inner {
  position: relative;
  z-index: 0;
  width: calc(100% - 2.3rem);
}
.c-ctaB__inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -3rem;
  left: 0;
  display: block;
  width: 100%;
  aspect-ratio: 1340/225;
  background: url(../img/cmn/ctaB_bg.png) no-repeat center center/contain;
}
.c-ctaB__body {
  position: relative;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 0.3rem;
  padding: 2.7rem 1.2rem;
}
.c-ctaB__body::before {
  content: "";
  position: absolute;
  z-index: 2;
  bottom: -2.7rem;
  left: 15.3rem;
  display: block;
  width: 9.7rem;
  aspect-ratio: 144/209;
  background: url(../img/cmn/ctaB_illust01.png) no-repeat center center/contain;
}
.c-ctaB__body::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: -4rem;
  right: 15.3rem;
  display: block;
  width: 9.3rem;
  aspect-ratio: 142/236;
  background: url(../img/cmn/ctaB_illust02.png) no-repeat center center/contain;
}
.c-ctaB__heading {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: last baseline;
      -ms-flex-align: last baseline;
          align-items: last baseline;
  gap: 0 0.7rem;
  color: #ed6f0f;
  font-size: 1.5rem;
  font-weight: 700;
  white-space: nowrap;
}
.c-ctaB__heading::before, .c-ctaB__heading::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1rem;
  background-color: currentColor;
}
.c-ctaB__heading::before {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.c-ctaB__heading::after {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.c-ctaB__btn {
  width: 34.7rem;
}
@media screen and (max-width: 834px) {
  .c-ctaB {
    padding: 3.5rem 0 2.3rem;
    margin: -1.2rem 0 0;
  }
  .c-ctaB__inner::before {
    top: initial;
    bottom: -2.3rem;
    left: -1rem;
    width: 26.9rem;
    aspect-ratio: 705/175;
    background: url(../img/cmn/ctaB_bg_sp.png) no-repeat center center/contain;
  }
  .c-ctaB__body {
    padding: 2.3rem 1.2rem 1.2rem;
  }
  .c-ctaB__body::before {
    left: -1.2rem;
    bottom: initial;
    top: -4.6rem;
    width: 6.2rem;
  }
  .c-ctaB__body::after {
    right: -1.2rem;
    top: -4.6rem;
    width: 5.4rem;
  }
  .c-ctaB__heading {
    font-size: 1.2rem;
  }
  .c-ctaB__btn {
    width: 100%;
    height: 6.2rem;
  }
}

/* ================================
Top（求人企業向け）
================================ */
.employers .l-content-container::before {
  content: "";
  position: fixed;
  z-index: -1;
  top: 6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 90rem;
  aspect-ratio: 1352/683;
  background: url(../img/employers/page_bg.png) no-repeat center center/contain;
}
@media screen and (max-width: 834px) {
  .employers .l-content-container::before {
    top: 5.4rem;
    width: 28.8rem;
    aspect-ratio: 750/1172;
    background: url(../img/employers/page_bg_sp.png) no-repeat center center/contain;
  }
}

.p-topA-service {
  padding: 1.3rem 0 4.8rem;
}
.p-topA-service__inner {
  position: relative;
  z-index: 0;
}
.p-topA-service__img01 {
  position: absolute;
  z-index: -1;
  top: 0;
  left: -4.7rem;
  width: 23rem;
  aspect-ratio: 347/264;
}
.p-topA-service__img02 {
  position: absolute;
  z-index: -1;
  bottom: 9.7rem;
  right: -4.7rem;
  width: 18rem;
  aspect-ratio: 268/291;
}
.p-topA-service__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
  margin: 5.5rem 0 4rem;
}
.p-topA-service__catch {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
  padding: 5.5rem 0;
  background: url(../img/employers/service-catch_bg.png) no-repeat center center/contain;
}
.p-topA-service__catch::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: -2.8rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 12.4rem;
  aspect-ratio: 186/102;
  background: url(../img/employers/service_illust.png) no-repeat center center/contain;
}
.p-topA-service__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.7rem;
  font-size: 1.3rem;
}
.p-topA-service__list li::before {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 39/40;
  background: url(../img/employers/check_ico.png) no-repeat center center/contain;
}
.p-topA-service__list li:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (max-width: 834px) {
  .p-topA-service {
    padding: 3.8rem 0;
  }
  .p-topA-service__img01 {
    position: initial;
    width: 15.2rem;
    margin: 0 auto 0 -2.3rem;
  }
  .p-topA-service__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
  }
  .p-topA-service__catch {
    font-size: 1.3rem;
    padding: 5.9rem 0;
    background: url(../img/employers/service-catch_bg_sp.png) no-repeat center center/contain;
  }
  .p-topA-service__catch::before {
    top: 0;
    right: 1.2rem;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    width: 13.3rem;
  }
  .p-topA-service__list {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
  .p-topA-service__list li {
    font-size: 1.1rem;
  }
  .p-topA-service__list li:not(:last-child) {
    margin-bottom: 0.8rem;
  }
  .p-topA-service__img02 {
    bottom: 6.5rem;
    right: -1.2rem;
    width: 14.4rem;
  }
  .p-topA-service__btn-wrap02 {
    margin: 1.9rem 0 0;
  }
  .p-topA-service__btn02 {
    font-size: 1.1rem;
  }
}

.p-topA-message {
  padding: 5.3rem 0;
  background-color: rgba(250, 193, 44, 0.05);
}
.p-topA-message__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5rem 4rem;
}
.p-topA-message__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-topA-message__heading {
  text-align: left;
}
.p-topA-message__text {
  padding: 0 0 0 4rem;
}
.p-topA-message__catch {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 2.2;
  margin: 4rem 0 2rem;
}
.p-topA-message__img-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28.4rem;
  margin: 0 -1.6rem 0 0;
}
.p-topA-message__img {
  width: 100%;
}
.p-topA-message__profile {
  text-align: center;
  margin: -1.7rem 0 0;
}
.p-topA-message__position {
  display: block;
  font-weight: 400;
  font-size: 0.9rem;
}
.p-topA-message__name {
  display: inline-block;
  height: 3.7rem;
  aspect-ratio: 154/56;
}
@media screen and (max-width: 834px) {
  .p-topA-message {
    padding: 3.1rem 0;
  }
  .p-topA-message__body {
    -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;
  }
  .p-topA-message__heading {
    margin: 0 0 1.5rem -1.2rem;
  }
  .p-topA-message__text {
    padding: 0;
  }
  .p-topA-message__catch {
    font-size: 1.5rem;
    line-height: 2;
    margin: 0 0 1.5rem;
  }
  .p-topA-message__img-wrap {
    width: 20.2rem;
    margin: 0;
  }
  .p-topA-message__profile {
    margin: 0;
  }
  .p-topA-message__position {
    font-size: 1rem;
  }
  .p-topA-message__name {
    height: 2.7rem;
    margin: 0.8rem 0 0;
  }
}

.p-topA-story {
  padding: 5.3rem 0;
}
.p-topA-story__card {
  max-width: 61.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5rem 2rem;
  border: 1px solid #bcbcbc;
  padding: 2rem;
  border-radius: 0.8rem;
  background-color: #fff;
  margin: 0 auto;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  cursor: pointer;
}
.p-topA-story__card:hover {
  opacity: 0.7;
}
.p-topA-story__card:not(:last-of-type) {
  margin-bottom: 2rem;
}
.p-topA-story__img-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 34.8837209302%;
}
.p-topA-story__img {
  width: 100%;
  aspect-ratio: 300/250;
  border-radius: 0.7rem;
  overflow: hidden;
  margin: 0 0 0.3rem;
}
.p-topA-story__meta {
  font-size: 1rem;
  text-align: center;
}
.p-topA-story__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-topA-story__title {
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0 0 0.9rem;
  margin: 0 0 1.3rem;
  border-bottom: 1px solid #bcbcbc;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.p-topA-story__desc {
  font-size: 0.9rem;
  line-height: 2.2;
  font-weight: 400;
  margin: 0 0 0.9rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.p-topA-story__more-btn {
  color: #ed6f0f;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: right;
}
@media screen and (max-width: 834px) {
  .p-topA-story {
    padding: 3.1rem 0;
  }
  .p-topA-story__card {
    -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;
    padding: 1.5rem;
  }
  .p-topA-story__card:not(:last-of-type) {
    margin-bottom: 1.2rem;
  }
  .p-topA-story__img-wrap {
    width: 20rem;
  }
  .p-topA-story__img {
    border-radius: 0.4rem;
    margin: 0 0 0.6rem;
  }
  .p-topA-story__title {
    font-size: 1.1rem;
    font-weight: 500;
    padding: 0 0 0.6rem;
    margin: 0 0 0.8rem;
  }
  .p-topA-story__desc {
    font-size: 1rem;
    line-height: 1.8;
    -webkit-line-clamp: 3;
    margin: 0 0 1.2rem;
  }
  .p-topA-story__more-btn {
    font-size: 1.1rem;
  }
}

.p-topA-story-modal__slider {
  position: relative;
  z-index: 0;
  padding: 5rem 4.7rem;
}
.p-topA-story-modal__arrow {
  position: fixed;
  z-index: 10;
  top: calc(50% - 1rem);
  left: -4.7rem;
  display: inline-block;
  width: 2rem;
  aspect-ratio: 1/1;
  border-left: 0.2rem solid #fff;
  border-bottom: 0.2rem solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.p-topA-story-modal__arrow.-next {
  left: initial;
  right: -4.7rem;
  border-left: none;
  border-bottom: none;
  border-top: 0.2rem solid #fff;
  border-right: 0.2rem solid #fff;
}
.p-topA-story-modal__slide {
  width: 100%;
  display: grid !important;
  grid-template-areas: "img-wrap content" "info content";
  grid-template-columns: 26rem 1fr;
  grid-template-rows: -webkit-min-content 1fr;
  grid-template-rows: min-content 1fr;
  gap: 0 2.3rem;
}
.p-topA-story-modal__img-wrap {
  grid-area: img-wrap;
}
.p-topA-story-modal__img {
  border-radius: 0.7rem;
  overflow: hidden;
  margin: 0 0 1.3rem;
}
.p-topA-story-modal__meta {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  padding: 0.3rem;
  border-radius: 0.3rem;
  background-color: #5a4f4a;
}
.p-topA-story-modal__info {
  grid-area: info;
}
.p-topA-story-modal__table {
  width: 100%;
  table-layout: fixed;
}
.p-topA-story-modal__table th,
.p-topA-story-modal__table td {
  font-size: 1rem;
  font-weight: 400;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.p-topA-story-modal__table th {
  width: 8rem;
  white-space: nowrap;
}
.p-topA-story-modal__content {
  grid-area: content;
  font-weight: 400;
}
.p-topA-story-modal__title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
@media screen and (max-width: 834px) {
  .p-topA-story-modal__slider {
    padding: 1.5rem 1.2rem;
  }
  .p-topA-story-modal__arrow {
    top: calc(50% - 0.6rem);
    left: -0.9rem;
    width: 1.2rem;
  }
  .p-topA-story-modal__arrow.-next {
    right: -0.9rem;
  }
  .p-topA-story-modal__slide {
    width: 23.8rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-topA-story-modal__img-wrap {
    width: 100%;
  }
  .p-topA-story-modal__img {
    border-radius: 0.4rem;
    margin: 0 0 0.6rem;
  }
  .p-topA-story-modal__meta {
    font-size: 1.1rem;
  }
  .p-topA-story-modal__info {
    padding: 0 0 2.3rem;
    margin: 0 0 2.3rem;
  }
  .p-topA-story-modal__table th,
  .p-topA-story-modal__table td {
    font-size: 1.1rem;
    padding: 0.8rem 0;
  }
  .p-topA-story-modal__table th {
    width: 5.8rem;
  }
  .p-topA-story-modal__title {
    font-size: 1.1rem;
    padding: 0 0 0.6rem;
    border-bottom: 1px solid #bcbcbc;
    margin: 0 0 0.8rem;
  }
}

.p-topA-case {
  background-color: rgba(250, 193, 44, 0.05);
  padding: 5.3rem 0;
}
.p-topA-case__slider {
  width: 100vw;
  margin: 2.7rem calc(50% - 50vw);
}
.p-topA-case__slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
}
.p-topA-case__card {
  width: 18rem;
}
@media screen and (max-width: 834px) {
  .p-topA-case {
    padding: 3.1rem 0;
  }
  .p-topA-case__slider {
    margin: 1.2rem calc(50% - 50vw) 1.5rem;
  }
  .p-topA-case__slider .slick-track {
    gap: 0 0.8rem;
  }
  .p-topA-case__card {
    width: 21.5rem;
  }
  .p-topA-case__card .c-case-card__title {
    -webkit-line-clamp: 2;
  }
  .p-topA-case__card .c-case-card__desc {
    -webkit-line-clamp: 2;
  }
  .p-topA-case__card .c-case-card__btn {
    display: none;
  }
}

.p-topA-column {
  padding: 5.3rem 0 8rem;
}
.p-topA-column__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.7rem 6.7rem;
}
.p-topA-column__side {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-topA-column__heading {
  text-align: left;
}
.p-topA-column__heading .c-heading__main-title {
  color: #ed6f0f;
}
.p-topA-column__category-area {
  margin: 0 0 1.7rem;
}
.p-topA-column__main {
  width: 52rem;
}
.p-topA-column__slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  opacity: 0;
  height: 0;
  -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out;
  transition: opacity 0.2s ease-out, height 0.2s ease-out;
}
.p-topA-column__slider.is-active {
  opacity: 1;
  height: auto;
}
.p-topA-column__card {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16rem;
}
@media screen and (max-width: 834px) {
  .p-topA-column {
    padding: 3.1rem 0 4.6rem;
  }
  .p-topA-column__body {
    -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;
  }
  .p-topA-column__side {
    width: 100%;
  }
  .p-topA-column__heading {
    margin: 0 -1.2rem 1.5rem;
  }
  .p-topA-column__category-area {
    margin: 0;
  }
  .p-topA-column__main {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .p-topA-column__slider {
    display: block;
  }
  .p-topA-column__slider .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 0.8rem;
  }
  .p-topA-column__card {
    width: 21.5rem;
  }
  .p-topA-column__card .c-column-card__thumb {
    margin: 0 0 1.2rem;
  }
  .p-topA-column__card .c-column-card__category {
    margin: 0 0 1.2rem;
  }
  .p-topA-column__card .c-column-card__title-wrap {
    border-bottom: 1px solid #bcbcbc;
    padding: 0 0 0.5rem;
    margin: 0 0 0.8rem;
  }
  .p-topA-column__card .c-column-card__title {
    -webkit-line-clamp: 2;
  }
  .p-topA-column__card .c-column-card__desc {
    font-size: 1.1rem;
    line-height: 1.8;
    -webkit-line-clamp: 2;
  }
}

/* ================================
Top（求職者向け）
================================ */
.jobseekers .l-content-container::before {
  content: "";
  position: fixed;
  z-index: -1;
  top: 6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 90rem;
  aspect-ratio: 1352/683;
  background: url(../img/jobseekers/page_bg.png) no-repeat center center/contain;
}
@media screen and (max-width: 834px) {
  .jobseekers .l-content-container::before {
    top: 5.4rem;
    width: 28.8rem;
    aspect-ratio: 750/1184;
    background: url(../img/jobseekers/page_bg_sp.png) no-repeat center center/contain;
  }
}

.p-topB-jobs {
  padding: 5.3rem 0;
}
.p-topB-jobs__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0 0.7rem;
  color: #98c940;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.p-topB-jobs__heading::before {
  content: "";
  display: block;
  width: 3.3rem;
  aspect-ratio: 1/1;
  background: url(../img/jobseekers/jobs-heading_ico.png) no-repeat center center/contain;
}
.p-topB-jobs__year {
  font-size: 0.9rem;
  margin: 0 0 1.7rem;
  padding: 0 0 0 4rem;
}
.p-topB-jobs__note {
  font-size: 0.9rem;
  margin: 1.1rem 0 0;
}
.p-topB-jobs__list {
  opacity: 0;
  height: 0;
  -webkit-transition: opacity 0.2s ease-out, height 0.2s ease-out;
  transition: opacity 0.2s ease-out, height 0.2s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem 2rem;
}
.p-topB-jobs__list.is-active {
  opacity: 1;
  height: auto;
}
.p-topB-jobs__card {
  width: 16rem;
}
@media screen and (max-width: 834px) {
  .p-topB-jobs {
    padding: 3.8rem 0;
  }
  .p-topB-jobs__heading {
    gap: 0 0.4rem;
    font-size: 1.7rem;
    margin: 0 -1.2rem 0;
  }
  .p-topB-jobs__heading::before {
    width: 2.5rem;
  }
  .p-topB-jobs__year {
    padding: 0 0 0 1.7rem;
    font-size: 1.1rem;
    margin: 0 0 1.2rem;
  }
  .p-topB-jobs__note {
    font-size: 1rem;
    text-align: center;
    margin: -2.1rem 0 0;
  }
  .p-topB-jobs__main {
    padding: 0 2.3rem;
  }
  .p-topB-jobs__list {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0 1.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-topB-jobs__card {
    width: 100%;
  }
}

.p-topB-employment {
  padding: 5.3rem 0;
}
.p-topB-employment__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0 0.7rem;
  color: #98c940;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 1.7rem;
}
.p-topB-employment__heading::before {
  content: "";
  display: block;
  width: 3.3rem;
  aspect-ratio: 1/1;
  background: url(../img/jobseekers/employment-heading_ico.png) no-repeat center center/contain;
}
@media screen and (max-width: 834px) {
  .p-topB-employment {
    padding: 0 0 3.8rem;
  }
  .p-topB-employment__heading {
    gap: 0 0.4rem;
    font-size: 1.7rem;
    margin: 0 -1.2rem 1.2rem;
  }
  .p-topB-employment__heading::before {
    width: 2.5rem;
  }
  .p-topB-employment__slider .slick-track {
    gap: 0 0.8rem;
  }
  .p-topB-employment__card {
    width: 21.5rem;
    padding: 1.2rem;
    border-radius: 0.8rem;
    border: 1px solid #bcbcbc;
  }
  .p-topB-employment__card .c-employment-card__thumb {
    margin: 0 0 0.8rem;
  }
  .p-topB-employment__card .c-employment-card__category {
    display: none;
  }
  .p-topB-employment__card .c-employment-card__title {
    -webkit-line-clamp: 2;
  }
  .p-topB-employment__card .c-employment-card__desc {
    font-size: 1rem;
    -webkit-line-clamp: 2;
  }
}

.p-topB-merit {
  background-color: rgba(250, 193, 44, 0.05);
  padding: 5.3rem 0;
}
.p-topB-merit__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 1.3rem;
  margin: 7rem 0 0;
}
.p-topB-merit__item {
  position: relative;
  width: calc((100% - 2.7rem) / 3);
  background-color: #fff;
  border-radius: 1.3rem;
  padding: 2.7rem 1.3rem 2rem;
}
.p-topB-merit__num {
  position: absolute;
  top: -2.7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  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;
  color: #f39a00;
  font-weight: 700;
  text-align: center;
  line-height: 1.1;
}
.p-topB-merit__num .-num {
  font-family: "Quicksand", sans-serif;
  font-size: 3.3rem;
}
.p-topB-merit__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.p-topB-merit__ico {
  width: 12.7rem;
  aspect-ratio: 192/114;
  margin: 1rem auto;
}
.p-topB-merit__ico img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-topB-merit__desc {
  font-size: 0.9rem;
  line-height: 1.9;
}
@media screen and (max-width: 834px) {
  .p-topB-merit {
    padding: 3.1rem 0;
  }
  .p-topB-merit__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 1.9rem 0 0;
  }
  .p-topB-merit__item {
    width: 100%;
    padding: 1.2rem 1.2rem;
  }
  .p-topB-merit__num {
    top: -0.3rem;
    left: 0.8rem;
    -webkit-transform: none;
            transform: none;
    font-size: 0.8rem;
  }
  .p-topB-merit__num .-num {
    font-size: 2.3rem;
  }
  .p-topB-merit__heading {
    font-size: 1.2rem;
    text-align: left;
    padding: 0 0 0 3.6rem;
    margin: 0 0 1.2rem;
  }
  .p-topB-merit__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-topB-merit__ico {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 11.5rem;
    margin: 0;
  }
  .p-topB-merit__desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 1.1rem;
    line-height: 1.7;
  }
}

.p-topB-support {
  background-color: rgba(207, 210, 0, 0.1);
  padding: 5.3rem 0;
}
.p-topB-support__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 1.3rem;
  margin: 6.3rem 0 0;
}
.p-topB-support__item {
  position: relative;
  width: calc((100% - 5.3rem) / 5);
  background-color: rgba(207, 210, 0, 0.1);
  border-radius: 1.3rem;
  padding: 2.7rem 1.3rem 2rem;
}
.p-topB-support__num {
  position: absolute;
  top: -2.7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  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;
  color: #98c940;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.p-topB-support__num .-num {
  font-family: "Quicksand", sans-serif;
  font-size: 3.3rem;
}
.p-topB-support__heading {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.p-topB-support__ico {
  width: 100%;
  aspect-ratio: 165/114;
  margin: 1rem auto;
}
.p-topB-support__ico img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-topB-support__desc {
  font-size: 0.9rem;
  line-height: 1.9;
}
@media screen and (max-width: 834px) {
  .p-topB-support {
    padding: 3.1rem 0;
  }
  .p-topB-support__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 1.9rem 0 0;
  }
  .p-topB-support__item {
    width: 100%;
    padding: 1.2rem 1.2rem;
  }
  .p-topB-support__num {
    top: -0.3rem;
    left: 0.8rem;
    -webkit-transform: none;
            transform: none;
    font-size: 0.8rem;
  }
  .p-topB-support__num .-num {
    font-size: 2.3rem;
  }
  .p-topB-support__heading {
    font-size: 1.2rem;
    text-align: left;
    padding: 0 0 0 3.6rem;
    margin: 0 0 1.2rem;
  }
  .p-topB-support__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-topB-support__ico {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 10.4rem;
    margin: 0;
  }
  .p-topB-support__desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 1.1rem;
    line-height: 1.7;
  }
}

.p-topB-talk {
  padding: 5.3rem 0;
}
.p-topB-talk__block {
  position: relative;
  max-width: 60rem;
  margin: 0 auto;
}
.p-topB-talk__block:first-of-type {
  margin-top: 3.3rem;
}
.p-topB-talk__block:not(:last-of-type) {
  padding-bottom: 3.3rem;
  margin-bottom: 3.3rem;
}
.p-topB-talk__block:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  height: 0.2rem;
  width: 100%;
  background: url(../img/jobseekers/talk-block_border.png) repeat-x top left/cover;
}
.p-topB-talk__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 0.7rem;
  padding: 0 5.5rem 0 0;
}
.p-topB-talk__item:not(:last-of-type) {
  margin-bottom: 1.3rem;
}
.p-topB-talk__item.-iroha {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 0 0 0 5.5rem;
}
.p-topB-talk__item.-iroha .p-topB-talk__balloon {
  font-size: 1.3rem;
  font-weight: 500;
}
.p-topB-talk__item.-iroha .p-topB-talk__balloon::before {
  left: initial;
  right: -0.3rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-topB-talk__ico-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.8rem;
}
.p-topB-talk__ico {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 0 0.3rem;
}
.p-topB-talk__name {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
}
.p-topB-talk__balloon {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.3rem;
  font-weight: 700;
  padding: 1.3rem;
  background-color: #fff;
  border-radius: 0.7rem;
  border: 2px solid #dedede;
  margin: 0 0 0 0.3rem;
}
.p-topB-talk__balloon::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: -0.3rem;
  display: inline-block;
  width: 0.3rem;
  aspect-ratio: 5/10;
  background-color: #dedede;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
@media screen and (min-width: 835px) {
  .p-topB-talk__item.-mb0 {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 834px) {
  .p-topB-talk {
    padding: 3.1rem 0;
  }
  .p-topB-talk__block {
    width: 100vw;
    padding: 0 1.2rem;
    margin: 0 calc(50% - 50vw);
  }
  .p-topB-talk__block:first-of-type {
    margin-top: 1.5rem;
  }
  .p-topB-talk__block:not(:last-of-type) {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .p-topB-talk__block:not(:last-of-type)::after {
    height: 0.2rem;
  }
  .p-topB-talk__item {
    padding: 0 !important;
  }
  .p-topB-talk__item:not(:last-of-type) {
    margin-bottom: 0.8rem;
  }
  .p-topB-talk__item.-iroha .p-topB-talk__balloon {
    font-size: 1.1rem;
  }
  .p-topB-talk__ico-wrap {
    width: 3.8rem;
  }
  .p-topB-talk__name {
    font-size: 0.9rem;
  }
  .p-topB-talk__balloon {
    border-width: 0.1rem;
    font-size: 1.1rem;
    padding: 0.6rem;
  }
  .p-topB-talk__balloon::before {
    top: 1.7rem;
  }
}

.p-topB-flow {
  background-color: rgba(250, 193, 44, 0.05);
  padding: 5.3rem 0 6.7rem;
}
.p-topB-flow__heading {
  text-align: left;
}
.p-topB-flow__main {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 4rem;
}
.p-topB-flow__main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 10rem;
  aspect-ratio: 150/184;
  background: url(../img/jobseekers/flow_illust.png) no-repeat center center/contain;
}
.p-topB-flow__footer {
  background-color: #fbfbe6;
  padding: 4rem 3.3rem;
}
.p-topB-flow__outro {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 2.2;
}
.p-topB-flow__outro:not(:last-of-type) {
  margin-bottom: 2.2em;
}
@media screen and (max-width: 834px) {
  .p-topB-flow {
    padding: 3.1rem 0;
  }
  .p-topB-flow__main {
    margin: 0 auto 1.5rem;
  }
  .p-topB-flow__main .c-flow-list__catch {
    font-weight: 500;
  }
  .p-topB-flow__main::before {
    width: 5.8rem;
  }
  .p-topB-flow__footer {
    padding: 2.3rem 1.2rem;
  }
  .p-topB-flow__outro {
    font-size: 1.1rem;
    text-align: left;
    line-height: 1.8;
  }
  .p-topB-flow__outro:not(:last-of-type) {
    margin-bottom: 1.8em;
  }
}

.p-topB-access {
  background-color: #FFFBC3;
  padding: 0 0 5.3rem;
}
.p-topB-access__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-topB-access__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-topB-access__heading {
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0 0 1rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.p-topB-access__desc {
  font-size: 1.1rem;
  padding: 0 0 1rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.p-topB-access__map {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 50%;
  aspect-ratio: 500/295;
}
.p-topB-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 834px) {
  .p-topB-access {
    padding: 0 0 3.1rem;
  }
  .p-topB-access__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-topB-access__heading {
    font-size: 1rem;
    font-weight: 500;
    padding: 0 0 0.8rem;
    margin: 0 0 0.8rem;
  }
  .p-topB-access__desc {
    font-size: 1rem;
    padding: 0 0 0.8rem;
    margin: 0 0 0.8rem;
  }
  .p-topB-access__map {
    width: 100%;
  }
}

.p-topB-news {
  padding: 5.3rem 0 8rem;
}
.p-topB-news__list {
  max-width: 49.7rem;
  margin: 2.7rem auto;
}
@media screen and (max-width: 834px) {
  .p-topB-news {
    padding: 3.1rem 0 4.6rem;
  }
  .p-topB-news__heading {
    text-align: left;
    margin: 0 -1.2rem 1.5rem;
  }
  .p-topB-news__list {
    margin: 1.5rem auto;
  }
}

/* ================================
Page
================================ */
.p-page-breadcrumbs {
  padding: 0.7rem 0 0;
}
.p-page-breadcrumbs__inner {
  width: calc(100% - 2.3rem);
}
@media screen and (max-width: 834px) {
  .p-page-breadcrumbs {
    padding: 0.8rem 0 0;
  }
}

.p-page-content {
  padding: 5.3rem 0 8rem;
}
.p-page-content__editable-area {
  counter-reset: number 0;
}
.p-page-content__editable-area h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 0.7rem;
  font-size: 1.3rem;
  font-weight: 500;
  margin: 1.7rem 0;
}
.p-page-content__editable-area h2::before {
  counter-increment: number 1;
  content: counter(number) ".";
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: 1.7rem;
}
.p-page-content__editable-area p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  margin: 1.7rem 0;
}
.p-page-content__editable-area p a {
  color: #ed6f0f;
  font-weight: 700;
  text-decoration: underline;
}
.p-page-content__editable-area ul {
  margin: 1.7rem 1.3rem;
}
.p-page-content__editable-area ul li {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 1em;
}
.p-page-content__editable-area ul li::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 1/1;
  background-color: #ed6f0f;
  border-radius: 50%;
}
.p-page-content__editable-area ul li:not(:last-child) {
  margin-bottom: 1em;
}
.p-page-content__editable-area .wp-block-separator {
  border-top: 1px solid #bcbcbc;
  margin: 2.7rem 0;
}
@media screen and (max-width: 834px) {
  .p-page-content {
    padding: 3.1rem 0 4.6rem;
  }
  .p-page-content__editable-area h2 {
    font-size: 1.2rem;
    margin: 2.3rem 0 1.2rem;
  }
  .p-page-content__editable-area h2::before {
    font-size: 1.5rem;
  }
  .p-page-content__editable-area P {
    font-size: 1.1rem;
    margin: 1.2rem 0 1.9rem;
  }
  .p-page-content__editable-area ul {
    margin: 1.5rem 0;
  }
  .p-page-content__editable-area ul li {
    font-size: 1.1rem;
  }
  .p-page-content__editable-area .wp-block-separator {
    margin: 1.5rem 0 2.3rem;
  }
}

.p-page-nav {
  margin: 0 0 5.3rem;
}
.p-page-nav__menu {
  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;
  gap: 0.7rem 0.7rem;
}
.p-page-nav__item {
  width: calc((100% - 3.5rem) / 6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f5f5f5;
  border-radius: 0.3rem;
  gap: 0.2rem 0.3rem;
  padding: 0.8rem 1rem 0.8rem 0.8rem;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-page-nav__item::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  border-style: solid;
  border-width: 0.3rem 0.3rem 0 0.3rem;
  border-color: currentColor transparent transparent transparent;
}
.p-page-nav__item span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  line-height: 1.3;
}
.p-page-nav__item:hover {
  color: #fff;
  background-color: #ed6f0f;
}
@media screen and (max-width: 834px) {
  .p-page-nav {
    margin: 0 0 3.1rem;
  }
  .p-page-nav__menu {
    gap: 0.4rem 0.4rem;
  }
  .p-page-nav__item {
    width: calc((100% - 0.8rem) / 3);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: 0.2rem;
    padding: 1rem 0.5rem;
  }
  .p-page-nav__item::after {
    border-width: 0.4rem 0.4rem 0 0.4rem;
  }
  .p-page-nav__item span {
    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-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-page-pagetop {
  position: fixed;
  z-index: 10;
  bottom: 2rem;
  right: 2rem;
  width: 3.7rem;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  border: 2px solid #cfd200;
  padding: 0 0 0.1rem;
  background-color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-page-pagetop__triangle {
  position: relative;
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #cfd200;
  border-top-left-radius: 30%;
  -webkit-transform: rotate(30deg) skewY(30deg) scaleX(0.86666);
          transform: rotate(30deg) skewY(30deg) scaleX(0.86666);
}
.p-page-pagetop__triangle::before, .p-page-pagetop__triangle::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #cfd200;
}
.p-page-pagetop__triangle::before {
  border-top-right-radius: 30%;
  -webkit-transform: skewX(-45deg) translateX(50%);
          transform: skewX(-45deg) translateX(50%);
}
.p-page-pagetop__triangle::after {
  border-bottom-left-radius: 30%;
  -webkit-transform: skewY(-45deg) translateY(50%);
          transform: skewY(-45deg) translateY(50%);
}
.p-page-pagetop:hover {
  opacity: 0.5;
}
@media screen and (max-width: 834px) {
  .p-page-pagetop {
    bottom: 0.8rem;
    right: 0.8rem;
    width: 3.1rem;
    border-width: 0.1rem;
  }
  .p-page-pagetop__triangle {
    width: 0.5rem;
    height: 0.5rem;
  }
}

/* ================================
コラム
================================ */
/* archive */
.p-column-archive__footer {
  margin: 3.3rem 0 0;
}
.p-column-archive__category-area {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  margin: 0 auto 5.3rem;
}
@media screen and (max-width: 834px) {
  .p-column-archive__category-area {
    width: 23.8rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 2.7rem;
  }
  .p-column-archive__footer {
    margin: 3.1rem 0 0;
  }
}

/* single */
.p-column-mv {
  position: relative;
  z-index: 0;
  background-color: rgba(255, 240, 56, 0.2);
  padding: 6.7rem 0 4rem;
}
.p-column-mv::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 3.3rem;
  height: 10rem;
  aspect-ratio: 185/150;
  background: url(../img/cmn/page-mv_img02.png) no-repeat center center/contain;
}
.p-column-mv__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.7rem;
  margin: 0 0 1rem;
}
.p-column-mv__date {
  font-family: "Quicksand", sans-serif;
  font-size: 1rem;
}
.p-column-mv__category {
  display: inline-block;
  color: #fff;
  font-size: 0.9rem;
  background-color: #707070;
  border-radius: 9999px;
  padding: 0 0.7rem;
}
.p-column-mv__title {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.1em;
}
.p-column-mv.-typeB {
  background-color: rgba(207, 210, 0, 0.15);
}
.p-column-mv.-typeB::before {
  background: url(../img/cmn/page-mv_img01.png) no-repeat center center/contain;
}
.p-column-mv.-typeC {
  background-color: rgba(152, 201, 64, 0.15);
}
.p-column-mv.-typeC::before {
  background: url(../img/cmn/page-mv_img03.png) no-repeat center center/contain;
}
@media screen and (max-width: 834px) {
  .p-column-mv {
    padding: 2.3rem 0;
  }
  .p-column-mv::before {
    left: 0;
    width: 5rem;
  }
  .p-column-mv__meta {
    margin: 0 0 0.8rem;
  }
  .p-column-mv__date {
    font-size: 1.1rem;
  }
  .p-column-mv__title {
    font-size: 1.3rem;
  }
}

.p-column-single__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.8rem 2.7rem;
}
.p-column-single__side {
  position: relative;
  width: 18.7rem;
}
.p-column-single__toc {
  position: sticky;
  top: 6.7rem;
  left: 0;
}
.p-column-single__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-column-single__pager {
  margin: 2.7rem 0 0;
}
.p-column-single:has(.p-column-other) {
  padding: 5.3rem 0 0;
}
@media screen and (max-width: 834px) {
  .p-column-single__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-column-single__side {
    width: 100%;
  }
  .p-column-single__toc {
    position: initial;
  }
  .p-column-single__pager {
    margin: 2.3rem 0 0;
  }
  .p-column-single:has(.p-column-other) {
    padding: 3.1rem 0 0;
  }
}

.p-column-article__thumb {
  aspect-ratio: 780/586;
  border-radius: 0.7rem;
  overflow: hidden;
  margin: 0 0 3.3rem;
}
.p-column-article__content {
  border-bottom: 1px solid #bcbcbc;
  padding: 0 0 5.3rem;
}
.p-column-article__editable-area > *:first-child {
  margin-top: 0;
}
.p-column-article__editable-area > *:last-child {
  margin-bottom: 0;
}
.p-column-article__editable-area h2 {
  position: relative;
  z-index: 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.8;
  margin: 2.7rem 0 1.3rem;
}
.p-column-article__editable-area h2::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -0.8rem;
  left: -2rem;
  display: inline-block;
  width: 4.5rem;
  aspect-ratio: 68/34;
  background: url(../img/column/h2_ico.png) no-repeat center center/contain;
  -webkit-transform: rotate(-59deg);
          transform: rotate(-59deg);
}
.p-column-article__editable-area h3 {
  position: relative;
  z-index: 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
  padding: 0 0 0 1.9rem;
  margin: 2.7rem 0 1.3rem;
}
.p-column-article__editable-area h3::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0.25em;
  left: 0;
  display: inline-block;
  width: 1em;
  aspect-ratio: 1/1;
  background: url(../img/column/h3_ico.png) no-repeat center center/contain;
}
.p-column-article__editable-area h4 {
  position: relative;
  z-index: 0;
  color: #969800;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.02em;
  padding: 0 0 0 1.9rem;
  margin: 2.7rem 0 1.3rem;
}
.p-column-article__editable-area h4::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0.25em;
  left: 0;
  display: inline-block;
  width: 1em;
  aspect-ratio: 17/21;
  background: url(../img/column/h4_ico.png) no-repeat center center/contain;
}
.p-column-article__editable-area p {
  font-weight: 500;
  line-height: 1.8;
  margin: 1.3rem 0;
}
.p-column-article__editable-area p a {
  color: #ed6f0f;
  font-weight: 700;
  text-decoration: underline;
}
.p-column-article__editable-area p strong {
  display: inline;
  background-color: rgba(255, 240, 56, 0.6);
}
.p-column-article__editable-area ul {
  margin: 1.3rem 0;
}
.p-column-article__editable-area ul li {
  position: relative;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 1em;
}
.p-column-article__editable-area ul li::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 1/1;
  background-color: #ed6f0f;
  border-radius: 50%;
}
.p-column-article__editable-area ul li:not(:last-child) {
  margin-bottom: 0.5em;
}
.p-column-article__editable-area ul ul {
  margin-top: 0.5em;
}
.p-column-article__editable-area ol {
  margin: 1.3rem 0;
}
.p-column-article__editable-area ol li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 0.3rem;
  font-weight: 500;
  line-height: 1.8;
  counter-increment: table-ol;
}
.p-column-article__editable-area ol li::before {
  content: counter(table-ol, decimal-leading-zero) ".";
  display: inline-block;
  width: 2rem;
  font-family: "Quicksand", sans-serif;
  color: #ed6f0f;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.p-column-article__editable-area ol li:not(:last-child) {
  margin-bottom: 0.5em;
}
.p-column-article__editable-area .wp-block-image {
  width: 70%;
  border-radius: 0.7rem;
  overflow: hidden;
  margin: 1.3rem auto;
}
.p-column-article__editable-area .wp-block-separator {
  border-top: 1px dashed #bcbcbc;
  margin: 2.7rem 0;
}
.p-column-article__editable-area .wp-block-table {
  margin: 2.7rem 0;
}
.p-column-article__editable-area .wp-block-table table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.p-column-article__editable-area .wp-block-table table thead th {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  background-color: #5a4f4a;
  text-align: center;
  vertical-align: middle;
  padding: 0.7rem;
  border: 1px solid #dedede;
}
.p-column-article__editable-area .wp-block-table table thead th:not(:last-child) {
  border-right-color: #fff;
}
.p-column-article__editable-area .wp-block-table table tbody th,
.p-column-article__editable-area .wp-block-table table tbody td {
  font-size: 0.9rem;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  padding: 1rem;
  border: 1px solid #dedede;
}
.p-column-article__editable-area .wp-block-table table tbody th,
.p-column-article__editable-area .wp-block-table table tbody td:nth-child(1) {
  background-color: #f5f5f5;
}
.p-column-article__editable-area .wp-block-table table tbody td {
  background-color: #fff;
}
@media screen and (max-width: 834px) {
  .p-column-article__thumb {
    width: calc(100% + 2.3rem);
    border-radius: 0.7rem;
    margin: 0 -1.2rem 3.1rem;
  }
  .p-column-article__thumb.-full_width {
    width: 100vw;
    border-radius: 0;
    margin: 0 calc(50% - 50vw) 1.5rem;
  }
  .p-column-article__content {
    padding: 0 0 2.3rem;
  }
  .p-column-article__footer {
    margin: 2.3rem 0 0;
  }
  .p-column-article__editable-area h2 {
    font-size: 1.4rem;
    margin: 2.3rem 0 1.5rem;
  }
  .p-column-article__editable-area h2::before {
    top: 0;
    left: -1.2rem;
    width: 2.6rem;
  }
  .p-column-article__editable-area h3 {
    font-size: 1.3rem;
    padding: 0 0 0 0.8rem;
    margin: 2.3rem 0 1.3rem;
  }
  .p-column-article__editable-area h3::before {
    top: 0.6rem;
    left: -0.8rem;
    width: 1.2rem;
  }
  .p-column-article__editable-area h4 {
    font-size: 1.2rem;
    padding: 0 0 0 0.8rem;
    margin: 2.3rem 0 1.3rem;
  }
  .p-column-article__editable-area h4::before {
    top: 0;
    left: -0.8rem;
    width: 1.2rem;
  }
  .p-column-article__editable-area P {
    font-size: 1.1rem;
    margin: 1.3rem 0;
  }
  .p-column-article__editable-area ol {
    margin: 1.5rem 0;
  }
  .p-column-article__editable-area ol li {
    font-size: 1.1rem;
  }
  .p-column-article__editable-area ol li::before {
    width: 1.9rem;
    font-size: 1.2rem;
  }
  .p-column-article__editable-area ul {
    margin: 1.5rem 0;
  }
  .p-column-article__editable-area ul li {
    font-size: 1.1rem;
  }
  .p-column-article__editable-area .wp-block-image {
    width: 100%;
    border-radius: 0.4rem;
    margin: 1.5rem 0;
  }
  .p-column-article__editable-area .wp-block-table {
    overflow-x: auto;
    margin: 1.5rem 0;
  }
  .p-column-article__editable-area .wp-block-table table {
    width: 30.8rem;
  }
  .p-column-article__editable-area .wp-block-table table tbody th,
  .p-column-article__editable-area .wp-block-table table tbody td {
    font-size: 1rem;
  }
}

.p-column-other {
  background-color: #f5f5f5;
  padding: 7.7rem 0 8rem;
  margin: 5.3rem 0 0;
}
.p-column-other__heading {
  position: relative;
  z-index: 0;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 0 0 2.7rem;
}
.p-column-other__heading::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -60%);
          transform: translate(-50%, -60%);
  content: attr(data-en);
  font-family: "Quicksand", sans-serif;
  font-size: 5.1rem;
  color: #fff;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 834px) {
  .p-column-other {
    padding: 5rem 0 4.6rem;
    margin: 3.1rem 0 0;
  }
  .p-column-other__heading {
    font-size: 1.3rem;
    margin: 0 0 1.9rem;
  }
  .p-column-other__heading::before {
    font-size: 3rem;
  }
}

/* ================================
お知らせ
================================ */
.p-news-archive__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 2.7rem;
}
.p-news-archive__side {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-news-archive__category-area {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-news-archive__category-area .c-category-box__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-news-archive__main {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 49.7rem;
}
@media screen and (max-width: 834px) {
  .p-news-archive__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-news-archive__side {
    display: none;
  }
  .p-news-archive__main {
    width: 100%;
  }
}

/* ================================
実績・導入事例
================================ */
.single-case-studies .p-page-breadcrumbs__inner {
  max-width: 73.3rem;
}

.p-case-single {
  padding: 5.3rem 0 8rem;
}
@media screen and (max-width: 834px) {
  .p-case-single {
    padding: 3.1rem 0;
  }
}

.p-case-article__thumb {
  width: 100%;
  aspect-ratio: 780/586;
  margin: 0 0 3.3rem;
}
.p-case-article__thumb img {
  border-radius: 0.7rem;
}
.p-case-article__content {
  border-bottom: 1px solid #bcbcbc;
  padding: 0 0 2.7rem;
}
.p-case-article__footer {
  margin: 2.7rem 0 0;
}
@media screen and (max-width: 834px) {
  .p-case-article__thumb {
    width: 100vw;
    padding: 0 1.2rem;
    margin: 0 calc(50% - 50vw) 3.1rem;
  }
  .p-case-article__thumb img {
    border-radius: 0.4rem;
  }
}

/* ================================
新規求人情報
================================ */
.p-jobs-archive__year {
  margin: 0 0 2rem;
}
.p-jobs-archive__note {
  margin: 5.3rem 0 0;
}
@media screen and (max-width: 834px) {
  .p-jobs-archive__year {
    margin: 0 0 1.5rem;
  }
  .p-jobs-archive__note {
    margin: 3.1rem 0 0;
  }
}

.p-jobs-single__footer {
  margin: 5.3rem 0 0;
}

.p-jobs-article__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem 4.7rem;
  margin: 0 0 4rem;
}
.p-jobs-article__thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 35.7rem;
  aspect-ratio: 537/403;
  border-radius: 0.7rem;
  overflow: hidden;
}
.p-jobs-article__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-jobs-article__table {
  width: 100%;
  table-layout: fixed;
}
.p-jobs-article__table th,
.p-jobs-article__table td {
  font-size: 1rem;
  font-weight: 500;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.p-jobs-article__table th {
  width: 8.7rem;
  white-space: nowrap;
}
.p-jobs-article__table td {
  font-weight: 400;
}
.p-jobs-article__editable-area {
  max-width: 53.3rem;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 834px) {
  .p-jobs-article__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 2.3rem;
  }
  .p-jobs-article__thumb {
    width: calc(100% + 2.3rem);
    border-radius: 0.4rem;
    margin: 0 -1.2rem;
  }
  .p-jobs-article__table th,
  .p-jobs-article__table td {
    font-size: 1.1rem;
    padding: 0.8rem 0;
    border-bottom-color: #bcbcbc;
  }
  .p-jobs-article__table th {
    width: 6.9rem;
  }
  .p-jobs-article__editable-area {
    margin: 0 auto 1.5rem;
  }
}

/* ================================
サービス概要
================================ */
.p-service {
  padding-bottom: 0;
}

.p-service-about {
  padding: 0 0 5.3rem;
}
.p-service-about__intro {
  position: relative;
}
.p-service-about__illust01 {
  position: absolute;
  top: -1.3rem;
  left: -3.3rem;
  width: 6.3rem;
  aspect-ratio: 95/190;
  background: url(../img/artist-employment/about_illust01.png) no-repeat center center/contain;
}
.p-service-about__illust02 {
  position: absolute;
  top: 8rem;
  right: -3.3rem;
  width: 9.3rem;
  aspect-ratio: 140/170;
  background: url(../img/artist-employment/about_illust02.png) no-repeat center center/contain;
}
.p-service-about__main {
  margin: 4rem 0 2rem;
}
.p-service-about__header {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  padding: 0 0 1rem;
  border-bottom: 2px solid #bcbcbc;
  margin: 0 0 3.3rem;
}
.p-service-about__header.-solution {
  border-bottom-color: #f39a00;
}
.p-service-about__block {
  position: relative;
  z-index: 0;
  padding: 0 0 1rem;
}
.p-service-about__block:not(:last-of-type) {
  margin-bottom: 4rem;
}
.p-service-about__block::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: calc(50% - 2.7rem);
  height: 100%;
  border: 1px solid #bcbcbc;
  border-radius: 1.3rem;
}
.p-service-about__block::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  display: block;
  width: calc(50% - 2.7rem);
  height: 100%;
  border: 1px solid #f39a00;
  border-radius: 1.3rem;
}
.p-service-about__row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem 5.3rem;
}
.p-service-about__row.-before_after::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 2.3rem;
  aspect-ratio: 35/72;
  background-color: #f39a00;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.p-service-about__num {
  -webkit-transform: translate(-30%, -30%);
          transform: translate(-30%, -30%);
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4.7rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  background-color: #5a4f4a;
}
.p-service-about__num .-num {
  font-family: "Quicksand", sans-serif;
  font-size: 1.9rem;
  font-weight: 600;
}
.p-service-about__num.-solution {
  background-color: #f39a00;
}
.p-service-about__title {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  padding: 0 0 2rem;
  margin: -2rem 1rem 0;
}
.p-service-about__item {
  min-height: 4.7rem;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 0.7rem;
  background-color: #f5f5f5;
  border-radius: 0.7rem;
  padding: 0.7rem 1.7rem;
  margin: 0 1rem;
}
.p-service-about__item:nth-of-type(even) {
  background-color: rgba(250, 193, 44, 0.05);
}
.p-service-about__item:nth-of-type(even) .p-service-about__item-text::before {
  width: 1.3rem;
  aspect-ratio: 19/20;
  background: url(../img/artist-employment/solution_ico.svg) no-repeat center center/contain;
}
.p-service-about__item-text {
  position: relative;
  padding: 0 0 0 1.7rem;
}
.p-service-about__item-text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 1.2rem;
  aspect-ratio: 18/20;
  background: url(../img/artist-employment/trouble_ico.svg) no-repeat center center/contain;
}
.p-service-about__outro {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 2.1;
}
@media screen and (max-width: 834px) {
  .p-service-about {
    padding: 0 0 3.1rem;
  }
  .p-service-about__heading .c-heading__main-title.-jp {
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .p-service-about__intro {
    padding: 2.3rem 0 0;
  }
  .p-service-about__illust01 {
    top: 0;
    left: -2.3rem;
    width: 4.4rem;
  }
  .p-service-about__illust02 {
    position: initial;
    float: right;
    width: 7.1rem;
    margin: 1.3rem -2.3rem 0 1.3rem;
  }
  .p-service-about__main {
    clear: both;
    width: 100vw;
    padding: 0 1.2rem;
    margin: 3.1rem calc(50% - 50vw) 1.5rem;
  }
  .p-service-about__header {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    padding: 0 0 0.4rem;
    margin: 0;
  }
  .p-service-about__block::before, .p-service-about__block::after {
    content: none;
  }
  .p-service-about__block:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
  .p-service-about__row {
    gap: 1.2rem 1rem;
  }
  .p-service-about__row:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
  .p-service-about__row.-before_after::after {
    content: none;
  }
  .p-service-about__num {
    width: 3.5rem;
    font-size: 0.8rem;
    -webkit-transform: none;
            transform: none;
    margin: 0 auto -0.8rem;
  }
  .p-service-about__num .-num {
    font-size: 1.5rem;
  }
  .p-service-about__title {
    -ms-flex-item-align: center;
        align-self: center;
    font-size: 1rem;
    padding: 0;
    margin: 0;
  }
  .p-service-about__item {
    position: relative;
    min-height: 6.3rem;
    padding: 0.4rem;
    margin: 0;
  }
  .p-service-about__item::before {
    content: "";
    position: absolute;
    top: -0.8rem;
    left: 0;
    display: inline-block;
    width: 1.1rem;
    aspect-ratio: 18/20;
    background: url(../img/artist-employment/trouble_ico.svg) no-repeat center center/contain;
  }
  .p-service-about__item:nth-of-type(odd)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: block;
    width: 0.8rem;
    aspect-ratio: 24/50;
    background-color: #f39a00;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .p-service-about__item:nth-of-type(even)::before {
    width: 1.1rem;
    aspect-ratio: 19/20;
    background: url(../img/artist-employment/solution_ico.svg) no-repeat center center/contain;
  }
  .p-service-about__item-text {
    font-size: 0.9rem;
    padding: 0;
  }
  .p-service-about__item-text::before {
    content: none;
  }
  .p-service-about__outro {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.6;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0 1.2rem;
  }
}

.p-service-system {
  background-color: rgba(250, 193, 44, 0.05);
  padding: 5.3rem 0;
}
.p-service-system__main {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.3rem 4rem;
  padding: 6rem 0 0;
  margin: 2rem 0 0;
}
.p-service-system__main::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 58.8rem;
  aspect-ratio: 882/50;
  background: url(../img/artist-employment/system_arrow02.png) no-repeat center center/100% 100%;
}
.p-service-system__block {
  position: relative;
  width: calc((100% - 8rem) / 3);
  border-radius: 1.3rem;
  border: 1px solid #bcbcbc;
  background-color: #fff;
  padding: 5.3rem 1.3rem 1.3rem 2rem;
}
.p-service-system__block:not(:last-of-type)::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 2rem;
  right: -5rem;
  display: block;
  width: 6rem;
  aspect-ratio: 90/40;
  background: url(../img/artist-employment/system_arrow01.svg) no-repeat center center/contain;
}
.p-service-system__block.-iroha {
  border: 2px solid #f39a00;
}
.p-service-system__title {
  text-align: center;
  padding: 0.3rem 0;
  border-top: 1px solid #bcbcbc;
  border-bottom: 1px solid #bcbcbc;
  margin: 0 0 0.3rem;
}
.p-service-system__heading {
  position: absolute;
  top: -2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  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;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.p-service-system__heading::before {
  content: "";
  display: inline-block;
  width: 4rem;
  aspect-ratio: 1/1;
  background: url(../img/artist-employment/company_ico.png) no-repeat center center/contain;
}
.p-service-system__heading.-iroha {
  color: #ed6f0f;
}
.p-service-system__heading.-iroha::before {
  background: url(../img/artist-employment/iroha_ico.png) no-repeat center center/contain;
}
.p-service-system__heading.-jobseekers::before {
  background: url(../img/artist-employment/artist_ico.png) no-repeat center center/contain;
}
.p-service-system__list02-wrap {
  position: relative;
  margin: 0.5rem 0 0;
}
.p-service-system__list02-wrap::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: -2rem;
  display: block;
  width: 1.3rem;
  height: 100%;
  border: 2px solid #f39a00;
  border-left: none;
}
.p-service-system__list02 li {
  color: #bcbcbc;
}
.p-service-system__list02-message {
  position: absolute;
  z-index: 3;
  top: calc(50% - 3.6rem);
  right: -6.3rem;
  width: 7.2rem;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  background-color: #f39a00;
  border-radius: 50%;
}
@media screen and (max-width: 834px) {
  .p-service-system {
    padding: 3.1rem 0;
  }
  .p-service-system__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 3.5rem 0 0;
    padding: 0;
  }
  .p-service-system__main::before {
    content: "";
    position: absolute;
    z-index: 4;
    top: 2rem;
    left: -1.2rem;
    -webkit-transform: none;
            transform: none;
    display: block;
    width: 1.9rem;
    height: 86%;
    aspect-ratio: initial;
    background: url(../img/artist-employment/system_arrow02_sp.png) no-repeat center center/100% 100%;
  }
  .p-service-system__block {
    width: 100%;
    padding: 4.2rem 0.8rem 0.8rem 1.2rem;
  }
  .p-service-system__block:not(:last-of-type)::after {
    top: initial;
    bottom: -0.2rem;
    right: initial;
    left: 1.2rem;
    display: block;
    width: 5rem;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: bottom left;
            transform-origin: bottom left;
  }
  .p-service-system__heading {
    font-size: 1.2rem;
  }
  .p-service-system__heading::before {
    width: 3.4rem;
  }
  .p-service-system__list02-wrap::before {
    right: 0;
  }
  .p-service-system__list02-message {
    right: -2.7rem;
    width: 6rem;
    font-size: 1rem;
  }
}

.p-service-feature {
  padding: 5.3rem 0;
}
.p-service-feature__table-wrap {
  margin: 2.7rem 0;
}
.p-service-feature__table {
  width: 100%;
  table-layout: fixed;
}
.p-service-feature__table thead th {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  background-color: #5a4f4a;
  padding: 0.7rem;
  border: 1px solid #bcbcbc;
}
.p-service-feature__table thead th:nth-child(1) {
  width: 16.7rem;
}
.p-service-feature__table thead th:nth-child(2) {
  background-color: #ed6f0f;
}
.p-service-feature__table tbody th,
.p-service-feature__table tbody td {
  font-size: 0.9rem;
  font-weight: 500;
  border: 1px solid #bcbcbc;
  padding: 0.7rem 0.9rem;
  vertical-align: middle;
}
.p-service-feature__table tbody th {
  text-align: left;
  background-color: #f6f6f6;
}
.p-service-feature__table tbody td {
  text-align: center;
}
.p-service-feature__table tbody td:nth-child(2) {
  background-color: rgba(250, 193, 44, 0.05);
}
.p-service-feature__outro {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 834px) {
  .p-service-feature {
    padding: 3.1rem 0;
  }
  .p-service-feature__table-wrap {
    width: 100vw;
    overflow-x: auto;
    margin: 2.3rem calc(50% - 50vw) 1.5rem;
    padding: 0 1.2rem;
  }
  .p-service-feature__table {
    width: 39.5rem;
  }
  .p-service-feature__table thead th {
    font-size: 1rem;
    line-height: 1.2;
    padding: 0.4rem 0.6rem;
  }
  .p-service-feature__table thead th:nth-child(1) {
    width: 9.6rem;
  }
  .p-service-feature__table tbody th,
  .p-service-feature__table tbody td {
    font-size: 1rem;
    line-height: 1.2;
    padding: 0.4rem;
  }
  .p-service-feature__outro {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}

.p-service-support {
  background-color: rgba(250, 193, 44, 0.05);
  padding: 5.3rem 0;
}
.p-service-support__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4.3rem 1.3rem;
  margin: 5.7rem 0 1.3rem;
}
.p-service-support__item {
  position: relative;
  width: calc((100% - 2.7rem) / 3);
  background-color: #fff;
  border-radius: 1.3rem;
  padding: 2.7rem 1.3rem 2rem;
}
.p-service-support__item:nth-of-type(1)::before {
  content: "";
  position: absolute;
  top: -5.7rem;
  left: -2rem;
  display: inline-block;
  width: 6.7rem;
  aspect-ratio: 100/106;
  background: url(../img/artist-employment/support_illust01.png) no-repeat center center/contain;
}
.p-service-support__item:nth-of-type(6)::before {
  content: "";
  position: absolute;
  top: -0.7rem;
  right: -3.7rem;
  display: inline-block;
  width: 9.3rem;
  aspect-ratio: 140/45;
  background: url(../img/artist-employment/support_illust02.png) no-repeat center center/contain;
}
.p-service-support__header {
  margin: 0 0 1.3rem;
}
.p-service-support__num {
  position: absolute;
  top: -2.7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  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;
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  opacity: 0.5;
}
.p-service-support__num .-num {
  font-size: 4.5rem;
}
.p-service-support__heading {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}
.p-service-support__title {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  background-color: #f39a00;
  border-radius: 0.3rem;
  padding: 0 0.3rem;
  margin: 0 0 0.7rem;
}
.p-service-support__title:not(:first-of-type) {
  margin-top: 1rem;
}
.p-service-support__desc {
  font-size: 0.9rem;
  line-height: 1.9;
}
.p-service-support__outro {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 834px) {
  .p-service-support {
    padding: 3.1rem 0;
  }
  .p-service-support__list {
    width: 100vw;
    margin: 3.1rem calc(50% - 50vw) 1.5rem;
    padding: 0 1.2rem;
    gap: 2.3rem 0;
  }
  .p-service-support__item {
    width: 100%;
    border-radius: 0.8rem;
    padding: 0 1.2rem 1.2rem;
  }
  .p-service-support__item:nth-of-type(1)::before {
    top: -2.3rem;
    left: initial;
    right: 1.2rem;
    width: 4.6rem;
  }
  .p-service-support__item:nth-of-type(6)::before {
    top: -0.6rem;
    right: 1.2rem;
    width: 7.1rem;
  }
  .p-service-support__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: last baseline;
        -ms-flex-align: last baseline;
            align-items: last baseline;
    gap: 0 1.5rem;
    margin: -0.6rem 0 0.8rem;
  }
  .p-service-support__num {
    position: initial;
    -webkit-transform: none;
            transform: none;
    font-size: 0.8rem;
  }
  .p-service-support__num .-num {
    font-size: 3.6rem;
  }
  .p-service-support__heading {
    font-size: 1.2rem;
  }
  .p-service-support__title {
    font-size: 1.2rem;
    margin: 0 0 0.4rem;
  }
  .p-service-support__title:not(:first-of-type) {
    margin-top: 0.8rem;
  }
  .p-service-support__desc {
    font-size: 1rem;
    letter-spacing: 0.02em;
  }
  .p-service-support__outro {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}

.p-service-flow {
  padding: 5.3rem 0;
}
.p-service-flow__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-service-flow__header {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 18.7rem;
  padding: 0 0 17rem;
}
.p-service-flow__header::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: 13rem;
  aspect-ratio: 195/155;
  background: url(../img/artist-employment/flow_illust.png) no-repeat center center/contain;
}
.p-service-flow__balloon {
  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 1em;
  font-size: 1.1rem;
  padding: 0 0 0 4rem;
}
.p-service-flow__balloon::before, .p-service-flow__balloon::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.9rem;
  background-color: currentColor;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.p-service-flow__balloon::after {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.p-service-flow__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0 0 0 5rem;
}
.p-service-flow__side {
  -ms-flex-item-align: end;
      align-self: flex-end;
  position: relative;
  z-index: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.7rem;
  height: 38.7rem;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 12rem;
}
.p-service-flow__side::before, .p-service-flow__side::after {
  content: "";
  display: inline-block;
  width: 1.3rem;
  aspect-ratio: 20/10;
  background-color: #fff038;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.p-service-flow__side::before {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}
.p-service-flow__line {
  position: absolute;
  z-index: -1;
  top: 0;
  left: calc(50% - 0.1rem);
  height: 100%;
  border-left: 0.2rem dashed #fff038;
}
.p-service-flow__message {
  display: inline-block;
  font-size: 1.1rem;
  text-align: center;
  font-weight: 700;
  background-color: #fff038;
  padding: 0.7rem 1rem;
  border-radius: 0.3rem;
  white-space: nowrap;
}
@media screen and (max-width: 834px) {
  .p-service-flow {
    padding: 3.1rem 0;
  }
  .p-service-flow__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-service-flow__header {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
    margin: 0 0 0 -1.2rem;
  }
  .p-service-flow__header::after {
    content: none;
  }
  .p-service-flow__balloon {
    padding: 0 0 0 2.3rem;
  }
  .p-service-flow__heading {
    text-align: left;
  }
  .p-service-flow__main {
    padding: 0;
    margin: 0 0 0 -1.2rem;
  }
  .p-service-flow__side {
    display: none;
  }
}

.p-service-faq {
  background-color: rgba(250, 193, 44, 0.05);
  padding: 5.3rem 0 8rem;
}
.p-service-faq__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 10.7rem;
}
.p-service-faq__header {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-service-faq__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 834px) {
  .p-service-faq {
    padding: 3.1rem 0 4.6rem;
  }
  .p-service-faq__body {
    -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;
  }
}

/* ================================
お問い合わせ
================================ */
.p-contact-tel {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: rgba(222, 222, 222, 0.2);
  border-radius: 0.7rem;
  padding: 1.3rem 1.7rem 1rem;
  margin: 0 auto 5.3rem;
}
.p-contact-tel__heading {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 834px) {
  .p-contact-tel {
    width: 100%;
    padding: 1rem 1.2rem 0.8rem;
    margin: 0 auto 2.3rem;
  }
  .p-contact-tel__heading {
    font-size: 0.9rem;
  }
  .p-contact-tel .c-contact-parts__tel {
    background-color: transparent;
    border: none;
  }
  .p-contact-tel .c-contact-parts__info {
    background-color: rgba(222, 222, 222, 0.2);
    margin: 0.2rem 0 0;
  }
}

.p-contact-complete__heading {
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
  margin: 0 0 2.7rem;
}
.p-contact-complete__info {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0 0 2rem;
  margin: 0 auto;
}
.p-contact-complete__info::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  display: inline-block;
  width: 1.3rem;
  aspect-ratio: 1/1;
  background: url(../img/contact/info_ico.svg) no-repeat center center/contain;
}
@media screen and (max-width: 834px) {
  .p-contact-complete__heading {
    font-size: 1.2rem;
    letter-spacing: 0.12em;
    margin: 0 0 2.5rem;
  }
  .p-contact-complete__info {
    padding: 0 0 0 2.1rem;
  }
  .p-contact-complete__info::before {
    top: 0.25em;
    width: 1.6rem;
  }
}

/* ================================
会社概要
================================ */
.p-company-message {
  margin: 0 0 5.3rem;
}
.p-company-message__header {
  display: grid;
  grid-template-areas: "img01 heading" "img01 catch";
  grid-template-columns: 28.3rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.3rem 5.3rem;
  padding: 0 3.3rem;
  margin: 0 0 2.7rem;
}
.p-company-message__heading {
  grid-area: heading;
  align-self: end;
  margin: 0;
  text-align: left;
}
.p-company-message__catch {
  grid-area: catch;
  align-self: start;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
}
.p-company-message__img01 {
  grid-area: img01;
  aspect-ratio: 425/360;
}
.p-company-message__footer {
  display: grid;
  grid-template-areas: "text-area02 img02" "profile img02";
  grid-template-columns: 1fr 24.7rem;
  gap: 2.7rem 2.7rem;
  margin: 2.7rem 0 0;
  padding: 0 3.3rem 3.3rem;
  border-bottom: 1px solid #bcbcbc;
}
.p-company-message__desc {
  font-size: 1.1rem;
  line-height: 1.9;
}
.p-company-message__desc + .p-company-message__desc {
  margin-top: 1.9em;
}
.p-company-message__text-area01 {
  padding: 0 3.3rem;
}
.p-company-message__text-area02 {
  grid-area: text-area02;
}
.p-company-message__profile {
  grid-area: profile;
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.7rem 0;
}
.p-company-message__position {
  font-size: 0.9rem;
  text-align: right;
  line-height: 1.8;
}
.p-company-message__name {
  height: 3.7rem;
  aspect-ratio: 154/56;
}
.p-company-message__img02 {
  grid-area: img02;
  align-self: end;
  aspect-ratio: 1165/983;
  margin: 0 -3.3rem 0 0;
}
@media screen and (max-width: 834px) {
  .p-company-message {
    margin: 0 0 3.1rem;
  }
  .p-company-message__header {
    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: 0.8rem 0;
    padding: 0;
    margin: 0 0 1.5rem;
  }
  .p-company-message__heading {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .p-company-message__img01 {
    width: 19.8rem;
    margin: 0 0 1.2rem;
  }
  .p-company-message__catch {
    font-size: 1.5rem;
  }
  .p-company-message__desc {
    font-size: 1.1rem;
    line-height: 2;
  }
  .p-company-message__desc + .p-company-message__desc {
    margin-top: 2em;
  }
  .p-company-message__text-area01 {
    padding: 0;
  }
  .p-company-message__footer {
    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.4rem 0;
    padding: 0 0 1.5rem;
    margin: 2.2rem 0 0;
  }
  .p-company-message__img02 {
    -ms-flex-item-align: center;
        align-self: center;
    width: 21.7rem;
    margin: 0;
  }
  .p-company-message__profile {
    -ms-flex-item-align: center;
        align-self: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.4rem 0;
  }
  .p-company-message__position {
    font-size: 1rem;
    text-align: center;
  }
  .p-company-message__name {
    height: 2.7rem;
  }
}

.p-company-origin {
  padding: 0 0 5.3rem;
}
.p-company-origin__heading {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 3.3rem;
}
.p-company-origin__gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.3rem;
  margin: 0 0 3.3rem;
}
.p-company-origin__img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  aspect-ratio: 1/1;
  border: 0.7rem solid rgba(222, 222, 222, 0.4);
}
.p-company-origin__img:nth-of-type(2) {
  -webkit-box-flex: initial;
      -ms-flex: initial;
          flex: initial;
  width: 35.3rem;
  aspect-ratio: 530/300;
}
@media screen and (max-width: 834px) {
  .p-company-origin {
    padding: 0 0 3.1rem;
  }
  .p-company-origin__heading {
    font-size: 1.5rem;
    margin: 0 0 1.5rem;
  }
  .p-company-origin__gallery {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.5rem 1.3rem;
    margin: 0 0 1.5rem;
  }
  .p-company-origin__img {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: calc(50% - 0.7rem);
    border-width: 0.4rem;
  }
  .p-company-origin__img:nth-of-type(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-company-origin__img:nth-of-type(2) {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 20.4rem;
  }
  .p-company-origin__img:nth-of-type(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.p-company-outline {
  background-color: rgba(207, 210, 0, 0.1);
  padding: 5.3rem 0;
}
@media screen and (max-width: 834px) {
  .p-company-outline {
    padding: 3.1rem 0;
  }
}

.p-company-jobtypes {
  padding: 5.3rem 0 0;
}
.p-company-jobtypes__body {
  counter-reset: number 0;
}
.p-company-jobtypes__profile {
  margin: 2rem 0;
}
.p-company-jobtypes__row:not(:last-of-type) {
  padding: 0 0 1.7rem;
  margin: 0 0 2rem;
  border-bottom: 1px solid #bcbcbc;
}
.p-company-jobtypes__ki {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
}
.p-company-jobtypes__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 0 0.7rem;
  font-size: 1.3rem;
  font-weight: 500;
  margin: 0 0 1rem;
}
.p-company-jobtypes__title::before {
  counter-increment: number 1;
  content: counter(number) ".";
  color: #ed6f0f;
  font-family: "Quicksand", sans-serif;
  font-size: 1.7rem;
}
.p-company-jobtypes__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.3rem;
  width: 18.7rem;
  height: 3.3rem;
  font-size: 1.1rem;
  font-weight: 900;
  border: 1px solid #5a4f4a;
  border-radius: 0.7rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-company-jobtypes__btn::before {
  content: "";
  display: inline-block;
  width: 1.3rem;
  aspect-ratio: 1/1;
  background: url(../img/company/pdf_ico_bk.svg) no-repeat center center/contain;
}
.p-company-jobtypes__btn:hover {
  opacity: 0.7;
}
@media screen and (max-width: 834px) {
  .p-company-jobtypes {
    padding: 3.1rem 0 0;
  }
  .p-company-jobtypes__row:not(:last-of-type) {
    padding: 0 0 1.2rem;
    margin: 0 0 1.2rem;
  }
  .p-company-jobtypes__profile {
    margin: 2.3rem 0 3.1rem;
  }
  .p-company-jobtypes__ki {
    font-size: 1.2rem;
  }
  .p-company-jobtypes__title {
    font-size: 1.2rem;
    margin: 0 0 1.2rem;
  }
  .p-company-jobtypes__title::before {
    font-size: 1.5rem;
  }
  .p-company-jobtypes__btn {
    width: 22.3rem;
    height: 4.2rem;
    gap: 0 0.6rem;
    font-size: 1.2rem;
  }
  .p-company-jobtypes__btn::before {
    width: 1.5rem;
  }
}

/* ================================
サイトマップ
================================ */
.p-sitemap__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5rem;
}
.p-sitemap__block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-sitemap__heading {
  color: #ed6f0f;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  padding: 0.7rem 0;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  margin: 0 0 0.7rem;
}
.p-sitemap__menu-item {
  font-size: 1rem;
}
.p-sitemap__menu-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.7rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(222, 222, 222, 0.4);
}
.p-sitemap__menu-item a::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid #bcbcbc;
  border-right: 1px solid #bcbcbc;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: 0 0 0 auto;
}
.p-sitemap__menu-item .sub-menu {
  margin: 0.7rem 0 0 1.3rem;
}
.p-sitemap__menu-item:not(:last-of-type) {
  margin-bottom: 0.7rem;
}
@media screen and (max-width: 834px) {
  .p-sitemap__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-sitemap__block {
    width: 100vw;
    padding: 0 2.3rem;
    margin: 0 calc(50% - 50vw);
  }
  .p-sitemap__block:not(:last-of-type) {
    padding-bottom: 3.1rem;
    margin-bottom: 3.1rem;
    border-bottom: 0.1rem solid #bcbcbc;
  }
  .p-sitemap__heading {
    font-size: 1.1rem;
    font-weight: 700;
    padding: 0;
    border: none;
    margin: 0 0 1.2rem;
  }
  .p-sitemap__menu-item {
    font-size: 1.1rem;
  }
  .p-sitemap__menu-item a {
    padding: 1.2rem 0;
    border-bottom-color: #bcbcbc;
  }
  .p-sitemap__menu-item a::after {
    right: 1.2rem;
  }
  .p-sitemap__menu-item .sub-menu {
    margin: 0 0 0 1.5rem;
  }
  .p-sitemap__menu-item:not(:last-of-type) {
    margin-bottom: 0;
  }
}

/* ================================
Adjistment
================================ */
.u-fit--contain {
  text-align: center;
}
.u-fit--contain img,
.u-fit--contain source {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: middle;
}

.u-color--main {
  color: #ed6f0f;
}
.u-color--main_pale {
  color: #f39a00;
}
.u-color--sub {
  color: #98c940;
}
.u-color--wh {
  color: #fff;
}

.u-align--center {
  text-align: center;
}
.u-align--right {
  text-align: right;
}
.u-align--left {
  text-align: left;
}

.u-indent--01 {
  display: inline-block;
  text-indent: -1em;
  padding-left: 1em;
}

.u-display_ib {
  display: inline-block;
}
.u-display_ib--sm {
  display: none;
}
@media screen and (max-width: 834px) {
  .u-display_ib--sm {
    display: inline-block;
  }
}

.u-display--lg {
  display: none;
}
@media screen and (max-width: 1200px) {
  .u-display--lg {
    display: block;
  }
}
.u-display--md {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-display--md {
    display: block;
  }
}
.u-display--sm {
  display: none;
}
@media screen and (max-width: 834px) {
  .u-display--sm {
    display: block;
  }
}

.u-display_flex--lg {
  display: none;
}
@media screen and (max-width: 1200px) {
  .u-display_flex--lg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.u-display_flex--md {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-display_flex--md {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.u-display_flex--sm {
  display: none;
}
@media screen and (max-width: 834px) {
  .u-display_flex--sm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1200px) {
  .u-hidden--lg {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .u-hidden--md {
    display: none;
  }
}
@media screen and (max-width: 834px) {
  .u-hidden--sm {
    display: none;
  }
}