@charset "UTF-8";
/*------------------------------
ベーススタイル
------------------------------*/
html {
  font-size: 16px;
}
html.is-active {
  overflow: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: normal;
  letter-spacing: 0;
  color: #383838;
  position: relative;
  font-feature-settings: "palt";
  text-align: justify;
  margin-top: 80px;
}
body.is-active {
  overflow: hidden;
}
@media (max-width: 1000px) {
  body {
    margin-top: 58px;
  }
}
body.admin-bar .header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .header {
    top: 46px;
  }
}
body.admin-bar .header-nav-sp {
  top: 112px;
}
@media (max-width: 782px) {
  body.admin-bar .header-nav-sp {
    top: 104px;
    height: calc(100vh - 46px - 58px);
  }
}

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

a {
  transition: 0.3s;
}
a:hover {
  color: #43926A;
  text-decoration: none;
}

#wpadminbar {
  position: fixed;
  top: 0;
  z-index: 9999;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  font-weight: 700;
}

h1 {
  font-size: 2.5rem;
}
@media (max-width: 768px) {
  h1 {
    font-size: 2.25rem;
  }
}

h2 {
  font-size: 2rem;
}
@media (max-width: 768px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: 1.25rem;
}
@media (max-width: 768px) {
  h3 {
    font-size: 1.5rem;
  }
}

h4 {
  font-size: 1.125rem;
}
@media (max-width: 768px) {
  h4 {
    font-size: 1.25rem;
  }
}

h5 {
  font-size: 1rem;
}
@media (max-width: 768px) {
  h5 {
    font-size: 1rem;
  }
}

h6 {
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  h6 {
    font-size: 1rem;
  }
}

.header {
  height: 80px;
  background-color: #fff;
  box-shadow: 0 2px 10px 0 rgba(56, 56, 56, 0.15);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
@media (max-width: 1000px) {
  .header {
    height: 3.75rem;
  }
}

.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  margin: 0 auto;
  padding: 0 max(2.0833333333vw, 1.875rem);
}
@media (max-width: 1000px) {
  .header__container {
    padding: 0 0.81rem;
  }
}

.header-nav {
  height: 100%;
}
@media (max-width: 1000px) {
  .header-nav {
    display: none;
  }
}

.header-nav__ul {
  height: 100%;
  display: flex;
  align-items: center;
}

.header-nav__li {
  height: 100%;
  place-content: center;
}

.header-nav__a {
  padding: 1.25rem 0;
  margin-left: 3.75rem;
  font-size: 1rem;
  font-weight: 400;
  height: 100%;
  display: grid;
  place-content: center;
  position: relative;
}
.header-nav__a.service::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 180%;
  height: 100%;
}
.header-nav__a.contact {
  width: 9.375rem;
  height: 2.625rem;
  flex-shrink: 0;
  border-radius: 0.125rem;
  background: #43926a;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  color: #fff;
}
@media (max-width: 1000px) {
  .header-nav__a.contact {
    width: 100%;
    height: 4.3125rem;
    flex-shrink: 0;
    border-top: none;
    margin-top: 2.5rem;
  }
}

.header-sub {
  background: url(../img/header/pc/img_header.jpg) no-repeat center center/cover;
  height: 9.375rem;
  display: flex;
  align-items: center;
}

.header-sub__title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 5.625rem;
  letter-spacing: 0.125rem;
}
@media (max-width: 768px) {
  .header-sub__title {
    font-size: 2rem;
    line-height: 5.625rem;
    letter-spacing: 0.1rem;
  }
}

.header-nav-btn {
  display: none;
}
@media (max-width: 1000px) {
  .header-nav-btn {
    display: block;
    width: 2.5rem;
    height: 2rem;
    flex-shrink: 0;
    background: url(../img/icon/sp/icon_menu.svg) no-repeat center center/contain;
    transition: background 0.3s;
  }
  .header-nav-btn.is-active {
    background: url(../img/icon/sp/icon_menu_close.svg) no-repeat center center/contain;
  }
}

.header-mega-menu {
  position: absolute;
  display: flex;
  top: 80px;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05);
  padding-top: 1.87rem;
  padding-bottom: 1rem;
  display: none;
}

.header-mega-menu__items {
  display: flex;
  justify-content: space-between;
}

.header-mega-menu__item {
  cursor: pointer;
  transition: opacity 0.3s;
}
.header-mega-menu__item .header-mega-menu__item-img {
  width: 13.0208333333vw;
  min-width: 14em;
  aspect-ratio: 250/160;
  flex-shrink: 0;
  border-radius: 0.375rem;
}
.header-mega-menu__item .header-mega-menu__item-title {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 0.5rem;
}

.header-logo {
  width: 14.375rem;
  height: 3.125rem;
  flex-shrink: 0;
  aspect-ratio: 23/5;
}
@media (max-width: 1000px) {
  .header-logo {
    width: 10.35rem;
    flex-shrink: 0;
    aspect-ratio: 23/5;
  }
}

.header-nav-sp {
  display: none;
}
@media (max-width: 1000px) {
  .header-nav-sp {
    position: fixed;
    top: 58px;
    left: 0;
    right: 0;
    z-index: 99;
    height: auto;
    height: calc(100vh - 58px);
    overflow-y: auto;
  }
}

.header-nav-overlay {
  height: 100vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 98;
  display: none;
}

.mobile-nav {
  padding: 3.3rem 1.25rem 4rem;
  background: #fff;
}

@media (max-width: 1000px) {
  .mobile-nav-ul {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 1000px) {
  .mobile-nav-ul__li {
    height: 100%;
    place-content: center;
    width: 100%;
  }
  .mobile-nav-ul__li.contact {
    border-top: 1px solid #b1cebf;
  }
}

@media (max-width: 1000px) {
  .mobile-nav-ul__a {
    padding: 1.19rem 1rem;
    font-size: 1rem;
    font-weight: 400;
    height: 100%;
    display: grid;
    position: relative;
    margin-left: 0;
    border-top: 1px solid #b1cebf;
    place-content: flex-start;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #383838;
    font-size: 1.125rem;
    font-weight: 700;
  }
}
.mobile-nav-ul__a.service::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 180%;
  height: 100%;
}
@media (max-width: 1000px) {
  .mobile-nav-ul__a.service::after {
    display: none;
    pointer-events: none;
  }
}
@media (max-width: 1000px) {
  .mobile-nav-ul__a.contact {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 100%;
    height: 4.3125rem;
    flex-shrink: 0;
    border-top: none;
    margin-top: 2.5rem;
  }
}

.mobile-nav-ul__a-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: grid;
  place-content: center;
  position: relative;
  top: 2px;
}

.mobile-sub-menu {
  display: none;
}

.mobile-sub-menu__a {
  padding: 1.19rem 1rem;
  padding-left: 1.625rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.38rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
}

.mobile-sub-menu__icon--head {
  width: 0.6875rem;
  height: 0.125rem;
  flex-shrink: 0;
  background-color: #b1cebf;
  position: relative;
  top: 1px;
}

