@charset "UTF-8";



/* ---------- 共通：アンカーナビ ---------- */
html {
  scroll-padding-top: 80px;
}

.c-anchor-nav {
  margin-bottom: 64px;
  margin-bottom: 4rem;
}

.c-anchor-nav__list {
  row-gap: 19.2px;
  row-gap: 1.2rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 1rem;
  background: #fff;
  padding: 32px clamp(25.6px, 4.1666666667vw, 51.2px);
  padding: 2rem clamp(1.6rem, 4.1666666667vw, 3.2rem);
  width: 100%;
  list-style: none;
}

.c-anchor-nav__list li {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
  line-height: 1.4;
}

.c-anchor-nav__list li:not(:last-child)::after {
  margin-inline: clamp(9.6px, 1.5625vw, 19.2px);
  margin-inline: clamp(.6rem, 1.5625vw, 1.2rem);
  font-size: clamp(19.2px, 2.0833333333vw, 25.6px);
  font-size: clamp(1.2rem, 2.0833333333vw, 1.6rem);
  content: '/';
}

.c-anchor-nav__list a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
  color: #000;
  font-size: clamp(22.4px, 3.2vw, 25.6px);
  font-size: clamp(1.4rem, 3.2vw, 1.6rem);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.c-anchor-nav__list a:hover {
  opacity: .7;
}

/* ---------- corporate ---------- */

p.p-company__greeting-text {
  font-size: 25.6px;
  font-size: 1.6rem;
}

p.p-company__greeting-position {
  margin-top: 41.6px;
  margin-top: 2.6rem;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: 700;
}

.p-company__greeting-name {
  font-size: 28.8px;
  font-size: 1.8rem;
}

.p-company__table td:first-child {
  width: 30%;
  white-space: nowrap;
}

.p-company__table.wp-block-flexible-table-block-table table tr th,
.p-company__table.wp-block-flexible-table-block-table table tr td {
  padding-inline: 16px;
  padding-inline: 1rem;
  padding-block: 25.6px;
  padding-block: 1.6rem;
  vertical-align: top;
  border: none;
  border-bottom: 1px solid #ccc;
  background-color: #fef5f3;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: 400;
}

/* ---------- legal standards ---------- */
.p-legal__heading {
  font-size: 41.6px;
  font-size: 2.6rem;
  font-weight: 700;
}

.p-legal__tags ul {
  gap: 22.4px;
  gap: 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-left: 0;
  list-style: none;
}

.p-legal__tags li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  border-radius: 1rem;
  background: #fff;
  padding: 19.2px 22.4px;
  padding: 1.2rem 1.4rem;
  color: #cb2d2d;
  font-size: clamp(22.4px, 5vw, 25.6px);
  font-size: clamp(1.4rem, 5vw, 1.6rem);
  font-weight: 700;
  text-align: center;
  word-break: auto-phrase;
}

.p-legal__tags + p {
  margin-top: 41.6px;
  margin-top: 2.6rem;
}

.p-legal__laws {
  gap: 51.2px;
  gap: 3.2rem;
  display: grid;
  grid-template-columns: 1fr;
}

.p-legal__laws .wp-block-group__inner-container {
  display: contents;
}

.p-legal__law h3,
.p-legal__point h3 {
  color: #817654;
  font-size: clamp(32px, 4.8vw, 38.4px);
  font-size: clamp(2rem, 4.8vw, 2.4rem);
  font-weight: 700;
}

.p-legal__law p,
.p-legal__point p {
  margin-bottom: 0;
}

.p-legal__point + .p-legal__point {
  margin-top: 64px;
  margin-top: 4rem;
}

.legalstandards .wp-block-heading {
  text-wrap: wrap;
  word-break: auto-phrase;
}

/* ---------- purpose ---------- */
.p-purpose__section + .p-purpose__section {
  margin-top: 80px;
  margin-top: 5rem;
}

.p-purpose__cards {
  gap: 51.2px;
  gap: 3.2rem;
  display: grid;
  grid-template-columns: 1fr;
}

