@charset "UTF-8";
/*
============================================================
# Project
============================================================
*/
/* テキスト
--------------------------------------------- */
/* 主なH2デザイン ラッコと点と下線 */
.p-title-main,
.p-title-main.wp-block-group {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 3em;
  align-items: center;
  justify-content: flex-start;
  padding: 0.7em 1em 0.7em 7em;
}

.p-title-main::before,
.p-title-main.wp-block-group::before {
  position: absolute;
  top: 50%;
  left: 5.5em;
  display: block;
  width: 0.6em;
  height: 0.6em;
  content: "";
  background-color: currentcolor;
  border-radius: 0.2em;
  transform: translateY(-50%);
}

.p-title-main::after,
.p-title-main.wp-block-group::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 4px;
  content: "";
  background-color: currentcolor;
}

.p-title-main svg,
.p-title-main img,
.p-title-main.wp-block-group svg,
.p-title-main.wp-block-group img {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 3em;
  height: auto;
  content: "";
  transform: translateY(-50%);
}

.p-title-main.--short,
.p-title-main.wp-block-group.--short {
  display: inline-flex;
}

.p-title-main.--blue::before,
.p-title-main.wp-block-group.--blue::before {
  background-color: #0052C1;
}

.p-title-main.--blue::after,
.p-title-main.wp-block-group.--blue::after {
  background-color: #0052C1;
}

.p-title-main.--green::before,
.p-title-main.wp-block-group.--green::before {
  background-color: #089D6F;
}

.p-title-main.--green::after,
.p-title-main.wp-block-group.--green::after {
  background-color: #089D6F;
}

/* 主なH3デザイン 点と下線 */
.p-title-h3,
.p-title-h3.wp-block-heading {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 3em;
  align-items: center;
  justify-content: flex-start;
  padding: 0.5em 0.3em 0.5em 1em;
}

.p-title-h3::before,
.p-title-h3.wp-block-heading::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 0.6em;
  height: 0.6em;
  content: "";
  background-color: currentcolor;
  border-radius: 0.2em;
  opacity: 0.6;
  transform: translateY(-50%);
}

.p-title-h3::after,
.p-title-h3.wp-block-heading::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background-color: currentcolor;
  opacity: 0.3;
}

.p-title-h3.--wide,
.p-title-h3.wp-block-heading.--wide {
  width: 100%;
}

.p-title-h3.--blue::before,
.p-title-h3.wp-block-heading.--blue::before {
  background-color: #0052C1;
}

.p-title-h3.--blue::after,
.p-title-h3.wp-block-heading.--blue::after {
  background-color: #0052C1;
}

.p-title-h3.--green::before,
.p-title-h3.wp-block-heading.--green::before {
  background-color: #089D6F;
}

.p-title-h3.--green::after,
.p-title-h3.wp-block-heading.--green::after {
  background-color: #089D6F;
}

/* FRONT用見出し 大テキストと小テキスト */
.p-title-frontSec,
.p-title-frontSec.wp-block-group {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.2em;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #003987;
  text-indent: 0.4em;
  letter-spacing: 0.4em;
}

.p-title-frontSec .title,
.p-title-frontSec h1,
.p-title-frontSec h2,
.p-title-frontSec h3,
.p-title-frontSec h4,
.p-title-frontSec h5,
.p-title-frontSec h6,
.p-title-frontSec.wp-block-group .title,
.p-title-frontSec.wp-block-group h1,
.p-title-frontSec.wp-block-group h2,
.p-title-frontSec.wp-block-group h3,
.p-title-frontSec.wp-block-group h4,
.p-title-frontSec.wp-block-group h5,
.p-title-frontSec.wp-block-group h6 {
  font-size: 3em;
  text-align: center;
}

/* LPガステーブル */
.lpgus_table table tbody tr td {
  text-align: right;
}
.lpgus_table table tbody tr .lpgus_th {
  background-color:#b4e1d3;
  text-align: center;
}

.p-title-frontSec p:not(.title),
.p-title-frontSec.wp-block-group p:not(.title) {
  font-size: 1em;
  line-height: 1.4;
  opacity: 0.9;
}

.p-title-frontSec.--vivid,
.p-title-frontSec.wp-block-group.--vivid {
  /* color: #006eff; */
  color: #08479d;
}

.p-title-frontSec.--news,
.p-title-frontSec.wp-block-group.--news {
  position: relative;
  align-items: flex-start;
  padding-right: 3em;
  padding-bottom: 0.6em;
  color: #003987;
  border-right: 2px solid currentcolor;
}

.p-title-frontSec.--news > figure.wp-block-image,
.p-title-frontSec.wp-block-group.--news > figure.wp-block-image {
  position: absolute;
  bottom: 0;
  left: 6.5em;
}

.p-title-frontSec.--news > figure.wp-block-image img,
.p-title-frontSec.wp-block-group.--news > figure.wp-block-image img {
  width: 4em;
}

/* 問い合わせ用 赤線・両サイドに画像 */
.p-title-underLine,
.p-title-underLine.wp-block-group {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
  padding-bottom: 2em;
}

.p-title-underLine::before,
.p-title-underLine.wp-block-group::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 4em;
  height: 0.5em;
  content: "";
  background-color: #E60012;
  transform: translateX(-50%);
}

.p-title-underLine h1,
.p-title-underLine h2,
.p-title-underLine h3,
.p-title-underLine h4,
.p-title-underLine h5,
.p-title-underLine h6,
.p-title-underLine.wp-block-group h1,
.p-title-underLine.wp-block-group h2,
.p-title-underLine.wp-block-group h3,
.p-title-underLine.wp-block-group h4,
.p-title-underLine.wp-block-group h5,
.p-title-underLine.wp-block-group h6 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
  font-size: 2em;
}

.p-title-underLine svg,
.p-title-underLine img,
.p-title-underLine.wp-block-group svg,
.p-title-underLine.wp-block-group img {
  display: inline-block;
  width: 1.7em;
  height: auto;
}

.p-title-underLine .read,
.p-title-underLine.wp-block-group .read {
  font-weight: 700;
}

/* ページにコンテンツがない時に表示されるテキスト */
.p-text-non-contents {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}

.ek-link {
  display: inline;
  padding: 0;
  font-size: 1em;
  font-weight: 700;
  color: #00479d;
  background-color: initial;
  border-radius: 0;
}

.product_link {
  word-break: break-all;
}

/* 画像
--------------------------------------------- */
/* バナー */
.p-bannar-front {
  width: 100%;
  max-width: 1000px;
}

.p-bannar-front img {
  width: 100%;
  object-fit: contain;
}

/*  */
/* その他コンポーネント
--------------------------------------------- */
/* お問い合わせページ用 電話番号 */
.p-contact-tellBox,
.p-contact-tellBox.wp-block-group {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: flex-start;
  justify-content: center;
  padding: 3em 1em;
  font-weight: 700;
  color: #E60012;
  background-color: rgb(255, 232, 232);
  border-radius: 2em;
}

.p-contact-tellBox .title,
.p-contact-tellBox.wp-block-group .title {
  font-size: clamp(1.25rem, 1.0625rem + 0.75vw, 2rem);
  line-height: 1.4;
  text-align: center;
}

.p-contact-tellBox .tell,
.p-contact-tellBox.wp-block-group .tell {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.25em;
  align-items: center;
  justify-content: center;
  font-size: clamp(2rem, 1.25rem + 3vw, 5rem);
  line-height: 1.4;
}

.p-contact-tellBox .tell svg,
.p-contact-tellBox .tell img,
.p-contact-tellBox.wp-block-group .tell svg,
.p-contact-tellBox.wp-block-group .tell img {
  width: 1em;
}

.p-contact-tellBox .point,
.p-contact-tellBox.wp-block-group .point {
  padding: 0.25em 1.5em;
  font-size: clamp(1.125rem, 0.90625rem + 0.875vw, 2rem);
  line-height: 1.4;
  color: #fff;
  background-color: #E60012;
  border-radius: 2em;
}

.p-contact-tellBox-2 .point {
  display: table;
  padding: 0.25em 1.5em;
  font-size: clamp(1.125rem, 0.90625rem + 0.875vw, 2rem);
  line-height: 1.4;
  color: #fff;
  background-color: #E60012;
  border-radius: 2em;
  margin: 0 auto;
}

/* 両サイドに画像が入るボックス */
.p-box-side-image,
div.p-box-side-image.wp-block-group,
section.p-box-side-image.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
  padding: 2em;
  border: 2px solid rgba(39, 45, 77, 0.7);
}

.p-box-side-image > .wp-block-group,
div.p-box-side-image.wp-block-group > .wp-block-group,
section.p-box-side-image.wp-block-group > .wp-block-group {
  display: flex;
  flex-basis: 100%;
  flex-direction: column;
  flex-grow: 1;
  flex-shrink: 1;
  flex-wrap: nowrap;
  gap: 1.5em;
  align-items: center;
  justify-content: center;
}

.p-box-side-image > figure.wp-block-image,
div.p-box-side-image.wp-block-group > figure.wp-block-image,
section.p-box-side-image.wp-block-group > figure.wp-block-image {
  flex-basis: 8em;
  flex-grow: 0;
  flex-shrink: 1;
  order: 10;
}

.p-box-side-image > figure.wp-block-image img,
div.p-box-side-image.wp-block-group > figure.wp-block-image img,
section.p-box-side-image.wp-block-group > figure.wp-block-image img {
  width: 100%;
}