.mobile-sub-menu__icon--link {
  width: 0.75rem;
  height: 0.75rem;
  flex-shrink: 0;
  background: url(../img/icon/sp/icon_pagelink.svg) no-repeat center center/contain;
  position: relative;
  top: 1px;
  padding-left: 0.24rem;
}

.mobile-sub-menu-plus-btn {
  display: none;
}
@media (max-width: 1000px) {
  .mobile-sub-menu-plus-btn {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    background: url(../img/icon/sp/icon_menu_plus.svg) no-repeat center center/contain;
    transition: background-image 0.3s;
  }
  .mobile-sub-menu-plus-btn.is-active {
    background: url(../img/icon/sp/icon_menu_minus.svg) no-repeat center center/contain;
  }
}

.mobile-sub-menu-overlay {
  display: none;
}
@media (max-width: 1000px) {
  .mobile-sub-menu-overlay {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    cursor: pointer;
  }
}

.mobile-nav-footer {
  border-top: 1px solid #b1cebf;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 3.12rem;
}

.mobile-nav-footer__logo {
  width: 16.92469rem;
  height: 3.6875rem;
  flex-shrink: 0;
  aspect-ratio: 179/39;
  margin-bottom: 1.44rem;
}

.mobile-nav-footer__company-name {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5625rem;
}

.mobile-nav-footer__address {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5625rem;
}

.mobile-nav-footer__copyright {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
  padding-top: 3.12rem;
}
.mobile-nav-footer__copyright a {
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.main {
  padding: 3.75rem 0;
}
@media (max-width: 768px) {
  .main {
    padding: 3rem 0;
  }
}

.container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  width: 100%;
}
@media (max-width: 768px) {
  .container {
    padding: 0 0.81rem;
  }
}

.inner {
  max-width: 48.75rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
@media (max-width: 768px) {
  .inner {
    padding: 0;
    max-width: 100%;
  }
}

.page-contact .main, .error404 .main {
  padding-bottom: 8.5rem;
}
@media (max-width: 768px) {
  .page-contact .main, .error404 .main {
    padding-top: 2.5rem;
    padding-bottom: 6.13rem;
  }
}

.privacy-policy .main {
  padding-bottom: 7.5rem;
}
@media (max-width: 768px) {
  .privacy-policy .main {
    padding-top: 2.5rem;
    padding-bottom: 6.25rem;
  }
}

.single-post .main {
  padding-bottom: 9.38rem;
}
@media (max-width: 768px) {
  .single-post .main {
    padding-top: 2.94rem;
    padding-bottom: 5rem;
  }
}

.archive .main,
.home .main {
  padding-top: 3.75rem;
  padding-bottom: 8.13rem;
}
@media (max-width: 768px) {
  .archive .main,
  .home .main {
    padding-top: 2.19rem;
    padding-bottom: 5rem;
  }
}

.page-about .main {
  padding-bottom: 6.5rem;
}
@media (max-width: 768px) {
  .page-about .main {
    padding-bottom: 7.5rem;
  }
}

.page-ir .main {
  padding-bottom: 8.75rem;
}
@media (max-width: 768px) {
  .page-ir .main {
    padding-bottom: 10rem;
  }
}

.page-recruit .main {
  padding-top: 2.19rem;
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .page-recruit .main {
    padding-top: 1.75rem;
    padding-bottom: 0;
  }
}

.front-page .main {
  padding-top: 0;
  padding-bottom: 0;
  padding-bottom: 8.81rem;
}
@media (max-width: 768px) {
  .front-page .main {
    padding-bottom: 6.25rem;
  }
}

.front-page-mv {
  background-image: url(../img/front-page/mv/pc/img_top_main.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: calc(100svh - 80px);
}
@media (max-width: 768px) {
  .front-page-mv {
    background-image: url(../img/front-page/mv/sp/img_top_main.png);
    height: auto;
  }
}

.front-page-mv__container {
  padding-top: 6.06rem;
}
@media (max-width: 768px) {
  .front-page-mv__container {
    padding-top: 2.62rem;
    padding-bottom: 6.06rem;
  }
}

.front-page-mv__title {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
  font-size: 4rem;
  font-weight: 700;
  line-height: 5.625rem;
  letter-spacing: 0.2rem;
}
@media (max-width: 768px) {
  .front-page-mv__title {
    font-size: 2rem;
    line-height: 3.04931rem;
    letter-spacing: 0.1rem;
  }
}

.front-page-mv__text {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.5rem;
  margin-top: 1.4rem;
  text-align: left;
}
.front-page-mv__text br.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .front-page-mv__text {
    font-size: 1rem;
    line-height: 2.1875rem;
  }
  .front-page-mv__text br.sp-only {
    display: block;
  }
  .front-page-mv__text span {
    display: inline-block;
  }
}

.front-page-news {
  padding-top: 5rem;
}
@media (max-width: 768px) {
  .front-page-news {
    padding-top: 2.5rem;
  }
}

.front-page-news__body {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .front-page-news__body {
    display: grid;
    grid-template: "title" auto "list" auto "link" auto/1fr;
  }
}

.front-page-news__left {
  flex-shrink: 0;
  padding-right: 1rem;
}
@media (max-width: 768px) {
  .front-page-news__left {
    display: contents;
  }
}

@media (max-width: 768px) {
  .front-page-news__title {
    grid-area: title;
  }
}

.front-page-news__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 3.44rem;
}
.front-page-news__link:hover .front-page-news__link-icon circle {
  transition: 0.3s;
  fill: #43926a;
}
.front-page-news__link:hover .front-page-news__link-icon path {
  stroke: white;
}
@media (max-width: 768px) {
  .front-page-news__link {
    grid-area: link;
    justify-content: flex-end;
    margin-top: 1.06rem;
  }
}

.front-page-news__link-text {
  color: #43926a;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .front-page-news__link-text {
    font-size: 1.26319rem;
  }
}

.front-page-news__link-icon svg {
  display: grid;
  width: 1rem;
  height: 1rem;
}
@media (max-width: 768px) {
  .front-page-news__link-icon svg {
    width: 1.1875rem;
    height: 1.1875rem;
  }
}
.front-page-news__link-icon svg path,
.front-page-news__link-icon svg circle {
  stroke-width: 2;
}
.front-page-news__link-icon svg .first-line {
  d: path("M12 19.6 H27");
}
.front-page-news__link-icon svg .second-line {
  d: path("M21 11 L30 19.3 L21 28");
}

.front-page-news__right {
  width: 100%;
  max-width: 725px;
  padding-top: 0.62rem;
  padding-right: 3.125rem;
}
@media (max-width: 768px) {
  .front-page-news__right {
    padding-right: 0;
    max-width: 100%;
    grid-area: list;
    padding-top: 0;
  }
}
.front-page-news__right .post-list {
  margin-right: 0;
  width: 100%;
}
@media (max-width: 768px) {
  .front-page-news__right .post-list {
    margin-top: 1.88rem;
  }
}
.front-page-news__right .post-list__item-icon {
  width: auto;
}

