@charset "UTF-8";
.wrap {
  display: flex;
  flex-flow: column;
  justify-content: stretch;
  align-items: stretch;
  min-height: 100vh;
}

.en {
  font-family: var(--enFont);
}

.pin {
  padding: 2rem;
  background: #fff;
  border-radius: 2.4rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .pin {
    border-radius: 1.6rem;
  }
}
.pin > * {
  position: relative;
  z-index: 1;
}
.pin::before {
  content: "";
  display: block;
  width: 7.8rem;
  height: 7.8rem;
  background: #fff;
  background-image: url(../img/common/pin.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50vw;
  z-index: 1;
}
.pin-border {
  padding: 2rem;
  background: #fff;
  border-radius: 2.4rem;
  position: relative;
  border: 10px solid #fff;
  filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.1607843137));
}
@media only screen and (max-width: 767px) {
  .pin-border {
    padding: 1.2rem;
    filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1607843137));
  }
}
.pin-border::before {
  content: "";
  display: block;
  width: 124px;
  height: 124px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
  border-radius: 50vw;
  background: #fff;
  z-index: -1;
}
.pin-border::after {
  content: "";
  display: block;
  width: 102px;
  height: 102px;
  border-radius: 50vw;
  position: absolute;
  background: #fff;
  top: 15px;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid var(--themeColor);
}
.pin-border .pin-inner > * {
  position: relative;
  z-index: 2;
}
.pin-border .pin-inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--themeColor);
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1.6rem;
  pointer-events: none;
  z-index: 1;
}
.pin-border .pin-inner::after {
  content: "";
  display: block;
  width: 124px;
  height: 124px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: -47px;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 1;
  background-image: url(../img/common/pin-inner.svg), radial-gradient(circle 50px at center, #fff 100%, transparent 100%);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 124px;
}

.c-title {
  text-shadow: 0.2rem 0.2rem 0 #FFFFFF;
  font-size: 4.2rem;
  letter-spacing: 0.15em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-title {
    width: 100%;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
  }
}
.c-title > span {
  display: inline-block;
  border-bottom: 1px solid var(--themeColor);
}
@media only screen and (min-width: 768px) {
  .c-title > span {
    min-width: 56rem;
    padding-bottom: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-title > span {
    width: 100%;
    padding-bottom: 1rem;
  }
}
.c-title .small {
  font-size: 0.8em;
}
.c-title--page > span {
  font-size: 4.2rem;
  color: var(--themeColor);
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.15em;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--themeColor);
}
@media only screen and (max-width: 767px) {
  .c-title--page > span {
    font-size: 2.2rem;
    padding-bottom: 0.5rem;
    letter-spacing: 0.05em;
  }
}
.c-title--page > span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 3.6rem;
  width: 3.6rem;
  height: 4rem;
  margin-right: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .c-title--page > span::before {
    background-size: 2rem;
    width: 2rem;
    height: 2.4rem;
  }
}
.c-title--page > span .small {
  font-size: 0.8em;
  align-self: flex-end;
  padding-bottom: 0.1em;
}