.p-box-side-image h1,
.p-box-side-image h2,
.p-box-side-image h3,
.p-box-side-image h4,
.p-box-side-image h5,
.p-box-side-image h6,
div.p-box-side-image.wp-block-group h1,
div.p-box-side-image.wp-block-group h2,
div.p-box-side-image.wp-block-group h3,
div.p-box-side-image.wp-block-group h4,
div.p-box-side-image.wp-block-group h5,
div.p-box-side-image.wp-block-group h6,
section.p-box-side-image.wp-block-group h1,
section.p-box-side-image.wp-block-group h2,
section.p-box-side-image.wp-block-group h3,
section.p-box-side-image.wp-block-group h4,
section.p-box-side-image.wp-block-group h5,
section.p-box-side-image.wp-block-group h6 {
  padding: 0.4em 1em;
  color: #fff;
  background-color: rgba(39, 45, 77, 0.9);
  border-radius: 2em;
}

/* ポップアップで表示される */
.js-popup {
  cursor: pointer;
  position: relative;
}
.popup-box, .introduction-box {
  opacity: 0%;
  width: 90%;
  max-width: 600px;
  background-color: #fff;
  border: 3px solid #00479d;
  border-radius: 5px;
  padding: 20px;
  position: absolute;
  top: 10px;
  left: 10px;
  transition:all 0.8s;
  z-index: 300;
  h2 {
    font-weight: bold;
    border-bottom: 3px dashed #00479d;
    padding: 0 0 10px;
    margin: 0 0 20px;
    span {
      font-size: 120%;
    }
  }
}
.open {
  opacity: 100%;
}
.introduction-box {
  opacity: 100%;
  width: 100%;
  max-width: initial;
  position: relative;
  top: initial;
  left: initial;
  z-index: 1;
}

.freedial_icon {
  &::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 8px;
    background: url( http://actbureau.site/osaki/test-01/wp-content/uploads/2024/05/freedial_ico.svg ) no-repeat bottom center;
    background-size: contain;
    vertical-align: text-bottom;
  }
}

@media screen and (min-width: 43.75em) {
  .p-box-side-image,
  div.p-box-side-image.wp-block-group,
  section.p-box-side-image.wp-block-group {
    flex-wrap: nowrap;
  }
  .p-box-side-image > .wp-block-group,
  div.p-box-side-image.wp-block-group > .wp-block-group,
  section.p-box-side-image.wp-block-group > .wp-block-group {
    flex-basis: auto;
  }
  .p-box-side-image > figure.wp-block-image,
  div.p-box-side-image.wp-block-group > figure.wp-block-image,
  section.p-box-side-image.wp-block-group > figure.wp-block-image {
    flex-shrink: 0;
    order: unset;
  }
  .popup-box {
    max-width: 800px;
    top: 10%;
    left: 16%;
  }
}
/* 事例のリンク？サーチ？ボックス */
.p-example-link {
  position: relative;
  z-index: 1;
  padding: 3em;
}

.p-example-link::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  border: 2px solid rgba(0, 62, 137, 0.5);
  border-radius: 2em;
}

/* 事例ボックス 背景イメージ上ver と 背景イメージ左ver */
.p-exampleBox,
div.p-exampleBox.wp-block-group,
section.p-exampleBox.wp-block-group {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0;
  align-items: stretch;
  justify-content: center;
  filter: drop-shadow(0 10px 20px rgba(61, 99, 153, 0.2));
  border-radius: 2em;
}

.p-exampleBox::before,
div.p-exampleBox.wp-block-group::before,
section.p-exampleBox.wp-block-group::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  border-radius: 2em;
}

.p-exampleBox > .wp-block-group,
div.p-exampleBox.wp-block-group > .wp-block-group,
section.p-exampleBox.wp-block-group > .wp-block-group {
  flex-basis: 70%;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 2em 1em;
  border-radius: 0 0 2em 2em;
}

@media screen and (min-width: 75em) {
  .p-exampleBox > .wp-block-group,
  div.p-exampleBox.wp-block-group > .wp-block-group,
  section.p-exampleBox.wp-block-group > .wp-block-group {
    padding: 3em;
  }
}

.p-exampleBox > .wp-block-image,
div.p-exampleBox.wp-block-group > .wp-block-image,
section.p-exampleBox.wp-block-group > .wp-block-image {
  flex-basis: 100%;
  flex-grow: 0;
  flex-shrink: 1;
  order: -1;
  overflow: hidden;
  border-radius: 2em 2em 0 0;
}

.p-exampleBox > .wp-block-image img,
div.p-exampleBox.wp-block-group > .wp-block-image img,
section.p-exampleBox.wp-block-group > .wp-block-image img {
  width: 100%;
  height: 100%;
  /* max-height: 16em; */
  max-height: 8em;
  object-fit: cover;
}

@media screen and (min-width: 75em) {
  .p-exampleBox.--row,
  div.p-exampleBox.wp-block-group.--row,
  section.p-exampleBox.wp-block-group.--row {
    flex-wrap: nowrap;
  }
  .p-exampleBox.--row > .wp-block-group,
  div.p-exampleBox.wp-block-group.--row > .wp-block-group,
  section.p-exampleBox.wp-block-group.--row > .wp-block-group {
    border-radius: 0;
    border-top-right-radius: 2em;
    border-bottom-right-radius: 2em;
  }
  .p-exampleBox.--row > .wp-block-image,
  div.p-exampleBox.wp-block-group.--row > .wp-block-image,
  section.p-exampleBox.wp-block-group.--row > .wp-block-image {
    flex-basis: 30%;
    overflow: hidden;
    border-radius: 0;
    border-top-left-radius: 2em;
    border-bottom-left-radius: 2em;
  }
  .p-exampleBox.--row > .wp-block-image img,
  div.p-exampleBox.wp-block-group.--row > .wp-block-image img,
  section.p-exampleBox.wp-block-group.--row > .wp-block-image img {
    max-height: none;
  }
}
/* 企業理念 */
.p-box-corporate-philosophy,
div.p-box-corporate-philosophy.wp-block-group {
  gap: 1.8em;
  padding: 2em;
  background-color: #f0f0f0;
}

.p-box-corporate-philosophy h3,
.p-box-corporate-philosophy-text {
  font-size: 20px !important;
  font-weight: bold;
  display: table;
  margin: 0 auto !important;
}


.p-box-corporate-philosophy .title,
div.p-box-corporate-philosophy.wp-block-group .title {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  padding: 0 1.3em;
  margin-right: auto;
  margin-left: auto;
  font-size: 1.6em;
}

.p-box-corporate-philosophy .title::before, .p-box-corporate-philosophy .title::after,
div.p-box-corporate-philosophy.wp-block-group .title::before,
div.p-box-corporate-philosophy.wp-block-group .title::after {
  position: absolute;
  display: block;
  width: 0.5em;
  height: 0.125rem;
  content: "";
  background-color: currentcolor;
  transform: translateY(-50%);
}

.p-box-corporate-philosophy .title::before,
div.p-box-corporate-philosophy.wp-block-group .title::before {
  left: 0;
}

.p-box-corporate-philosophy .title::after,
div.p-box-corporate-philosophy.wp-block-group .title::after {
  right: 0;
}

/* だいちゃんの紹介 */
.p-box-daichan,
div.p-box-daichan.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.8em;
  align-items: center;
  justify-content: center;
  padding: 2em;
  background-color: #ddeef1;
  border-radius: 1em;
}

.p-box-daichan .media,
div.p-box-daichan.wp-block-group .media {
  flex: 0 1 200px;
}

.p-box-daichan .media img,
div.p-box-daichan.wp-block-group .media img {
  width: 100%;
}

.p-box-daichan .infoBox,
div.p-box-daichan.wp-block-group .infoBox {
  flex: 1 1 50%;
}

.p-box-daichan .read,
div.p-box-daichan.wp-block-group .read {
  font-weight: 700;
  color: #003987;
}

.p-box-daichan .title,
div.p-box-daichan.wp-block-group .title {
  font-size: 1.6em;
  font-weight: 700;
  color: #003987;
}

/* p-bg 背景
--------------------------------------------- */
/* 水色パターン背景 ラッコ付き */
:root {
  --wave-height: 1em;
  --sea-otter-height: 4em;
}

@media screen and (min-width: 75em) {
  :root {
    --wave-height: 2em;
    --sea-otter-height: 6em;
  }

  .p-box-corporate-philosophy h3,
  .p-box-corporate-philosophy-text {
    font-size: 40px !important;
  }
}

.p-bg-full.--frontSea,
.p-bg-full.wp-block-group.--frontSea {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 3.75rem + 5vw, 10rem) 0 clamp(6.25rem, 5.78125rem + 1.875vw, 8.125rem);
}

.p-bg-full.--frontSea::before,
.p-bg-full.wp-block-group.--frontSea::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  padding-top: calc(var(--sea-otter-height) / 2.5 + var(--wave-height));
  content: "";
  background-image: linear-gradient(to bottom, rgb(127, 209, 255), rgba(127, 209, 255, 0.75), rgba(127, 209, 255, 0)), url("../../../../uploads/2024/04/bg-pattern-01.svg"), url("../../../../uploads/2024/03/border-cloud-color.svg"), url("../../../../uploads/2024/03/border-cloud-white.svg"), linear-gradient(to bottom, rgb(127, 209, 255), rgb(127, 209, 255));
  background-repeat: no-repeat, repeat, repeat-x, repeat-x, no-repeat;
  background-position: top center, top center, top calc(var(--sea-otter-height) / 2.5) center, bottom center, top center;
  background-clip: content-box, content-box, border-box, border-box, content-box;
  background-size: auto 14em, auto, auto var(--wave-height), auto var(--wave-height), auto;
}