.front-page-about {
  background: url(../img/front-page/about/pc/img_about.webp) no-repeat center center/cover;
  padding-top: 5rem;
  padding-bottom: 7.9375rem;
  margin-top: 5.63rem;
}
@media (max-width: 768px) {
  .front-page-about {
    background: url(../img/front-page/about/sp/img_about.webp) no-repeat center center/cover;
    margin-top: 2.12rem;
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.front-page-about__body {
  padding: 0 4rem;
  padding-top: 3.75rem;
}
@media (max-width: 768px) {
  .front-page-about__body {
    padding: 0;
    padding-top: 3.56rem;
  }
}

.front-page-about__main-statement {
  font-size: 2rem;
  font-weight: 700;
  line-height: 5.625rem;
  letter-spacing: 0.16rem;
  letter-spacing: 0.3rem;
}
@media (max-width: 768px) {
  .front-page-about__main-statement {
    font-size: 1.75rem;
    line-height: 3.125rem;
    text-align: left;
  }
  .front-page-about__main-statement span {
    display: inline-block;
  }
}

.front-page-about__logo-img {
  width: 22.375rem;
  margin-top: 1.38rem;
}
@media (max-width: 768px) {
  .front-page-about__logo-img {
    margin-top: 3.31rem;
    width: 18.4375rem;
    width: 78.6666666667vw;
  }
}

.front-page-about__name-explanation {
  margin-top: 3.81rem;
}
@media (max-width: 768px) {
  .front-page-about__name-explanation {
    margin-top: 1.31rem;
  }
}

.front-page-about__name-breakdown {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 768px) {
  .front-page-about__name-breakdown {
    flex-direction: column;
    gap: 0.87rem;
  }
}

.front-page-about__name-item {
  font-size: 1.25rem;
  line-height: 2.5rem;
  letter-spacing: 0.16rem;
  letter-spacing: 0.05rem;
}
@media (max-width: 768px) {
  .front-page-about__name-item {
    font-size: 1.0865rem;
    line-height: 2.17294rem;
  }
}

.front-page-about__name-letter {
  font-size: 2rem;
  line-height: 2.5rem;
}
@media (max-width: 768px) {
  .front-page-about__name-letter {
    font-size: 1.73838rem;
    line-height: 2.17294rem;
  }
}

.front-page-about__philosophy {
  margin-top: 1.56rem;
}
@media (max-width: 768px) {
  .front-page-about__philosophy {
    margin-top: 2.06rem;
  }
}

.front-page-about__philosophy-text {
  font-size: 1.25rem;
  line-height: 2.5rem;
  letter-spacing: 0.1rem;
}
@media (max-width: 768px) {
  .front-page-about__philosophy-text {
    font-size: 1.0865rem;
    line-height: 1.90131rem;
    text-align: left;
    letter-spacing: 0.16rem;
  }
  .front-page-about__philosophy-text span {
    display: inline-block;
  }
}

.front-page-about__btn {
  margin-top: 3.75rem;
}
@media (max-width: 768px) {
  .front-page-about__btn {
    margin-top: 4.88rem;
  }
}
.front-page-about__btn .front-page-about__btn-link {
  max-width: unset;
  width: 15.2rem;
  aspect-ratio: 522/103;
  padding: 1.25rem 1.625rem;
  justify-content: flex-end;
  align-items: center;
  gap: unset;
  font-weight: 400;
}
@media (max-width: 768px) {
  .front-page-about__btn .front-page-about__btn-link {
    width: 80vw;
    margin: 0 auto;
  }
}
.front-page-about__btn .front-page-about__btn-link .btn-secondary__text {
  text-align: center;
  flex: 1;
}
.front-page-about__btn .front-page-about__btn-link .icon {
  width: 0.625rem;
}
.front-page-about__btn .front-page-about__btn-link .icon svg path {
  stroke-width: 2.5;
}

.front-page-service {
  padding-top: 7.5625rem;
  padding-bottom: 8.13rem;
}
@media (max-width: 768px) {
  .front-page-service {
    padding-top: 1.63rem;
    padding-bottom: 5.625rem;
  }
}

.front-page-service__body {
  margin-top: 2.81rem;
}
@media (max-width: 768px) {
  .front-page-service__body {
    margin-top: 3.125rem;
  }
}

.front-page-service__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1.5rem;
}
@media (max-width: 768px) {
  .front-page-service__items {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.125rem;
  }
}

.front-page-service__item {
  position: relative;
}

.front-page-service__item-link:hover .front-page-service__item-icon svg circle {
  transition: fill 0.3s;
  fill: #43926a;
}
.front-page-service__item-link:hover .front-page-service__item-icon svg path {
  transition: stroke 0.3s;
  stroke: white;
}

.front-page-service__item-title-wrapper {
  position: absolute;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
  padding: 1.62rem;
  padding-right: 1rem;
}
@media (max-width: 768px) {
  .front-page-service__item-title-wrapper {
    padding: 1.25rem;
    padding-right: 1rem;
  }
}

.front-page-service__item-title {
  color: #fff;
  text-shadow: 0 0 10px #2d4237;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
}

.front-page-recruit__body {
  border-radius: 0.625rem;
  background: #f6f9f8;
  display: flex;
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .front-page-recruit__body {
    flex-direction: column;
  }
}

.front-page-recruit__img-wrap {
  width: 64.4230769231%;
}
@media (max-width: 768px) {
  .front-page-recruit__img-wrap {
    width: 100%;
  }
}

.front-page-recruit__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  flex-shrink: 0;
  padding: 3.75rem;
  padding-right: 3.75rem;
}
@media (max-width: 992px) {
  .front-page-recruit__content {
    padding: 1.25rem;
  }
}
@media (max-width: 768px) {
  .front-page-recruit__content {
    padding: 1.5rem;
    padding-top: 1.47rem;
    padding-bottom: 3.56rem;
  }
}

.front-page-recruit__text {
  margin-top: 2.0625rem;
  font-size: 1rem;
  line-height: 2.1875rem;
}
@media (max-width: 768px) {
  .front-page-recruit__text {
    margin-top: 1.44rem;
  }
}

.front-page-recruit__btn {
  margin-top: 3.8125rem;
}
@media (max-width: 768px) {
  .front-page-recruit__btn {
    margin-top: 3.38rem;
  }
}
.front-page-recruit__btn .front-page-recruit__btn-link {
  max-width: unset;
  width: 15.2rem;
  aspect-ratio: 522/103;
  padding: 1.25rem 1.625rem;
  justify-content: flex-end;
  align-items: center;
  gap: unset;
  font-weight: 400;
  width: 100%;
}
@media (max-width: 768px) {
  .front-page-recruit__btn .front-page-recruit__btn-link {
    width: 80vw;
    margin: 0 auto;
  }
}
.front-page-recruit__btn .front-page-recruit__btn-link .btn-secondary__text {
  text-align: center;
  flex: 1;
}
.front-page-recruit__btn .front-page-recruit__btn-link .icon {
  width: 0.625rem;
}
.front-page-recruit__btn .front-page-recruit__btn-link .icon svg path {
  stroke-width: 2.5;
}

