@charset "UTF-8";

/* ====================================================
ベース
==================================================== */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,800;1,800&family=Noto+Sans+JP:wght@700&display=swap");

:root {
  --font-montserrat: "Montserrat", var(--font-gothic-base);
  --custom-corp-color: #182341;
  --custom-sub-color: #dff4ff;
  --custom-eco-color: #1b9844;
  --custom-hygiene-color: #284196;
  --custom-recruit-color: #00b5e2;
}

p {
  line-height: 1.9;
}

strong {
  font-weight: 700;
}

/* ====================================================
  パーツ
==================================================== */
h2[data-sub] {
  padding-bottom: 1.2em;
  font-weight: 700;
  font-size: 100%;
  letter-spacing: 0.1em;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
}

h2[data-sub]::before {
  font-family: var(--font-montserrat);
  font-size: 275%;
  color: var(--custom-hygiene-color);
  content: attr(data-sub);
  display: block;
  order: 1;
}

h2[data-sub][data-sub-position="bottom"]:before {
  content: attr(data-sub);
}

h2[data-sub]::after {
  order: 2;
  content: "" !important;
  display: block;
  width: 50px;
  height: 6px;
  margin-top: 1.5rem;
  background-color: var(--custom-secondary-color);
}

/* h3[data-sub] {
  position: relative;
  z-index: 1;
  line-height: 1.5;
  font-size: 150%;
  letter-spacing: 0.1em;
  padding-bottom: 1.3em;
}

h3[data-sub]::before {
  color: var(--custom-primary-color);
  font-family: var(--font-montserrat);
  font-size: 67%;
  padding-bottom: 1.45em;
} */

h3.wp-block-heading {
  position: relative;
  z-index: 1;
  line-height: 1.5;
  font-size: 150%;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.common-head {
  font-size: 150%;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  line-height: 1.5;
}

.common-head:before {
  height: 3rem;
  background-color: var(--custom-hygiene-color);
}

.wp-block-list {
  line-height: 1.9;
}

.wp-block-list li {
  display: flex;
  align-items: baseline;
  gap: 0 0.6em;
}

.wp-block-list li strong {
  flex-shrink: 0;
}

/* .wp-block-list li strong {
  width: calc(100% - 20px);
  padding-top: 2rem;
}

.wp-block-list li br {
  display: none;
}

.wp-block-list li:first-of-type strong {
  padding-top: 0;
} */

.wp-block-list li::before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  background-color: var(--color-black);
  border-radius: 50%;
  flex-shrink: 0;
}

/* .wp-block-table {
  background-color: var(--color-white);
  padding: 0.5em;
} */

.wp-block-table thead {
  background-color: var(--custom-secondary-color);
  border-bottom: 1px solid var(--custom-primary-color);
}

.wp-block-table thead th {
  font-weight: 700;
}

.wp-block-table td,
.wp-block-table th {
  line-height: 1.9;
  padding: 1em;
  border: 1px solid var(--custom-primary-color);
}

.wp-block-column-is-layout-flow h4 {
  font-size: 150%;
  font-weight: 700;
}

.wp-block-column-is-layout-flow .wp-block-list {
  padding-top: 1em;
}

.wp-block-column-is-layout-flow .wp-block-list li::before {
  background-color: var(--custom-primary-color);
}

.wp-block-button {
  padding-top: 4.8rem;
}

.wp-block-button__link,
.cta-list__item,
.nav-link__link {
  border: 1px solid var(--custom-corp-color);
  font-weight: 700;
  color: var(--custom-corp-color);
  padding: 1.2em 2.2em;
  font-size: 110%;
  border-radius: 0%;
  transition:
    0.2s color,
    0.2s background-color;
}

.cta-list__item {
  display: inline-block;
  background-color: var(--color-white);
  width: auto;
  margin-top: 3rem;
}

.cta-list__item__text {
  font-weight: 700;
}

.nav-link {
  padding-top: 1.5rem;
}

.nav-link__link--archive:after {
  content: none;
}

.wp-block-button__link:focus-visible,
.cta-list__item:focus-visible {
  background-color: var(--custom-corp-color);
  color: var(--color-white);
}

.wp-block-cover,
.wp-block-cover-image {
  min-height: auto;
  padding: 5em 1em;
}