.p-bg-full.--frontSea::after,
.p-bg-full.wp-block-group.--frontSea::after {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -2;
  display: block;
  width: auto;
  height: var(--sea-otter-height);
  aspect-ratio: 1.6/1;
  content: "";
  background-image: url("../../../../uploads/2024/04/illust-sea-otter.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  transform: translateX(-50%);
}

.p-bg-full.--frontSea.--left::after,
.p-bg-full.wp-block-group.--frontSea.--left::after {
  transform: translateX(-180%);
}

@media screen and (min-width: 43.75em) {
  .p-bg-full.--frontSea.--left::after,
  .p-bg-full.wp-block-group.--frontSea.--left::after {
    transform: translateX(-350%);
  }
}
.p-bg-full.--frontSea.--right::after,
.p-bg-full.wp-block-group.--frontSea.--right::after {
  transform: translateX(80%) scaleX(-1);
}

@media screen and (min-width: 43.75em) {
  .p-bg-full.--frontSea.--right::after,
  .p-bg-full.wp-block-group.--frontSea.--right::after {
    transform: translateX(250%) scaleX(-1);
  }
}
/* p-breadcrumb
--------------------------------------------- */
.p-breadcrumb {
  position: relative;
  padding: 0.25em 0;
  margin: 0 auto;
  font-size: 0.8em;
  font-weight: 700;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
}

.p-breadcrumb ul {
  display: flex;
  flex-flow: wrap row;
  gap: 0 1em;
  align-items: center;
  justify-content: flex-start;
}

.p-breadcrumb li {
  position: relative;
}

.p-breadcrumb li + li::after {
  position: absolute;
  top: 50%;
  left: -0.9em;
  z-index: -1;
  display: block;
  width: 0.5em;
  height: 0.5em;
  content: "";
  border-top: 0.125rem solid currentColor;
  border-right: 0.125rem solid currentColor;
  opacity: 0.5;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
}

.p-breadcrumb li > span,
.p-breadcrumb li > a {
  display: block;
  padding: 0.25em 0.5em;
}

.p-breadcrumb li > span {
  opacity: 0.4;
}

.p-breadcrumb li > a {
  opacity: 0.7;
}

.p-breadcrumb li > a:hover {
  text-decoration: underline;
}

/* p-btn ボタン
--------------------------------------------- */
/* ボタン */
.p-btn,
.p-btn.wp-block-button {
  position: relative;
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 1;
  min-width: auto;
}

.p-btn > a,
.p-btn.wp-block-button > a {
  position: relative;
  z-index: 1;
  display: flex;
  flex-flow: nowrap row;
  gap: 0.2em;
  align-items: center;
  justify-content: center;
  padding: 0.6em 1.5em 0.6em 2em;
  font-size: 1em;
  font-weight: 700;
  color: #fff;
  text-align: left;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
  filter: drop-shadow(0 5px 5px rgba(61, 99, 153, 0.3));
  border-radius: 2em;
  transition: 200ms;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.p-btn > a::before,
.p-btn.wp-block-button > a::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  content: "";
  background-color: #002944;
  border-radius: 2em;
}

.p-btn > a::after,
.p-btn.wp-block-button > a::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  content: "";
  background-color: #006eff;
  border-radius: 2em;
  transition: 200ms;
  transition-timing-function: ease;
}

.p-btn > a img,
.p-btn > a svg,
.p-btn.wp-block-button > a img,
.p-btn.wp-block-button > a svg {
  flex-shrink: 0;
  width: 1.2em;
  height: 1.2em;
  margin: 0;
  margin-left: auto;
}

.p-btn > a svg,
.p-btn.wp-block-button > a svg {
  fill: #fff;
}

.p-btn > a:hover,
.p-btn.wp-block-button > a:hover {
  opacity: 1;
  transform: translate(0.4em, -0.4em);
}

.p-btn > a:hover::after,
.p-btn.wp-block-button > a:hover::after {
  transform: translate(-0.4em, 0.4em);
}

.p-btn > a:active,
.p-btn.wp-block-button > a:active {
  outline: none;
}

.p-btn.--wide,
.p-btn.wp-block-button.--wide {
  flex-basis: 40%;
  flex-grow: 1;
  min-width: 20em;
}

.p-btn.--small,
.p-btn.wp-block-button.--small {
  flex-basis: auto;
}

.p-btn.--small > a,
.p-btn.wp-block-button.--small > a {
  padding: 0.3em 1em 0.3em 1.3em;
  font-size: 0.9em;
}

.p-btn.--same,
.p-btn.wp-block-button.--same {
  flex-basis: 100%;
  padding: 0.5em;
}

@media screen and (min-width: 43.75em) {
  .p-btn.--same,
  .p-btn.wp-block-button.--same {
    flex-basis: 50%;
  }
}
@media screen and (min-width: 75em) {
  .p-btn.--same,
  .p-btn.wp-block-button.--same {
    flex-basis: 33.3333333333%;
  }
}
.p-btn.--white > a,
.p-btn.wp-block-button.--white > a {
  color: currentcolor;
  border: 1px solid currentcolor;
}

.p-btn.--white > a svg,
.p-btn.wp-block-button.--white > a svg {
  fill: #0989FF;
}

.p-btn.--white > a::before,
.p-btn.wp-block-button.--white > a::before {
  background-color: #fff;
}

.p-btn.--blue > a,
.p-btn.wp-block-button.--blue > a {
  background-color: #0052C1;
}

.p-btn.--green > a,
.p-btn.wp-block-button.--green > a {
  background-color: #129D6F;
}

/* 画面端固定 問い合わせボタン */
.p-btn-cta {
  position: relative;
  font-size: 0.8em;
  filter: drop-shadow(0 5px 10px rgba(9, 136, 255, 0.4));
}

.p-btn-cta::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #006eff;
  z-index: -1;
  border-radius: 1.5em 0 0 1.5em;
}

.p-btn-cta__link {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
  padding: 1em 0.8em;
  border-radius: 1.5em 0 0 1.5em;
  background-color: #f60015;
  transition: 200ms;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.p-btn-cta__icon {
  top: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6/1;
}

.p-btn-cta__icon svg,
.p-btn-cta__icon img {
  width: auto;
  height: 3.2em;
  aspect-ratio: 1/1;
}

.p-btn-cta__info {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}

.p-btn-cta__main {
  font-size: 1.7em;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}

.p-btn-cta__sub {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}

.p-btn-cta a:hover {
  opacity: 1;
}

.p-btn-cta__link:hover {
  transform: translateY(-1.5em);
}

/* 問い合わせボタンのSP用ブロック */
.p-btn-cta-block,
div.p-btn-cta-block.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.5em 1em;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1em;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  background-color: #ccc;
  filter: drop-shadow(0 5px 10px rgba(9, 136, 255, 0.4));
  border-radius: 1em;
  transition: 200ms;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  position: relative;
}

.p-btn-cta-block .wp-block-group,
div.p-btn-cta-block.wp-block-group .wp-block-group {
  gap: 0;
}

.p-btn-cta-block .img img,
div.p-btn-cta-block.wp-block-group .img img {
  width: 3em;
}

.p-btn-cta-block .icon img,
div.p-btn-cta-block.wp-block-group .icon img {
  width: 1em;
}

.p-btn-cta-block .sub,
div.p-btn-cta-block.wp-block-group .sub {
  font-size: 0.9em;
}

.p-btn-cta-block .main,
div.p-btn-cta-block.wp-block-group .main {
  font-size: 1.4em;
}

.p-btn-cta-block:has(a:hover),
div.p-btn-cta-block.wp-block-group:has(a:hover) {
  transform: translate(0.4em, -0.4em);
}

/*  */
.p-btn-to-top {
  position: relative;
  overflow: hidden;
  font-size: 0.8em;
  background-color: #f60015;
  filter: drop-shadow(0 5px 10px rgba(9, 136, 255, 0.4));
  border-radius: 1.5em 0 0 1.5em;
}

.p-btn-to-top__link {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
  padding: 1em 0.8em;
}

.p-btn-to-top__icon {
  top: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6/1;
}

.p-btn-to-top__icon svg,
.p-btn-to-top__icon img {
  width: auto;
  height: 3.2em;
  aspect-ratio: 1/1;
}

.p-btn-to-top__info {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}

.p-btn-to-top__main {
  font-size: 1.7em;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}

.p-btn-to-top__sub {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}

/* カード
--------------------------------------------- */
/* シンプル 背景なし */
.p-card-simple,
.p-card-simple.wp-block-group {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
  align-items: flex-start;
  justify-content: center;
  filter: drop-shadow(0 10px 20px rgba(61, 99, 153, 0.2));
}