.footer {
  padding-top: 4rem;
  padding-bottom: 1.69rem;
  border-top: 1px solid #b1cebf;
}
@media (max-width: 768px) {
  .footer {
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media (max-width: 768px) {
  .footer__container {
    display: none;
  }
}

.footer__body {
  display: flex;
  justify-content: space-between;
}

.footer__logo img {
  width: 16.92469rem;
  flex-shrink: 0;
  aspect-ratio: 179/39;
}

.footer__company-info {
  margin-top: 1.25rem;
}
.footer__company-info .footer__company-name,
.footer__company-info .footer__address {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5625rem;
}
.footer__company-info .footer__address {
  margin-top: 2em;
}

.footer__nav-list {
  display: grid;
  grid-template: "service about news" auto "service about recruit" auto/auto auto auto;
  -moz-column-gap: 2.9166666667vw;
       column-gap: 2.9166666667vw;
}

.footer__nav-item h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.footer__nav-item.service {
  grid-area: service;
}
.footer__nav-item.about {
  grid-area: about;
}
.footer__nav-item.news {
  grid-area: news;
}
.footer__nav-item.recruit {
  grid-area: recruit;
}
.footer__nav-item .footer__sub-menu {
  display: block;
  margin-top: 0.75rem;
}
.footer__nav-item .footer__sub-menu-link {
  padding: 0.1rem 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
  gap: 0.62rem;
}

.footer__foot {
  text-align: right;
  margin-top: 3.63rem;
}
.footer__foot small {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: normal;
}

.footer__mobile-nav {
  display: none;
}
@media (max-width: 768px) {
  .footer__mobile-nav {
    display: block;
  }
}

.privacy-policy__body h1,
.privacy-policy__body h2,
.privacy-policy__body h3,
.privacy-policy__body h4,
.privacy-policy__body h5,
.privacy-policy__body h6 {
  padding: 2rem 0 1rem;
}
.privacy-policy__body ul {
  list-style: disc;
  padding-left: 1.5em;
}
.privacy-policy__body ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.privacy-policy__body a {
  color: #43926a;
  text-decoration: underline;
}
.privacy-policy__body a:hover {
  opacity: 0.7;
}
.privacy-policy__body p {
  color: #383838;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
}
.privacy-policy__body p:not(:first-child) {
  margin-top: 2em;
}

.smf-item .smf-item__col--label {
  display: flex;
  align-items: center;
  flex: 1;
  font-weight: bold;
  gap: 1rem;
}
.smf-item .smf-item__description {
  background-color: #43926a;
  color: white;
  padding: 0.125rem 0.5625rem 0.125rem 0.625rem;
  margin-top: 0;
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  .smf-item .smf-item__description {
    top: 0;
    transform: none;
  }
}

.snow-monkey-form .smf-form .smf-text-control__control:active,
.snow-monkey-form .smf-form .smf-text-control__control:focus,
.snow-monkey-form .smf-form .smf-text-control__control:focus-visible,
.snow-monkey-form .smf-form .smf-text-control__control:hover,
.snow-monkey-form .smf-form .smf-text-control__control:focus-within,
.snow-monkey-form .smf-form .smf-text-control__control[aria-selected=true],
.snow-monkey-form .smf-form .smf-textarea-control__control:active,
.snow-monkey-form .smf-form .smf-textarea-control__control:focus,
.snow-monkey-form .smf-form .smf-textarea-control__control:focus-visible,
.snow-monkey-form .smf-form .smf-textarea-control__control:hover,
.snow-monkey-form .smf-form .smf-textarea-control__control:focus-within,
.snow-monkey-form .smf-form .smf-textarea-control__control[aria-selected=true] {
  outline: 0.125rem solid #43926a;
}

.smf-checkbox-control input[type=checkbox] {
  opacity: 0;
}
.smf-checkbox-control input[type=checkbox]:checked {
  position: relative;
  z-index: 1;
}
.smf-checkbox-control input[type=checkbox]:checked + .smf-checkbox-control__label::after {
  opacity: 1;
}
.smf-checkbox-control input[type=checkbox]:focus + .smf-checkbox-control__label::before, .smf-checkbox-control input[type=checkbox]:focus-within + .smf-checkbox-control__label::before, .smf-checkbox-control input[type=checkbox]:active + .smf-checkbox-control__label::before, .smf-checkbox-control input[type=checkbox][aria-selected=true] + .smf-checkbox-control__label::before, .smf-checkbox-control input[type=checkbox]:hover + .smf-checkbox-control__label::before {
  outline: 0.125rem solid #43926a;
}
.smf-checkbox-control .smf-checkbox-control__label {
  position: relative;
}
.smf-checkbox-control .smf-checkbox-control__label::before {
  content: "";
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5625rem;
  border: 0.0625rem solid #b1cebf;
  border-radius: 0.3125rem;
}
.smf-checkbox-control .smf-checkbox-control__label::before:focus {
  outline: 0.125rem solid #43926a;
}
.smf-checkbox-control .smf-checkbox-control__label::after {
  content: "";
  position: absolute;
  width: 0.625rem;
  aspect-ratio: 6/10;
  top: 44%;
  left: -1.25rem;
  transform: translateY(-50%) rotate(45deg);
  border-right: 0.1875rem solid #43926a;
  border-bottom: 0.1875rem solid #43926a;
  border-radius: 0.125rem;
  opacity: 0;
}

.smf-radio-button-control .smf-radio-button-control__control {
  opacity: 0;
}
.smf-radio-button-control .smf-radio-button-control__control:checked + .smf-radio-button-control__label::after {
  display: block;
}
.smf-radio-button-control .smf-radio-button-control__label {
  position: relative;
}
.smf-radio-button-control .smf-radio-button-control__label::before {
  content: "";
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5625rem;
  border: 0.0625rem solid #b1cebf;
  border-radius: 50%;
}
.smf-radio-button-control .smf-radio-button-control__label::after {
  content: "";
  position: absolute;
  width: 0.625rem;
  height: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  left: -1.25rem;
  background-color: #43926a;
  border-radius: 50%;
  display: none;
}

[data-screen=confirm] .smf-item__controls {
  height: 100%;
}
[data-screen=confirm] .smf-item__controls .smf-placeholder {
  height: 100%;
  display: flex;
  align-items: center;
}
[data-screen=confirm] .smf-item.contact__agreement {
  justify-content: center;
}
[data-screen=confirm] .smf-item.contact__agreement .smf-item__col--label {
  display: none;
}
[data-screen=confirm] .smf-item.contact__agreement .smf-item__col--controls {
  flex: 1;
  max-width: 100%;
  display: flex;
  justify-content: center;
}
[data-screen=confirm] .smf-item.contact__agreement .smf-placeholder[data-name=agreement] {
  position: relative;
}
[data-screen=confirm] .smf-item.contact__agreement .smf-placeholder[data-name=agreement]::before {
  content: "";
  position: absolute;
  width: 0.625rem;
  aspect-ratio: 6/10;
  top: 44%;
  left: -1.25rem;
  transform: translateY(-50%) rotate(45deg);
  border-right: 0.1875rem solid #43926a;
  border-bottom: 0.1875rem solid #43926a;
  border-radius: 0.125rem;
}

.smf-agreement-link {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  color: #383838;
  text-decoration-color: #b1cebf;
}
.smf-agreement-link:hover {
  text-decoration: underline;
  text-decoration-color: #b1cebf;
}

.contact__form-description, .not-found__description {
  margin: 2.56rem 0;
}
@media (max-width: 768px) {
  .contact__form-description, .not-found__description {
    margin-top: 2.12rem;
    margin-bottom: 3.63rem;
  }
}

.contact .wp-block-buttons-is-layout-flex,
.contact .wp-block-button, .not-found .wp-block-buttons-is-layout-flex,
.not-found .wp-block-button {
  display: block;
}
.contact .wp-block-buttons-is-layout-flex.is-secondary a,
.contact .wp-block-button.is-secondary a, .not-found .wp-block-buttons-is-layout-flex.is-secondary a,
.not-found .wp-block-button.is-secondary a {
  background: white;
  color: #43926a;
  border: 1px solid #43926a;
}
.contact .wp-block-buttons-is-layout-flex.is-secondary a::after,
.contact .wp-block-button.is-secondary a::after, .not-found .wp-block-buttons-is-layout-flex.is-secondary a::after,
.not-found .wp-block-button.is-secondary a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19' fill='none'%3E%3Cpath d='M1.00012 9.5H19.0001' stroke='%2343926A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3Cpath d='M11.0001 1.5L19.0001 9.5L11.0001 17.5' stroke='%2343926A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
}
.contact .wp-block-buttons-is-layout-flex.is-secondary a:hover,
.contact .wp-block-button.is-secondary a:hover, .not-found .wp-block-buttons-is-layout-flex.is-secondary a:hover,
.not-found .wp-block-button.is-secondary a:hover {
  opacity: 1;
  background: #43926a;
  color: white;
  border: 1px solid #43926a;
}
.contact .wp-block-buttons-is-layout-flex.is-secondary a:hover::after,
.contact .wp-block-button.is-secondary a:hover::after, .not-found .wp-block-buttons-is-layout-flex.is-secondary a:hover::after,
.not-found .wp-block-button.is-secondary a:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19' fill='none'%3E%3Cpath d='M1.00012 9.5H19.0001' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3Cpath d='M11.0001 1.5L19.0001 9.5L11.0001 17.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
}
.contact .contact__btn,
.contact .contact__btn-wrapper a, .not-found .contact__btn,
.not-found .contact__btn-wrapper a {
  border-radius: 0.25rem !important;
  background: #43926a;
  display: inline-flex;
  padding: 1.25rem;
  align-items: center;
  width: 100%;
  max-width: 19.25rem;
  justify-content: center;
  color: white;
  position: relative;
  border: 1px solid #43926a;
  transition: 0.3s;
}
.contact .contact__btn::after,
.contact .contact__btn-wrapper a::after, .not-found .contact__btn::after,
.not-found .contact__btn-wrapper a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.25rem;
  width: 0.875rem;
  height: 0.875rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19' fill='none'%3E%3Cpath d='M1.00012 9.5H19.0001' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3Cpath d='M11.0001 1.5L19.0001 9.5L11.0001 17.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.contact .contact__btn:hover,
