@charset "UTF-8";
html {
  font-size: 62.5%;
}

:root {
  --bp-sp: 767px;
  --bp-portrait: 1024px;
  --bp-pc: 1140px;
}

/******************************************************************
foundation - base
******************************************************************/
:where(html) {
  -webkit-text-size-adjust: 100%;
}

:where(body) {
  margin: 0;
  width: 100%;
  overflow: hidden;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where(button, input, optgroup, select, textarea) {
  font-family: inherit; /* 1 */
  font-size: 1.6rem;
  line-height: 1.4;
}
@media screen and (max-width:767px) {
  :where(button, input, optgroup, select, textarea) {
    font-size: 1.4rem;
  }
}

:where(html) {
  scroll-behavior: smooth;
}

:where(body) {
  min-width: 375px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  overflow-wrap: break-word;
  overflow-y: scroll;
  color: #222;
  background-color: #fff;
  font-size: 1.5rem;
  line-height: 1.7;
}
@media screen and (max-width:767px) {
  :where(body) {
    font-size: 4vw;
  }
}
@media print {
  :where(body) {
    width: 108rem;
    zoom: 0.8;
  }
}
:where(body) .font-secondary {
  color: #887c74;
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd, figure) {
  margin: 0;
  padding: 0;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(iframe) {
  border: 0;
}

:where(button) {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: inherit;
  text-decoration: none;
  outline-color: #999;
}
@media (any-hover: hover) {
  :where(button):hover {
    text-decoration: none;
  }
}
:where(button):not(.js-dialog):focus {
  text-decoration: none;
}

:where(input, select) {
  outline-color: #999;
}

:where(em) {
  font-style: normal;
  font-weight: bold;
}

:where(fieldset) {
  border: 0;
  padding: 0;
  margin: 0;
}

:where(address) {
  font-style: normal;
}

:where(a) {
  color: #222;
  text-decoration: underline;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.1em;
  outline-color: #999;
}
@media (any-hover: hover) {
  :where(a):hover {
    text-decoration-color: transparent;
  }
}
:where(a):not(.js-dialog):focus {
  text-decoration: none;
}

:where(img) {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

:where(svg) {
  vertical-align: middle;
}

:where(hr) {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #222;
}

/*
	layout - container
*/
.l-container {
  width: 100%;
  overflow: clip;
}
.l-container header, .l-container footer {
  width: 100%;
}

/*
	content-width
*/
.l-section__inner, .footer-entry {
  width: 112rem;
  max-width: 100%;
  margin: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.l-section__inner.-full {
  width: 100%;
  max-width: 100vw;
  padding-left: 0;
  padding-right: 0;
}

.footer-content .u-flex__auto {
  width: 108rem;
  max-width: 100%;
  margin: auto;
}

.l-keyvisual .l-section__inner {
  width: 100%;
  max-width: 100%;
}
.l-keyvisual .l-section__inner picture {
  display: block;
  position: relative;
}
.l-keyvisual .l-section__inner picture::after {
  content: "";
  display: block;
  position: absolute;
  inset: 40% 0 0 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.l-keyvisual .l-section__inner img {
  width: 100%;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  -webkit-transition: background-color 0.4s ease, -webkit-transform 0.4s ease;
  transition: background-color 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, background-color 0.4s ease;
  transition: transform 0.4s ease, background-color 0.4s ease, -webkit-transform 0.4s ease;
}
.l-header.is-hidden {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.l-header.is-dark .logo span {
  color: #333 !important;
}
.l-header.is-dark .logo img {
  -webkit-filter: brightness(0.133) !important;
          filter: brightness(0.133) !important;
}
.l-header.is-dark .header-nav .header-nav__tgl::before, .l-header.is-dark .header-nav .header-nav__tgl::after,
.l-header.is-dark .header-nav .header-nav__tgl span {
  background-color: #222;
}
.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.8rem 4rem;
}
@media screen and (max-width:767px) {
  .l-header__inner {
    padding: 2.8rem 2rem;
  }
}
.l-header__inner .logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  text-decoration: none;
  color: #222;
}
@media screen and (max-width:767px) {
  .l-header__inner .logo a {
    gap: 1rem;
  }
}
.l-header__inner .logo img {
  width: 19rem;
  -webkit-filter: brightness(13.3%);
          filter: brightness(13.3%);
}
@media screen and (max-width:767px) {
  .l-header__inner .logo img {
    width: 14rem;
  }
}
.l-header__inner .logo span {
  display: block;
  font-size: 1.3rem;
}
@media screen and (max-width:767px) {
  .l-header__inner .logo span {
    font-size: 1.1rem;
  }
}
.l-header__inner .header-nav__tgl {
  display: block;
  position: relative;
  width: 3rem;
  height: 2.1rem;
  z-index: 4;
  cursor: pointer;
}
.l-header__inner .header-nav__tgl::before, .l-header__inner .header-nav__tgl::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #222;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header__inner .header-nav__tgl::before {
  top: 0;
}
.l-header__inner .header-nav__tgl::after {
  bottom: 0;
}
.l-header__inner .header-nav__tgl span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #222;
  left: 0;
  top: 1rem;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.l-header__inner .header-nav__content {
  position: absolute;
  width: 0;
  height: 100vh;
  right: 0;
  top: 0;
  z-index: 3;
  background: url(/recruit/assets/img/nav-bg.png) no-repeat right top;
  background-size: cover;
  color: #fff;
  opacity: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  overflow: hidden;
}
.l-header__inner .header-nav__content a {
  color: #fff;
}
.l-header__inner .header-nav__content a .link-icon svg .path {
  fill: #fff;
}
.l-header__inner .header-nav__content .u-scroll__area {
  padding: 7.6rem 6.6rem 8rem;
}
@media screen and (max-width:767px) {
  .l-header__inner .header-nav__content .u-scroll__area {
    padding: 7rem 2rem 6rem;
  }
}
.l-header__inner .header-nav__heading {
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 2rem;
  font-family: "Shippori Mincho", serif;
}
.l-header__inner .header-nav__heading:lang(en) {
  font-family: "Marcellus", serif;
}
.l-header__inner .header-nav__heading a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header__inner .header-nav__heading a:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.l-header__inner .header-nav__nav {
  gap: 1.6rem;
}
.l-header__inner .header-nav__nav:not(:last-child) {
  margin-bottom: 6rem;
}
.l-header__inner .header-nav__item {
  display: grid;
  grid-template-columns: 1em 1fr;
}
.l-header__inner .header-nav__item::before {
  content: "-";
  display: block;
  width: 1em;
  line-height: 1.2;
}
.l-header__inner .header-nav__item:hover::before {
  content: "•";
}
.l-header__inner .header-nav__item:hover a {
  text-decoration: underline;
}
.l-header__inner .header-nav__item a {
  text-decoration: none;
  line-height: 1.3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header__inner .header-nav__item a:hover {
  opacity: 0.7;
}
.l-header__inner .header-nav__button a {
  display: grid;
  grid-template-columns: 1fr 6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  color: #222;
  text-decoration: none;
  background-color: #fff;
  border-radius: 0.7rem;
  padding: 2.4rem;
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
}
.l-header__inner .header-nav__button a i {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6rem;
  height: 2.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50rem;
  border: #888 1px solid;
}
.l-header__inner .header-nav__button a i img {
  width: 2.7rem;
  margin-top: -0.2rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-header__inner .header-nav__button a:hover {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}
.l-header__inner .header-nav__button a:hover i img {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.l-header__inner .header-nav__bg {
  display: block;
  position: absolute;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(0);
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
  pointer-events: none;
}

.js-open--header__nav .l-header.is-dark .header-nav .header-nav__tgl::before, .js-open--header__nav .l-header.is-dark .header-nav .header-nav__tgl::after,
.js-open--header__nav .l-header.is-dark .header-nav .header-nav__tgl span {
  background-color: #FFF;
}

.js-open--header__nav {
  height: 100vh;
  overflow: hidden;
}
.js-open--header__nav .l-header__inner .header-nav__tgl::before {
  -webkit-transform: rotate(36deg);
          transform: rotate(36deg);
  top: 50%;
  background-color: #fff;
}
.js-open--header__nav .l-header__inner .header-nav__tgl::after {
  -webkit-transform: rotate(-36deg);
          transform: rotate(-36deg);
  bottom: 47%;
  background-color: #fff;
}
.js-open--header__nav .l-header__inner .header-nav__tgl span {
  opacity: 0;
}
.js-open--header__nav .l-header__inner .header-nav__content {
  width: 60rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
@media screen and (max-width:767px) {
  .js-open--header__nav .l-header__inner .header-nav__content {
    width: 100%;
  }
}
.js-open--header__nav .l-header__inner .header-nav__bg {
  z-index: 2;
  opacity: 1;
  backdrop-filter: blur(1rem);
  pointer-events: inherit;
}

:has(.l-keyvisual) .l-header__inner .logo img {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}
:has(.l-keyvisual) .l-header__inner .logo span {
  color: #FFF;
}
:has(.l-keyvisual) .l-header__inner .header-nav__tgl::before, :has(.l-keyvisual) .l-header__inner .header-nav__tgl::after {
  background-color: #fff;
}
:has(.l-keyvisual) .l-header__inner .header-nav__tgl span {
  background-color: #fff;
}

.l-footer {
  background: url(/recruit/assets/img/footer-bg.webp) no-repeat center top;
  background-size: cover;
  padding: 0 2rem 2rem;
}
@media screen and (max-width:767px) {
  .l-footer {
    padding: 0 0;
    background-image: url(/recruit/assets/img/footer-bg_sp.webp);
  }
}
.l-footer__inner {
  padding-top: 8rem;
}
.l-footer__inner a .link-icon svg[data-name=i-blank] .path {
  fill: #212121;
}
.l-footer__inner .footer-entry {
  background: url(/recruit/assets/img/footer-entry--bg.svg) no-repeat right top;
  background-size: 36.9rem;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-entry {
    background-size: 15.7rem;
  }
}
.l-footer__inner .footer-entry .footer-nav__heading {
  color: #fff;
  font-size: 4rem;
  font-family: "Shippori Mincho", serif;
  padding-top: 2rem;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-entry .footer-nav__heading {
    font-size: 2.8rem;
    font-weight: 500;
    padding-top: 0;
  }
}
.l-footer__inner .footer-entry .footer-nav__nav {
  gap: 4rem;
  padding: 5rem 0 12rem;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-entry .footer-nav__nav {
    grid-template-columns: auto;
    gap: 2rem;
    padding-bottom: 6rem;
  }
}
.l-footer__inner .footer-entry .footer-nav__button a {
  display: grid;
  grid-template-columns: 1fr 6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  color: #222;
  font-size: 2.7rem;
  text-decoration: none;
  background-color: #fff;
  border-radius: 1rem;
  padding: 4rem 3.4rem;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-entry .footer-nav__button a {
    font-size: 2.2rem;
    padding: 2.6rem 2rem;
  }
}
.l-footer__inner .footer-entry .footer-nav__button a i {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6rem;
  height: 2.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50rem;
  border: #888 1px solid;
}
.l-footer__inner .footer-entry .footer-nav__button a i img {
  width: 2.7rem;
  margin-top: -0.2rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-footer__inner .footer-entry .footer-nav__button a:hover {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}
.l-footer__inner .footer-entry .footer-nav__button a:hover i img {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.l-footer__inner .footer-content {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 1rem;
  padding: 6rem 2rem 2rem;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-content {
    border-radius: 1rem 1rem 0 0;
  }
}
.l-footer__inner .footer-content .logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  text-decoration: none;
}
.l-footer__inner .footer-content .logo img {
  width: 19rem;
  fill: red;
}
.l-footer__inner .footer-content .logo span {
  display: block;
  font-size: 1.5rem;
}
.l-footer__inner .footer-content .logo {
  margin-bottom: 2rem;
}
.l-footer__inner .footer-content .address p {
  font-size: 1.5rem;
  line-height: 2;
}
.l-footer__inner .footer-content .u-flex__auto {
  gap: 11rem;
  padding-bottom: 10rem;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-content .u-flex__auto {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    padding-bottom: 2rem;
  }
}
.l-footer__inner .footer-content .footer-nav__heading {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 2rem;
}
.l-footer__inner .footer-content .footer-nav__heading a {
  text-decoration: underline;
}
.l-footer__inner .footer-content .footer-nav__heading a:hover {
  text-decoration: none;
}
.l-footer__inner .footer-content .footer-nav__nav {
  gap: 1.6rem;
}
.l-footer__inner .footer-content .footer-nav__nav:not(:last-child) {
  margin-bottom: 6rem;
}
.l-footer__inner .footer-content .footer-nav__item {
  display: grid;
  grid-template-columns: 1em 1fr;
}
.l-footer__inner .footer-content .footer-nav__item a {
  color: #888;
}
.l-footer__inner .footer-content .footer-nav__item::before {
  content: "-";
  display: block;
  width: 1em;
  line-height: 1;
  color: #888;
}
.l-footer__inner .footer-content .footer-nav__item:hover::before {
  content: "•";
}
.l-footer__inner .footer-content .footer-nav__item:hover a {
  text-decoration: underline;
}
.l-footer__inner .footer-content .footer-nav__item a {
  text-decoration: none;
  line-height: 1.3;
  font-size: 1.3rem;
}
.l-footer__inner .footer-content .u-copy {
  padding: 2rem 1rem;
  text-align: center;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-content .u-copy {
    padding: 2rem 0;
    margin: 0 -2rem;
  }
}
.l-footer__inner .footer-content .u-copy small {
  font-size: 1.1rem;
}
@media screen and (max-width:767px) {
  .l-footer__inner .footer-content .u-copy small {
    letter-spacing: 0;
  }
}

main {
  position: relative;
  overflow-x: clip;
}
main h1, main h2, main h3, main h4, main h5, main .pre-title, main .cmp-teaser__pre, main .cmp-button__text {
  font-family: "Shippori Mincho", serif;
}
main {
  padding-top: 22rem;
}
main p {
  line-height: 1.7;
}
@media screen and (max-width:767px) {
  main {
    padding-top: 16rem;
  }
}

:has(.l-keyvisual) main {
  padding-top: 0;
}

:not(:has(.l-keyvisual)) main::before, :not(:has(.l-keyvisual)) main::after {
  content: "";
  position: fixed;
  display: block;
  width: 43rem;
  height: 43rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}
:not(:has(.l-keyvisual)) main::before {
  background-image: url(/recruit/assets/img/main-bg__red.webp);
  top: 7rem;
  right: 0;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
:not(:has(.l-keyvisual)) main::after {
  background-image: url(/recruit/assets/img/main-bg__yellow.webp);
  top: 55rem;
  left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.l-keyvisual .l-section__inner {
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
.l-keyvisual .l-section__inner .keyvisual-image img {
  width: 100%;
}
.l-keyvisual .l-section__inner .keyvisual-content {
  width: 112rem;
  max-width: 100%;
  padding: 0 2rem 8rem;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width:767px) {
  .l-keyvisual .l-section__inner .keyvisual-content {
    padding-bottom: 3rem;
  }
}
.l-keyvisual .l-section__inner .keyvisual-content .page-title {
  color: #fff;
  font-size: 4.2rem;
}
@media screen and (max-width:767px) {
  .l-keyvisual .l-section__inner .keyvisual-content .page-title {
    font-size: 3.6rem;
  }
}
.l-keyvisual .l-section__inner .keyvisual-content .pre-title {
  color: #fff;
  font-size: 2.4rem;
  margin-bottom: 2rem;
}
@media screen and (max-width:767px) {
  .l-keyvisual .l-section__inner .keyvisual-content .pre-title {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

.l-page__title {
  padding: 2rem 0 2rem;
}
.l-page__title .l-section__inner {
  width: 112rem;
  position: relative;
}
.l-page__title h1 {
  font-size: 4.2rem;
}
@media screen and (max-width:767px) {
  .l-page__title h1 {
    font-size: 4rem;
  }
}
.l-page__title .l-page__lead {
  padding-top: 6rem;
}
.l-page__title .l-page__lead .heading {
  font-size: 2.4rem;
  font-family: "Shippori Mincho", serif;
}
.l-page__title .cmp-anchor .cmp-inner a {
  color: #aa0e2a;
}
.l-page__title:has(.cmp-anchor) {
  padding: 0;
}

.l-content {
  padding: 7.2rem 0;
}
@media screen and (max-width:767px) {
  .l-content {
    padding: 2rem 0;
  }
}

.l-more__entries .l-section__inner {
  padding-bottom: 6rem;
}
.l-more__entries .cmp-title {
  padding-bottom: 0;
}
@media screen and (max-width:767px) {
  .l-more__entries .cmp-title {
    padding-bottom: 0;
  }
}

.l-editors__content a {
  color: #aa0e2a;
}
.l-editors__content > .cmp:first-child:has(.cmp-anchor) {
  padding-top: 0;
}
.l-editors__content > .cmp:first-child:has(.cmp-anchor) .cmp-anchor {
  padding-top: 0;
}

.l-page__title:has(.page-catch) {
  position: relative;
  padding: 0;
  margin: 4rem 0 4rem;
}
@media screen and (max-width:767px) {
  .l-page__title:has(.page-catch) {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width:768px) and (max-width:1279px) {
  .l-page__title:has(.page-catch) > .l-section__inner {
    position: static;
  }
  .l-page__title:has(.page-catch) > .l-section__inner .page-catch {
    right: -1rem;
  }
}

.page-catch {
  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;
  overflow: visible;
  position: absolute;
  right: -9rem;
  top: -28rem;
  z-index: -1;
  pointer-events: none;
  width: 62.7rem;
  height: 62.7rem;
}
@media screen and (max-width:767px) {
  .page-catch {
    width: 32rem;
    height: 32rem;
    right: 0rem;
    top: -19rem;
  }
}
.page-catch span {
  font-size: 15rem;
  font-family: "Marcellus", serif;
  color: #fff;
  display: block;
  position: relative;
}
.page-catch span::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 62.7rem;
  height: 62.7rem;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width:767px) {
  .page-catch span::before {
    width: 32rem;
    height: 32rem;
  }
}
@media screen and (max-width:767px) {
  .page-catch span {
    font-size: 6.2rem;
  }
}
.page-catch__middle span::before {
  width: 70rem;
  height: 70rem;
}
@media screen and (max-width:767px) {
  .page-catch__middle span::before {
    width: 37rem;
    height: 37rem;
  }
}
.page-catch__large span::before {
  width: 100rem;
  height: 100rem;
}
@media screen and (max-width:767px) {
  .page-catch__large span::before {
    width: 37rem;
    height: 37rem;
  }
}
.page-catch__red span::before {
  background-image: url(/recruit/assets/img/bg-ct--red.png);
}

.l-entries__list {
  display: grid;
  gap: 4rem;
  margin-bottom: 4rem;
}
.l-entries__list.slider-block {
  display: block;
}
.l-entries__list.s-grid__2column {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width:767px) {
  .l-entries__list.s-grid__2column {
    grid-template-columns: auto;
  }
}
.l-entries__list.s-grid__3column {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width:767px) {
  .l-entries__list.s-grid__3column {
    grid-template-columns: auto;
  }
}
@media screen and (max-width:767px) {
  .l-entries__list {
    grid-template-columns: auto;
  }
}
.l-entries__list .entry-item {
  list-style: none;
}
.l-entries__list .entry-item__bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 1rem;
  background-color: #aa0e2a;
  border: #fff 0.5px solid;
}
.l-entries__list .entry-item a {
  position: relative;
  overflow: visible;
  display: block;
}
.l-entries__list .entry-item a:hover picture {
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
}
.l-entries__list .entry-item a:hover .entry-item__button img {
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
.l-entries__list .entry-item picture {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-entries__list .entry-item picture::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.01);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.3) 100%);
}
.l-entries__list .entry-item__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 0 1.6rem 2.4rem;
  color: #fff;
}
.l-entries__list .entry-item__text {
  font-size: 1.8rem;
  font-weight: 600;
}
.l-entries__list .entry-item__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0rem 1rem;
  padding-top: 1rem;
}
.l-entries__list .entry-item__profile .prof-job {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.3rem;
  line-height: 1;
  border: #fff 1px solid;
  border-radius: 0.3rem;
  padding: 0.1rem 0.8rem 0.3rem;
}
.l-entries__list .entry-item__profile .prof-group {
  font-size: 1.5rem;
}
.l-entries__list .entry-item__profile .prof-name {
  font-size: 1.7rem;
  width: 70%;
}
.l-entries__list .entry-item__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6rem;
  height: 2.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50rem;
  border: #fff 1px solid;
  -webkit-filter: brightness(2);
          filter: brightness(2);
  margin-left: auto;
  margin-right: -0.6rem;
  margin-bottom: -1.4rem;
}
.l-entries__list .entry-item__button img {
  width: 2.7rem;
  margin-top: -0.2rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-filter: brightness(2);
          filter: brightness(2);
}
.l-entries__list .entry-item .entry-count__label {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  font-family: "Marcellus", serif;
  font-size: 1.4rem;
  padding: 1rem 2rem;
}
.l-entries__list .entry-item .entry-count__label strong {
  font-weight: normal;
  font-size: 1.7em;
}
.l-entries .l-pagenation nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 3rem;
  font-family: "Marcellus", serif;
  padding: 2rem 0 4rem;
}
.l-entries .l-pagenation nav a {
  font-size: 2rem;
  color: #888;
  text-decoration: none;
  display: block;
  width: 1.8rem;
  text-align: center;
  padding: 0 0 0.2rem;
  border-bottom: transparent 1px solid;
}
.l-entries .l-pagenation nav a:hover {
  border-color: #888;
  color: #212121;
}
.l-entries .l-pagenation nav a.current {
  color: #212121;
  pointer-events: none;
  cursor: inherit;
  border-color: #888;
}

.c-gradient-blur {
  position: fixed; /* または fixed 等、用途に合わせて */
  inset: 0; /* width: 100%; height: 100%; と同じ意味 */
  z-index: 10;
  pointer-events: none; /* 下の要素をクリックできるようにする */
  overflow: hidden;
  height: 21rem;
}

.cmp-container {
  padding: 2rem 0;
}
.cmp-container .cmp-inner {
  gap: 4rem;
}
.cmp-container .cmp-inner .cmp {
  padding: 1.6rem 0;
}
.cmp-container.s-grid__2column > .cmp-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width:767px) {
  .cmp-container.s-grid__2column > .cmp-inner {
    display: block;
    grid-template-columns: auto;
  }
}
.cmp-container.s-grid__2column > .cmp-inner .col-wrap .cmp-button > .cmp-inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.cmp-container.s-grid__2column.s-grid__reverse .col-wrap:nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.cmp-container.s-grid__2column.s-grid__reverse .col-wrap:nth-child(2) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.cmp-container.s-grid__3column > .cmp-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width:767px) {
  .cmp-container.s-grid__3column > .cmp-inner {
    display: block;
    grid-template-columns: auto;
  }
}
.cmp-container.s-grid__3column > .cmp-inner .col-wrap .cmp-button > .cmp-inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.cmp-container.s-grid__4column > .cmp-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
}
@media screen and (max-width:767px) {
  .cmp-container.s-grid__4column > .cmp-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.cmp-container.s-grid__4column > .cmp-inner .col-wrap .cmp-button > .cmp-inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.cmp-container.s-flex__2column > .cmp-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.cmp-container.s-flex__2column > .cmp-inner > * {
  width: calc(50% - 0.5rem);
}
.cmp-container.s-flex__2column > .cmp-inner > .s-flex__full {
  width: 100%;
}
.cmp-container.s-flex__3column > .cmp-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.cmp-container.s-flex__3column > .cmp-inner > * {
  width: calc(33.3333% - 0.6666rem);
}
@media screen and (max-width:767px) {
  .cmp-container.s-flex__3column > .cmp-inner > * {
    width: calc(50% - 0.5rem);
  }
}
.cmp-container.s-flex__3column > .cmp-inner > .s-flex__wide {
  width: calc(66.6666% - 0.6666rem);
}
@media screen and (max-width:767px) {
  .cmp-container.s-flex__3column > .cmp-inner > .s-flex__wide {
    width: calc(50% - 0.5rem);
  }
}
.cmp-container.s-flex__3column > .cmp-inner > .s-flex__full {
  width: 100%;
}
@media screen and (max-width:767px) {
  .cmp-container.s-flex__3column > .cmp-inner > .s-sp__full {
    width: 100%;
  }
}

.c-faq {
  display: grid;
  gap: 6rem;
  margin-bottom: 3rem;
}
@media screen and (max-width:767px) {
  .c-faq {
    gap: 3rem;
  }
}
.c-faq__inner .cmp-title .cmp-inner .cmp-title__title {
  font-size: 3rem;
}
.c-faq .accordion-item {
  padding: 2rem 1rem 2rem 0;
  border-bottom: #dedede 1px solid;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item {
    margin: 0 -2rem;
    padding: 1.4rem 2rem;
  }
}
.c-faq .accordion-item[open] .accordion-header .icon-toggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
  background-color: #888;
}
.c-faq .accordion-item .accordion-header {
  list-style: none;
}
.c-faq .accordion-item .accordion-header::-webkit-details-marker {
  display: none;
}
.c-faq .accordion-item .accordion-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item .accordion-header {
    gap: 1.5rem;
  }
}
.c-faq .accordion-item .accordion-header > * {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-faq .accordion-item .accordion-header .icon-q {
  width: 4rem;
  height: 6rem;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 3.6rem;
  font-family: "Marcellus", serif;
  color: #aa0e2a;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item .accordion-header .icon-q {
    width: 2.6rem;
    height: 4rem;
    font-size: 2.6rem;
  }
}
.c-faq .accordion-item .accordion-header .accordion-title {
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item .accordion-header .accordion-title {
    font-size: 1.5rem;
  }
}
.c-faq .accordion-item .accordion-header .icon-toggle {
  width: 1.7rem;
  height: 1.7rem;
  position: relative;
}
.c-faq .accordion-item .accordion-header .icon-toggle::before, .c-faq .accordion-item .accordion-header .icon-toggle:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #aa0e2a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.c-faq .accordion-item .accordion-header .icon-toggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.c-faq .accordion-item .accordion-content .accordion-inner {
  padding-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item .accordion-content .accordion-inner {
    gap: 1rem;
  }
}
.c-faq .accordion-item .accordion-content .accordion-inner a {
  color: #aa0e2a;
}
.c-faq .accordion-item .accordion-content .accordion-inner .icon-a {
  width: 4rem;
  height: 6rem;
  display: grid;
  -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%;
  font-size: 3.6rem;
  font-family: "Marcellus", serif;
  color: #888;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item .accordion-content .accordion-inner .icon-a {
    font-size: 2.6rem;
    width: 2.6rem;
    height: 4rem;
  }
}
.c-faq .accordion-item .accordion-content .accordion-inner .answer-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 2rem;
  padding-right: 4rem;
  padding-bottom: 4rem;
  font-family: 1.5rem;
}
@media screen and (max-width:767px) {
  .c-faq .accordion-item .accordion-content .accordion-inner .answer-text {
    font-size: 1.4rem;
    padding-top: 1rem;
    padding-right: 3rem;
    padding-bottom: 1rem;
  }
}
.c-faq .accordion-item .accordion-content .accordion-inner .answer-text p {
  margin-top: 0;
}
.c-faq .accordion-item .accordion-content .accordion-inner .answer-text p:not(:last-child) {
  margin-bottom: 1em;
}