.p-card-simple .mediaBox,
.p-card-simple.wp-block-group .mediaBox {
  position: relative;
  width: 100%;
  transition: 200ms;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.p-card-simple .mediaBox figure,
.p-card-simple.wp-block-group .mediaBox figure {
  width: 100%;
}

.p-card-simple .mediaBox img,
.p-card-simple.wp-block-group .mediaBox img {
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: 1em;
  object-fit: cover;
}

.p-card-simple .mediaBox::after,
.p-card-simple.wp-block-group .mediaBox::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #006eff;
  background-clip: content-box;
  border-radius: 1em;
  transition: 200ms;
}

.p-card-simple .infoBox,
.p-card-simple.wp-block-group .infoBox {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.5em;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  overflow: hidden;
}

.p-card-simple .infoBox > *,
.p-card-simple.wp-block-group .infoBox > * {
  margin: 0;
}

.p-card-simple h1,
.p-card-simple h2,
.p-card-simple h3,
.p-card-simple h4,
.p-card-simple h5,
.p-card-simple h6,
.p-card-simple.wp-block-group h1,
.p-card-simple.wp-block-group h2,
.p-card-simple.wp-block-group h3,
.p-card-simple.wp-block-group h4,
.p-card-simple.wp-block-group h5,
.p-card-simple.wp-block-group h6 {
  font-size: 1.6em;
  color: #003987;
}

.p-card-simple p,
.p-card-simple.wp-block-group p {
  width: 100%;
  text-align: center;
}

.p-card-simple:has(a:hover) .mediaBox,
.p-card-simple.wp-block-group:has(a:hover) .mediaBox {
  transform: translate(0.8em, -0.8em);
}

.p-card-simple:has(a:hover) .mediaBox::after,
.p-card-simple.wp-block-group:has(a:hover) .mediaBox::after {
  transform: translate(-0.8em, 0.8em);
}

/*  フロント サービス カード 背景色あり */
.p-card-frontSurvis,
.p-card-frontSurvis.wp-block-group {
  position: relative;
  display: flex;
  flex-basis: 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  justify-content: stretch;
  padding-top: 2.75em;
  filter: drop-shadow(0 10px 20px rgba(61, 99, 153, 0.2));
  transition: 200ms;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.p-card-frontSurvis::before,
.p-card-frontSurvis.wp-block-group::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: calc(100% - 2.75em);
  content: "";
  background-color: #fff;
  background-clip: content-box;
  border-radius: 1em;
}

.p-card-frontSurvis::after,
.p-card-frontSurvis.wp-block-group::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: calc(100% - 2.75em);
  content: "";
  background-color: #006eff;
  background-clip: content-box;
  border-radius: 1em;
  transition: 200ms;
}

.p-card-frontSurvis > figure.icon,
.p-card-frontSurvis.wp-block-group > figure.icon {
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.5em;
  height: 5.5em;
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: #fff;
  filter: drop-shadow(0 10px 20px rgba(61, 99, 153, 0.2));
  border-radius: 50%;
}

.p-card-frontSurvis > figure.icon img,
.p-card-frontSurvis.wp-block-group > figure.icon img {
  width: 4em;
  height: 4em;
}

.p-card-frontSurvis .mediaBox,
.p-card-frontSurvis.wp-block-group .mediaBox {
  width: 100%;
  overflow: hidden;
  border-top-left-radius: 1em;
  border-top-right-radius: 1em;
}

.p-card-frontSurvis .mediaBox figure,
.p-card-frontSurvis.wp-block-group .mediaBox figure {
  width: 100%;
}

.p-card-frontSurvis .mediaBox img,
.p-card-frontSurvis.wp-block-group .mediaBox img {
  width: 100%;
  height: 10em;
  object-fit: cover;
}

.p-card-frontSurvis .infoBox,
.p-card-frontSurvis.wp-block-group .infoBox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  padding: 1em 0.5em;
  overflow: hidden;
}

.p-card-frontSurvis .infoBox > *,
.p-card-frontSurvis.wp-block-group .infoBox > * {
  margin: 0;
}

.p-card-frontSurvis h1,
.p-card-frontSurvis h2,
.p-card-frontSurvis h3,
.p-card-frontSurvis h4,
.p-card-frontSurvis h5,
.p-card-frontSurvis h6,
.p-card-frontSurvis.wp-block-group h1,
.p-card-frontSurvis.wp-block-group h2,
.p-card-frontSurvis.wp-block-group h3,
.p-card-frontSurvis.wp-block-group h4,
.p-card-frontSurvis.wp-block-group h5,
.p-card-frontSurvis.wp-block-group h6 {
  font-size: 1.6em;
  color: #003987;
}

.p-card-frontSurvis p,
.p-card-frontSurvis.wp-block-group p {
  width: 100%;
  text-align: center;
}

.p-card-frontSurvis.--nonIcon,
.p-card-frontSurvis.wp-block-group.--nonIcon {
  padding-top: 0;
}

.p-card-frontSurvis.--nonIcon .mediaBox img,
.p-card-frontSurvis.wp-block-group.--nonIcon .mediaBox img {
  height: auto;
  aspect-ratio: 3/2;
}

.p-card-frontSurvis.--nonIcon::before,
.p-card-frontSurvis.wp-block-group.--nonIcon::before {
  height: 100%;
}

.p-card-frontSurvis.--nonIcon::after,
.p-card-frontSurvis.wp-block-group.--nonIcon::after {
  height: 100%;
}

.p-card-frontSurvis:has(a:hover),
.p-card-frontSurvis.wp-block-group:has(a:hover) {
  transform: translate(0.8em, -0.8em);
}

.p-card-frontSurvis:has(a:hover)::after,
.p-card-frontSurvis.wp-block-group:has(a:hover)::after {
  transform: translate(-0.8em, 0.8em);
}

/* お問い合わせ先 */
.p-card-contactRegion,
.p-card-contactRegion.wp-block-group {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.5em;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 1em 0 1em 2em;
  line-height: 1.4;
  border-left: 2px solid currentcolor;
}

.p-card-contactRegion .tell,
.p-card-contactRegion.wp-block-group .tell {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.25em;
  align-items: center;
  justify-content: center;
  font-size: 1.4em;
  font-weight: 700;
  letter-spacing: 0;
}

.p-card-contactRegion .tell svg,
.p-card-contactRegion .tell img,
.p-card-contactRegion.wp-block-group .tell svg,
.p-card-contactRegion.wp-block-group .tell img {
  display: inline-block;
  width: 2em;
  height: auto;
}

.p-card-contactRegion h1,
.p-card-contactRegion h2,
.p-card-contactRegion h3,
.p-card-contactRegion h4,
.p-card-contactRegion h5,
.p-card-contactRegion h6,
.p-card-contactRegion.wp-block-group h1,
.p-card-contactRegion.wp-block-group h2,
.p-card-contactRegion.wp-block-group h3,
.p-card-contactRegion.wp-block-group h4,
.p-card-contactRegion.wp-block-group h5,
.p-card-contactRegion.wp-block-group h6 {
  font-size: 1.8em;
  font-weight: 700;
}

/* 製品カード */
.p-card-product-01,
div.p-card-product-01.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5em 2em;
  align-items: flex-start;
  justify-content: flex-start;
}

.p-card-product-01 > figure.wp-block-image,
div.p-card-product-01.wp-block-group > figure.wp-block-image {
  flex-basis: 320px;
  flex-grow: 0;
  flex-shrink: 1;
  max-width: 100%;
}

.p-card-product-01 > figure.wp-block-image img,
div.p-card-product-01.wp-block-group > figure.wp-block-image img {
  width: 100%;
}

.p-card-product-01 > .wp-block-group,
div.p-card-product-01.wp-block-group > .wp-block-group {
  flex-basis: 50%;
  flex-grow: 1;
  flex-shrink: 1;
}

.p-card-product-01 .mediaBox,
div.p-card-product-01.wp-block-group .mediaBox {
  display: flex;
  flex-basis: 320px;
  flex-direction: row;
  flex-grow: 0;
  flex-shrink: 1;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: stretch;
  justify-content: flex-start;
}

.p-card-product-01 .mediaBox2,
div.p-card-product-01.wp-block-group .mediaBox2 {
  display: flex;
  flex-basis: 500px;
  flex-direction: row;
  flex-grow: 0;
  flex-shrink: 1;
  flex-wrap: nowrap;
  gap: 0.5em;
  align-items: stretch;
  justify-content: center;
  margin: 0 auto;
}

.p-card-product-01 .mediaBox figure.wp-block-image,
div.p-card-product-01.wp-block-group .mediaBox figure.wp-block-image,
.p-card-product-01 .mediaBox2 figure.wp-block-image,
div.p-card-product-01.wp-block-group .mediaBox2 figure.wp-block-image {
  flex-basis: 100%;
  flex-grow: 0;
  flex-shrink: 1;
  max-width: 100%;
}

.p-card-product-01 .mediaBox figure.wp-block-image img,
div.p-card-product-01.wp-block-group .mediaBox figure.wp-block-image img,
.p-card-product-01 .mediaBox2 figure.wp-block-image img,
div.p-card-product-01.wp-block-group .mediaBox2 figure.wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* アーカイブのニュースのカード */
.p-card-news-archive {
  display: flex;
  flex-flow: wrap row;
  gap: 0.8em;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 2em 0;
}

.p-card-news-archive + .p-card-news-archive {
  border-top: 1px solid #c5c5c5;
}

.p-card-news-archive__tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
}

.p-card-news-archive__tags > * {
  position: relative;
  overflow: hidden;
  border-radius: 0.4em;
}