.mesh, .mesh05, .mesh04, .mesh03, .mesh02, .mesh01 {
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .mesh .row, .mesh05 .row, .mesh04 .row, .mesh03 .row, .mesh02 .row, .mesh01 .row {
    padding: 0 1.8rem;
  }
}
.mesh-inner {
  position: relative;
}
.mesh-inner::before {
  content: "";
  display: block;
  width: calc(100dvw + 6rem);
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px);
  background-size: 28px 28px;
  background-position: -0.5px -0.5px;
}
@media only screen and (max-width: 767px) {
  .mesh-inner::before {
    background-size: 24px 24px;
  }
}
@media only screen and (max-width: 767px) {
  .mesh-left .mesh-inner {
    padding-left: 1.8rem;
  }
}
.mesh-left .mesh-inner::before {
  border-radius: 2.5rem 0 0 2.5rem;
}
@media only screen and (min-width: 768px) {
  .mesh-left .mesh-inner::before {
    left: -5.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .mesh-left .mesh-inner::before {
    left: -0.3rem;
    border-radius: 1.6rem 0 0 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .mesh-right .mesh-inner {
    padding-right: 1.8rem;
  }
}
.mesh-right .mesh-inner::before {
  border-radius: 0 2.5rem 2.5rem 0;
}
@media only screen and (min-width: 768px) {
  .mesh-right .mesh-inner::before {
    right: -5.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .mesh-right .mesh-inner::before {
    right: -0.4rem;
    border-radius: 0 1.6rem 1.6rem 0;
  }
}
.mesh01 .mesh-inner::before {
  background-color: #F3EDDF;
}
.mesh02 .mesh-inner::before {
  background-color: #D3DDF8;
  background-image: linear-gradient(to right, #E5EAFA 1px, transparent 1px), linear-gradient(to bottom, #E5EAFA 1px, transparent 1px);
}
.mesh03 .mesh-inner::before {
  background-color: #fff;
  background-image: linear-gradient(to right, #F4F5F7 1px, transparent 1px), linear-gradient(to bottom, #F4F5F7 1px, transparent 1px);
  border: 2px solid var(--themeColor);
}
.mesh04 .mesh-inner::before {
  background-color: #EFF2F4;
}
.mesh05 .mesh-inner::before {
  background: var(--themeColor);
}

.section-page-fv {
  position: relative;
  min-height: 26.6rem;
  background-color: #EFF2F4;
  background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px);
  background-size: 26px 26px;
  background-position: -0.5px -0.5px;
}
@media only screen and (min-width: 768px) {
  .section-page-fv {
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv {
    min-height: 20rem;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: stretch;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.section-page-fv .page-fv-image {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-image {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.section-page-fv .page-fv-image .img img {
  aspect-ratio: 1423/676;
  object-fit: cover;
}
.section-page-fv .page-fv-wrap {
  position: relative;
}
.section-page-fv .page-fv-text {
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .section-page-fv .page-fv-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-text {
    position: relative;
  }
}
.section-page-fv .page-fv-title {
  text-shadow: 0.05em 0.05em 1px #fff;
}
.section-page-fv .page-fv-title .type {
  color: var(--themeColor);
  display: block;
  max-width: 56rem;
  border-bottom: 1px solid var(--themeColor);
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  padding-bottom: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-title .type {
    max-width: 28rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .section-page-fv .page-fv-title .type {
    font-size: 1.8rem;
    font-weight: bold;
  }
}
.section-page-fv .page-fv-title .title {
  font-size: 4.8rem;
  font-weight: bold;
  margin-top: 0.2rem;
  text-shadow: 0.05em 0.05em 1px #fff;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-title .title {
    font-size: 2.8rem;
  }
}
.section-page-fv .page-fv-title .title span {
  font-size: 0.8em;
}
.section-page-fv .page-fv-title .sub-title {
  font-size: 2.4rem;
  border-top: 1px solid var(--themeColor);
  margin-top: 0.2rem;
  padding-top: 1rem;
  display: inline-block;
  margin-bottom: 1rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-title .sub-title {
    font-size: 1.6rem;
  }
}
.section-page-fv .page-fv-box {
  max-width: 56rem;
  background: #fff;
  border-radius: 1.6rem;
  padding: 3.7rem 5rem 3.9rem;
  position: relative;
  margin-top: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box {
    margin-top: 1rem;
    padding: 2rem;
  }
}
.section-page-fv .page-fv-box::before {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--themeColor);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.8rem;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box::before {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
  }
}
.section-page-fv .page-fv-box .color-red {
  color: var(--themeColor);
  font-size: 3.2rem;
  font-weight: bold;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1607843137);
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .color-red {
    font-size: 2rem;
  }
}
.section-page-fv .page-fv-box .profile {
  letter-spacing: 0.025rem;
  border-left: 6px solid var(--themeColor);
  padding-left: 2.4rem;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .section-page-fv .page-fv-box .profile {
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .profile {
    margin-top: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .profile {
    border-left-width: 3px;
    padding-left: 1rem;
  }
}
.section-page-fv .page-fv-box .profile .position {
  font-size: 2.4rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .profile .position {
    font-size: 1.5rem;
  }
}
.section-page-fv .page-fv-box .profile .position .small {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .profile .position .small {
    font-size: 1.2rem;
  }
}
.section-page-fv .page-fv-box .profile .name {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.2;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .profile .name {
    font-size: 2.5rem;
    margin-top: 1rem;
  }
}
.section-page-fv .page-fv-box .profile .name span {
  font-size: 2rem;
  letter-spacing: 0.025em;
}
.section-page-fv .page-fv-box .profile .ruby {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .profile .ruby {
    font-size: 1.4rem;
  }
}
.section-page-fv .page-fv-box .lead {
  margin-top: 2.1rem;
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-box .lead {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.section-page-fv .page-fv-image {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-image {
    position: absolute;
    top: -4rem;
    left: 0;
  }
}
.section-page-fv .page-fv-image .img {
  display: block;
}
.section-page-fv .page-fv-image .img::before {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  background: transparent linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
  position: absolute;
  opacity: 0.8;
}
@media only screen and (min-width: 768px) {
  .section-page-fv .page-fv-image .img::before {
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv .page-fv-image .img::before {
    width: 100%;
    height: 60%;
    background: transparent linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
    bottom: 0;
    left: 0;
  }
}
.section-page-fv .page-fv-image .img img {
  object-fit: cover;
  object-position: top;
}
@media only screen and (min-width: 768px) {
  .section-page-fv .page-fv-image .img img {
    width: 100%;
    max-height: 80rem;
    min-height: 64.8rem;
  }
}
.section-page-fv:not(.type-interview).type-image {
  background: none;
  padding-bottom: 0;
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  .section-page-fv:not(.type-interview).type-image .page-fv-image {
    position: static;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv:not(.type-interview).type-image .page-fv-image .img::before {
    width: calc(100% + 4rem);
    left: -2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv:not(.type-interview).type-image .page-fv-text {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding-bottom: 2rem;
  }
}
.section-page-fv.type-interview {
  background: none;
  padding-bottom: 0;
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  .section-page-fv.type-interview .page-fv-text {
    padding-top: 18rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv.type-interview .page-fv-image {
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .section-page-fv.type-interview .page-fv-image .img img {
    height: 31.8rem;
  }
}

.article {
  padding-top: 10rem;
  padding-bottom: 16rem;
}
@media only screen and (max-width: 767px) {
  .article {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.article-block:not(:last-of-type) {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .article-block:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
.article-block > * {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}
.article-block > *:first-child {
  margin-top: 0;
}
.article-block > *:last-child {
  margin-bottom: 0;
}

.privacy-policy-block .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 4rem;
  }
}
.privacy-policy-block .privacy-policy-lead {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .privacy-policy-lead {
    font-size: 1.4rem;
  }
}
.privacy-policy-block .privacy-policy-lead a {
  color: var(--themeColor);
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .privacy-policy-block .privacy-policy-lead a:hover {
    text-decoration: underline;
  }
}
.privacy-policy-block .privacy-policy-lead a[target] {
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}
.privacy-policy-block .privacy-policy-lead a[target]::after {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg id='sp_hyperlink' xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath id='パス_5056' data-name='パス 5056' d='M15,11a1,1,0,0,0-1,1v6H2V6H8A1,1,0,0,0,8,4H2A2.006,2.006,0,0,0,0,6V18a2.006,2.006,0,0,0,2,2H14a2.006,2.006,0,0,0,2-2V12A1,1,0,0,0,15,11Z' fill='%23db0021'/%3E%3Cpath id='パス_5057' data-name='パス 5057' d='M19.92.62a1.019,1.019,0,0,0-.54-.54A1,1,0,0,0,19,0H11a1,1,0,0,0,0,2h5.59l-9.3,9.29a1,1,0,0,0,0,1.41.982.982,0,0,0,.71.29,1.024,1.024,0,0,0,.71-.29L18,3.41V9a1,1,0,0,0,2,0V1A1,1,0,0,0,19.92.62Z' fill='%23db0021'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  aspect-ratio: 1/1;
  width: 2rem;
  margin-top: 0.2rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .privacy-policy-lead a[target]::after {
    width: 1.5rem;
  }
}
.privacy-policy-block .privacy-policy-detail {
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .privacy-policy-detail {
    margin-top: 2.4rem;
  }
}
.privacy-policy-block .privacy-policy-box {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1607843137);
  padding: 4rem;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .privacy-policy-box {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }
}
.privacy-policy-block .privacy-policy-box:not(:last-of-type) {
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .privacy-policy-box:not(:last-of-type) {
    margin-bottom: 2rem;
  }
}
.privacy-policy-block .privacy-policy-box .title {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--themeColor);
  line-height: 1.5;
  letter-spacing: 0.15em;
  font-size: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .privacy-policy-box .title {
    padding-bottom: 0.8rem;
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }
}
.privacy-policy-block .btns {
  margin-top: 4rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .privacy-policy-block .btns {
    margin-top: 3rem;
  }
}

.entry {
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.75;
}
.entry > * {
  margin: 3.2rem 0;
}
@media only screen and (max-width: 767px) {
  .entry > * {
    margin: 1.6rem 0;
  }
}
.entry > *:first-child {
  margin-top: 0;
}
.entry > *:last-child {
  margin-bottom: 0;
}
.entry.small > *:first-child {
  margin-top: -2em;
}
.entry small {
  font-size: 0.935em;
}
.entry img {
  display: block;
}
.entry a {
  color: var(--themeColor);
}
@media only screen and (min-width: 768px) {
  .entry a:hover {
    text-decoration: underline;
  }
}
.entry strong.bold {
  border-bottom: 4px solid #FFD800;
}
.entry ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
}
.entry ul li:not(:last-of-type) {
  margin-bottom: 1rem;
}
.entry ul li::before {
  content: "";
  display: block;
  width: 0.72rem;
  height: 0.72rem;
  background: #050505;
  border-radius: 1rem;
  position: absolute;
  top: 1.1rem;
  left: 0.4rem;
}
@media only screen and (max-width: 767px) {
  .entry ul li::before {
    top: 0.7rem;
  }
}
.entry ol li {
  counter-increment: entry-ol;
  padding-left: 1.5em;
  position: relative;
  line-height: 1.5;
}
.entry ol li:not(:last-of-type) {
  margin-bottom: 1rem;
}
.entry ol li::before {
  display: inline-block;
  content: counter(entry-ol) ".";
  width: 1.4em;
  position: absolute;
  top: 0;
  left: 0;
  text-align: right;
}
.entry ol.def li::before {
  color: #333;
  font-weight: normal;
}

.entry h2,
.entry h3 {
  font-size: 2.7rem;
  font-weight: 700;
  margin: 4.8rem 0 1rem;
  border-left: 0.4rem solid var(--themeColor);
  padding-bottom: 0.5rem;
  padding-left: 1.6rem;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .entry h2,
  .entry h3 {
    padding-bottom: 0.3rem;
    padding-left: 1rem;
    font-size: 1.8rem;
    margin: 3.6rem 0 1rem;
  }
}
.entry h2 + *,
.entry h3 + * {
  margin-top: 1rem;
}

.entry h3 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .entry h3 {
    font-size: 1.6rem;
  }
}

.headline-4,
.entry h4 {
  font-size: 2.6rem;
  font-weight: 700;
  margin: 4.8rem 0 2.4rem;
  position: relative;
  padding-left: 2.4rem;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-4,
  .entry h4 {
    font-size: 1.6rem;
    padding-left: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.headline-4::before,
.entry h4::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 0.2rem;
  background: var(--themeColor);
  position: absolute;
  top: 2rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .headline-4::before,
  .entry h4::before {
    top: 1.2rem;
    width: 1rem;
  }
}

.headline-5,
.entry h5 {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 1em 0 0.7em;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-5,
  .entry h5 {
    font-size: 1.5rem;
  }
}
.headline-5 + p,
.entry h5 + p {
  margin-top: -1rem;
}

.headline-6,
.entry h6 {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 1em 0 0.5em;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-6,
  .entry h6 {
    font-size: 1.4rem;
  }
}
.headline-6 + p,
.entry h6 + p {
  margin-top: 0;
}

.table-main,
.entry table {
  width: 100%;
  border-collapse: collapse;
}
@media only screen and (max-width: 767px) {
  .table-main,
  .entry table {
    display: block;
    overflow: auto;
    width: 100%;
  }
}
.table-main.bg-none tbody tr,
.entry table.bg-none tbody tr {
  background: none !important;
}
@media only screen and (min-width: 768px) {
  .table-main.fixed,
  .entry table.fixed {
    table-layout: fixed;
  }
}
.table-main.fixed tr > *:first-child,
.entry table.fixed tr > *:first-child {
  width: 13.8rem;
}
.table-main.equal tr > *:first-child,
.entry table.equal tr > *:first-child {
  width: auto;
}
@media only screen and (max-width: 767px) {
  .table-main.sp-nowrap,
  .entry table.sp-nowrap {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .table-main.sp-nowrap tbody td,
  .entry table.sp-nowrap tbody td {
    min-width: auto;
  }
}
.table-main.sp-nowrap,
.entry table.sp-nowrap {
  min-width: 24rem;
}
.table-main tr > *:first-child,
.entry table tr > *:first-child {
  padding-left: 2.4rem;
  padding-right: 1.2rem;
}
.table-main tr > *:last-child,
.entry table tr > *:last-child {
  padding-right: 2.4rem;
  padding-left: 1.2rem;
}
.table-main thead th,
.entry table thead th {
  text-align: left;
  padding: 2.4rem 1.8rem;
  background: #333;
  color: #fff;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .table-main thead th,
  .entry table thead th {
    padding: 1rem;
  }
}
.table-main thead + tbody,
.entry table thead + tbody {
  border-top: none;
}
@media only screen and (max-width: 767px) {
  .table-main thead + tbody,
  .entry table thead + tbody {
    display: table-row-group;
  }
}
.table-main tbody,
.entry table tbody {
  border-top: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  .table-main tbody,
  .entry table tbody {
    display: table;
    width: 100%;
  }
}
.table-main tbody tr,
.entry table tbody tr {
  border-bottom: 1px solid #ccc;
}
.table-main tbody tr:nth-of-type(even),
.entry table tbody tr:nth-of-type(even) {
  background: #F1EFE8;
}
.table-main tbody th,
.entry table tbody th {
  vertical-align: top;
  text-align: left;
  padding: 2.4rem 1.8rem;
  padding-right: 0;
}
@media only screen and (min-width: 768px) {
  .table-main tbody th,
  .entry table tbody th {
    width: 13.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .table-main tbody th,
  .entry table tbody th {
    padding: 1rem;
    white-space: nowrap;
  }
}
.table-main tbody td,
.entry table tbody td {
  padding: 2.4rem 1.8rem;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .table-main tbody td,
  .entry table tbody td {
    padding: 1rem;
    min-width: 18rem;
  }
}
@media only screen and (max-width: 767px) {
  .table-main tbody td:last-of-type,
  .entry table tbody td:last-of-type {
    width: 100%;
  }
}
.table-main tbody td > *:first-child,
.entry table tbody td > *:first-child {
  margin-top: 0;
}
.table-main tbody td > *:last-child,
.entry table tbody td > *:last-child {
  margin-bottom: 0;
}
.table-main tbody td a,
.entry table tbody td a {
  color: var(--themeColor);
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .table-main tbody td a:hover,
  .entry table tbody td a:hover {
    text-decoration: none;
  }
}
.table-main tbody td ul,
.entry table tbody td ul {
  padding-left: 1em;
}
.table-main tbody td ul li,
.entry table tbody td ul li {
  padding-left: 0;
}
.table-main tbody td ul li::before,
.entry table tbody td ul li::before {
  content: "・";
  display: inline-block;
  text-indent: -1em;
  margin-left: 0;
  width: auto;
  height: auto;
  border-radius: 50vw;
  background: none;
  margin-right: 0;
}

.inview.slideIn {
  opacity: 0;
  transform: translate(0px, 60px);
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.inview.slideIn.bottom {
  transition: all 1600ms cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate(0px, 120px);
}
.inview.slideIn.animate {
  opacity: 1;
  transform: translate(0px, 0px);
}
.inview.fadeIn {
  transition: opacity 1500ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.inview.fadeIn.animate {
  opacity: 1;
}

.masker {
  display: inline-block;
  overflow: hidden;
}
.masker .typo {
  transform: translate(0, 100%);
  transition: transform 1600ms cubic-bezier(0.77, 0, 0.175, 1);
}
.masker.animate .typo {
  transform: translate(0, 0%);
}

.news-meta {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .news-meta {
    gap: 1.3rem;
  }
}
.news-meta time {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .news-meta time {
    font-size: 1.3rem;
  }
}
.news-meta .category {
  min-width: 10.6rem;
  padding: 0.1rem 0.5rem 0.2rem;
  color: #fff;
  border-radius: 50vw;
  font-size: 1.5rem;
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  min-height: 2.8rem;
}
@media only screen and (max-width: 767px) {
  .news-meta .category {
    font-size: 1.3rem;
    min-width: 9.4rem;
    min-height: 2.5rem;
  }
}
.news-meta .category.news {
  background: #F38097;
}
.news-meta .category.event {
  background: #7D98E9;
}
.news-meta .category.other {
  background: #ccc;
}

.news-block {
  padding-top: 6rem;
}
.news-block .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .news-block .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 4rem;
  }
}
.news-block .tabs {
  position: absolute;
  top: 2px;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
}
.news-block .tabs-inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .news-block .tabs-inner {
    gap: 1rem;
  }
}
.news-block .tabs.max .tabs-inner {
  gap: 0;
}
.news-block .tabs .tab {
  width: 25%;
}
@media only screen and (max-width: 767px) {
  .news-block .tabs .tab {
    width: calc(25% - 0.5rem);
  }
}
.news-block .tabs .tab input[type=radio] {
  display: none;
}
.news-block .tabs .tab input[type=radio]:checked + span {
  color: #22282b;
  background: #fff;
}
.news-block .tabs .tab input[type=radio]:checked + span::before {
  background-image: url(../img/common/icon-pen-b.svg);
}
.news-block .tabs .tab input[type=radio]:checked + span::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #fff;
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2;
}
.news-block .tabs .tab.current a {
  color: #22282b !important;
  background: #fff !important;
  cursor: default;
  pointer-events: none;
}
.news-block .tabs .tab.current a::before {
  background-image: url(../img/common/icon-pen-b.svg) !important;
}
.news-block .tabs .tab.current a::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #fff;
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2;
}
.news-block .tabs .tab a,
.news-block .tabs .tab span {
  position: relative;
  width: 100%;
  border-radius: 2.4rem 2.4rem 0 0;
  min-height: 5.4rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  border-top: 2px solid transparent;
  border-right: 2px solid transparent;
  border-left: 2px solid transparent;
  border-bottom: 2px solid var(--themeColor);
  font-size: 2rem;
  font-weight: bold;
  margin-right: -1px;
  color: var(--themeColor);
  border-color: var(--themeColor);
  background: #ccc;
  color: #fff;
  transition: 200ms;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .news-block .tabs .tab a,
  .news-block .tabs .tab span {
    width: 100%;
    font-size: 1.2rem;
    gap: 0.2rem;
    min-height: 3.4rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}
.news-block .tabs .tab a::before,
.news-block .tabs .tab span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-w.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  aspect-ratio: 1.75/2;
  width: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .news-block .tabs .tab a::before,
  .news-block .tabs .tab span::before {
    width: 1rem;
  }
}
.news-block .tabs .tab.all a,
.news-block .tabs .tab.all span {
  background: var(--themeColor);
}
.news-block .tabs .tab.all a:hover,
.news-block .tabs .tab.all span:hover {
  color: var(--themeColor);
  background: #fff;
}
.news-block .tabs .tab.all a:hover::before,
.news-block .tabs .tab.all span:hover::before {
  background-image: url(../img/common/icon-pen-r.svg);
}
.news-block .tabs .tab.news a,
.news-block .tabs .tab.news span {
  background: #F38097;
}
.news-block .tabs .tab.news a:hover,
.news-block .tabs .tab.news span:hover {
  color: #F38097;
  background: #fff;
}
.news-block .tabs .tab.news a:hover::before,
.news-block .tabs .tab.news span:hover::before {
  background-image: url(../img/common/icon-pen-p.svg);
}
.news-block .tabs .tab.event a,
.news-block .tabs .tab.event span {
  background: #7D98E9;
}
.news-block .tabs .tab.event a:hover,
.news-block .tabs .tab.event span:hover {
  color: #7D98E9;
  background: #fff;
}
.news-block .tabs .tab.event a:hover::before,
.news-block .tabs .tab.event span:hover::before {
  background-image: url(../img/common/icon-pen-bl.svg);
}
.news-block .tabs .tab.other a,
.news-block .tabs .tab.other span {
  background: #ccc;
}
.news-block .tabs .tab.other a:hover,
.news-block .tabs .tab.other span:hover {
  color: #ccc;
  background: #fff;
}
.news-block .tabs .tab.other a:hover::before,
.news-block .tabs .tab.other span:hover::before {
  background-image: url(../img/common/icon-pen-other.svg);
}

.news-list {
  border-top: 1px solid #A2A2B2;
  width: 100%;
}
.news-list-wrap {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.news-list-wrap.is-active {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
.news-list__item {
  border-bottom: 1px solid #A2A2B2;
}
.news-list__item a {
  position: relative;
  padding: 2.1rem 0 1.7rem;
  padding-right: 8rem;
  display: block;
}
@media only screen and (max-width: 767px) {
  .news-list__item a {
    padding: 1.8rem 0 2.1rem;
    padding-right: 3.6rem;
  }
}
.news-list__item a::before, .news-list__item a::after {
  content: "";
  display: block;
  width: 5.3rem;
  height: 5.3rem;
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  box-sizing: content-box;
  transition: 200ms;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  margin-left: auto;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  .news-list__item a::before, .news-list__item a::after {
    width: 3rem;
    height: 3rem;
    border: 2px solid var(--themeColor);
  }
}
.news-list__item a::before {
  background-image: url(../img/common/btn-icon-hv.svg);
  background-color: var(--themeColor);
  opacity: 0;
  border-color: #fff;
  transition: opacity 200ms;
  z-index: 5;
}
.news-list__item a::after {
  background-image: url(../img/common/btn-icon.svg);
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .news-list__item a:hover .title {
    color: var(--themeColor);
  }
  .news-list__item a:hover::before {
    opacity: 1;
  }
  .news-list__item a:hover::after {
    opacity: 0;
  }
}
.news-list__item .title {
  font-size: 1.8rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-top: 0.8rem;
}
@media only screen and (min-width: 768px) {
  .news-list__item .title {
    transition: 200ms;
  }
}
@media only screen and (max-width: 767px) {
  .news-list__item .title {
    font-size: 1.4rem;
    -webkit-line-clamp: 2;
    line-height: 1.5;
  }
}

.news-detail .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .news-detail .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 4rem;
  }
}
.news-detail-head .news-meta {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .news-detail-head .news-meta {
    margin-bottom: 1.6rem;
  }
}
.news-detail-title {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1rem;
  border-bottom: 1px solid var(--themeColor);
  padding-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .news-detail-title {
    gap: 0.5rem;
  }
}
.news-detail-title::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 2.7rem;
  margin-top: 0.6rem;
}
@media only screen and (max-width: 767px) {
  .news-detail-title::before {
    width: 1.6rem;
  }
}
.news-detail-title span {
  flex: 1;
  color: var(--themeColor);
  line-height: 1.25;
  letter-spacing: 0.025em;
  font-size: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .news-detail-title span {
    font-size: 2.2rem;
  }
}
.news-detail-thumbnail {
  border-radius: 2.4rem;
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .news-detail-thumbnail {
    border-radius: 1.6rem;
    margin-top: 2rem;
  }
}
.news-detail-thumbnail img {
  width: 100%;
}
.news-detail-entry {
  padding-top: 4.8rem;
  font-size: 1.8rem;
  line-height: 1.7778;
}
@media only screen and (max-width: 767px) {
  .news-detail-entry {
    padding-top: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.news-detail-entry ul li::before {
  top: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .news-detail-entry ul li::before {
    top: 0.8rem;
  }
}
.news-detail .btn--back {
  margin-top: 6rem;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .news-detail .btn--back {
    margin-top: 4rem;
    font-size: 1.8rem;
  }
}

.interviews-index .mesh-inner {
  padding-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .interviews-index .mesh-inner {
    padding-right: 0;
  }
}
.interviews-index .mesh-inner::before {
  right: 30rem;
  top: auto;
  bottom: 0;
  height: calc(100% - 20rem);
}
@media only screen and (max-width: 767px) {
  .interviews-index .mesh-inner::before {
    right: 5rem;
    height: calc(100% - 15rem);
  }
}
.interviews-index .tabarea {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .interviews-index .tabarea {
    margin-left: -1.4rem;
    margin-right: -1.4rem;
  }
}
.interviews-index .tabarea input[type=radio] {
  display: none;
}
.interviews-index .tabarea input[type=radio]:checked + label {
  border-color: var(--themeColor);
  border-bottom-color: transparent;
  background: #fff;
  color: #22282b;
}
.interviews-index .tabarea input[type=radio]:checked + label span::before {
  background-image: url(../img/common/icon-pen-b.svg);
}
.interviews-index .tabarea label {
  max-width: 20%;
  width: 100%;
  border-radius: 2.4rem 2.4rem 0 0;
  min-height: 5.4rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  border-top: 1px solid transparent;
  border-right: 1px solid transparent;
  border-left: 1px solid transparent;
  border-bottom: 1px solid var(--themeColor);
  font-size: 2rem;
  font-weight: bold;
  margin-right: -1px;
  color: var(--themeColor);
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .interviews-index .tabarea label:hover {
    color: #fff;
    background: var(--themeColor);
    transition: 200ms;
  }
  .interviews-index .tabarea label:hover span::before {
    background-image: url(../img/common/icon-pen-w.svg);
  }
}
@media only screen and (max-width: 767px) {
  .interviews-index .tabarea label {
    font-size: 1rem;
    min-height: 3rem;
    border-radius: 1rem 1rem 0 0;
  }
}
.interviews-index .tabarea label span {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.95rem;
}
@media only screen and (max-width: 767px) {
  .interviews-index .tabarea label span {
    gap: 0.2rem;
  }
}
.interviews-index .tabarea label span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .interviews-index .tabarea label span::before {
    width: 1rem;
  }
}
.interviews-index .tabarea #interview01:checked ~ #interview01-block .interviews-list {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
.interviews-index .tabarea #interview02:checked ~ #interview02-block .interviews-list {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
.interviews-index .tabarea #interview03:checked ~ #interview03-block .interviews-list {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
.interviews-index .tabarea #interview04:checked ~ #interview04-block .interviews-list {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
.interviews-index .tabarea #interview05:checked ~ #interview05-block .interviews-list {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
.interviews-index .tabarea .interviews-list-wrap {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .interviews-index .tabarea .interviews-list-wrap {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}
.interviews-index .tabarea .interviews-list {
  margin-top: 4rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .interviews-index .tabarea .interviews-list {
    flex-flow: column;
    gap: 1.6rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .interviews-index .tabarea .interviews-list__item {
    flex: 0 0 calc((100% - 4rem) / 2);
  }
}
.interview-card a {
  display: block;
  background: #fff;
  border-radius: 2.4rem;
  padding: 3.2rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
}
@media only screen and (min-width: 768px) {
  .interview-card a:hover .btn span {
    text-decoration: underline;
  }
  .interview-card a:hover .btn span::before {
    opacity: 1 !important;
  }
}
@media only screen and (max-width: 767px) {
  .interview-card a {
    padding: 1.5rem;
    border-radius: 1.6rem;
  }
}
.interview-card .img {
  position: relative;
}
.interview-card .img .picture {
  display: block;
  position: relative;
  z-index: 0;
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .picture {
    border-radius: 1.2rem;
  }
}
.interview-card .img .detail {
  border-radius: 0 1.6rem 0 0;
  background: #fff;
  position: absolute;
  bottom: -4.6rem;
  left: 0;
  padding: 2rem 2rem 0 0;
  max-width: 35rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail {
    max-width: 25.5rem;
  }
}
.interview-card .img .detail > p {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail > p {
    font-size: 1.4rem;
  }
}
.interview-card .img .detail .profile {
  letter-spacing: 0.025rem;
  border-left: 4px solid var(--themeColor);
  padding-left: 2.4rem;
  font-weight: bold;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail .profile {
    border-width: 2px;
    padding-left: 1.6rem;
  }
}
.interview-card .img .detail .position {
  font-size: 1.8rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail .position {
    font-size: 1.4rem;
  }
}
.interview-card .img .detail .name {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.2;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail .name {
    font-size: 1.8rem;
    margin-top: 1rem;
  }
}
.interview-card .img .detail .name .small {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail .name .small {
    font-size: 1.2rem;
  }
}
.interview-card .img .detail .ruby {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .interview-card .img .detail .ruby {
    font-size: 1.1rem;
  }
}
.interview-card .btn {
  text-align: right;
  margin-top: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .btn {
    margin-top: 1.6rem;
  }
}
.interview-card .btn span {
  min-height: 4.1rem;
  color: var(--themeColor);
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 1.8rem;
  transition: 200ms;
  position: relative;
  text-underline-offset: 2px;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .interview-card .btn span {
    gap: 1rem;
    min-height: 3rem;
    font-size: 1.6rem;
  }
}
.interview-card .btn span::before, .interview-card .btn span::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 4.1rem;
  border-radius: 50vw;
  box-sizing: content-box;
  transition: 200ms;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  border: 1px solid var(--themeColor);
}
@media only screen and (max-width: 767px) {
  .interview-card .btn span::before, .interview-card .btn span::after {
    width: 3rem;
  }
}
.interview-card .btn span::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
  opacity: 0;
  border-color: var(--themeColor);
  transition: opacity 200ms;
  background-image: url(../img/common/btn-icon.svg);
  background-color: #fff;
  transition: 200ms;
}
.interview-card .btn span::after {
  background-image: url(../img/common/btn-icon-hv.svg);
  background-color: var(--themeColor);
}

.common-interview .mesh {
  overflow: hidden;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .common-interview .mesh {
    padding-top: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh {
    padding-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .row {
    padding: 0 1.8rem;
  }
}
.common-interview .mesh-inner {
  position: relative;
}
.common-interview .mesh-inner::before {
  content: "";
  display: block;
  width: calc(100dvw + 6rem);
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background-color: #f3eddf;
  background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px);
  background-size: 28px 28px;
  background-position: -0.5px -0.5px;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh-inner::before {
    background-size: 20px 20px;
  }
}
.common-interview .mesh .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.common-interview .mesh .mesh-inner:not(:last-of-type) {
  margin-bottom: 6rem;
}
.common-interview .mesh .mesh-inner .grid {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid {
    display: block;
  }
}
.common-interview .mesh .mesh-inner .grid .img {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .common-interview .mesh .mesh-inner .grid .img {
    width: 44rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .img {
    width: 21rem;
    margin-top: -4rem;
  }
}
.common-interview .mesh .mesh-inner .grid .img .picture {
  display: block;
  position: relative;
}
.common-interview .mesh .mesh-inner .grid .img .picture::before {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--themeColor);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.8rem;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .img .picture::before {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    border-radius: 0.8rem;
  }
}
.common-interview .mesh .mesh-inner .grid .img .picture img {
  border-radius: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .img .picture img {
    border-radius: 1.2rem;
  }
}
.common-interview .mesh .mesh-inner .grid .text {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .text {
    margin-top: 2rem;
  }
}
.common-interview .mesh .mesh-inner .grid .text .message-title {
  text-shadow: 2px 2px 1px #ffffff;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .text .message-title {
    font-size: 1.8rem;
  }
}
.common-interview .mesh .mesh-inner .grid .text .message-title + .detail {
  margin-top: 2.4rem;
}
.common-interview .mesh .mesh-inner .grid .text .interview-title {
  margin-bottom: 1.5rem;
}
.common-interview .mesh .mesh-inner .grid .text .interview-title span {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: var(--themeColor);
  text-shadow: 0.05em 0.05em #fff;
  padding-left: 2.6rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .text .interview-title span {
    font-size: 1.6rem;
    padding-left: 2rem;
  }
}
.common-interview .mesh .mesh-inner .grid .text .interview-title span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 1.75rem;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .text .interview-title span::before {
    width: 1.5rem;
  }
}
.common-interview .mesh .mesh-inner .grid .text .detail + .message-title {
  margin-top: 2.3rem;
}
.common-interview .mesh .mesh-inner .grid .text .detail p {
  font-size: 1.8rem;
  letter-spacing: 0.025em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner .grid .text .detail p {
    font-size: 1.4rem;
  }
}
.common-interview .mesh .mesh-inner .grid .text .detail p:not(:last-of-type) {
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner:nth-of-type(odd) {
    padding-left: 1.8rem;
  }
}
.common-interview .mesh .mesh-inner:nth-of-type(odd)::before {
  border-radius: 2.5rem 0 0 2.5rem;
}
@media only screen and (min-width: 768px) {
  .common-interview .mesh .mesh-inner:nth-of-type(odd)::before {
    left: 25.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner:nth-of-type(odd)::before {
    left: -0.3rem;
    border-radius: 1.6rem 0 0 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .common-interview .mesh .mesh-inner:nth-of-type(odd) .grid {
    flex-flow: row wrap;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner:nth-of-type(even) {
    padding-right: 1.8rem;
  }
}
.common-interview .mesh .mesh-inner:nth-of-type(even)::before {
  border-radius: 0 2.5rem 2.5rem 0;
}
@media only screen and (min-width: 768px) {
  .common-interview .mesh .mesh-inner:nth-of-type(even)::before {
    right: 25.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner:nth-of-type(even)::before {
    right: -0.4rem;
    border-radius: 0 1.6rem 1.6rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .common-interview .mesh .mesh-inner:nth-of-type(even) .grid {
    flex-flow: row-reverse wrap;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner:nth-of-type(even) .grid .img {
    margin-left: auto;
  }
}
.common-interview .mesh .mesh-inner:last-of-type .message-title {
  color: var(--themeColor);
  font-size: 3.2rem !important;
}
@media only screen and (max-width: 767px) {
  .common-interview .mesh .mesh-inner:last-of-type .message-title {
    font-size: 1.8rem !important;
  }
}
.common-interview .mesh .mesh-inner:last-of-type::before {
  background-color: #fff;
  background-image: linear-gradient(to right, #f4f5f7 1px, transparent 1px), linear-gradient(to bottom, #f4f5f7 1px, transparent 1px);
  border: 2px solid var(--themeColor);
}
.common-interview.type-number .img::before {
  content: "Q." counter(interview-num);
  display: block;
  font-size: 5.2rem;
  font-family: var(--enFont);
  color: rgba(220, 0, 33, 0.5);
  width: 14rem;
  height: 14rem;
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 4rem;
  transform: translateY(-100%);
  font-weight: bold;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .common-interview.type-number .img::before {
    font-size: 2.4rem;
    width: 6rem;
    height: 6rem;
    top: auto;
    bottom: 0;
  }
}
.common-interview.type-number .mesh-inner {
  counter-increment: interview-num;
}
.common-interview.type-number .mesh-inner:first-child .img a {
  display: block;
  width: 24.3rem;
  aspect-ratio: 243/99;
  background-image: url(../img/common/interview-hukidashi.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  z-index: 1;
  font-size: 1.8rem;
  filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.1607843137));
  color: var(--themeColor);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .common-interview.type-number .mesh-inner:first-child .img a {
    bottom: -3rem;
    left: 3rem;
    padding-top: 2rem;
  }
  .common-interview.type-number .mesh-inner:first-child .img a:hover {
    text-decoration: underline;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-number .mesh-inner:first-child .img a {
    aspect-ratio: 167/73;
    width: 16.7rem;
    right: 4rem;
    transform: translateX(100%);
    top: 1rem;
    background-image: url(../img/common/interview-hukidashi-sp.svg);
    font-size: 1.2rem;
    padding-bottom: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .common-interview.type-number .mesh-inner:nth-of-type(odd) .img::before {
    left: -3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-number .mesh-inner:nth-of-type(odd) .img::before {
    right: -2.4rem;
    transform: translate(50%, 0%);
  }
}
@media only screen and (min-width: 768px) {
  .common-interview.type-number .mesh-inner:nth-of-type(even) .img::before {
    right: -3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-number .mesh-inner:nth-of-type(even) .img::before {
    left: -2.4rem;
    transform: translate(-50%, 0%);
  }
}
.common-interview.type-vice .img .num {
  display: block;
  font-size: 5.2rem;
  font-family: var(--enFont);
  color: rgba(220, 0, 33, 0.5);
  width: 14rem;
  height: 14rem;
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 4rem;
  transform: translateY(-100%);
  font-weight: bold;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .common-interview.type-vice .img .num {
    font-size: 2.4rem;
    width: 6rem;
    height: 6rem;
    top: auto;
    bottom: 0%;
  }
}
@media only screen and (min-width: 768px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(odd) .img .num {
    left: -3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(odd) .img .num {
    right: -2.4rem;
    transform: translate(50%, 0%);
  }
}
@media only screen and (min-width: 768px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .img .num {
    right: -3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .img .num {
    left: -2.4rem;
    transform: translate(-50%, 0%);
  }
}
.common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr:not(:first-of-type) {
    margin-right: -16.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr:not(:first-of-type) .interview-title {
    padding-right: 8rem;
  }
}
.common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr:not(:last-of-type) {
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 767px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}
.common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr .num {
  display: block;
  font-size: 5.2rem;
  font-family: var(--enFont);
  color: rgba(220, 0, 33, 0.5);
  width: 14rem;
  height: 14rem;
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr .num {
    transform: translateX(100%);
  }
}
@media only screen and (max-width: 767px) {
  .common-interview.type-vice .mesh-inner:nth-of-type(even) .text .inr .num {
    font-size: 2.4rem;
    width: 6rem;
    height: 6rem;
    top: 0%;
  }
}

@media only screen and (max-width: 767px) {
  .interview-other-links {
    margin-top: 8rem;
  }
}
.interview-other-links .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.interview-other-links .c-title--page > span {
  color: #fff;
  border-color: #fff;
}
.interview-other-links .c-title--page > span::before {
  background-image: url(../img/common/icon-pen-w.svg);
}
.interview-other-links .interview-other-list {
  margin-top: 4rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.7rem;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list {
    flex-flow: column;
    gap: 1.6rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .interview-other-links .interview-other-list .interviews-list__item {
    flex: 0 0 calc((100% - 5.4rem) / 3);
  }
}
@media only screen and (min-width: 768px) {
  .interview-other-links .interview-other-list .interviews-list__item a {
    padding: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail {
    bottom: -6rem;
    max-width: 30rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .img .detail > p {
  font-size: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail > p {
    margin-top: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail > p {
    font-size: 1.4rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .img .detail .position {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail .position {
    font-size: 1.4rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .img .detail .name {
  font-size: 2.4rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail .name {
    font-size: 1.8rem;
    margin-top: 1rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .img .detail .name .small {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail .name .small {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .interview-other-links .interview-other-list .interviews-list__item .img .detail .ruby {
    font-size: 1.2rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .btn {
  text-align: right;
  margin-top: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .btn {
    margin-top: 1.6rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .btn span {
  min-height: 4.1rem;
  color: var(--themeColor);
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 1.8rem;
  transition: 200ms;
  position: relative;
  text-underline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .btn span {
    gap: 1rem;
    min-height: 3rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .btn span::before, .interview-other-links .interview-other-list .interviews-list__item .btn span::after {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 4.1rem;
  border-radius: 50vw;
  box-sizing: content-box;
  transition: 200ms;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  border: 1px solid var(--themeColor);
}
@media only screen and (max-width: 767px) {
  .interview-other-links .interview-other-list .interviews-list__item .btn span::before, .interview-other-links .interview-other-list .interviews-list__item .btn span::after {
    width: 3rem;
  }
}
.interview-other-links .interview-other-list .interviews-list__item .btn span::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
  opacity: 0;
  border-color: var(--themeColor);
  transition: opacity 200ms;
  background-image: url(../img/common/btn-icon.svg);
  background-color: #fff;
  transition: 200ms;
}
.interview-other-links .interview-other-list .interviews-list__item .btn span::after {
  background-image: url(../img/common/btn-icon-hv.svg);
  background-color: var(--themeColor);
}

.page--portal-top .section-portal-top-hero {
  padding-bottom: 6rem;
}
.page--portal-top .section-portal-top-hero .img {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .page--portal-top .section-portal-top-hero .img {
    border-radius: 2rem 2rem 2rem 0;
    margin: 0 5.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .page--portal-top .section-portal-top-hero .img {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
@media only screen and (min-width: 768px) {
  .page--portal-top .section-portal-top-hero .img .portal-top-copyright {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.page--portal-top .section-portal-top-hero .img .portal-top-copyright span {
  background: #fff;
  display: block;
  color: #DB0021;
  font-size: 1.2rem;
  font-weight: bold;
  padding-right: 2rem;
  border-radius: 0 2.5rem 0 0;
  min-height: 4.6rem;
  position: relative;
  display: flex;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .page--portal-top .section-portal-top-hero .img .portal-top-copyright span {
    font-size: 1.2rem;
    padding-left: 2rem;
    min-height: 3.6rem;
  }
}
.page--portal-top .section-portal-top-hero .img .portal-top-copyright span::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.645' height='30.975' viewBox='0 0 30.645 30.975'%3E%3Cpath d='M17071.645,18877H17041v-30.975a30.966,30.966,0,0,0,30.645,30.971Z' transform='translate(-17041 -18846.025)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 3rem;
  position: absolute;
  top: 1px;
  left: 0;
  transform: translateY(-100%);
}
.page--portal-top .section-portal-top-hero .img .portal-top-copyright span::before {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.645' height='30.975' viewBox='0 0 30.645 30.975'%3E%3Cpath d='M17071.645,18877H17041v-30.975a30.966,30.966,0,0,0,30.645,30.971Z' transform='translate(-17041 -18846.025)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 3rem;
  position: absolute;
  bottom: 0;
  right: 0.5px;
  transform: translateX(100%);
}
.page--portal-top .section-portal-top-hero .portal-top-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 3.2rem;
  margin-top: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .page--portal-top .section-portal-top-hero .portal-top-list {
    gap: 2.8rem;
    margin-top: 2.4rem;
    flex-flow: column;
  }
}
.page--portal-top .section-portal-top-hero .portal-top-list__item {
  flex: 1;
}
.page--portal-top .section-portal-top-hero .portal-top-list__item a {
  width: 100%;
  font-size: 2.4rem;
  min-height: 9rem;
  line-height: 1.25;
}
@media only screen and (min-width: 768px) {
  .page--portal-top .section-portal-top-hero .portal-top-list__item a {
    border-radius: 0.8rem 4.5rem 4.5rem 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .page--portal-top .section-portal-top-hero .portal-top-list__item a {
    min-height: 5rem;
    font-size: 2rem;
  }
}
.page--portal-top .section-portal-top-hero .portal-top-list__item a::before, .page--portal-top .section-portal-top-hero .portal-top-list__item a::after {
  width: 7.6rem;
  height: 7.6rem;
}
@media only screen and (max-width: 767px) {
  .page--portal-top .section-portal-top-hero .portal-top-list__item a::before, .page--portal-top .section-portal-top-hero .portal-top-list__item a::after {
    width: 5.2rem;
    height: 5.2rem;
  }
}

@media only screen and (min-width: 768px) {
  .page--recruit::before {
    content: "";
    display: block;
    height: 2.4rem;
  }
}

.section-top-hero {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .section-top-hero {
    margin-top: -14.4rem;
  }
}
.section-top-hero .top-hero-inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .section-top-hero .top-hero-inner {
    margin-right: calc(50% - 50vw);
  }
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner {
    flex-flow: column-reverse;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-hero .top-hero-inner .text {
    width: 31%;
    padding-top: 28rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .text {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    padding-top: 6.1rem;
  }
}
.section-top-hero .top-hero-inner .text .top-page-title {
  font-size: clamp(4.8rem, 3.513909224vw, 6rem);
  text-align: justify;
  color: var(--themeColor);
  font-weight: bold;
  line-height: 1.875;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .text .top-page-title {
    font-size: 3rem;
    line-height: 1.4;
  }
}
.section-top-hero .top-hero-inner .text .top-page-title .small {
  font-size: 2.635431918vw;
  font-size: clamp(3.6rem, 2.635431918vw, 4rem);
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .text .top-page-title .small {
    font-size: 2.4rem;
  }
}
.section-top-hero .top-hero-inner .text .top-page-title .small2 {
  font-size: 3.074670571vw;
  font-size: clamp(4.2rem, 3.074670571vw, 4.8rem);
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .text .top-page-title .small2 {
    font-size: 2.4rem;
  }
}
.section-top-hero .top-hero-inner .img {
  background-position: 50% 50%;
  background-size: cover;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .section-top-hero .top-hero-inner .img {
    background-image: url(../img/recruit/top-fv.png);
    flex: 1;
    animation: fvImage infinite 100000ms linear;
    border-left: 2px solid var(--themeColor);
    max-height: 76.8rem;
    height: 100vh;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .img {
    background-image: url(../img/recruit/top-fv-sp.png);
    aspect-ratio: 390/520;
    margin-left: -1.8rem;
    margin-right: -1.8rem;
    border-bottom: 2px solid var(--themeColor);
  }
}
.section-top-hero .top-hero-inner .img .scroll {
  display: block;
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg id='btn' xmlns='http://www.w3.org/2000/svg' width='54' height='54' viewBox='0 0 54 54'%3E%3Ccircle id='bg' cx='27' cy='27' r='27' fill='%23fff'/%3E%3Cg id='矢印' transform='translate(-454 -817)'%3E%3Cpath id='_ー' data-name='ー' d='M481,860.783a1,1,0,0,1-1-1v-1.025a1,1,0,0,1,2,0v1.025A1,1,0,0,1,481,860.783Zm0-5.025a1,1,0,0,1-1-1v-4a1,1,0,0,1,2,0v4A1,1,0,0,1,481,855.758Zm0-8a1,1,0,0,1-1-1v-4a1,1,0,0,1,2,0v4A1,1,0,0,1,481,847.758Zm0-8a1,1,0,0,1-1-1v-4a1,1,0,0,1,2,0v4A1,1,0,0,1,481,839.758Zm0-8a1,1,0,0,1-1-1v-4a1,1,0,0,1,2,0v4A1,1,0,0,1,481,831.758Z' fill='%23db0021'/%3E%3Cpath id='_' data-name='＞' d='M484.317,1172.926a1,1,0,0,1-.707-.293l-6.377-6.377a1,1,0,0,1,1.414-1.414l5.67,5.67,5.67-5.67a1,1,0,1,1,1.414,1.414l-6.377,6.377A1,1,0,0,1,484.317,1172.926Z' transform='translate(-3.317 -312.143)' fill='%23db0021'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  border: 2px solid var(--themeColor);
  border-radius: 50vw;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .img .scroll {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 4.8rem;
    height: 4.8rem;
  }
}
.section-top-hero .top-hero-inner .img::before {
  content: "Scroll";
  font-family: var(--enFont);
  color: var(--themeColor);
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  position: absolute;
  bottom: 8rem;
  left: 1rem;
  transform: translate(-100%, 0) rotate(-90deg);
}
@media only screen and (max-width: 767px) {
  .section-top-hero .top-hero-inner .img::before {
    position: absolute;
    bottom: -3.2rem;
    left: 50%;
    transform: translate(-50%, 100%);
    font-size: 1.4rem;
  }
}

@keyframes fvImage {
  0% {
    background-position: 50% -30%;
  }
  100% {
    background-position: 50% -2000px;
  }
}
.section-top-message {
  padding-top: 14.5rem;
}
@media only screen and (max-width: 767px) {
  .section-top-message {
    padding-top: 14.2rem;
  }
}
.section-top-message .mesh-inner {
  padding-top: 5.5rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-message .mesh-inner {
    padding-top: 2.2rem;
    padding-bottom: 4.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-message .grid {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3.7rem;
  }
}
.section-top-message .grid .text {
  font-size: 1.8rem;
  letter-spacing: 0.025em;
}
@media only screen and (min-width: 768px) {
  .section-top-message .grid .text {
    width: 46.7%;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-message .grid .text {
    font-size: 1.4rem;
  }
}
.section-top-message .grid .text .c-title {
  color: var(--themeColor);
}
.section-top-message .grid .text .lead {
  margin-top: 3.7rem;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .section-top-message .grid .text .lead {
    margin-top: 2rem;
  }
}
.section-top-message .grid .text .lead p:not(:last-of-type) {
  margin-bottom: 2em;
}
@media only screen and (min-width: 768px) {
  .section-top-message .grid .image {
    position: relative;
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-message .grid .image {
    margin-top: 3rem;
    margin-left: -3.6rem;
    margin-right: -0.4rem;
  }
}
.section-top-message .grid .image .img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .section-top-message .grid .image .img {
    display: block;
    margin-top: -10rem;
  }
}
.section-top-message .grid .image .img img {
  filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.1215686275));
}
.section-top-message .bottom {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .section-top-message .bottom {
    margin-top: 2.6rem;
  }
}
.section-top-message .bottom p {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media only screen and (min-width: 768px) {
  .section-top-message .bottom p {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-message .bottom p {
    font-size: 1.6rem;
  }
}
.section-top-message .btn {
  margin-top: 5.5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .section-top-message .btn {
    margin-top: 3.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-message .btn a {
    font-size: 2.4rem;
    min-height: 7.2rem;
    min-width: 40rem;
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-message .btn a {
    width: 100%;
    font-size: 2rem;
    min-height: 6.2rem;
  }
}
.section-top-message .btn a::before, .section-top-message .btn a::after {
  width: 6rem;
  height: 6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-message .btn a::before, .section-top-message .btn a::after {
    width: 5rem;
    height: 5rem;
  }
}

.section-top-profile {
  margin-top: 15rem;
  padding-top: 2.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-top-profile {
    margin-top: 8rem;
    padding-top: 1.6rem;
  }
}
.section-top-profile::before {
  content: "";
  display: block;
  background-image: url(../img/recruit/top-profile-head.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 15.4rem;
  width: 15.4rem;
  height: 5.2rem;
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .section-top-profile::before {
    background-size: 9.2rem;
    width: 9.2rem;
    height: 3.117rem;
  }
}
.section-top-profile .section-content {
  overflow: hidden;
}
.section-top-profile .mesh-inner {
  padding-top: 12rem;
  padding-bottom: 6.1rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-top-profile .mesh-inner {
    padding-top: 7.6rem;
    padding-bottom: 4.2rem;
  }
}
.section-top-profile .mesh-inner::after {
  content: "";
  display: block;
  width: 26.4rem;
  height: 26.4rem;
  background: #fff;
  border-radius: 50vw;
  position: absolute;
  top: -2.6rem;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px 16px rgba(101, 57, 57, 0.1019607843);
}
@media only screen and (max-width: 767px) {
  .section-top-profile .mesh-inner::after {
    width: 15.9rem;
    height: 15.9rem;
    top: -2rem;
  }
}
.section-top-profile .head {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-top-profile .head {
    gap: 2rem;
  }
}
.section-top-profile .head .c-title {
  color: inherit;
}
.section-top-profile .profile-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3rem;
  margin-top: 8.8rem;
}
@media only screen and (max-width: 1250px) {
  .section-top-profile .profile-list {
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-profile .profile-list {
    width: 30rem;
    margin-top: 5.8rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-profile .profile-list__item {
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-profile .profile-list__item:not(:last-of-type) {
    margin-bottom: 6.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-profile .profile-list__item.wide {
    flex: 1.6823;
  }
}
.section-top-profile .profile-list .img::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--themeColor);
  margin-bottom: 1.6rem;
}
.section-top-profile .profile-list .img img {
  width: 100%;
  object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .section-top-profile .profile-list .img img {
    height: 20.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-profile .profile-list .img img {
    aspect-ratio: 264/198;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-profile .profile-list .links {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 3.2rem;
  }
}
.section-top-profile .profile-list .links .link {
  flex: 1;
}
.section-top-profile .profile-list .links .link::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.6rem;
  margin-bottom: 1.4rem;
}
.section-top-profile .profile-list .links .link a {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  min-height: 4.1rem;
  font-size: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 1250px) {
  .section-top-profile .profile-list .links .link a {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-profile .profile-list .links .link a {
    transition: 200ms;
  }
  .section-top-profile .profile-list .links .link a:hover {
    color: var(--themeColor);
  }
  .section-top-profile .profile-list .links .link a:hover::after {
    opacity: 0;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-profile .profile-list .links .link a {
    min-height: 3.8rem;
  }
}
.section-top-profile .profile-list .links .link a::before, .section-top-profile .profile-list .links .link a::after {
  content: "";
  display: block;
  width: 4.1rem;
  height: 4.1rem;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 50vw;
}
@media only screen and (max-width: 767px) {
  .section-top-profile .profile-list .links .link a::before, .section-top-profile .profile-list .links .link a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.section-top-profile .profile-list .links .link a::before {
  border: 2px solid var(--themeColor);
  background-image: url(../img/common/btn-icon.svg);
}
.section-top-profile .profile-list .links .link a::after {
  background-image: url(../img/common/btn-icon-hv.svg);
  background-color: var(--themeColor);
  transition: 200ms;
}

.section-top-work {
  margin-top: 12rem;
  padding-top: 11.6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work {
    margin-top: 6rem;
    padding-top: 6rem;
  }
}
.section-top-work .mesh {
  overflow: hidden;
  z-index: 0;
}
.section-top-work .mesh-prev {
  position: relative;
}
.section-top-work .mesh-prev::before {
  content: "";
  display: block;
  width: calc(100dvw + 6rem);
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background: var(--themeColor);
}
.section-top-work.mesh-left .mesh-prev {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .section-top-work.mesh-left .mesh-prev {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work.mesh-left .mesh-prev {
    padding-left: 1.8rem;
    padding-top: 2.4rem;
    padding-bottom: 4.6rem;
  }
}
.section-top-work.mesh-left .mesh-prev::before {
  border-radius: 0;
}
@media only screen and (min-width: 768px) {
  .section-top-work.mesh-left .mesh-prev::before {
    left: -5.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work.mesh-left .mesh-prev::before {
    left: -0.3rem;
  }
}
.section-top-work.mesh-left .mesh-inner {
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work.mesh-left .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 4.2rem;
  }
}
.section-top-work.mesh-left .mesh-inner::before {
  border-radius: 0 0 0 2.5rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work.mesh-left .mesh-inner::before {
    border-radius: 0 0 0 1.6rem;
  }
}
.section-top-work .c-title {
  color: #fff;
  text-shadow: none;
  position: absolute;
  top: 0.5px;
  left: -5.6rem;
  padding-left: 5.6rem;
  padding-right: 4.9rem;
  transform: translateY(-100%);
  background: var(--themeColor);
  border-radius: 2.4rem 2.4rem 0 0;
  padding-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .section-top-work .c-title {
    border-radius: 1.6rem 1.6rem 0 0;
    left: -0.3rem;
    padding-left: 2.3rem;
    padding-right: 1.7rem;
    max-width: 22.2rem;
  }
}
.section-top-work .c-title > span {
  border-color: #fff;
  padding-top: 3.3rem;
  min-height: 11.6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .c-title > span {
    padding-top: 0.6rem;
    min-height: 6rem;
  }
}
.section-top-work .mainlead {
  color: #fff;
}
.section-top-work .mainlead p {
  font-size: 1.8rem;
  line-height: 1.6111;
}
@media only screen and (max-width: 767px) {
  .section-top-work .mainlead p {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.section-top-work .icon-title, .section-top-work .icon-title--red {
  font-size: 2.8rem;
  color: #fff;
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.4rem;
  letter-spacing: 0.15em;
  margin-top: 5.2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .icon-title, .section-top-work .icon-title--red {
    font-size: 1.8rem;
    gap: 0.8rem;
    margin-top: 2.5rem;
  }
}
.section-top-work .icon-title::before, .section-top-work .icon-title--red::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-w.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 2.8rem;
  width: 2.8rem;
  height: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .icon-title::before, .section-top-work .icon-title--red::before {
    background-size: 1.5rem;
    width: 1.5rem;
    height: 1.7rem;
  }
}
.section-top-work .icon-title > span .small, .section-top-work .icon-title--red > span .small {
  font-size: 0.8em;
}
.section-top-work .icon-title--red {
  color: var(--themeColor);
}
.section-top-work .icon-title--red::before {
  background-image: url(../img/common/icon-pen-r.svg);
}
.section-top-work .staff-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 4rem;
  margin-top: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list {
    margin-top: 1.4rem;
    flex-flow: column;
    gap: 1.6rem;
  }
}
.section-top-work .staff-list__item {
  background: #fff;
  border-radius: 1.6rem;
  padding: 1.2rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: stretch;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .section-top-work .staff-list__item {
    flex: 0 0 calc((100% - 4rem) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item {
    padding: 0.7rem;
  }
}
.section-top-work .staff-list__item .inner {
  border-radius: 1rem;
  border: 1px solid #D2D4D8;
  padding: 1.8rem;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .inner {
    padding: 1.2rem;
  }
}
.section-top-work .staff-list__item .grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .grid {
    align-items: flex-start;
    gap: 1.1rem 1.6rem;
  }
}
.section-top-work .staff-list__item .img {
  width: 17.6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .img {
    width: 11.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-work .staff-list__item .text {
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text {
    display: contents;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .inr {
    flex: 1;
  }
}
.section-top-work .staff-list__item .text .title {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  border-bottom: 0.1rem solid var(--themeColor);
  padding-bottom: 1rem;
  line-height: 1.55;
}
@media only screen and (max-width: 1250px) {
  .section-top-work .staff-list__item .text .title {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .title {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.section-top-work .staff-list__item .text .title .small {
  font-size: 0.8em;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .title .small {
    display: block;
  }
}
.section-top-work .staff-list__item .text .lead {
  margin-top: 1.8rem;
  font-size: 1.8rem;
  line-height: 1.5555;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .lead {
    font-size: 1.4rem;
    margin-top: 0.9rem;
    line-height: 1.75;
  }
}
.section-top-work .staff-list__item .text .btn {
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .section-top-work .staff-list__item .text .btn {
    margin-top: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .btn {
    width: 100%;
  }
}
.section-top-work .staff-list__item .text .btn a {
  font-size: 2rem;
  min-width: auto;
  width: 100%;
  max-width: 25.5rem;
  min-height: 6.2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .btn a {
    font-size: 1.6rem;
    max-width: 20rem;
    min-height: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .staff-list__item .text .btn a::before, .section-top-work .staff-list__item .text .btn a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.section-top-work .interview-list {
  margin-top: 6rem;
}
.section-top-work .interview-list__item {
  position: relative;
  display: flex;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item {
    flex-flow: column;
  }
}
.section-top-work .interview-list__item:not(:last-of-type) {
  margin-bottom: 4.9rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}
.section-top-work .interview-list__item.align-top {
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item.align-top {
    justify-content: center;
  }
}
.section-top-work .interview-list__item.align-center {
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item.align-center {
    justify-content: center;
  }
}
.section-top-work .interview-list__item.left {
  flex-flow: row wrap;
}
.section-top-work .interview-list__item.left .text {
  margin-left: auto;
}
.section-top-work .interview-list__item.left .text::before {
  right: 0;
}
.section-top-work .interview-list__item.right {
  flex-flow: row-reverse wrap;
}
.section-top-work .interview-list__item.right .text {
  margin-right: auto;
}
.section-top-work .interview-list__item.right .text::before {
  left: 0;
}
.section-top-work .interview-list__item .image {
  width: 40rem;
  z-index: 1;
  margin-top: -4rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .image {
    width: 31.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .image .img {
    width: 21rem;
  }
}
.section-top-work .interview-list__item .images {
  width: 40rem;
  z-index: 1;
  display: flex;
  flex-flow: column-reverse;
  justify-content: flex-start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .images {
    width: 31.2rem;
  }
}
.section-top-work .interview-list__item .images .img {
  width: 30rem;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .images .img {
    width: 17.2rem;
  }
}
.section-top-work .interview-list__item .images .img:nth-of-type(2) {
  margin-left: auto;
  margin-bottom: -2rem;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .images .img:nth-of-type(2) {
    margin-bottom: -8.7rem;
  }
}
.section-top-work .interview-list__item .img {
  position: relative;
}
.section-top-work .interview-list__item .img::before {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--themeColor);
  border-radius: 0.8rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .img::before {
    border-radius: 0.8rem;
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
  }
}
.section-top-work .interview-list__item .img img {
  border-radius: 1.6rem;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .img img {
    border-radius: 1.2rem;
  }
}
.section-top-work .interview-list__item .text {
  flex: 1;
  position: relative;
  z-index: 0;
  padding: 3.2rem;
  min-height: 28.4rem;
  display: flex;
  flex-flow: column;
  justify-content: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .text {
    background: #F3EDDF;
    border-radius: 1.6rem;
    padding: 1.6rem;
    padding-top: 8.8rem;
    margin-top: -7rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-work .interview-list__item .text::before {
    content: "";
    display: block;
    width: calc(100% + 16.8rem);
    height: 100%;
    background: #F3EDDF;
    position: absolute;
    top: 0;
    z-index: -1;
    border-radius: 1.6rem;
  }
}
.section-top-work .interview-list__item .text .title {
  font-size: 2.8rem;
  border-bottom: 0.1rem solid var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .text .title {
    font-size: 1.6rem;
  }
}
.section-top-work .interview-list__item .text .lead {
  font-size: 1.8rem;
  line-height: 1.5556;
  font-weight: bold;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .text .lead {
    font-size: 1.4rem;
    margin-top: 0.7rem;
  }
}
.section-top-work .interview-list__item .text .btn {
  margin-top: auto;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .text .btn {
    margin-top: 1.3rem;
    width: 100%;
  }
}
.section-top-work .interview-list__item .text .btn a {
  font-size: 2rem;
  min-width: auto;
  width: 100%;
  max-width: 25.5rem;
  min-height: 6.2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .text .btn a {
    font-size: 1.6rem;
    max-width: 20rem;
    min-height: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-work .interview-list__item .text .btn a::before, .section-top-work .interview-list__item .text .btn a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}

.section-top-environment {
  margin-top: 15rem;
  padding-top: 6rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-top-environment {
    margin-top: 5.4rem;
    padding-top: 3.5rem;
  }
}
.section-top-environment::before {
  content: "";
  display: block;
  background-image: url(../img/recruit/top-environment-head.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 16.8rem;
  width: 16.8rem;
  height: 9rem;
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .section-top-environment::before {
    background-size: 10.2rem;
    width: 10.2rem;
    height: 5.5rem;
  }
}
.section-top-environment .section-content {
  overflow: hidden;
}
.section-top-environment .mesh-inner {
  padding-top: 12rem;
  padding-bottom: 6.1rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-top-environment .mesh-inner {
    padding-top: 7.6rem;
    padding-bottom: 4.2rem;
  }
}
.section-top-environment .mesh-inner::after {
  content: "";
  display: block;
  width: 26.4rem;
  height: 26.4rem;
  background: #fff;
  border-radius: 50vw;
  position: absolute;
  top: -2.6rem;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px 16px rgba(101, 57, 57, 0.1019607843);
}
@media only screen and (max-width: 767px) {
  .section-top-environment .mesh-inner::after {
    width: 15.9rem;
    height: 15.9rem;
    top: -2rem;
  }
}
.section-top-environment .head {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-top-environment .head {
    gap: 2rem;
  }
}
.section-top-environment .head .c-title {
  color: inherit;
}
.section-top-environment .profile-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 3rem;
  margin-top: 8.8rem;
}
@media only screen and (max-width: 1250px) {
  .section-top-environment .profile-list {
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-environment .profile-list {
    width: 30rem;
    margin-top: 5.8rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-environment .profile-list__item {
    flex: 1;
    max-width: 33%;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-environment .profile-list__item:not(:last-of-type) {
    margin-bottom: 6.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-environment .profile-list__item.wide {
    flex: 1.6823;
  }
}
.section-top-environment .profile-list .img::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--themeColor);
  margin-bottom: 1.6rem;
}
.section-top-environment .profile-list .img img {
  width: 100%;
  object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .section-top-environment .profile-list .img img {
    height: 20.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-environment .profile-list .img img {
    aspect-ratio: 264/155;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-environment .profile-list .links {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 3.2rem;
  }
}
.section-top-environment .profile-list .links .link {
  flex: 1;
}
.section-top-environment .profile-list .links .link::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.6rem;
  margin-bottom: 1.4rem;
}
.section-top-environment .profile-list .links .link a {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  min-height: 4.1rem;
  font-size: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 1250px) {
  .section-top-environment .profile-list .links .link a {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-environment .profile-list .links .link a {
    transition: 200ms;
  }
  .section-top-environment .profile-list .links .link a:hover {
    color: var(--themeColor);
  }
  .section-top-environment .profile-list .links .link a:hover::after {
    opacity: 0;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-environment .profile-list .links .link a {
    min-height: 3.8rem;
  }
}
.section-top-environment .profile-list .links .link a::before, .section-top-environment .profile-list .links .link a::after {
  content: "";
  display: block;
  width: 4.1rem;
  height: 4.1rem;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 50vw;
}
@media only screen and (max-width: 767px) {
  .section-top-environment .profile-list .links .link a::before, .section-top-environment .profile-list .links .link a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.section-top-environment .profile-list .links .link a::before {
  border: 2px solid var(--themeColor);
  background-image: url(../img/common/btn-icon.svg);
}
.section-top-environment .profile-list .links .link a::after {
  background-image: url(../img/common/btn-icon-hv.svg);
  background-color: var(--themeColor);
  transition: 200ms;
}

.section-top-recruit-info {
  padding-top: 12rem;
  padding-bottom: 7rem;
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info {
    padding-top: 6rem;
    padding-bottom: 4.2rem;
  }
}
.section-top-recruit-info .head {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .head {
    gap: 2rem;
  }
}
.section-top-recruit-info .head .c-title {
  color: inherit;
}
.section-top-recruit-info .head .lead {
  line-height: 1.75;
}
@media only screen and (min-width: 768px) {
  .section-top-recruit-info .head .lead {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .head .lead {
    font-size: 1.4rem;
    line-height: 2;
  }
}
.section-top-recruit-info .recruit-info-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 4.8rem;
  margin-top: 5rem;
}
.section-top-recruit-info .recruit-info-list__item {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .recruit-info-list__item {
    width: 100%;
    gap: 1rem;
  }
}
.section-top-recruit-info .recruit-info-list__item .img {
  width: 23.8rem;
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .recruit-info-list__item .img {
    width: 20.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .recruit-info-list__item .btn {
    width: 100%;
  }
}
.section-top-recruit-info .recruit-info-list__item .btn a {
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .section-top-recruit-info .recruit-info-list__item .btn a {
    min-width: 38rem;
    min-height: 8.7rem;
    padding: 0.4rem 0.4rem 0.4rem 2rem;
    border-radius: 0.8rem 4.35rem 4.35rem 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .recruit-info-list__item .btn a {
    min-height: 6.2rem;
    width: 100%;
    padding-left: 3rem;
  }
}
.section-top-recruit-info .recruit-info-list__item .btn a::before, .section-top-recruit-info .recruit-info-list__item .btn a::after {
  width: 8.1rem;
  height: 8.1rem;
}
@media only screen and (max-width: 767px) {
  .section-top-recruit-info .recruit-info-list__item .btn a::before, .section-top-recruit-info .recruit-info-list__item .btn a::after {
    width: 5.4rem;
    height: 5.4rem;
  }
}

.section-top-news {
  padding-top: 12rem;
}
@media only screen and (max-width: 767px) {
  .section-top-news {
    padding-top: 5.5rem;
  }
}
.section-top-news .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .section-top-news .mesh-inner {
    padding-top: 2.3rem;
    padding-bottom: 4rem;
  }
}
.section-top-news .grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 5.2rem;
}
@media only screen and (max-width: 767px) {
  .section-top-news .grid {
    flex-flow: column;
    gap: 2.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-news .head {
    width: 30.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-news .head {
    display: contents;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-news .head .c-title {
    text-align: center;
  }
}
.section-top-news .head .c-title > span {
  min-width: auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .section-top-news .head .btn {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-news .head .btn {
    width: 100%;
    text-align: center;
    order: 3;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-news .head .btn a {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-news .head .btn a {
    min-width: 20rem;
    min-height: 4.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-news .head .btn a::before, .section-top-news .head .btn a::after {
    width: 3.6rem;
    height: 3.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-top-news .news-list {
    flex: 1;
  }
}

.section-cta {
  padding-top: 12rem;
  padding-bottom: 22.2rem;
}
@media only screen and (max-width: 767px) {
  .section-cta {
    padding-top: 5rem;
    padding-bottom: 13.2rem;
  }
}
.section-cta .head {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-cta .head {
    gap: 2rem;
  }
}
.section-cta .head .c-title {
  color: inherit;
}
.section-cta .head .lead {
  text-align: center;
  line-height: 1.75;
}
.section-cta .btn {
  text-align: center;
  margin-top: 4rem;
}
.section-cta .btn a {
  font-size: 3rem;
  justify-content: center;
  padding: 0.2rem 7rem 0.2rem 0rem;
}
@media only screen and (min-width: 768px) {
  .section-cta .btn a {
    min-height: 14rem;
    min-width: 60rem;
    border-radius: 1.6rem 7rem 7rem 1.6rem;
  }
  .section-cta .btn a:hover::before {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .section-cta .btn a {
    width: 100%;
    min-height: 8rem;
    font-size: 2rem;
    border-radius: 0.9rem 4rem 4rem 0.9rem;
  }
}
.section-cta .btn a::before {
  opacity: 0;
  border-color: #fff;
  transition: opacity 200ms;
  z-index: 5;
}
.section-cta .btn a::before, .section-cta .btn a::after {
  position: absolute;
  top: 50%;
  right: 0.8rem;
  transform: translate(0%, -50%);
  width: 12.4rem;
  height: 12.4rem;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .section-cta .btn a::before, .section-cta .btn a::after {
    width: 7rem;
    height: 7rem;
    right: 0.5rem;
  }
}

.article-mission .mission-intro .mesh-inner {
  padding-top: 7rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .mesh-inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.article-mission .mission-intro .c-title {
  color: var(--themeColor);
}
@media only screen and (min-width: 768px) {
  .article-mission .mission-intro .grid {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (min-width: 768px) {
  .article-mission .mission-intro .grid-left {
    width: 56rem;
  }
}
.article-mission .mission-intro .grid-left .ttl {
  font-size: 2.4rem;
  line-height: 1.75;
  letter-spacing: 0.025em;
  margin-top: 3.7rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .grid-left .ttl {
    font-size: 1.8rem;
    margin-top: 2.5rem;
  }
}
.article-mission .mission-intro .grid-left .detail {
  margin-top: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .grid-left .detail {
    margin-top: 1.5em;
  }
}
.article-mission .mission-intro .grid-left .detail p {
  line-height: 2;
  letter-spacing: 0.025em;
}
.article-mission .mission-intro .grid-left .detail p:not(:last-of-type) {
  margin-bottom: 2.3rem;
}
.article-mission .mission-intro .grid-right {
  text-align: right;
  flex: 1;
}
.article-mission .mission-intro .grid-right .c-title {
  line-height: 1.714;
  margin-top: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .grid-right .c-title {
    margin-top: 2.5rem;
  }
}
.article-mission .mission-intro .grid-right .c-title > span {
  border-bottom: none;
  padding-bottom: 0;
}
.article-mission .mission-intro .grid-right .img {
  max-width: 26rem;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .grid-right .img {
    max-width: 12rem;
  }
}
.article-mission .mission-intro .pin-border {
  margin-top: 10rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border {
    margin-top: 8rem;
  }
}
.article-mission .mission-intro .pin-border .title {
  font-size: 4.2rem;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .title {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
  }
}
.article-mission .mission-intro .pin-border .title::after {
  content: "";
  display: block;
  width: 10rem;
  height: 1px;
  background: var(--themeColor);
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .title::after {
    margin-top: 1rem;
  }
}
.article-mission .mission-intro .pin-border .title .fzm {
  font-size: 0.86em;
}
.article-mission .mission-intro .pin-border .title .fzs {
  font-size: 0.725em;
}
.article-mission .mission-intro .pin-border .mission-list-wrap {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 3.2rem;
  padding-bottom: 3.4rem;
  color: #48453F;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .mission-list-wrap {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .mission-list-wrap {
    padding-bottom: 2rem;
  }
}
.article-mission .mission-intro .pin-border .mission-list__item {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.025em;
  line-height: 2.5;
  position: relative;
  padding-left: 3rem;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .mission-list__item {
    font-size: 1.6rem;
    padding-left: 2.4rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .mission-list__item:not(:last-of-type) {
    margin-bottom: 0.8rem;
  }
}
.article-mission .mission-intro .pin-border .mission-list__item::before {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.274' height='22.274' viewBox='0 0 22.274 22.274'%3E%3Cpath id='ic-check' d='M0,13.5V0H4.5V9H18v4.5Z' transform='translate(0 12.728) rotate(-45)' fill='%23db0021'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 2.2rem;
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  top: 1rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .article-mission .mission-intro .pin-border .mission-list__item::before {
    background-size: 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
    top: 0.5rem;
  }
}

.by-the-numbers-detail .mesh-inner {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .mesh-inner {
    padding-top: 8rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .by-the-numbers-detail .number-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto;
    grid-column-gap: 2.4rem;
    grid-row-gap: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid {
    display: flex;
    flex-flow: column;
    justify-content: stretch;
    align-items: stretch;
    gap: 2rem;
  }
}
.by-the-numbers-detail .number-grid .grid-title {
  font-size: 2.6rem;
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.23;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-title {
    font-size: 1.6rem;
  }
}
.by-the-numbers-detail .number-grid .grid-title span {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
  background: #fff;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-title span {
    gap: 0.5rem;
  }
}
.by-the-numbers-detail .number-grid .grid-title span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 2.2rem;
  width: 2.2rem;
  height: 2.5rem;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-title span::before {
    background-size: 1.6rem;
    width: 1.6rem;
    height: 2rem;
    margin-top: 0;
  }
}
.by-the-numbers-detail .number-grid .grid-item, .by-the-numbers-detail .number-grid .grid-item15, .by-the-numbers-detail .number-grid .grid-item14, .by-the-numbers-detail .number-grid .grid-item13, .by-the-numbers-detail .number-grid .grid-item12, .by-the-numbers-detail .number-grid .grid-item11, .by-the-numbers-detail .number-grid .grid-item10, .by-the-numbers-detail .number-grid .grid-item09, .by-the-numbers-detail .number-grid .grid-item08, .by-the-numbers-detail .number-grid .grid-item07, .by-the-numbers-detail .number-grid .grid-item06, .by-the-numbers-detail .number-grid .grid-item05, .by-the-numbers-detail .number-grid .grid-item04, .by-the-numbers-detail .number-grid .grid-item03, .by-the-numbers-detail .number-grid .grid-item02, .by-the-numbers-detail .number-grid .grid-item01 {
  font-size: 2rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item, .by-the-numbers-detail .number-grid .grid-item15, .by-the-numbers-detail .number-grid .grid-item14, .by-the-numbers-detail .number-grid .grid-item13, .by-the-numbers-detail .number-grid .grid-item12, .by-the-numbers-detail .number-grid .grid-item11, .by-the-numbers-detail .number-grid .grid-item10, .by-the-numbers-detail .number-grid .grid-item09, .by-the-numbers-detail .number-grid .grid-item08, .by-the-numbers-detail .number-grid .grid-item07, .by-the-numbers-detail .number-grid .grid-item06, .by-the-numbers-detail .number-grid .grid-item05, .by-the-numbers-detail .number-grid .grid-item04, .by-the-numbers-detail .number-grid .grid-item03, .by-the-numbers-detail .number-grid .grid-item02, .by-the-numbers-detail .number-grid .grid-item01 {
    font-size: 1.4rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item .nums, .by-the-numbers-detail .number-grid .grid-item15 .nums, .by-the-numbers-detail .number-grid .grid-item14 .nums, .by-the-numbers-detail .number-grid .grid-item13 .nums, .by-the-numbers-detail .number-grid .grid-item12 .nums, .by-the-numbers-detail .number-grid .grid-item11 .nums, .by-the-numbers-detail .number-grid .grid-item10 .nums, .by-the-numbers-detail .number-grid .grid-item09 .nums, .by-the-numbers-detail .number-grid .grid-item08 .nums, .by-the-numbers-detail .number-grid .grid-item07 .nums, .by-the-numbers-detail .number-grid .grid-item06 .nums, .by-the-numbers-detail .number-grid .grid-item05 .nums, .by-the-numbers-detail .number-grid .grid-item04 .nums, .by-the-numbers-detail .number-grid .grid-item03 .nums, .by-the-numbers-detail .number-grid .grid-item02 .nums, .by-the-numbers-detail .number-grid .grid-item01 .nums {
  font-size: 4.2rem;
  font-weight: bold;
  border-bottom: 2px solid var(--themeColor);
  line-height: 1;
  display: inline-block;
  padding-bottom: 0.3em;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item .nums, .by-the-numbers-detail .number-grid .grid-item15 .nums, .by-the-numbers-detail .number-grid .grid-item14 .nums, .by-the-numbers-detail .number-grid .grid-item13 .nums, .by-the-numbers-detail .number-grid .grid-item12 .nums, .by-the-numbers-detail .number-grid .grid-item11 .nums, .by-the-numbers-detail .number-grid .grid-item10 .nums, .by-the-numbers-detail .number-grid .grid-item09 .nums, .by-the-numbers-detail .number-grid .grid-item08 .nums, .by-the-numbers-detail .number-grid .grid-item07 .nums, .by-the-numbers-detail .number-grid .grid-item06 .nums, .by-the-numbers-detail .number-grid .grid-item05 .nums, .by-the-numbers-detail .number-grid .grid-item04 .nums, .by-the-numbers-detail .number-grid .grid-item03 .nums, .by-the-numbers-detail .number-grid .grid-item02 .nums, .by-the-numbers-detail .number-grid .grid-item01 .nums {
    font-size: 2rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item .nums .num, .by-the-numbers-detail .number-grid .grid-item15 .nums .num, .by-the-numbers-detail .number-grid .grid-item14 .nums .num, .by-the-numbers-detail .number-grid .grid-item13 .nums .num, .by-the-numbers-detail .number-grid .grid-item12 .nums .num, .by-the-numbers-detail .number-grid .grid-item11 .nums .num, .by-the-numbers-detail .number-grid .grid-item10 .nums .num, .by-the-numbers-detail .number-grid .grid-item09 .nums .num, .by-the-numbers-detail .number-grid .grid-item08 .nums .num, .by-the-numbers-detail .number-grid .grid-item07 .nums .num, .by-the-numbers-detail .number-grid .grid-item06 .nums .num, .by-the-numbers-detail .number-grid .grid-item05 .nums .num, .by-the-numbers-detail .number-grid .grid-item04 .nums .num, .by-the-numbers-detail .number-grid .grid-item03 .nums .num, .by-the-numbers-detail .number-grid .grid-item02 .nums .num, .by-the-numbers-detail .number-grid .grid-item01 .nums .num {
  color: var(--themeColor);
  font-size: 3.35em;
  font-family: var(--enFont);
  margin-right: 1.5rem;
}
.by-the-numbers-detail .number-grid .grid-item .column, .by-the-numbers-detail .number-grid .grid-item15 .column, .by-the-numbers-detail .number-grid .grid-item14 .column, .by-the-numbers-detail .number-grid .grid-item13 .column, .by-the-numbers-detail .number-grid .grid-item12 .column, .by-the-numbers-detail .number-grid .grid-item11 .column, .by-the-numbers-detail .number-grid .grid-item10 .column, .by-the-numbers-detail .number-grid .grid-item09 .column, .by-the-numbers-detail .number-grid .grid-item08 .column, .by-the-numbers-detail .number-grid .grid-item07 .column, .by-the-numbers-detail .number-grid .grid-item06 .column, .by-the-numbers-detail .number-grid .grid-item05 .column, .by-the-numbers-detail .number-grid .grid-item04 .column, .by-the-numbers-detail .number-grid .grid-item03 .column, .by-the-numbers-detail .number-grid .grid-item02 .column, .by-the-numbers-detail .number-grid .grid-item01 .column {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}
.by-the-numbers-detail .number-grid .grid-item .bottom, .by-the-numbers-detail .number-grid .grid-item15 .bottom, .by-the-numbers-detail .number-grid .grid-item14 .bottom, .by-the-numbers-detail .number-grid .grid-item13 .bottom, .by-the-numbers-detail .number-grid .grid-item12 .bottom, .by-the-numbers-detail .number-grid .grid-item11 .bottom, .by-the-numbers-detail .number-grid .grid-item10 .bottom, .by-the-numbers-detail .number-grid .grid-item09 .bottom, .by-the-numbers-detail .number-grid .grid-item08 .bottom, .by-the-numbers-detail .number-grid .grid-item07 .bottom, .by-the-numbers-detail .number-grid .grid-item06 .bottom, .by-the-numbers-detail .number-grid .grid-item05 .bottom, .by-the-numbers-detail .number-grid .grid-item04 .bottom, .by-the-numbers-detail .number-grid .grid-item03 .bottom, .by-the-numbers-detail .number-grid .grid-item02 .bottom, .by-the-numbers-detail .number-grid .grid-item01 .bottom {
  margin-top: 1rem;
}
.by-the-numbers-detail .number-grid .grid-item .bottom .small, .by-the-numbers-detail .number-grid .grid-item15 .bottom .small, .by-the-numbers-detail .number-grid .grid-item14 .bottom .small, .by-the-numbers-detail .number-grid .grid-item13 .bottom .small, .by-the-numbers-detail .number-grid .grid-item12 .bottom .small, .by-the-numbers-detail .number-grid .grid-item11 .bottom .small, .by-the-numbers-detail .number-grid .grid-item10 .bottom .small, .by-the-numbers-detail .number-grid .grid-item09 .bottom .small, .by-the-numbers-detail .number-grid .grid-item08 .bottom .small, .by-the-numbers-detail .number-grid .grid-item07 .bottom .small, .by-the-numbers-detail .number-grid .grid-item06 .bottom .small, .by-the-numbers-detail .number-grid .grid-item05 .bottom .small, .by-the-numbers-detail .number-grid .grid-item04 .bottom .small, .by-the-numbers-detail .number-grid .grid-item03 .bottom .small, .by-the-numbers-detail .number-grid .grid-item02 .bottom .small, .by-the-numbers-detail .number-grid .grid-item01 .bottom .small {
  font-size: 0.8em;
}
.by-the-numbers-detail .number-grid .grid-item .bottom .red, .by-the-numbers-detail .number-grid .grid-item15 .bottom .red, .by-the-numbers-detail .number-grid .grid-item14 .bottom .red, .by-the-numbers-detail .number-grid .grid-item13 .bottom .red, .by-the-numbers-detail .number-grid .grid-item12 .bottom .red, .by-the-numbers-detail .number-grid .grid-item11 .bottom .red, .by-the-numbers-detail .number-grid .grid-item10 .bottom .red, .by-the-numbers-detail .number-grid .grid-item09 .bottom .red, .by-the-numbers-detail .number-grid .grid-item08 .bottom .red, .by-the-numbers-detail .number-grid .grid-item07 .bottom .red, .by-the-numbers-detail .number-grid .grid-item06 .bottom .red, .by-the-numbers-detail .number-grid .grid-item05 .bottom .red, .by-the-numbers-detail .number-grid .grid-item04 .bottom .red, .by-the-numbers-detail .number-grid .grid-item03 .bottom .red, .by-the-numbers-detail .number-grid .grid-item02 .bottom .red, .by-the-numbers-detail .number-grid .grid-item01 .bottom .red {
  color: var(--themeColor);
  font-size: 3em;
  font-weight: bold;
  font-family: var(--enFont);
  margin-left: 0.4rem;
  margin-right: 0.4rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item .bottom .red, .by-the-numbers-detail .number-grid .grid-item15 .bottom .red, .by-the-numbers-detail .number-grid .grid-item14 .bottom .red, .by-the-numbers-detail .number-grid .grid-item13 .bottom .red, .by-the-numbers-detail .number-grid .grid-item12 .bottom .red, .by-the-numbers-detail .number-grid .grid-item11 .bottom .red, .by-the-numbers-detail .number-grid .grid-item10 .bottom .red, .by-the-numbers-detail .number-grid .grid-item09 .bottom .red, .by-the-numbers-detail .number-grid .grid-item08 .bottom .red, .by-the-numbers-detail .number-grid .grid-item07 .bottom .red, .by-the-numbers-detail .number-grid .grid-item06 .bottom .red, .by-the-numbers-detail .number-grid .grid-item05 .bottom .red, .by-the-numbers-detail .number-grid .grid-item04 .bottom .red, .by-the-numbers-detail .number-grid .grid-item03 .bottom .red, .by-the-numbers-detail .number-grid .grid-item02 .bottom .red, .by-the-numbers-detail .number-grid .grid-item01 .bottom .red {
    font-size: 2em;
  }
}
.by-the-numbers-detail .number-grid .grid-item .note, .by-the-numbers-detail .number-grid .grid-item15 .note, .by-the-numbers-detail .number-grid .grid-item14 .note, .by-the-numbers-detail .number-grid .grid-item13 .note, .by-the-numbers-detail .number-grid .grid-item12 .note, .by-the-numbers-detail .number-grid .grid-item11 .note, .by-the-numbers-detail .number-grid .grid-item10 .note, .by-the-numbers-detail .number-grid .grid-item09 .note, .by-the-numbers-detail .number-grid .grid-item08 .note, .by-the-numbers-detail .number-grid .grid-item07 .note, .by-the-numbers-detail .number-grid .grid-item06 .note, .by-the-numbers-detail .number-grid .grid-item05 .note, .by-the-numbers-detail .number-grid .grid-item04 .note, .by-the-numbers-detail .number-grid .grid-item03 .note, .by-the-numbers-detail .number-grid .grid-item02 .note, .by-the-numbers-detail .number-grid .grid-item01 .note {
  font-size: 1.6rem;
  margin-top: 1rem;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item .note, .by-the-numbers-detail .number-grid .grid-item15 .note, .by-the-numbers-detail .number-grid .grid-item14 .note, .by-the-numbers-detail .number-grid .grid-item13 .note, .by-the-numbers-detail .number-grid .grid-item12 .note, .by-the-numbers-detail .number-grid .grid-item11 .note, .by-the-numbers-detail .number-grid .grid-item10 .note, .by-the-numbers-detail .number-grid .grid-item09 .note, .by-the-numbers-detail .number-grid .grid-item08 .note, .by-the-numbers-detail .number-grid .grid-item07 .note, .by-the-numbers-detail .number-grid .grid-item06 .note, .by-the-numbers-detail .number-grid .grid-item05 .note, .by-the-numbers-detail .number-grid .grid-item04 .note, .by-the-numbers-detail .number-grid .grid-item03 .note, .by-the-numbers-detail .number-grid .grid-item02 .note, .by-the-numbers-detail .number-grid .grid-item01 .note {
    font-size: 1.3rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item .border, .by-the-numbers-detail .number-grid .grid-item15 .border, .by-the-numbers-detail .number-grid .grid-item14 .border, .by-the-numbers-detail .number-grid .grid-item13 .border, .by-the-numbers-detail .number-grid .grid-item12 .border, .by-the-numbers-detail .number-grid .grid-item11 .border, .by-the-numbers-detail .number-grid .grid-item10 .border, .by-the-numbers-detail .number-grid .grid-item09 .border, .by-the-numbers-detail .number-grid .grid-item08 .border, .by-the-numbers-detail .number-grid .grid-item07 .border, .by-the-numbers-detail .number-grid .grid-item06 .border, .by-the-numbers-detail .number-grid .grid-item05 .border, .by-the-numbers-detail .number-grid .grid-item04 .border, .by-the-numbers-detail .number-grid .grid-item03 .border, .by-the-numbers-detail .number-grid .grid-item02 .border, .by-the-numbers-detail .number-grid .grid-item01 .border {
  background: #fff;
  border-radius: 2.4rem;
  position: relative;
  border: 10px solid #fff;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .by-the-numbers-detail .number-grid .grid-item .border, .by-the-numbers-detail .number-grid .grid-item15 .border, .by-the-numbers-detail .number-grid .grid-item14 .border, .by-the-numbers-detail .number-grid .grid-item13 .border, .by-the-numbers-detail .number-grid .grid-item12 .border, .by-the-numbers-detail .number-grid .grid-item11 .border, .by-the-numbers-detail .number-grid .grid-item10 .border, .by-the-numbers-detail .number-grid .grid-item09 .border, .by-the-numbers-detail .number-grid .grid-item08 .border, .by-the-numbers-detail .number-grid .grid-item07 .border, .by-the-numbers-detail .number-grid .grid-item06 .border, .by-the-numbers-detail .number-grid .grid-item05 .border, .by-the-numbers-detail .number-grid .grid-item04 .border, .by-the-numbers-detail .number-grid .grid-item03 .border, .by-the-numbers-detail .number-grid .grid-item02 .border, .by-the-numbers-detail .number-grid .grid-item01 .border {
    padding: 2.5rem 2rem 3rem;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item .border, .by-the-numbers-detail .number-grid .grid-item15 .border, .by-the-numbers-detail .number-grid .grid-item14 .border, .by-the-numbers-detail .number-grid .grid-item13 .border, .by-the-numbers-detail .number-grid .grid-item12 .border, .by-the-numbers-detail .number-grid .grid-item11 .border, .by-the-numbers-detail .number-grid .grid-item10 .border, .by-the-numbers-detail .number-grid .grid-item09 .border, .by-the-numbers-detail .number-grid .grid-item08 .border, .by-the-numbers-detail .number-grid .grid-item07 .border, .by-the-numbers-detail .number-grid .grid-item06 .border, .by-the-numbers-detail .number-grid .grid-item05 .border, .by-the-numbers-detail .number-grid .grid-item04 .border, .by-the-numbers-detail .number-grid .grid-item03 .border, .by-the-numbers-detail .number-grid .grid-item02 .border, .by-the-numbers-detail .number-grid .grid-item01 .border {
    padding: 1.2rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item .border-inner, .by-the-numbers-detail .number-grid .grid-item15 .border-inner, .by-the-numbers-detail .number-grid .grid-item14 .border-inner, .by-the-numbers-detail .number-grid .grid-item13 .border-inner, .by-the-numbers-detail .number-grid .grid-item12 .border-inner, .by-the-numbers-detail .number-grid .grid-item11 .border-inner, .by-the-numbers-detail .number-grid .grid-item10 .border-inner, .by-the-numbers-detail .number-grid .grid-item09 .border-inner, .by-the-numbers-detail .number-grid .grid-item08 .border-inner, .by-the-numbers-detail .number-grid .grid-item07 .border-inner, .by-the-numbers-detail .number-grid .grid-item06 .border-inner, .by-the-numbers-detail .number-grid .grid-item05 .border-inner, .by-the-numbers-detail .number-grid .grid-item04 .border-inner, .by-the-numbers-detail .number-grid .grid-item03 .border-inner, .by-the-numbers-detail .number-grid .grid-item02 .border-inner, .by-the-numbers-detail .number-grid .grid-item01 .border-inner {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
}
.by-the-numbers-detail .number-grid .grid-item .border-inner > *, .by-the-numbers-detail .number-grid .grid-item15 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item14 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item13 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item12 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item11 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item10 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item09 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item08 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item07 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item06 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item05 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item04 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item03 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item02 .border-inner > *, .by-the-numbers-detail .number-grid .grid-item01 .border-inner > * {
  position: relative;
  z-index: 2;
}
.by-the-numbers-detail .number-grid .grid-item .border-inner::before, .by-the-numbers-detail .number-grid .grid-item15 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item14 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item13 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item12 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item11 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item10 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item09 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item08 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item07 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item06 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item05 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item04 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item03 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item02 .border-inner::before, .by-the-numbers-detail .number-grid .grid-item01 .border-inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--themeColor);
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1.6rem;
  pointer-events: none;
  z-index: 1;
}
.by-the-numbers-detail .number-grid .grid-item .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item15 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item14 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item13 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item12 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item11 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item10 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item09 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item08 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item07 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item06 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item05 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item04 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item03 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item02 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item01 .border .grid-title span {
  padding: 1rem 2.4rem 2rem;
  margin-top: -3rem;
}
@media only screen and (max-width: 1250px) {
  .by-the-numbers-detail .number-grid .grid-item .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item15 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item14 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item13 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item12 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item11 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item10 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item09 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item08 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item07 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item06 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item05 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item04 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item03 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item02 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item01 .border .grid-title span {
    padding: 1rem 0.7rem 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item15 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item14 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item13 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item12 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item11 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item10 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item09 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item08 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item07 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item06 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item05 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item04 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item03 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item02 .border .grid-title span, .by-the-numbers-detail .number-grid .grid-item01 .border .grid-title span {
    padding: 1rem 1rem 1.5rem;
    margin-top: -2rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item01 {
  grid-area: 1/1/2/7;
}
.by-the-numbers-detail .number-grid .grid-item01 .column {
  gap: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item01 .column {
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .by-the-numbers-detail .number-grid .grid-item01 .detail {
    flex: 1;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2.4rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item01 .detail .lead {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item01 .detail .img {
  width: 11.6rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item01 .detail .img {
    position: absolute;
    top: 0;
    right: 0;
  }
  .by-the-numbers-detail .number-grid .grid-item01 .detail .img img {
    width: 8rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item01 .nums .num {
  font-size: 4em;
}
.by-the-numbers-detail .number-grid .grid-item02 {
  grid-area: 2/1/2/7;
}
.by-the-numbers-detail .number-grid .grid-item02 .border-inner {
  display: block;
}
@media only screen and (min-width: 768px) {
  .by-the-numbers-detail .number-grid .grid-item02 .border {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item02 .column {
  gap: 3.4rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item02 .column {
    margin-top: 1rem;
    gap: 1rem;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .by-the-numbers-detail .number-grid .grid-item02 .column > p {
    font-size: 3.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item02 .column > p {
    width: 100%;
  }
}
.by-the-numbers-detail .number-grid .grid-item02 .column .nums .num {
  font-size: 4em;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item02 .column .nums .num {
    width: 100%;
  }
}
.by-the-numbers-detail .number-grid .grid-item02 .column .bottom {
  text-align: right;
}
.by-the-numbers-detail .number-grid .grid-item02 .column .img {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item02 .column .img {
    text-align: right;
  }
}
.by-the-numbers-detail .number-grid .grid-item02 .column .img img {
  width: 18.6rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item02 .column .img img {
    width: 10rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item03 {
  grid-area: 2/4/3/7;
}
.by-the-numbers-detail .number-grid .grid-item03 .column {
  justify-content: center;
}
.by-the-numbers-detail .number-grid .grid-item03 .border-inner {
  display: block;
}
@media only screen and (min-width: 768px) {
  .by-the-numbers-detail .number-grid .grid-item03 .nums {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item03 .nums .comma {
  font-size: 0.5em;
}
.by-the-numbers-detail .number-grid .grid-item04 {
  grid-area: 3/1/5/4;
}
.by-the-numbers-detail .number-grid .grid-item05 {
  grid-area: 3/4/4/7;
}
.by-the-numbers-detail .number-grid .grid-item05 .column {
  gap: 3rem;
}
.by-the-numbers-detail .number-grid .grid-item05 .column .img {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item05 .column .img img {
  max-height: 14rem;
}
.by-the-numbers-detail .number-grid .grid-item06 {
  grid-area: 4/4/5/7;
}
.by-the-numbers-detail .number-grid .grid-item06 .column {
  gap: 3rem;
}
.by-the-numbers-detail .number-grid .grid-item06 .column .img {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item06 .column .img img {
  max-height: 14rem;
}
.by-the-numbers-detail .number-grid .grid-item07 {
  grid-area: 5/1/6/3;
}
.by-the-numbers-detail .number-grid .grid-item07 .nums .num {
  margin: 0;
}
.by-the-numbers-detail .number-grid .grid-item08 {
  grid-area: 5/3/6/5;
}
.by-the-numbers-detail .number-grid .grid-item08 .nums .num {
  margin-right: 0.2rem;
}
.by-the-numbers-detail .number-grid .grid-item09 {
  grid-area: 5/5/6/7;
}
.by-the-numbers-detail .number-grid .grid-item09 .border .grid-title span {
  padding-bottom: 0;
}
.by-the-numbers-detail .number-grid .grid-item10 {
  grid-area: 6/1/7/4;
}
.by-the-numbers-detail .number-grid .grid-item10 .column {
  gap: 3rem;
}
.by-the-numbers-detail .number-grid .grid-item10 .column .img {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item10 .column .img img {
  max-height: 14rem;
}
.by-the-numbers-detail .number-grid .grid-item11 {
  grid-area: 6/4/7/7;
}
.by-the-numbers-detail .number-grid .grid-item11 .column {
  gap: 3rem;
}
.by-the-numbers-detail .number-grid .grid-item11 .column .img {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item11 .column .img img {
  max-height: 11.6rem;
}
.by-the-numbers-detail .number-grid .grid-item11 .column .nums .red {
  color: var(--themeColor);
  font-size: 6rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item11 .column .nums .red {
    font-size: 4rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item11 .column .nums .small {
  font-size: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item11 .column .nums .small {
    font-size: 2.4rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item11 .column .nums .num {
  margin: 0;
}
.by-the-numbers-detail .number-grid .grid-item12 {
  grid-area: 7/1/10/4;
}
.by-the-numbers-detail .number-grid .grid-item12 .border {
  height: auto;
}
.by-the-numbers-detail .number-grid .grid-item12 .small {
  text-shadow: 2px 2px 0px #FFFFFF;
  font-weight: bold;
  margin-top: 2rem;
}
.by-the-numbers-detail .number-grid .grid-item13 {
  grid-area: 7/4/8/7;
}
.by-the-numbers-detail .number-grid .grid-item13 .column {
  gap: 3rem;
}
.by-the-numbers-detail .number-grid .grid-item13 .column .img {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item13 .column .img img {
  max-height: 14rem;
}
.by-the-numbers-detail .number-grid .grid-item14 {
  grid-area: 8/4/9/7;
}
.by-the-numbers-detail .number-grid .grid-item14 .column {
  gap: 3rem;
}
.by-the-numbers-detail .number-grid .grid-item14 .column .img {
  flex: 1;
}
.by-the-numbers-detail .number-grid .grid-item14 .column .img img {
  max-height: 14rem;
}
.by-the-numbers-detail .number-grid .grid-item15 {
  grid-area: 9/4/10/7;
}
.by-the-numbers-detail .number-grid .grid-item15 .border {
  height: auto;
}
.by-the-numbers-detail .number-grid .grid-item15 .column {
  gap: 2.5rem;
}
.by-the-numbers-detail .number-grid .grid-item15 .percent {
  flex: 1;
  width: 14.4rem;
  height: 12.2rem;
  font-weight: bold;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item15 .percent {
    width: 10rem;
    height: 7rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item15 .percent::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #707070;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.by-the-numbers-detail .number-grid .grid-item15 .percent .num {
  font-size: 6rem;
  color: var(--themeColor);
  font-family: var(--enFont);
  line-height: 1;
  margin-right: 0.3rem;
}
@media only screen and (max-width: 767px) {
  .by-the-numbers-detail .number-grid .grid-item15 .percent .num {
    font-size: 4rem;
  }
}
.by-the-numbers-detail .number-grid .grid-item15 .percent .denominator {
  position: absolute;
  bottom: 0;
  right: 0;
}
.by-the-numbers-detail .number-grid .grid-item15 .percent .denominator .num {
  color: #F9C0CB;
}
.by-the-numbers-detail .number-grid .grid-item15 .small {
  text-shadow: 2px 2px 0px #FFFFFF;
  font-weight: bold;
  margin-top: 1rem;
  text-align: right;
}

@media only screen and (max-width: 767px) {
  .profile-data {
    padding-top: 2rem;
  }
}
.profile-data .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .profile-data .mesh-inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.profile-data .mesh-inner .inner {
  position: relative;
}
.profile-data .mesh-inner .inner .profile-img {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 40rem;
}
@media only screen and (max-width: 767px) {
  .profile-data .mesh-inner .inner .profile-img {
    max-width: 16rem;
    top: -6rem;
  }
}
.profile-data .mesh-inner .inner .profile-img img {
  border-radius: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .profile-data .mesh-inner .inner .profile-img img {
    border-radius: 1rem;
  }
}
.profile-data .mesh-inner .inner .data dl {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  border-bottom: 1px solid var(--themeColor);
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .profile-data .mesh-inner .inner .data dl {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .profile-data .mesh-inner .inner .data dl:first-child {
    width: calc(100% - 44rem);
  }
}
.profile-data .mesh-inner .inner .data dt {
  font-size: 1.8rem;
  width: 27rem;
}
@media only screen and (max-width: 1250px) {
  .profile-data .mesh-inner .inner .data dt {
    width: 20rem;
  }
}
@media only screen and (max-width: 767px) {
  .profile-data .mesh-inner .inner .data dt {
    width: 20%;
    font-size: 1.4rem;
  }
}
.profile-data .mesh-inner .inner .data dd {
  flex: 1;
}
.profile-data .mesh-inner .inner .data dd p {
  font-size: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .profile-data .mesh-inner .inner .data dd p {
    font-size: 1.5rem;
  }
}
.profile-data .mesh-inner .inner .data dd p a {
  color: var(--themeColor);
  text-shadow: 0.05em 0.05em #fff;
}
@media only screen and (min-width: 768px) {
  .profile-data .mesh-inner .inner .data dd p a:hover {
    text-decoration: underline;
  }
}

.profile-history .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.profile-history .mesh-inner .inner {
  position: relative;
}
.profile-history .mesh-inner .history-list {
  position: relative;
  margin-top: 5.6rem;
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list {
    margin-top: 3rem;
  }
}
.profile-history .mesh-inner .history-list::before {
  content: "";
  display: block;
  width: 2px;
  height: calc(100% - 8rem);
  background: var(--themeColor);
  position: absolute;
  top: 2.5rem;
  left: 14.2rem;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list::before {
    left: 0;
    height: calc(100% - 4rem);
  }
}
@media only screen and (min-width: 768px) {
  .profile-history .mesh-inner .history-list__item {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
.profile-history .mesh-inner .history-list__item:not(:last-of-type) {
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list__item:not(:last-of-type) {
    margin-bottom: 1.6rem;
  }
}
.profile-history .mesh-inner .history-list__item .year {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.09em;
  width: 20rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .profile-history .mesh-inner .history-list__item .year {
    height: 6.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list__item .year {
    font-size: 1.3rem;
    width: auto;
    padding-left: 2rem;
  }
}
.profile-history .mesh-inner .history-list__item .year::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background: var(--themeColor);
  border-radius: 50vw;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .profile-history .mesh-inner .history-list__item .year::after {
    right: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list__item .year::after {
    width: 1.2rem;
    height: 1.2rem;
    left: 0;
  }
}
.profile-history .mesh-inner .history-list__item .year .num {
  font-size: 1.5em;
  font-family: var(--enFont);
}
.profile-history .mesh-inner .history-list__item .detail {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
  padding: 2rem;
  background: #fff;
  border-radius: 1.6rem;
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list__item .detail {
    padding: 1rem;
    border-radius: 1.2rem;
    font-size: 1.5rem;
    margin-left: 2rem;
  }
}
.profile-history .mesh-inner .history-list__item .detail a {
  color: var(--themeColor);
  text-shadow: 0.05em 0.05em #fff;
}
@media only screen and (min-width: 768px) {
  .profile-history .mesh-inner .history-list__item .detail a:hover {
    text-decoration: underline;
  }
}
.profile-history .mesh-inner .history-list__item .detail a[target] {
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}
.profile-history .mesh-inner .history-list__item .detail a[target]::after {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg id='sp_hyperlink' xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath id='パス_5056' data-name='パス 5056' d='M15,11a1,1,0,0,0-1,1v6H2V6H8A1,1,0,0,0,8,4H2A2.006,2.006,0,0,0,0,6V18a2.006,2.006,0,0,0,2,2H14a2.006,2.006,0,0,0,2-2V12A1,1,0,0,0,15,11Z' fill='%23db0021'/%3E%3Cpath id='パス_5057' data-name='パス 5057' d='M19.92.62a1.019,1.019,0,0,0-.54-.54A1,1,0,0,0,19,0H11a1,1,0,0,0,0,2h5.59l-9.3,9.29a1,1,0,0,0,0,1.41.982.982,0,0,0,.71.29,1.024,1.024,0,0,0,.71-.29L18,3.41V9a1,1,0,0,0,2,0V1A1,1,0,0,0,19.92.62Z' fill='%23db0021'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  aspect-ratio: 1/1;
  width: 2rem;
  margin-top: 0.2rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .profile-history .mesh-inner .history-list__item .detail a[target]::after {
    width: 1.5rem;
  }
}

.page--classrooms {
  counter-reset: global-item;
}

.classrooms-main .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.classrooms-main .map {
  margin-top: 5.6rem;
  padding: 2rem;
  background: #fff;
  border-radius: 2.4rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .map {
    border-radius: 1.4rem;
    margin-top: 3rem;
  }
}
.classrooms-main .map .img {
  position: relative;
}
.classrooms-main .map img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .classrooms-main .map .button {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .classrooms-main .map .button {
    text-align: center;
    margin-top: 1.3rem;
  }
}
.classrooms-main .map .button a {
  background: var(--themeColor);
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  line-height: 1.5;
  border: 1px solid #fff;
  width: 19.4rem;
  height: 4.8rem;
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  font-weight: bold;
  border-radius: 50vw;
}
.classrooms-main .map .button a::before {
  content: "";
  display: block;
  width: 2.4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24' height='24' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='長方形_389' data-name='長方形 389' width='24' height='24' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='ic_include' clip-path='url(%23clip-path)'%3E%3Cpath id='パス_3917' data-name='パス 3917' d='M29.529,0H21.059a.353.353,0,0,0-.25.6L23.8,3.59,20.1,7.283a.353.353,0,0,0,0,.5l2,2a.354.354,0,0,0,.5,0l3.693-3.694,2.987,2.988a.353.353,0,0,0,.6-.25V.353A.353.353,0,0,0,29.529,0' transform='translate(-5.882)' fill='%23fff'/%3E%3Cpath id='パス_3918' data-name='パス 3918' d='M29.664,20.733a.355.355,0,0,0-.385.076L26.292,23.8,22.6,20.1a.353.353,0,0,0-.5,0l-2,2a.353.353,0,0,0,0,.5L23.8,26.292l-2.987,2.987a.353.353,0,0,0,.25.6h8.471a.353.353,0,0,0,.353-.353V21.059a.353.353,0,0,0-.218-.326' transform='translate(-5.882 -5.882)' fill='%23fff'/%3E%3Cpath id='パス_3919' data-name='パス 3919' d='M6.085,3.59,9.073.6A.353.353,0,0,0,8.824,0H.353A.353.353,0,0,0,0,.353V8.824a.353.353,0,0,0,.217.326.362.362,0,0,0,.136.027.353.353,0,0,0,.249-.1L3.59,6.085,7.283,9.779a.354.354,0,0,0,.5,0l2-2a.352.352,0,0,0,0-.5Z' fill='%23fff'/%3E%3Cpath id='パス_3920' data-name='パス 3920' d='M7.782,20.1a.353.353,0,0,0-.5,0L3.59,23.8.6,20.809a.353.353,0,0,0-.6.25v8.471a.353.353,0,0,0,.353.353H8.824a.353.353,0,0,0,.249-.6L6.085,26.292,9.779,22.6a.354.354,0,0,0,0-.5Z' transform='translate(0 -5.882)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  aspect-ratio: 1/1;
}
.classrooms-main .pins .pin {
  margin-top: 9rem;
  padding: 4rem;
}
@media only screen and (max-width: 1220px) {
  .classrooms-main .pins .pin {
    padding: 4rem 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .classrooms-main .pins .pin {
    margin-top: 7rem;
    padding: 1.4rem 1.4rem 2rem;
  }
}
.classrooms-main .pins .pin .ttl {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--themeColor);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .pins .pin .ttl {
    font-size: 2rem;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
  }
}
.classrooms-main .map-modal {
  display: none;
}
.classrooms-main .classroom-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
}
.classrooms-main .classroom-list__item {
  counter-increment: global-item;
  flex: 0 0 calc((100% - 4.5rem) / 4);
}
@media only screen and (max-width: 767px) {
  .classrooms-main .classroom-list__item {
    flex: 0 0 calc((100% - 1.5rem) / 2);
  }
}
.classrooms-main .classroom-list__item a,
.classrooms-main .classroom-list__item span {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  font-weight: bold;
  gap: 0.6rem;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .classroom-list__item a,
  .classrooms-main .classroom-list__item span {
    font-size: 1.4rem;
  }
}
.classrooms-main .classroom-list__item a::before,
.classrooms-main .classroom-list__item span::before {
  content: counter(global-item);
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  color: #fff;
  background: var(--themeColor);
  border-radius: 50vw;
  font-size: 1.8rem;
  line-height: 1;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  font-family: var(--enFont);
  font-weight: bold;
  letter-spacing: -0.075em;
  padding-right: 0.1em;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .classroom-list__item a::before,
  .classrooms-main .classroom-list__item span::before {
    width: 1.8rem;
    height: 1.8rem;
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .classrooms-main .classroom-list__item a {
    transition: 200ms;
  }
  .classrooms-main .classroom-list__item a:hover {
    color: var(--themeColor);
  }
}
.classrooms-main .classroom-list-other {
  border-top: 1px solid #E4E4E4;
  padding-top: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .classrooms-main .classroom-list-other {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .classrooms-main .classroom-list-other {
    padding-top: 1rem;
  }
}
.classrooms-main .classroom-list-other__item {
  counter-increment: other-item;
}
@media only screen and (min-width: 768px) {
  .classrooms-main .classroom-list-other__item {
    flex: 1;
  }
}
.classrooms-main .classroom-list-other__item a,
.classrooms-main .classroom-list-other__item span {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  gap: 0.6rem;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .classroom-list-other__item a,
  .classrooms-main .classroom-list-other__item span {
    font-size: 1.4rem;
    justify-content: flex-start;
  }
}
.classrooms-main .classroom-list-other__item a::before,
.classrooms-main .classroom-list-other__item span::before {
  content: counter(other-item);
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  color: #fff;
  background: var(--themeColor);
  border-radius: 50vw;
  font-size: 1.8rem;
  line-height: 1;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  font-family: var(--enFont);
  font-weight: bold;
  letter-spacing: -0.075em;
  padding-right: 0.1em;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .classroom-list-other__item a::before,
  .classrooms-main .classroom-list-other__item span::before {
    width: 1.8rem;
    height: 1.8rem;
    font-size: 1.2rem;
  }
}
.classrooms-main .classroom-list-other__item a.blue::before,
.classrooms-main .classroom-list-other__item span.blue::before {
  background: #C7E1FF;
  color: #22282B;
}
.classrooms-main .classroom-list-other__item a.green::before,
.classrooms-main .classroom-list-other__item span.green::before {
  background: #C0EDA4;
  color: #22282B;
}
@media only screen and (min-width: 768px) {
  .classrooms-main .classroom-list-other__item a {
    transition: 200ms;
  }
  .classrooms-main .classroom-list-other__item a:hover {
    color: var(--themeColor);
  }
}
.classrooms-main .note {
  text-shadow: 2px 2px 0px #FFFFFF;
  font-weight: bold;
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .classrooms-main .note {
    margin-top: 2rem;
  }
}

.map-modal-inner {
  padding: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .map-modal-inner {
    padding: 1.4rem;
  }
}
.map-modal-inner .img {
  overflow: auto;
  max-height: 64rem;
}
@media only screen and (max-width: 767px) {
  .map-modal-inner .img {
    height: calc(100dvh - 8rem);
  }
}
.map-modal-inner .img img {
  width: 1700px;
  max-width: none;
}
@media only screen and (max-width: 767px) {
  .map-modal-inner .img img {
    width: 800px;
  }
}
.map-modal-inner .img span {
  position: absolute;
  bottom: 3.2rem;
  right: 3.2rem;
  background: #22282B;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  width: 16.2rem;
  height: 4rem;
  border: 0.1rem solid #fff;
}
@media only screen and (max-width: 767px) {
  .map-modal-inner .img span {
    bottom: 1.4rem;
    right: 1.4rem;
  }
}
.map-modal-inner .img span::before {
  content: "";
  display: block;
  width: 2.4rem;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='25' height='25' viewBox='0 0 25 25'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='長方形_229' data-name='長方形 229' width='11.077' height='12' transform='translate(0 0)' fill='%23fff'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='ic' transform='translate(3.5 4.5)'%3E%3Cg id='グループ_127' data-name='グループ 127' transform='translate(2 -0.001)'%3E%3Cpath id='arrow_b' d='M8,4,4,0,0,4Z' transform='translate(11 20.001) rotate(180)' fill='%23fff' stroke='%23111' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3Cpath id='arrow_t' d='M8,0,4,4,0,0Z' transform='translate(11 0.001) rotate(180)' fill='%23fff' stroke='%23111' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3C/g%3E%3Cg id='グループ_126' data-name='グループ 126' transform='translate(0.5 1)'%3E%3Cpath id='arrow_r' d='M8,4,4,0,0,4Z' transform='translate(20.5 3) rotate(90)' fill='%23fff' stroke='%23111' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3Cpath id='arrow_l' d='M8,0,4,4,0,0Z' transform='translate(0.5 3) rotate(90)' fill='%23fff' stroke='%23111' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'/%3E%3C/g%3E%3Cg id='hand' transform='translate(3 2)' clip-path='url(%23clip-path)'%3E%3Cpath id='パス_1833' data-name='パス 1833' d='M8.46,2.651a1.144,1.144,0,0,0-.389.188,1.157,1.157,0,0,0-1.265-.481,1.144,1.144,0,0,0-.512.3.928.928,0,0,0-.482-.168,1.608,1.608,0,0,0-.53.059.9.9,0,0,0-.3.148c-.021.015-.041.031-.061.048L4.419.858a1.156,1.156,0,0,0-2.234.6l1.1,4.115c.019.074.246.916.266.992a.975.975,0,0,1,.038.311.216.216,0,0,1-.006.035.106.106,0,0,1-.022,0,.548.548,0,0,1-.109-.027L2.009,5.872a1.278,1.278,0,0,0-1.463,2.1L3.519,10.04c.606.442,1.021.68,1.57,1.026a6.74,6.74,0,0,0,1.534.781,3.093,3.093,0,0,0,1.794.037,3.585,3.585,0,0,0,2.536-4.392L9.875,3.469A1.155,1.155,0,0,0,8.46,2.651' transform='translate(0 0)' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

.roles-main .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .roles-main .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.roles-main .roles-title {
  text-shadow: 0.2rem 0.2rem 0 #FFFFFF;
  font-size: 3.2rem;
  line-height: 1.5;
  color: var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-title {
    font-size: 2rem;
  }
}
.roles-main .roles-title::after {
  content: "";
  display: block;
  max-width: 56rem;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.8rem;
}
.roles-main .roles-title .small {
  font-size: 0.8em;
}
.roles-main .lead {
  font-size: 1.8rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .roles-main .lead {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
}
.roles-main .lead p {
  letter-spacing: 0.025em;
}
.roles-main .lead p:not(:last-of-type) {
  margin-bottom: 1em;
}
.roles-main .roles-list {
  margin-top: 6rem;
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10.6rem 15.8rem;
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list {
    margin-top: 3rem;
  }
}
.roles-main .roles-list-wrap {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list-wrap .img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50rem;
    z-index: 1;
  }
}
@media only screen and (max-width: 1280px) {
  .roles-main .roles-list-wrap .img {
    width: 37%;
  }
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list-wrap .img {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
  }
}
.roles-main .roles-list .staffs {
  border-radius: 3.8rem;
  border: 4px solid #ccc;
  padding: 0.5rem 2.5rem 2.5rem;
  display: flex;
  flex-flow: column;
  justify-content: stretch;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list .staffs {
    flex: 0 0 calc((100% - 15.8rem) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs {
    border-radius: 2.4rem;
    padding: 0.5rem 1.5rem 2rem;
  }
}
.roles-main .roles-list .staffs:not(:last-of-type) {
  margin-bottom: 1.5rem;
}
.roles-main .roles-list .staffs > * {
  max-width: 30.7rem;
  width: 100%;
}
.roles-main .roles-list .staffs-title {
  height: 6rem;
  position: relative;
  z-index: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 2rem;
  max-width: none;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs-title {
    font-size: 2rem;
    height: 4rem;
  }
}
.roles-main .roles-list .staffs-title::before {
  content: "";
  display: block;
  width: calc(100% + 4rem);
  height: 100%;
  background: #ccc;
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50vw;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs-title::before {
    width: calc(100% + 2rem);
  }
}
.roles-main .roles-list .staffs-position {
  font-size: 1.6rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs-position {
    font-size: 1.4rem;
  }
}
.roles-main .roles-list .staffs-position span {
  font-size: 1.7em;
  border-radius: 0.4rem;
  background: #ccc;
  min-height: 4.4rem;
  padding: 0 1.2rem 0.1rem;
  font-weight: bold;
  line-height: 1;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs-position span {
    font-size: 1.3em;
    min-height: 3.5rem;
  }
}
.roles-main .roles-list .staffs-lead {
  font-size: 1.8rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs-lead {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.roles-main .roles-list .staffs .list {
  margin-top: auto;
}
.roles-main .roles-list .staffs .list .ttl span {
  display: inline-block;
  width: 13.2rem;
  height: 2.8rem;
  background: #ccc;
  letter-spacing: 0.05em;
  font-weight: bold;
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs .list .ttl span {
    max-width: 12rem;
  }
}
.roles-main .roles-list .staffs .list ul {
  margin-top: 0.5rem;
}
.roles-main .roles-list .staffs .list ul li {
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
  padding-left: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .roles-main .roles-list .staffs .list ul li {
    font-size: 1.4rem;
  }
}
.roles-main .roles-list .staffs .list ul li::before {
  content: "●";
  display: block;
  width: 1em;
  height: 1em;
  color: #ccc;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list .staffs:nth-of-type(1) {
    order: 1;
  }
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list .staffs:nth-of-type(2) {
    order: 2;
  }
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list .staffs:nth-of-type(3) {
    order: 4;
  }
}
@media only screen and (min-width: 768px) {
  .roles-main .roles-list .staffs:nth-of-type(4) {
    order: 3;
  }
}
.roles-main .roles-list .staffs:nth-of-type(2) > *, .roles-main .roles-list .staffs:nth-of-type(3) > * {
  margin-left: auto;
}
.roles-main .roles-list .staffs:nth-of-type(2) .staffs-position, .roles-main .roles-list .staffs:nth-of-type(3) .staffs-position {
  justify-content: flex-end;
}
.roles-main .roles-list .staffs.yellow {
  border-color: #FADE9C;
}
.roles-main .roles-list .staffs.yellow .staffs-title::before,
.roles-main .roles-list .staffs.yellow .list .ttl span {
  background: #FDEFCF;
}
.roles-main .roles-list .staffs.yellow .staffs-position span {
  background: #FADE9C;
}
.roles-main .roles-list .staffs.yellow .list ul li::before {
  color: #FADE9C;
}
.roles-main .roles-list .staffs.blue {
  border-color: #C7E1FF;
}
.roles-main .roles-list .staffs.blue .staffs-title::before,
.roles-main .roles-list .staffs.blue .list .ttl span {
  background: #E4F1FF;
}
.roles-main .roles-list .staffs.blue .staffs-position span {
  background: #C7E1FF;
}
.roles-main .roles-list .staffs.blue .list ul li::before {
  color: #C7E1FF;
}
.roles-main .roles-list .staffs.green {
  border-color: #C0EDA4;
}
.roles-main .roles-list .staffs.green .staffs-title::before,
.roles-main .roles-list .staffs.green .list .ttl span {
  background: #E0F6D3;
}
.roles-main .roles-list .staffs.green .staffs-position span {
  background: #C0EDA4;
}
.roles-main .roles-list .staffs.green .list ul li::before {
  color: #C0EDA4;
}

.roles-job .mesh {
  overflow: hidden;
  z-index: 0;
}
.roles-job .mesh-prev {
  position: relative;
}
.roles-job .mesh-prev::before {
  content: "";
  display: block;
  width: calc(100dvw + 6rem);
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background: var(--themeColor);
  border-radius: 2.4rem 0 0 0;
}
.roles-job.mesh-left .mesh-prev {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .roles-job.mesh-left .mesh-prev {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job.mesh-left .mesh-prev {
    padding-left: 1.8rem;
    padding-top: 2.4rem;
    padding-bottom: 4.6rem;
  }
}
.roles-job.mesh-left .mesh-prev::before {
  border-radius: 2.4rem 0 0 0;
}
@media only screen and (max-width: 767px) {
  .roles-job.mesh-left .mesh-prev::before {
    border-radius: 1.6rem 0 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .roles-job.mesh-left .mesh-prev::before {
    left: -5.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job.mesh-left .mesh-prev::before {
    left: -0.3rem;
  }
}
.roles-job.mesh-left .mesh-inner {
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .roles-job.mesh-left .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 4.2rem;
  }
}
.roles-job.mesh-left .mesh-inner::before {
  border-radius: 0 0 0 2.5rem;
}
@media only screen and (max-width: 767px) {
  .roles-job.mesh-left .mesh-inner::before {
    border-radius: 0 0 0 1.6rem;
  }
}
.roles-job .mesh-prev .c-title--page span {
  color: #fff;
  border-color: #fff;
}
.roles-job .mesh-prev .c-title--page span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-w.svg);
}
.roles-job .mesh-inner {
  padding-top: 4rem;
}
.roles-job .staff-list {
  margin-top: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list {
    margin-top: 2.4rem;
  }
}
.roles-job .staff-list__item {
  background: #fff;
  border-radius: 1.6rem;
  padding: 1.2rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: stretch;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .roles-job .staff-list__item {
    flex: 0 0 calc((100% - 4rem) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item {
    padding: 0.7rem;
  }
}
.roles-job .staff-list__item:not(:last-of-type) {
  margin-bottom: 2.4rem;
}
.roles-job .staff-list__item .inner {
  border-radius: 1rem;
  border: 1px solid #D2D4D8;
  padding: 1.8rem;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .inner {
    padding: 1.2rem;
  }
}
.roles-job .staff-list__item .grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .grid {
    align-items: flex-start;
    gap: 1.1rem 1.6rem;
  }
}
.roles-job .staff-list__item .img {
  width: 17.6rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .img {
    width: 11.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-job .staff-list__item .text {
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text {
    display: contents;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .inr {
    flex: 1;
  }
}
.roles-job .staff-list__item .text .title {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  border-bottom: 0.1rem solid var(--themeColor);
  padding-bottom: 1rem;
  line-height: 1.55;
}
@media only screen and (max-width: 1250px) {
  .roles-job .staff-list__item .text .title {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .title {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.roles-job .staff-list__item .text .title .small {
  font-size: 0.8em;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .title .small {
    display: block;
  }
}
.roles-job .staff-list__item .text .lead {
  margin-top: 1.8rem;
  font-size: 1.8rem;
  line-height: 1.5555;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .lead {
    font-size: 1.4rem;
    margin-top: 0.9rem;
    line-height: 1.75;
  }
}
.roles-job .staff-list__item .text .lead p:not(:last-of-type) {
  margin-bottom: 0.8em;
}
.roles-job .staff-list__item .text .btn {
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .roles-job .staff-list__item .text .btn {
    margin-top: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .btn {
    width: 100%;
  }
}
.roles-job .staff-list__item .text .btn a {
  font-size: 2rem;
  min-width: auto;
  width: 100%;
  max-width: 25.5rem;
  min-height: 6.2rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .btn a {
    font-size: 1.6rem;
    max-width: 20rem;
    min-height: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .staff-list__item .text .btn a::before, .roles-job .staff-list__item .text .btn a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.roles-job .interview-list {
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list {
    margin-top: 7rem;
  }
}
.roles-job .interview-list__item {
  position: relative;
  display: flex;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item {
    flex-flow: column;
  }
}
.roles-job .interview-list__item:not(:last-of-type) {
  margin-bottom: 4.9rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}
.roles-job .interview-list__item.align-top {
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item.align-top {
    justify-content: center;
  }
}
.roles-job .interview-list__item.align-center {
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item.align-center {
    justify-content: center;
  }
}
.roles-job .interview-list__item.left {
  flex-flow: row wrap;
}
.roles-job .interview-list__item.left .text {
  margin-left: auto;
}
.roles-job .interview-list__item.left .text::before {
  right: 0;
}
.roles-job .interview-list__item.right {
  flex-flow: row-reverse wrap;
}
.roles-job .interview-list__item.right .text {
  margin-right: auto;
}
.roles-job .interview-list__item.right .text::before {
  left: 0;
}
.roles-job .interview-list__item .image {
  width: 40rem;
  z-index: 1;
  margin-top: -4rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .image {
    width: 31.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .image .img {
    width: 21rem;
  }
}
.roles-job .interview-list__item .images {
  width: 40rem;
  z-index: 1;
  display: flex;
  flex-flow: column-reverse;
  justify-content: flex-start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .images {
    width: 31.2rem;
  }
}
.roles-job .interview-list__item .images .img {
  width: 30rem;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .images .img {
    width: 17.2rem;
  }
}
.roles-job .interview-list__item .images .img:nth-of-type(2) {
  margin-left: auto;
  margin-bottom: -2rem;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .images .img:nth-of-type(2) {
    margin-bottom: -8.7rem;
  }
}
.roles-job .interview-list__item .img {
  position: relative;
}
.roles-job .interview-list__item .img::before {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--themeColor);
  border-radius: 0.8rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .img::before {
    border-radius: 0.8rem;
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
  }
}
.roles-job .interview-list__item .img img {
  border-radius: 1.6rem;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .img img {
    border-radius: 1.2rem;
  }
}
.roles-job .interview-list__item .text {
  flex: 1;
  position: relative;
  z-index: 0;
  padding: 3.2rem;
  min-height: 28.4rem;
  display: flex;
  flex-flow: column;
  justify-content: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .text {
    background: #F3EDDF;
    border-radius: 1.6rem;
    padding: 1.6rem;
    padding-top: 8.8rem;
    margin-top: -7rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-job .interview-list__item .text::before {
    content: "";
    display: block;
    width: calc(100% + 16.8rem);
    height: 100%;
    background: #F3EDDF;
    position: absolute;
    top: 0;
    z-index: -1;
    border-radius: 1.6rem;
  }
}
.roles-job .interview-list__item .text .title {
  font-size: 2.8rem;
  border-bottom: 0.1rem solid var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .text .title {
    font-size: 1.6rem;
  }
}
.roles-job .interview-list__item .text .lead {
  font-size: 1.8rem;
  line-height: 1.5556;
  font-weight: bold;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .text .lead {
    font-size: 1.4rem;
    margin-top: 0.7rem;
  }
}
.roles-job .interview-list__item .text .btn {
  margin-top: auto;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .text .btn {
    margin-top: 1.3rem;
    width: 100%;
  }
}
.roles-job .interview-list__item .text .btn a {
  font-size: 2rem;
  min-width: auto;
  width: 100%;
  max-width: 25.5rem;
  min-height: 6.2rem;
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .text .btn a {
    font-size: 1.6rem;
    max-width: 20rem;
    min-height: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-job .interview-list__item .text .btn a::before, .roles-job .interview-list__item .text .btn a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}

.roles-child .mesh {
  overflow: hidden;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh {
    padding-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .row {
    padding: 0 1.8rem;
  }
}
.roles-child .mesh-inner {
  position: relative;
}
.roles-child .mesh-inner::before {
  content: "";
  display: block;
  width: calc(100dvw + 6rem);
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background-color: #F3EDDF;
  background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px);
  background-size: 28px 28px;
  background-position: -0.5px -0.5px;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh-inner::before {
    background-size: 20px 20px;
  }
}
.roles-child .mesh .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.roles-child .mesh .mesh-inner:not(:last-of-type) {
  margin-bottom: 6rem;
}
.roles-child .mesh .mesh-inner .grid {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid {
    display: block;
  }
}
.roles-child .mesh .mesh-inner .grid .img {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .roles-child .mesh .mesh-inner .grid .img {
    width: 44rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .img {
    width: 21rem;
    margin-top: -4rem;
  }
}
.roles-child .mesh .mesh-inner .grid .img .picture {
  display: block;
  position: relative;
}
.roles-child .mesh .mesh-inner .grid .img .picture::before {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--themeColor);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.8rem;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .img .picture::before {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    border-radius: 0.8rem;
  }
}
.roles-child .mesh .mesh-inner .grid .img .picture img {
  border-radius: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .img .picture img {
    border-radius: 1.2rem;
  }
}
.roles-child .mesh .mesh-inner .grid .text {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .text {
    margin-top: 2rem;
  }
}
.roles-child .mesh .mesh-inner .grid .text .message-title {
  text-shadow: 2px 2px 1px #FFFFFF;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .text .message-title {
    font-size: 1.8rem;
  }
}
.roles-child .mesh .mesh-inner .grid .text .message-title + .detail {
  margin-top: 2.4rem;
}
.roles-child .mesh .mesh-inner .grid .text .interview-title {
  margin-bottom: 1.5rem;
}
.roles-child .mesh .mesh-inner .grid .text .interview-title span {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: var(--themeColor);
  text-shadow: 0.05em 0.05em #fff;
  padding-left: 2.6rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .text .interview-title span {
    font-size: 1.6rem;
    padding-left: 2rem;
  }
}
.roles-child .mesh .mesh-inner .grid .text .interview-title span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 1.75rem;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .text .interview-title span::before {
    width: 1.5rem;
  }
}
.roles-child .mesh .mesh-inner .grid .text .detail + .message-title {
  margin-top: 2.3rem;
}
.roles-child .mesh .mesh-inner .grid .text .detail p {
  font-size: 1.8rem;
  letter-spacing: 0.025em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner .grid .text .detail p {
    font-size: 1.4rem;
  }
}
.roles-child .mesh .mesh-inner .grid .text .detail p:not(:last-of-type) {
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner:nth-of-type(odd) {
    padding-left: 1.8rem;
  }
}
.roles-child .mesh .mesh-inner:nth-of-type(odd)::before {
  border-radius: 2.5rem 0 0 2.5rem;
}
@media only screen and (min-width: 768px) {
  .roles-child .mesh .mesh-inner:nth-of-type(odd)::before {
    left: 25.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner:nth-of-type(odd)::before {
    left: -0.3rem;
    border-radius: 1.6rem 0 0 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child .mesh .mesh-inner:nth-of-type(odd) .grid {
    flex-flow: row wrap;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner:nth-of-type(even) {
    padding-right: 1.8rem;
  }
}
.roles-child .mesh .mesh-inner:nth-of-type(even)::before {
  border-radius: 0 2.5rem 2.5rem 0;
}
@media only screen and (min-width: 768px) {
  .roles-child .mesh .mesh-inner:nth-of-type(even)::before {
    right: 25.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner:nth-of-type(even)::before {
    right: -0.4rem;
    border-radius: 0 1.6rem 1.6rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child .mesh .mesh-inner:nth-of-type(even) .grid {
    flex-flow: row-reverse wrap;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child .mesh .mesh-inner:nth-of-type(even) .grid .img {
    margin-left: auto;
  }
}
.roles-child .role-child-title {
  text-shadow: 2px 2px 1px #FFFFFF;
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--themeColor);
}
@media only screen and (max-width: 767px) {
  .roles-child .role-child-title {
    font-size: 2rem;
  }
}
.roles-child .role-child-title .small {
  font-size: 0.7em;
}
.roles-child .role-child-title + .detail {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .role-child-title + .detail {
    margin-top: 2rem;
  }
}
.roles-child .role-child-title-sub span {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-shadow: 0.05em 0.05em #fff;
  padding-left: 2.8rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .roles-child .role-child-title-sub span {
    font-size: 1.8rem;
    padding-left: 2rem;
  }
}
.roles-child .role-child-title-sub span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 2.1rem;
  position: absolute;
  top: 0.7rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .roles-child .role-child-title-sub span::before {
    top: 0.5rem;
    width: 1.6rem;
  }
}
.roles-child .role-child-title-sub + .role-child-lead {
  margin-top: 1rem;
}
.roles-child .role-child-title-sub + .role-child-lead p {
  line-height: 1.75;
}
.roles-child .text .detail .role-child-title-sub:not(:first-child) {
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .text .detail .role-child-title-sub:not(:first-child) {
    margin-top: 3rem;
  }
}
.roles-child .text .detail .role-child-lead + .role-child-lead {
  margin-top: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .roles-child .text .detail .role-child-lead + .role-child-lead {
    margin-top: 2rem;
  }
}
.roles-child .text .detail p {
  line-height: 1.5;
  font-weight: 400;
}
.roles-child .text .detail p.bold {
  font-weight: 500;
}
.roles-child-pin {
  padding-top: 2.6rem;
}
@media only screen and (min-width: 768px) {
  .roles-child-pin .pin-title {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .pin-title {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
  }
}
.roles-child-pin .pin-title span {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-shadow: 0.05em 0.05em #fff;
  padding-left: 2.8rem;
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .pin-title span {
    font-size: 1.8rem;
  }
}
.roles-child-pin .pin-title span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 2.1rem;
  position: absolute;
  top: 0.7rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .pin-title span::before {
    width: 1.8rem;
    top: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child-pin .pin-border {
    padding: 3.2rem 3.8rem 3.5rem;
  }
}
.roles-child-pin .grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.2rem;
  padding-top: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .grid {
    align-items: flex-start;
    gap: 1.1rem 1.6rem;
    padding-top: 0.9rem;
  }
}
.roles-child-pin .img {
  width: 19rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .img {
    width: 11.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child-pin .text {
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text {
    display: contents;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .inr {
    flex: 1;
  }
}
.roles-child-pin .text .title {
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  border-bottom: 0.1rem solid var(--themeColor);
  padding-bottom: 1rem;
  line-height: 1.55;
}
@media only screen and (max-width: 1250px) {
  .roles-child-pin .text .title {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .title {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.roles-child-pin .text .title .small {
  font-size: 0.8em;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .title .small {
    display: block;
  }
}
.roles-child-pin .text .lead {
  font-size: 1.8rem;
  line-height: 1.778;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .lead {
    font-size: 1.4rem;
  }
}
.roles-child-pin .text .lead p {
  font-weight: 400;
}
.roles-child-pin .text .lead p .red {
  color: var(--themeColor);
  font-weight: bold;
}
.roles-child-pin .text .btn {
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .roles-child-pin .text .btn {
    margin-top: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .btn {
    width: 100%;
  }
}
.roles-child-pin .text .btn a {
  font-size: 2rem;
  min-width: auto;
  width: 100%;
  max-width: 25.5rem;
  min-height: 6.2rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .btn a {
    font-size: 1.6rem;
    max-width: 20rem;
    min-height: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .text .btn a::before, .roles-child-pin .text .btn a::after {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.roles-child-pin .btn-area {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 3.5rem;
  margin-top: 8rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .btn-area {
    gap: 2rem;
    margin-top: 4rem;
  }
}
.roles-child-pin .btn-area .img {
  width: 17.4rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .btn-area .img {
    width: 9rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child-pin .btn-area .btn a {
    font-size: 2rem;
    min-height: 8.9rem;
    min-width: 38rem;
    border-radius: 0.8rem 4.45rem 4.45rem 0.8rem;
    padding: 0.4rem 0.6rem 0.4rem 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-pin .btn-area .btn a {
    min-width: 23.5rem;
    padding: 0.2rem 0.4rem 0.2rem 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child-pin .btn-area .btn a::before, .roles-child-pin .btn-area .btn a::after {
    width: 8.1rem;
    height: 8.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-links {
    margin-top: 8rem;
  }
}
.roles-child-links .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.roles-child-links .c-title--page span {
  color: #fff;
  border-color: #fff;
}
.roles-child-links .c-title--page span::before {
  background-image: url(../img/common/icon-pen-w.svg);
}
.roles-child-links .links-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2.7rem;
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list {
    flex-flow: column;
    gap: 2rem;
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .roles-child-links .links-list__item {
    flex: 0 0 calc((100% - 5.4rem) / 3);
  }
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list__item {
    width: 100%;
  }
}
.roles-child-links .links-list__item a {
  background: #fff;
  display: block;
  border-radius: 1.6rem;
  min-height: 10.8rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem 3rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list__item a {
    padding: 1rem 1.5rem;
    min-height: 7.5rem;
    border-radius: 1.2rem;
  }
}
.roles-child-links .links-list__item a::after {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border-radius: 0.8rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  border: 1px solid #D2D4D8;
  transition: 200ms;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list__item a::after {
    border-radius: 0.6rem;
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
  }
}
.roles-child-links .links-list__item a > span {
  font-size: 2.4rem;
  font-weight: bold;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list__item a > span {
    font-size: 1.8rem;
  }
}
.roles-child-links .links-list__item a > span .small {
  font-size: 0.8em;
}
.roles-child-links .links-list__item a > span::before, .roles-child-links .links-list__item a > span::after {
  content: "";
  display: block;
  width: 5.3rem;
  height: 5.3rem;
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  box-sizing: content-box;
  transition: 200ms;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list__item a > span::before, .roles-child-links .links-list__item a > span::after {
    width: 4rem;
    height: 4rem;
  }
}
.roles-child-links .links-list__item a > span::before {
  background-image: url(../img/common/btn-icon-hv.svg);
  background-color: var(--themeColor);
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0%, -50%);
  opacity: 0;
  border-color: #fff;
  transition: opacity 200ms;
}
@media only screen and (max-width: 767px) {
  .roles-child-links .links-list__item a > span::before {
    right: 1.5rem;
  }
}
.roles-child-links .links-list__item a > span::after {
  background-image: url(../img/common/btn-icon.svg);
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .roles-child-links .links-list__item a {
    transition: 200ms;
  }
  .roles-child-links .links-list__item a:hover {
    color: var(--themeColor);
  }
  .roles-child-links .links-list__item a:hover::after {
    border-color: var(--themeColor);
  }
  .roles-child-links .links-list__item a:hover span::before {
    opacity: 1;
  }
  .roles-child-links .links-list__item a:hover span::after {
    opacity: 0;
  }
}

.training-intro .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .training-intro .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.training-intro .training-title {
  text-shadow: 0.2rem 0.2rem 0 #FFFFFF;
  font-size: 3.2rem;
  line-height: 1.5;
  color: var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .training-intro .training-title {
    font-size: 2rem;
  }
}
.training-intro .training-title::after {
  content: "";
  display: block;
  max-width: 56rem;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.8rem;
}
.training-intro .training-title .small {
  font-size: 0.8em;
}
.training-intro .grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .training-intro .grid {
    gap: 1rem;
    flex-flow: column;
    margin-top: 2rem;
  }
}
.training-intro .lead {
  font-size: 1.8rem;
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .training-intro .lead {
    font-size: 1.4rem;
  }
}
.training-intro .lead p {
  letter-spacing: 0.025em;
}
.training-intro .img {
  max-width: 26rem;
}
@media only screen and (min-width: 768px) {
  .training-intro .img {
    padding-top: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .training-intro .img {
    max-width: 20rem;
    margin-left: auto;
  }
}

.training-c-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8rem 0;
  margin-top: 7rem;
}
@media only screen and (min-width: 768px) {
  .training-c-grid {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .training-c-grid {
    flex-flow: column;
    gap: 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .training-c-grid.jcc {
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .training-c-grid.align-start {
    align-items: flex-start;
  }
}
.training-c-grid .item {
  display: flex;
  flex-flow: row wrap;
  justify-content: stretch;
  align-items: stretch;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .training-c-grid .item {
    width: calc(33.3333333333% - 3rem);
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}
.training-c-grid .item .pin {
  width: 100%;
}
.training-c-grid .item .picture {
  display: block;
  width: 22rem;
  filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.1607843137));
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media only screen and (max-width: 767px) {
  .training-c-grid .item .picture {
    display: none;
  }
}
.training-c-grid .item .picture::after {
  content: "";
  display: block;
  width: 6.2rem;
  height: 3.6rem;
  background-image: url(../img/recruit/training-hukidashi.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  bottom: 3rem;
  right: -1.5rem;
}
.training-c-grid .item .picture img {
  position: relative;
  z-index: 1;
}
.training-c-grid .item.last {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .training-c-grid .item.last {
    display: block;
    margin-top: -5.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .training-c-grid .item.last .ex {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .training-c-grid .item.last .ex {
    display: block;
    text-align: right;
  }
}

.article-training .training-lead {
  font-size: 1.8rem;
  line-height: 2;
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .article-training .training-lead {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .article-training .training-lead {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 2rem;
  }
}
.article-training .pin .training-pin-title {
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .article-training .pin .training-pin-title {
    font-size: 1.8rem;
  }
}
.article-training .pin .training-pin-lead {
  padding-top: 1.5rem;
  margin-top: 1rem;
  border-top: 1px solid var(--themeColor);
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .article-training .pin .training-pin-lead {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .article-training .pin .training-pin-lead {
    font-size: 1.4rem;
  }
}
.training-unofficial-offer .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .training-unofficial-offer .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.training-unofficial-offer .training-c-grid .item .picture {
  height: calc(100% + 3.9rem);
  max-height: 26.2rem;
  width: auto;
}
.training-unofficial-offer .training-c-grid .item .picture img {
  height: 100%;
  max-width: none;
}

.training-new-employee .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .training-new-employee .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}

.training-2ndtraining .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .training-2ndtraining .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .training-2ndtraining .training-c-grid .item {
    min-width: 60rem;
  }
}
.training-2ndtraining .training-c-grid .item .picture {
  position: absolute;
  bottom: auto;
  top: 50%;
  left: -6rem;
  transform: translate(-100%, -50%);
}
@media only screen and (min-width: 768px) {
  .training-2ndtraining .training-c-grid .item .picture::after {
    bottom: 5rem;
    right: -2.5rem;
    transform: rotate(-20deg);
  }
}

.training-other .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .training-other .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}

.benefits-intro .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .benefits-intro .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.benefits-intro .benefits-intro-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .benefits-intro .benefits-intro-grid {
    gap: 1rem;
    flex-flow: column;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .benefits-intro .benefits-intro-grid .head {
    max-width: 90rem;
  }
}
.benefits-intro .benefits-title {
  text-shadow: 0.2rem 0.2rem 0 #ffffff;
  font-size: 3.2rem;
  line-height: 1.5;
  color: var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .benefits-intro .benefits-title {
    font-size: 2rem;
  }
}
.benefits-intro .benefits-title::after {
  content: "";
  display: block;
  max-width: 56rem;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.8rem;
}
.benefits-intro .benefits-title .small {
  font-size: 0.8em;
}
.benefits-intro .img {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .benefits-intro .img {
    max-width: 20rem;
    margin-left: auto;
    margin-top: 1rem;
  }
}
.benefits-intro .img img {
  width: 26rem;
}
@media only screen and (max-width: 767px) {
  .benefits-intro .img img {
    width: 18rem;
  }
}

.benefits-detail .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .benefits-detail .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.benefits-detail .benefits-detail-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid {
    flex-flow: column;
    gap: 2rem;
  }
}
.benefits-detail .benefits-detail-grid .item {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .benefits-detail .benefits-detail-grid .item {
    flex: 0 0 calc((100% - 2.4rem) / 2);
  }
}
.benefits-detail .benefits-detail-grid .item .border {
  background: #fff;
  border-radius: 2.4rem;
  position: relative;
  border: 10px solid #fff;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
  display: flex;
  flex-flow: column wrap;
  justify-content: stretch;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .benefits-detail .benefits-detail-grid .item .border {
    padding: 2.5rem 2.5rem 3rem;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .border {
    padding: 1.2rem;
  }
}
.benefits-detail .benefits-detail-grid .item .border-inner {
  display: flex;
  flex-flow: column wrap;
  justify-content: stretch;
  align-items: flex-start;
  height: 100%;
}
.benefits-detail .benefits-detail-grid .item .border-inner > * {
  position: relative;
  z-index: 2;
}
.benefits-detail .benefits-detail-grid .item .border-inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--themeColor);
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1.6rem;
  pointer-events: none;
  z-index: 1;
}
.benefits-detail .benefits-detail-grid .item .border .grid-title {
  font-size: 2.6rem;
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.23;
  letter-spacing: 0.15em;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .border .grid-title {
    font-size: 1.6rem;
  }
}
.benefits-detail .benefits-detail-grid .item .border .grid-title span {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
  background: #fff;
  padding-bottom: 2rem;
  padding: 1rem 2.4rem 2rem;
  margin-top: -3rem;
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .border .grid-title span {
    gap: 0.5rem;
    padding: 1rem 1rem 1.5rem;
    margin-top: -2rem;
  }
}
.benefits-detail .benefits-detail-grid .item .border .grid-title span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 2.2rem;
  width: 2.2rem;
  height: 2.5rem;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .border .grid-title span::before {
    background-size: 1.6rem;
    width: 1.6rem;
    height: 2rem;
    margin-top: 0;
  }
}
.benefits-detail .benefits-detail-grid .item .detail {
  font-size: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .benefits-detail .benefits-detail-grid .item .detail {
    flex: 1;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .detail {
    font-size: 1.4rem;
  }
}
.benefits-detail .benefits-detail-grid .item .detail > *:first-child {
  margin-top: 0;
}
.benefits-detail .benefits-detail-grid .item .detail-title {
  margin-top: 2.8rem;
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .detail-title {
    margin-top: 2rem;
  }
}
.benefits-detail .benefits-detail-grid .item .detail-title strong {
  border-left: 2px solid var(--themeColor);
  padding-left: 0.9rem;
  line-height: 1.5;
}
.benefits-detail .benefits-detail-grid .item .detail p {
  line-height: 1.7777;
  font-weight: 400;
}
.benefits-detail .benefits-detail-grid .item .detail p strong {
  line-height: 1.3;
}
.benefits-detail .benefits-detail-grid .item .detail p span {
  line-height: 1.3;
}
.benefits-detail .benefits-detail-grid .item .detail p .red {
  color: var(--themeColor);
}
.benefits-detail .benefits-detail-grid .item .detail p .fzl {
  font-size: 1.333333334em;
}
.benefits-detail .benefits-detail-grid .item .img.benefits-detail-img01 {
  width: 13rem;
  margin-left: auto;
  margin-top: 0.5rem;
}
.benefits-detail .benefits-detail-grid .item .img.benefits-detail-img02 {
  width: 18rem;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .benefits-detail .benefits-detail-grid .item .img.benefits-detail-img02 {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .benefits-detail .benefits-detail-grid .item .img.benefits-detail-img02 {
    margin-top: 1rem;
  }
}
.benefits-detail .benefits-detail-grid .item .img.benefits-detail-img03 {
  max-width: 54.6rem;
  width: 100%;
  filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.1607843137));
}
@media only screen and (min-width: 768px) {
  .benefits-detail .benefits-detail-grid .item .img.benefits-detail-img03 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.application-process-intro .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .application-process-intro .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.application-process-intro .application-process-intro-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .application-process-intro .application-process-intro-grid {
    gap: 1rem;
    flex-flow: column;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .application-process-intro .application-process-intro-grid .head {
    max-width: 90rem;
  }
}
.application-process-intro .application-process-intro-grid .head .lead {
  margin-top: 2rem;
}
.application-process-intro .application-process-title {
  text-shadow: 0.2rem 0.2rem 0 #ffffff;
  font-size: 3.2rem;
  line-height: 1.5;
  color: var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .application-process-intro .application-process-title {
    font-size: 2rem;
  }
}
.application-process-intro .application-process-title::after {
  content: "";
  display: block;
  max-width: 56rem;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.8rem;
}
.application-process-intro .application-process-title .small {
  font-size: 0.8em;
}
.application-process-intro .img {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .application-process-intro .img {
    max-width: 20rem;
    margin-left: auto;
    margin-top: 1rem;
  }
}
.application-process-intro .img img {
  width: 26rem;
}
@media only screen and (max-width: 767px) {
  .application-process-intro .img img {
    width: 18rem;
  }
}

.application-process-detail .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.application-process-detail .lead {
  font-size: 1.8rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .lead {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.application-process-detail .tabs {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .tabs {
    margin-top: 2rem;
  }
}
.application-process-detail .tabs-inner {
  border: 1px solid var(--themeColor);
  border-radius: 50vw;
  background: var(--themeColor);
  color: #fff;
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: stretch;
  overflow: hidden;
}
.application-process-detail .tabs .tab {
  width: 32rem;
  height: 100%;
  display: block;
  cursor: pointer;
}
.application-process-detail .tabs .tab input[type=radio] {
  display: none;
}
.application-process-detail .tabs .tab input[type=radio]:checked + span {
  cursor: default;
  color: var(--themeColor);
  background: #fff;
}
.application-process-detail .tabs .tab input[type=radio]:checked + span::before {
  background-image: url(../img/common/icon-pen-r.svg);
}
.application-process-detail .tabs .tab:not(:last-of-type) {
  border-right: 1px solid var(--themeColor);
}
.application-process-detail .tabs .tab span {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  min-height: 5.4rem;
  gap: 1rem;
  font-size: 2rem;
  font-weight: bold;
  transition: 200ms;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .tabs .tab span {
    font-size: 1.4rem;
    gap: 0.5rem;
    min-height: 3.6rem;
  }
}
.application-process-detail .tabs .tab span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-w.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .tabs .tab span::before {
    width: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .application-process-detail .tabs .tab:hover span {
    background: rgba(255, 255, 255, 0.35);
  }
}
.application-process-detail .detail-archive {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  margin-top: 7rem;
}
.application-process-detail .detail-archive.is-active {
  opacity: 1;
  visibility: inherit;
  position: static;
  transition: 600ms;
}
@media only screen and (min-width: 768px) {
  .application-process-detail .detail-archive .detail-contents-list__item {
    padding: 1rem 4rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item:not(:last-of-type) {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item {
    padding: 1rem 2rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item .slideToggle + * {
  display: none;
}
.application-process-detail .detail-archive .detail-contents-list__item .title {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  border-radius: 0;
  font-family: inherit;
  color: inherit;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  padding: 1.5rem;
  letter-spacing: 0.15em;
  display: block;
  width: 100%;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item .title {
    font-size: 1.8rem;
    padding: 1rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item .title::before {
  content: "";
  display: block;
  width: 3rem;
  aspect-ratio: 1/1;
  background: var(--themeColor);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.999' height='7.556' viewBox='0 0 11.999 7.556'%3E%3Cpath id='arrow_-_アウトライン' data-name='arrow - アウトライン' d='M9.444,6.556a1.545,1.545,0,0,1-1.1-.456L5,2.755,1.656,6.1a1.545,1.545,0,0,1-1.1.456A1.545,1.545,0,0,1-.544,6.1a1.557,1.557,0,0,1,0-2.2L3.9-.544a1.556,1.556,0,0,1,2.2,0L10.544,3.9a1.556,1.556,0,0,1-1.1,2.656Z' transform='translate(10.999 6.556) rotate(180)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 55%;
  background-size: 1.2rem;
  border-radius: 50vw;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item .title::before {
    width: 2rem;
    background-size: 1rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item .title.is-active::before {
  transform: translate(0%, -50%) rotate(180deg);
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry {
  border-top: 1px solid var(--themeColor);
  padding-top: 3.6rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item .application-entry {
    padding-top: 2rem;
    padding-bottom: 1rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry > * {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry > *:first-child {
  margin-top: 0;
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry > *:last-child {
  margin-bottom: 0;
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry h3 {
  margin-top: 2.8rem;
  border-left: 2px solid var(--themeColor);
  padding-left: 0.9rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item .application-entry h3 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item .application-entry h3 {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry p {
  font-size: 1.8rem;
  line-height: 1.75;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .application-process-detail .detail-archive .detail-contents-list__item .application-entry p {
    font-size: 1.4rem;
  }
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry p strong {
  line-height: 1.3;
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry p span {
  line-height: 1.3;
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry p .red {
  color: var(--themeColor);
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry p .fzl {
  font-size: 1.333333334em;
}
.application-process-detail .detail-archive .detail-contents-list__item .application-entry p a {
  font-weight: bold;
  color: var(--themeColor);
}
@media only screen and (min-width: 768px) {
  .application-process-detail .detail-archive .detail-contents-list__item .application-entry p a:hover {
    text-decoration: underline;
  }
}

.application-process-flow .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
}
.application-process-flow .flow-list {
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list {
    margin-top: 2rem;
  }
}
.application-process-flow .flow-list__item {
  background: #fff;
  border-radius: 1.8rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 2.5rem 3rem;
  counter-increment: flow;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item {
    border-radius: 1.2rem;
    padding: 1.6rem 1rem;
    flex-flow: row;
  }
}
.application-process-flow .flow-list__item:last-of-type {
  border: 2px solid var(--themeColor);
}
.application-process-flow .flow-list__item:not(:last-of-type) {
  margin-bottom: 5.6rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
.application-process-flow .flow-list__item:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 2.2rem;
  aspect-ratio: 22/23;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.998' height='24' viewBox='0 0 21.998 24'%3E%3Cpath id='ic_arrow' d='M1847-12282.121a2.083,2.083,0,0,1-.624-1.488,2.1,2.1,0,0,1,.624-1.5l5.4-5.4h-14.9a2,2,0,0,1-2-1.994,2,2,0,0,1,2-2h14.892l-5.394-5.4a2.105,2.105,0,0,1-.624-1.5,2.083,2.083,0,0,1,.624-1.488,2.105,2.105,0,0,1,2.983,0l8.887,8.889a2.065,2.065,0,0,1,.461.688,2.015,2.015,0,0,1,.168.809,1.974,1.974,0,0,1-.188.844,2.047,2.047,0,0,1-.442.645l-8.887,8.887a2.1,2.1,0,0,1-1.491.619A2.1,2.1,0,0,1,1847-12282.121Z' transform='translate(-12281.502 -1835.501) rotate(90)' fill='%23db0021'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  bottom: -1.8rem;
  left: 50%;
  transform: translate(-50%, 100%);
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item:not(:last-of-type)::after {
    width: 1.6rem;
    bottom: -1.2rem;
  }
}
.application-process-flow .flow-list__item .text {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  flex: 1;
  border-left: 4px solid var(--themeColor);
  padding-left: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .application-process-flow .flow-list__item .text {
    min-height: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item .text {
    border-width: 2px;
    padding-left: 0.5rem;
    margin-left: 0.5rem;
  }
}
.application-process-flow .flow-list__item .step {
  display: block;
  width: 16rem;
  font-family: var(--enFont);
  color: var(--themeColor);
  font-weight: bold;
  font-size: 2.4rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item .step {
    width: 6.5rem;
    font-size: 1.3rem;
    gap: 0.3rem;
  }
}
.application-process-flow .flow-list__item .step::after {
  content: counter(flow);
  border-radius: 50vw;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  font-size: 4rem;
  line-height: 1;
  border: 1px solid var(--themeColor);
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item .step::after {
    font-size: 1.8rem;
    width: 2.4rem;
    height: 2.4rem;
  }
}
.application-process-flow .flow-list__item .title {
  font-size: 2.4rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item .title {
    font-size: 1.6rem;
  }
}
.application-process-flow .flow-list__item .title .small {
  font-size: 0.8em;
}
.application-process-flow .flow-list__item .lead {
  margin-top: 0.5rem;
  font-size: 1.8rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .application-process-flow .flow-list__item .lead {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.faq-intro .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .faq-intro .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 4rem;
  }
}
.faq-intro .faq-intro-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-intro-grid {
    gap: 1rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .faq-intro .faq-intro-grid .head {
    max-width: 90rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-intro-grid .head {
    display: contents;
  }
}
@media only screen and (min-width: 768px) {
  .faq-intro .faq-intro-grid .head .lead {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-intro-grid .head .lead {
    width: 65%;
  }
}
.faq-intro .faq-title {
  text-shadow: 0.2rem 0.2rem 0 #ffffff;
  font-size: 3.2rem;
  line-height: 1.5;
  color: var(--themeColor);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-title {
    font-size: 2rem;
  }
}
.faq-intro .faq-title::after {
  content: "";
  display: block;
  max-width: 56rem;
  height: 1px;
  background: var(--themeColor);
  margin-top: 1.8rem;
}
.faq-intro .faq-title .small {
  font-size: 0.8em;
}
@media only screen and (max-width: 767px) {
  .faq-intro .img {
    max-width: 30%;
    margin-top: 1rem;
  }
}
.faq-intro .img img {
  width: 26rem;
}
@media only screen and (max-width: 767px) {
  .faq-intro .img img {
    width: 18rem;
  }
}
.faq-intro .faq-inner-link {
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-inner-link {
    margin-top: 3rem;
  }
}
.faq-intro .faq-inner-link-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
  gap: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-inner-link-list {
    gap: 1.6rem;
    flex-flow: column;
  }
}
@media only screen and (min-width: 768px) {
  .faq-intro .faq-inner-link-list__item {
    flex: 0 0 calc((100% - 7.2rem) / 3);
  }
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-inner-link-list__item {
    width: 100%;
  }
}
.faq-intro .faq-inner-link-list__item a {
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  min-height: 6rem;
  font-size: 2rem;
  font-weight: bold;
  color: var(--themeColor);
  padding: 0.5rem 2rem;
  padding-right: 5rem;
  position: relative;
  transition: 200ms;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-inner-link-list__item a {
    font-size: 1.6rem;
    min-height: 5rem;
  }
}
.faq-intro .faq-inner-link-list__item a::before, .faq-intro .faq-inner-link-list__item a::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: var(--themeColor);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 1.2rem;
  border-radius: 50vw;
  border: 1px solid var(--themeColor);
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
@media only screen and (max-width: 767px) {
  .faq-intro .faq-inner-link-list__item a::before, .faq-intro .faq-inner-link-list__item a::after {
    right: 1.6rem;
  }
}
.faq-intro .faq-inner-link-list__item a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.998' height='11.999' viewBox='0 0 10.998 11.999'%3E%3Cpath id='ic' d='M1841.25-12292.812a1.042,1.042,0,0,1-.312-.744,1.049,1.049,0,0,1,.312-.748l2.7-2.7H1836.5a1,1,0,0,1-1-1,1,1,0,0,1,1-1h7.446l-2.7-2.7a1.049,1.049,0,0,1-.312-.748,1.042,1.042,0,0,1,.312-.744,1.052,1.052,0,0,1,1.491,0l4.443,4.443a1.033,1.033,0,0,1,.231.344,1.008,1.008,0,0,1,.084.4.987.987,0,0,1-.094.422,1.024,1.024,0,0,1-.221.322l-4.443,4.443a1.05,1.05,0,0,1-.746.31A1.05,1.05,0,0,1,1841.25-12292.812Z' transform='translate(-12292.502 -1835.501) rotate(90)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-color: var(--themeColor);
}
.faq-intro .faq-inner-link-list__item a::after {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.998' height='11.999' viewBox='0 0 10.998 11.999'%3E%3Cpath id='ic' d='M1841.25-12292.812a1.042,1.042,0,0,1-.312-.744,1.049,1.049,0,0,1,.312-.748l2.7-2.7H1836.5a1,1,0,0,1-1-1,1,1,0,0,1,1-1h7.446l-2.7-2.7a1.049,1.049,0,0,1-.312-.748,1.042,1.042,0,0,1,.312-.744,1.052,1.052,0,0,1,1.491,0l4.443,4.443a1.033,1.033,0,0,1,.231.344,1.008,1.008,0,0,1,.084.4.987.987,0,0,1-.094.422,1.024,1.024,0,0,1-.221.322l-4.443,4.443a1.05,1.05,0,0,1-.746.31A1.05,1.05,0,0,1,1841.25-12292.812Z' transform='translate(-12292.502 -1835.501) rotate(90)' fill='%23dc0021'/%3E%3C/svg%3E%0A");
  opacity: 0;
  transition: 200ms;
}
@media only screen and (min-width: 768px) {
  .faq-intro .faq-inner-link-list__item a:hover {
    color: #fff;
    background: var(--themeColor);
  }
  .faq-intro .faq-inner-link-list__item a:hover::after {
    opacity: 1;
  }
}

.faq-detail .faq-block .mesh {
  overflow: hidden;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-block .mesh {
    padding-top: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh {
    padding-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .row {
    padding: 0 1.8rem;
  }
}
.faq-detail .faq-block .mesh-inner {
  position: relative;
}
.faq-detail .faq-block .mesh-inner::before {
  content: "";
  display: block;
  width: calc(100dvw + 6rem);
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background-color: #f3eddf;
  background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px);
  background-size: 28px 28px;
  background-position: -0.5px -0.5px;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh-inner::before {
    background-size: 20px 20px;
  }
}
.faq-detail .faq-block .mesh .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner:not(:last-of-type) {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid {
    display: block;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .img {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .img {
    width: 44rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .img {
    width: 21rem;
    margin-top: -4rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .img .picture {
  display: block;
  position: relative;
}
.faq-detail .faq-block .mesh .mesh-inner .grid .img .picture::before {
  content: "";
  display: block;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px solid var(--themeColor);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.8rem;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .img .picture::before {
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    border-radius: 0.8rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .img .picture img {
  border-radius: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .img .picture img {
    border-radius: 1.2rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .text {
    margin-top: 2rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .message-title {
  text-shadow: 2px 2px 1px #ffffff;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .text .message-title {
    font-size: 1.8rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .message-title + .detail {
  margin-top: 2.4rem;
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .interview-title {
  margin-bottom: 1.5rem;
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .interview-title span {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: var(--themeColor);
  text-shadow: 0.05em 0.05em #fff;
  padding-left: 2.6rem;
  display: block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .text .interview-title span {
    font-size: 1.6rem;
    padding-left: 2rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .interview-title span::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 1.75rem;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .text .interview-title span::before {
    width: 1.5rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .detail + .message-title {
  margin-top: 2.3rem;
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .detail p {
  font-size: 1.8rem;
  letter-spacing: 0.025em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner .grid .text .detail p {
    font-size: 1.4rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner .grid .text .detail p:not(:last-of-type) {
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(odd) {
    padding-left: 1.8rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner:nth-of-type(odd)::before {
  border-radius: 2.5rem 0 0 2.5rem;
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(odd)::before {
    left: -3rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(odd)::before {
    left: -0.3rem;
    border-radius: 1.6rem 0 0 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(odd) .grid {
    flex-flow: row wrap;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(even) {
    padding-right: 1.8rem;
  }
}
.faq-detail .faq-block .mesh .mesh-inner:nth-of-type(even)::before {
  border-radius: 0 2.5rem 2.5rem 0;
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(even)::before {
    right: -3rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(even)::before {
    right: -0.4rem;
    border-radius: 0 1.6rem 1.6rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(even) .grid {
    flex-flow: row-reverse wrap;
  }
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-block .mesh .mesh-inner:nth-of-type(even) .grid .img {
    margin-left: auto;
  }
}
.faq-detail .faq-list {
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list {
    margin-top: 2rem;
  }
}
.faq-detail .faq-list__item {
  scroll-margin-top: 16rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item {
    scroll-margin-top: 12rem;
  }
}
.faq-detail .faq-list__item:not(:last-of-type) {
  margin-bottom: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item:not(:last-of-type) {
    margin-bottom: 2rem;
  }
}
.faq-detail .faq-list__item dl {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1607843137);
  padding: 2rem 4rem;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item dl {
    padding: 1rem;
  }
}
.faq-detail .faq-list__item dl .question,
.faq-detail .faq-list__item dl .answer {
  position: relative;
}
.faq-detail .faq-list__item dl .question::before,
.faq-detail .faq-list__item dl .answer::before {
  display: block;
  width: 4rem;
  aspect-ratio: 1/1;
  border-radius: 50vw;
  font-size: 2rem;
  font-weight: bold;
  font-family: var(--enFont);
  background: #ccc;
  color: #fff;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.8em;
  left: 0;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item dl .question::before,
  .faq-detail .faq-list__item dl .answer::before {
    width: 3rem;
    font-size: 1.6rem;
    top: 0.5em;
  }
}
.faq-detail .faq-list__item dl .question {
  font-weight: bold;
  padding: 2rem 5rem 2rem 6rem;
  font-size: 2rem;
  line-height: 1.5;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item dl .question {
    font-size: 1.6rem;
    padding: 1rem 2.8rem 1rem 3.6rem;
  }
}
.faq-detail .faq-list__item dl .question::before {
  content: "Q";
  background: #F38097;
}
.faq-detail .faq-list__item dl .question::after {
  content: "";
  display: block;
  width: 3rem;
  aspect-ratio: 1/1;
  background: var(--themeColor);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.999' height='7.556' viewBox='0 0 11.999 7.556'%3E%3Cpath id='arrow_-_アウトライン' data-name='arrow - アウトライン' d='M9.444,6.556a1.545,1.545,0,0,1-1.1-.456L5,2.755,1.656,6.1a1.545,1.545,0,0,1-1.1.456A1.545,1.545,0,0,1-.544,6.1a1.557,1.557,0,0,1,0-2.2L3.9-.544a1.556,1.556,0,0,1,2.2,0L10.544,3.9a1.556,1.556,0,0,1-1.1,2.656Z' transform='translate(10.999 6.556) rotate(180)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 55%;
  background-size: 1.2rem;
  border-radius: 50vw;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item dl .question::after {
    width: 2rem;
    background-size: 0.8rem;
  }
}
.faq-detail .faq-list__item dl .question.is-active::after {
  transform: translate(0%, -50%) rotate(180deg);
}
.faq-detail .faq-list__item dl .answer {
  font-weight: 400;
  border-top: 1px solid var(--themeColor);
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 6rem;
  font-size: 1.8rem;
  line-height: 1.5;
  display: none;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item dl .answer {
    font-size: 1.4rem;
    padding: 1.5rem 1rem 1rem 3.6rem;
  }
}
.faq-detail .faq-list__item dl .answer::before {
  content: "A";
  top: 0.7em;
  background: #7D98E9;
}
.faq-detail .faq-list__item dl .answer > * {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}
.faq-detail .faq-list__item dl .answer > *:first-child {
  margin-top: 0 !important;
}
.faq-detail .faq-list__item dl .answer > *:last-child {
  margin-bottom: 0 !important;
}
.faq-detail .faq-list__item dl .answer p a {
  color: var(--themeColor);
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .faq-detail .faq-list__item dl .answer p a:hover {
    text-decoration: underline;
  }
}
.faq-detail .faq-list__item dl .answer p a::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cg id='ic_arrow_bold' transform='translate(-427.5 -571.5)'%3E%3Crect id='space' width='12' height='12' transform='translate(427.5 571.5)' fill='%23dc0021' opacity='0'/%3E%3Cpath id='ic' d='M1841.25-12292.812a1.042,1.042,0,0,1-.312-.744,1.049,1.049,0,0,1,.312-.748l2.7-2.7H1836.5a1,1,0,0,1-1-1,1,1,0,0,1,1-1h7.446l-2.7-2.7a1.049,1.049,0,0,1-.312-.748,1.042,1.042,0,0,1,.312-.744,1.052,1.052,0,0,1,1.491,0l4.443,4.443a1.033,1.033,0,0,1,.231.344,1.008,1.008,0,0,1,.084.4.987.987,0,0,1-.094.422,1.024,1.024,0,0,1-.221.322l-4.443,4.443a1.05,1.05,0,0,1-.746.31A1.05,1.05,0,0,1,1841.25-12292.812Z' transform='translate(-1408 12875.501)' fill='%23dc0021'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  margin-left: 0.2em;
  margin-right: 0.2em;
}
@media only screen and (max-width: 767px) {
  .faq-detail .faq-list__item dl .answer p a::after {
    width: 1rem;
  }
}

.page--entry .gnav-list .btn,
.page--thanks .gnav-list .btn {
  display: none;
}
.page--entry .sp-entry,
.page--thanks .sp-entry {
  display: none;
}

.entry-form-intro .mesh-inner {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .mesh-inner {
    padding-top: 2.4rem;
    padding-bottom: 4rem;
  }
}
.entry-form-intro .entry-form-intro-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid {
    gap: 1rem;
    margin-top: 2rem;
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  .entry-form-intro .entry-form-intro-grid .head {
    max-width: 90rem;
  }
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head {
    display: contents;
  }
}
@media only screen and (min-width: 768px) {
  .entry-form-intro .entry-form-intro-grid .head .lead {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead {
    margin-top: 2rem;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead > * {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead > * {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead > *:first-child {
  margin-top: 0;
}
.entry-form-intro .entry-form-intro-grid .head .lead > *:last-child {
  margin-bottom: 0;
}
.entry-form-intro .entry-form-intro-grid .head .lead a {
  font-weight: bold;
  color: var(--themeColor);
}
@media only screen and (min-width: 768px) {
  .entry-form-intro .entry-form-intro-grid .head .lead a:hover {
    text-decoration: underline;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead ol li {
  counter-increment: entry;
  position: relative;
  padding-left: 3rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead ol li {
    padding-left: 2.4rem;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead ol li:not(:last-of-type) {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead ol li:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead ol li .ttl::before {
  content: counter(entry);
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: #fff;
  border: 1px solid var(--themeColor);
  border-radius: 50vw;
  color: var(--themeColor);
  font-weight: bold;
  font-family: var(--enFont);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  line-height: 1;
  position: absolute;
  top: 0.3rem;
  left: 0;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead ol li .ttl::before {
    width: 2rem;
    height: 2rem;
    font-size: 1.3rem;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead ol li p {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.entry-form-intro .entry-form-intro-grid .head .lead .btn-mynavi {
  border-radius: 0.8rem;
  border: 1px solid #00A9EB;
  padding: 1rem;
  background: #fff;
  width: 24.5rem;
  height: 5.8rem;
  display: inline-flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin-left: 1.7rem;
  vertical-align: middle;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
}
@media only screen and (min-width: 768px) {
  .entry-form-intro .entry-form-intro-grid .head .lead .btn-mynavi:hover img {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead .btn-mynavi {
    width: 12.5rem;
    height: 4rem;
    margin-left: 1rem;
  }
}
.entry-form-intro .entry-form-intro-grid .head .lead .btn-mynavi img {
  max-width: 20.5rem;
  transition: 200ms;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-intro-grid .head .lead .btn-mynavi img {
    max-width: 100%;
  }
}
.entry-form-intro .entry-form-title {
  text-shadow: 0.2rem 0.2rem 0 #ffffff;
  font-size: 3.2rem;
  line-height: 1.5;
  color: var(--themeColor);
  letter-spacing: 0.1em;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.2rem;
  position: relative;
  padding-bottom: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-title {
    font-size: 2rem;
    gap: 0.8rem;
    padding-bottom: 1rem;
  }
}
.entry-form-intro .entry-form-title::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 56rem;
  height: 1px;
  background: var(--themeColor);
  position: absolute;
  bottom: 0;
  left: 0;
}
.entry-form-intro .entry-form-title::before {
  content: "";
  display: block;
  background-image: url(../img/common/icon-pen-r.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  aspect-ratio: 1.75/2;
  width: 3.5rem;
  margin-top: 0.3rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .entry-form-title::before {
    width: 2rem;
    margin-top: 0.5rem;
  }
}
.entry-form-intro .entry-form-title span {
  flex: 1;
}
.entry-form-intro .entry-form-title .small {
  font-size: 0.8em;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .img {
    max-width: 100%;
    margin-top: 1rem;
    text-align: right;
  }
}
.entry-form-intro .img img {
  width: 26rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .img img {
    width: 10rem;
  }
}
.entry-form-intro .embed {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .embed {
    margin-top: 1rem;
  }
}
.entry-form-intro .embed-inner {
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
}
.entry-form-intro .btns {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 3.6rem;
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .btns {
    margin-top: 3rem;
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .entry-form-intro .btns .btn a,
  .entry-form-intro .btns .btn--back a {
    min-width: 20em;
  }
}
.entry-form-intro .btns .btn--back a {
  display: flex;
}

.section-top-careerhero .top-hero-inner {
  position: relative;
  overflow: hidden;
}
.section-top-careerhero .text {
  aspect-ratio: 2/1;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .text {
    aspect-ratio: 1/1.7;
  }
}
.section-top-careerhero .text .top-page-title {
  font-size: 3.513909224vw;
  text-align: justify;
  color: var(--themeColor);
  font-weight: bold;
  line-height: 1.875;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1607843137);
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms 2800ms opacity;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .text .top-page-title {
    font-size: 3rem;
    line-height: 1.4;
  }
}
.section-top-careerhero .text .top-page-title .small {
  font-size: 2.635431918vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .text .top-page-title .small {
    font-size: 2.4rem;
  }
}
.section-top-careerhero .text .top-page-title .small2 {
  font-size: 3.074670571vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .text .top-page-title .small2 {
    font-size: 2.4rem;
  }
}
.section-top-careerhero .images {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.section-top-careerhero .images .image01 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image01 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image01 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image01 {
  transition-delay: 150ms;
  top: 18%;
  left: 10%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image01 {
    top: 10%;
    left: 15%;
  }
}
.section-top-careerhero .images .image02 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image02 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image02 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image02 {
  transition-delay: 1950ms;
  top: 18%;
  left: 30%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image02 {
    top: 10%;
    left: 50%;
  }
}
.section-top-careerhero .images .image03 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image03 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image03 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image03 {
  transition-delay: 750ms;
  top: 18%;
  left: 50%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image03 {
    top: 10%;
    left: 83%;
  }
}
.section-top-careerhero .images .image04 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image04 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image04 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image04 {
  transition-delay: 1650ms;
  top: 18%;
  left: 70%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image04 {
    top: 30%;
    left: 30%;
  }
}
.section-top-careerhero .images .image05 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image05 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image05 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image05 {
  transition-delay: 1050ms;
  top: 18%;
  left: 90%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image05 {
    top: 30%;
    left: 70%;
  }
}
.section-top-careerhero .images .image06 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image06 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image06 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image06 {
  transition-delay: 600ms;
  top: 50%;
  left: 20%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image06 {
    left: 15%;
  }
}
.section-top-careerhero .images .image06 img {
  height: 10.6149341142vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image06 img {
    height: 18.6666666667vw;
  }
}
.section-top-careerhero .images .image07 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image07 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image07 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image07 {
  transition-delay: 900ms;
  top: 50%;
  left: 80%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image07 {
    left: 85%;
  }
}
.section-top-careerhero .images .image07 img {
  height: 10.6149341142vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image07 img {
    height: 18.6666666667vw;
  }
}
.section-top-careerhero .images .image08 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image08 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image08 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image08 {
  transition-delay: 1350ms;
  top: 80%;
  left: 12%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image08 {
    top: 72%;
    left: 30%;
  }
}
.section-top-careerhero .images .image09 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image09 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image09 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image09 {
  transition-delay: 450ms;
  top: 80%;
  left: 32%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image09 {
    top: 90%;
    left: 47%;
  }
}
.section-top-careerhero .images .image10 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image10 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image10 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image10 {
  transition-delay: 2100ms;
  top: 80%;
  left: 50%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image10 {
    top: 90%;
    left: 16%;
  }
}
.section-top-careerhero .images .image11 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image11 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image11 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image11 {
  transition-delay: 300ms;
  top: 80%;
  left: 68%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image11 {
    top: 72%;
    left: 70%;
  }
}
.section-top-careerhero .images .image12 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 800ms opacity;
}
.section-top-careerhero .images .image12 img {
  max-width: none;
  height: 18.3016105417vw;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image12 img {
    height: 31.4666666667vw;
  }
}
.section-top-careerhero .images .image12 {
  transition-delay: 1500ms;
  top: 80%;
  left: 88%;
}
@media only screen and (max-width: 767px) {
  .section-top-careerhero .images .image12 {
    top: 90%;
    left: 83%;
  }
}
.section-top-careerhero.animate .top-hero-inner .images .image01,
.section-top-careerhero.animate .top-hero-inner .images .image02,
.section-top-careerhero.animate .top-hero-inner .images .image03,
.section-top-careerhero.animate .top-hero-inner .images .image04,
.section-top-careerhero.animate .top-hero-inner .images .image05,
.section-top-careerhero.animate .top-hero-inner .images .image06,
.section-top-careerhero.animate .top-hero-inner .images .image07,
.section-top-careerhero.animate .top-hero-inner .images .image08,
.section-top-careerhero.animate .top-hero-inner .images .image09,
.section-top-careerhero.animate .top-hero-inner .images .image10,
.section-top-careerhero.animate .top-hero-inner .images .image11,
.section-top-careerhero.animate .top-hero-inner .images .image12 {
  opacity: 1;
}
.section-top-careerhero.animate .text .top-page-title {
  opacity: 1;
}/*# sourceMappingURL=style.css.map */