@media (any-hover: hover) {
  .wp-block-button__link:hover,
  .cta-list__item:hover {
    background-color: var(--custom-corp-color);
    color: var(--color-white);
  }
}

@media screen and (max-width: 768px) {
  /* h2[data-sub] {
    font-size: 240%;
  }

  h2[data-sub]::before {
    font-size: 42%;
  }

  h2[data-sub]::after {
    width: 50px;
    height: 4px;
    margin: 1.3rem auto 0;
  } */

  .common-head:before {
    height: 7vw;
  }

  .wp-block-list li strong {
    width: calc(100% - 4vw);
    padding-top: 5vw;
  }

  .wp-block-button {
    padding-top: 8vw;
  }

  .wp-block-button__link,
  .cta-list__item,
  .nav-link__link {
    padding: 1em 0.8em;
    font-size: 80%;
  }
}

/* ====================================================
  共通レイアウト
==================================================== */
/* 余白
-------------------------- */
section + section {
  margin-top: 15rem;
}

/* h3.wp-block-heading + p {
  padding-top: 2em;
} */

.section__head + p {
  text-align: center;
  padding-bottom: 2em;
}

.wp-block-columns + .wp-block-columns,
.wp-block-columns + .wp-block-group,
.container + .container {
  margin-top: 10rem;
}

.wp-block-table + .wp-block-list,
.wp-block-list + .wp-block-columns {
  padding-top: 2rem;
}

/* ヘッダー
-------------------------- */
.header[data-fixed] {
  z-index: 10;
}

/* 投稿一覧
-------------------------- */
.section__head + .post-list {
  padding-top: 0;
}

.post-list {
  padding-top: 4rem;
}

.post-list__link {
  transition: 0.2s opacity;
  gap: 1.2rem !important;
}

.post-list__link:focus-visible {
  opacity: 0.6;
}

@media (any-hover: hover) {
  .post-list__link:hover {
    opacity: 0.6;
  }
}

.post-list__link img {
  border-radius: 1em;
}

.post-list__body {
  position: relative;
  gap: 1rem;
}

.post-list__categories {
  position: absolute;
  right: 0;
  justify-content: flex-end;
}

.post-list__date {
  font-size: 75%;
  padding-top: 0.6em;
  color: var(--color-gray);
  font-family: var(--font-montserrat);
  font-weight: 500;
}

.post-list__category {
  color: var(--color-white);
  background-color: var(--color-gray2);
  padding: 0.4em 0.8em;
  border-radius: 100vmax;
  font-size: 75%;
}

.post-list__head {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--custom-corp-color);
  font-weight: 700;
  line-height: 1.7;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--custom-hygiene-color);
}

.post-list__excerpt {
  font-size: 75%;
}

.post-list + p,
.post-list + p + section {
  padding-top: 4rem;
}

/* よくある質問
-------------------------- */
.faq-list__wrap {
  max-width: 100rem;
  margin: 0 auto;
  padding: 7rem 10rem;
  border: 1px solid var(--custom-primary-color);
}

.faq-list__item {
  border-bottom: 1px solid var(--custom-primary-color);
  padding: 2em 0;
}

.faq-list__item:nth-of-type(1) {
  padding-top: 0;
}

.faq-list__question {
  font-weight: 700;
  padding-bottom: 1em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.6em;
  line-height: 1.9;
}

.faq-list__question::before {
  flex-shrink: 0;
  content: "Q";
  font-family: var(--font-montserrat);
  background-color: var(--custom-primary-color);
  color: var(--color-white);
  border-radius: 50%;
  font-size: 120%;
  width: 2.1em;
  height: 2.1em;
  display: inline-grid;
  justify-items: center;
  align-content: center;
}

/* CTA
-------------------------- */
h2[data-sub]:not([data-sub-position])::before {
  color: var(--color-white);
}

.section--cta {
  margin-top: 0;
}

.cta-list__item:nth-child(1) {
  border: 1px solid var(--color-white);
  border-radius: 20px;
  padding: 4rem 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em;
}

.cta-list__item:nth-child(1) p:nth-child(1) {
  font-size: 67%;
}

.cta-list__item:nth-child(1) p:nth-child(2) {
  color: var(--color-yellow);
  font-weight: 700;
  font-size: 120%;
}