.p-card-news-archive__tags > *::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: currentcolor;
  opacity: 0.1;
}

.p-card-news-archive__tags > * a,
.p-card-news-archive__tags > * span {
  display: block;
  padding: 0.4em 1em;
  font-size: 0.8em;
  font-weight: 700;
  line-height: 1.2;
}

.p-card-news-archive__date {
  font-size: 0.9em;
  font-weight: 700;
  color: #00A3FF;
}

.p-card-news-archive__title {
  width: 100%;
}

.p-card-news-archive__title a {
  display: block;
  width: 100%;
}

.p-card-news-archive__title a:hover {
  text-decoration: underline;
}

/* アーカイブ用のカード */
.p-card-archive {
  display: block;
  align-self: stretch;
  padding: 1em;
  background-color: #fff;
  filter: drop-shadow(0 10px 20px rgba(61, 99, 153, 0.2));
  border-radius: 1em;
}

.p-card-archive > * + * {
  margin-top: 1em;
}

.p-card-archive__mediaBox {
  position: relative;
}

.p-card-archive__eyecatch {
  width: 100%;
  aspect-ratio: 3/2;
  background-color: #e9e9e9;
}

.p-card-archive__eyecatch img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3/2;
}

.p-card-archive__cat {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.2em 0.6em;
  font-weight: 700;
  background-color: rgb(255, 255, 255);
  border-radius: 0 0 0.5em;
}

.p-card-archive__tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: flex-start;
  justify-content: flex-start;
}

.p-card-archive__tags li span {
  display: inline-block;
  padding: 0.2em 0.6em;
  font-size: 0.9em;
  background-color: #ebebeb;
  border-radius: 0.5em;
}

.p-card-archive__date {
  font-size: 0.8em;
  opacity: 0.6;
}

/* drawerNav
--------------------------------------------- */
.p-drawerNav {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 30em;
  min-height: 100%;
  max-height: 100%;
  padding: 1em;
  overflow: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  color: #fff;
  background-color: #272D4D;
  border-radius: 1em;
  transition-duration: 100ms;
  transition-property: transform, visibility;
  transform: translateX(110%);
}

.p-drawerNav__container {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(100% + 1px);
  padding: clamp(2rem, 1.5rem + 2vw, 4rem);
}

.p-drawerNav__menuBox {
  display: flex;
  flex-flow: nowrap column;
  gap: 1em;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.2em;
}

.p-drawerNav__menuBox + .p-drawerNav__menuBox {
  margin-top: 2em;
}

.p-drawerNav__menuBox .title {
  display: block;
  padding-bottom: 0.5em;
  font-size: 0.8em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.p-drawerNav__search {
  width: 100%;
  margin-top: 3em;
  color: #272D4D;
}

.p-drawerNav__search form {
  position: relative;
  display: flex;
  flex-flow: nowrap row;
  align-items: center;
  justify-content: center;
}

.p-drawerNav__search input[type=text] {
  padding: 0.4em 1em;
  background-color: transparent;
  border: 3px solid #fff;
  border-radius: 5em;
}

.p-drawerNav__search input[type=button],
.p-drawerNav__search button {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: none;
  height: 100%;
  aspect-ratio: 1/1;
  background-color: transparent;
  border: transparent;
  border-radius: 5em;
}

.p-drawerNav__search svg {
  fill: #272D4D;
  stroke: #272D4D;
}

.p-drawerNav__closeBtn {
  position: fixed;
  top: 1.5em;
  right: 2em;
  width: 2.5em;
  height: 2.5em;
}

.is-drawerActive .p-drawerNav {
  pointer-events: all;
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

/* drawer btn
--------------------------------------------- */
.p-drawerBtn {
  position: relative;
  z-index: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.25em;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  font-weight: 700;
  letter-spacing: 0.1em;
  pointer-events: all;
  background-color: transparent;
  border: none;
  border-radius: 0;
}

.p-drawerBtn::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 160%;
  height: 160%;
  content: "";
  background-color: #003987;
  border-radius: 1em;
  opacity: 0;
  transition: 100ms;
  transform: translate(-50%, -50%);
}

.p-drawerBtn__icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 50%;
  padding: 0.2em 0.2em 0 0.2em;
}

.p-drawerBtn__text {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
  overflow: hidden;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
  color: #00A3FF;
  text-align: center;
  letter-spacing: 0.07em;
  transition: 200ms;
  transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}

.p-drawerBtn:hover {
  transform: scale(0.9);
}

.p-drawerBtn:hover .p-drawerBtn__text {
  color: #003987;
}

.p-drawerBtn:hover .c-icon-humberger-2bd span::before, .p-drawerBtn:hover .c-icon-humberger-2bd span::after {
  background-color: #003987;
}

.p-drawerBtn:focus {
  outline: none;
  outline-width: 0.25rem;
  outline-style: solid;
  outline-color: rgb(0, 76, 255);
  outline-offset: 1em;
}

/* drawer
--------------------------------------------- */
.p-drawerCloseBtn {
  position: fixed;
  z-index: auto;
  display: block;
  width: 3em;
  max-width: 12.5rem;
  height: 3em;
  max-height: 12.5rem;
  padding: 0.5rem;
  pointer-events: all;
  background-color: transparent;
  border: none;
  border-radius: 0;
}

.p-drawerCloseBtn:active {
  transform: scale(0.9);
}

.p-drawerCloseBtn:focus {
  outline: none;
}

/* p-footer
--------------------------------------------- */
.p-footer {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  justify-content: center;
  padding: 0 1em;
  background-color: #EFF0F0;
  border-radius: 2em;
}

.p-footer > * {
  max-width: 100%;
  padding: 2.2em 10%;
}

.p-footer > * + * {
  position: relative;
}

.p-footer > * + *::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 0.125rem;
  content: "";
  background-color: #fff;
  transform: translateY(-50%);
}

.p-footer__infoBox {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1.8em;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 3.4em;
  padding-bottom: 3.4em;
}

.p-footer__menuBox {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.p-footer__menuBox .title {
  font-size: 0.8em;
}

.p-footer__front-text {
  font-weight: 700;
  color: #003987;
}

.p-footer__logo {
  width: 100%;
}

.p-footer__logo img {
  width: 100%;
  max-width: 30rem;
  margin-right: auto;
  margin-left: auto;
}

.p-footer__tell {
  display: flex;
  gap: 0.3em;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.5rem, 1.09375rem + 1.625vw, 3.125rem);
  font-weight: 700;
  line-height: 1.2;
  color: #003987;
  letter-spacing: 0;
}

.p-footer__tell .c-icon,
.p-footer__tell .icon,
.p-footer__tell svg,
.p-footer__tell img {
  flex: 0 0 auto;
  width: 0.9em;
  margin: 0;
}

.p-footer__address {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
}

.p-footer__copyright {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 0.8em;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.p-footer__btn-to-top {
  position: absolute;
  bottom: 1em;
  right: -1em;
  padding: 1em;
}

@media screen and (min-width: 43.75em) {
  .p-footer__btn-to-top {
    bottom: 1.5em;
    right: 1.5em;
  }
}
.p-footer__btn-to-top::before {
  display: none;
}

.p-footer__btn-to-top a {
  background-color: #006eff;
  width: clamp(3.5rem, 3.125rem + 1.5vw, 5rem);
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  border-radius: 2em;
  transition: 100ms;
  filter: drop-shadow(10px 10px 10px rgba(0, 56, 135, 0.4));
}

.p-footer__btn-to-top a svg {
  width: clamp(1rem, 0.75rem + 1vw, 2rem);
  height: auto;
  fill: #fff;
}

.p-footer__btn-to-top a:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* p-grid
--------------------------------------------- */
/* 子要素が320pxを境界にwrap */
.p-grid-50p,
div.p-grid-50p.wp-block-group,
section.p-grid-50p.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2em;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}

.p-grid-50p > *,
div.p-grid-50p.wp-block-group > *,
section.p-grid-50p.wp-block-group > * {
  flex-basis: 320px;
  flex-grow: 1;
  flex-shrink: 1;
}

.p-grid-50p > * img,
div.p-grid-50p.wp-block-group > * img,
section.p-grid-50p.wp-block-group > * img {
  width: 100%;
}

.p-grid-50p.--replace,
div.p-grid-50p.wp-block-group.--replace,
section.p-grid-50p.wp-block-group.--replace {
  flex-direction: row-reverse;
}

/* 子要素が320pxを境界にwrap */
.p-grid-70p,
div.p-grid-70p.wp-block-group,
section.p-grid-70p.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2em;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}

.p-grid-70p > *:first-child,
div.p-grid-70p.wp-block-group > *:first-child,
section.p-grid-70p.wp-block-group > *:first-child {
  flex-basis: 320px;
  flex-grow: 3;
  flex-shrink: 1;
}

.p-grid-70p > *,
div.p-grid-70p.wp-block-group > *,
section.p-grid-70p.wp-block-group > * {
  flex-basis: 320px;
  flex-grow: 0;
  flex-shrink: 2;
}

.p-grid-70p > * img,
div.p-grid-70p.wp-block-group > * img,
section.p-grid-70p.wp-block-group > * img {
  /* width: 100%; */
  width: auto;
  max-width: 100%;
  min-width: 340px;
}

