@charset "UTF-8";
/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

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

html {
  scroll-behavior: auto;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:root {
  --base_line_height: 1;
  --base_letter_spacing: 0;
  --text_letter_spacing: 0.05em;
  --color_primary: #5BCBB0;
  --color_black: #272727;
  --color_black01: #3B3B3B;
  --color_white: #fff;
  --color_gray: #767676;
  --color_text_gray: #666;
  --color_border: #ECECEC;
}

body {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fafafa;
  color: var(--color_black);
  line-height: var(--base_line_height);
  letter-spacing: var(--base_letter_spacing);
}

a {
  text-decoration: none;
  outline: none;
  transition: all 0.3s;
}
a:hover {
  color: var(--color_primary);
  opacity: 0.7;
}

a[href*="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 640px) {
  a[href*="tel:"] {
    pointer-events: auto;
  }
}
.header {
  height: auto;
}

.logo-image {
  padding: 0;
}

.site-name-text-link {
  padding: 0;
}

.content {
  margin-top: 0;
}

.container {
  overflow: hidden;
}

.section__wrap, .relatedEntries__wrap, .snsButtons__warp, .post__wrap, .pageContent__wrap, .pageTitle__wrap, .breadcrumb__wrap {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 2.5rem;
}
@media only screen and (max-width: 834px) {
  .section__wrap, .relatedEntries__wrap, .snsButtons__warp, .post__wrap, .pageContent__wrap, .pageTitle__wrap, .breadcrumb__wrap {
    padding: 0 1.25rem;
  }
}

.section {
  padding: 7.5rem 0;
}
@media only screen and (max-width: 767px) {
  .section {
    padding: 4rem 0;
  }
}

.section__inner, .post__inner, .pageContent__inner, .pageTitle__inner {
  max-width: 67.5rem;
  margin: 0 auto;
}

.header {
  padding: 1.5625rem 0;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 777;
}
@media only screen and (max-width: 580px) {
  .header {
    padding: 0.9375rem 0;
  }
}
.header__wrap {
  padding: 0 2.5rem;
}
@media only screen and (max-width: 1160px) {
  .header__wrap {
    padding: 0 1.25rem;
  }
}
.header__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header .logo {
  max-width: 7.5625rem;
}
@media only screen and (max-width: 1160px) {
  .header .logo {
    position: relative;
    z-index: 1;
  }
}
.header.is-fixed {
  background: rgba(250, 250, 250, 0.6);
  backdrop-filter: blur(0.3125rem);
  box-shadow: 0 4px 1rem rgba(0, 0, 0, 0.06);
}

@keyframes gnav-fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes gnav-fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.gnav {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 800;
}
@media only screen and (max-width: 1160px) {
  .gnav {
    padding: 5.375rem 1.25rem;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: #fff;
    height: 100vh;
    display: none;
    opacity: 0;
  }
}
@media only screen and (max-width: 1160px) {
  .gnav.is-open {
    display: block;
    animation: gnav-fadein 0.4s ease forwards;
  }
}
@media only screen and (max-width: 1160px) {
  .gnav.is-closing {
    display: block;
    animation: gnav-fadeout 0.4s ease forwards;
  }
}
.gnav__list {
  display: flex;
  align-items: center;
  margin-right: 2.5rem;
}
@media only screen and (max-width: 1160px) {
  .gnav__list {
    display: block;
    margin-right: 0;
  }
}
.gnav .menu-item {
  margin-left: 2rem;
}
@media only screen and (max-width: 1160px) {
  .gnav .menu-item {
    margin-left: 0;
  }
}
.gnav a {
  color: var(--color_black);
}
@media only screen and (max-width: 1160px) {
  .gnav a {
    display: block;
    padding: 1.5rem 0.5rem;
  }
}
.gnav a:hover {
  color: var(--color_primary);
  opacity: 1;
}
.gnav__contact {
  width: 10.75rem;
  height: 2.875rem;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  background: var(--color_black);
  color: var(--color_white) !important;
  padding: 0 1rem;
  transition: background 0.3s ease;
}
@media only screen and (max-width: 1160px) {
  .gnav__contact {
    width: 100%;
    margin-top: 1.5rem;
    padding: 0 1rem !important;
  }
}
.gnav__contact:hover {
  background: var(--color_primary);
}

.page-id-210 #menu-item-30398,
.page-id-210 #menu-item-30386,
.page-id-210 #menu-item-30039,
.page-id-210 #menu-item-30040,
.page-id-210 #menu-item-30384,
.page-id-70498 #menu-item-30398,
.page-id-70498 #menu-item-30386,
.page-id-70498 #menu-item-30039,
.page-id-70498 #menu-item-30040,
.page-id-70498 #menu-item-30384 {
  display: none;
}

.serviceCard {
  border: 3px solid #E2E2E2;
  border-radius: 0.5rem;
  box-shadow: 0px 6px 1.25rem rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
.serviceCard__head {
  position: relative;
}
.serviceCard__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.84375rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.serviceCard__icon {
  width: 1.265625rem;
}
.serviceCard__title {
  font-family: "Noto Serif", serif;
  font-size: 1.25rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  color: var(--color_white);
  line-height: 1.294;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.serviceCard__body {
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_text_gray);
  line-height: 1.6;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.5rem 0.75rem;
}
.serviceCard ul {
  list-style: disc;
  padding-left: 1.25rem;
}

.caseCard {
  width: calc((100% - 2.5rem) / 3);
  color: var(--color_black);
}
@media only screen and (max-width: 834px) {
  .caseCard {
    width: calc((100% - 2rem) / 2);
  }
}
@media only screen and (max-width: 580px) {
  .caseCard {
    width: 100%;
  }
}
.caseCard__thumbnail {
  margin-bottom: 1.375rem;
}
.caseCard__thumbnail img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 1.125rem;
}
.caseCard__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.375rem;
}
.caseCard__client {
  font-size: 0.9375rem;
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.375rem;
}
.caseCard__tags {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.caseCard__tag a {
  background: #3B3B3B;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_white) !important;
  line-height: 1.8;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 0.25rem 1.25rem;
}
.caseCard a {
  color: var(--color_black);
}

.blogCard {
  width: calc((100% - 2.5rem) / 3);
  color: var(--color_black);
}
@media only screen and (max-width: 1160px) {
  .blogCard {
    width: calc((100% - 1.25rem) / 2);
  }
}
@media only screen and (max-width: 580px) {
  .blogCard {
    width: 100%;
  }
}
.blogCard__thumbnail {
  position: relative;
}
.blogCard__thumbnail img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.blogCard__cat {
  position: absolute;
  left: 0;
  bottom: 0;
}
.blogCard__cat a {
  color: var(--color_text_gray) !important;
}
.blogCard__catName {
  width: 7.3125rem;
  height: 1.875rem;
  background: var(--color_white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color_gray);
}
@media only screen and (max-width: 580px) {
  .blogCard__catName {
    font-size: 0.75rem;
  }
}
.blogCard__content {
  padding: 2rem 0;
}
@media only screen and (max-width: 580px) {
  .blogCard__content {
    padding: 1.25rem 0;
  }
}
.blogCard__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 580px) {
  .blogCard__title {
    font-size: 1rem;
  }
}
.blogCard__date {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color_gray);
  display: block;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.blogCard__img--archive {
  border-radius: 3.74px;
  overflow: hidden;
}
.blogCard__content--archive {
  padding: 1.25rem 0 0;
}
.blogCard__cat--archive {
  position: relative;
  left: auto;
  bottom: auto;
  display: flex;
}
.blogCard__catName--archive {
  width: auto;
  height: auto;
  display: inline-block;
  background: none;
  font-size: 0.75rem;
}
.blogCard__title--archive {
  font-size: 1rem;
  line-height: 1.4;
  margin: 1.25rem 0;
}
.blogCard a {
  color: var(--color_black);
}
.blogCard__tag {
  font-size: 0.75rem;
  font-weight: bold;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  display: inline-block;
  margin-top: 1.25rem;
}
.blogCard__tag a {
  color: var(--color_primary);
}

.newsCard {
  border-bottom: 1px solid var(--color_border);
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .newsCard {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.newsCard__link {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 2.5rem;
  color: var(--color_black);
}
@media only screen and (max-width: 834px) {
  .newsCard__link {
    align-items: flex-start;
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .newsCard__link {
    gap: 1.25rem;
  }
}
.newsCard__thumbnail {
  max-width: 25rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.12);
}
@media only screen and (max-width: 834px) {
  .newsCard__thumbnail {
    max-width: 40%;
  }
}
.newsCard__thumbnail img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.newsCard__content {
  flex: 1;
  position: relative;
}
.newsCard__cat {
  min-width: 7.3125rem;
  height: 1.875rem;
  background: #F0F0F0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color_gray);
  line-height: 1.875rem;
  text-align: center;
  display: inline-block;
  margin-bottom: 1.5rem;
  padding: 0 1.25rem;
}
@media only screen and (max-width: 580px) {
  .newsCard__cat {
    font-size: 0.75rem;
    margin-bottom: 0.625rem;
  }
}
.newsCard__catName {
  display: inline-block;
  margin-left: 0.5rem;
}
.newsCard__catName:first-child {
  margin-left: 0;
}
.newsCard__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 580px) {
  .newsCard__title {
    font-size: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding: 0.125rem 0;
  }
}
.newsCard__date {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color_gray);
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (max-width: 580px) {
  .newsCard__date {
    font-size: 0.75rem;
  }
}
.newsCard a {
  color: var(--color_black);
}

.linkButton {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  max-width: 25rem;
  height: 2.9375rem;
  background: var(--color_black01);
  border-radius: 5rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--color_white);
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin: 0 auto;
  transition: all 0.3s ease;
}
.linkButton:hover {
  background: var(--color_primary);
  color: var(--color_white);
  opacity: 1;
}
.linkButton--form {
  border-radius: 0;
  font-size: 0.875rem;
  font-weight: bold;
  max-width: 30.625rem;
  height: 3.625rem;
  margin-left: 0;
}
.linkButton--about {
  margin-left: 0;
}