.contact .contact__btn-wrapper a:hover, .not-found .contact__btn:hover,
.not-found .contact__btn-wrapper a:hover {
  background: white;
  color: #43926a;
  border: 1px solid #43926a;
}
.contact .contact__btn:hover::after,
.contact .contact__btn-wrapper a:hover::after, .not-found .contact__btn:hover::after,
.not-found .contact__btn-wrapper a:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19' fill='none'%3E%3Cpath d='M1.00012 9.5H19.0001' stroke='%2343926A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3Cpath d='M11.0001 1.5L19.0001 9.5L11.0001 17.5' stroke='%2343926A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
}
.contact .contact__btn.is-secondary,
.contact .contact__btn-wrapper a.is-secondary, .not-found .contact__btn.is-secondary,
.not-found .contact__btn-wrapper a.is-secondary {
  background: white;
  color: #43926a;
  border: 1px solid #43926a;
}
.contact .contact__btn.is-secondary::after,
.contact .contact__btn-wrapper a.is-secondary::after, .not-found .contact__btn.is-secondary::after,
.not-found .contact__btn-wrapper a.is-secondary::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19' fill='none'%3E%3Cpath d='M1.00012 9.5H19.0001' stroke='%2343926A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3Cpath d='M11.0001 1.5L19.0001 9.5L11.0001 17.5' stroke='%2343926A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
}
.contact .contact__btn.is-secondary:hover,
.contact .contact__btn-wrapper a.is-secondary:hover, .not-found .contact__btn.is-secondary:hover,
.not-found .contact__btn-wrapper a.is-secondary:hover {
  opacity: 1;
  background: #43926a;
  color: white;
  border: 1px solid #43926a;
}
.contact .contact__btn.is-secondary:hover::after,
.contact .contact__btn-wrapper a.is-secondary:hover::after, .not-found .contact__btn.is-secondary:hover::after,
.not-found .contact__btn-wrapper a.is-secondary:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' viewBox='0 0 20 19' fill='none'%3E%3Cpath d='M1.00012 9.5H19.0001' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3Cpath d='M11.0001 1.5L19.0001 9.5L11.0001 17.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' /%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  .contact .contact__btn.is-secondary,
  .contact .contact__btn-wrapper a.is-secondary, .not-found .contact__btn.is-secondary,
  .not-found .contact__btn-wrapper a.is-secondary {
    margin-bottom: 1.25rem;
  }
}
@media (max-width: 768px) {
  .contact .contact__btn,
  .contact .contact__btn-wrapper a, .not-found .contact__btn,
  .not-found .contact__btn-wrapper a {
    max-width: 100%;
  }
}