.p-grid-70p.--replace,
div.p-grid-70p.wp-block-group.--replace,
section.p-grid-70p.wp-block-group.--replace {
  flex-direction: row-reverse;
}

/* 子要素が320pxを境界にwrap growなし */
.p-grid-simple-3,
div.p-grid-simple-3.wp-block-group,
section.p-grid-simple-3.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2em;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}

.p-grid-simple-3 > *.wp-block-group,
div.p-grid-simple-3.wp-block-group > *.wp-block-group,
section.p-grid-simple-3.wp-block-group > *.wp-block-group {
  flex-basis: 320px;
  flex-grow: 0;
  flex-shrink: 1;
}

.p-grid-simple-3 > *.wp-block-group img,
div.p-grid-simple-3.wp-block-group > *.wp-block-group img,
section.p-grid-simple-3.wp-block-group > *.wp-block-group img {
  width: 100%;
}

.p-grid-simple-3.--replace,
div.p-grid-simple-3.wp-block-group.--replace,
section.p-grid-simple-3.wp-block-group.--replace {
  flex-direction: row-reverse;
}

/* メディアクエリでwrap 最大幅アリ */
.p-grid-simple-4,
div.p-grid-simple-4.wp-block-group,
section.p-grid-simple-4.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2em;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}

.p-grid-simple-4 > *.wp-block-group,
div.p-grid-simple-4.wp-block-group > *.wp-block-group,
section.p-grid-simple-4.wp-block-group > *.wp-block-group {
  flex-basis: 100%;
  flex-grow: 0;
  flex-shrink: 1;
  max-width: 400px;
}

.p-grid-simple-4 > *.wp-block-group img,
div.p-grid-simple-4.wp-block-group > *.wp-block-group img,
section.p-grid-simple-4.wp-block-group > *.wp-block-group img {
  width: 100%;
}

@media screen and (min-width: 43.75em) {
  .p-grid-simple-4 > *.wp-block-group,
  div.p-grid-simple-4.wp-block-group > *.wp-block-group,
  section.p-grid-simple-4.wp-block-group > *.wp-block-group {
    flex-basis: 40%;
  }
}
@media screen and (min-width: 75em) {
  .p-grid-simple-4 > *.wp-block-group,
  div.p-grid-simple-4.wp-block-group > *.wp-block-group,
  section.p-grid-simple-4.wp-block-group > *.wp-block-group {
    flex-basis: 20%;
  }
}
.p-grid-simple-4.--replace,
div.p-grid-simple-4.wp-block-group.--replace,
section.p-grid-simple-4.wp-block-group.--replace {
  flex-direction: row-reverse;
}

/* アーカイブ用 */
.p-grid-archive {
  display: flex;
  flex-flow: wrap row;
  align-items: stretch;
  justify-content: flex-start;
  margin: -1em;
}

.p-grid-archive__item, .p-grid-archive > * {
  width: calc((900px - 100%) * 1000);
  min-width: 33.3333333333%;
  padding: 1em;
}

@media screen and (min-width: 43.75em) {
  .p-grid-archive__item, .p-grid-archive > * {
    max-width: 50%;
  }
}
/* フロント ニュース */
.p-grid-frontNews,
div.p-grid-frontNews.wp-block-group,
section.p-grid-frontNews.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4em;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
}

.p-grid-frontNews > .left.wp-block-group,
div.p-grid-frontNews.wp-block-group > .left.wp-block-group,
section.p-grid-frontNews.wp-block-group > .left.wp-block-group {
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 1;
}

.p-grid-frontNews > .right.wp-block-group,
div.p-grid-frontNews.wp-block-group > .right.wp-block-group,
section.p-grid-frontNews.wp-block-group > .right.wp-block-group {
  flex-basis: 50%;
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 60%;
}

/* フロント サービス */
.p-grid-frontSurvis,
div.p-grid-frontSurvis.wp-block-group,
section.p-grid-frontSurvis.wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2em;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}

.p-grid-frontSurvis > *.wp-block-group,
div.p-grid-frontSurvis.wp-block-group > *.wp-block-group,
section.p-grid-frontSurvis.wp-block-group > *.wp-block-group {
  flex-basis: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  align-self: stretch;
}

.history_table {
  table {
    border-collapse: collapse;
    border: 1px solid #00479d;
    tr {
      td {
        padding: 10px 20px;
        display: block;
      }
      td:first-of-type {
        white-space: nowrap;
        background-color: #f2f2f2;
      }
    }
  }
}

@media screen and (min-width: 43.75em) {
  .p-grid-frontSurvis > *.wp-block-group.--max50p,
  div.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--max50p,
  section.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--max50p {
    flex-basis: 40%;
  }
}
@media screen and (min-width: 43.75em) {
  .p-grid-frontSurvis > *.wp-block-group.--max30p,
  div.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--max30p,
  section.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--max30p {
    flex-basis: 40%;
  }
}
@media screen and (min-width: 75em) {
  .p-grid-frontSurvis > *.wp-block-group.--max30p,
  div.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--max30p,
  section.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--max30p {
    flex-basis: 30%;
  }
  .history_table {
    table {
      td {
        display: table-cell !important;
      }
    }
  }
}
@media screen and (min-width: 43.75em) {
  .p-grid-frontSurvis > *.wp-block-group.--small,
  div.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--small,
  section.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--small {
    flex-basis: 40%;
  }
}
@media screen and (min-width: 75em) {
  .p-grid-frontSurvis > *.wp-block-group.--small,
  div.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--small,
  section.p-grid-frontSurvis.wp-block-group > *.wp-block-group.--small {
    flex-basis: 20%;
  }
}
/* ボタンラップ */
.p-grid-btn,
div.p-grid-btn.wp-block-button,
div.p-grid-btn.wp-block-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.2em 1.5em;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.p-grid-btn.--right,
div.p-grid-btn.wp-block-button.--right,
div.p-grid-btn.wp-block-buttons.--right {
  justify-content: flex-end;
}

.p-grid-btn.--left,
div.p-grid-btn.wp-block-button.--left,
div.p-grid-btn.wp-block-buttons.--left {
  justify-content: flex-start;
}

.p-grid-btn.--nongap,
div.p-grid-btn.wp-block-button.--nongap,
div.p-grid-btn.wp-block-buttons.--nongap {
  gap: 0;
}

.p-grid-btn.--max800,
div.p-grid-btn.wp-block-button.--max800,
div.p-grid-btn.wp-block-buttons.--max800 {
  margin-right: auto;
  margin-left: auto;
}

/* header
--------------------------------------------- */
/* 一列目のヘッダーメニュー */
.p-header {
  padding: 2em;
}

.p-header__inner {
  display: flex;
  flex-flow: nowrap row;
  gap: 2em;
  align-items: center;
  justify-content: flex-end;
  max-width: 125rem;
  margin-right: auto;
  margin-left: auto;
}

.p-header__frontLogo {
  margin-right: auto;
  font-size: 1em;
}

.p-header__frontLogo a {
  display: block;
}

.p-header__frontLogo img {
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 0;
  width: auto;
  height: 3.5em;
}

.p-header__logo {
  margin-right: auto;
}

.p-header__logo a {
  display: block;
}

.p-header__logo img {
  object-fit: contain;
  object-position: center;
  width: 20em;
}

.p-header__menu {
  display: none;
}

@media screen and (min-width: 75em) {
  .p-header__menu {
    display: block;
  }
}
.p-header__search {
  display: none;
}

@media screen and (min-width: 43.75em) {
  .p-header__search {
    display: block;
  }
}
.p-header__drawerBtn {
  position: relative;
  flex: 0 0 auto;
  height: 3em;
}

/* p-scroll-header
--------------------------------------------- */
.p-scrollHeader {
  padding: 0.5em;
  background-color: rgb(255, 255, 255);
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1333333333));
}

/* list
--------------------------------------------- */
/* シンプルなリスト */
ol.p-list li,
ul.p-list li {
  list-style-position: inside;
  list-style-type: unset;
}

/*  フロント ニュースリスト */
.p-list-news,
.p-list-news.wp-block-group,
.p-list-news.wp-block-query {
  width: 100%;
}

.p-list-news > ul,
.p-list-news.wp-block-group > ul,
.p-list-news.wp-block-query > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 2em 2em;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
}

.p-list-news > ul > li,
.p-list-news.wp-block-group > ul > li,
.p-list-news.wp-block-query > ul > li {
  width: 100%;
}

.p-list-news > ul > li > .wp-block-group,
.p-list-news.wp-block-group > ul > li > .wp-block-group,
.p-list-news.wp-block-query > ul > li > .wp-block-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5em 2em;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  padding: 0 !important;
}

.p-list-news > ul > li > .wp-block-group > .left.wp-block-group,
.p-list-news.wp-block-group > ul > li > .wp-block-group > .left.wp-block-group,
.p-list-news.wp-block-query > ul > li > .wp-block-group > .left.wp-block-group {
  flex-basis: 100%;
  flex-grow: 0;
  flex-shrink: 1;
}

.p-list-news > ul > li > .wp-block-group > .right.wp-block-group,
.p-list-news.wp-block-group > ul > li > .wp-block-group > .right.wp-block-group,
.p-list-news.wp-block-query > ul > li > .wp-block-group > .right.wp-block-group {
  flex-basis: 400px;
  flex-grow: 1;
  flex-shrink: 1;
}