.cta-list__item:nth-child(1) a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 400px;
  height: 8rem;
  background-color: var(--color-white);
  text-decoration: none;
  transition: opacity 0.3s;
}

.cta-list__item:nth-child(1) a::after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid var(--custom-primary-color);
  border-right: 2px solid var(--custom-primary-color);
  transform: translateY(-50%) rotate(45deg);
}

.cta-list__item:nth-child(1) a:hover {
  opacity: 0.8;
}

.cta-list__item:nth-child(1) .cta-list__item__text {
  color: var(--custom-primary-color);
  font-size: 80%;
  font-weight: bold;
}

.cta-list__item:nth-child(2) {
  border-radius: 0;
  overflow: hidden;
  background: url(../images/noimage.jpg) no-repeat center center / cover;
}

.cta-list__item:nth-child(2) > .cta-list__item {
  position: relative;
  display: block;
  height: 100%;
  text-align: center;
  min-height: 28rem;
  border: none;
  border-radius: 0;
  padding: 0;
}

.cta-list__item:nth-child(2) .cta-list__item__text {
  font-family: var(--font-montserrat);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: block;
  font-size: 330%;
  background-color: rgba(255, 255, 255, 0.5);
}

.cta-contact {
  flex-flow: nowrap;
}

.cta-contact__img {
  width: 70rem;
}

.cta-contact__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* 対応地域
-------------------------- */
.section--area {
  background-color: var(--color-gray);
}

.area-wrap + p {
  padding-top: 2em;
  text-align: center;
}

/* フッター
-------------------------- */
.footer__info {
  line-height: 1.9;
}

.footer__banners h2 {
  color: var(--color-white);
  font-weight: 700;
  padding-bottom: 0.5em;
}

/* 下層ページヘッダー
-------------------------- */
.page-title-wrap__inner {
  height: 33rem;
}

.wp-block-cover + p {
  padding-top: 7rem;
}

/* お困りではありませんか？
-------------------------- */
p:has(+ .intro-list) {
  font-size: 150%;
  color: var(--custom-primary-color);
  text-align: center;
  padding-top: 1em;
}

.intro-list {
  padding: 3rem 0;
}

.intro-list li {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 7em;
  color: var(--custom-primary-color);
  font-weight: 700;
  text-align: left;
  border: 1px solid var(--custom-primary-color);
  border-radius: 0 10px 10px 10px;
  overflow: hidden;
}

.intro-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0;
  width: 2em;
  height: 2em;
  background-color: var(--custom-primary-color);
}

.intro-list li::after {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0.45em;
  width: 1.1em;
  height: 0.5em;
  border-left: 2px solid var(--color-yellow);
  border-bottom: 2px solid var(--color-yellow);
  transform: rotate(-45deg);
}

/* ページ内移動ボタン
-------------------------- */
.table-contents {
  margin: 4rem 0;
}

.table-contents-link {
  line-height: 1.5;
  position: relative;
  padding-left: 2.5em;
}