.contact .smf-select-control:not(input[name="agreement[]"]),
.contact input:not(input[name="agreement[]"]),
.contact select:not(input[name="agreement[]"]) {
  width: 100%;
}
.contact .smf-select-control::-moz-placeholder, .contact input::-moz-placeholder, .contact select::-moz-placeholder {
  color: #b7b7b7;
}
.contact .smf-select-control::placeholder,
.contact input::placeholder,
.contact select::placeholder {
  color: #b7b7b7;
}
.contact form[data-screen=confirm] .smf-item,
.contact .smf-item {
  padding: 0.5rem 0;
  min-height: 4.125rem;
}
.contact form[data-screen=confirm] .smf-item:not(:first-of-type),
.contact .smf-item:not(:first-of-type) {
  margin-top: 0.63rem;
}
.contact .smf-item__col--label {
  gap: 0.63rem;
}
@media (max-width: 768px) {
  .contact .smf-item__col--label {
    padding-bottom: 0.63rem;
  }
}
.contact .smf-item__description {
  background-color: white;
  color: #ae4343;
  padding: 0.15rem 0.75rem;
  border-radius: 0.25rem;
  border: 1px solid #ae4343;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
}
.contact input[name=tel],
.contact .smf-select-control,
.contact select[name=contact_type],
.contact input[name=zip] {
  max-width: 14.375rem;
}
@media (max-width: 768px) {
  .contact input[name=tel],
  .contact .smf-select-control,
  .contact select[name=contact_type],
  .contact input[name=zip] {
    max-width: 100%;
  }
}
.contact .smf-select-control__toggle::before {
  content: "▼";
  border-color: none;
  border-style: solid;
  border-width: 0;
  display: block;
  height: auto;
  width: auto;
  position: absolute;
  right: 1.13rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.875rem;
}
.contact .contact__textarea {
  flex-direction: column;
}
.contact .contact__textarea .smf-item__col--controls {
  width: 100%;
  max-width: 100%;
  margin-top: 0.73rem;
}
.contact .contact__textarea textarea {
  min-height: 17.875rem;
}
@media (max-width: 768px) {
  .contact .contact__agreement label {
    display: flex;
    justify-content: center;
  }
}
.contact .smf-action {
  margin-top: 3.5rem;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .contact .smf-action {
    margin-top: 2.5rem;
  }
}

.btn-primary {
  background: #43926a;
  color: #fff;
  border-radius: 0.125rem;
  transition: all 0.3s;
}
.btn-primary:hover {
  opacity: 1;
  background: #fff;
  color: #43926a;
  border: 1px solid #43926a;
}
.btn-primary:hover svg path {
  fill: #43926a;
}

.btn-secondary {
  background: white;
  border-radius: 0.25rem;
  border: 1px solid #43926a;
  transition: all 0.3s;
  color: #43926a;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  max-width: 26.125rem;
  aspect-ratio: 522/103;
  padding: 0 1.625rem 0 8.0625rem;
  justify-content: flex-end;
  align-items: center;
  gap: 5.3125rem;
}
@media (max-width: 768px) {
  .btn-secondary {
    max-width: 100%;
    padding: 1.25rem 5.8666666667vw 1.25rem 13.3333333333vw;
    justify-content: center;
    gap: 3.75rem;
    font-weight: 500;
    height: 4.25rem;
  }
}
.btn-secondary:hover {
  opacity: 1;
  background: #43926a;
  color: white;
  border: 1px solid white;
}
.btn-secondary:hover svg path {
  stroke: white;
}
.btn-secondary .icon {
  display: inline-flex;
  align-items: center;
}

.cta {
  background: linear-gradient(90deg, #43926A 0%, #527D67 100%);
  color: white;
  padding-top: 2.56rem;
  padding-bottom: 2.06rem;
}
@media (max-width: 768px) {
  .cta {
    padding-top: 2.69rem;
    padding-bottom: 1.69rem;
  }
}

@media (max-width: 768px) {
  .cta__container {
    padding-left: 2.3rem;
    padding-right: 2.3rem;
  }
}

.cta__inner {
  display: flex;
  justify-content: center;
  gap: 2.06rem;
}
@media (max-width: 768px) {
  .cta__inner {
    flex-direction: column;
    gap: 0;
  }
}

.cta__content {
  flex-shrink: 0;
}

.cta__title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
}
@media (max-width: 768px) {
  .cta__title {
    font-size: 1.25rem;
    line-height: 1.25rem;
  }
}

.cta__desc {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  margin-top: 1rem;
  letter-spacing: 0.05rem;
}
@media (max-width: 768px) {
  .cta__desc {
    font-size: 1rem;
    line-height: 1.875rem;
  }
}

@media (max-width: 768px) {
  .cta__btn {
    margin-top: 1.13rem;
    padding: 1.25rem;
    gap: unset;
    justify-content: space-between;
  }
  .cta__btn .btn-secondary__text {
    text-align: center;
    flex: 1;
  }
  .cta__btn .icon {
    width: 0.8125rem;
  }
  .cta__btn .icon path {
    stroke-width: 3px;
  }
}

.breadcrumb__body {
  padding-top: 0.044rem;
}
@media (max-width: 768px) {
  .breadcrumb__body {
    padding-top: 0.5rem;
  }
}
.breadcrumb__body a,
.breadcrumb__body .current-item {
  font-size: 1rem;
  line-height: 2.5rem;
}
@media (max-width: 768px) {
  .breadcrumb__body a,
  .breadcrumb__body .current-item {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
}

.heading-h2 {
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 3.125rem;
  letter-spacing: 0.1rem;
  position: relative;
}
@media (max-width: 768px) {
  .heading-h2 {
    font-size: 1.625rem;
    line-height: 2.5rem;
    letter-spacing: 0.08125rem;
  }
}
.heading-h2::after {
  content: "";
  display: block;
  width: 1.625rem;
  height: 0.25rem;
  flex-shrink: 0;
  background: #8bc01e;
  top: 100px;
  left: 0;
}
@media (max-width: 768px) {
  .heading-h2.front-page {
    font-size: 2rem;
    font-weight: 700;
    line-height: 3.125rem;
    letter-spacing: 0.1rem;
  }
}

.heading-h3 {
  color: #43926a;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25rem;
  letter-spacing: 0.0625rem;
  border-bottom: 1px solid #b1cebf;
  padding-bottom: 0.5rem;
}

#autozip {
  display: none !important;
}