.p-list-news > ul > li > .wp-block-group .wp-block-post-date,
.p-list-news.wp-block-group > ul > li > .wp-block-group .wp-block-post-date,
.p-list-news.wp-block-query > ul > li > .wp-block-group .wp-block-post-date {
  font-weight: 700;
  color: #00A3FF;
}

.p-list-news > ul > li > .wp-block-group .wp-block-post-title,
.p-list-news.wp-block-group > ul > li > .wp-block-group .wp-block-post-title,
.p-list-news.wp-block-query > ul > li > .wp-block-group .wp-block-post-title {
  font-size: 1em;
}

/* タグの一覧 主に記事ページで使用 */
.p-list-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
}

.p-list-tags > * {
  position: relative;
  overflow: hidden;
  border-radius: 0.5em;
}

.p-list-tags > *::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: currentcolor;
  opacity: 0.1;
}

.p-list-tags > * a,
.p-list-tags > * span {
  display: block;
  padding: 0.4em 1.2em;
  font-weight: 700;
}

/* タグの一覧 主にアーカイブページで使用 */
.p-list-tags-menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
  align-items: flex-start;
  justify-content: center;
}

.p-list-tags-menu > * {
  position: relative;
  overflow: hidden;
  border-radius: 0.5em;
}

.p-list-tags-menu > *::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: currentcolor;
}

.p-list-tags-menu > * a,
.p-list-tags-menu > * span {
  display: block;
  padding: 0.4em 1.2em;
  font-weight: 700;
  color: #fff;
}

/* p-loading (#js-loading)
--------------------------------------------- */
.p-loading {
  position: fixed;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100svh;
  font-weight: 800;
  pointer-events: none;
  visibility: visible;
  background-color: #48bcd5;
  opacity: 1;
}

.p-loading.is-loaded {
  opacity: 0;
}

.js-disabled .p-loading {
  display: none;
}

/* p-loading アニメーションオブジュクト
--------------------------------------------- */
.sk-folding-cube {
  position: relative;
  width: 40px;
  height: 40px;
  margin: 20px auto;
  transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  position: relative;
  float: left;
  width: 50%;
  height: 50%;
  transform: scale(1.1);
}

.sk-folding-cube .sk-cube::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  transform-origin: 100% 100%;
  animation: sk-fold-cube-angle 2.4s infinite linear both;
}

.sk-folding-cube .sk-cube2 {
  transform: scale(1.1) rotateZ(90deg);
}

.sk-folding-cube .sk-cube2::before {
  animation-delay: 0.3s;
}

.sk-folding-cube .sk-cube3 {
  transform: scale(1.1) rotateZ(180deg);
}

.sk-folding-cube .sk-cube3::before {
  animation-delay: 0.6s;
}

.sk-folding-cube .sk-cube4 {
  transform: scale(1.1) rotateZ(270deg);
}

.sk-folding-cube .sk-cube4::before {
  animation-delay: 0.9s;
}