.table-contents-link::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: var(--custom-primary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.table-contents-link::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 53%;
  transform: translate(0, -50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid var(--color-white);
}

/* 他ページ移動ボタン
-------------------------- */
.related {
  padding: 10rem 0;
}

.related-section + .related-section {
  margin-top: 8rem;
}

.related-head {
  padding-bottom: 0.75em;
  font-size: 175%;
  border-bottom: 1px solid var(--color-gray);
  margin-bottom: 0.75em;
  font-weight: 700;
}

.related .menu-item a {
  line-height: 1.5;
  transition:
    0.2s background-color,
    0.2s color;
}

.related .menu-item a:focus-visible {
  background-color: var(--custom-primary-color);
  color: var(--color-white);
}

@media (any-hover: hover) {
  .related .menu-item a:hover {
    opacity: 1;
    background-color: var(--custom-primary-color);
    color: var(--color-white);
  }
}

/* サービス一覧
-------------------------- */
.service-list {
  gap: 4rem 3rem;
  padding-top: 5rem;
}

.service-list__link {
  transition: 0.2s opacity;
}

.service-list__link:focus-visible {
  opacity: 0.6;
}

@media (any-hover: hover) {
  .service-list__link:hover {
    opacity: 0.6;
  }
}

.service-list__header {
  gap: 1em 2em;
}

.service-list__title {
  font-size: 150%;
}

.service-list__price {
  font-size: 130%;
  color: var(--custom-primary-color);
}

.service-list__overview {
  padding-bottom: 1.5em;
}

.service-list__detail {
  background-color: var(--custom-primary-color);
  width: 27rem;
  color: var(--color-white);
  text-align: center;
  padding: 0.6em 2em;
  border-radius: 10px 0 7px 0;
  line-height: 1.5;
}

@media screen and (max-width: 1304px) {
  .cta-list {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }

  .box-side {
    width: 33%;
  }

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

@media screen and (max-width: 992px) {
  .post-list {
    gap: 2rem;
  }

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

@media screen and (max-width: 768px) {
  section + section {
    margin-top: 20vw;
  }

  .wp-block-table + .wp-block-list,
  .wp-block-list + .wp-block-columns {
    padding-top: 4vw;
  }

  .wp-block-columns + .wp-block-columns,
  .wp-block-columns + .wp-block-group,
  .container + .container {
    margin-top: 10vw;
  }

  .post-list {
    padding-top: 4vw;
  }

  .post-list__link {
    gap: 0.2em !important;
  }

  .post-list__body {
    gap: 0.7em;
  }

  .post-list__categories {
    flex-wrap: nowrap;
    position: relative;
    justify-content: flex-start;
  }

  .post-list__head {
    font-size: 90%;
  }

  .post-list + p,
  .post-list + p + section {
    padding-top: 6vw;
  }

  .faq-list__wrap {
    padding: 10vw 7vw;
  }

  .faq-list__item {
    padding: 8vw 0;
  }

  .faq-list__question::before {
    font-size: 110%;
    width: 9vw;
    height: 9vw;
  }

  .area-wrap {
    gap: 7vw;
    flex-direction: column;
  }

  .area-wrap + p {
    padding-top: 5vw;
    text-align: left;
  }

  .area-list {
    gap: 5vw;
  }

  .area-list li {
    width: 100%;
  }

  .cta-list {
    flex-direction: column;
    gap: 5vw;
  }

  .cta-list__item {
    width: 100%;
  }

  .cta-list__item:nth-child(1) {
    padding: 5vw 8vw;
    gap: 3.5vw;
  }

  .cta-list__item:nth-child(1) a {
    height: 16vw;
  }

  .cta-list__item:nth-child(2) {
    height: 58vw;
  }

  .cta-list__item:nth-child(2) > .cta-list__item {
    min-height: 0;
  }

  .cta-contact {
    flex-direction: column;
  }

  .cta-contact__img {
    width: 100%;
    padding-top: 10vw;
  }

  .cta__tel {
    padding-top: 10vw;
  }

  .banner-list__item {
    width: calc((100% - var(--gap-base)) / 2);
  }

  .footer__middle {
    margin-bottom: 0;
  }

  .footer__banners {
    padding-top: 5vw;
  }

  .page-title-wrap__inner {
    height: 50vw;
  }

  .wp-block-cover + p {
    padding-top: 10vw;
    text-align: left;
  }

  .intro-list {
    padding: 5vw 0;
  }

  .intro-list li {
    min-height: 7em;
    padding: 0 1em;
    font-size: 75%;
  }

  .intro-list li::before {
    width: 4vw;
    height: 4vw;
  }

  .intro-list li::after {
    top: 1vw;
    left: 0.5vw;
    width: 3vw;
    height: 1.2vw;
  }

  .table-contents {
    margin: 10vw 0;
  }

  .table-contents-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .table-contents-link {
    padding-left: 1.5em;
  }

  .table-contents-link::before {
    top: 4.5vw;
    width: 3vw;
    height: 3vw;
    left: 0;
  }

  .table-contents-link::after {
    left: 0.85vw;
    top: 4.6vw;
    border-left: 0.8vw solid transparent;
    border-right: 0.8vw solid transparent;
    border-top: 1vw solid var(--color-white);
  }

  .related {
    padding: 10vw 0;
  }

  .related-section + .related-section {
    margin-top: 10vw;
  }

  .related-head {
    font-size: 110%;
  }

  .service-list {
    padding-top: 8vw;
    gap: 10vw;
    grid-template-columns: auto;
  }

  .service-list__header {
    gap: 1em;
    grid-template-columns: 8em 1fr;
  }

  .service-list__thumbnail {
    width: 8em;
    height: 8em;
  }

  .service-list__overview {
    padding-bottom: 0;
  }

  .service-list__detail {
    position: relative;
    width: auto;
    border-radius: 100vmax;
    padding: 0.8em 0;
  }
}

/* ====================================================
  お問い合わせフォーム
==================================================== */
.snow-monkey-form,
.snow-monkey-form + p {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 6rem;
}

.snow-monkey-form + p {
  padding-top: 2rem;
}

.smf-item {
  margin-bottom: 4.5rem;
}

.smf-item__col--label {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  gap: 2rem;
}

.smf-item__label__text {
  font-weight: bold;
}

.smf-control-description {
  font-size: 80%;
  margin-top: 1em;
  color: var(--color-gray);
}

.smf-item__description {
  background-color: var(--color-yellow);
  color: var(--custom-corp-color);
  font-size: 80%;
  padding: 0.5rem 1rem;
  line-height: 1;
}

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control,
.smf-form .smf-select-control__control {
  font-size: 100%;
  width: 100%;
  padding: 1em;
}

.smf-form .smf-checkbox-control {
  align-items: center;
  gap: 0.5em;
}

.smf-text-control__control::placeholder,
.smf-textarea-control__control::placeholder {
  color: var(--color-gray);
}

.smf-checkboxes-control__control {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1rem;
}

.smf-button-control button {
  border: 1px solid var(--custom-primary-color) !important;
  color: var(--custom-primary-color) !important;
  font-weight: 700;
  text-align: center;
  padding: 1em 2em !important;
  background-image: none !important;
  background-color: var(--color-white) !important;
  font-size: 100%;
}

@media screen and (max-width: 768px) {
  .snow-monkey-form + p {
    padding: 6vw 0;
  }

  .smf-item {
    margin-bottom: 12vw;
  }

  .smf-item__col--label {
    margin-bottom: 4vw;
    gap: 2vw;
  }

  .smf-checkboxes-control__control {
    grid-template-columns: repeat(2, 1fr);
  }

  .smf-form .smf-text-control__control {
    padding: 4vw 2vw;
  }

  .smf-control-description {
    margin-top: 4vw;
  }

  .snow-monkey-form {
    padding: 0;
  }

  .smf-button-control__control {
    width: 100%;
    min-width: auto;
  }
}

@media screen and (max-width: 575px) {
  .smf-checkboxes-control__control {
    grid-template-columns: 1fr;
  }
}

/* ====================================================
  サイトマップ
==================================================== */
.sitemap-wrap {
  padding: 10rem 0;
  gap: 5rem var(--gap-base);
}

.sitemap-wrap section + section {
  margin-top: 0;
}

.sitemap-text {
  margin-bottom: 1.5em;
}

.sitemap-section .sub-menu > .menu-item::before {
  position: relative;
  bottom: 0.2em;
}

.common-head--site-corporate::before {
  background-color: var(--custom-corp-color);
}

.common-head--site-corporate::after {
  border-bottom-color: var(--custom-corp-color);
}

#menu-site-corporate > .menu-item::before,
#menu-site-corporate .sub-menu > .menu-item::before {
  color: var(--custom-corp-color);
}

.common-head--site-recruit::before {
  background-color: var(--custom-recruit-color);
}

.common-head--site-recruit::after {
  border-bottom-color: var(--custom-recruit-color);
}

#menu-site-recruit > .menu-item::before,
#menu-site-recruit .sub-menu > .menu-item::before {
  color: var(--custom-recruit-color);
}

.common-head--site-hygiene::before {
  background-color: var(--custom-hygiene-color);
}

.common-head--site-hygiene::after {
  border-bottom-color: var(--custom-hygiene-color);
}

#menu-site-hygiene > .menu-item::before,
#menu-site-hygiene .sub-menu > .menu-item::before {
  color: var(--custom-hygiene-color);
}