.single-article h2 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 2.5rem;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .single-article h2 {
    font-size: 1.625rem;
    margin-bottom: 1.5rem;
  }
}
.single-article h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.5rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .single-article h3 {
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.single-article h4 {
  color: #43926a;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 3.125rem;
  letter-spacing: 0.05625rem;
  border-bottom: 1px solid #b1cebf;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .single-article h4 {
    font-size: 1.125rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.single-article p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .single-article p {
    margin-bottom: 1.5rem;
  }
}
.single-article figure {
  margin-top: 2.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .single-article figure {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

.single-article__header {
  display: flex;
  align-items: center;
  gap: 0.56rem;
}

.single-article__title {
  border-bottom: 1px solid #b1cebf;
  padding-bottom: 0.25rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .single-article__title {
    padding-bottom: 0.62rem;
    margin-bottom: 1.94rem;
  }
}

.single-btn {
  display: flex;
  padding: 1.25rem 1.25rem 1.25rem 3.75rem;
  align-items: center;
  gap: 2.625rem;
  max-width: 13.725rem;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  padding-left: 3.75rem;
  margin: 0 auto;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  .single-btn {
    max-width: 18.75rem;
    width: 100%;
    margin-top: 1.87rem;
  }
}
.single-btn .icon {
  width: 0.5625rem;
}
@media (max-width: 768px) {
  .single-btn .icon {
    width: 0.8125rem;
  }
}

.single hr {
  border-top: 1px solid #b1cebf;
  margin-top: 5rem;
}
@media (max-width: 768px) {
  .single hr {
    margin-top: 2.5rem;
  }
}

.post-category {
  display: flex;
  gap: 0.56rem;
}
.post-category span {
  border-radius: 0.25rem;
  min-width: 4.375rem;
  height: 1.5rem;
  display: grid;
  place-items: center;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  aspect-ratio: 4.38/1.5;
}

.post-date {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.5rem;
}

.post-list {
  width: 66.6666666667%;
  margin-right: 6.25%;
}
@media (max-width: 768px) {
  .post-list {
    width: 100%;
    margin-right: 0;
    margin-top: 2.5rem;
  }
}

.post-list__items {
  border-top: 1px solid #43926a;
}

.post-list__item-link {
  display: flex;
  align-items: center;
  padding: 0.94rem 0;
  border-bottom: 1px solid #43926a;
}
@media (max-width: 768px) {
  .post-list__item-link {
    padding: 1.19rem 0;
    display: grid;
    grid-template: "date category" auto "title title" auto/auto 1fr;
    row-gap: 0.5rem;
  }
}
.post-list__item-link:hover svg circle {
  transition: 0.3s;
  fill: #43926a;
}
.post-list__item-link:hover svg path {
  transition: 0.3s;
  stroke: white;
}

@media (max-width: 768px) {
  .post-list__item-date {
    grid-area: date;
  }
  .post-list__item-date time {
    color: #383838;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1rem;
  }
}

.post-list__item-category {
  margin-left: 0.56rem;
}
@media (max-width: 768px) {
  .post-list__item-category {
    grid-area: category;
  }
}

.post-list__item-title {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
  margin-left: 2.13rem;
  padding-right: 1rem;
}
@media (max-width: 768px) {
  .post-list__item-title {
    grid-area: title;
    margin-left: 0;
    padding-right: 0;
    line-height: 1.875rem;
  }
}

.post-list__item-icon {
  width: 1.94rem;
  margin-left: auto;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .post-list__item-icon {
    display: none;
  }
}

.news__body {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .news__body {
    flex-direction: column;
  }
}

.category-list {
  flex-shrink: 0;
}

.category-list__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
}

.category-list__body {
  margin-top: 1.25rem;
  padding-left: 1rem;
}
@media (max-width: 768px) {
  .category-list__body {
    padding-left: 0;
  }
}

.category-list__list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media (max-width: 768px) {
  .category-list__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
  }
}

.category-list__link {
  padding: 0.125rem 0;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 6.875rem;
  min-height: 1.875rem;
  display: grid;
  place-content: center;
  border-radius: 4px;
  border: 1px solid #43926a;
  color: #43926a;
}
@media (max-width: 768px) {
  .category-list__link {
    width: 100%;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.25;
    aspect-ratio: 170/46;
  }
}
.category-list__link:hover {
  color: white;
  background-color: #43926a;
  opacity: 1;
}
.category-list__link.is-current {
  color: white;
  background-color: #43926a;
}
.category-list__link.is-current:hover {
  opacity: 0.9;
}

.pagination {
  margin-top: 4.62rem;
}
@media (max-width: 768px) {
  .pagination {
    margin-top: 2.56rem;
  }
}

.pagination__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.31rem;
}
@media (max-width: 768px) {
  .pagination__links {
    gap: unset;
    justify-content: space-between;
  }
}

.pagination__arrow {
  width: 2.375rem;
  display: grid;
}
.pagination__arrow.prev {
  transform: rotate(180deg);
}
.pagination__arrow.next {
  transform: rotate(0deg);
}
.pagination__arrow.disabled {
  opacity: 0.2;
}
.pagination__arrow.disabled:hover svg circle {
  transition: none;
  fill: white;
}
.pagination__arrow.disabled:hover svg path {
  transition: none;
  stroke: #43926a;
}
.pagination__arrow:hover svg circle {
  transition: 0.3s;
  fill: #43926a;
}
.pagination__arrow:hover svg path {
  transition: 0.3s;
  stroke: white;
}

.pagination__numbers {
  display: flex;
  align-items: center;
  gap: 1.87rem;
}
@media (max-width: 768px) {
  .pagination__numbers {
    gap: unset;
    justify-content: space-between;
    width: 100%;
    max-width: 13.125rem;
  }
}

.pagination__number.current, .pagination__number:hover {
  color: #43926a;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.about-company-info {
  padding-bottom: 5.5rem;
}

.about-company-info__items {
  border-top: 1px solid #b1cebf;
  margin-top: 3.44rem;
}
@media (max-width: 768px) {
  .about-company-info__items {
    margin-top: 2.5rem;
  }
}

.about-company-info__item {
  display: flex;
  padding: 0.94rem 1.25rem;
  border-bottom: 1px solid #b1cebf;
}
@media (max-width: 768px) {
  .about-company-info__item {
    flex-direction: column;
    padding: 1rem 0.75rem;
  }
}
.about-company-info__item.flex-align-center {
  align-items: center;
}
@media (max-width: 768px) {
  .about-company-info__item.flex-align-center {
    align-items: flex-start;
  }
}

.about-company-info__item-title {
  width: 11.5rem;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.1875rem;
}
@media (max-width: 768px) {
  .about-company-info__item-title {
    line-height: 1.25rem;
  }
}

.about-company-info__item-data {
  flex: 1;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
}
@media (max-width: 768px) {
  .about-company-info__item-data {
    line-height: 1.75rem;
    margin-top: 0.5rem;
  }
}

.about-links-item {
  background-color: #f6f9f8;
  padding: 2.19rem 3.69rem 2.31rem;
  width: 100%;
}
@media (max-width: 768px) {
  .about-links-item {
    padding: 1.88rem 2rem;
  }
}

.about-links-item__description {
  font-size: 1rem;
  line-height: 2.1875rem;
  margin-bottom: 0.19rem;
}
@media (max-width: 768px) {
  .about-links-item__description {
    line-height: 2.5rem;
  }
}

.about-links-item__btn {
  font-weight: 400;
  display: flex;
  max-width: 14.125rem;
  aspect-ratio: unset;
  padding: 1.25rem 1.25rem 1.25rem 3.75rem;
  justify-content: space-between;
  align-items: center;
  gap: unset;
  margin-top: 2.12rem;
}
@media (max-width: 768px) {
  .about-links-item__btn {
    margin-top: 1.12rem;
    max-width: 100%;
    padding: 1.25rem;
  }
  .about-links-item__btn .btn-secondary__text {
    flex: 1;
    text-align: center;
  }
}
.about-links-item__btn .icon {
  width: 0.5625rem;
}
.about-links-item__btn .icon path {
  stroke-width: 3px;
}
@media (max-width: 768px) {
  .about-links-item__btn .icon {
    width: 0.8125rem;
  }
}
.about-links-item__btn.privacy-policy {
  max-width: 15.3125rem;
  padding: 1.25rem;
}
@media (max-width: 768px) {
  .about-links-item__btn.privacy-policy {
    max-width: 100%;
  }
}

.about-links {
  padding-top: 6.25rem;
}