.p-purpose__card {
  container-type: inline-size;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  border-radius: 1rem;
  background: #fff;
  padding: 38.4px 48px;
  padding: 2.4rem 3rem;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.p-purpose__card:hover {
  opacity: .7;
}

.p-purpose__card-img {
  aspect-ratio: 380/260;
  margin: 0 0 25.6px;
  margin: 0 0 1.6rem;
  border-radius: .5rem;
  overflow: hidden;
}

.p-purpose__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-purpose__card-body {
  gap: 19.2px;
  gap: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@container (min-width: 340px) {

  .p-purpose__card-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.p-purpose__card-label {
  color: #000;
  font-size: clamp(25.6px, 4vw, 32px);
  font-size: clamp(1.6rem, 4vw, 2rem);
  font-weight: 700;
}

.p-purpose__card-btn {
  gap: 12.8px;
  gap: .8rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-right: -48px;
  margin-right: -3rem;
  border-radius: 2rem 0 0 2rem;
  background: #cb2d2d;
  padding: 6.4px 25.6px;
  padding: .4rem 1.6rem;
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  white-space: nowrap;
}

@container (min-width: 340px) {

  .p-purpose__card-btn {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
  }
}

.p-purpose__card-btn::after {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M3 7H13M8 2l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  width: 25.6px;
  width: 1.6rem;
  height: 22.4px;
  height: 1.4rem;
  content: '';
}

/* ---------- purpose detail（store / hotel / office） ---------- */
.p-purpose__section .wp-block-heading {
  text-wrap: wrap;
  word-break: auto-phrase;
}

.p-purpose-detail__lead-img figure {
  margin: 0;
  width: 100%;
}

.p-purpose-detail__lead-img img {
  aspect-ratio: 640/400;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-purpose-detail__tags ul {
  gap: 22.4px;
  gap: 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-left: 0;
  list-style: none;
}

.p-purpose-detail__tags li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  border-radius: 1rem;
  background: #fff;
  padding: 19.2px 22.4px;
  padding: 1.2rem 1.4rem;
  color: #cb2d2d;
  font-size: clamp(22.4px, 5vw, 25.6px);
  font-size: clamp(1.4rem, 5vw, 1.6rem);
  font-weight: 700;
  text-align: center;
  word-break: auto-phrase;
}

.p-purpose-detail__merits {
  gap: 51.2px;
  gap: 3.2rem;
  display: grid;
  grid-template-columns: 1fr;
}

.p-purpose-detail__merits .wp-block-group__inner-container {
  display: contents;
}

.p-purpose-detail__merit h3 {
  color: #817654;
  font-size: clamp(32px, 4.8vw, 38.4px);
  font-size: clamp(2rem, 4.8vw, 2.4rem);
  font-weight: 700;
}

.p-purpose-detail__merit p {
  margin-bottom: 0;
}

.p-purpose-detail__cases {
  gap: 38.4px;
  gap: 2.4rem;
  display: grid;
  grid-template-columns: 1fr;
}

.p-purpose-detail__case {
  display: block;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  color: inherit;
  text-decoration: none;
}

.p-purpose-detail__case:hover {
  opacity: .8;
}

.p-purpose-detail__case-img {
  aspect-ratio: 4/3;
  margin: 0;
  border-radius: .5rem;
  overflow: hidden;
}

.p-purpose-detail__case-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-purpose-detail__case-body {
  gap: 19.2px;
  gap: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 19.2px;
  margin-top: 1.2rem;
}

.p-purpose-detail__case-label {
  color: #000;
  font-weight: 700;
}

.p-purpose-detail__case-btn {
  gap: 9.6px;
  gap: .6rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 9999px;
  background: #cb2d2d;
  padding: 9.6px 22.4px;
  padding: .6rem 1.4rem;
  color: #fff;
  font-size: 20.8px;
  font-size: 1.3rem;
  white-space: nowrap;
}

.p-purpose-detail__case-btn::after {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M3 7H13M8 2l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  width: 22.4px;
  width: 1.4rem;
  height: 19.2px;
  height: 1.2rem;
  content: '';
}

/* ---------- sitemap ---------- */
.p-sitemap__list {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 1920px;
  max-width: 120rem;
  list-style: none;
}

.p-sitemap__item {
  margin-top: 32px;
  margin-top: 2rem;
}

.p-sitemap__item:first-child {
  margin-top: 0;
}

.p-sitemap__link {
  gap: 19.2px;
  gap: 1.2rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  color: #000;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.5;
  text-decoration: none;
}

.p-sitemap__link::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background: #cb2d2d;
  width: 20.8px;
  width: 1.3rem;
  height: 20.8px;
  height: 1.3rem;
  content: '';
}

.p-sitemap__sublist {
  margin: 19.2px 0 0;
  margin: 1.2rem 0 0;
  padding-left: 89.6px;
  padding-left: 5.6rem;
  list-style: none;
}

.p-sitemap__subitem {
  margin-top: 16px;
  margin-top: 1rem;
}

.p-sitemap__subitem:first-child {
  margin-top: 0;
}

.p-sitemap__sublink {
  gap: 16px;
  gap: 1rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  color: #000;
  font-size: 22.4px;
  font-size: 1.4rem;
  line-height: 1.5;
  text-decoration: none;
}

.p-sitemap__sublink::before {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background: #cb2d2d;
  width: 12.8px;
  width: .8rem;
  height: 12.8px;
  height: .8rem;
  content: '';
}

.p-sitemap__link:hover,
.p-sitemap__sublink:hover {
  opacity: .7;
}

/* ---------- 404 page ---------- */
.p-404 {
  padding: 320px 0;
  padding: 20rem 0;
  text-align: center;
}

.p-404__text {
  line-height: 1.8;
}

.p-404__btn-wrap {
  margin-top: 64px;
  margin-top: 4rem;
}

.p-404 .p-404__btn {
  display: inline-block;
  -webkit-transition: background .3s, color .3s;
  transition: background .3s, color .3s;
  border: 2px solid #cb2d2d;
  border-radius: 1rem;
  background: #fff;
  padding: 22.4px 64px;
  padding: 1.4rem 4rem;
  color: #cb2d2d;
  font-weight: 700;
  text-decoration: none;
}

.p-404 .p-404__btn:hover {
  background: #cb2d2d;
  color: #fff;
}

/* ---------- thanks ---------- */
.p-thanks__body {
  margin-top: 96px;
  margin-top: 6rem;
}

/* ---------- top ---------- */
.top-news-sec {
  margin-inline: auto;
  gap: 64px 96px;
  gap: 4rem 6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: min(2400px, 90%);
  width: min(150rem, 90%);
}

.top-news-col {
  width: 100%;
}

.top-news-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.top-news-date,
.top_news_cat {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.top-news-date::before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.top_news_title {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- 共通：下層FV ---------- */
.h1_wrap h1 {
  font-size: clamp(25.6px, 2.7777777778vw, 64px);
  font-size: clamp(1.6rem, 2.7777777778vw, 4rem);
}

/* ---------- 共通：case card ---------- */
.c-case-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  border-radius: 1rem;
  background: #fff;
  padding: 38.4px 48px;
  padding: 2.4rem 3rem;
  width: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.c-case-card:hover {
  opacity: .7;
}

.c-case-card__img {
  aspect-ratio: 380/260;
  margin: 0 0 25.6px;
  margin: 0 0 1.6rem;
  border-radius: .5rem;
  background: #d9d9d9;
  overflow: hidden;
}

.c-case-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-case-card__body {
  gap: 19.2px;
  gap: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@container (min-width: 400px) {

  .c-case-card__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.c-case-card__title {
  color: #000;
  font-size: clamp(25.6px, 4vw, 32px);
  font-size: clamp(1.6rem, 4vw, 2rem);
  font-weight: 700;
}

.c-case-card__btn {
  gap: 12.8px;
  gap: .8rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-right: -48px;
  margin-right: -3rem;
  border-radius: 2rem 0 0 2rem;
  background: #cb2d2d;
  padding: 6.4px 25.6px;
  padding: .4rem 1.6rem;
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  white-space: nowrap;
}

@container (min-width: 400px) {

  .c-case-card__btn {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
  }
}

.c-case-card__btn::after {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M3 7H13M8 2l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  width: 25.6px;
  width: 1.6rem;
  height: 22.4px;
  height: 1.4rem;
  content: '';
}

/* ---------- case ---------- */
.p-case__list {
  gap: 38.4px;
  gap: 2.4rem;
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-case__item {
  container-type: inline-size;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.p-case__empty {
  text-align: center;
}

/* ---------- case detail ---------- */
.p-case-detail {
  margin-inline: auto;
  margin-top: 64px;
  margin-top: 4rem;
  width: 100%;
  max-width: 1760px;
  max-width: 110rem;
}

.p-case-detail__head {
  text-align: center;
}

.p-case-detail__tag {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 99.9rem;
  background: #fff;
  padding: 11.2px 25.6px;
  padding: .7rem 1.6rem;
  width: 361.6px;
  width: 22.6rem;
  max-width: 100%;
  color: #000;
  font-size: 20.8px;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-case-detail__title {
  margin: 32px 0 0;
  margin: 2rem 0 0;
  color: #cb2d2d;
  font-size: 51.2px;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.p-case-detail__main {
  margin-top: 38.4px;
  margin-top: 2.4rem;
}

.p-case-detail__main img {
  aspect-ratio: 1100/748;
  display: block;
  border-radius: .5rem;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-case-detail__body {
  margin-top: 38.4px;
  margin-top: 2.4rem;
}

.p-case-detail__body p {
  margin-top: 51.2px;
  margin-top: 3.2rem;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.9;
}

.p-case-detail__body .wp-block-gallery {
  gap: 25.6px !important;
  gap: 1.6rem !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
}

.p-case-detail__body .wp-block-gallery .wp-block-image {
  margin: 0;
  width: auto !important;
}

.p-case-detail__body .wp-block-gallery .wp-block-image img {
  aspect-ratio: 340/230;
  display: block;
  border-radius: .5rem;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-table.p-case-spec {
  padding-inline: 25.6px;
  padding-inline: 1.6rem;
  margin: 64px 0 0;
  margin: 4rem 0 0;
  border-radius: 2rem;
  background: #fff;
  overflow: hidden;
}

.wp-block-table.p-case-spec table {
  border: none;
  border-collapse: collapse;
  background: transparent;
  width: 100%;
}

.wp-block-table.p-case-spec th,
.wp-block-table.p-case-spec td {
  vertical-align: top;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: 25.6px 0;
  padding: 1.6rem 0;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.7;
  text-align: left;
  word-break: break-word;
}

.wp-block-table.p-case-spec tr:last-child th,
.wp-block-table.p-case-spec tr:last-child td {
  border-bottom: none;
}

.wp-block-table.p-case-spec th {
  width: 176px;
  width: 11rem;
  font-weight: 700;
  white-space: nowrap;
}

.wp-block-table.p-case-spec td {
  font-weight: 400;
}

.p-case-detail__more {
  margin-inline: auto;
  margin-top: 102.4px;
  margin-top: 6.4rem;
  width: 100%;
  max-width: 2240px;
  max-width: 140rem;
}

.p-case-detail__more-title {
  margin: 0 0 38.4px;
  margin: 0 0 2.4rem;
  color: #cb2d2d;
  font-size: 44.8px;
  font-size: 2.8rem;
  font-weight: 700;
}

/* ---------- 共通： pager ---------- */
.c-pager {
  margin-top: 96px;
  margin-top: 6rem;
}

.c-pager .nav-links {
  gap: 12.8px;
  gap: .8rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pager .page-numbers {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  border: 1px solid #cb2d2d;
  background: #fff;
  width: 76.8px;
  width: 4.8rem;
  height: 76.8px;
  height: 4.8rem;
  color: #cb2d2d;
  font-weight: 700;
  text-decoration: none;
}

.c-pager a.page-numbers:hover {
  opacity: .7;
}

.c-pager .page-numbers.current {
  background: #cb2d2d;
  color: #fff;
}

.c-pager .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  color: #000;
}

.c-pager .prev.page-numbers,
.c-pager .next.page-numbers {
  background-position: center;
  background-repeat: no-repeat;
  background-size: .9rem 1.6rem;
  font-size: 0;
}

.c-pager .prev.page-numbers {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M7 1L1 7l6 6' fill='none' stroke='%23cb2d2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.c-pager .next.page-numbers {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23cb2d2d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- news ---------- */
.p-news {
  margin-inline: auto;
  width: 100%;
  max-width: 1920px;
  max-width: 120rem;
}

.p-news__side {
  margin-inline: auto;
  margin-top: 76.8px;
  margin-top: 4.8rem;
  max-width: 960px;
  max-width: 60rem;
}

.p-news__list {
  margin: 0;
  border-top: 1px solid #ddd;
  padding: 0;
  list-style: none;
}

.p-news__item {
  border-bottom: 1px solid #ddd;
}

.p-news__link {
  gap: 12.8px 25.6px;
  gap: .8rem 1.6rem;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  padding: 25.6px 6.4px;
  padding: 1.6rem .4rem;
  color: inherit;
  text-decoration: none;
}

.p-news__link:hover {
  opacity: .7;
}

.p-news__date {
  color: #000;
  font-size: 20.8px;
  font-size: 1.3rem;
  letter-spacing: .04em;
  white-space: nowrap;
}

.p-news__title {
  grid-column: 1/-1;
  overflow: hidden;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.6;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-news__empty {
  padding: 64px 0;
  padding: 4rem 0;
  text-align: center;
}

.c-post-tag {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  justify-self: start;
  padding: 8px 12.8px;
  padding: .5rem .8rem;
  width: 153.6px;
  width: 9.6rem;
  color: #fff;
  font-size: 17.6px;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.c-post-tag--important {
  background: #f66d4d;
}

.c-post-tag--news {
  background: #4c6cb3;
}

.p-side {
  border-radius: 1rem;
  background: #fff;
  padding: 44.8px 38.4px;
  padding: 2.8rem 2.4rem;
}

.p-side__widget + .p-side__widget {
  margin-top: 44.8px;
  margin-top: 2.8rem;
  border-top: 1px solid #e0ddd6;
  padding-top: 44.8px;
  padding-top: 2.8rem;
}

.p-side__title {
  color: #4c6cb3;
  font-size: 28.8px;
  font-size: 1.8rem;
  font-weight: 700;
}

.p-side__recent {
  margin-top: 28.8px;
  margin-top: 1.8rem;
  padding: 0;
  list-style: none;
}

.p-side__recent-item + .p-side__recent-item {
  margin-top: 44.8px;
  margin-top: 2.8rem;
}

.p-side__recent-thumb {
  aspect-ratio: 240/160;
  display: block;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  background: #d9d9d9;
  width: 100%;
  max-width: 384px;
  max-width: 24rem;
  overflow: hidden;
}

.p-side__recent-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-side__recent-link {
  display: block;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  color: inherit;
  text-decoration: none;
}

.p-side__recent-link:hover {
  opacity: .7;
}

.p-side__recent-date {
  display: block;
  margin-bottom: 12.8px;
  margin-bottom: .8rem;
  color: #000;
  font-size: 20.8px;
  font-size: 1.3rem;
}

.p-side__recent-title {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  color: #000;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.6;
}

.p-side__cat,
.p-side__archive {
  margin-top: 28.8px;
  margin-top: 1.8rem;
  padding: 0;
  list-style: none;
}

.p-side__cat li,
.p-side__archive li {
  font-size: 22.4px;
  font-size: 1.4rem;
  line-height: 1.6;
}

.p-side__cat li + li,
.p-side__archive li + li {
  margin-top: 25.6px;
  margin-top: 1.6rem;
}

.p-side__cat a,
.p-side__archive a {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  color: #000;
  text-decoration: none;
}

.p-side__cat a:hover,
.p-side__archive a:hover {
  opacity: .7;
}

.p-side__cat li::before {
  color: #000;
  content: '・';
}

/* ---------- news/column detail ---------- */
.p-news-detail__title {
  color: #cb2d2d;
  font-size: 41.6px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-news-detail__dates {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 19.2px;
  margin-top: 1.2rem;
  color: #888;
  font-size: 20px;
  font-size: 1.3rem;
}

.p-news-detail__thumb {
  margin-top: 44.8px;
  margin-top: 2.8rem;
}

.p-news-detail__thumb img {
  aspect-ratio: 16/9;
  display: block;
  border-radius: .5rem;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-news-detail__body {
  margin-top: 44.8px;
  margin-top: 2.8rem;
}

.p-news-detail__body h2 {
  margin: 48px 0 22.4px;
  margin: 3rem 0 1.4rem;
  color: #000;
  font-size: 41.6px;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.5;
}

.p-news-detail__body h3 {
  margin: 48px 0 19.2px;
  margin: 3rem 0 1.2rem;
  color: #817654;
  font-size: 35.2px;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.5;
}

.p-news-detail__body h4 {
  margin: 48px 0 25.6px;
  margin: 3rem 0 1.6rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 28.8px 0;
  padding: 1.8rem 0;
  color: #000;
  font-size: 28.8px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-news-detail__body p {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.9;
}

.p-news-detail__body a {
  color: #cb2d2d;
  text-decoration: underline;
}

.p-news-detail__body ul {
  margin-top: 24px;
  margin-top: 1.5rem;
  padding-left: 0;
  list-style: none;
}

.p-news-detail__body ul > li {
  position: relative;
  padding-left: 1.6em;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.9;
}

.p-news-detail__body ul > li + li {
  margin-top: 12.8px;
  margin-top: .8rem;
}

.p-news-detail__body ul > li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #cb2d2d;
  font-size: 1.6em;
  line-height: 1.19;
  content: '・';
}

#padSection {
  margin-top: 51.2px;
  margin-top: 3.2rem;
}

#toc_container {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 64px auto;
  margin: 4rem auto;
  padding: 32px 44.8px;
  padding: 2rem 2.8rem;
  width: 100%;
  max-width: 960px;
  max-width: 60rem;
}

#toc_container p.toc_title {
  margin-bottom: 19.2px;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 19.2px;
  padding-bottom: 1.2rem;
  font-size: 28.8px;
  font-size: 1.8rem;
}

#toc_container .toc_toggle a {
  color: #888;
  text-decoration: none;
}

#toc_container li a {
  color: #000;
  line-height: 1.9;
  text-decoration: none;
}

#toc_container li a:hover {
  text-decoration: underline;
}

#toc_container li::before {
  content: none;
}

.p-news-detail__nav {
  gap: 25.6px;
  gap: 1.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 76.8px;
  margin-top: 4.8rem;
}

.p-news-detail__nav-btn,
.p-news-detail__back {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background .3s, color .3s;
  transition: background .3s, color .3s;
  border: 1px solid;
  border-radius: 9999px;
  background: #fff;
  padding: 12.8px 19.2px;
  padding: .8rem 1.2rem;
  font-size: 20.8px;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.p-news-detail__nav .p-news-detail__nav-btn--next,
.p-news-detail__nav .p-news-detail__nav-btn--prev {
  border-color: #817654;
  color: #817654;
}

.p-news-detail__nav-btn--next:not(.is-disabled):hover,
.p-news-detail__nav-btn--prev:not(.is-disabled):hover {
  background: #817654;
  color: #fff;
}

.p-news-detail__nav .p-news-detail__back {
  border-color: #cb2d2d;
  color: #cb2d2d;
}

.p-news-detail__back:hover {
  background: #cb2d2d;
  color: #fff;
}

.p-news-detail__nav-btn.is-disabled {
  opacity: .4;
  pointer-events: none;
}

/* ---------- 共通： tag list ---------- */
.c-tag-list {
  gap: 22.4px;
  gap: 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-left: 0;
  list-style: none;
}

.c-tag-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  border-radius: 1rem;
  background-color: #fff;
  padding: 19.2px 22.4px;
  padding: 1.2rem 1.4rem;
  color: #cb2d2d;
  font-size: clamp(22.4px, 5vw, 25.6px);
  font-size: clamp(1.4rem, 5vw, 1.6rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  word-break: auto-phrase;
}

/* ---------- flow ---------- */
.c-flow-bar {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 auto;
  padding: 0;
  max-width: 960px;
  max-width: 60rem;
  list-style: none;
}

.c-flow-bar__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 1rem;
  padding: 22.4px 32px;
  padding: 1.4rem 2rem;
  color: #fff;
}

.c-flow-bar__item:not(:last-child)::after {
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
  background: url('../../../../uploads/flow-arrow.png') no-repeat center/contain;
  width: clamp(19.2px, 1.0416666667vw, 32px);
  width: clamp(1.2rem, 1.0416666667vw, 2rem);
  height: clamp(160px, 9.375vw, 288px);
  height: clamp(10rem, 9.375vw, 18rem);
  content: '';
}

.c-flow-bar__label {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.c-flow-bar__item {
  background-color: #817654;
}

.c-flow-bar__item:nth-child(n+6) {
  background-color: #e14e4e;
}

.p-flow__steps {
  margin: 38.4px 0 0;
  margin: 2.4rem 0 0;
  padding: 0;
  list-style: none;
}

.p-flow__step {
  gap: 25.6px;
  gap: 1.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding-bottom: 64px;
  padding-bottom: 4rem;
}

.p-flow__step:last-child {
  padding-bottom: 0;
}

.p-flow__step:not(:last-child)::before {
  position: absolute;
  top: calc(6.4rem + 3rem);
  bottom: 48px;
  bottom: 3rem;
  left: calc(6.4rem / 2);
  -webkit-transform: translateX(-2px);
  transform: translateX(-2px);
  background-color: #e7e0db;
  width: 6.4px;
  width: .4rem;
  content: '';
}

.p-flow__step-num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 1;
  border: 6.4px solid #d9d3c5;
  border: .4rem solid #d9d3c5;
  border-radius: 50%;
  background-color: #fff;
  width: 102.4px;
  width: 6.4rem;
  height: 102.4px;
  height: 6.4rem;
  overflow: hidden;
}

.p-flow__step-num img {
  width: 60%;
  height: 60%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-flow__step-body {
  container-type: inline-size;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-top: 3.2px;
  padding-top: .2rem;
  min-width: 0;
}

.p-flow__step-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 999px;
  background-color: #817654;
  width: clamp(112px, 5.2083333333vw, 160px);
  width: clamp(7rem, 5.2083333333vw, 10rem);
  height: clamp(44.8px, 2.0833333333vw, 64px);
  height: clamp(2.8rem, 2.0833333333vw, 4rem);
  color: #fff;
  font-size: clamp(22.4px, 1.0416666667vw, 32px);
  font-size: clamp(1.4rem, 1.0416666667vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
}

.p-flow__step:nth-child(n+6) .p-flow__step-label {
  background-color: #e14e4e;
}

.p-flow__step-title {
  margin-top: 16px;
  margin-top: 1rem;
  margin-bottom: 0;
  color: #000;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
}

p.p-flow__step-text {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1.9;
}

.p-flow__step-actions {
  padding-block: clamp(32px, 1.6666666667vw, 51.2px);
  padding-block: clamp(2rem, 1.6666666667vw, 3.2rem);
  padding-inline: clamp(32px, 3.4375vw, 112px);
  padding-inline: clamp(2rem, 3.4375vw, 7rem);
  gap: clamp(25.6px, 1.5625vw, 48px);
  gap: clamp(1.6rem, 1.5625vw, 3rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 24px;
  margin-top: 1.5rem;
  border-radius: 1rem;
  background-color: #fff;
  width: 100%;
  max-width: clamp(576px, 50vw, 896px);
  max-width: clamp(36rem, 50vw, 56rem);
}

@container (min-width: 1000px) {

  .p-flow__step-actions {
    gap: 38.4px;
    gap: 2.4rem;
    margin-inline: auto;
    padding-inline: 112px;
    padding-inline: 7rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    max-width: 1920px;
    max-width: 120rem;
  }

  .p-flow__tel {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .p-flow__line,
  .p-flow__contact {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 560px;
    -webkit-flex: 0 1 35rem;
    -ms-flex: 0 1 560px;
    -ms-flex: 0 1 35rem;
    flex: 0 1 560px;
    flex: 0 1 35rem;
    min-width: 0;
  }
}

.p-flow__tel {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-flow__tel-icon {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-top: 12.8px;
  margin-top: .8rem;
  color: #817654;
  font-size: 57.6px;
  font-size: 3.6rem;
  line-height: 1;
}

.p-flow__tel-icon::before {
  font-family: 'icomoon';
  content: '\e909';
}

.p-flow__tel-text {
  gap: 6.4px;
  gap: .4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

a.p-flow__tel-num,
a.p-flow__tel-num:hover {
  color: #817654;
}

.p-flow__tel-num {
  font-family: aptly, sans-serif;
  font-size: clamp(44.8px, 8vw, 64px);
  font-size: clamp(2.8rem, 8vw, 4rem);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.p-flow__tel-hours {
  color: #817654;
  font-size: 25.6px;
  font-size: 1.4rem;
  font-weight: 700;
}

.p-flow__line {
  padding-inline: 32px;
  padding-inline: 2rem;
  padding-block: 16px;
  padding-block: 1rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background-color .5s ease-in-out, color .5s ease-in-out, border-color .5s ease-in-out;
  transition: background-color .5s ease-in-out, color .5s ease-in-out, border-color .5s ease-in-out;
  border: 2px solid;
  border-radius: 1rem;
  background-color: #05c756;
  width: 100%;
  max-width: 560px;
  max-width: 35rem;
  min-height: 96px;
  min-height: 6rem;
  color: #fff;
  font-size: 22.4px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.p-flow__line-icon {
  display: none;
}

.p-flow__line::before {
  margin-right: 12.8px;
  margin-right: .8rem;
  font-family: 'icomoon';
  font-size: 41.6px;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1;
  content: '\e904';
}

.p-flow__contact {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: background-color .5s ease-in-out, color .5s ease-in-out, border-color .5s ease-in-out;
  transition: background-color .5s ease-in-out, color .5s ease-in-out, border-color .5s ease-in-out;
  border: 2px solid;
  border-radius: 1rem;
  background-color: #817654;
  width: 100%;
  max-width: 560px;
  max-width: 35rem;
  min-height: 96px;
  min-height: 6rem;
  color: #fff;
  font-size: 22.4px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

a.p-flow__line,
a.p-flow__contact {
  color: #fff;
}

a.p-flow__line:hover {
  background-color: #fff;
  color: #05c756;
}

a.p-flow__contact:hover {
  background-color: #fff;
  color: #817654;
}

/* ---------- faq ---------- */
.p-faq {
  margin-inline: auto;
  max-width: 1920px;
  max-width: 120rem;
}

.p-faq__cat + .p-faq__cat {
  margin-top: 160px;
  margin-top: 10rem;
}

.p-faq__list {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-faq__item {
  border-radius: 1rem;
  background: #fff;
  padding: 38.4px 48px;
  padding: 2.4rem 3rem;
  overflow: hidden;
}

.p-faq__q {
  gap: 32px;
  gap: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.p-faq__q::-webkit-details-marker {
  display: none;
}

.p-faq__q-icon {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
}

.p-faq__q-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 28.8px;
  font-size: 1.8rem;
  font-weight: 700;
}

.p-faq__mark {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background: #f3b13d;
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
}

.p-faq__mark::before,
.p-faq__mark::after {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform .2s;
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
  background: #fff;
  content: '';
}

.p-faq__mark::before {
  width: 19.2px;
  width: 1.2rem;
  height: 2px;
}

.p-faq__mark::after {
  width: 2px;
  height: 19.2px;
  height: 1.2rem;
}

.p-faq__item[open] .p-faq__mark::after {
  -webkit-transform: translate(-50%, -50%) scaleY(0);
  transform: translate(-50%, -50%) scaleY(0);
}

.p-faq__a {
  overflow: hidden;
}

.p-faq__a-box {
  margin-top: 48px;
  margin-top: 3rem;
  border-radius: 1rem;
  background: #f5f4f1;
  padding: 32px 44.8px;
  padding: 2rem 2.8rem;
}

p.p-faq__a-text {
  margin: 0;
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.7;
}

/* ---------- contact ---------- */
.p-contact {
  padding-bottom: 89.6px;
  padding-bottom: 5.6rem;
}

.p-contact__inner {
  padding-inline: 20px;
  margin: 0 auto;
  width: 100%;
  max-width: 1664px;
  max-width: 104rem;
}

.p-form__list {
  margin: 0;
  padding: 0;
}

.p-form__item {
  border-top: 1px solid #ccc;
  padding: 32px 0;
  padding: 2rem 0;
}

.p-form__item-head {
  margin: 0;
  padding: 0;
}

.p-form__item-head p {
  gap: 24px;
  gap: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
}

.p-form__label {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
}

.p-form__label.is-required::before {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 2rem;
  background-color: #cb2d2d;
  padding: 6.4px 19.2px;
  padding: .4rem 1.2rem;
  min-height: 48px;
  min-height: 3rem;
  color: #fff;
  font-size: 17.6px;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  content: '必須';
}

.p-form__item-body {
  margin: 12.8px 0 0;
  margin: .8rem 0 0;
}

.p-form__item-body p {
  margin: 0;
}

.p-form__input {
  border: 1px solid #ccc;
  border-radius: .5rem;
  background-color: #fff;
  padding: 16px 19.2px;
  padding: 1rem 1.2rem;
  width: 100%;
  font-size: 24px;
  font-size: 1.5rem;
}

.p-form__input::-webkit-input-placeholder {
  color: #b2b2b2;
}

.p-form__input::-moz-placeholder {
  color: #b2b2b2;
}

.p-form__input::-ms-input-placeholder {
  color: #b2b2b2;
}

.p-form__input::placeholder {
  color: #b2b2b2;
}

.p-form__item-body--half p {
  gap: 28.8px;
  gap: 1.8rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.p-form__textarea {
  min-height: 256px;
  min-height: 16rem;
  resize: vertical;
}

.p-form__radio .wpcf7-radio {
  gap: 16px;
  gap: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-form__radio .wpcf7-list-item {
  margin: 0;
}

.p-form__radio .wpcf7-list-item label {
  gap: 12.8px;
  gap: .8rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
}

.p-form__address {
  gap: 12.8px;
  gap: .8rem;
  display: grid;
}

.p-form__address-item p {
  gap: 12.8px;
  gap: .8rem;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-form__address-label {
  color: #999;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  white-space: nowrap;
}

.p-form__footer {
  gap: 51.2px;
  gap: 3.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 38.4px;
  margin-top: 2.4rem;
}

.p-form__footer p {
  display: contents;
}

.p-form .wpcf7-not-valid-tip {
  margin-top: 9.6px;
  margin-top: .6rem;
  font-size: 20.8px;
  font-size: 1.3rem;
  font-weight: 400;
}

.p-form__footer .wpcf7-spinner {
  display: none;
}

.p-form__submit,
.p-form__reset {
  display: inline-block;
  -webkit-transition: all .3s;
  transition: all .3s;
  cursor: pointer;
  border: 2px solid #cb2d2d;
  border-radius: .5rem;
  background-color: #fff;
  padding: 22.4px 64px;
  padding: 1.4rem 4rem;
  width: auto;
  color: #cb2d2d;
  font-size: 25.6px;
  font-size: 1.6rem;
  font-weight: 700;
}

.p-form__submit:hover,
.p-form__reset:hover {
  background-color: #cb2d2d;
  color: #fff;
}

.p-contact__inner h3.wp-block-heading {
  margin-top: 57.6px;
  margin-top: 3.6rem;
  color: #b2b2b2;
  font-size: 28.8px;
  font-size: 1.8rem;
  font-weight: 400;
}

.p-contact__inner p,
.p-contact__inner ol,
.p-contact__inner ul {
  font-size: 25.6px;
  font-size: 1.6rem;
  line-height: 1.8;
}

.p-contact__inner h3.wp-block-heading + p {
  margin-top: 25.6px;
  margin-top: 1.6rem;
}

/* ---------- 共通：ユーティリティ（非表示） ---------- */
.u-hidden {
  display: none !important;
}

/* ---------- base（reset の打ち消し）---------- */
.contents p {
  text-wrap: wrap;
}
@media screen and (min-width: 768px) {

  html {
    scroll-padding-top: 104px;
  }

  .c-anchor-nav {
    margin-inline: auto;
    margin-bottom: 102.4px;
    margin-bottom: 6.4rem;
    width: 100%;
    max-width: 1280px;
    max-width: 80rem;
  }

  .c-anchor-nav__list {
    max-width: 1280px;
    max-width: 80rem;
  }

  .legalstandards .c-anchor-nav,
  .legalstandards .c-anchor-nav__list {
    max-width: 2240px;
    max-width: 140rem;
  }

  .p-company__greeting {
    margin-inline: auto;
    max-width: 2080px;
    max-width: 130rem;
  }

  p.p-company__greeting-text {
    padding-left: 208px;
    padding-left: 13rem;
    max-width: 1632px;
    max-width: 102rem;
    font-size: 32px;
    font-size: 2rem;
  }

  p.p-company__greeting-position {
    padding-left: 208px;
    padding-left: 13rem;
    font-size: 35.2px;
    font-size: 2.2rem;
  }

  .p-company__greeting-name {
    font-size: 40px;
    font-size: 2.5rem;
  }

  .p-company__table {
    margin-inline: auto;
    padding-left: 160px;
    padding-left: 10rem;
    width: 100%;
    max-width: 2080px;
    max-width: 130rem;
  }

  .p-company__table td:first-child {
    width: 11.67%;
  }

  .p-company__table.wp-block-flexible-table-block-table table tr th,
  .p-company__table.wp-block-flexible-table-block-table table tr td {
    padding-inline: 38.4px;
    padding-inline: 2.4rem;
    padding-block: 32px;
    padding-block: 2rem;
    font-size: 28.8px;
    font-size: 1.8rem;
  }

  .p-legal__heading {
    font-size: 57.6px;
    font-size: 3.6rem;
  }

  .p-legal__lead {
    width: 100%;
    max-width: 1888px;
    max-width: 118rem;
  }

  .p-legal__laws {
    row-gap: 73.6px;
    row-gap: 4.6rem;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 8.2rem;
    -moz-column-gap: 8.2rem;
    column-gap: 8.2rem;
  }

  .p-legal__law h3,
  .p-legal__point h3 {
    font-size: clamp(44.8px, 1.8181818182vw, 57.6px);
    font-size: clamp(2.8rem, 1.8181818182vw, 3.6rem);
  }

  .p-legal__point + .p-legal__point {
    margin-top: 89.6px;
    margin-top: 5.6rem;
  }

  .p-purpose__section + .p-purpose__section {
    margin-top: 160px;
    margin-top: 10rem;
  }

  .p-purpose__cards {
    gap: 64px;
    gap: 4rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .p-purpose__card-label {
    font-size: clamp(32px, 1.3541666667vw, 41.6px);
    font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
  }

  .p-purpose-detail__lead p {
    font-size: 40px;
    font-size: 2.5rem;
  }

  .p-purpose-detail__merits {
    row-gap: 73.6px;
    row-gap: 4.6rem;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 8rem;
    -moz-column-gap: 8rem;
    column-gap: 8rem;
  }

  .p-purpose-detail__merit h3 {
    font-size: clamp(44.8px, 1.8181818182vw, 57.6px);
    font-size: clamp(2.8rem, 1.8181818182vw, 3.6rem);
  }

  .p-purpose-detail__cases {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-sitemap__link {
    font-size: 32px;
    font-size: 2rem;
  }

  .p-sitemap__sublink {
    font-size: 25.6px;
    font-size: 1.6rem;
  }

  .breadcrumb .current-item {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .c-case-card__title {
    font-size: clamp(32px, 1.3541666667vw, 41.6px);
    font-size: clamp(2rem, 1.3541666667vw, 2.6rem);
  }

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

  .p-case-detail__tag {
    padding: 16px 32px;
    padding: 1rem 2rem;
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-case-detail__title {
    margin-top: 25.6px;
    margin-top: 1.6rem;
    font-size: 88px;
    font-size: 5.5rem;
  }

  .p-case-detail__main {
    margin-top: 56px;
    margin-top: 3.5rem;
  }

  .p-case-detail__body {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-case-detail__body p {
    margin-top: 76.8px;
    margin-top: 4.8rem;
    font-size: 32px;
    font-size: 2rem;
  }

  .p-case-detail__body .wp-block-gallery {
    gap: 64px !important;
    gap: 4rem !important;
    grid-template-columns: repeat(3, 1fr);
  }

  .wp-block-table.p-case-spec {
    padding-inline: 64px;
    padding-inline: 4rem;
    margin-top: 92.8px;
    margin-top: 5.8rem;
  }

  .wp-block-table.p-case-spec th,
  .wp-block-table.p-case-spec td {
    padding: 38.4px 0;
    padding: 2.4rem 0;
    font-size: 32px;
    font-size: 2rem;
  }

  .wp-block-table.p-case-spec th {
    width: 224px;
    width: 14rem;
  }

  .p-case-detail__more-title {
    margin-bottom: 64px;
    margin-bottom: 4rem;
    font-size: 64px;
    font-size: 4rem;
  }

  .p-news__link {
    gap: 48px;
    gap: 3rem;
    grid-template-columns: auto auto 1fr;
    padding: 44.8px 60.8px;
    padding: 2.8rem 3.8rem;
  }

  .p-news__date {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-news__title {
    grid-column: auto;
    font-size: 28.8px;
    font-size: 1.8rem;
  }

  .c-post-tag {
    padding: 11.2px 12.8px;
    padding: .7rem .8rem;
    width: 176px;
    width: 11rem;
    font-size: 19.2px;
    font-size: 1.2rem;
  }

  .p-news-detail__title {
    font-size: 64px;
    font-size: 4rem;
  }

  .p-news-detail__thumb {
    margin-top: 57.6px;
    margin-top: 3.6rem;
  }

  .p-news-detail__body {
    margin-top: 57.6px;
    margin-top: 3.6rem;
  }

  .p-news-detail__body h2 {
    margin-top: 57.6px;
    margin-top: 3.6rem;
    font-size: 51.2px;
    font-size: 3.2rem;
  }

  .p-news-detail__body h3 {
    font-size: 44.8px;
    font-size: 2.8rem;
  }

  .p-news-detail__body h4 {
    margin-top: 44.8px;
    margin-top: 2.8rem;
    font-size: 35.2px;
    font-size: 2.2rem;
  }

  .p-news-detail__body p {
    margin-top: 25.6px;
    margin-top: 1.6rem;
    font-size: 32px;
    font-size: 2rem;
  }

  .p-news-detail__body ul {
    margin-top: 25.6px;
    margin-top: 1.6rem;
  }

  .p-news-detail__body ul > li {
    font-size: 32px;
    font-size: 2rem;
  }

  #padSection {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-news-detail__nav {
    gap: 208px;
    gap: 13rem;
  }

  .p-news-detail__nav-btn,
  .p-news-detail__back {
    padding-block: 17.6px;
    padding-block: 1.1rem;
    width: 256px;
    width: 16rem;
    font-size: 28.8px;
    font-size: 1.8rem;
  }

  .c-flow-bar {
    gap: clamp(32px, 2.6041666667vw, 80px);
    gap: clamp(2rem, 2.6041666667vw, 5rem);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: none;
  }

  .c-flow-bar__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding: clamp(64px, 3.6458333333vw, 112px) clamp(25.6px, 1.5625vw, 48px) clamp(32px, 1.5625vw, 48px);
    padding: clamp(4rem, 3.6458333333vw, 7rem) clamp(1.6rem, 1.5625vw, 3rem) clamp(2rem, 1.5625vw, 3rem);
    width: clamp(89.6px, 4.6875vw, 144px);
    width: clamp(5.6rem, 4.6875vw, 9rem);
  }

  .c-flow-bar__item:not(:last-child)::after {
    top: 50%;
    right: calc(clamp(2rem, 2.6041666667vw, 5rem) / -2 - clamp(1.2rem, 1.0416666667vw, 2rem) / 2);
    left: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .c-flow-bar__label {
    font-size: clamp(28.8px, 1.3020833333vw, 40px);
    font-size: clamp(1.8rem, 1.3020833333vw, 2.5rem);
    letter-spacing: 3.2px;
    letter-spacing: .2rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .p-flow__step {
    gap: 72px;
    gap: 4.5rem;
    padding-bottom: 108.8px;
    padding-bottom: 6.8rem;
  }

  .p-flow__step:not(:last-child)::before {
    top: calc(clamp(10rem, 8.3333333333vw, 16rem) + 3rem);
    left: calc(clamp(10rem, 8.3333333333vw, 16rem) / 2);
  }

  .p-flow__step-num {
    width: clamp(160px, 8.3333333333vw, 256px);
    width: clamp(10rem, 8.3333333333vw, 16rem);
    height: clamp(160px, 8.3333333333vw, 256px);
    height: clamp(10rem, 8.3333333333vw, 16rem);
  }

  .p-flow__tel-num {
    font-size: 64px;
    font-size: 4rem;
  }

  .p-flow__line {
    height: 118.4px;
    height: 7.4rem;
    font-size: 28.8px;
    font-size: 1.8rem;
  }

  .p-flow__contact {
    height: 118.4px;
    height: 7.4rem;
    font-size: 28.8px;
    font-size: 1.8rem;
  }

  .p-faq {
    margin-top: 104px;
    margin-top: 6.5rem;
  }

  .p-faq__q-text {
    font-size: 35.2px;
    font-size: 2.2rem;
  }

  p.p-faq__a-text {
    font-size: 28.8px;
    font-size: 1.8rem;
  }

  .p-contact {
    padding-bottom: 160px;
    padding-bottom: 10rem;
  }

  .p-contact__inner {
    padding-inline: 30px;
  }

  .p-form {
    margin-top: 64px;
    margin-top: 4rem;
  }

  .p-form__item {
    gap: 44.8px;
    gap: 2.8rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 51.2px 0;
    padding: 3.2rem 0;
  }

  .p-form__item-head {
    position: relative;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-top: 12.8px;
    padding-top: .8rem;
    width: 416px;
    width: 26rem;
  }

  .p-form__item-head p {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .p-form__label {
    display: inline;
  }

  .p-form__label.is-required::before {
    position: absolute;
    top: 12.8px;
    top: .8rem;
    left: 24px;
    left: 1.5rem;
    padding: 9.6px 32px;
    padding: .6rem 2rem;
    min-height: 56px;
    min-height: 3.5rem;
    font-size: 24px;
    font-size: 1.5rem;
  }

  .p-form__item-body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0;
    max-width: 864px;
    max-width: 54rem;
  }

  .p-form__input {
    padding: 16px 25.6px;
    padding: 1rem 1.6rem;
  }

  .p-form__textarea {
    min-height: 320px;
    min-height: 20rem;
  }

  .p-form__address {
    gap: 16px;
    gap: 1rem;
  }

  .p-form__address-item p {
    gap: 25.6px;
    gap: 1.6rem;
  }

  .p-form__footer {
    margin-top: 73.6px;
    margin-top: 4.6rem;
  }

  .p-form__submit,
  .p-form__reset {
    padding: 25.6px 96px;
    padding: 1.6rem 6rem;
  }

  .p-contact__inner h3.wp-block-heading {
    font-size: 36.8px;
    font-size: 2.3rem;
  }

  .u-br-sp {
    display: none !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {

  .u-hidden--tab {
    display: none !important;
  }
}
@media screen and (min-width: 782px) {

  .p-purpose-detail__lead-body {
    gap: 76.8px;
    gap: 4.8rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-purpose-detail__lead-body.wp-block-columns .p-purpose-detail__lead.wp-block-column {
    width: 100%;
    max-width: 53.7143%;
  }

  .p-purpose-detail__lead-body.wp-block-columns .p-purpose-detail__lead-img.wp-block-column {
    width: 100%;
    max-width: 45.7143%;
  }
}
@media screen and (min-width: 1024px) {

  .p-legal__tags ul {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-legal__tags li {
    padding: 28.8px 41.6px;
    padding: 1.8rem 2.6rem;
    font-size: clamp(28.8px, 1.2626262626vw, 40px);
    font-size: clamp(1.8rem, 1.2626262626vw, 2.5rem);
  }

  .p-purpose__cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .p-purpose-detail__tags ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .p-purpose-detail__tags li {
    padding: 28.8px 41.6px;
    padding: 1.8rem 2.6rem;
    font-size: clamp(28.8px, 1.2626262626vw, 40px);
    font-size: clamp(1.8rem, 1.2626262626vw, 2.5rem);
  }

  .top-news-col {
    width: calc(50% - 3rem);
  }

  .p-case__list {
    gap: 64px;
    gap: 4rem;
    grid-template-columns: repeat(3, 1fr);
  }

  .p-news {
    gap: clamp(96px, 6.5656565657vw, 208px);
    gap: clamp(6rem, 6.5656565657vw, 13rem);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-news__main {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
    min-width: 0;
  }

  .p-news__side {
    margin-inline: 0;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 496px;
    -webkit-flex: 0 0 31rem;
    -ms-flex: 0 0 496px;
    -ms-flex: 0 0 31rem;
    flex: 0 0 496px;
    flex: 0 0 31rem;
    margin-top: 48px;
    margin-top: 3rem;
    width: 496px;
    width: 31rem;
    max-width: none;
  }

  .p-side {
    padding: 72px 54.4px;
    padding: 4.5rem 3.4rem;
  }

  .p-side__title {
    font-size: 32px;
    font-size: 2rem;
  }

  .p-side__recent-title {
    font-size: 25.6px;
    font-size: 1.6rem;
  }

  .c-tag-list {
    grid-template-columns: repeat(3, 1fr);
  }

  .c-tag-list li {
    padding: 28.8px 41.6px;
    padding: 1.8rem 2.6rem;
    font-size: clamp(28.8px, 1.2626262626vw, 40px);
    font-size: clamp(1.8rem, 1.2626262626vw, 2.5rem);
  }

  .p-flow__step-title {
    font-size: 48px;
    font-size: 3rem;
  }

  .u-hidden--pc {
    display: none !important;
  }
}
@media screen and (min-width: 1440px) {

  .p-legal__tags ul {
    grid-template-columns: repeat(4, 1fr);
  }

  .p-purpose-detail__tags ul {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .c-tag-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 767px) {

  .u-hidden--sp {
    display: none !important;
  }
}
/*# sourceMappingURL=map/custom.css.map */