.common-head--site-eco::before {
  background-color: var(--custom-eco-color);
}

.common-head--site-eco::after {
  border-bottom-color: var(--custom-eco-color);
}

#menu-site-eco > .menu-item::before,
#menu-site-eco .sub-menu > .menu-item::before {
  color: var(--custom-eco-color);
}

.common-head--site-media::before {
  background-color: var(--color-gray);
}

.common-head--site-media::after {
  border-bottom-color: var(--color-gray);
}

#menu-site-media > .menu-item::before {
  color: var(--color-gray);
}

@media screen and (max-width: 768px) {
  .sitemap-wrap {
    grid-template-columns: 1fr;
    gap: 10vw;
    padding: 10vw 0;
  }

  .sitemap-text {
    margin-bottom: 1.5em;
  }

  .sitemap-section .sub-menu > .menu-item::before {
    bottom: 0.2em;
  }
}

/* ====================================================
  投稿
==================================================== */
.post-article {
  gap: 2em;
  margin-bottom: 2em;
}

.post-header {
  gap: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--custom-primary-color);
}

.post-header__date {
  font-size: 75%;
  color: var(--custom-primary-color);
  font-family: var(--font-montserrat);
  font-weight: 700;
}

.post-header__title {
  font-size: 175%;
}

.post-content > :not(:last-child) {
  margin-bottom: 0;
}