@keyframes sk-fold-cube-angle {
  0%, 10% {
    opacity: 0;
    transform: perspective(140px) rotateX(-180deg);
  }
  25%, 75% {
    opacity: 1;
    transform: perspective(140px) rotateX(0deg);
  }
  90%, 100% {
    opacity: 0;
    transform: perspective(140px) rotateY(180deg);
  }
}
/* p-menu 
--------------------------------------------- */
/* 横並びメニュー */
.p-simpleMenu {
  display: flex;
  flex-flow: wrap row;
  gap: 0.25em 1em;
  align-items: center;
  justify-content: flex-end;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-simpleMenu a,
.p-simpleMenu span {
  display: flex;
  flex-flow: nowrap row;
  gap: 0.5em;
  align-items: center;
  justify-content: flex-start;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-simpleMenu a:hover {
  text-decoration: underline;
  opacity: 1;
}

.p-simpleMenu > li {
  position: relative;
}

.p-simpleMenu > li > a, .p-simpleMenu > li > span {
  display: block;
  padding: 1em 0.5em;
}

.p-simpleMenu > li:hover > ul {
  pointer-events: all;
  visibility: visible;
}

.p-simpleMenu > li > ul {
  position: absolute;
  top: 3em;
  left: 0;
  z-index: 2;
  display: flex;
  flex-flow: wrap row;
  gap: 2em;
  align-items: flex-start;
  justify-content: flex-start;
  width: 20em;
  max-width: 100vw;
  padding: 2em 3em;
  pointer-events: none;
  visibility: hidden;
  background-color: rgb(255, 255, 255);
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
}

.p-simpleMenu > li > ul > li {
  width: 100%;
}

.p-simpleMenu > li > ul > li > a, .p-simpleMenu > li > ul > li > span {
  display: block;
  font-size: 1em;
}

.p-simpleMenu > li > ul > li:has(ul) > a, .p-simpleMenu > li > ul > li:has(ul) > span {
  padding-bottom: 0.8em;
  border-bottom: 1px solid currentcolor;
}

.p-simpleMenu > li > ul > li > ul {
  display: flex;
  flex-flow: wrap row;
  gap: 0.4em;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.8em 0;
}

.p-simpleMenu > li > ul > li > ul > li {
  position: relative;
  width: 100%;
  padding-left: 1.5em;
}

.p-simpleMenu > li > ul > li > ul > li::before {
  position: absolute;
  top: 0.7em;
  left: 0.5em;
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  content: "";
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 1;
}

.p-simpleMenu > li > ul > li > ul > li > a, .p-simpleMenu > li > ul > li > ul > li > span {
  display: block;
  font-size: 0.9em;
}

.p-simpleMenu > li > ul > li > ul > li:has(> ul) ul {
  display: flex;
  flex-flow: wrap row;
  gap: 0.4em;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.4em 0;
}

.p-simpleMenu > li > ul > li > ul > li:has(> ul) ul > li {
  position: relative;
  width: 100%;
  padding-left: 1.5em;
}

.p-simpleMenu > li > ul > li > ul > li:has(> ul) ul > li::before {
  position: absolute;
  top: 0.8em;
  left: 0.1em;
  display: block;
  width: 0.4em;
  height: 0.0625rem;
  content: "";
  background-color: currentcolor;
  opacity: 0.3;
}

.p-simpleMenu > li > ul > li > ul > li:has(> ul) ul > li > a, .p-simpleMenu > li > ul > li > ul > li:has(> ul) ul > li > span {
  display: block;
  font-size: 0.9em;
  font-weight: 400;
}

/* タテ並びメニュー */
.p-simpleColMenu {
  display: flex;
  flex-flow: wrap row;
  gap: 1em;
  align-items: flex-start;
  justify-content: flex-start;
}

.p-simpleColMenu a,
.p-simpleColMenu span {
  display: flex;
  flex-flow: nowrap row;
  gap: 0.5em;
  align-items: center;
  justify-content: flex-start;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-simpleColMenu a:hover,
.p-simpleColMenu span:hover {
  text-decoration: underline;
  opacity: 1;
}

.p-simpleColMenu > li {
  position: relative;
  width: 100%;
  padding-left: 1.7em;
}

.p-simpleColMenu > li::before {
  position: absolute;
  top: 0.8em;
  left: 0.5em;
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  opacity: 1;
}

.p-simpleColMenu > li:has(> ul) ul {
  padding: 0.8em 0;
}

.p-simpleColMenu > li:has(> ul) ul > li + li {
  margin-top: 0.4em;
}

.p-simpleColMenu > li:has(> ul) ul > li {
  position: relative;
  padding-left: 1.5em;
}

.p-simpleColMenu > li:has(> ul) ul > li::before {
  position: absolute;
  top: 0.8em;
  left: 0.1em;
  display: block;
  width: 0.4em;
  height: 0.0625rem;
  content: "";
  background-color: #fff;
  opacity: 0.3;
}

.p-simpleColMenu > li:has(> ul) ul > li a,
.p-simpleColMenu > li:has(> ul) ul > li span {
  font-size: 0.9em;
  font-weight: 400;
}

/* ドロワーメニュー */
.p-drawerMenu {
  display: flex;
  flex-flow: wrap row;
  gap: 1em;
  align-items: flex-start;
  justify-content: flex-start;
}

.p-drawerMenu a,
.p-drawerMenu span {
  display: flex;
  flex-flow: nowrap row;
  gap: 0.5em;
  align-items: center;
  justify-content: flex-start;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-drawerMenu a:hover,
.p-drawerMenu span:hover {
  text-decoration: underline;
  opacity: 1;
}

.p-drawerMenu > li {
  position: relative;
  width: 100%;
}

.p-drawerMenu > li:has(> ul) ul {
  padding: 0.8em 0;
}

.p-drawerMenu > li:has(> ul) ul > li + li {
  margin-top: 0.4em;
}

.p-drawerMenu > li:has(> ul) ul > li {
  position: relative;
  padding-left: 1.5em;
}

.p-drawerMenu > li:has(> ul) ul > li::before {
  position: absolute;
  top: 0.8em;
  left: 0.1em;
  display: block;
  width: 0.4em;
  height: 0.0625rem;
  content: "";
  background-color: #fff;
  opacity: 0.3;
}

.p-drawerMenu > li:has(> ul) ul > li a,
.p-drawerMenu > li:has(> ul) ul > li span {
  font-size: 0.9em;
  font-weight: 400;
}

.p-drawerMenu li.btn-menu a {
  padding: 0.4em 1.2em;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid currentcolor;
  border-radius: 2em;
}

.p-drawerMenu li.btn-menu a:hover {
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.1333333333);
}

/* フッターメニュー */
.p-footerMenu {
  display: flex;
  flex-flow: wrap row;
  gap: 1em 2em;
  align-items: flex-start;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-footerMenu a,
.p-footerMenu span {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.5em;
  align-items: center;
  justify-content: flex-start;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-footerMenu a:hover,
.p-footerMenu span:hover {
  text-decoration: underline;
  opacity: 1;
}

.p-footerMenu a > .c-icon, .p-footerMenu a > .icon, .p-footerMenu a > svg, .p-footerMenu a > img,
.p-footerMenu span > .c-icon,
.p-footerMenu span > .icon,
.p-footerMenu span > svg,
.p-footerMenu span > img {
  flex: 0 0 auto;
  align-self: center;
}

.p-footerMenu > li {
  position: relative;
}

.p-footerMenu > li:has(> ul) ul {
  padding: 0.8em 0;
}

.p-footerMenu > li:has(> ul) ul > li + li {
  margin-top: 0.4em;
}

.p-footerMenu > li:has(> ul) ul > li {
  position: relative;
  padding-left: 1.5em;
}

.p-footerMenu > li:has(> ul) ul > li::before {
  position: absolute;
  top: 0.8em;
  left: 0.1em;
  display: block;
  width: 0.4em;
  height: 0.0625rem;
  content: "";
  background-color: #fff;
  opacity: 0.3;
}

.p-footerMenu > li:has(> ul) ul > li a,
.p-footerMenu > li:has(> ul) ul > li span {
  font-size: 0.9em;
  font-weight: 400;
}

/* MV
--------------------------------------------- */
/* FRONTのMV */
.p-mv-front,
.p-mv-front.wp-block-group {
  width: 100%;
  margin-bottom: clamp(1.125rem, 0.28125rem + 3.375vw, 4.5rem);
}

.p-mv-front figure,
.p-mv-front.wp-block-group figure {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.p-mv-front figure img,
.p-mv-front.wp-block-group figure img {
  width: 100%;
  object-fit: cover;
}

/* アーカイブと固定ページ用のMV */
.p-mv,
.p-mv.wp-block-group {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: calc(100% - 2em);
  height: 240px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 2em;
}

@media screen and (min-width: 43.75em) {
  .p-mv,
  .p-mv.wp-block-group {
    height: 320px;
  }
}
.p-mv::before,
.p-mv.wp-block-group::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: hsl(207, 48%, 91%);
}

.p-mv__img,
.p-mv.wp-block-group__img {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.p-mv__img img,
.p-mv.wp-block-group__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: hsl(0, 0%, 90%);
}

.p-mv__title,
.p-mv.wp-block-group__title {
  padding: 0.5em 2em;
  background-color: white;
  border-radius: 2em;
}

/* パーツデザインのセット（親に付いたクラス名で自動適用）
--------------------------------------------- */
.p-parts-design-simple {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 2em;
  align-items: flex-start;
  justify-content: center;
}

.p-parts-design-simple a {
  color: rgb(18, 131, 205);
  text-decoration: underline;
}

.p-parts-design-simple h1,
.p-parts-design-simple h2,
.p-parts-design-simple h3,
.p-parts-design-simple h4 {
  margin-top: 2em;
}

/* フロント用 */
/* header
--------------------------------------------- */
.p-searchForm {
  position: relative;
  display: flex;
  flex-flow: nowrap row;
  align-items: center;
  justify-content: flex-end;
}

.p-searchForm input[type=text] {
  padding: 0.4em 1.2em;
  font-family: var(--font-family-num);
  color: currentcolor;
  letter-spacing: 0.1em;
  background-color: #fff;
  filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
  border: 0rem solid currentcolor;
  border-radius: 5em;
}

.p-searchForm input[type=button],
.p-searchForm button {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3em;
  max-width: none;
  height: 100%;
  aspect-ratio: 1/1;
  margin-left: auto;
  background-color: transparent;
  border: transparent;
  border-radius: 5em;
}

.p-searchForm input[type=button]:active, .p-searchForm input[type=button]:hover,
.p-searchForm button:active,
.p-searchForm button:hover {
  fill: rgb(85, 0, 255);
}

/* セクション
--------------------------------------------- */
.p-section,
.p-section.wp-block-group {
  width: 100%;
  padding: clamp(1.5rem, 1.25rem + 1vw, 2.5rem) 0;
}

.p-section.--marginL,
.p-section.wp-block-group.--marginL {
  padding: clamp(4rem, 3.125rem + 3.5vw, 7.5rem) 0;
}

/* p-table
--------------------------------------------- */
/* 丸くシャドウの付いたテーブル スノーモンキーブロック使用想定 */
.p-table-round.smb-information .smb-information__body {
  --smb-information--gap: 1em;
}

.p-table-round.smb-information .smb-information__item {
  filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.1));
  border-radius: 1em;
}

.p-table-round.smb-information .c-row {
  --smb-information--gap: 0;
}

.p-table-round.smb-information .smb-information__item__label {
  padding: 1em;
  font-weight: 700;
  color: #003987;
  background-color: hsl(0, 0%, 95%);
}

.p-table-round.smb-information .smb-information__item__body {
  padding: 1em;
  background-color: #fff;
}

.p-table-round.smb-information .smb-information__item__body > * + * {
  margin-top: 0.7em;
}

/* WPブロック (追加cssによる上書き)
--------------------------------------------- */
/* ---- */
.p-oldPdfList {
  gap: 2em 3em;
  max-width: 45rem;
  margin-right: auto;
  margin-left: auto;
}

.p-oldPdfList + .p-oldPdfList {
  padding-top: 4em;
  margin-top: 4em;
  border-top: 2px solid rgba(32, 120, 164, 0.5098039216);
}

.p-oldPdfList figure.wp-block-image {
  max-width: 20rem;
}

.p-oldPdfList figure.wp-block-image img {
  display: block;
  margin-right: auto;
  margin-left: auto;
  filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.1882352941));
}

.p-oldPdfList .wp-block-group li:nth-last-of-type(2n) {
  background-color: #D6E6EB;
}

.p-oldPdfList .wp-block-group a {
  display: flex;
  flex-flow: wrap row;
  align-items: center;
  justify-content: center;
  padding: 0.5em 1em;
  font-weight: 700;
}

.p-oldPdfList .wp-block-group a:hover {
  color: white;
  background-color: #2078a4;
}

.p-oldPdfList .wp-block-group a svg {
  margin-left: auto;
}

/* WPブロック フロントページ用（追加cssによる上書き）
--------------------------------------------- */
.business_certificate {
  width: 100%;
  margin: 0 auto;
}
.business_certificate th,
.business_certificate td,
.charge_table th,
.charge_table td {
  line-height: 1.3em;
  border: 1px solid #333;
}
.business_certificate tr:first-of-type th {
  color: #fff;
  background-color: #0052C1;
}
.business_certificate th {
  background-color: #F2F2F2;
  text-align: center;
  white-space: nowrap;
}
.charge_table th {
  background-color: #B4E1D3;
  text-align: center;
  white-space: nowrap;
}
.lp_text_box h4 {
  margin-bottom: 30px;
}
.lp_text_box p {
  margin-bottom: 1em;
}

@media screen and (min-width:767px) {
  .business_certificate {
    width: 70%;
  }
}
/* ------------------------------------------
reform-example リフォーム事例
------------------------------------------ */
.reform-example_btn,
.reform-example_tag {
  width: 100%;
  max-width: 200px !important;
}
.reform-example_tag {
  color: #fff;
  text-align: center;
  display: inline-block;
  padding: 5px 10px !important;
  border-radius: 20px;
  background-color: #00479d;
}
.reform-example_renovation {
  .before, .after {
    position: relative;
    &::before {
      font-size: 110%;
      font-weight: bold;
      position: absolute;
      display: inline-block;
      padding: 3px;
      top: 0px;
      left: 0px;
      background-color: rgba( 255, 255, 255, .8);
    }
  }
  .before {
    &::before {
      content: "BEFORE";
    }
  }
  .after {
    &::before {
      content: "AFTER";
    }
  }
  .turn_out {
    padding: 0;
    figure {
      text-align: center;
      padding: 0;
    }
    img {
      display: inline;
      width: 70px;
      height: auto;
      transform: rotate( 90deg );
    }
  }
}
.bg_reform {
  background: url(../img/img_reform_case_01.jpg) no-repeat center / cover;
  border: 1px solid #7f9ec4;
  border-radius: 10px;
}
.bg_reform  a {
  color: #002944;
  text-shadow: 0px 3px 6px rgba(255, 255, 255, .8);
  font-weight: bold;
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px;
  background-color: rgba(255, 255, 255, .4);
}
@media screen and (min-width:767px) {
  .reform-example_renovation {
    gap: 20px;
    .before {
      /* flex-grow: 1 !important; */
      figure {
        margin: 0 !important;
      }
    }
    /* .after {
      flex-grow: 1 !important;
    } */
    .turn_out {
      flex-basis: 70px !important;
      img{
        width: 70px;
        transform: rotate( 0deg );
      }
    }
  }
  .reform-example_photo_box {
    figure {
      height: 380px;
      overflow: hidden;
      img {
        object-fit: cover;
      }
    }
  }
}