.about-links__items {
  display: flex;
  gap: 1.25rem;
}
@media (max-width: 768px) {
  .about-links__items {
    flex-direction: column;
  }
}

.about-chart-display {
  background-color: #f6f9f8;
  padding: 3.75rem 0;
}
.about-chart-display.is-ir {
  background-color: white;
  padding: 0;
}
@media (max-width: 768px) {
  .about-chart-display {
    padding: 2.5rem 0;
  }
}

.about-chart-display__container {
  background-color: white;
  padding-top: 6.75rem;
  padding-bottom: 6.75rem;
}
.about-chart-display__container.is-ir {
  display: contents;
}
@media (max-width: 768px) {
  .about-chart-display__container {
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.about-chart-display__inner {
  padding: 0 1.25rem;
}
@media (max-width: 768px) {
  .about-chart-display__inner {
    background-color: white;
    padding: 2.5rem 0;
  }
}
.about-chart-display__inner.is-ir {
  padding: 0;
}

@media (max-width: 768px) {
  .about-chart-display__header {
    padding: 0 0.81rem;
  }
}

.about-chart-display__description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.5rem;
  margin-top: 0.94rem;
}

.about-chart-display__body {
  margin-top: 3.19rem;
}
@media (max-width: 768px) {
  .about-chart-display__body {
    margin-top: 2.19rem;
  }
}
.about-chart-display__body img:not(:first-child) {
  margin-top: 11.13rem;
}
@media (max-width: 768px) {
  .about-chart-display__body img:not(:first-child) {
    margin-top: 10rem;
  }
}

.ir__business-deposit-protection {
  margin-top: 11.12rem;
}

.ir__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 5.625rem;
  letter-spacing: 0.0875rem;
  text-align: center;
}
@media (max-width: 768px) {
  .ir__title {
    font-size: 1.485rem;
    line-height: 1.25rem;
    letter-spacing: 0.075rem;
    text-align: left;
  }
}

.ir__company-info {
  margin-top: 6.25rem;
}

.ir__description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  .ir__description {
    margin-top: 2.38rem;
  }
}

@media (max-width: 768px) {
  .ir__company-info__title {
    line-height: 1.875rem;
  }
}

.recruit-links__lead {
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
}
.recruit-links__lead br {
  display: none;
}
@media (max-width: 768px) {
  .recruit-links__lead br {
    display: block;
  }
}

.recruit-links__list {
  display: flex;
  justify-content: space-between;
  margin-top: 2.5rem;
}
@media (max-width: 768px) {
  .recruit-links__list {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.75rem;
  }
}

.recruit-links__item {
  width: calc(50% - 0.9375rem);
}
@media (max-width: 768px) {
  .recruit-links__item {
    width: 100%;
  }
}

.recruit-links-link {
  display: flex;
  align-items: center;
  background-color: #f6f9f8;
  border-radius: 0.625rem;
  width: 100%;
  justify-content: space-between;
  position: relative;
}
.recruit-links-link:hover {
  opacity: 0.9;
}
.recruit-links-link:hover .recruit-links-link__icon svg circle {
  transition: fill 0.3s, stroke 0.3s;
  fill: #43926a;
  stroke: white;
}
.recruit-links-link:hover .recruit-links-link__icon svg path {
  transition: stroke 0.3s;
  stroke: white;
}

.recruit-links-link__content {
  padding-left: 1.56rem;
}
@media (max-width: 768px) {
  .recruit-links-link__content {
    position: absolute;
  }
}

.recruit-links-link__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 3.125rem;
  letter-spacing: 0.1rem;
}

.recruit-links-link__description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2.1875rem;
  margin-top: 0.81rem;
}

@media (max-width: 768px) {
  .recruit-links-link__img {
    width: 65%;
    margin-left: auto;
  }
}

.recruit-links-link__icon {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  display: grid;
}
@media (max-width: 768px) {
  .recruit-links-link__icon {
    right: 0.8rem;
    bottom: 0.8rem;
  }
}

.job-role__body {
  margin-top: 5rem;
}
@media (max-width: 768px) {
  .job-role__body {
    margin-top: 3.75rem;
  }
  .job-role__body:first-child {
    margin-top: 2.75rem;
  }
}

.job-role__description {
  margin-top: 0.62rem;
  font-size: 1rem;
  line-height: 2.1875rem;
}
@media (max-width: 768px) {
  .job-role__description {
    line-height: 1.875rem;
    margin-top: 1.12rem;
  }
}

.job-role__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 0.94rem;
  margin-top: 1.56rem;
}
@media (max-width: 768px) {
  .job-role__links {
    flex-direction: column;
    margin-top: 2.5rem;
    row-gap: 1.25rem;
  }
}

.job-role__links-item {
  width: calc(50% - 0.435rem);
}
@media (max-width: 768px) {
  .job-role__links-item {
    width: 100%;
  }
}

.job-role__links-link {
  padding: 0 1.25rem;
  gap: 0;
}
@media (max-width: 768px) {
  .job-role__links-link {
    width: 100%;
  }
}
.job-role__links-link .icon {
  width: 0.5625rem;
}
.job-role__links-link .icon path {
  stroke-width: 3px;
}
.job-role__links-link .btn-secondary__text {
  flex: 1;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
}

.recruit-venue {
  padding-top: 3.75rem;
  padding-bottom: 5rem;
  background-color: #f6f9f8;
}
.recruit-venue:nth-child(1 of .recruit-venue) {
  margin-top: 0.88rem;
  background-color: white;
}
@media (max-width: 768px) {
  .recruit-venue {
    padding-top: 3.75rem;
    padding-bottom: 2.69rem;
  }
}

.recruit-venue__container {
  background-color: white;
  max-width: 72.5rem;
  padding-top: 4.12rem;
  padding-bottom: 5.63rem;
}
@media (max-width: 768px) {
  .recruit-venue__container {
    padding-top: 2.37rem;
    padding-bottom: 3.31rem;
  }
}

.hover-opacity {
  transition: opacity 0.3s;
}
.hover-opacity:hover {
  opacity: 0.6;
}

.hover-opacity__img img {
  transition: opacity 0.3s;
}
.hover-opacity__img h3 {
  transition: opacity 0.3s;
}
.hover-opacity__img .front-page-recruit__text,
.hover-opacity__img .recruit-links-link__description,
.hover-opacity__img .heading-h2 {
  color: #383838;
  transition: opacity 0.3s !important;
}
.hover-opacity__img:hover img {
  opacity: 0.6;
}
.hover-opacity__img:hover h3 {
  opacity: 1;
}
.hover-opacity__img:hover .front-page-recruit__text,
.hover-opacity__img:hover .recruit-links-link__description,
.hover-opacity__img:hover .heading-h2 {
  color: #383838;
  opacity: 0.8 !important;
}
.hover-opacity__img:hover .btn-secondary {
  opacity: 1;
  background: #43926a;
  color: white;
  border: 1px solid white;
}
.hover-opacity__img:hover .btn-secondary svg path {
  stroke: white;
}