.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  margin-bottom: 1em !important;
  margin-top: 3em;
}

.post-content h2:first-of-type {
  margin-top: 0;
}

.post-content h2 {
  position: relative;
  z-index: 1;
  line-height: 1.5;
  font-size: 150%;
  letter-spacing: 0.1em;
}

.post-content h2::before {
  color: var(--custom-primary-color);
  font-family: var(--font-montserrat);
  font-size: 67%;
  padding-bottom: 1.45em;
}

.post-content h2 {
  font-size: 150%;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
  line-height: 1.5;
}

.post-content h2:before {
  height: 3rem;
  width: 8px;
}

.post-article + div {
  padding-bottom: 4rem;
}

.post-article + div .wp-block-button {
  padding-top: 1rem;
}

/* ====================================================
  コーポレートサイト トップページ
==================================================== */
.p-business .wp-container-core-columns-is-layout-9d6595d7 {
  padding-top: 4rem;
}

.p-business .wp-block-cover__inner-container {
  padding-top: 20rem;
}

.p-business .wp-block-cover {
  min-height: 58rem;
}

.p-business h3 a,
.p-business p {
  color: var(--color-white);
}

.p-business p {
  padding: 2em;
}

.wp-block-group:nth-of-type(2) .corp-flex .wp-container-core-columns-is-layout-9d6595d7 {
  flex-direction: row-reverse;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 .wp-block-column:nth-child(1) {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 h3,
.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 p {
  max-width: 54rem;
  width: 100%;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 h3 {
  padding: 0 2rem;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 p {
  padding: 2em 2rem 0;
}

.section--recruit h2[data-sub]::before {
  color: #7cffff;
}

.section--recruit h2[data-sub]::after {
  background-color: var(--color-white);
}

.section--recruit h2 {
  color: var(--color-white);
}

.cta__tel {
  padding-top: 8rem;
}

.cta__tel__title {
  padding-bottom: 1.2em;
  font-weight: 700;
  font-size: 100%;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.cta__tel__number {
  font-family: var(--font-montserrat);
  font-size: 275%;
  color: var(--custom-hygiene-color);
}

@media screen and (max-width: 992px) {
  .p-business .wp-container-core-columns-is-layout-9d6595d7 {
    padding-top: 4rem;
  }

  .p-business .wp-block-cover__inner-container {
    padding-top: 22rem;
  }

  .p-business p {
    padding: 1em;
  }
}

@media screen and (max-width: 768px) {
  .p-business .wp-container-core-columns-is-layout-9d6595d7 {
    padding-top: 4vw;
  }

  .p-business .wp-block-cover {
    min-height: auto;
  }

  .p-business .wp-block-cover__inner-container {
    padding-top: 50vw;
  }

  .wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 h3 {
    padding: 0 5vw;
  }

  .wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 p {
    padding: 5vw;
  }

  .wp-block-group:nth-of-type(2) .corp-flex .wp-container-core-columns-is-layout-9d6595d7,
  .wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 {
    flex-direction: column-reverse;
  }

  .cta-list__item {
    width: auto;
  }
}

/* ====================================================
  コーポレートサイト 会社情報
==================================================== */
.p-message .wp-block-cover {
  height: 35rem;
}

.p-message h2[data-sub]::before {
  color: var();
}

.p-message h3 {
  font-weight: 700;
  color: var(--custom-primary-color);
  font-size: 175%;
  padding-top: 2em;
}

.p-message figure {
  padding-top: 5rem;
}

.p-message strong {
  font-size: 150%;
}

.p-message .wp-block-cover + .wp-block-group {
  position: relative;
  top: -15rem;
}

.p-message h3 {
  padding-bottom: 1em;
  line-height: 1.7;
}

.p-message p + p {
  margin-top: 1em;
}

.p-message .has-text-align-right + .has-text-align-right {
  margin-top: 0;
}

.p-message + .p-philosophy {
  margin-top: 0;
  padding: 10rem 0;
}

.p-philosophy h2[data-sub]::before,
.p-message h2[data-sub]::before {
  color: var(--custom-secondary-color);
}

.p-philosophy .wp-block-column-is-layout-flow .wp-block-list li::before {
  background-color: var(--color-white);
}

.p-philosophy .wp-block-column-is-layout-flow {
  padding-bottom: 6rem;
}

.p-philosophy .wp-block-column-is-layout-flow p:nth-of-type(1) {
  color: #dff4ff;
  font-size: 275%;
}

.p-philosophy .wp-block-column-is-layout-flow .wp-block-heading {
  font-weight: 700;
  color: #dff4ff;
  border-left: 6px solid #dff4ff;
  padding-bottom: 0;
  margin-bottom: 0.8em;
  padding-left: 0.3em;
  margin-top: 6rem;
}

.p-philosophy .wp-block-list li {
  line-height: 1.9;
}

.wp-block-table + .common-head,
.wp-block-list + .common-head,
.wp-container-core-columns-is-layout-9d6595d7 + .common-head {
  padding-top: 8rem;
}

.wp-block-table tr {
  border-bottom: 1px solid var(--color-gray);
  padding: 1em 0;
  display: flex;
}

.wp-block-table th,
.wp-block-table td {
  border: none;
}

.wp-block-table th,
.wp-block-table tr > td:first-child {
  width: 17rem;
}

.p-technical + .wp-block-table th,
.p-technical + .wp-block-table td {
  width: 25% !important;
  padding: 0 1em;
}

.p-technical + .wp-block-table td a {
  display: flex;
  align-items: center;
}

.office-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2%;
}

.office-list__item {
  width: 32%;
  background-color: var(--color-white);
  padding: 0 2rem 2rem;
  border-radius: 10px;
}

.office__media {
  margin-top: 1em;
  width: 100%;
  height: 20rem;
}

.office__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.office__name {
  margin-top: 2rem;
}

.office__address p {
  font-style: normal;
}

@media screen and (max-width: 992px) {
  .office-list__item {
    width: 49%;
    background-color: var(--color-white);
  }
}

@media screen and (max-width: 768px) {
  .p-message h3 {
    text-align: left;
    font-size: 150%;
  }

  .wp-block-table td,
  .wp-block-table th {
    padding: 0.2em;
  }

  .wp-block-table th,
  .wp-block-table tr > td:first-child {
    width: auto;
  }

  .wp-block-table tr {
    flex-direction: column;
  }

  .p-technical + .wp-block-table tr {
    flex-direction: row;
  }

  .wp-block-table + .common-head,
  .wp-block-list + .common-head,
  .wp-container-core-columns-is-layout-9d6595d7 + .common-head {
    padding-top: 12vw;
  }

  .office-list__item {
    width: 100%;
    background-color: var(--color-white);
    padding: 0 4vw 4vw;
  }

  .office__media {
    height: 45vw;
  }
}

/* ====================================================
  コーポレートサイト 事業紹介
==================================================== */
.service-list {
  padding-bottom: 8rem;
}

.service-list__data-source {
  display: none;
}

.service-list {
  padding-top: 4rem;
}

.service-list__title {
  padding-top: 8.5rem;
}

.service-list__hygiene .service-list__link {
  border: 2px solid var(--custom-hygiene-color);
}
.service-list__hygiene .service-list__detail {
  background-color: var(--custom-hygiene-color);
}

.service-list__eco .service-list__link {
  border: 2px solid #00a73c;
}
.service-list__eco .service-list__detail {
  background-color: #00a73c;
}

.p-eco h2[data-sub]::before {
  color: #00a73c;
}

.p-eco .common-head:before {
  background-color: #00a73c;
}

.wp-container-core-columns-is-layout-9d6595d7 + .wp-container-core-columns-is-layout-9d6595d7 {
  padding-top: 6rem;
}

.wp-container-core-columns-is-layout-9d6595d7 .common-head {
  margin-top: 0;
}

.wp-block-group + .wp-block-group {
  padding-top: 6rem;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
  .service-list__title {
    padding-top: 13vw;
    font-size: 120%;
  }

  .service-list__link {
  }
}

/* ====================================================
  コーポレートサイト CSR活動
==================================================== */
.page-id-18 h2[data-sub] {
  padding-bottom: 4rem;
}

.page-id-18 .content {
  padding-bottom: 10rem;
}

.page-id-18 .wp-block-group:nth-of-type(1) {
  padding-top: 10rem;
}

.page-id-18 .wp-container-core-columns-is-layout-9d6595d7 + .wp-container-core-columns-is-layout-9d6595d7 {
  padding-top: 0;
}

@media screen and (max-width: 768px) {
  .page-id-18 h2[data-sub] {
    padding-bottom: 12vw;
  }

  .page-id-18 .content {
    padding-bottom: 15vw;
  }

  .page-id-18 .wp-block-group:nth-of-type(1) {
    padding-top: 15vw;
  }
}

/* ====================================================
  コーポレートサイト お問い合わせ
==================================================== */
.page-id-35 h2[data-sub]::after {
  margin: 1.5rem auto 0;
}

.page-id-35 .footer h2[data-sub]::after {
  margin-left: 0;
}

/* ====================================================
  コーポレートサイト プライバシーポリシー
==================================================== */
.page-id-3 .common-head {
  padding-top: 7rem !important;
}

.page-id-3 .wp-block-list li {
  list-style: inside;
  display: block;
  margin-left: 0.5em;
  text-indent: -1em;
  padding-left: 0.5em;
}

.page-id-3 .wp-block-list li::before {
  display: inline-block;
  margin-right: 0.5em;
}

.page-id-3 .breadcrumb-wrap + div,
.page-id-22 .breadcrumb-wrap + div {
  padding: 5rem 0;
}

@media screen and (max-width: 768px) {
  .page-id-3 .common-head {
    padding-top: 10vw !important;
  }

  .page-id-3 .breadcrumb-wrap + div,
  .page-id-22 .breadcrumb-wrap + div {
    padding: 10vw 0;
  }
}

.pagination {
  margin-top: 2rem;
}

.pagination__link {
  border: 1px solid var(--custom-corp-color);
  font-size: 1.8rem;
  text-align: center;
  min-width: 4rem;
  height: 4rem;
  line-height: 40px;
  font-weight: var(--font-montserrat);
}

.pagination__link:hover {
  background-color: var(--custom-corp-color);
  color: var(--color-white);
}

.pagination__link--current {
  background-color: var(--custom-corp-color);
  color: var(--color-white);
}

@media screen and (max-width: 768px) {
  .pagination__link {
    font-size: 4vw;
    min-width: 8vw;
    height: 8vw;
    line-height: 7vw;
  }
}

/* ====================================================
  お問い合わせ
==================================================== */
.p-tel {
  border: 1px solid var(--color-black);
  border-radius: 10px;
  max-width: 800px;
  margin: 2rem auto 0;
}

.p-tel > .wp-block-group__inner-container {
  padding: 4rem 2rem;
}

.p-tel .wp-block-group a {
  font-family: var(--font-montserrat);
  font-size: 330%;
  color: var(--custom-primary-color);
  font-weight: bold;
  border-bottom: 1px solid var(--color-black);
}

.p-tel .wp-block-group strong {
  color: var(--custom-primary-color);
}

@media screen and (max-width: 768px) {
  .p-tel > .wp-block-group__inner-container {
    padding: 2rem;
  }

  .p-tel .wp-block-group a {
    font-size: 300%;
  }
}