.cmp-tabs__tabpanel {
  display: none;
  opacity: 0;
}
.cmp-tabs__tabpanel[aria-hidden=false] {
  display: block;
  -webkit-animation: tabFadeIn 1s ease forwards;
          animation: tabFadeIn 1s ease forwards;
}
.cmp-tabs__tablist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
  list-style: none;
  margin-bottom: 6rem;
}
@media screen and (max-width:767px) {
  .cmp-tabs__tablist {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmp-tabs__tab {
  position: relative;
  max-width: 25%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.2em;
  padding: 0.1rem 0.3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #888;
  line-height: 1.2;
  border-bottom: #888 1px solid;
  cursor: pointer;
}
@media screen and (max-width:767px) {
  .cmp-tabs__tab {
    max-width: 100%;
    width: 100%;
    padding: 2rem 0;
  }
}
.cmp-tabs__tab::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.5rem solid transparent;
  border-left: 0.5rem solid transparent;
  border-top: 0.9rem solid #aa0e2a;
  border-bottom: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
}
@media screen and (max-width:767px) {
  .cmp-tabs__tab::after {
    content: none;
  }
}
.cmp-tabs__tab[aria-selected=true] {
  color: #aa0e2a;
  border-bottom: #aa0e2a 2px solid;
}
.cmp-tabs__tab[aria-selected=true]::after {
  opacity: 1;
}

@-webkit-keyframes tabFadeIn {
  0% {
    opacity: 0;
    /* オプション: 少し下から浮き上がる演出。不要な場合は transform を削除してください */
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes tabFadeIn {
  0% {
    opacity: 0;
    /* オプション: 少し下から浮き上がる演出。不要な場合は transform を削除してください */
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.cmp-table {
  padding: 2rem 0;
}
.cmp-table .cmp-inner table {
  width: 100%;
  border-top: 1px solid #e1e1e1;
}
.cmp-table .cmp-inner table th, .cmp-table .cmp-inner table td {
  border-bottom: 1px solid #e1e1e1;
  padding: 1.6rem;
}
@media screen and (max-width:767px) {
  .cmp-table .cmp-inner table th, .cmp-table .cmp-inner table td {
    padding: 1.5rem 1rem;
  }
}
.cmp-table .cmp-inner table th {
  color: #aa0e2a;
  text-align: left;
}
@media screen and (max-width:767px) {
  .cmp-table .cmp-inner table th {
    min-width: 5em;
  }
}
.cmp-table .cmp-inner table th:first-child {
  padding-left: 0;
}
.cmp-table .cmp-inner table th:last-child {
  padding-right: 0;
}
.cmp-table .cmp-inner table td:first-child {
  padding-left: 0;
}
.cmp-table .cmp-inner table td:last-child {
  padding-right: 0;
}
.cmp-table .cmp-inner table td .cmp {
  padding: 0;
}
.cmp-table .cmp-inner table td .cmp p, .cmp-table .cmp-inner table td .cmp li, .cmp-table .cmp-inner table td .cmp dt, .cmp-table .cmp-inner table td .cmp dd {
  line-height: 1.8;
}
.cmp-table .cmp-inner table td .cmp.s-annotation li {
  color: #888;
}
.cmp-table .cmp-inner table td .cmp .cmp-inner {
  width: 100%;
}
.cmp-table.s-table__horizontal th {
  vertical-align: top;
}
@media screen and (max-width:767px) {
  .cmp-table.s-table__horizontal th {
    width: 5em;
  }
}

.cmp-teaser {
  padding: 2rem 0;
}
.cmp-teaser .cmp-inner {
  position: relative;
}
.cmp-teaser .cmp-inner .cmp-teaser__wrap--link {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
}
.cmp-teaser .cmp-inner .cmp-teaser__wrap--link:hover .cmp-teaser__image {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}
.cmp-teaser .cmp-inner .cmp-teaser__wrap--link:hover .cmp-teaser__button span img {
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
.cmp-teaser .cmp-inner .cmp-teaser__image {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cmp-teaser .cmp-inner .cmp-teaser__image picture {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
}
.cmp-teaser .cmp-inner .cmp-teaser__image picture img {
  width: 100%;
}
.cmp-teaser .cmp-inner .cmp-teaser__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 3rem 3rem;
  color: #fff;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 6rem;
}
@media screen and (max-width:767px) {
  .cmp-teaser .cmp-inner .cmp-teaser__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 1.4rem 1.4rem;
  }
}
.cmp-teaser .cmp-inner .cmp-teaser__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.8rem;
}
.cmp-teaser .cmp-inner .cmp-teaser__title {
  font-size: 3.6rem;
}
@media screen and (max-width:767px) {
  .cmp-teaser .cmp-inner .cmp-teaser__title {
    font-size: 2.8rem;
  }
}
.cmp-teaser .cmp-inner .cmp-teaser__supplement {
  font-size: 1.5rem;
}
.cmp-teaser .cmp-inner .cmp-teaser__button {
  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: end;
      -ms-flex-pack: end;
          justify-content: end;
}
@media screen and (max-width:767px) {
  .cmp-teaser .cmp-inner .cmp-teaser__button {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}
.cmp-teaser .cmp-inner .cmp-teaser__button span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6rem;
  height: 2.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50rem;
  border: #fff 1px solid;
}
.cmp-teaser .cmp-inner .cmp-teaser__button span img {
  width: 2.7rem;
  margin-top: -0.2rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-filter: brightness(2);
          filter: brightness(2);
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 3.1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #212121;
  text-decoration: none;
  border-bottom: #e1e1e1 1px solid;
  padding: 1.6rem 1rem 1.6rem 0.2rem;
  width: 30rem;
  max-width: 100%;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link span.i-arr {
  display: block;
  width: 3.1rem;
  height: 3.1rem;
  background: url(/recruit/assets/img/i-button__arrow.svg) no-repeat center;
  background-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link .link-icon {
  text-align: right;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link .link-icon svg[data-name=i-blank] {
  height: 0.6em;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link .link-icon svg[data-name=i-blank] .path {
  fill: #888;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link .link-icon svg[data-name=i-pdf] {
  height: 0.7em;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link .link-icon svg[data-name=i-pdf] .path {
  fill: #888;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link::after {
  content: "";
  display: block;
  height: 1px;
  width: 0;
  background-color: #888;
  position: absolute;
  left: 0;
  bottom: -1px;
  -webkit-transition: 0.4s ease-out;
  transition: 0.4s ease-out;
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link:hover span.i-arr,
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link:hover .link-icon {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}
.cmp-teaser .cmp-inner .cmp-teaser__link .cmp-button__link:hover::after {
  width: 100%;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
@media screen and (max-width:767px) {
  .cmp-teaser.s-teaser__horizontal .cmp-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width:767px) {
  .cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__content {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  position: static;
  color: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
}
@media screen and (max-width:767px) {
  .cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__pre {
  color: #aa0e2a;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__title {
  color: #aa0e2a;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__address {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: 0.7rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 1rem;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__address .-icon {
  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;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.4rem;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__tags .tag {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  border: #212121 1px solid;
  border-radius: 0.3rem;
  padding: 0.4rem 0.8rem;
  letter-spacing: 0;
}
.cmp-teaser.s-teaser__horizontal .cmp-inner .cmp-teaser__tags .tag--highlight {
  color: #fff;
  background-color: #aa0e2a;
  border-color: #aa0e2a;
  margin-right: 1rem;
}
.cmp-teaser.s-teaser__horizontal.s-teaser__reverse .cmp-inner .cmp-teaser__image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.cmp-teaser.s-teaser__horizontal.s-teaser__reverse .cmp-inner .cmp-teaser__content {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.cmp-teaser.s-teaser__basic .cmp-inner .cmp-teaser__content {
  display: grid;
}
.cmp-teaser.s-teaser__basic .cmp-inner .cmp-teaser__text {
  gap: 1rem;
}
.cmp-teaser.s-teaser__basic .cmp-inner .cmp-teaser__title {
  font-size: 3rem;
}
@media screen and (max-width:767px) {
  .cmp-teaser.s-teaser__basic .cmp-inner .cmp-teaser__title {
    font-size: 2.4rem;
  }
}
.cmp-teaser.s-teaser__img--shadow .cmp-inner .cmp-teaser__image {
  position: relative;
}
.cmp-teaser.s-teaser__img--shadow .cmp-inner .cmp-teaser__image::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 1rem;
}

svg.i-marker .circle {
  stroke-miterlimit: 10;
}
svg.i-marker .circle, svg.i-marker .path {
  fill: none;
  stroke-width: 1.2px;
}
svg.i-marker .path {
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cmp-anchor {
  padding: 2rem 0;
}
.cmp-anchor .cmp-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 4rem;
}
@media screen and (max-width:767px) {
  .cmp-anchor .cmp-inner {
    display: grid;
    gap: 1rem;
  }
}
.cmp-anchor .cmp-inner a {
  font-weight: 500;
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 1rem;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.cmp-anchor .cmp-inner a .i-anchor {
  width: 4rem;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.cmp-anchor .cmp-inner a .i-anchor svg {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #aa0e2a;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #aa0e2a;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.cmp-anchor .cmp-inner a .i-anchor svg .rect {
  fill: transparent;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.cmp-anchor .cmp-inner a:hover {
  text-decoration: underline;
  color: rgba(170, 14, 42, 0.7);
}
.cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #aa0e2a;
}
.cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}

.cmp-button {
  padding: 2rem 0;
}
.cmp-button .cmp-inner .cmp-button__button {
  display: block;
  width: 30rem;
  max-width: 100%;
}
@media screen and (max-width:767px) {
  .cmp-button .cmp-inner .cmp-button__button {
    max-width: 37.5rem;
  }
}
.cmp-button .cmp-inner .cmp-button__link {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 3.1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #212121;
  text-decoration: none;
  border-bottom: #e1e1e1 1px solid;
  padding: 1.6rem 1rem 1.6rem 0.2rem;
}
.cmp-button .cmp-inner .cmp-button__link span.i-arr {
  display: block;
  width: 3.1rem;
  height: 3.1rem;
  background: url(/recruit/assets/img/i-button__arrow.svg) no-repeat center;
  background-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cmp-button .cmp-inner .cmp-button__link .link-icon {
  text-align: right;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cmp-button .cmp-inner .cmp-button__link .link-icon svg[data-name=i-blank] {
  height: 0.6em;
}
.cmp-button .cmp-inner .cmp-button__link .link-icon svg[data-name=i-blank] .path {
  fill: #888;
}
.cmp-button .cmp-inner .cmp-button__link .link-icon svg[data-name=i-pdf] {
  height: 0.7em;
}
.cmp-button .cmp-inner .cmp-button__link .link-icon svg[data-name=i-pdf] .path {
  fill: #888;
}
.cmp-button .cmp-inner .cmp-button__link .cmp-button__text {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cmp-button .cmp-inner .cmp-button__link::after {
  content: "";
  display: block;
  height: 1px;
  width: 0;
  background-color: #888;
  position: absolute;
  left: 0;
  bottom: -1px;
  -webkit-transition: 0.4s ease-out;
  transition: 0.4s ease-out;
}
.cmp-button .cmp-inner .cmp-button__link:hover .cmp-button__text {
  opacity: 0.7;
}
.cmp-button .cmp-inner .cmp-button__link:hover span.i-arr,
.cmp-button .cmp-inner .cmp-button__link:hover .link-icon {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}
.cmp-button .cmp-inner .cmp-button__link:hover::after {
  width: 100%;
}
.cmp-button .cmp-inner .cmp-button__prev {
  grid-template-columns: 3.1rem 1fr;
  padding: 1.6rem 0.2rem 1.6rem 1rem;
}
.cmp-button .cmp-inner .cmp-button__prev .cmp-button__text {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
  text-align: right;
}
.cmp-button .cmp-inner .cmp-button__prev span.i-arr,
.cmp-button .cmp-inner .cmp-button__prev .link-icon {
  -webkit-transform: scaleX(-100%);
          transform: scaleX(-100%);
}
.cmp-button .cmp-inner .cmp-button__prev:hover span.i-arr,
.cmp-button .cmp-inner .cmp-button__prev:hover .link-icon {
  -webkit-transform: scaleX(-100%) translateX(1rem);
          transform: scaleX(-100%) translateX(1rem);
}
.cmp-button[class*=s-flex] .cmp-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cmp-button.s-flex__none .cmp-inner {
  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;
}
.cmp-button.s-flex__center .cmp-inner {
  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: 1rem;
}
.cmp-button.s-flex__horizontal .cmp-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width:767px) {
  .cmp-button.s-flex__horizontal .cmp-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.cmp-button.s-flex__horizontal.s-button__2column .cmp-inner {
  max-width: 70rem;
  margin: auto;
}
.cmp-button.s-grid__3column > .cmp-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 9rem;
}
@media screen and (max-width:767px) {
  .cmp-button.s-grid__3column > .cmp-inner {
    grid-template-columns: auto;
    gap: 1rem;
  }
}

.cmp .cmp-inner .cmp-button__link.s-button__blank span.i-arr {
  background-image: url(/recruit/assets/img/i-blank.svg);
  width: 1.4rem;
}

.cmp-image {
  padding: 2rem 0;
  text-align: center;
}
.cmp-image .cmp-inner {
  text-decoration: none;
  display: inline-block;
  text-align: left;
}
.cmp-image .cmp-inner picture {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
  margin-bottom: 1rem;
}
.cmp-image .cmp-inner figure {
  display: block;
  position: relative;
}
.cmp-image .cmp-inner .caption {
  color: #888;
  text-decoration: none;
}
.cmp-image .cmp-inner .thumbnail-link {
  display: block;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cmp-image .cmp-inner .thumbnail-link:hover {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}
.cmp-image .cmp-inner .thumbnail-link:hover .thumbnail-link__caption::after {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}
.cmp-image .cmp-inner .thumbnail-link__caption {
  display: grid;
  grid-template-columns: 1fr 3.1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem 0.5rem 0;
  font-family: "Shippori Mincho", serif;
}
.cmp-image .cmp-inner .thumbnail-link__caption::after {
  content: "";
  width: 3.1rem;
  height: 0.6rem;
  display: block;
  background: url(/recruit/assets/img/link-arrow.svg) no-repeat center;
  background-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width:767px) {
  .cmp-image.photo .cmp-inner {
    display: block;
  }
}
.cmp-image.photo .cmp-inner picture {
  border-radius: 0;
}
.cmp-image.photo .cmp-inner .caption {
  padding: 0 2rem;
}
.cmp-image.photo .cmp-inner .caption .cmp {
  padding: 1rem 2rem 0;
  width: 112rem;
  max-width: 100%;
  margin: auto;
}
.cmp-image.s-image__blank .thumbnail-link__caption::after {
  height: 2rem;
  background-image: url(/recruit/assets/img/i-blank.svg);
  background-size: 1.3rem;
}

.cmp-list {
  padding: 2rem 0;
}
.cmp-list .cmp-inner {
  width: 100%;
}
.cmp-list .cmp-inner ul {
  padding-left: 1.3rem;
}
.cmp-list .cmp-inner ul li {
  list-style-type: "–";
  padding-left: 0.8rem;
}
.cmp-list .cmp-inner ul li::marker {
  color: #aa0e2a;
  font-size: 1em;
  font-weight: bold;
}
.cmp-list .cmp-inner ol {
  padding-left: 2.1rem;
}
.cmp-list .cmp-inner ol li::marker {
  color: #aa0e2a;
}
.cmp-list .cmp-inner li {
  margin-bottom: 0;
}
.cmp-list .cmp-inner dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
}
.cmp-list .cmp-inner dl > div dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cmp-list.s-annotation ul {
  padding-left: 1.6rem;
}
.cmp-list.s-annotation ul li {
  list-style-type: "※";
  padding-left: 0.5rem;
  font-size: 1.4rem;
  color: #888;
}
.cmp-list.s-annotation ul li::marker {
  color: inherit;
  font-size: 1em;
}
.cmp-list.s-normal ul {
  padding-left: 1.9rem;
}
.cmp-list.s-normal ul li {
  list-style-type: initial;
  padding-left: 0.2rem;
}
.cmp-list.s-normal ul li::marker {
  color: inherit;
}
.cmp-list.s-align__right .cmp-inner {
  max-width: 100%;
}
.cmp-list.s-align__right .cmp-inner ul, .cmp-list.s-align__right .cmp-inner ol {
  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: end;
}

.col-wrap .cmp-list .cmp-inner {
  width: 100%;
}

.cmp-movie {
  padding: 2rem 0;
}
.cmp-movie .cmp-inner {
  position: relative;
}
@media screen and (max-width:767px) {
  .cmp-movie .cmp-inner {
    margin: 0 -2rem;
  }
}
.cmp-movie .cmp-inner iframe {
  width: 100% !important;
  height: auto;
  aspect-ratio: 16/9;
}

.cmp-slider {
  position: relative;
  padding: 4rem 0;
}

.js-swiper-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
}
.js-swiper-wrapper .swiper {
  width: 84rem;
  max-width: 100%;
  padding-bottom: 50px;
  overflow: visible;
}
@media screen and (max-width:767px) {
  .js-swiper-wrapper .swiper {
    width: 27.5rem;
  }
}

.swiper-slide {
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 80%;
}
.swiper-slide picture {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
  margin-bottom: 1.6rem;
}
.swiper-slide picture img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.swiper-slide .caption {
  color: #888;
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .swiper-slide {
    width: 65%;
  }
}
.slider-controls {
  display: grid;
  grid-template-columns: 1fr 6.1rem 6.1rem;
  gap: 4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 84rem;
  max-width: 100%;
  margin: auto;
}
@media screen and (max-width:767px) {
  .slider-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}
.slider-controls .swiper-scrollbar {
  position: static !important;
  -webkit-transform: none;
          transform: none;
  width: 100% !important;
  height: 2px !important;
  background-color: #e1e1e1;
}
@media screen and (max-width:767px) {
  .slider-controls .swiper-scrollbar {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
.slider-controls .swiper-scrollbar-drag {
  background-color: #888;
}
.slider-controls .swiper-button-prev, .slider-controls .swiper-button-next {
  position: static;
  display: block;
  width: 6.1rem;
  height: 2.7rem;
  margin-top: 0;
}
.slider-controls .swiper-button-prev::after, .slider-controls .swiper-button-next::after {
  content: "";
  width: 6.1rem;
  height: 2.7rem;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.slider-controls .swiper-button-prev::after {
  background-image: url(/recruit/assets/img/i-slider__prev.svg);
}
.slider-controls .swiper-button-next::after {
  background-image: url(/recruit/assets/img/i-slider__next.svg);
}

.slider-block.js-swiper-wrapper--left .swiper {
  overflow: visible;
}
.slider-block.js-swiper-wrapper--left .swiper-slide {
  width: 33rem;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card {
  position: relative;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card picture {
  display: block;
  position: relative;
  overflow: hidden;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card picture::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.01);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.3) 100%);
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 0 1.6rem 2.4rem;
  color: #fff;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__text {
  font-size: 1.8rem;
  font-weight: 600;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0rem 1rem;
  padding-top: 1rem;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__profile .prof-job {
  font-size: 1.3rem;
  line-height: 1;
  border: #fff 1px solid;
  border-radius: 0.3rem;
  padding: 0.2rem 0.8rem;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__profile .prof-group {
  font-size: 1.5rem;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__profile .prof-name {
  font-size: 1.7rem;
  width: 70%;
}
.slider-block.js-swiper-wrapper--left .swiper-slide .swiper-card__button {
  -webkit-filter: brightness(2);
          filter: brightness(2);
  width: 6rem;
  margin-left: auto;
  margin-right: -0.6rem;
  margin-bottom: -1.4rem;
}
.slider-block.js-swiper-wrapper--left .slider-controls {
  width: 100%;
  padding-top: 4rem;
}

.cmp-spacer {
  padding: 3.2rem 0;
}
.cmp-spacer .cmp-inner hr {
  border: none;
  background-color: #e1e1e1;
  height: 1px;
  margin: 0;
}
.cmp-spacer[class*=s-space] .cmp-inner hr {
  background-color: transparent;
}
.cmp-spacer.s-space__small {
  padding: 0.7rem 0;
}
@media screen and (max-width:767px) {
  .cmp-spacer.s-space__small {
    padding: 0.5rem 0;
  }
  .cmp-spacer.s-space__small hr {
    height: 0;
  }
}
.cmp-spacer.s-space__middle {
  padding: 1.5rem 0;
}
@media screen and (max-width:767px) {
  .cmp-spacer.s-space__middle {
    padding: 1rem 0;
  }
}
.cmp-spacer.s-space__middle hr {
  height: 0;
}
.cmp-spacer.s-space__large {
  padding: 2.2rem 0;
}
@media screen and (max-width:767px) {
  .cmp-spacer.s-space__large {
    padding: 1.5rem 0;
  }
  .cmp-spacer.s-space__large hr {
    height: 0;
  }
}

.cmp-text {
  padding: 2rem 0;
}
.cmp-text .cmp-inner {
  width: 100%;
}
.cmp-text .cmp-inner p:not(:last-child) {
  margin-bottom: 1em;
}
.cmp-text .cmp-inner p a:hover {
  opacity: 0.7;
}

.col-wrap .cmp-text .cmp-inner {
  width: 100%;
}

.cmp-title:has(h2) {
  padding: 2.6rem 0 2rem;
}
.cmp-title:has(h3) {
  padding: 2.4rem 0 2rem;
}
.cmp-title:has(h4) {
  padding: 2.2rem 0 1.8rem;
}
.cmp-title:has(h5) {
  padding: 2rem 0 1.6rem;
}
.cmp-title .cmp-inner h2 {
  font-size: 4rem;
}
@media screen and (max-width:767px) {
  .cmp-title .cmp-inner h2 {
    font-size: 3rem;
  }
}
.cmp-title .cmp-inner h3 {
  font-size: 3rem;
  color: #aa0e2a;
}
@media screen and (max-width:767px) {
  .cmp-title .cmp-inner h3 {
    font-size: 2.4rem;
  }
}
.cmp-title .cmp-inner h4 {
  font-size: 2.4rem;
  color: #aa0e2a;
}
@media screen and (max-width:767px) {
  .cmp-title .cmp-inner h4 {
    font-size: 2rem;
  }
}
.cmp-title .cmp-inner h5 {
  font-size: 2rem;
  color: #aa0e2a;
}
@media screen and (max-width:767px) {
  .cmp-title .cmp-inner h5 {
    font-size: 1.6rem;
  }
}
.cmp-title .cmp-inner .catch-en {
  display: block;
  margin-right: -10rem;
  font-size: 15rem;
  text-align: right;
  font-family: "Marcellus", serif;
  white-space: nowrap;
}
@media screen and (max-width:767px) {
  .cmp-title .cmp-inner .catch-en {
    font-size: 5.2rem;
    margin-right: -2rem;
  }
}
.cmp-title .cmp-inner .supplement {
  font-size: 1.5rem;
}
.cmp-title.s-title__catch--flex .cmp-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 6rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width:767px) {
  .cmp-title.s-title__catch--flex .cmp-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.cmp-title.s-title__catch--flex .cmp-inner .cmp-title__flex--title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  gap: 2rem;
}
@media screen and (max-width:767px) {
  .cmp-title.s-title__catch--flex .cmp-inner .cmp-title__flex--title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.cmp-title.s-title__catch--flex .cmp-inner .catch-en {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .cmp-title.s-title__catch--flex .cmp-inner .catch-en {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: 8rem;
  }
}

.s-title__sans h1, .s-title__sans h2, .s-title__sans h3, .s-title__sans h4, .s-title__sans h5 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.s-title__serif h1, .s-title__serif h2, .s-title__serif h3, .s-title__serif h4, .s-title__serif h5 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

span.bg-crip {
  background: -webkit-gradient(linear, left top, right top, from(#222), color-stop(70%, #222), to(#999));
  background: linear-gradient(90deg, #222 0%, #222 70%, #999 100%);
  -webkit-background-clip: text;
  color: transparent;
  background-clip: text;
}

.l-main.l-interview::before, .l-main.l-interview::after {
  content: "";
  position: fixed;
  display: block;
  width: 45rem;
  height: 45rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}
.l-main.l-interview::before {
  top: 7rem;
  right: 0;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
.l-main.l-interview::after {
  top: 55rem;
  left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.l-main.l-interview .l-keyvisual .wrapper {
  background: url(/recruit/assets/img/bg-interview.webp) no-repeat center bottom;
  background-size: cover;
  color: #fff;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container {
  width: 100%;
  position: relative;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container picture::after {
  content: none;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), color-stop(95%, transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent 95%);
  mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), color-stop(95%, transparent));
  mask-image: linear-gradient(to bottom, black 20%, transparent 95%);
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content {
  width: 112rem;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 6rem;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: grid;
  gap: 2rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content {
    position: relative;
    left: 0;
    margin-top: -76vw;
    -webkit-transform: none;
            transform: none;
    padding-bottom: 1rem;
  }
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .pre-title {
  font-size: 2.4rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .pre-title {
    font-size: 2.2rem;
  }
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .page-title {
  font-size: 4.2rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .page-title {
    font-size: 3.6rem;
  }
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .profile {
  display: inline-block;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .profile-inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: auto;
  gap: 2rem 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  padding: 1.6rem 0.6rem 1.6rem;
  border-bottom: #fff 1px solid;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .profile .prof-job {
  display: block;
  font-size: 1.3rem;
  line-height: 1;
  border: #fff 1px solid;
  border-radius: 0.4rem;
  padding: 0.2rem 0.6rem;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .profile .prof-group {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
}
.l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .profile .prof-name {
  display: block;
  font-size: 2.4rem;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .wrapper .hero-container .hero-content .profile .prof-name {
    width: 100%;
  }
}
.l-main.l-interview .l-keyvisual .content-container {
  position: relative;
  z-index: 1;
  width: 112rem;
  max-width: 100%;
  margin: auto;
  padding: 4rem 2rem 8rem;
  color: #fff;
}
.l-main.l-interview .l-keyvisual .content-container .pre-title {
  font-size: 2rem;
  padding-bottom: 1rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .content-container .pre-title {
    font-size: 1.5rem;
  }
}
.l-main.l-interview .l-keyvisual .content-container .heading {
  font-size: 4rem;
  padding-bottom: 2.4rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .content-container .heading {
    font-size: 2.8rem;
  }
}
.l-main.l-interview .l-keyvisual .content-container .text {
  font-size: 1.5rem;
  width: 90rem;
  max-width: 100%;
}
.l-main.l-interview .l-keyvisual .l-page__lead {
  background: #AA0E2A;
  position: relative;
}
.l-main.l-interview .l-keyvisual .l-page__lead .l-section__inner {
  margin: auto;
  width: 112rem;
  max-width: 100%;
  padding: 4rem 2rem 8rem;
  color: #fff;
}
.l-main.l-interview .l-keyvisual .l-page__lead .l-section__inner .pre-title {
  font-size: 2rem;
  padding-bottom: 1rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .l-page__lead .l-section__inner .pre-title {
    font-size: 1.5rem;
  }
}
.l-main.l-interview .l-keyvisual .l-page__lead .l-section__inner .heading {
  font-size: 4rem;
  padding-bottom: 2.4rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-keyvisual .l-page__lead .l-section__inner .heading {
    font-size: 2.8rem;
  }
}
.l-main.l-interview .l-keyvisual .l-page__lead .l-section__inner .text {
  font-size: 1.5rem;
  width: 90rem;
  max-width: 100%;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-content {
    padding-top: 4rem;
  }
}
.l-main.l-interview .l-editors__content {
  margin-bottom: 5rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner {
    gap: 2rem;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner .cmp-teaser__content {
  gap: 1rem;
}
.l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner .cmp-teaser__text {
  gap: 0;
}
.l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner .cmp-teaser__pre {
  font-size: 1.8rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner .cmp-teaser__pre {
    font-size: 1.5rem;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner .cmp-teaser__title {
  font-size: 3rem;
  padding-bottom: 2rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser .cmp-inner .cmp-teaser__title {
    font-size: 2.2rem;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__horizontal .cmp-teaser__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__horizontal .cmp-teaser__image picture {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 50vw;
  max-width: 100rem;
  max-height: 52rem;
  border-radius: 1rem;
  margin-right: -50vw;
  margin-left: 0;
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__horizontal .cmp-teaser__image picture img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__horizontal .cmp-teaser__image picture {
    margin: 0;
    border-radius: 1rem;
    width: 100%;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__reverse .cmp-teaser__image {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__reverse .cmp-teaser__image picture {
  margin-right: 0;
  margin-left: -50vw;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__reverse .cmp-teaser__image picture {
    margin: 0;
    border-radius: 1rem;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic {
  padding-top: 9.6rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic {
    padding-top: 3rem;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__content {
  position: static;
  color: inherit;
  grid-template-columns: auto;
  padding-top: 3rem;
  padding-bottom: 0;
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__text {
  gap: 0 4rem;
  display: grid;
}
@media screen and (min-width:768px) {
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__text {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
  }
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__text .cmp-teaser__pre {
    grid-area: 1/1/2/2;
  }
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__text .cmp-teaser__title {
    grid-area: 2/1/3/2;
  }
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__text .cmp-teaser__supplement {
    grid-area: 1/2/3/3;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__image picture {
  width: 100vw;
  margin: 0;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 0;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__image picture {
    margin: 0;
    border-radius: 1rem;
  }
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser.s-teaser__mosaic .cmp-inner .cmp-teaser__image picture {
    -webkit-transform: none;
            transform: none;
    position: static;
    width: 100%;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width:767px) {
  .l-main.l-interview .l-editors__content .cmp-teaser {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.l-main.l-interview .l-editors__content .cmp-teaser:first-child {
  padding-top: 2rem;
}
.l-main.l-interview .l-editors__content .cmp-teaser:last-child {
  padding-bottom: 2rem;
}
.l-main.l-interview .l-editors__content .cmp-teaser + .cmp-list {
  padding-top: 0;
  margin-top: -2rem;
}
.l-main.l-interview__list .l-content {
  padding-top: 0;
}

.s-teaser__mosaic .cmp-teaser__pre,
.s-teaser__mosaic .cmp-teaser__title {
  color: #AA0E2A;
}

@media screen and (max-width:767px) {
  .l-more__entries .cmp-title .cmp-inner h2 {
    font-size: 2.8rem;
  }
}

.l-main.l-crosstalk .l-keyvisual .wrapper {
  background: url(/recruit/assets/img/bg-crosstalk.webp) no-repeat center bottom;
  background-size: cover;
  color: #fff;
  position: relative;
  z-index: 2;
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container {
  width: 100%;
  position: relative;
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container picture::after {
  content: none;
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), color-stop(95%, transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent 95%);
  mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), color-stop(95%, transparent));
  mask-image: linear-gradient(to bottom, black 20%, transparent 95%);
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-content {
  width: 112rem;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 3rem;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: grid;
  gap: 2rem;
}
@media screen and (max-width:767px) {
  .l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-content {
    position: relative;
    left: 0;
    margin-top: -30vw;
    -webkit-transform: none;
            transform: none;
  }
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-content .pre-title {
  font-family: "Marcellus", serif;
  font-size: 3rem;
  line-height: 1;
  font-weight: 400;
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-content .page-title {
  font-size: 4.2rem;
}
@media screen and (max-width:767px) {
  .l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-content .page-title {
    font-size: 3.6rem;
  }
}
.l-main.l-crosstalk .l-keyvisual .wrapper .hero-container .hero-content .hero-text {
  font-size: 1.5rem;
}
.l-main.l-crosstalk .l-keyvisual .content-container {
  position: relative;
  z-index: 1;
  padding: 6rem 2rem;
  width: 112rem;
  max-width: 100%;
  margin: auto;
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: -11rem;
  margin-bottom: 1rem;
}
@media screen and (max-width:767px) {
  .l-main.l-crosstalk .l-keyvisual .content-container .profile-section .heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.6rem;
  }
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .heading h2 {
  font-size: 4rem;
}
@media screen and (max-width:767px) {
  .l-main.l-crosstalk .l-keyvisual .content-container .profile-section .heading h2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    font-size: 2.8rem;
  }
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .heading .catch-text {
  width: 47rem;
}
@media screen and (max-width:767px) {
  .l-main.l-crosstalk .l-keyvisual .content-container .profile-section .heading .catch-text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 46%;
  }
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .card-inner {
  display: grid;
  gap: 1.2rem;
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .card-inner picture {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .card-inner .card-content {
  display: grid;
  gap: 1rem;
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .card-inner .card-content .job {
  font-size: 1.5rem;
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .card-inner .card-content .name {
  font-size: 2rem;
}
.l-main.l-crosstalk .l-keyvisual .content-container .profile-section .card-inner .card-content .label span {
  font-size: 1.3rem;
  display: inline-block;
  line-height: 1;
  border: #fff 1px solid;
  border-radius: 0.3rem;
  padding: 0.3rem 0.8rem;
}
.l-main.l-crosstalk .l-content {
  padding-top: 6rem;
}
@media screen and (max-width:767px) {
  .l-main.l-crosstalk .l-content {
    padding-top: 6rem;
    padding-bottom: 0;
  }
}
.l-main.l-crosstalk__list .l-content {
  padding-top: 0;
}

.l-talk {
  margin-bottom: 8rem;
}
.l-talk:last-child {
  margin-bottom: 4rem;
}
.l-talk.s-horizontal__basic .l-talk__image picture {
  margin-left: -10rem;
}
.l-talk.s-horizontal__reverse .l-talk__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.l-talk.s-horizontal__reverse .l-talk__image picture {
  margin-right: -10rem;
}
.l-talk.s-horizontal__reverse .l-talk__content {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.l-talk__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8rem;
}
@media screen and (max-width:767px) {
  .l-talk__inner {
    display: block;
  }
}

/* --------------------------------
   左側：画像エリア（FIX追従）
-------------------------------- */
.l-talk__image {
  width: 50%;
  position: sticky;
  top: 8rem;
}
@media screen and (max-width:767px) {
  .l-talk__image {
    display: none !important;
  }
}

.l-talk__image picture {
  display: block;
  width: calc(100% + 10rem);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  pointer-events: none;
  overflow: hidden;
  border-radius: 1.6rem;
}

.l-talk__image picture:first-child {
  position: relative;
}

.l-talk__image picture.is-active {
  opacity: 1;
  pointer-events: auto;
}

.l-talk__content {
  width: 50%;
  position: relative;
}
@media screen and (max-width:767px) {
  .l-talk__content {
    width: 100%;
  }
}
.l-talk__content .l-talk__heading {
  position: relative;
  padding: 0 0 6rem;
}
.l-talk__content .l-talk__heading h2 {
  font-size: 3rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width:767px) {
  .l-talk__content .l-talk__heading h2 {
    font-size: 2.2rem;
  }
}
.l-talk__content .l-talk__heading .num {
  font-family: "Marcellus", serif;
  font-size: 15rem;
  display: block;
  width: 24rem;
  height: 15rem;
  text-align: center;
  position: absolute;
  top: -10rem;
  right: -9rem;
  z-index: 0;
  pointer-events: none;
  color: #fff;
  text-align: right;
}
@media screen and (min-width: 1120px) and (max-width: 1248px) {
  .l-talk__content .l-talk__heading .num {
    right: calc((108rem - 100vw) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
  .l-talk__content .l-talk__heading .num {
    right: -2rem;
  }
}
@media screen and (max-width:767px) {
  .l-talk__content .l-talk__heading .num {
    font-size: 12rem;
    width: 21rem;
    height: 12rem;
    right: -2rem;
  }
}
.l-talk__content .l-talk__heading .num::before {
  content: "";
  display: block;
  position: absolute;
  width: 50rem;
  height: 50rem;
  left: 55%;
  top: 45%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width:767px) {
  .l-talk__content .l-talk__heading .num::before {
    width: 30rem;
    height: 30rem;
  }
}
.l-talk__content::before {
  content: "";
  display: block;
  position: absolute;
  width: 50rem;
  height: 50rem;
  left: 0;
  bottom: 0;
  -webkit-transform: translate(-50%, 30%);
          transform: translate(-50%, 30%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

.s-color__red .l-talk__content::before {
  background-image: url(/recruit/assets/img/bg-ct--red.png);
}
.s-color__red .l-talk__heading .num::before {
  background-image: url(/recruit/assets/img/bg-ct--red.png);
}
.s-color__yellow .l-talk__content::before {
  background-image: url(/recruit/assets/img/bg-ct--yellow.png);
}
.s-color__yellow .l-talk__heading .num::before {
  background-image: url(/recruit/assets/img/bg-ct--yellow.png);
}
.s-color__gray .l-talk__content::before {
  background-image: url(/recruit/assets/img/bg-ct--gray.png);
}
.s-color__gray .l-talk__heading .num::before {
  background-image: url(/recruit/assets/img/bg-ct--gray.png);
}
.s-color__violet .l-talk__content::before {
  background-image: url(/recruit/assets/img/bg-ct--violet.png);
}
.s-color__violet .l-talk__heading .num::before {
  background-image: url(/recruit/assets/img/bg-ct--violet.png);
}

.l-talk__bubbles {
  display: grid;
  gap: 2rem;
}

.bubble-item {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 4.8rem;
}
@media screen and (max-width:767px) {
  .bubble-item {
    grid-template-columns: auto;
    gap: 1rem;
  }
}
.bubble-item > .thumb {
  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: 1rem;
}
@media screen and (max-width:767px) {
  .bubble-item > .thumb {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.bubble-item > .thumb picture {
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  overflow: hidden;
}
.bubble-item > .thumb .caption {
  font-size: 1.3rem;
  text-align: center;
}
@media screen and (max-width:767px) {
  .bubble-item > .thumb .caption {
    font-size: 1.5rem;
  }
}
.bubble-item > .text {
  position: relative;
  background: #ffffff;
  border: 1px solid #e1e1e1;
  border-radius: 1.4rem;
  padding: 3rem;
  color: #333333;
  font-size: 1.5rem;
  line-height: 1.7;
}
.bubble-item > .text::before {
  content: "";
  position: absolute;
  top: 2.4rem;
  right: 100%;
  border: 1.3rem solid #e1e1e1;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
}
@media screen and (max-width:767px) {
  .bubble-item > .text::before {
    content: none;
  }
}
.bubble-item > .text::after {
  content: "";
  position: absolute;
  top: 2.2rem;
  right: 100%;
  border: 1.3rem solid #fff;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
}
@media screen and (max-width:767px) {
  .bubble-item > .text::after {
    content: none;
  }
}
.bubble-item.-picture {
  display: none;
}
@media screen and (max-width:767px) {
  .bubble-item.-picture {
    display: block;
  }
  .bubble-item.-picture picture {
    width: 100%;
    display: block;
    overflow: hidden;
    border-radius: 1rem;
  }
}

.l-loop {
  width: 100%;
  overflow: hidden;
  margin-bottom: 10rem;
  /* ★追加：トロッコの設定 */
}
.l-loop__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; /* 中身に合わせて横幅を無限に広げる */
  -webkit-animation: loop-marquee 30s linear infinite;
          animation: loop-marquee 30s linear infinite;
  will-change: transform;
}
.l-loop__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 5rem;
  padding-right: 5rem; /* オリジナルとクローンを繋ぐ余白 */
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-loop__inner .loop-item {
  display: block;
}
.l-loop__inner .loop-item picture {
  display: block;
  width: 16.2rem;
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (max-width:767px) {
  .l-loop__inner .loop-item picture {
    width: 10.7rem;
  }
}
.l-loop__inner .loop-item p {
  font-size: 12rem;
  line-height: 1;
  font-family: "Marcellus", serif;
  background: url(/recruit/assets/img/loop-text--bg.png) no-repeat center;
  background-size: cover;
  -webkit-background-clip: text;
  color: transparent;
  background-clip: text;
}
@media screen and (max-width:767px) {
  .l-loop__inner .loop-item p {
    font-size: 8rem;
  }
}

/* ★修正：アニメーションの移動距離 */
@-webkit-keyframes loop-marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    /* トラック（トロッコ）全体のちょうど半分を移動する */
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes loop-marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    /* トラック（トロッコ）全体のちょうど半分を移動する */
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.l-photo .photo {
  display: block;
  width: 100%;
  margin-bottom: 4rem;
}
.l-photo .photo picture {
  margin-bottom: 2rem;
}
@media screen and (max-width:767px) {
  .l-photo .photo picture {
    margin-bottom: 0;
  }
}
.l-photo .photo img {
  display: block;
  width: 100%;
  max-width: 100vw;
}
@media screen and (max-width:767px) {
  .l-photo {
    display: grid;
  }
  .l-photo .l-section__inner:has(.l-loop) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .l-photo .l-section__inner .photo {
    width: 100vw;
  }
}

.l-entries__talk {
  display: grid;
  gap: 1rem 4rem;
  margin-bottom: 4rem;
}
.l-entries__talk.s-grid__2column {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width:767px) {
  .l-entries__talk.s-grid__2column {
    grid-template-columns: auto;
  }
}
.l-entries__talk.s-grid__3column {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width:767px) {
  .l-entries__talk.s-grid__3column {
    grid-template-columns: auto;
  }
}
@media screen and (max-width:767px) {
  .l-entries__talk {
    grid-template-columns: auto;
    gap: 0 4rem;
  }
}
.l-entries__talk figure .number {
  position: absolute;
  display: block;
  line-height: 1;
  left: 0;
  bottom: 0;
  font-family: "Marcellus", serif;
  font-size: 7rem;
  color: #fff;
  margin: 0 0 -0.16em -0.05em;
}
.l-entries__talk .thumbnail-link__caption {
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
}

.l-more__entries {
  position: relative;
}
.l-more__entries::before, .l-more__entries::after {
  content: "";
  position: absolute;
  display: block;
  width: 45rem;
  height: 45rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(/recruit/assets/img/bg-num--04.png);
  z-index: -1;
  pointer-events: none;
}
.l-more__entries::before {
  top: 7rem;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.l-more__entries::after {
  bottom: 7rem;
  left: 0;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
.l-more__entries .cmp-container .cmp-button {
  padding: 0;
}

.l-job__description .l-content {
  padding-top: 1rem;
  padding-bottom: 5rem;
}
@media screen and (max-width:767px) {
  .l-job__description .l-content {
    padding-bottom: 4rem;
  }
}

.l-section__inner.-full:has(.l-job__wrap) {
  width: 100%;
}

.l-job__wrap {
  position: relative;
  overflow: clip;
}
.l-job__bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.l-job__inner {
  position: relative;
  backdrop-filter: blur(1rem);
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  padding: 6rem 0;
}
@media screen and (max-width:767px) {
  .l-job__inner {
    padding-top: 2.4rem;
  }
}
.l-job__inner .cmp-title .cmp-inner > * {
  color: #fff;
}
.l-job__head, .l-job__body {
  width: 112rem;
  max-width: 100%;
  padding: 2rem;
  margin: 0 auto;
}
@media screen and (min-width:768px) {
  .l-job__head, .l-job__body {
    display: grid;
    gap: 4rem;
  }
}
.l-job__head {
  grid-template-columns: 7.2rem 1fr 36rem;
}
@media screen and (max-width:767px) {
  .l-job__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2rem;
  }
  .l-job__head .job-head__heading {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 5.4rem;
    overflow: visible;
  }
  .l-job__head .job-head__text {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
  }
  .l-job__head .job-head__slide {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: calc(100% - 7.4rem);
  }
}
.l-job__head .cmp {
  padding: 1rem 0;
}
.l-job__head .cmp:first-child {
  padding-top: 0;
}
.l-job__head .cmp:last-child {
  padding-bottom: 0;
}
.l-job__head .cmp-title h3 {
  font-size: 3rem;
}
@media screen and (max-width:767px) {
  .l-job__head .cmp-title h3 {
    font-size: 2.2rem;
  }
}
.l-job__head .cmp-text p {
  font-size: 1.5rem;
}
.l-job__body {
  grid-template-columns: 7.2rem 1fr;
}
.l-job__body::before {
  content: "";
}

.job-head__heading h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 0.8rem;
}
.job-head__heading h2 [class*=heading] {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.job-head__heading h2 .heading-ja {
  font-size: 4rem;
  letter-spacing: 0.4rem;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  display: inline-block;
}
@media screen and (max-width:767px) {
  .job-head__heading h2 .heading-ja {
    font-size: 3rem;
    line-height: 1.1;
  }
}
.job-head__heading h2 .heading-en {
  font-size: 2rem;
  font-family: "Marcellus", serif;
  letter-spacing: 0.2rem;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  display: inline-block;
}
@media screen and (max-width:767px) {
  .job-head__heading h2 .heading-en {
    font-size: 1.5rem;
    line-height: 1.1;
  }
}
.job-head__slide {
  padding-top: 0.8rem;
}
.job-head__slide .swiper-slide {
  overflow: clip;
  border-radius: 1rem;
}

.job-body__inner {
  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;
  gap: 4rem;
}
@media screen and (min-width:768px) {
  .job-body__inner {
    min-height: 40rem;
  }
}
.job-body__heading h3 {
  font-size: 2.4rem;
}

.job-descriptions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 3rem;
}
@media screen and (max-width:767px) {
  .job-descriptions {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }
}
.job-descriptions .job-item__title {
  font-size: 2rem;
  border-bottom: #fff 1px solid;
  padding-bottom: 0.6rem;
}
.job-descriptions .job-item__text {
  font-size: 1.5rem;
  padding-top: 1.6rem;
}

.l-loop_photos {
  width: 100%;
  overflow: hidden;
}

.loop-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.loop-inner .loop-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.loop-photo {
  display: grid;
  grid-template-columns: repeat(9, auto);
  grid-template-rows: repeat(2, 1fr);
  gap: 5rem 6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 6rem;
  -webkit-animation: photo-marquee 40s linear infinite;
          animation: photo-marquee 40s linear infinite;
}
.loop-photo picture img {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
}
.loop-photo [class*=photo-] {
  xdisplay: flex;
}
.loop-photo .photo-01 {
  grid-area: 1/1/2/2;
  -ms-flex-line-pack: end;
      align-content: end;
}
.loop-photo .photo-02 {
  grid-area: 1/2/2/3;
  -ms-flex-line-pack: end;
      align-content: end;
}
.loop-photo .photo-03 {
  grid-area: 2/1/3/3;
  text-align: center;
}
.loop-photo .photo-04 {
  grid-area: 1/3/3/4;
  -ms-flex-line-pack: center;
      align-content: center;
}
.loop-photo .photo-05 {
  grid-area: 1/4/2/5;
  -ms-flex-line-pack: end;
      align-content: end;
  -webkit-transform: translateY(4rem);
          transform: translateY(4rem);
}
.loop-photo .photo-06 {
  grid-area: 1/5/2/6;
  -ms-flex-line-pack: end;
      align-content: end;
  -webkit-transform: translateY(4rem);
          transform: translateY(4rem);
}
.loop-photo .photo-07 {
  grid-area: 2/4/3/6;
  text-align: center;
  -webkit-transform: translateY(4rem);
          transform: translateY(4rem);
}
.loop-photo .photo-08 {
  grid-area: 1/6/3/7;
  -ms-flex-line-pack: center;
      align-content: center;
}
.loop-photo .photo-09 {
  grid-area: 1/7/2/8;
  -ms-flex-line-pack: end;
      align-content: end;
}
.loop-photo .photo-10 {
  grid-area: 1/8/2/9;
  -ms-flex-line-pack: end;
      align-content: end;
}
.loop-photo .photo-11 {
  grid-area: 2/7/3/9;
  text-align: center;
}
.loop-photo .photo-12 {
  grid-area: 1/9/3/10;
  -ms-flex-line-pack: center;
      align-content: center;
}

@-webkit-keyframes photo-marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes photo-marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.l-content.l-brand {
  padding-top: 5rem;
}

.our-thoughts {
  position: relative;
  z-index: 2;
}
.our-thoughts .thought {
  overflow: clip;
  height: 100vh;
  position: sticky;
  top: 0;
  background-color: #fff;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought {
    height: auto;
  }
}
.our-thoughts .thought-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  width: 100%;
  height: 100%;
  max-width: 112rem;
  padding: 0 2rem;
  margin: auto;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-inner {
    grid-template-columns: auto;
  }
}
.our-thoughts .thought-image {
  height: 100%;
}
.our-thoughts .thought-image picture {
  display: block;
  height: 100%;
  margin-right: -10rem;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-image picture {
    margin-right: 0;
  }
}
.our-thoughts .thought-image picture img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-image {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.our-thoughts .thought-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content {
    padding-top: 3rem;
    padding-bottom: 10rem;
  }
}
.our-thoughts .thought-content__number {
  display: block;
  position: absolute;
  font-family: "Marcellus", serif;
  top: 5rem;
  left: -3rem;
  color: #fff;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content__number {
    position: relative;
    margin-bottom: 5rem;
    left: 0;
    top: 0;
  }
}
.our-thoughts .thought-content__number small {
  display: block;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content__number small {
    font-size: 1.8rem;
    text-align: left;
  }
}
.our-thoughts .thought-content__number span {
  display: block;
  text-align: center;
  font-size: 15rem;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content__number span {
    font-size: 9rem;
    text-align: left;
  }
}
.our-thoughts .thought-content__number::before {
  content: "";
  display: block;
  width: 50rem;
  height: 50rem;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-55%, -55%);
          transform: translate(-55%, -55%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content__number::before {
    left: 30%;
  }
}
.our-thoughts .thought-content::before {
  content: "";
  display: block;
  width: 50rem;
  height: 50rem;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(40%, 30%);
          transform: translate(40%, 30%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content::before {
    width: 40rem;
    height: 40rem;
  }
}
.our-thoughts .thought-content__content {
  padding-right: 4rem;
  display: grid;
  gap: 3rem;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content__content {
    padding-right: 0;
    padding-bottom: 2rem;
  }
}
.our-thoughts .thought-content__title {
  font-size: 3rem;
}
@media screen and (max-width:767px) {
  .our-thoughts .thought-content__title {
    font-size: 2.4rem;
  }
}
.our-thoughts .thought-content__text p {
  line-height: 2;
}
.our-thoughts .thought.s-color__red .thought-content__number::before,
.our-thoughts .thought.s-color__red .thought-content::before {
  background-image: url(/recruit/assets/img/bg-ct--red.png);
}
.our-thoughts .thought.s-color__red .thought-content__title {
  color: #aa0e2a;
}
.our-thoughts .thought.s-color__red mark {
  background-color: rgba(170, 14, 42, 0.18);
}
.our-thoughts .thought.s-color__yellow .thought-content__number::before,
.our-thoughts .thought.s-color__yellow .thought-content::before {
  background-image: url(/recruit/assets/img/bg-ct--yellow.png);
}
.our-thoughts .thought.s-color__yellow .thought-content__title {
  color: #d99a29;
}
.our-thoughts .thought.s-color__yellow mark {
  background-color: rgba(217, 154, 41, 0.18);
}
.our-thoughts .thought.s-color__purple .thought-content__number::before,
.our-thoughts .thought.s-color__purple .thought-content::before {
  background-image: url(/recruit/assets/img/bg-ct--purple.png);
}
.our-thoughts .thought.s-color__purple .thought-content__title {
  color: #4c4398;
}
.our-thoughts .thought.s-color__purple mark {
  background-color: rgba(76, 67, 152, 0.18);
}
.our-thoughts ~ .l-section__inner .l-brand__map .cmp-title {
  padding-top: 10rem;
}
@media screen and (min-width:768px) and (max-width:1279px) {
  .our-thoughts ~ .l-section__inner .l-brand__map .cmp-title .cmp-inner {
    padding-top: 6rem;
  }
}
@media screen and (max-width:767px) {
  .our-thoughts ~ .l-section__inner .l-brand__map .cmp-title {
    padding-top: 1rem;
  }
  .our-thoughts ~ .l-section__inner .l-brand__map .cmp-title .cmp-inner {
    padding-top: 9rem;
  }
}
.our-thoughts ~ .l-section__inner .l-brand__map .brand-map__image {
  margin-top: -20rem;
}
@media screen and (min-width:768px) and (max-width:1279px) {
  .our-thoughts ~ .l-section__inner .l-brand__map .brand-map__image {
    margin-top: -10rem;
  }
}
@media screen and (max-width:767px) {
  .our-thoughts ~ .l-section__inner .l-brand__map .brand-map__image {
    padding-top: 4rem;
    margin-top: 0;
  }
}
.our-thoughts ~ .l-section__inner .l-brand__map .brand-map__image picture {
  -webkit-transform: none;
          transform: none;
}
@media screen and (max-width:767px) {
  .our-thoughts ~ .l-section__inner .l-brand__map .brand-map__image picture {
    -webkit-transform: none;
            transform: none;
  }
}

.l-brand__map {
  position: relative;
}
.l-brand__map .brand-map__image {
  margin: 0 -10rem;
}
.l-brand__map .brand-map__image picture {
  display: block;
  -webkit-transform: translateY(-7rem);
          transform: translateY(-7rem);
}
@media screen and (max-width:767px) {
  .l-brand__map .brand-map__image {
    margin: 0 -2rem;
  }
  .l-brand__map .brand-map__image picture {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.l-brand__map .cmp-title {
  position: absolute;
  top: 0;
  width: 100%;
}

.hotel-brand .cmp-container.s-grid__3column > .cmp-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel {
  position: relative;
  min-width: 0;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner {
  gap: 0.6rem;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner picture {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner picture img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner .cmp {
  position: static;
  padding: 0;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner .cmp .cmp-inner {
  padding-top: 0;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner .cmp .cmp-title__title {
  font-size: 1.4rem;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner .hotel-content__labels {
  padding-top: 0;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel .hotel-inner .label {
  font-size: 1rem;
  word-break: keep-all;
}
.hotel-brand .cmp-container.s-grid__3column > .cmp-inner .hotel-number {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  color: #fff;
  line-height: 1;
  font-size: 1.4rem;
  padding-bottom: 0.1rem;
}

.brand-main {
  width: 100%;
  padding: 6rem 0 0;
  margin: auto;
}
@media screen and (max-width:767px) {
  .brand-main {
    padding: 3rem 0;
  }
}
.brand-main__image {
  margin: 0;
}
.brand-main__image picture {
  display: block;
}
.brand-main__image picture img {
  width: 100%;
}
@media screen and (max-width:767px) {
  .brand-main__image {
    margin: 0 -2rem;
  }
}
.brand-main__content {
  max-width: 116rem;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  padding: 4rem 2rem 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
}
.brand-main__content::after {
  content: "";
  position: absolute;
  display: block;
  width: 50rem;
  height: 50rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
  right: 0;
  top: 0;
  -webkit-transform: translate(60%, -40%);
          transform: translate(60%, -40%);
}
@media screen and (max-width:767px) {
  .brand-main__content {
    display: block;
    padding: 2rem 2rem 0;
  }
}
.brand-main__logo {
  width: 33rem;
  max-width: 100%;
  padding-top: 1.4rem;
}
@media screen and (max-width:767px) {
  .brand-main__logo {
    width: 100%;
    padding-top: 0;
    margin-bottom: 1.6rem;
  }
}
.brand-main__logo img {
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
@media screen and (max-width:767px) {
  .brand-main__logo img {
    height: 5rem;
  }
}
.brand-main__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  gap: 2rem;
}
.brand-main__text .cmp {
  padding: 0;
}
.brand-main__text .cmp .cmp-button__button {
  width: 40rem;
}
@media screen and (max-width:767px) {
  .brand-main__text .cmp .cmp-button__button {
    width: 100%;
  }
}

.brand-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem 4rem;
  padding: 6rem 2rem 0;
  max-width: 116rem;
  margin: auto;
}
@media screen and (max-width:767px) {
  .brand-content {
    padding: 0 2rem;
    grid-template-columns: auto;
  }
}
@media screen and (max-width:767px) {
  .brand-content:has(.hotel) {
    padding-top: 4rem;
  }
}

.hotel .cmp {
  padding: 0;
}
.hotel .cmp.s-annotation {
  margin-top: -1rem;
}
.hotel .cmp .cmp-button__button {
  width: 40rem;
}
@media screen and (max-width:767px) {
  .hotel .cmp .cmp-button__button {
    width: 100%;
  }
}
.hotel-inner {
  display: grid;
  gap: 2rem;
}
.hotel-image picture {
  display: block;
  overflow: hidden;
  border-radius: 1rem;
}
.hotel-image picture img {
  width: 100%;
}
.hotel-content {
  display: grid;
  gap: 2rem;
}
.hotel-content__logo {
  padding-top: 0.8rem;
}
.hotel-content .cmp {
  padding: 0 !important;
}
.hotel-content .cmp.cmp-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
@media screen and (max-width:767px) {
  .hotel-content .cmp.cmp-title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.hotel-content .cmp.cmp-title .cmp-inner .cmp-title__title {
  line-height: 1.3;
  font-size: 2.4rem;
}
.hotel-content__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  padding-top: 1rem;
}
.hotel-content__labels .label {
  display: inline-block;
  line-height: 1;
  font-size: 1.2rem;
  padding: 0.3rem 0.8rem;
  border: #aa0e2a 1px solid;
  border-radius: 50rem;
  color: #aa0e2a;
}

.l-overview .l-editors__content .cmp-container {
  padding: 0;
}
.l-overview .l-editors__content .cmp-container .cmp-text {
  padding-top: 0;
}
.l-overview .l-more__entries::after {
  content: "";
  position: absolute;
  display: block;
  width: 45rem;
  height: 45rem;
  background-image: url(/recruit/assets/img/bg-num--01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(36%, 50%);
          transform: translate(36%, 50%);
}
.l-overview .l-more__entries .hotel {
  padding: 2rem 0;
}

.cmp-container .cmp-inner .l-number .cmp {
  padding: 0;
}

.l-numbers [class*=bg-circle] {
  position: relative;
}
.l-numbers [class*=bg-circle]::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 45rem;
  height: 45rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.l-numbers .l-content {
  padding-top: 5.4rem;
  padding-bottom: 4rem;
}

.bg-circle__01::before {
  background-image: url(/recruit/assets/img/bg-num--01.png);
  left: 0;
  top: 0;
  -webkit-transform: translate(-80%, -50%);
          transform: translate(-80%, -50%);
}
@media screen and (max-width:767px) {
  .bg-circle__01::before {
    -webkit-transform: translate(-60%, -50%);
            transform: translate(-60%, -50%);
  }
}
.bg-circle__02::before {
  background-image: url(/recruit/assets/img/bg-num--02.png);
  right: 0;
  top: 0;
  -webkit-transform: translate(80%, -50%);
          transform: translate(80%, -50%);
}
@media screen and (max-width:767px) {
  .bg-circle__02::before {
    -webkit-transform: translate(60%, -50%);
            transform: translate(60%, -50%);
  }
}
.bg-circle__03::before {
  background-image: url(/recruit/assets/img/bg-num--03.png);
  left: 0;
  top: -50rem;
  -webkit-transform: translate(-80%, -30%);
          transform: translate(-80%, -30%);
}
@media screen and (max-width:767px) {
  .bg-circle__03::before {
    -webkit-transform: translate(-60%, -30%);
            transform: translate(-60%, -30%);
  }
}
.bg-circle__04::before {
  background-image: url(/recruit/assets/img/bg-num--04.png);
  right: 0;
  top: 0;
  -webkit-transform: translate(80%, -70%);
          transform: translate(80%, -70%);
}
@media screen and (max-width:767px) {
  .bg-circle__04::before {
    -webkit-transform: translate(60%, -70%);
            transform: translate(60%, -70%);
  }
}
.bg-circle__05::before {
  background-image: url(/recruit/assets/img/bg-num--05.png);
  left: 0;
  top: 0;
  -webkit-transform: translate(-80%, -40%);
          transform: translate(-80%, -40%);
}
@media screen and (max-width:767px) {
  .bg-circle__05::before {
    -webkit-transform: translate(-60%, -40%);
            transform: translate(-60%, -40%);
  }
}

@media screen and (max-width:767px) {
  .l-number .s-only__pc {
    display: none !important;
  }
}
@media screen and (min-width:768px) {
  .l-number .s-only__sp {
    display: none !important;
  }
}
.l-number .cmp {
  padding: 0;
}
.l-number .cmp-title .cmp-inner .cmp-title__title {
  color: inherit;
  text-align: center;
  font-size: 3rem;
}
@media screen and (max-width:767px) {
  .l-number .cmp-title .cmp-inner .cmp-title__title {
    font-size: 2.4rem;
  }
}
.l-number .cmp-title .cmp-inner .supplement {
  text-align: center;
}
.l-number .cmp-title + .number-block {
  margin-top: 2rem;
  margin-left: -7rem;
  margin-right: -7rem;
}
.l-number .number-block {
  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;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding-bottom: 4rem;
}
.l-number .number-block .value {
  display: block;
  font-family: "Marcellus", serif;
  font-size: 11rem;
  line-height: 1;
  margin-bottom: -0.15em;
}
@media screen and (max-width:767px) {
  .l-number .number-block .value {
    font-size: 5rem;
  }
}
.l-number .number-block .unit {
  display: block;
  font-size: 3.6rem;
  font-family: "Shippori Mincho", serif;
  line-height: 1;
}
@media screen and (max-width:767px) {
  .l-number .number-block .unit {
    font-size: 2rem;
  }
}
.l-number .number-block .supplement {
  font-family: "Shippori Mincho", serif;
  color: #222;
  padding-top: 3rem;
}
.l-number .number-block.s-color__red {
  color: #aa0e2a;
}
.l-number .number-block.s-color__dark {
  color: #7f3652;
}
@media screen and (max-width:767px) {
  .l-number .number-block.s-color__dark .supplement {
    padding: 3rem 7rem 0;
  }
}
.l-number .number-block.s-color__male {
  color: #d99a29;
}
.l-number .number-block.s-color__female {
  color: #e8c27f;
}
.l-number .number-block:has(.supplement) {
  padding-bottom: 1rem;
}
.l-number .number-block.s-counter__horizontal {
  display: grid;
  grid-template-columns: 9.4rem 1fr;
  gap: 2rem;
  margin-left: 0;
}
@media screen and (max-width:767px) {
  .l-number .number-block.s-counter__horizontal {
    grid-template-columns: 3.2rem 1fr;
    gap: 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 1rem;
  }
}
.l-number .number-block.s-counter__horizontal .units {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 6rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
}
@media screen and (max-width:767px) {
  .l-number .number-block.s-counter__horizontal .units {
    font-size: 1.5rem;
    -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;
  }
}
.l-number .number-block.s-counter__horizontal .units img {
  width: 2rem;
}
@media screen and (max-width:767px) {
  .l-number .number-block.s-counter__horizontal .units img {
    width: 1rem;
  }
}
.l-number .number-block.s-counter__horizontal .number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width:767px) {
  .l-number .number-block.s-counter__horizontal .number .value {
    font-size: 4rem;
  }
  .l-number .number-block.s-counter__horizontal .number .unit {
    font-size: 1.8rem;
  }
}
.l-number {
  border: #e1e1e1 1px solid;
  border-radius: 1rem;
  padding: 4.5rem 7rem 7rem;
  overflow: clip;
}
@media screen and (max-width:767px) {
  .l-number {
    padding: 3rem 1.5rem;
  }
}
.l-number.s-number__map {
  padding: 0 0 0;
  position: relative;
}
@media screen and (max-width:767px) {
  .l-number.s-number__map {
    padding-bottom: 4rem;
  }
}
.l-number.s-number__map .l-number__content {
  padding: 4.5rem 7rem;
  position: absolute;
  left: 0;
  top: 0;
  text-align: left;
}
@media screen and (max-width:767px) {
  .l-number.s-number__map .l-number__content {
    padding: 4rem 2rem;
  }
}
.l-number.s-number__map .l-number__content .cmp-title {
  padding-bottom: 2rem;
}
.l-number.s-number__map .l-number__content .cmp-title .cmp-inner .cmp-title__title {
  text-align: left;
}

.s-flex__3column .l-number {
  padding: 4.5rem 4.5rem 7rem;
}
@media screen and (max-width:767px) {
  .s-flex__3column .l-number {
    padding: 4rem 2rem;
  }
}
.s-flex__3column .l-number.s-number__map {
  padding: 0 0 0;
}
@media screen and (max-width:767px) {
  .s-flex__3column .l-number.s-number__map {
    padding-bottom: 4rem;
  }
}

.donut-block {
  font-family: "Shippori Mincho", serif;
  margin-top: 3rem;
}
@media screen and (max-width:767px) {
  .donut-block {
    margin-bottom: 2rem;
  }
}
.donut-block .donut-chart-wrapper {
  position: relative;
  width: 38rem;
  height: 38rem;
}
@media screen and (max-width:767px) {
  .donut-block .donut-chart-wrapper {
    width: calc(100% + 1rem);
    height: auto;
    spect-ratio: 1/1;
    margin: 3rem -0.5rem 1rem;
  }
}
.donut-block .total-area {
  line-height: 1.4;
}
.donut-block .total-area .label {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width:767px) {
  .donut-block .total-area .label {
    font-size: 1.2rem;
  }
}
.donut-block .total-area .total-num .js-count-up {
  font-size: 8rem;
}
@media screen and (max-width:767px) {
  .donut-block .total-area .total-num .js-count-up {
    font-size: 3.4rem;
  }
}
.donut-block .total-area .total-num .unit {
  font-size: 3rem;
}
@media screen and (max-width:767px) {
  .donut-block .total-area .total-num .unit {
    font-size: 1.4rem;
  }
}
.donut-block .gender-split-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}
.donut-block .gender-split-area hr {
  border: none;
  background-color: #e1e1e1;
  width: 1px;
  height: 80%;
}
.donut-block .gender-item {
  width: 10rem;
}
@media screen and (max-width:767px) {
  .donut-block .gender-item {
    width: 100%;
  }
}
.donut-block .gender-item.s-color__male {
  color: #d99a29;
}
.donut-block .gender-item.s-color__female {
  color: #e8c27f;
}
.donut-block .gender-item p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.donut-block .gender-item p .gender {
  width: 100%;
  text-align: center;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width:767px) {
  .donut-block .gender-item p .gender {
    font-size: 1.2rem;
    margin-bottom: -0.5rem;
  }
}
.donut-block .gender-item p .js-count-up {
  font-size: 3.2rem;
}
@media screen and (max-width:767px) {
  .donut-block .gender-item p .js-count-up {
    font-size: 2rem;
  }
}
.donut-block .gender-item p .unit {
  font-size: 2rem;
}
@media screen and (max-width:767px) {
  .donut-block .gender-item p .unit {
    font-size: 1.2rem;
  }
}
.donut-block .js-count-up {
  font-family: "Marcellus", serif;
}
.donut-block .donut-footer-labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: -9rem -5rem 0;
}
@media screen and (max-width:767px) {
  .donut-block .donut-footer-labels {
    margin: 0;
    position: relative;
  }
  .donut-block .donut-footer-labels::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    background-color: #e1e1e1;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.donut-block .donut-footer-labels .label {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 8rem;
  gap: 1rem;
}
@media screen and (max-width:767px) {
  .donut-block .donut-footer-labels .label {
    width: 50%;
    overflow: hidden;
    gap: 0;
  }
}
@media screen and (max-width:767px) {
  .donut-block .donut-footer-labels .label .label-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 1rem;
  }
  .donut-block .donut-footer-labels .label .label-item picture {
    width: 0.8rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .donut-block .donut-footer-labels .label .label-item .number-block {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.donut-block .donut-footer-labels .label picture {
  display: block;
  text-align: center;
}
.donut-block .donut-footer-labels .label picture img {
  width: 2rem;
}
.donut-block .donut-footer-labels .label .number-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.donut-block .donut-footer-labels .label .number-block [class*=js-count-donut] {
  font-size: 5rem;
  font-family: "Marcellus", serif;
  line-height: 1;
  margin-bottom: -0.15em;
}
@media screen and (max-width:767px) {
  .donut-block .donut-footer-labels .label .number-block [class*=js-count-donut] {
    font-size: 2rem;
  }
}
@media screen and (max-width:767px) {
  .donut-block .donut-footer-labels .label .number-block {
    padding-bottom: 0;
  }
}
.donut-block .donut-footer-labels .label .number-block .unit {
  font-size: 2.4rem;
}
@media screen and (max-width:767px) {
  .donut-block .donut-footer-labels .label .number-block .unit {
    font-size: 1.2rem;
  }
}
.donut-block .donut-footer-labels .label-female {
  color: #e8c27f;
}
.donut-block .donut-footer-labels .label-male {
  color: #d99a29;
}

/* -----------------------------------
   円グラフのSVG設定
----------------------------------- */
.donut-svg {
  width: 100%;
  height: 100%;
  display: block;
  /* 12時の位置から開始（rotate -90deg）し、
    X軸を反転（scaleX -1）させることで「左回り（左が女、右が男）」で描画します
  */
  -webkit-transform: rotate(90deg) scaleX(-1);
          transform: rotate(90deg) scaleX(-1);
  border-radius: 50%;
}

/* SVG描画のジャギ（ギザギザ）を防ぐ */
.donut-ring,
.js-donut-segment {
  shape-rendering: geometricPrecision;
}

/* -----------------------------------
   インナーテキストの絶対配置
----------------------------------- */
.donut-inner-content {
  position: absolute;
  inset: 0; /* top, right, bottom, left をすべて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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* ※フォントサイズやマージン等の文字装飾は
   ご自身のCSSで自由に調整してください
  */
}

.bar-chart-block {
  margin-top: 4rem;
  display: grid;
  padding-left: 7rem;
}
@media screen and (max-width:767px) {
  .bar-chart-block {
    padding-left: inherit;
    margin-right: 4rem;
  }
}
.bar-chart-block .bar-chart-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #889061;
  height: 6rem;
}
.bar-chart-block .bar-chart-item .bar-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  font-size: 2rem;
  width: 17rem;
  opacity: 0.6;
  border-right: #e1e1e1 1px solid;
}
@media screen and (max-width:767px) {
  .bar-chart-block .bar-chart-item .bar-label {
    font-size: 1.5rem;
    padding-right: 1em;
    width: 5rem;
    line-height: 1.2;
  }
}
.bar-chart-block .bar-chart-item:nth-child(odd) .bar-label {
  opacity: 1;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; /* 残りの幅をすべて使う */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-track {
  width: 100%;
  overflow: hidden;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-track .bar-fill {
  position: relative;
  overflow: hidden;
  height: 3rem;
  background-color: #889061;
  border-radius: 0 0.3rem 0.3rem 0;
  width: 0;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-track .bar-fill::after {
  content: "";
  width: 10rem;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.2)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 100%);
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-value-tracker {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding-left: 12px;
  font-size: 24px;
  white-space: nowrap;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-value-tracker .js-count-up {
  padding-right: 0.3rem;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-value-tracker .js-count-up .num-int {
  font-size: 4rem;
  font-family: "Marcellus", serif;
}
.bar-chart-block .bar-chart-item .bar-track-wrapper .bar-value-tracker .unit {
  font-size: 2.4rem;
  font-family: "Marcellus", serif;
}

.l-recruitment::before, .l-recruitment::after {
  content: "";
  position: fixed;
  display: block;
  width: 45rem;
  height: 45rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}
.l-recruitment::before {
  top: 7rem;
  right: 0;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
.l-recruitment::after {
  top: 55rem;
  left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.l-recruitment__list .l-content {
  padding-top: 0;
}
@media screen and (max-width:767px) {
  .l-recruitment__list .l-content {
    padding-bottom: 10rem;
  }
}
@media screen and (max-width:767px) {
  .l-recruitment__list .l-content .l-filter {
    margin-bottom: 4rem;
  }
}

.l-careers {
  display: grid;
  gap: 8rem;
}
@media screen and (max-width:767px) {
  .l-careers {
    gap: 4rem;
  }
}

.l-career .cmp-title + .cmp-button {
  padding-top: 0;
}
.l-career .cmp-title h3 {
  font-size: 2.4rem;
}
.l-career .cmp-teaser .cmp-inner .cmp-teaser__title {
  font-size: 3rem;
}

.l-filter nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
  list-style: none;
  margin-bottom: 6rem;
}
@media screen and (max-width:767px) {
  .l-filter nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 1rem;
    margin-bottom: 1rem;
  }
}
.l-filter nav a {
  position: relative;
  text-decoration: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.2em;
  padding: 0.1rem 0.3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #888;
  line-height: 1.2;
  border-bottom: #888 1px solid;
  cursor: pointer;
}
@media screen and (max-width:767px) {
  .l-filter nav a {
    max-width: 100%;
    width: 100%;
    padding: 3rem 0;
  }
}
.l-filter nav a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 0.5rem solid transparent;
  border-left: 0.5rem solid transparent;
  border-top: 0.9rem solid #aa0e2a;
  border-bottom: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
}
@media screen and (max-width:767px) {
  .l-filter nav a::after {
    content: none;
  }
}
.l-filter nav a.active {
  color: #aa0e2a;
  border-bottom: #aa0e2a 2px solid;
}
.l-filter nav a.active::after {
  opacity: 1;
}

/* フェードインのアニメーション定義 */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); /* 少し下から */
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); /* 少し下から */
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* JSでこのクラスが付与されたらアニメーションを実行 */
.is-show {
  -webkit-animation: fadeIn 0.5s ease-out forwards;
          animation: fadeIn 0.5s ease-out forwards;
}

.l-entries__news {
  list-style: none;
}
.l-entries__news .entry-item {
  padding: 0.4rem 0;
  border-bottom: #e1e1e1 1px solid;
}
.l-entries__news .entry-item a, .l-entries__news .entry-item div {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
  text-decoration: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 2.6rem 2rem 2.6rem 0;
}
@media screen and (max-width:767px) {
  .l-entries__news .entry-item a, .l-entries__news .entry-item div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 0.5rem;
    padding-right: 0;
  }
}
.l-entries__news .entry-item a .date, .l-entries__news .entry-item div .date {
  width: 11rem;
  font-family: "Marcellus", serif;
  font-size: 1.5rem;
}
.l-entries__news .entry-item a .category, .l-entries__news .entry-item div .category {
  width: 11rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.2rem;
}
.l-entries__news .entry-item a .category span, .l-entries__news .entry-item div .category span {
  line-height: 1;
  padding: 0.4rem 0.8rem;
  border: #212121 1px solid;
  border-radius: 0.4rem;
  font-size: 1.2rem;
  max-width: 9rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.l-entries__news .entry-item a .title, .l-entries__news .entry-item div .title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 3rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
}
@media screen and (max-width:767px) {
  .l-entries__news .entry-item a .title, .l-entries__news .entry-item div .title {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    padding-right: 0;
    font-size: 1.7rem;
  }
}
.l-entries__news .entry-item a::after, .l-entries__news .entry-item div::after {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 3rem;
  height: 1.7rem;
  background: url(/recruit/assets/img/link-arrow.svg) no-repeat center;
  background-size: contain;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width:767px) {
  .l-entries__news .entry-item a::after, .l-entries__news .entry-item div::after {
    content: none;
  }
}
.l-entries__news .entry-item a::before, .l-entries__news .entry-item div::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.5rem;
  display: block;
  height: 1px;
  width: 0;
  background-color: #888;
  -webkit-transition: 0.7s ease-out;
  transition: 0.7s ease-out;
}
.l-entries__news .entry-item a:hover::after, .l-entries__news .entry-item div:hover::after {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}
.l-entries__news .entry-item a:hover::before, .l-entries__news .entry-item div:hover::before {
  width: 100%;
}
.l-entries__news .entry-item div::before, .l-entries__news .entry-item div::after {
  content: none;
}

:has(.l-news__heading) .l-content {
  padding-top: 0;
}

.l-news__heading {
  width: 90rem;
  max-width: 100%;
}
.l-news__heading .l-news__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4rem;
  margin-bottom: 1rem;
}
.l-news__heading .l-news__date {
  font-size: 1.5rem;
  font-family: "Marcellus", serif;
}
.l-news__heading .l-news__category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border: #212121 1px solid;
  border-radius: 0.4rem;
  line-height: 1;
  font-size: 1.2rem;
  padding: 0.3rem 1.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-news__heading .l-news__title {
  margin-bottom: 3rem;
}
.l-news__heading .l-news__title h1 {
  font-size: 4rem;
}
@media screen and (max-width:767px) {
  .l-news__heading .l-news__title h1 {
    font-size: 2.8rem;
  }
}
.l-news__controls {
  padding-top: 6rem;
}
.l-news__controls .cmp-button .cmp-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-news__controls .cmp-button .cmp-inner .cmp-button__button {
  width: auto;
}
.l-news__controls .cmp-button .cmp-inner .cmp-button__link {
  gap: 3rem;
  border-bottom: none;
}

:not(:has(.l-keyvisual)) .l-news__single::before {
  background-image: url(/recruit/assets/img/main-bg__purple.png);
}
:not(:has(.l-keyvisual)) .l-news__single::after {
  background-image: url(/recruit/assets/img/main-bg__green.png);
}
:not(:has(.l-keyvisual)) .l-news__list::before {
  content: none;
}
:not(:has(.l-keyvisual)) .l-news__list::after {
  content: none;
}

.l-news__list .l-content {
  padding-top: 0;
}

.l-news__single .l-editors__content {
  width: 100%;
  max-width: 90rem;
}

.l-faq__list .l-page__title {
  margin-bottom: 1rem;
}
.l-faq__list .l-content {
  padding-top: 0;
}

/* =========================================
   Keyvisual
========================================= */
.l-index .cmp-title.s-title__catch--flex .cmp-inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .l-index .cmp-title.s-title__catch--flex .cmp-inner .catch-en {
    margin-right: calc((112rem - 100vw) / 2 - 2rem);
  }
}
@media screen and (max-width: 1119px) {
  .l-index .cmp-title.s-title__catch--flex .cmp-inner .catch-en {
    margin-right: -2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-index .cmp-title.s-title__catch--flex .cmp-inner .catch-en {
    width: 100%;
  }
}
.l-index .l-keyvisual {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 60rem;
  overflow: hidden;
  background: url(/recruit/assets/img/sample/index/bg-kv.webp) no-repeat center;
  background-size: cover;
}
.l-index .l-keyvisual__inner {
  position: relative;
  width: 100%;
  max-width: 128rem;
  height: 100%;
  margin: 0 auto;
  z-index: 1;
}
.l-index .l-keyvisual__bg {
  position: absolute;
  bottom: -2rem;
  left: 50%;
  width: 98%;
  max-width: 148rem;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__bg {
    bottom: -1rem;
  }
}
.l-index .l-keyvisual__bg-inner {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0.3;
}
.l-index .l-keyvisual__bg-inner img {
  width: 100%;
  height: auto;
  display: block;
}
.l-index .l-keyvisual__images {
  position: relative;
  width: 100%;
  height: 100%;
}
.l-index .l-keyvisual__img-wrap {
  position: absolute;
}
.l-index .l-keyvisual__img-inner {
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
}
.l-index .l-keyvisual__img-inner img {
  width: 100%;
  height: auto;
  display: block;
}
.l-index .l-keyvisual__copy {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  z-index: 10;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__copy {
    top: 46%;
  }
}
.l-index .l-keyvisual__title-main {
  display: inline-block;
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  background: -webkit-gradient(linear, left top, right top, from(#e8a6a6), color-stop(#d4b882), to(#9b9ece));
  background: linear-gradient(to right, #e8a6a6, #d4b882, #9b9ece);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.l-index .l-keyvisual__title-sub {
  display: block;
  font-family: "Marcellus", serif;
  line-height: 2;
  font-size: 1.8rem;
  color: #888;
  margin-top: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__title-sub {
    font-size: 1.3rem;
  }
}
.l-index .l-keyvisual__scroll {
  position: absolute;
  bottom: 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;
  text-decoration: none;
  z-index: 10;
}
.l-index .l-keyvisual__scroll-text {
  font-size: 1.5rem;
  font-family: "Marcellus", serif;
  color: #888;
  margin-bottom: 0.8rem;
  letter-spacing: 0.1em;
}
.l-index .l-keyvisual__scroll-line {
  display: block;
  width: 1px;
  height: 5rem;
  background-color: #e1e1e1;
  position: relative;
  overflow: hidden;
}
.l-index .l-keyvisual__scroll-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 3px;
  background-color: #888;
  -webkit-animation: scroll-dot 2s infinite cubic-bezier(0.6, 0.05, 0.4, 1);
          animation: scroll-dot 2s infinite cubic-bezier(0.6, 0.05, 0.4, 1);
}
.l-index {
  /* =========================================
    Layout Positions (PC - 1280px basis)
  ========================================= */
}
.l-index .l-keyvisual__img-wrap {
  position: absolute;
}
.l-index .l-keyvisual__img-wrap.is-pos1 {
  top: 17%;
  left: 10%;
  width: 14.8%;
}
.l-index .l-keyvisual__img-wrap.is-pos1 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(100%, 100%);
          transform: scale(0.6) translate(100%, 100%);
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos1 {
    top: 18%;
    left: -2%;
    width: 26.8%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos2 {
  top: 10%;
  left: 29%;
  width: 11.4%;
}
.l-index .l-keyvisual__img-wrap.is-pos2 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(70%, 100%);
          transform: scale(0.6) translate(70%, 100%);
}
.l-index .l-keyvisual__img-wrap.is-pos2 {
  z-index: -1;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos2 {
    top: 13%;
    left: 30%;
    width: 16%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos3 {
  top: 13%;
  right: 11%;
  width: 13.6%;
}
.l-index .l-keyvisual__img-wrap.is-pos3 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(-100%, 100%);
          transform: scale(0.6) translate(-100%, 100%);
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos3 {
    top: 8%;
    right: 16%;
    width: 21.6%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos4 {
  top: 39%;
  right: 3%;
  width: 12.5%;
}
.l-index .l-keyvisual__img-wrap.is-pos4 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(-100%, 0%);
          transform: scale(0.6) translate(-100%, 0%);
}
.l-index .l-keyvisual__img-wrap.is-pos4 {
  z-index: -1;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos4 {
    top: 21%;
    right: 0%;
    width: 18.7%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos5 {
  bottom: 20%;
  left: 4%;
  width: 16%;
}
.l-index .l-keyvisual__img-wrap.is-pos5 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(100%, -30%);
          transform: scale(0.6) translate(100%, -30%);
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos5 {
    bottom: 20%;
    left: -2%;
    width: 24%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos6 {
  bottom: 8%;
  left: 17%;
  width: 14.1%;
}
.l-index .l-keyvisual__img-wrap.is-pos6 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(100%, -100%);
          transform: scale(0.6) translate(100%, -100%);
}
.l-index .l-keyvisual__img-wrap.is-pos6 {
  z-index: -1;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos6 {
    bottom: 15%;
    left: 17%;
    width: 24%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos7 {
  bottom: 5%;
  right: 26%;
  width: 8.6%;
}
.l-index .l-keyvisual__img-wrap.is-pos7 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(-100%, -100%);
          transform: scale(0.6) translate(-100%, -100%);
}
.l-index .l-keyvisual__img-wrap.is-pos7 {
  z-index: -1;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos7 {
    bottom: 17%;
    right: 26%;
    width: 13.8%;
  }
}
.l-index .l-keyvisual__img-wrap.is-pos8 {
  bottom: 12%;
  right: 3.4%;
  width: 16.4%;
}
.l-index .l-keyvisual__img-wrap.is-pos8 .l-keyvisual__img-inner {
  -webkit-transform: scale(0.6) translate(-100%, -50%);
          transform: scale(0.6) translate(-100%, -50%);
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__img-wrap.is-pos8 {
    bottom: 24%;
    right: -7.6%;
    width: 29.3%;
  }
}
.l-index .l-keyvisual__img-wrap .l-keyvisual__img-inner.js-kv-appear.is-active {
  opacity: 1;
  -webkit-transform: scale(1) translate(0, 0);
          transform: scale(1) translate(0, 0);
}
.l-index .l-keyvisual__img-wrap:has(.img-blur__lv1) {
  -webkit-filter: blur(0.15rem);
          filter: blur(0.15rem);
}
.l-index .l-keyvisual__img-wrap:has(.img-blur__lv2) {
  -webkit-filter: blur(0.45rem);
          filter: blur(0.45rem);
}
.l-index .cmp-slider {
  padding-bottom: 0;
}
.l-index .cmp-slider + .cmp-button {
  padding-top: 1rem;
}
.l-index {
  /* =========================================
    Animations & States
  ========================================= */
}
.l-index .js-kv-appear {
  opacity: 0;
  -webkit-transform: scale(0.6);
          transform: scale(0.6);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: opacity 1.2s ease, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 1.2s ease, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 1.2s ease, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transition: opacity 1.2s ease, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}
.l-index .l-keyvisual__title-main {
  display: inline-block;
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .l-index .l-keyvisual__title-main {
    font-size: 2.8rem;
  }
}
.l-index .l-keyvisual__title-main.js-shine {
  background-image: linear-gradient(110deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 100%), linear-gradient(to right, #e8a6a6, #d4b882, #9b9ece);
  background-size: 200% 100%, 100% 100%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-animation: shine-effect 4s infinite linear;
          animation: shine-effect 4s infinite linear;
}
.l-index {
  /* Keyframes (アニメーション修正) */
}
@-webkit-keyframes shine-effect {
  0%, 20% {
    background-position: 200% center, center;
  }
  80%, 100% {
    background-position: -100% center, center;
  }
}
@keyframes shine-effect {
  0%, 20% {
    background-position: 200% center, center;
  }
  80%, 100% {
    background-position: -100% center, center;
  }
}
@-webkit-keyframes scroll-dot {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(8rem);
            transform: translateY(8rem);
    opacity: 0;
  }
}
@keyframes scroll-dot {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(8rem);
            transform: translateY(8rem);
    opacity: 0;
  }
}

/* =========================================
   About Area Base
========================================= */
.l-about {
  padding: 15rem 0;
  position: relative;
  background: url(/recruit/assets/img/bg-about.webp) no-repeat right top;
  background-size: contain;
}
@media screen and (max-width:767px) {
  .l-about {
    background-image: url(/recruit/assets/img/bg-about_sp.webp);
    background-position: right bottom;
    background-size: cover;
    padding: 7rem 0 4rem;
  }
}
.l-about__inner {
  max-width: 128rem;
  margin: 0 auto;
  padding: 0 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8rem;
}
@media screen and (max-width:767px) {
  .l-about__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 2rem;
    gap: 2rem;
  }
}
.l-about > .cmp-title {
  width: 100%;
  position: sticky;
  top: 5rem;
  margin-bottom: -3rem;
}
.l-about > .cmp-title .cmp-inner .catch-en {
  margin-right: 0;
}
@media screen and (max-width:767px) {
  .l-about > .cmp-title {
    display: none;
  }
}
.l-about {
  /* ----------------------------------
     左カラム（Sticky）
  ---------------------------------- */
}
.l-about__content {
  width: 45%;
  position: sticky;
  top: 20vh;
  margin-top: -14rem;
}
@media screen and (max-width:767px) {
  .l-about__content {
    width: 100%;
    position: static;
    top: 0;
    margin-top: 0;
  }
}
.l-about__title {
  font-size: 3.6rem;
  line-height: 1.6;
  margin-bottom: 4rem;
}
@media screen and (max-width:767px) {
  .l-about__title {
    font-size: 2.6rem;
    margin-bottom: 1rem;
  }
}
.l-about__text {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 6rem;
}
@media screen and (max-width:767px) {
  .l-about__text {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
.l-about__link {
  display: inline-block;
  /* ボタンの装飾は適宜デザインに合わせてください */
}
.l-about {
  /* ----------------------------------
     右カラム（散りばめギャラリー）
  ---------------------------------- */
}
.l-about__gallery {
  width: 47%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 6rem;
}
@media screen and (max-width:767px) {
  .l-about__gallery {
    width: 100%;
    gap: 3rem;
    position: relative;
  }
  .l-about__gallery::before {
    content: "About Us";
    color: #fff;
    font-size: 8rem;
    font-family: "Marcellus", serif;
    top: 1rem;
    left: 0;
    margin-bottom: -8rem;
  }
}
.l-about__img-wrap {
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
  will-change: filter, opacity;
}
.l-about__img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  will-change: transform;
}
.l-about__img-wrap {
  /* 各画像の個別配置（サイズと左右の散らし） */
}
.l-about__img-wrap--1 {
  width: 36rem;
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--1 {
    width: 20rem;
    margin-left: 2rem;
  }
}
.l-about__img-wrap--2 {
  width: 20rem;
  margin-top: 8rem;
  -webkit-transform: translateX(-20%);
          transform: translateX(-20%);
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--2 {
    width: 11rem;
    margin-top: 5rem;
    margin-left: 2rem;
  }
}
.l-about__img-wrap--3 {
  width: 29rem;
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--3 {
    width: 16rem;
    margin-right: -2rem;
  }
}
.l-about__img-wrap--4 {
  width: 22.5rem;
  margin-left: 5%;
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--4 {
    width: 12.4rem;
    margin-left: 10%;
  }
}
.l-about__img-wrap--inner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3rem;
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--inner {
    margin-right: -2rem;
  }
}
.l-about__img-wrap--5 {
  width: 22rem;
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--5 {
    width: 12.1rem;
    margin-left: 2rem;
  }
}
.l-about__img-wrap--6 {
  width: 18rem;
  margin-left: 15%;
}
@media screen and (max-width:767px) {
  .l-about__img-wrap--6 {
    width: 10rem;
    margin-left: 4rem;
  }
}

/* =========================================
   ぼかしフェードインのアニメーション
========================================= */
.js-scroll-blur {
  opacity: 0;
  -webkit-filter: blur(20px);
          filter: blur(20px);
  will-change: opacity, filter;
}

.l-brand .l-section__inner {
  width: 100%;
}
.l-brand .l-brand__map {
  display: grid;
}
.l-brand .l-brand__map > .cmp-title {
  position: relative;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: calc(100% + 4rem);
  left: -2rem;
  padding: 0;
  margin: 2.6rem 0 2rem;
  margin-bottom: -40rem;
}
@media screen and (min-width: 768px) and (max-width: 970px) {
  .l-brand .l-brand__map > .cmp-title {
    margin-bottom: -20rem;
  }
}
.l-brand .l-brand__map > .cmp-title .cmp-inner {
  max-width: 116rem;
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 13rem;
  margin: auto;
  position: relative;
}
@media screen and (min-width:768px) and (max-width:1279px) {
  .l-brand .l-brand__map > .cmp-title .cmp-inner {
    position: static;
  }
}
.l-brand .l-brand__map > .cmp-title .cmp-inner .catch-en {
  position: absolute;
  z-index: 1;
  line-height: 1;
  display: block;
  height: 2em;
  margin-bottom: -1em;
  margin-right: 0;
  top: 0;
  right: -6rem;
}
@media screen and (min-width:768px) and (max-width:1279px) {
  .l-brand .l-brand__map > .cmp-title .cmp-inner .catch-en {
    right: 0;
  }
}
@media screen and (max-width:767px) {
  .l-brand .l-brand__map > .cmp-title .cmp-inner .catch-en {
    right: 2rem;
    margin-bottom: 1.6rem;
    font-size: 6.8rem;
    margin-right: 0;
  }
}
.l-brand .l-brand__map > .cmp-title .cmp-inner .cmp-title__lead {
  position: relative;
  padding-top: 3rem;
  z-index: 2;
}
.l-brand .l-brand__map > .cmp-title .cmp-inner .cmp-title__title {
  position: relative;
  z-index: 2;
}
.l-brand .l-brand__map .brand-map__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin: 0 -2rem;
}
@media screen and (max-width:767px) {
  .l-brand .l-brand__map .brand-map__image {
    padding-top: 35rem;
  }
  .l-brand .l-brand__map .brand-map__image picture {
    -webkit-transform: none;
            transform: none;
  }
}
.l-brand .l-brand__map .hotel-brand {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.l-brand .l-brand__map > .cmp-list {
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99;
  margin: 0 auto;
  width: 100%;
  max-width: 116rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.hotel-brand + .cmp {
  margin-top: -7rem;
}
@media screen and (max-width:767px) {
  .hotel-brand + .cmp {
    margin-top: 0;
  }
}

@media screen and (max-width:767px) {
  .l-index .l-brand .l-brand__map > .cmp-title .cmp-inner {
    padding-top: 16rem;
  }
}
@media screen and (max-width:767px) {
  .l-index .l-brand .l-brand__map > .cmp-title .cmp-inner .catch-en {
    right: 0;
    font-size: 7.9rem;
  }
}

/* =========================================
   Job Area (Sticky Parallax)
========================================= */
.l-index .l-job {
  position: relative;
  margin: 6rem 0;
}
.l-index .l-job__sticky {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  background-color: transparent;
}
.l-index .l-job {
  /* 1. 背景エリア */
}
.l-index .l-job__bg-wrapper {
  position: absolute;
  inset: 0;
  z-index: 0;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(10%, rgba(0, 0, 0, 0.2)), color-stop(30%, black), color-stop(70%, black), color-stop(90%, rgba(0, 0, 0, 0.2)), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.2) 10%, black 30%, black 70%, rgba(0, 0, 0, 0.2) 90%, transparent 100%);
  mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(10%, rgba(0, 0, 0, 0.2)), color-stop(30%, black), color-stop(70%, black), color-stop(90%, rgba(0, 0, 0, 0.2)), to(transparent));
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.2) 10%, black 30%, black 70%, rgba(0, 0, 0, 0.2) 90%, transparent 100%);
}
.l-index .l-job__bg {
  position: absolute;
  inset: -5%;
  background-size: cover;
  background-position: center center;
  -webkit-filter: blur(0.8rem);
          filter: blur(0.8rem);
  will-change: opacity;
}
.l-index .l-job__bg::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}
.l-index .l-job {
  /* 2. 中央画像エリア */
}
.l-index .l-job__inner {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 112rem;
  padding: 0 2rem;
  height: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  backdrop-filter: none;
  background-color: transparent;
}
@media screen and (max-width:767px) {
  .l-index .l-job__inner {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding-top: 15vh;
  }
}
.l-index .l-job__inner .l-job__grid {
  display: grid;
  grid-template-columns: 1fr 50rem 1fr;
  gap: 6rem;
}
@media screen and (max-width:767px) {
  .l-index .l-job__inner .l-job__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1rem;
  }
}
.l-index .l-job__inner .l-job__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding-bottom: 6rem;
}
@media screen and (max-width:767px) {
  .l-index .l-job__inner .l-job__header {
    display: block;
    padding-bottom: 1rem;
  }
}
.l-index .l-job__inner .l-job__header .cmp-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.l-index .l-job__inner .l-job__header .cmp-button {
  width: 30rem;
}
@media screen and (max-width:767px) {
  .l-index .l-job__inner .l-job__header .cmp-button {
    width: 100%;
    display: none;
  }
}
.l-index .l-job__inner .l-job__header .cmp-button .cmp-inner .cmp-button__link {
  color: #fff;
  border-color: #fff;
}
.l-index .l-job__inner .l-job__header .cmp-button .cmp-inner .cmp-button__link span.i-arr {
  background-image: url(/recruit/assets/img/i-button__arrow--white.svg);
}
.l-index .l-job__inner .l-job__footer {
  display: none;
}
@media screen and (max-width:767px) {
  .l-index .l-job__inner .l-job__footer {
    display: block;
    padding-top: 7rem;
    padding-bottom: 1rem;
  }
}
.l-index .l-job__inner .l-job__footer .cmp-button {
  width: 30rem;
}
@media screen and (max-width:767px) {
  .l-index .l-job__inner .l-job__footer .cmp-button {
    width: 100%;
  }
}
.l-index .l-job__inner .l-job__footer .cmp-button .cmp-inner .cmp-button__link {
  color: #fff;
  border-color: #fff;
}
.l-index .l-job__inner .l-job__footer .cmp-button .cmp-inner .cmp-button__link span.i-arr {
  background-image: url(/recruit/assets/img/i-button__arrow--white.svg);
}
.l-index .l-job__images {
  position: relative;
  width: 50rem;
  height: 33rem;
  border-radius: 1rem;
  overflow: hidden;
  -webkit-box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.15);
          box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width:767px) {
  .l-index .l-job__images {
    width: 25rem;
    height: 16.5rem;
  }
}
.l-index .l-job__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  will-change: clip-path;
}
.l-index .l-job__img a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-index .l-job__img a:hover > img {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}
.l-index .l-job__img a:hover .l-job__img--button img {
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
.l-index .l-job__img a > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-index .l-job__img a .l-job__img--button {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6rem;
  height: 2.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50rem;
  border: #fff 1px solid;
}
.l-index .l-job__img a .l-job__img--button img {
  width: 2.7rem;
  margin-top: -0.2rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-filter: brightness(2);
          filter: brightness(2);
}
.l-index .l-job__heading-area {
  position: relative;
}
@media screen and (max-width:767px) {
  .l-index .l-job__heading-area {
    width: 7rem;
    min-height: 16.5rem;
  }
}
.l-index .l-job__heading-area .l-job__heading {
  position: absolute;
  right: -7rem;
  top: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.8rem;
  font-family: "Shippori Mincho", serif;
  width: 100%;
}
@media screen and (max-width:767px) {
  .l-index .l-job__heading-area .l-job__heading {
    right: 0;
  }
}
.l-index .l-job__heading-area .l-job__heading.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-index .l-job__heading-area .l-job__heading .l-job__heading-en {
  font-size: 2rem;
  font-family: "Marcellus", serif;
  letter-spacing: 0.2rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width:767px) {
  .l-index .l-job__heading-area .l-job__heading .l-job__heading-en {
    font-size: 1.5rem;
    margin-right: -0.6em;
  }
}
.l-index .l-job__heading-area .l-job__heading .l-job__heading-ja {
  font-size: 4rem;
  letter-spacing: 0.4rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width:767px) {
  .l-index .l-job__heading-area .l-job__heading .l-job__heading-ja {
    font-size: 3rem;
  }
}
.l-index .l-job {
  /* 3. シンプルなテキストエリア */
}
.l-index .l-job__text-area {
  position: relative;
  width: 50rem;
  height: 8rem;
  margin-top: 2rem;
}
@media screen and (max-width:767px) {
  .l-index .l-job__text-area {
    width: 100%;
    margin-top: -12.5rem;
  }
}
.l-index .l-job__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.l-index .l-job__text.is-active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-index .l-job {
  /* ----------------------------------
   4. ナビゲーションエリア
  ---------------------------------- */
}
.l-index .l-job__nav-area {
  -ms-flex-item-align: center;
      align-self: center;
}
@media screen and (max-width:767px) {
  .l-index .l-job__nav-area {
    width: 100%;
  }
}
.l-index .l-job__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width:767px) {
  .l-index .l-job__nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 11rem;
  }
}
.l-index .l-job__nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  cursor: pointer;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.l-index .l-job__nav-item.is-active {
  opacity: 1;
}
.l-index .l-job__nav-icon {
  position: relative;
  width: 2.8rem;
  height: 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-index .l-job__nav-dot {
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  background-color: #fff;
  border-radius: 50%;
}
.l-index .l-job {
  /* SVG Circle アニメーション */
}
.l-index .l-job__nav-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.l-index .l-job__nav-circle {
  fill: none;
  stroke: #fff;
  stroke-width: 2px;
  /* r=14 の円周は 2 * π * 14 ≒ 88 */
  stroke-dasharray: 88;
  stroke-dashoffset: 88;
  will-change: stroke-dashoffset;
}
.l-index .l-job__nav-text {
  font-size: 1.6rem;
  color: #fff;
  letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
  .l-index .l-job__nav-text {
    display: none;
  }
}
.l-index .l-vlog {
  position: relative;
  padding: 6rem 0;
}
@media screen and (max-width:767px) {
  .l-index .l-vlog {
    padding-top: 3rem;
  }
}
.l-index .l-cross {
  position: relative;
  padding: 6rem 0;
}
.l-index .l-cross .l-entries__talk {
  margin-bottom: 0;
}
.l-index .l-banners {
  position: relative;
  padding: 4rem 0 0;
}
.l-index .l-faq {
  position: relative;
  padding: 0 0 6rem;
}
.l-index .l-news {
  position: relative;
  padding: 0 0 10rem;
}

/* =========================================
   Recruit Area (Gimmick Styles)
========================================= */
.l-recruit {
  position: relative;
  overflow: hidden;
}
.l-recruit__content {
  position: relative;
  z-index: 10;
}
.l-recruit__content .cmp-container > .cmp-inner {
  height: 100vh;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-title .cmp-inner {
  display: grid;
  gap: 2rem;
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-title .cmp-inner .cmp-title__title {
  color: #fff;
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-title .cmp-inner .cmp-title__lead {
  color: #fff;
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner {
  gap: 0;
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .cmp-button__button {
  width: 100%;
  max-width: 100%;
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .cmp-button__link {
  grid-template-columns: 1fr 14rem 3.1rem;
  color: #fff;
  gap: 2rem;
}
@media screen and (max-width:767px) {
  .l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .cmp-button__link {
    grid-template-columns: 1fr 3.1rem;
  }
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .cmp-button__link .i-arr {
  background-image: url(/recruit/assets/img/i-button__arrow--white.svg);
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .cmp-button__link .link-icon {
  -webkit-filter: brightness(2);
          filter: brightness(2);
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .l-recruit__inline-img {
  aspect-ratio: 3/2;
}
@media screen and (max-width:767px) {
  .l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .l-recruit__inline-img {
    display: none;
  }
}
.l-recruit__content .cmp-container > .cmp-inner .cmp-button .cmp-inner .l-recruit__inline-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-recruit {
  /* ----------------------------------
     1. 背景クロスディゾルブ & パララックス
  ---------------------------------- */
}
.l-recruit__bg-wrapper {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.l-recruit__bg-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
}
.l-recruit__bg {
  position: absolute;
  inset: -5%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  will-change: transform, opacity;
  -webkit-filter: blur(0.8rem);
          filter: blur(0.8rem);
}
.l-recruit__bg.is-active {
  opacity: 1;
}
.l-recruit {
  /* ----------------------------------
     2. インライン画像のフェードイン（位置固定）
  ---------------------------------- */
}
.l-recruit .cmp-button__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-recruit__inline-img {
  display: block;
  width: 120px;
  margin: 0 2rem;
  opacity: 0;
  border-radius: 0.8rem;
  overflow: hidden;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.l-recruit__inline-img img {
  width: 100%;
  height: 70px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.cmp-button__link.is-hover .l-recruit__inline-img {
  opacity: 1;
}

.l-floating__banner {
  display: block;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10;
  width: 23.6rem;
}
@media screen and (max-width:767px) {
  .l-floating__banner {
    width: 16.5rem;
  }
}
.l-floating__banner.is-open .l-floating__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.l-floating__toggle {
  display: grid;
  text-align: left;
  grid-template-columns: 1fr 2.4rem;
  gap: 1rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Marcellus", serif;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  padding: 2rem 2rem 1.6rem 2.4rem;
  background: linear-gradient(-50deg, #e5b7bf 0%, #aa0e2a 40%, #aa0e2a 100%);
  border-radius: 2rem 0 0 0;
}
.l-floating__icon {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  background: url(/recruit/assets/img/i-acc.svg) no-repeat center;
  background-size: 0.82rem;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.l-floating__content {
  display: none;
}
.l-floating__inner {
  display: grid;
  gap: 0;
}
.l-floating__inner a {
  display: grid;
  grid-template-columns: 1fr 3rem;
  gap: 1.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.6rem;
  text-decoration: none;
  background-color: #fff;
  color: #212121;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.l-floating__inner a svg {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.l-floating__inner a svg path {
  fill: #aa0e2a;
}
.l-floating__inner a:not(:last-child) {
  border-bottom: #e1e1e1 1px solid;
}
.l-floating__inner a:hover svg {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}

.l-news .l-news__wrap {
  background-color: #f9f8f7;
  border-radius: 1.6rem;
  margin: 0 -6rem;
  padding: 0 6rem 6rem;
}
@media screen and (min-width: 1120px) and (max-width: 1280px) {
  .l-news .l-news__wrap {
    margin: 0 calc((112rem - 100vw) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
  .l-news .l-news__wrap {
    margin: 0 0;
  }
}
@media screen and (max-width:767px) {
  .l-news .l-news__wrap {
    margin: 0 0;
    padding: 0 2rem 4rem;
  }
}
@media screen and (max-width:767px) {
  .l-news .l-news__wrap .cmp-title .cmp-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-news .l-news__wrap .cmp-title .cmp-inner .cmp-title__flex--title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 45%;
    -ms-flex-item-align: center;
        align-self: center;
    margin-right: -45%;
  }
  .l-news .l-news__wrap .cmp-title .cmp-inner .catch-en {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 55%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}
.l-news .l-news__wrap .cmp-title .cmp-inner .catch-en {
  margin-right: -6.5rem;
}
@media screen and (max-width:767px) {
  .l-news .l-news__wrap .cmp-title .cmp-inner .catch-en {
    margin-right: -2rem;
  }
}
@media screen and (max-width:767px) {
  .l-news .l-news__wrap .l-entries .entry-item {
    margin: 0 -2rem;
  }
  .l-news .l-news__wrap .l-entries .entry-item a, .l-news .l-news__wrap .l-entries .entry-item div {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.l-banners .l-section__inner::before, .l-banners .l-section__inner::after,
.l-faq .l-section__inner::before,
.l-faq .l-section__inner::after,
.l-news .l-section__inner::before,
.l-news .l-section__inner::after {
  content: "";
  position: absolute;
  display: block;
  width: 45rem;
  height: 45rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}

.l-banners .l-section__inner::before {
  background-image: url(/recruit/assets/img/bg-num--02.png);
  -webkit-transform: translate(50%, 38%);
          transform: translate(50%, 38%);
  bottom: 0;
  right: 0;
}
.l-banners .l-section__inner::after {
  background-image: url(/recruit/assets/img/bg-num--01.png);
  -webkit-transform: translate(-40%, -40%);
          transform: translate(-40%, -40%);
  top: 0;
  left: 0;
}

.l-faq .l-section__inner > .cmp-title {
  margin-bottom: -3rem;
}
@media screen and (max-width:767px) {
  .l-faq .l-section__inner > .cmp-title {
    margin-bottom: 0;
  }
}
.l-faq .l-section__inner::after {
  background-image: url(/recruit/assets/img/bg-num--04.png);
  -webkit-transform: translate(-50%, 18%);
          transform: translate(-50%, 18%);
  bottom: 0;
  left: 0;
}

.l-news .l-section__inner::before {
  background-image: url(/recruit/assets/img/bg-num--03.png);
  -webkit-transform: translate(50%, 9%);
          transform: translate(50%, 9%);
  top: 0;
  right: 0;
}
.l-news .l-section__inner::after {
  background-image: url(/recruit/assets/img/bg-num--05.png);
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  bottom: 0;
  left: 0;
}

.l-index .l-loop {
  margin-bottom: 0;
}

mark {
  background-color: rgba(170, 14, 42, 0.18);
}

.s-brand__marriott .l-editors__content a {
  color: #aa0e2a;
}
.s-brand__marriott .cmp-table .cmp-inner th {
  color: #aa0e2a;
}
.s-brand__marriott .cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #aa0e2a;
}
.s-brand__marriott .cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #aa0e2a;
}
.s-brand__marriott .cmp-anchor .cmp-inner a:hover {
  color: rgba(170, 14, 42, 0.7);
}
.s-brand__marriott .cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #aa0e2a;
}
.s-brand__marriott .cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}
.s-brand__marriott .cmp-title .cmp-inner .cmp-title__title {
  color: #aa0e2a;
}
.s-brand__marriott .cmp-title .cmp-inner .hotel-content__labels .label {
  color: #aa0e2a;
  border-color: #aa0e2a;
}
.s-brand__marriott .cmp-teaser .cmp-inner .cmp-teaser__pre {
  color: #aa0e2a;
}
.s-brand__marriott .cmp-teaser .cmp-inner .cmp-teaser__title {
  color: #aa0e2a;
}
.s-brand__marriott .cmp-teaser .cmp-inner .cmp-teaser__tags .tag--highlight {
  background-color: #aa0e2a;
  border-color: #aa0e2a;
}
.s-brand__marriott svg.i-marker .circle, .s-brand__marriott svg.i-marker .path {
  stroke: #aa0e2a;
}
.s-brand__marriott mark {
  background-color: rgba(170, 14, 42, 0.18);
}
.s-brand__marriott .hotel-number {
  background-color: #aa0e2a;
}
.s-brand__marriott .hotel-content__labels .label {
  border-color: #aa0e2a;
  color: #aa0e2a;
}
.s-brand__marriott.entry-item .entry-item__bg {
  background-color: #aa0e2a;
}
.s-brand__marriott.l-interview::before, .s-brand__marriott.l-interview::after, .s-brand__marriott.l-recruitment::before, .s-brand__marriott.l-recruitment::after {
  background-image: url(/recruit/assets/img/bg-num--01.png);
}
.s-brand__marriott.l-interview .l-keyvisual .wrapper, .s-brand__marriott.l-recruitment .l-keyvisual .wrapper {
  background-image: url(/recruit/assets/img/bg-interview--marriott.webp);
}
.s-brand__marriott .brand-main__content::after {
  background-image: url(/recruit/assets/img/bg-num--01.png);
}
.s-brand__associa .l-editors__content a {
  color: #4c4398;
}
.s-brand__associa .cmp-table .cmp-inner th {
  color: #4c4398;
}
.s-brand__associa .cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #4c4398;
}
.s-brand__associa .cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #4c4398;
}
.s-brand__associa .cmp-anchor .cmp-inner a:hover {
  color: rgba(76, 67, 152, 0.7);
}
.s-brand__associa .cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #4c4398;
}
.s-brand__associa .cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}
.s-brand__associa .cmp-title .cmp-inner .cmp-title__title {
  color: #4c4398;
}
.s-brand__associa .cmp-title .cmp-inner .hotel-content__labels .label {
  color: #4c4398;
  border-color: #4c4398;
}
.s-brand__associa .cmp-teaser .cmp-inner .cmp-teaser__pre {
  color: #4c4398;
}
.s-brand__associa .cmp-teaser .cmp-inner .cmp-teaser__title {
  color: #4c4398;
}
.s-brand__associa .cmp-teaser .cmp-inner .cmp-teaser__tags .tag--highlight {
  background-color: #4c4398;
  border-color: #4c4398;
}
.s-brand__associa svg.i-marker .circle, .s-brand__associa svg.i-marker .path {
  stroke: #4c4398;
}
.s-brand__associa mark {
  background-color: rgba(76, 67, 152, 0.18);
}
.s-brand__associa .hotel-number {
  background-color: #4c4398;
}
.s-brand__associa .hotel-content__labels .label {
  border-color: #4c4398;
  color: #4c4398;
}
.s-brand__associa.entry-item .entry-item__bg {
  background-color: #4c4398;
}
.s-brand__associa.l-interview::before, .s-brand__associa.l-interview::after, .s-brand__associa.l-recruitment::before, .s-brand__associa.l-recruitment::after {
  background-image: url(/recruit/assets/img/bg-num--04.png);
}
.s-brand__associa.l-interview .l-keyvisual .wrapper, .s-brand__associa.l-recruitment .l-keyvisual .wrapper {
  background-image: url(/recruit/assets/img/bg-interview--associa.webp);
}
.s-brand__associa .brand-main__content::after {
  background-image: url(/recruit/assets/img/bg-num--04.png);
}
.s-brand__jrgate .l-editors__content a {
  color: #889061;
}
.s-brand__jrgate .cmp-table .cmp-inner th {
  color: #889061;
}
.s-brand__jrgate .cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #889061;
}
.s-brand__jrgate .cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #889061;
}
.s-brand__jrgate .cmp-anchor .cmp-inner a:hover {
  color: rgba(136, 144, 97, 0.7);
}
.s-brand__jrgate .cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #889061;
}
.s-brand__jrgate .cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}
.s-brand__jrgate .cmp-title .cmp-inner .cmp-title__title {
  color: #889061;
}
.s-brand__jrgate .cmp-title .cmp-inner .hotel-content__labels .label {
  color: #889061;
  border-color: #889061;
}
.s-brand__jrgate .cmp-teaser .cmp-inner .cmp-teaser__pre {
  color: #889061;
}
.s-brand__jrgate .cmp-teaser .cmp-inner .cmp-teaser__title {
  color: #889061;
}
.s-brand__jrgate .cmp-teaser .cmp-inner .cmp-teaser__tags .tag--highlight {
  background-color: #889061;
  border-color: #889061;
}
.s-brand__jrgate svg.i-marker .circle, .s-brand__jrgate svg.i-marker .path {
  stroke: #889061;
}
.s-brand__jrgate mark {
  background-color: rgba(136, 144, 97, 0.18);
}
.s-brand__jrgate .hotel-number {
  background-color: #889061;
}
.s-brand__jrgate .hotel-content__labels .label {
  border-color: #889061;
  color: #889061;
}
.s-brand__jrgate.entry-item .entry-item__bg {
  background-color: #889061;
}
.s-brand__jrgate.l-interview::before, .s-brand__jrgate.l-interview::after, .s-brand__jrgate.l-recruitment::before, .s-brand__jrgate.l-recruitment::after {
  background-image: url(/recruit/assets/img/bg-num--03.png);
}
.s-brand__jrgate.l-interview .l-keyvisual .wrapper, .s-brand__jrgate.l-recruitment .l-keyvisual .wrapper {
  background-image: url(/recruit/assets/img/bg-interview--jrgate.webp);
}
.s-brand__jrgate .brand-main__content::after {
  background-image: url(/recruit/assets/img/bg-num--03.png);
}
.s-brand__courtyard .l-editors__content a {
  color: #d99a29;
}
.s-brand__courtyard .cmp-table .cmp-inner th {
  color: #d99a29;
}
.s-brand__courtyard .cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #d99a29;
}
.s-brand__courtyard .cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #d99a29;
}
.s-brand__courtyard .cmp-anchor .cmp-inner a:hover {
  color: rgba(217, 154, 41, 0.7);
}
.s-brand__courtyard .cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #d99a29;
}
.s-brand__courtyard .cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}
.s-brand__courtyard .cmp-title .cmp-inner .cmp-title__title {
  color: #d99a29;
}
.s-brand__courtyard .cmp-title .cmp-inner .hotel-content__labels .label {
  color: #d99a29;
  border-color: #d99a29;
}
.s-brand__courtyard .cmp-teaser .cmp-inner .cmp-teaser__pre {
  color: #d99a29;
}
.s-brand__courtyard .cmp-teaser .cmp-inner .cmp-teaser__title {
  color: #d99a29;
}
.s-brand__courtyard .cmp-teaser .cmp-inner .cmp-teaser__tags .tag--highlight {
  background-color: #d99a29;
  border-color: #d99a29;
}
.s-brand__courtyard svg.i-marker .circle, .s-brand__courtyard svg.i-marker .path {
  stroke: #d99a29;
}
.s-brand__courtyard mark {
  background-color: rgba(217, 154, 41, 0.18);
}
.s-brand__courtyard .hotel-number {
  background-color: #d99a29;
}
.s-brand__courtyard .hotel-content__labels .label {
  border-color: #d99a29;
  color: #d99a29;
}
.s-brand__courtyard.entry-item .entry-item__bg {
  background-color: #d99a29;
}
.s-brand__courtyard.l-interview::before, .s-brand__courtyard.l-interview::after, .s-brand__courtyard.l-recruitment::before, .s-brand__courtyard.l-recruitment::after {
  background-image: url(/recruit/assets/img/bg-num--02.png);
}
.s-brand__courtyard.l-interview .l-keyvisual .wrapper, .s-brand__courtyard.l-recruitment .l-keyvisual .wrapper {
  background-image: url(/recruit/assets/img/bg-interview--courtyard.webp);
}
.s-brand__courtyard .brand-main__content::after {
  background-image: url(/recruit/assets/img/bg-num--02.png);
}
.s-brand__nei .l-editors__content a {
  color: #7f3652;
}
.s-brand__nei .cmp-table .cmp-inner th {
  color: #7f3652;
}
.s-brand__nei .cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #7f3652;
}
.s-brand__nei .cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #7f3652;
}
.s-brand__nei .cmp-anchor .cmp-inner a:hover {
  color: rgba(127, 54, 82, 0.7);
}
.s-brand__nei .cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #7f3652;
}
.s-brand__nei .cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}
.s-brand__nei .cmp-title .cmp-inner .cmp-title__title {
  color: #7f3652;
}
.s-brand__nei .cmp-title .cmp-inner .hotel-content__labels .label {
  color: #7f3652;
  border-color: #7f3652;
}
.s-brand__nei .cmp-teaser .cmp-inner .cmp-teaser__pre {
  color: #7f3652;
}
.s-brand__nei .cmp-teaser .cmp-inner .cmp-teaser__title {
  color: #7f3652;
}
.s-brand__nei .cmp-teaser .cmp-inner .cmp-teaser__tags .tag--highlight {
  background-color: #7f3652;
  border-color: #7f3652;
}
.s-brand__nei svg.i-marker .circle, .s-brand__nei svg.i-marker .path {
  stroke: #7f3652;
}
.s-brand__nei mark {
  background-color: rgba(127, 54, 82, 0.18);
}
.s-brand__nei .hotel-number {
  background-color: #7f3652;
}
.s-brand__nei .hotel-content__labels .label {
  border-color: #7f3652;
  color: #7f3652;
}
.s-brand__nei.entry-item .entry-item__bg {
  background-color: #7f3652;
}
.s-brand__nei.l-interview::before, .s-brand__nei.l-interview::after, .s-brand__nei.l-recruitment::before, .s-brand__nei.l-recruitment::after {
  background-image: url(/recruit/assets/img/bg-num--05.png);
}
.s-brand__nei.l-interview .l-keyvisual .wrapper, .s-brand__nei.l-recruitment .l-keyvisual .wrapper {
  background-image: url(/recruit/assets/img/bg-interview--nei.webp);
}
.s-brand__nei .brand-main__content::after {
  background-image: url(/recruit/assets/img/bg-num--05.png);
}
.s-brand__hilton .l-editors__content a {
  color: #002f61;
}
.s-brand__hilton .cmp-table .cmp-inner th {
  color: #002f61;
}
.s-brand__hilton .cmp-anchor .cmp-inner a .i-anchor svg .path {
  fill: #002f61;
}
.s-brand__hilton .cmp-anchor .cmp-inner a .i-anchor svg .arr {
  fill: #002f61;
}
.s-brand__hilton .cmp-anchor .cmp-inner a:hover {
  color: rgba(0, 47, 97, 0.7);
}
.s-brand__hilton .cmp-anchor .cmp-inner a:hover .i-anchor svg .rect {
  fill: #002f61;
}
.s-brand__hilton .cmp-anchor .cmp-inner a:hover .i-anchor svg .arr {
  fill: #fff;
}
.s-brand__hilton .cmp-title .cmp-inner .cmp-title__title {
  color: #002f61;
}
.s-brand__hilton .cmp-title .cmp-inner .hotel-content__labels .label {
  color: #002f61;
  border-color: #002f61;
}
.s-brand__hilton .cmp-teaser .cmp-inner .cmp-teaser__pre {
  color: #002f61;
}
.s-brand__hilton .cmp-teaser .cmp-inner .cmp-teaser__title {
  color: #002f61;
}
.s-brand__hilton .cmp-teaser .cmp-inner .cmp-teaser__tags .tag--highlight {
  background-color: #002f61;
  border-color: #002f61;
}
.s-brand__hilton svg.i-marker .circle, .s-brand__hilton svg.i-marker .path {
  stroke: #002f61;
}
.s-brand__hilton mark {
  background-color: rgba(0, 47, 97, 0.18);
}
.s-brand__hilton .hotel-number {
  background-color: #002f61;
}
.s-brand__hilton .hotel-content__labels .label {
  border-color: #002f61;
  color: #002f61;
}
.s-brand__hilton.entry-item .entry-item__bg {
  background-color: #002f61;
}
.s-brand__hilton.l-interview::before, .s-brand__hilton.l-interview::after, .s-brand__hilton.l-recruitment::before, .s-brand__hilton.l-recruitment::after {
  background-image: url(/recruit/assets/img/bg-num--04.png);
}
.s-brand__hilton.l-interview .l-keyvisual .wrapper, .s-brand__hilton.l-recruitment .l-keyvisual .wrapper {
  background-image: url(/recruit/assets/img/bg-interview--hilton.webp);
}
.s-brand__hilton .brand-main__content::after {
  background-image: url(/recruit/assets/img/bg-num--04.png);
}

a {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

[class*=u-grid] {
  display: grid;
}

.u-grid__2column {
  grid-template-columns: repeat(2, 1fr);
}

.u-scroll__area {
  overflow-y: auto;
  max-height: 100%;
}

[class*=u-flex] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-br__sp {
  display: none;
}
@media screen and (max-width:767px) {
  .u-br__sp {
    display: inline-block;
  }
  .u-br__pc {
    display: none;
  }
}

.u-hidden {
  visibility: hidden;
}
.u-hidden__sp {
  display: inherit;
}
.u-hidden__pc {
  display: none;
}
@media screen and (max-width:767px) {
  .u-hidden__pc {
    display: inherit;
  }
  .u-hidden__sp {
    display: none;
  }
}

a .link-icon {
  margin-left: 0.5em;
}
a .link-icon svg[data-name=i-blank] {
  height: 0.6em;
}
a .link-icon svg[data-name=i-blank] .path {
  fill: #a11f2b;
}
a .link-icon svg[data-name=i-pdf] {
  height: 0.7em;
}
a .link-icon svg[data-name=i-pdf] .path {
  fill: #a11f2b;
}

.u-mt__large {
  margin-top: 4.5rem;
}
@media screen and (max-width:767px) {
  .u-mt__large {
    margin-top: 3rem;
  }
}
.u-mt__middle {
  margin-top: 3rem;
}
@media screen and (max-width:767px) {
  .u-mt__middle {
    margin-top: 2rem;
  }
}
.u-mt__small {
  margin-top: 1.5rem;
}
@media screen and (max-width:767px) {
  .u-mt__small {
    margin-top: 1rem;
  }
}

.u-pager {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5rem 6rem;
  background: #f9fcfc;
  border-radius: 0.6rem;
  font-family: "Marcellus", serif;
}
.u-pager a:hover {
  opacity: 0.6;
}
.u-pager__prev, .u-pager__next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.u-pager__prev a, .u-pager__next a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  font-size: 2.4rem;
  text-decoration: none;
  padding-left: 4.5rem;
}
.u-pager__prev a::after, .u-pager__next a::after {
  position: absolute;
  content: "";
  vertical-align: middle;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3rem;
  height: 100%;
  background: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTMuMyA0MCIgd2lkdGg9IjEzLjMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTEyLjkyIDE4Ljc1LTEyLjU4LTE4LjY3Yy0uMTMtLjE5LS40Mi0uMDItLjMyLjE5bDcuMzcgMTQuNzRjMS41NyAzLjE0IDEuNTcgNi44MyAwIDkuOTdsLTcuMzcgMTQuNzVjLS4xLjIxLjE5LjM4LjMyLjE5bDEyLjU4LTE4LjY3Yy41MS0uNzUuNTEtMS43NCAwLTIuNDl6IiBmaWxsPSIjNTg0NTNhIi8+PC9zdmc+") right center/auto no-repeat;
  background-size: 3rem 3rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.u-pager__next {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.u-pager__next a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding-left: 0;
  padding-right: 4.5rem;
}
.u-pager__next a::after {
  left: auto;
  right: 0;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.u-pager__thumbnail {
  width: 12rem;
}
.u-pager__thumbnail img {
  width: 100%;
}
.u-pager__back {
  font-size: 2.4rem;
  text-align: center;
}
.u-pager__back a {
  text-decoration: none;
}
@media screen and (max-width:1199px) {
  .u-pager {
    padding: 4rem 3vw;
  }
  .u-pager__prev a, .u-pager__next a {
    gap: 3rem;
    font-size: 1.6rem;
    padding-left: 4.5rem;
  }
  .u-pager__prev a::after, .u-pager__next a::after {
    width: 3rem;
    background-size: 3rem 3rem;
  }
  .u-pager__next a {
    padding-left: 0;
    padding-right: 4.5rem;
  }
  .u-pager__back {
    font-size: 2rem;
  }
}
@media screen and (max-width:767px) {
  .u-pager {
    padding: 0 1rem;
  }
  .u-pager__prev a, .u-pager__next a {
    gap: 3rem;
    padding-left: 3rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .u-pager__prev a::after, .u-pager__next a::after {
    width: 2rem;
    background-size: 2rem 2rem;
  }
  .u-pager__next a {
    padding-left: 0;
    padding-right: 3rem;
  }
  .u-pager__back a {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}/*# sourceMappingURL=styles.css.map */