.footer {
  border-top: 1px solid #B4B4B4;
  margin: 0;
  padding: 7.5rem 0 2.5rem;
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 5rem 0 1.25rem;
  }
}
.footer__upper {
  padding-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .footer__upper {
    padding-bottom: 5rem;
  }
}
.footer__wrap {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}
.footer__content {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .footer__content {
    flex-direction: column;
  }
}
.footer__logo {
  padding-right: 3.75rem;
}
@media only screen and (max-width: 767px) {
  .footer__logo {
    padding-right: 0;
    margin-bottom: 3.75rem;
  }
}
.footer__logo .logo {
  width: 7.5625rem;
}
.footer__nav {
  max-width: 48rem;
  display: flex;
  flex: 1;
  gap: 1.5rem;
}
@media only screen and (max-width: 1440px) {
  .footer__nav {
    justify-content: space-around;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav {
    flex-direction: column;
  }
}
.footer__navItem {
  width: calc((100% - 3rem) / 3);
}
@media only screen and (max-width: 1440px) {
  .footer__navItem {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .footer__navItem {
    width: 100%;
  }
}
.footer__navTitle {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .footer__navTitle {
    margin-bottom: 1.25rem;
  }
}
.footer__navListItem {
  margin-bottom: 2rem;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
@media only screen and (max-width: 767px) {
  .footer__navListItem {
    margin-bottom: 1.25rem;
  }
}
.footer__navListItem:last-child {
  margin-bottom: 0;
}
.footer__navListLink {
  display: inline-block;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--color_gray);
  line-height: 1.2;
}
.footer__navListLink:hover {
  color: var(--color_primary);
  opacity: 1;
}
.footer__sns {
  margin-top: 5rem;
}
.footer__snsTitle {
  font-size: 1rem;
  font-weight: 500;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.25rem;
}
.footer__snsList {
  display: grid;
  grid-template-columns: 2.75rem 2.75rem 2.75rem 2.75rem;
  gap: 0.75rem;
}
.footer__bottom {
  border-top: 1px solid #B4B4B4;
  padding-top: 2.5rem;
}
.footer__privacyLink {
  display: table;
  font-size: 0.75rem;
  color: var(--color_text_gray);
  margin: 0 0 1.125rem auto;
}
.footer__privacyLink:hover {
  color: var(--color_primary);
  opacity: 1;
}
.footer__copyright {
  font-size: 0.75rem;
  color: #999;
  text-align: right;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.breadcrumb {
  font-size: 0.75rem;
  margin: 6.5rem 0 0;
  position: relative;
  z-index: 10;
}
.breadcrumb__wrap {
  display: block !important;
}
.breadcrumb__caption {
  color: var(--color_primary);
}
.breadcrumb__caption--home {
  display: none;
}
.breadcrumb a {
  color: #949494;
}
.breadcrumb a .breadcrumb__caption {
  color: #949494;
}
.breadcrumb__item:last-child .breadcrumb__caption {
  color: var(--color_primary);
}

.page-id-198 .breadcrumb {
  margin-bottom: 5rem;
}

.pageTitle {
  margin: 5rem 0;
}
@media only screen and (max-width: 767px) {
  .pageTitle {
    margin: 3rem 0;
  }
}
.pageTitle--animation {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
}
.pageTitle__wrap--animation {
  position: absolute;
  top: 24.0625rem;
  left: 0;
  width: 100%;
  max-width: none;
}
@media only screen and (max-width: 767px) {
  .pageTitle__wrap--animation {
    top: 16.5625rem;
  }
}
.pageTitle__en {
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_text_gray);
  line-height: 1.294;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .pageTitle__en {
    margin-bottom: 1rem;
  }
}
.pageTitle__jp {
  font-family: "Noto Serif", serif;
  font-size: 2.5rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.6;
}
@media only screen and (max-width: 834px) {
  .pageTitle__jp {
    font-size: 1.625rem;
  }
}
.pageTitle__title {
  font-family: "Noto Serif", serif;
  font-size: 2.5rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  max-width: 67.5rem;
  margin: 0 auto;
}
@media only screen and (max-width: 834px) {
  .pageTitle__title {
    font-size: 1.625rem;
  }
}
.pageTitle__subTitle {
  font-family: "Noto Serif", serif;
  font-size: 1.75rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin: 2.5rem 0 3rem;
}
@media only screen and (max-width: 834px) {
  .pageTitle__subTitle {
    font-size: 1.25rem;
  }
}
.pageTitle__text {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  max-width: 50rem;
  margin-bottom: 2.5rem;
}

.pageContent {
  padding-bottom: 5rem;
}
.pageContent__case {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 1.25rem;
}
.pageContent__blog {
  display: flex;
  gap: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .pageContent__blog {
    display: block;
  }
}
.pageContent__loop {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 1.25rem;
}
.pageContent__side {
  width: 19.25rem;
}
@media only screen and (max-width: 834px) {
  .pageContent__side {
    width: 100%;
  }
}

.categoryList {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  max-width: 75rem;
  margin: 0 auto 2.5rem;
}
@media only screen and (max-width: 1160px) {
  .categoryList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .categoryList {
    grid-template-columns: repeat(2, 1fr);
  }
}
.categoryList__item {
  width: calc((100% - 3.125rem) / 6);
}
@media only screen and (max-width: 1160px) {
  .categoryList__item {
    width: 100%;
  }
}
.categoryList__link {
  display: block;
  background: var(--color_white);
  border-radius: 0.625rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color_black);
  line-height: 1.4;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 0.5rem 1.125rem;
}
.categoryList__link:hover {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
  color: var(--color_white);
  opacity: 1;
}
.categoryList__link--active {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
  color: var(--color_white);
}
.categoryList__item--news {
  width: calc((100% - 3.125rem) / 6);
}
@media only screen and (max-width: 1160px) {
  .categoryList__item--news {
    width: 100%;
  }
}

.post-type-archive-works .categoryList__link,
.tax-works_cat .categoryList__link,
.tax-works_tag .categoryList__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.0625rem;
}

.post {
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .post {
    margin-top: 3rem;
  }
}
.post__title {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 580px) {
  .post__title {
    margin-bottom: 1rem;
  }
}
.post__titleEn {
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_text_gray);
  line-height: 1.29;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  display: block;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .post__titleEn {
    margin-bottom: 1rem;
  }
}
.post__titleJp {
  font-family: "Noto Serif", serif;
  font-size: 2.5rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
}
@media only screen and (max-width: 834px) {
  .post__titleJp {
    font-size: 1.625rem;
  }
}
.post__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
@media only screen and (max-width: 580px) {
  .post__meta {
    display: block;
  }
}
.post__date {
  font-size: 0.875rem;
  color: var(--color_text_gray);
}
@media only screen and (max-width: 580px) {
  .post__date {
    margin-bottom: 2rem;
  }
}
.post__author {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 1.125rem;
}
.post__authorImg {
  width: 3.5rem;
}
.post__authorImg img {
  border-radius: 50%;
}
.post__authorContent {
  flex: 1;
}
.post__authorName {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.post__authorNameTitle {
  font-size: 0.8125rem;
  font-weight: 500;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.post__authorNameWrap {
  display: flex;
  align-items: center;
}
.post__authorNameText {
  font-size: 0.9375rem;
  display: block;
  white-space: nowrap;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.post__authorCompany {
  font-size: 0.875rem;
  display: block;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.post__authorPosition {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8;
  white-space: nowrap;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-top: 1.25rem;
}
.post__eyeCatch {
  box-shadow: 0px 18px 18px rgba(134, 166, 172, 0.16);
  margin: 2rem 0 1.25rem;
}
.post__eyeCatch img {
  width: 100%;
}
.post__content {
  max-width: 45.75rem;
  color: var(--color_text_gray);
  margin: 5rem auto 0;
}
.post__footer {
  margin-top: 5rem;
}
.post__footerInner {
  max-width: 45.75rem;
  margin: 0 auto;
}
.post__snsFooter {
  margin-bottom: 3.75rem;
}
.post__tags {
  margin-bottom: 1rem;
}
.post__contentWrap {
  display: flex;
  gap: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .post__contentWrap {
    display: block;
  }
}
.post__contentMain {
  flex: 1;
}
.post__contentSide {
  width: 19.25rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 834px) {
  .post__contentSide {
    width: 100%;
  }
}

.snsButtons__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}
.snsButtons__title {
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_text_gray);
}
.snsButtons__button {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.snsButtons__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--color_border);
  border-radius: 50%;
  font-size: 0.75rem;
  color: var(--color_black);
}
.snsButtons__item:hover {
  color: var(--color_black);
}

.entry {
  color: var(--color_text_gray);
}
.entry h2 {
  font-family: "Noto Serif", serif;
  font-size: 2rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  color: var(--color_black);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin: 4rem 0 3rem;
}
@media only screen and (max-width: 834px) {
  .entry h2 {
    font-size: 1.5rem;
  }
}
.entry h3 {
  font-family: "Noto Serif", serif;
  font-size: 1.25rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  color: var(--color_black);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin: 4rem 0 3rem;
}
.entry h4 {
  font-size: 1.125rem;
  font-weight: bold;
  padding-top: 2.5rem;
  margin: 1.875rem 0 1.875rem;
}
.entry div {
  line-height: 1.4;
}
.entry p,
.entry ul,
.entry ol,
.entry table,
.entry dl,
.entry figure {
  font-size: 0.9375rem;
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem !important;
}
.entry figcaption {
  font-size: 0.75rem;
  font-weight: bold;
  color: #949494;
  padding: 0;
}
.entry a {
  color: var(--color_primary);
  text-decoration: underline;
}
.entry a:hover {
  text-decoration: none;
}
.entry ul {
  list-style: disc;
  padding-left: 1.5625rem;
}
.entry ul ul,
.entry ul ol {
  margin-top: 0.5em;
}
.entry ol {
  list-style: decimal;
  padding-left: 1.5625rem;
}
.entry ol ul,
.entry ol ol {
  margin-top: 0.5em;
}
.entry dl {
  margin-top: 2.5rem;
}
.entry dt {
  display: table;
  border: 1px solid #B4B4B4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 0.625rem 1.5rem;
  margin-bottom: 1.5rem;
}
.entry dd {
  display: block;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.entry table thead {
  border: none;
}
.entry table tr:nth-of-type(2n+1) {
  background: none;
}
.entry th,
.entry td {
  border: 1px solid #B4B4B4;
  text-align: left;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.125rem 0.9375rem;
}
.entry th {
  background: #729AAB;
  color: var(--color_white);
}
.entry .wp-block-button {
  width: 100%;
  max-width: 22.5rem;
  margin: 0 auto 2.5rem;
}
.entry .btn-color a,
.entry .btn-gray a {
  display: block;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color_white);
  text-decoration: none;
  margin: 0 auto;
  padding: 1rem 2.5rem;
  position: relative;
}
.entry .btn-color a:before,
.entry .btn-gray a:before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1px solid var(--color_white);
  border-right: 1px solid var(--color_white);
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  right: 2rem;
  top: 50%;
}
.entry .btn-color a {
  background: linear-gradient(90deg, #5BCBB0 0%, #61BADA 100%);
}
.entry .btn-gray a {
  background: linear-gradient(272.04deg, #729AAB -0.01%, #ACAFBC 98.81%);
}
.entry .borderBox {
  margin-bottom: 2.5rem;
}
.entry .borderBox__body {
  border: 2px solid transparent;
  border-radius: 0.625rem;
  background-image: linear-gradient(white, white), linear-gradient(135deg, #DFB2C0 0%, #ABE0DC 84%, #EAE8D0 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  padding: 3rem;
}
@media only screen and (max-width: 767px) {
  .entry .borderBox__body {
    padding: 1.5rem;
  }
}
.entry .borderBox__body *:last-child {
  margin-bottom: 0 !important;
}
.entry .colorBox {
  margin-bottom: 3rem;
}
.entry .colorBox__body {
  background: #EEF1F4;
  border-radius: 0.625rem;
  padding: 1.875rem 2.5rem;
}
@media only screen and (max-width: 767px) {
  .entry .colorBox__body {
    padding: 1.5rem;
  }
}
.entry .colorBox__body > *:last-child {
  margin-bottom: 0 !important;
}
.entry .attBox {
  margin-bottom: 3rem;
}
.entry .attBox__title {
  background: linear-gradient(272.04deg, #729AAB -0.01%, #ACAFBC 98.81%);
  border-radius: 0.625rem 0.625rem 0 0;
  color: var(--color_white);
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.75rem 1.5rem;
  margin-bottom: 0 !important;
}
@media only screen and (max-width: 767px) {
  .entry .attBox__title {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.entry .attBox__body {
  background: #EEF1F4;
  border-radius: 0 0 0.625rem 0.625rem;
  padding: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .entry .attBox__body {
    padding: 1.5rem;
  }
}
.entry .attBox__body > *:last-child {
  margin-bottom: 0 !important;
}
.entry .marker-yellow,
.entry .marker-pink,
.entry .marker-blue,
.entry .marker-green {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: 100% 0.5em;
  background-position: 0 100%;
}
.entry .marker-yellow {
  background-image: linear-gradient(#EFE8B9, #EFE8B9);
}
.entry .marker-pink {
  background-image: linear-gradient(#F7E1F9, #F7E1F9);
}
.entry .marker-blue {
  background-image: linear-gradient(#D2EDF6, #D2EDF6);
}
.entry .marker-green {
  background-image: linear-gradient(#E0FAD6, #E0FAD6);
}
.entry .wp-block-pullquote {
  margin: 0;
  padding: 0;
}
.entry .wp-block-pullquote blockquote {
  border: none;
  background: linear-gradient(272.04deg, #729AAB -0.01%, #ACAFBC 98.81%);
  border-radius: 0.625rem;
  padding: 3rem 2.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .entry .wp-block-pullquote blockquote {
    padding: 4rem 1.5rem 1.5rem;
  }
}
.entry .wp-block-pullquote blockquote > * {
  color: var(--color_white);
  text-align: left;
  padding-left: 3.3125rem;
  margin-bottom: 1.5rem !important;
}
@media only screen and (max-width: 767px) {
  .entry .wp-block-pullquote blockquote > * {
    padding-left: 0;
  }
}
.entry .wp-block-pullquote blockquote:before {
  content: "";
  width: 1.8125rem;
  height: 1.25rem;
  background: url(../images/blockquote.png);
  background-size: contain;
  position: absolute;
  top: 3rem;
  left: 2rem;
}
@media only screen and (max-width: 767px) {
  .entry .wp-block-pullquote blockquote:before {
    top: 1.5rem;
    left: 1.5rem;
  }
}
.entry .wp-block-pullquote blockquote:after {
  content: none;
}
.entry .wp-block-pullquote cite {
  font-size: 0.875rem;
  font-weight: bold;
  font-size: normal;
  text-align: right;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 0 !important;
}
.entry blockquote {
  width: 100%;
  box-sizing: border-box;
  background-color: rgb(237, 237, 237);
  border: none;
  margin-bottom: 50px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.entry blockquote:before, .entry blockquote:after {
  content: none;
}
.entry blockquote p {
  margin-bottom: 1em;
}
.entry blockquote > :first-child {
  margin-top: 0 !important;
}
.entry blockquote > :last-child {
  margin-bottom: 0 !important;
}
.entry blockquote > ol, .entry blockquote > ul {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.entry .wp-caption {
  margin-bottom: 50px;
  max-width: 100%;
  line-height: 0;
  padding: 0;
  background: none;
  border: none;
}
.entry .wp-caption-text {
  font-size: 12px;
  text-align: center;
  padding: 5px 0;
  background-color: rgba(0, 0, 0, 0.1);
  line-height: 1.5;
  margin: 0;
}
.entry .darkBox {
  background: #525252;
  border-radius: 0.625rem;
  color: var(--color_white);
  margin-bottom: 3rem;
  padding: 3rem 2.5rem;
}
@media only screen and (max-width: 767px) {
  .entry .darkBox {
    padding: 1.5rem;
  }
}
.entry .darkBox__title {
  border-bottom: 1px solid var(--color_white);
  color: var(--color_white);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .entry .darkBox__title {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.entry .darkBox *:last-child {
  margin-bottom: 0 !important;
}
.entry .darkBox * {
  color: var(--color_white);
}

.page .entry {
  margin-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .page .entry {
    margin-bottom: 5rem;
  }
}
.page .entry h2 {
  margin-top: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .page .entry h2 {
    margin-top: 4rem;
  }
}
.page .entry table {
  width: 100%;
}
.page .entry th {
  background: #E3E3E3;
  min-width: 11.4375rem;
  font-weight: normal;
  color: var(--color_black);
}
@media only screen and (max-width: 580px) {
  .page .entry th,
  .page .entry td {
    display: block;
    min-width: 100%;
  }
}
.page .entry .privacy-policy-title {
  background: #729AAB;
  font-size: 0.9375rem;
  font-weight: normal;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #fff;
  padding: 1.25rem 0.9375rem;
  margin: 0;
}
.page .entry .privacy-policy-table {
  margin: 0 !important;
}
.page .entry .privacy-policy-table table {
  margin: 0 !important;
}
.page .entry .privacy-policy-date {
  margin-top: 3rem;
}

.postCta {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%), #000000;
  border-radius: 0.75rem;
  padding: 5rem 4.375rem;
}
@media only screen and (max-width: 767px) {
  .postCta {
    padding: 2.5rem 1.5rem;
  }
}
.postCta__title {
  font-size: 1.75rem;
  font-weight: bold;
  color: var(--color_white);
  line-height: 1.4;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .postCta__title {
    font-size: 1.5rem;
  }
}
.postCta__img {
  box-shadow: 0px 18px 18px rgba(134, 166, 172, 0.16);
}
.postCta__img img {
  border-radius: 1rem;
  margin: 0 auto;
}
.postCta__content {
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color_white);
  line-height: 1.8;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin: 2rem 0;
}
.postCta__button {
  max-width: 30.6875rem;
  margin: 0 auto;
}
.postCta__link {
  display: block;
  background: var(--color_black01);
  border-radius: 0.25rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color_white);
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.5rem 2rem;
  position: relative;
}
.postCta__link:after {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-top: 1px solid var(--color_white);
  border-right: 1px solid var(--color_white);
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  right: 1.5rem;
  top: 50%;
}
.postCta__link:hover {
  background: var(--color_primary);
  color: var(--color_white);
  opacity: 1;
}

.postAuthor {
  display: flex;
  gap: 1.125rem;
  background: #F8F8F8;
  border-radius: 0.625rem;
  padding: 1.5rem;
  margin: 3.75rem 0;
}
@media only screen and (max-width: 767px) {
  .postAuthor {
    display: block;
  }
}
.postAuthor__img {
  width: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .postAuthor__img {
    margin: 0 auto 1rem;
  }
}
.postAuthor__img img {
  border-radius: 50%;
}
.postAuthor__content {
  flex: 1;
  padding-top: 0.375rem;
}
.postAuthor__name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.postAuthor__nameTitle {
  font-size: 0.8125rem;
  font-weight: 500;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  flex-shrink: 0;
}
.postAuthor__nameWrap {
  display: flex;
  align-items: center;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .postAuthor__nameWrap {
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
.postAuthor__nameText {
  font-size: 0.9375rem;
  display: block;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.postAuthor__company {
  font-size: 0.875rem;
  display: block;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.postAuthor__archive {
  font-size: 0.8125rem;
}
@media only screen and (max-width: 767px) {
  .postAuthor__archive {
    width: 100%;
    padding-top: 0.375rem;
  }
}
.postAuthor__archive a {
  color: var(--color_primary);
  text-decoration: underline;
}
.postAuthor__archive a:hover {
  text-decoration: none;
}
.postAuthor__text {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-top: 1.25rem;
}

.shareButtons {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.tags {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.tags__link {
  display: inline-block;
  background: #7F7F7F;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_white);
  line-height: 1.8;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 0.375rem 0.5rem;
}
.tags__link:hover {
  color: var(--color_white);
  opacity: 0.7;
}

.postCategory {
  display: flex;
  align-items: center;
  margin-bottom: 3.75rem;
}
.postCategory__item {
  font-size: 0.75rem;
}
.postCategory__link {
  color: var(--color_primary);
}

.relatedEntries {
  margin-bottom: 5rem;
}
.relatedEntries__wrap--blog {
  padding: 0;
}
.relatedEntries__inner {
  max-width: 45.75rem;
  margin: 0 auto;
}
.relatedEntries__title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color_border);
  margin-bottom: 2rem;
}
.relatedEntries__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media only screen and (max-width: 834px) {
  .relatedEntries__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 580px) {
  .relatedEntries__content {
    grid-template-columns: 1fr;
  }
}
.relatedEntries__item {
  color: var(--color_black);
}
.relatedEntries__item:hover {
  color: var(--color_black);
}
.relatedEntries__img {
  margin-bottom: 1.25rem;
}
.relatedEntries__img img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 0.25rem;
}
.relatedEntries__itemTitle {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.pagination .prev,
.pagination .next {
  display: none;
}
.pagination .page-numbers {
  border: none;
}
.pagination .dots {
  background: none;
  opacity: 1;
}
.pagination .current {
  background: none;
  color: var(--color_primary);
  border-bottom: 1px solid var(--color_primary);
}
.pagination a:hover {
  color: var(--color_primary);
  opacity: 1;
}

@media only screen and (max-width: 834px) {
  .sideBar {
    margin-top: 3.75rem;
  }
}
.sideBar__search {
  margin-bottom: 2rem;
}
.sideBar__searchInner {
  display: flex;
  align-items: center;
  border: 1px solid var(--color_border);
}
.sideBar__searchInput {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  border: none !important;
  font-size: 0.875rem;
  color: var(--color_black);
  padding: 0.75rem 1rem;
}
.sideBar__searchInput::-moz-placeholder {
  color: #BBBBBB;
  font-size: 0.8125rem;
}
.sideBar__searchInput::placeholder {
  color: #BBBBBB;
  font-size: 0.8125rem;
}
.sideBar__searchInput::-webkit-search-cancel-button {
  display: none;
}
.sideBar__searchBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color_primary);
  flex-shrink: 0;
  padding: 0;
}
.sideBar__block {
  margin-bottom: 2rem;
}
.sideBar__heading {
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color_black);
  line-height: 1.4;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color_border);
  margin-bottom: 0.75rem;
}
.sideBar__catList {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sideBar__catLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #F5F5F5;
  padding: 0.8125rem 1rem;
  color: var(--color_text_gray);
  font-size: 0.875rem;
  font-weight: 500;
  transition: opacity 0.3s;
}
.sideBar__catLink:hover {
  color: var(--color_black);
  opacity: 0.7;
}
.sideBar__catArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  background: var(--color_primary);
  border-radius: 50%;
  color: var(--color_white);
  flex-shrink: 0;
}
.sideBar__articleList {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
.sideBar__articleLink {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  color: var(--color_black);
  transition: opacity 0.3s;
}
.sideBar__articleLink:hover {
  color: var(--color_black);
  opacity: 0.7;
}
.sideBar__articleImg {
  width: 7.5rem;
  flex-shrink: 0;
}
.sideBar__articleImg img {
  width: 100%;
  height: 5rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.25rem;
  display: block;
}
.sideBar__articleTitle {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.toc {
  width: 100%;
  background-color: #f5f5f7;
  border: none;
  margin: 2rem 0;
  padding: 2rem;
}
.toc .toc-checkbox {
  display: none;
}
.toc .toc-title {
  display: flex;
  align-items: center;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid #d9d9d9;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  color: #272727;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1;
}
.toc .toc-title::after {
  content: "（表示）";
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 400;
  color: #767676;
}
.toc .toc-checkbox:checked ~ .toc-title::after {
  content: "（非表示）";
}
.toc .toc-content {
  display: none;
  padding-top: 0;
}
.toc .toc-checkbox:checked ~ .toc-content {
  display: block;
  padding-top: 0;
}
.toc .toc-list {
  list-style: none;
  padding: 0;
  margin: 0 !important;
  counter-reset: toc-item;
}
.toc .toc-list > li {
  counter-increment: toc-item;
  border-bottom: 1px solid #d9d9d9;
}
.toc .toc-list > li > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0;
  color: #272727;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.5;
  position: relative;
}
.toc .toc-list > li > a::before {
  content: counter(toc-item) ".";
  flex-shrink: 0;
  min-width: 1.25rem;
  font-size: 0.875rem;
}
.toc .toc-list > li > a::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background-color: #5BCBB0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}
.toc .toc-list > li > a:hover {
  color: #5BCBB0;
}
.toc .toc-list > li > ol {
  list-style: none;
  padding: calc(0rem / 1px) 1.5rem 1rem 3.5rem;
  margin: -0.6em 0 0 !important;
  counter-reset: toc-sub-item;
}
.toc .toc-list > li > ol li {
  counter-increment: toc-sub-item;
}
.toc .toc-list > li > ol li a {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  padding: 0.375rem 0;
  color: #666;
  text-decoration: none;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.toc .toc-list > li > ol li a::before {
  content: counter(toc-sub-item) ".";
  flex-shrink: 0;
  min-width: 1.125rem;
  font-size: 0.8125rem;
}
.toc .toc-list > li > ol li a:hover {
  color: #5BCBB0;
}
.toc .toc-list > ol {
  list-style: none;
  padding: 0;
  margin: 0 !important;
  counter-reset: toc-item;
}
.toc .toc-list > ol > li {
  counter-increment: toc-item;
  border-bottom: 1px solid #d9d9d9;
}
.toc .toc-list > ol > li > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0;
  color: #272727;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.5;
  position: relative;
}
.toc .toc-list > ol > li > a::before {
  content: counter(toc-item) ".";
  flex-shrink: 0;
  min-width: 1.25rem;
  font-size: 0.875rem;
}
.toc .toc-list > ol > li > a::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background-color: #5BCBB0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}
@media only screen and (max-width: 767px) {
  .toc .toc-list > ol > li > a::after {
    right: -1.25rem;
  }
}
.toc .toc-list > ol > li > a:hover {
  color: #5BCBB0;
}

@media only screen and (max-width: 767px) {
  .toc .toc-list > li > a::after {
    right: -1.25rem;
  }
}

.single-news .toc {
  display: none;
}

.section--narrow {
  padding: 5rem 0;
}
.section--bgColor {
  background: #FAFAFA;
}
.section--contact {
  background: linear-gradient(95.64deg, rgba(223, 178, 192, 0.48) 1.26%, rgba(171, 224, 220, 0.48) 83.98%, rgba(234, 232, 208, 0.48) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.88)), url(../images/contact_bg.webp) no-repeat center/cover;
  background: linear-gradient(95.64deg, rgba(223, 178, 192, 0.48) 1.26%, rgba(171, 224, 220, 0.48) 83.98%, rgba(234, 232, 208, 0.48) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.88)), url(../images/contact_bg.jpg) no-repeat center/cover;
}
.section--first {
  margin-top: calc(100vh - 7.3125rem);
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  .section--sp {
    margin-top: calc(100vh + 6.25rem);
  }
}
.section--features {
  position: relative;
}
.section--features:before {
  content: "";
  width: 110.25rem;
  height: 110.25rem;
  background: url(../images/top_bg.webp) no-repeat center/contain;
  position: absolute;
  left: calc(50% - 882px + 40px);
  top: -22.0625rem;
}
.section--works {
  position: relative;
  z-index: 1;
}
.section__wrap--features {
  position: relative;
  z-index: 1;
}
.section__heading {
  margin-bottom: 6.25rem;
}
@media only screen and (max-width: 834px) {
  .section__heading {
    margin-bottom: 3rem;
  }
}
.section__heading--narrow {
  margin-bottom: 1.5rem;
}
.section__title {
  position: relative;
}
.section__title:before {
  content: "";
  width: 1px;
  height: 3.75rem;
  position: absolute;
  left: 1.25rem;
  top: -0.625rem;
  background: linear-gradient(90deg, #F2CC62 0%, #6B9FD2 100%), #272727;
  opacity: 0.5;
  transform: rotate(45deg);
}
.section__titleEn {
  display: block;
  font-family: "Garamond", serif;
  font-optical-sizing: auto;
  font-size: 4rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  padding-left: 2.375rem;
}
@media only screen and (max-width: 834px) {
  .section__titleEn {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .section__titleEn {
    font-size: 2rem;
  }
}
.section__titleEn--page {
  font-size: 1rem;
  padding: 1rem 0 0 2.5rem;
}
.section__titleJp {
  display: block;
  font-family: "Noto Serif", serif;
  font-size: 1rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.56;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding-left: 2.375rem;
}
.section__titleJp--page {
  font-size: 3rem;
  padding: 1.5rem 0 0 2.5rem;
}
.section__titleJp--page span {
  font-family: "Garamond", serif;
  font-optical-sizing: auto;
  font-size: 4rem;
  font-weight: 400;
  font-style: normal;
}
@media only screen and (max-width: 1160px) {
  .section__titleJp--page span {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .section__titleJp--page span {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 834px) {
  .section__titleJp--page {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 580px) {
  .section__titleJp--page {
    font-size: 1.375rem;
  }
}
.section__clients {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  max-width: 57.4375rem;
  margin: 8rem auto;
}
@media only screen and (max-width: 767px) {
  .section__clients {
    grid-template-columns: repeat(3, 1fr);
    margin: 3.75rem 0;
  }
}
.section__clients--top {
  margin-bottom: 0;
}
.section__about {
  display: flex;
  gap: 3.75rem;
}
@media only screen and (max-width: 1160px) {
  .section__about {
    gap: 2rem;
  }
}
@media only screen and (max-width: 834px) {
  .section__about {
    flex-direction: column;
  }
}
.section__body {
  flex: 1;
}
.section__img {
  width: 36.25rem;
}
@media only screen and (max-width: 1160px) {
  .section__img {
    width: 50%;
  }
}
@media only screen and (max-width: 834px) {
  .section__img {
    width: 100%;
  }
}
.section__img img {
  border-radius: 2rem;
  box-shadow: 0px 18px 18px rgba(134, 166, 172, 0.16);
}
.section__subTitle {
  font-family: "Noto Serif", serif;
  font-size: 1.75rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 580px) {
  .section__subTitle {
    font-size: 1.25rem;
  }
}
.section__subTitle rt {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.6875rem;
  font-weight: 400;
  text-align: center;
}
.section__text {
  font-size: 1rem;
  font-weight: bold;
  color: #5D5D5D;
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2rem;
}
.section__text--small {
  font-size: 0.875rem;
  font-weight: 500;
}
.section__why {
  display: flex;
  gap: 1.25rem;
}
@media only screen and (max-width: 834px) {
  .section__why {
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem 1.25rem;
  }
}
.section__anchor {
  margin-top: 3rem;
}
.section__contact {
  max-width: 77.75rem;
  margin: 0 auto;
}
.section__map {
  margin-top: 7.5rem;
}

.hamburgerBtn {
  position: relative;
  width: 2.5rem;
  height: 1.9375rem;
  cursor: pointer;
  display: inline-block;
  transition: all 0.5s;
  box-sizing: border-box;
  display: none;
}
@media only screen and (max-width: 1160px) {
  .hamburgerBtn {
    display: block;
  }
}
.hamburgerBtn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color_black);
  border-radius: 4px;
  display: inline-block;
  transition: all 0.5s;
  box-sizing: border-box;
}
.hamburgerBtn span:nth-of-type(1) {
  top: 0;
}
.hamburgerBtn span:nth-of-type(2) {
  top: 0.875rem;
}
.hamburgerBtn span:nth-of-type(3) {
  bottom: 0;
}
.hamburgerBtn.active span:nth-of-type(1) {
  transform: translateY(14px) rotate(45deg);
}
.hamburgerBtn.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburgerBtn.active span:nth-of-type(3) {
  transform: translateY(-14px) rotate(-45deg);
}

.hero {
  height: 100vh;
  position: relative;
}
.hero__title {
  font-family: "Noto Serif", serif;
  font-size: 1.75rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  color: #3F3F3F;
  line-height: 1.4;
  letter-spacing: 0.08em;
  position: absolute;
  left: 4.8125rem;
  bottom: 12.4375rem;
}
@media only screen and (max-width: 834px) {
  .hero__title {
    padding-right: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .hero__title {
    font-size: 1.25rem;
    left: 2rem;
  }
}
.hero__title img {
  width: 100%;
  max-width: 43.75rem;
  margin-bottom: 2.5rem;
}

.serviceTop__title {
  font-family: "Noto Serif", serif;
  font-size: 1.75rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.66;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 3.125rem;
}
@media only screen and (max-width: 834px) {
  .serviceTop__title {
    font-size: 1.375rem;
  }
}
.serviceTop__title--border {
  font-size: 2.5rem;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .serviceTop__title--border {
    font-size: 1.375rem;
  }
}
.serviceTop__title--border:after {
  content: "";
  width: 7.5rem;
  height: 3px;
  background: linear-gradient(#94D4CE 12.65%, #8BB0DC 100%);
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  bottom: 0;
}
.serviceTop__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 2rem;
  margin-bottom: 7.5rem;
}
@media only screen and (max-width: 834px) {
  .serviceTop__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .serviceTop__content {
    gap: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .serviceTop__content {
    grid-template-columns: repeat(1, 1fr);
  }
}
.serviceTop__content--page {
  margin-bottom: 0;
}
.serviceTop__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media only screen and (max-width: 834px) {
  .serviceTop__grid {
    grid-template-columns: 1fr;
  }
}
.serviceTop__grid > .serviceBox:nth-child(3) {
  grid-column: 1/-1;
}

.cardWhy {
  width: calc((100% - 2.5rem) / 3);
}
@media only screen and (max-width: 834px) {
  .cardWhy {
    width: calc((100% - 1.25rem) / 2);
  }
}
@media only screen and (max-width: 580px) {
  .cardWhy {
    width: 100%;
  }
}
.cardWhy__img {
  position: relative;
  margin-bottom: 1.25rem;
}
.cardWhy__mark {
  position: absolute;
  right: 0.625rem;
  bottom: 1.625rem;
}
.cardWhy__title {
  font-size: 1.25rem;
  font-weight: normal;
  line-height: 1.48;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
.cardWhy__text {
  font-size: 0.9375rem;
  line-height: 1.8;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.voice {
  display: flex;
  gap: 2.1875rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 580px) {
  .voice {
    gap: 1.25rem;
  }
}
.voice:last-child {
  margin-bottom: 0;
}
.voice__img {
  width: 8.5rem;
}
@media only screen and (max-width: 580px) {
  .voice__img {
    width: 5rem;
  }
}
.voice__avatar img {
  border-radius: 50%;
}
.voice__name {
  font-size: 0.75rem;
  line-height: 1.29;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-top: 0.75rem;
}
.voice__content {
  flex: 1;
  background: var(--color_white);
  border-radius: 1rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.12);
  padding: 3rem 1.5rem;
}
@media only screen and (max-width: 767px) {
  .voice__content {
    padding: 2rem 1.25rem;
  }
}
.voice__title {
  font-size: 1.125rem;
  font-weight: 500;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.1875rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .voice__title {
    line-height: 1.4;
  }
}
.voice__title:after {
  content: "";
  width: 4.3125rem;
  height: 3px;
  background: linear-gradient(#DFB2C0 1.26%, #ABE0DC 83.98%);
  position: absolute;
  left: 0;
  bottom: -1.1875rem;
}
.voice__text {
  font-size: 0.9375rem;
  color: #525252;
  line-height: 1.29;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.tabContents {
  margin-top: 2.5rem;
}
.tabContents__content {
  display: none;
}
.tabContents__content--active {
  display: block;
}
.tabContents__card {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}
.tabContents__card--recommend {
  margin-bottom: 3rem;
}

.tabList {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1160px) {
  .tabList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .tabList {
    grid-template-columns: repeat(2, 1fr);
  }
}
.tabList__item {
  background: var(--color_white);
  border-radius: 0.625rem;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 0 1.125rem;
  cursor: pointer;
  height: 2.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 1160px) {
  .tabList__item {
    width: 100%;
  }
}
.tabList__item:hover {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
  color: var(--color_white);
}
.tabList__item--active {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
  color: var(--color_white);
}
.tabList__item--news {
  width: calc((100% - 3.125rem) / 6);
}
@media only screen and (max-width: 1160px) {
  .tabList__item--news {
    width: 100%;
  }
}

.section--works .tabList__item {
  width: calc((100% - 4.375rem) / 8);
}
@media only screen and (max-width: 1160px) {
  .section--works .tabList__item {
    width: 100%;
  }
}

.section--blog .tabList__item {
  height: auto;
  width: calc((100% - 3.75rem) / 7);
  padding: 0.5rem;
}
@media only screen and (max-width: 1160px) {
  .section--blog .tabList__item {
    width: 100%;
  }
}

.section--news .tabList__item {
  height: auto;
  padding: 0.5rem;
}
@media only screen and (max-width: 1160px) {
  .section--news .tabList__item {
    width: 100%;
  }
}

.contact {
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media only screen and (max-width: 1160px) {
  .contact {
    align-items: flex-start;
    gap: 2rem;
  }
}
@media only screen and (max-width: 834px) {
  .contact {
    flex-direction: column;
  }
}
.contact__document {
  flex: 1;
  color: var(--color_white);
}
.contact__title {
  font-family: "Noto Serif", serif;
  font-size: 2rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 580px) {
  .contact__title {
    font-size: 1.5rem;
  }
}
.contact__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem;
}
.contact__box {
  border: 1px solid var(--color_white);
  padding: 2rem;
}
.contact__rowTitle {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
.contact__list {
  list-style: disc;
  padding-left: 1.5rem;
}
.contact__listItem {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
.contact__form {
  width: 36.75rem;
}
@media only screen and (max-width: 1160px) {
  .contact__form {
    width: 50%;
  }
}
@media only screen and (max-width: 834px) {
  .contact__form {
    width: 100%;
  }
}
.contact__formBox {
  background: var(--color_white);
  border-radius: 1.25rem;
  padding: 2.5rem 3rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 580px) {
  .contact__formBox {
    padding-left: 1.25rem;
    padding-right: 0.25rem;
  }
}

.form__items {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media only screen and (max-width: 1160px) {
  .form__items {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.625rem;
  }
}
.form__label {
  width: 11.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.6;
}
@media only screen and (max-width: 1160px) {
  .form__label {
    width: 100%;
  }
}
.form__required {
  width: 2.5rem;
  background: #A32515;
  border-radius: 2px;
  font-size: 0.75rem;
  color: var(--color_white);
  line-height: 1;
  padding: 2px 0.5rem 4px;
}
.form__requiredMark {
  color: #BF3B3B;
}
.form__optional {
  width: 2.5rem;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 2px 0.5rem 4px;
  white-space: nowrap;
}
.form__parts {
  flex: 1;
}
@media only screen and (max-width: 1160px) {
  .form__parts {
    width: 100%;
  }
}
.form__parts--horizontal {
  display: flex;
  gap: 0.375rem;
}
.form input[type=text],
.form input[type=password],
.form input[type=date],
.form input[type=datetime],
.form input[type=email],
.form input[type=number],
.form input[type=search],
.form input[type=tel],
.form input[type=time],
.form input[type=url],
.form textarea,
.form select,
.form .search-edit {
  width: 100%;
  background: #f7f7f7;
  border: 1px solid #E3E3E3;
  border-radius: 2px;
  font-size: 0.75rem;
  padding: 0.75rem;
}
.form input[type=radio] {
  background: #f7f7f7;
  border: 1px solid #E3E3E3;
}
.form ::-moz-placeholder {
  font-weight: 500;
  color: #023477;
  opacity: 0.3;
}
.form ::placeholder {
  font-weight: 500;
  color: #023477;
  opacity: 0.3;
}
.form .wpcf7-list-item {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 1.25rem;
}
.form .wpcf7-list-item.last {
  margin-bottom: 0;
}
.form label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.form .wpcf7-not-valid-tip {
  font-size: 0.75rem;
  font-weight: 500;
}
.form__text {
  font-size: 0.75rem;
  color: var(--color_text_gray);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.6875rem;
}
.form__text a {
  color: var(--color_text_gray);
  text-decoration: underline;
}
.form__text a:hover {
  text-decoration: none;
}
.form__btn {
  position: relative;
}
.form__btn:after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(../images/expand_circle_right.png) no-repeat center/contain;
  position: absolute;
  right: 2.25rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.form input[type=submit] {
  background: var(--color_black01);
  border-radius: 4px;
  border: none;
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color_white);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  display: block;
  padding: 22px;
  position: relative;
  transition: background 0.3s ease;
}
.form input[type=submit]:hover {
  background: var(--color_primary);
}
.form .wpcf7-spinner {
  display: none;
}
.form .wpcf7-file {
  width: 100%;
  background: #F7F7F7;
  border: 1px solid #E3E3E3;
  font-size: 0.75rem;
  padding: 0.5rem 0.75rem;
}

.wpcf7 form .wpcf7-response-output {
  font-size: 0.75rem;
}

.companyData {
  background: #525252;
  color: var(--color_white);
  padding: 3rem 2.5rem;
}
@media only screen and (max-width: 767px) {
  .companyData {
    padding: 2rem 1.25rem;
  }
}
.companyData__title {
  font-family: "Noto Serif", serif;
  font-size: 1.25rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-size: 1.25rem !important;
  color: var(--color_white) !important;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  border-bottom: 1px solid var(--color_white);
  margin: 0 0 1rem !important;
  padding-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .companyData__title {
    font-size: 1.125rem !important;
  }
}
.companyData__table {
  border: none !important;
}
.companyData__head, .companyData__cell {
  background: none !important;
  border: none !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  padding: 0 !important;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .companyData__head, .companyData__cell {
    display: block;
  }
}
.companyData__head {
  width: 8.75rem;
  padding: 0.5rem 0 !important;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .companyData__head {
    width: 100%;
  }
}
.companyData__cell {
  width: calc(100% - 8.75rem);
  padding: 0.5rem 0 0.5rem 1rem !important;
}
@media only screen and (max-width: 767px) {
  .companyData__cell {
    width: 100%;
    padding-left: 0 !important;
    padding-bottom: 1.25rem !important;
  }
}
.companyData__cell a {
  color: var(--color_white);
  text-decoration: none;
}
.companyData tr:last-child td {
  padding-bottom: 0 !important;
}

.entry .companyData__table {
  margin: 0 !important;
}

.service__text {
  font-family: "Noto Serif", serif;
  font-size: 1.25rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .service__text {
    font-size: 1rem;
  }
}

.serviceContent {
  padding: 0;
}
.serviceContent__inner {
  border-top: 2px solid #E3E3E3;
  padding: 7.5rem 0;
}
@media only screen and (max-width: 767px) {
  .serviceContent__inner {
    padding: 3.75rem 0;
  }
}
.serviceContent__top {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media only screen and (max-width: 1160px) {
  .serviceContent__top {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .serviceContent__top {
    flex-direction: column;
  }
}
.serviceContent__img {
  width: 30rem;
}
@media only screen and (max-width: 1160px) {
  .serviceContent__img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .serviceContent__img {
    width: 100%;
  }
}
.serviceContent__img img {
  border-radius: 1.25rem;
}
.serviceContent__heading {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .serviceContent__heading {
    width: 100%;
  }
}
.serviceContent__num, .profile__titleEn, .point__number {
  font-family: "Noto Serif", serif;
  font-size: calc(0.0625rem * 1rem / 1px);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.875rem;
}
@media only screen and (max-width: 767px) {
  .serviceContent__num, .profile__titleEn, .point__number {
    margin-bottom: 1.25rem;
  }
}
.serviceContent__title, .profile__titleJp, .point__title {
  font-family: "Noto Serif", serif;
  font-size: calc(0.125rem * 1rem / 1px);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .serviceContent__title, .profile__titleJp, .point__title {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .serviceContent__title br, .profile__titleJp br, .point__title br {
    display: none;
  }
}
.serviceContent__box {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%), #000000;
  border-radius: 0.5rem;
  padding: 1.5rem 0.5rem 0.5rem;
}
.serviceContent__boxTitle {
  font-size: 1rem;
  font-weight: bold;
  color: var(--color_white);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1rem;
}
.serviceContent__support {
  background: var(--color_white);
  border-radius: 0.5rem;
  padding: 1rem;
}
.serviceContent__supportText {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color_text_gray);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.serviceContent__text {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin: 2.5rem 0;
}
.serviceContent__service {
  background: var(--color_white);
  padding: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .serviceContent__service {
    padding: 1.5rem;
  }
}
.serviceContent__serviceTitle {
  border-bottom: 1px solid #e3e3e3;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color_text_gray);
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}
.serviceContent__serviceText {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color_text_gray);
  line-height: 2.2;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.serviceContent__rowTitle, .faq__title {
  font-family: "Noto Serif", serif;
  font-size: calc(0.078125rem * 1rem / 1px);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  border-bottom: 1px solid #e3e3e3;
  margin: 2.5rem 0;
  padding-bottom: 1rem;
}
.serviceContent__rowTitle br, .faq__title br {
  display: none;
}
.serviceContent__grid {
  display: flex;
  gap: 1.25rem;
}
@media only screen and (max-width: 580px) {
  .serviceContent__grid {
    flex-wrap: wrap;
  }
}
.serviceContent__step {
  background: var(--color_white);
  border-radius: 1.5rem;
  padding: 3rem 2.5rem;
}
@media only screen and (max-width: 767px) {
  .serviceContent__step {
    padding: 1.5rem;
  }
}
.serviceContent__stepItem {
  border-bottom: 1px solid #e3e3e3;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
}
.serviceContent__stepItem:last-child {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.serviceContent__stepGrid {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media only screen and (max-width: 767px) {
  .serviceContent__stepGrid {
    align-items: flex-start;
  }
}
.serviceContent__stepLabel {
  width: 3rem;
  height: 3rem;
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%), #D9D9D9;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color_white);
}
.serviceContent__stepHeading {
  font-size: 0.625rem;
}
.serviceContent__stepNum {
  font-size: 1.5rem;
}
.serviceContent__stepContent {
  flex: 1;
}
.serviceContent__stepTitle {
  font-family: "Noto Serif", serif;
  font-size: calc(0.078125rem * 1rem / 1px);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .serviceContent__stepTitle {
    font-size: 1.125rem;
  }
}
.serviceContent__stepText {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
@media only screen and (max-width: 580px) {
  .serviceContent__stepText {
    font-size: 0.875rem;
  }
}
.serviceContent__imgs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 3.125rem;
}
@media only screen and (max-width: 580px) {
  .serviceContent__imgs {
    grid-template-columns: 1fr;
  }
}
.serviceContent__caption {
  font-size: 0.75rem;
  color: var(--color_text_gray);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-top: 1rem;
}
.serviceContent__faqItem, .faq__faqItem {
  background: var(--color_white);
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin-bottom: 0.5625rem;
}
@media only screen and (max-width: 767px) {
  .serviceContent__faqItem, .faq__faqItem {
    padding: 1rem;
  }
}
.serviceContent__faqItem:last-child, .faq__faqItem:last-child {
  margin-bottom: 0;
}
.serviceContent__faqQuestion, .faq__faqQuestion {
  font-family: "Noto Serif", serif;
  font-size: calc(0.078125rem * 1rem / 1px);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 0.5rem 0 0.5rem 2.625rem;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .serviceContent__faqQuestion, .faq__faqQuestion {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .serviceContent__faqQuestion, .faq__faqQuestion {
    font-size: 1rem;
  }
}
.serviceContent__faqQuestion:hover, .faq__faqQuestion:hover {
  color: var(--color_primary);
  opacity: 1;
}
.serviceContent__faqQuestion:after, .faq__faqQuestion:after {
  content: "Q";
  font-family: "Garamond", serif;
  font-optical-sizing: auto;
  font-size: calc(0.09375rem * 1rem / 1px);
  font-weight: 400;
  font-style: normal;
  color: var(--color_primary);
  position: absolute;
  left: 0;
  top: 0;
  width: 2rem;
  text-align: center;
}
@media only screen and (max-width: 580px) {
  .serviceContent__faqQuestion:after, .faq__faqQuestion:after {
    top: -0.3125rem;
  }
}
.serviceContent__answer, .faq__answer {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.5rem 0 0 2.625rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .serviceContent__answer, .faq__answer {
    font-size: 0.875rem;
  }
}
.serviceContent__answer:after, .faq__answer:after {
  content: "A";
  font-family: "Garamond", serif;
  font-optical-sizing: auto;
  font-size: calc(0.09375rem * 1rem / 1px);
  font-weight: 400;
  font-style: normal;
  color: var(--color_primary);
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 2rem;
  text-align: center;
}

.working__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .working__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.working__box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: linear-gradient(272.04deg, #729AAB -0.01%, #ACAFBC 98.81%);
  opacity: 0.8;
  border: 3px solid rgba(248, 248, 248, 0.6);
  box-shadow: 0px 0.375rem 1.25rem rgba(0, 0, 0, 0.3);
  border-radius: 0.5rem;
  color: var(--color_white);
  min-height: 16.5rem;
  padding: 1.125rem;
}
@media only screen and (max-width: 767px) {
  .working__box {
    min-height: auto;
    padding: 1.5rem 1rem;
  }
}
.working__boxTitle {
  font-family: "Noto Serif", serif;
  font-size: 2rem;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.294;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .working__boxTitle {
    font-size: 1.375rem;
  }
}
.working__boxText {
  font-family: "Noto Serif", serif;
  font-size: 1.5rem;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.294;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
@media only screen and (max-width: 767px) {
  .working__boxText {
    font-size: 1.125rem;
  }
}

/* モーダル全体の背景設定 */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(272.04deg, rgba(114, 154, 171, 0.8) -0.01%, rgba(172, 175, 188, 0.8) 98.81%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  /* モーダル表示時のクラス */
}
.modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.modal {
  /* 画像と閉じるボタンを包むラッパー */
}
.modal__wrapper {
  position: relative;
  max-width: 67.5rem;
  width: 90%;
  aspect-ratio: 1080/620;
}
.modal__body img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0px 18px 18px rgba(134, 166, 172, 0.16);
}
.modal {
  /* 閉じるボタン（画像の右上に配置） */
}
.modal__close {
  position: absolute;
  top: -2.5rem;
  right: 0;
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.2s;
}
.modal {
  /* 前へ・次へボタンのスタイル */
}
.modal__prev, .modal__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  border-radius: 50%;
  width: 2.9375rem;
  cursor: pointer;
}
@media (max-width: 1280px) {
  .modal__prev, .modal__next {
    width: 1.875rem;
  }
}
.modal__prev {
  left: -3.75rem;
}
@media (max-width: 1280px) {
  .modal__prev {
    left: -0.9375rem;
  }
}
.modal__next {
  right: -3.75rem;
}
@media (max-width: 1280px) {
  .modal__next {
    right: -0.9375rem;
  }
}

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 767px) {
  .gallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.gallery__button {
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.gallery__button:hover {
  opacity: 0.8;
}
.gallery__button img {
  border-radius: 0.5rem;
}

.position__item:first-child .position__heading {
  border: none;
}
.position__heading {
  border-top: 1px solid #e3e3e3;
  padding: 2.5rem 0;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}
.position__heading:hover {
  color: var(--color_primary);
}
.position__heading:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transition: transform 0.3s ease;
}
.position__heading.is-open:after {
  transform: translateY(-50%) rotate(225deg);
}
.position__content {
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease;
}
.position__label {
  width: 7.3125rem;
  height: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e3e3e3;
  font-size: 0.75rem;
  font-weight: bold;
  color: var(--color_text_gray);
  margin-bottom: 1.5rem;
}
.position__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.position__table {
  width: 100%;
  max-width: 63.5rem;
  margin-bottom: 2.8125rem;
}
.position__row {
  display: flex;
  border-top: 1px solid #e3e3e3;
}
.position__row:last-child {
  border-bottom: 1px solid #e3e3e3;
}
@media only screen and (max-width: 767px) {
  .position__row {
    flex-direction: column;
  }
}
.position__tableHead {
  width: 11.5rem;
  flex-shrink: 0;
  background: #F9F9F9;
  font-size: 1rem;
  font-weight: 500;
  text-align: left;
  line-height: 1.4;
  padding: 2.5rem 1rem 2.5rem 1.6875rem;
}
@media only screen and (max-width: 767px) {
  .position__tableHead {
    width: 100%;
    padding: 1.25rem 1rem;
  }
}
.position__tableCell {
  flex: 1;
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  padding: 2.5rem 1rem;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.position__tableCell .small-bold {
  font-size: 0.75rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .position__tableCell {
    padding: 1.25rem 1rem;
  }
}

.interview__grid {
  display: flex;
  gap: 1.25rem;
}

.recruitment__box {
  background: linear-gradient(272.04deg, #729AAB -0.01%, #ACAFBC 98.81%);
  border-radius: 1.5rem;
  color: var(--color_white);
  padding: 2rem;
}
.recruitment__item {
  border-top: 1px solid var(--color_white);
  padding: 2.5rem 0;
}
.recruitment__item:first-child {
  padding-top: 0;
  border: none;
}
.recruitment__item:last-child {
  padding-bottom: 0;
}
.recruitment__itemInner {
  padding-left: 1rem;
  position: relative;
}
.recruitment__itemInner:before {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--color_white);
  position: absolute;
  left: 0;
  top: 0;
}
.recruitment__itemInner:after {
  content: "";
  position: absolute;
  left: -3px;
  bottom: 0;
  transform: rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.recruitment__itemHeading {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.5rem;
}
.recruitment__itemNum {
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.recruitment__itemTitle {
  font-family: "Noto Serif", serif;
  font-size: 1.25rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.recruitment__itemBody {
  margin-top: 1rem;
}
.recruitment__itemText {
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.recruitment__itemText a {
  color: var(--color_white);
}
.recruitment__btn, .faq__btn {
  max-width: 30.625rem;
  margin: 6.25rem auto 0;
}

.faq__content {
  margin-top: 2.5rem;
}
.faq__content:first-child {
  margin-top: 0;
}
.faq__title {
  margin: 0 0 0.5625rem;
}
.faq__faqItem {
  background: #f6f6f6;
  border-radius: 0.5rem;
}
.recruitForm {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
}
.recruitForm__wrap {
  max-width: 33rem;
  margin: 0 auto 4rem;
}
.recruitForm__title {
  font-family: "Noto Serif", serif;
  font-size: 2rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  color: var(--color_white);
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem;
}
.recruitForm__text {
  font-weight: 500;
  color: var(--color_white);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem;
}
.recruitForm__att {
  font-size: 0.9375rem;
  color: var(--color_white);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.recruitForm__box {
  max-width: 36.125rem;
  background: var(--color_white);
  border-radius: 1.25rem;
  margin: 0 auto;
  padding: 2.5rem 2.0625rem;
}
.recruitForm .form__items .form__text {
  display: block;
}

.about__content {
  max-width: 50rem;
  margin: 0 auto;
}
.about__title {
  font-family: "Noto Serif", serif;
  font-size: 2rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 580px) {
  .about__title {
    font-size: 1.375rem;
  }
}
.about__text {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.strengths__img {
  max-width: 64.9375rem;
  margin: 0 auto;
}

.features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .features__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.features__item {
  background: linear-gradient(272.04deg, #729AAB -0.01%, #ACAFBC 98.81%);
  border: 3px solid rgba(248, 248, 248, 0.6);
  box-shadow: 0px 0.375rem 1.25rem rgba(0, 0, 0, 0.3);
  border-radius: 0.5rem;
  min-height: 17.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color_white);
  position: relative;
}
.features__text {
  font-family: "Noto Serif", serif;
  font-size: 1.25rem;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.294;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.features__text--sub {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  position: absolute;
  right: 0.625rem;
  bottom: 0.625rem;
}
.features__textStrong {
  font-size: 4rem;
  padding-top: 1.5rem;
}
.features__text2 {
  font-size: 1.5rem;
}

.point__grid {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 1160px) {
  .point__grid {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .point__grid {
    flex-direction: column;
  }
}
.point__grid:first-child {
  margin-top: 0;
}
.point__grid:nth-child(2n) {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  .point__grid:nth-child(2n) {
    flex-direction: column;
  }
}
.point__img {
  width: 30rem;
}
@media only screen and (max-width: 1160px) {
  .point__img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .point__img {
    width: 100%;
  }
}
.point__body {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .point__body {
    width: 100%;
  }
}
.point__subTitle {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
.point__text {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.profile {
  background: url(../images/bg_2.png) no-repeat -46.40625rem -20.3125rem;
  background: url(../images/bg_2.webp) no-repeat -46.40625rem -20.3125rem;
  background-size: 158.90625rem 158.90625rem;
  padding-bottom: 18.75rem;
}
@media only screen and (max-width: 767px) {
  .profile {
    padding-bottom: 7.5rem;
  }
}
.profile__content {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media only screen and (max-width: 1160px) {
  .profile__content {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .profile__content {
    flex-direction: column;
  }
}
.profile__img {
  width: 30rem;
}
@media only screen and (max-width: 1160px) {
  .profile__img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .profile__img {
    width: 100%;
  }
}
.profile__body {
  flex: 1;
}
.profile__title {
  margin-bottom: 3rem;
}
.profile__titleEn {
  display: block;
}
.profile__titleJp {
  display: block;
  margin-bottom: 0;
}
.profile__text p {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
.profile__box {
  background: var(--color_white);
  border-radius: 2rem;
  padding: 5rem 7.5rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 834px) {
  .profile__box {
    padding: 3.75rem;
  }
}
@media only screen and (max-width: 580px) {
  .profile__box {
    padding: 3rem 1.5rem;
  }
}
.profile__boxTitle {
  font-family: "Noto Serif", serif;
  font-size: 1.75rem;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  line-height: 1.4;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .profile__boxTitle {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
.profile__boxText {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  text-align: center;
}
.profile__boxText--media {
  font-size: 0.8125rem;
  text-align: left;
}
.profile hr {
  border: none;
  height: 1px;
  background: #e3e3e3;
  margin: 4rem 0;
}
@media only screen and (max-width: 767px) {
  .profile hr {
    margin: 2.5rem 0;
  }
}

.staff__read {
  font-size: 0.9375rem;
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 2.5rem;
}
.staff__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media only screen and (max-width: 834px) {
  .staff__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 580px) {
  .staff__grid {
    grid-template-columns: 1fr;
  }
}
.staff__img {
  margin-bottom: 1.25rem;
}
.staff__name {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  margin-bottom: 1.5rem;
}
.staff__nameEn {
  font-family: "Garamond", serif;
  font-optical-sizing: auto;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  display: block;
}
.staff__position {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  min-height: 2.0625rem;
  margin-bottom: 1.5rem;
}
.staff__text {
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.company__content {
  display: flex;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .company__content {
    flex-direction: column;
  }
}
.company__heading {
  width: 17.625rem;
  background: #F2F2F2;
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.5rem 1.875rem;
}
@media only screen and (max-width: 767px) {
  .company__heading {
    width: 100%;
  }
}
.company__details {
  flex: 1;
  background: #FBFBFB;
  border: 1px solid #E9EFF6;
  font-size: 0.9375rem;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding: 1.5rem 1.875rem;
}

.serviceBox {
  background: linear-gradient(0deg, #729AAB 0%, #ACAFBC 42%);
  border-radius: 0.5rem;
  padding: 2rem;
}
.serviceBox--primary {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
}
.serviceBox--secondary {
  background: #92CDD1;
}
.serviceBox__title {
  font-family: "Noto Serif", serif;
  font-size: 1.5rem;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  color: var(--color_white);
  line-height: 1.4;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .serviceBox__title {
    font-size: 1.25rem;
  }
}
.serviceBox__item {
  background: var(--color_white);
  border-radius: 0.5rem;
  text-align: center;
  padding: 0.5rem;
  margin-top: 1rem;
}
.serviceBox__item--secondary {
  background: var(--color_white);
  border-radius: 0.5rem;
  box-shadow: 0px 3.37501px 20.25px rgba(94, 152, 173, 0.4);
  padding: 2rem 1.3125rem;
  position: relative;
}
@media only screen and (max-width: 1160px) {
  .serviceBox__item--secondary {
    margin-top: 0;
  }
}
.serviceBox__item--secondary::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.5rem;
  padding: 3px;
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
.serviceBox__itemLabel {
  font-size: 0.875rem;
  font-weight: bold;
  color: var(--color_text_gray);
  line-height: 1.6;
  text-align: center;
}
.serviceBox__itemText {
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--color_text_gray);
  line-height: 1.6;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .serviceBox__itemText {
    font-size: 0.9375rem;
  }
}
.serviceBox__itemText--secondary {
  font-size: 0.9375rem;
  font-weight: normal;
  color: var(--color_text_gray);
  line-height: 1.66;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  text-align: left;
}
.serviceBox__label--primary, .serviceBox__text--primary {
  background: linear-gradient(95.64deg, #94D4CE 12.65%, #8BB0DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.serviceBox__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
@media only screen and (max-width: 1160px) {
  .serviceBox__grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .serviceBox__grid {
    grid-template-columns: 1fr;
  }
}
.serviceBox__itemTitle {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.09em;
  text-align: left;
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  position: relative;
}
.serviceBox__itemTitle:after {
  content: "";
  width: 3.75rem;
  height: 3px;
  background: linear-gradient(to bottom, #DFB2C0 12.65%, #ABE0DC 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}

.u-m-0 {
  margin: 0;
}

.u-pb-0 {
  padding-bottom: 0;
}

.u-pr-16 {
  padding-right: 1rem;
}

.u-pt-0 {
  padding-top: 0;
}

.u-position-relative {
  position: relative;
}/*# sourceMappingURL=style.css.map */