@charset "utf-8";

/* コンポーネント１の記述 */
.service #main {
  background: #eef5f7;
}

.service-ttl {
  font-size: 2.25rem;
}

.service-ttl-eg {
  color: #0457a7;
  font-size: 1rem;
}

.service-wrap {
  margin-top: 50px;
}

.service-card {
  position: relative;
  border-radius: 15px;
  background: rgba(247, 247, 247, 0.8);
  border: 1px solid #d5d5d5;
  padding: 40px 15px 20px;
}

.service-card-label {
  display: inline;
  position: absolute;
}

.service-box-ttl {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 0;
}

.service-box-txt {
  margin-bottom: 45px;
}

.service-card-label {
  font-size: 1.125rem;
  padding: 2px 18px;
  top: -18px;
  left: 0;
  font-weight: bold;
}

.service-img {
  margin-bottom: 30px;
}

.service-box {
  margin-bottom: 60px;
}

.service-box:nth-of-type(9) {
  margin-bottom: 0;
}

.sec-service .content-box {
  margin-top: -100px;
}

.sec-service .container {
  padding-right: 0;
  padding-left: 0;
}

@media all and (min-width: 576px) {
}

@media all and (min-width: 768px) {
  .service-card {
    padding: 40px 30px 30px;
  }
}

@media all and (min-width: 992px) {
  .sec-service .content-box {
    padding: 88px 40px;
    margin-top: -150px;
  }

  /* .service-boxが奇数の場合 */
  .service-box:nth-child(odd) {
    padding-right: 20px;
  }

  /* .service-boxが偶数の場合 */
  .service-box:nth-child(even) {
    padding-left: 20px;
  }
}

@media all and (min-width: 1200px) {
}

@media all and (min-width: 1400px) {
}

/* //コンポーネント１の記述 */

/* コンポーネント２の記述 */

@media all and (min-width: 576px) {
}

@media all and (min-width: 768px) {
}

@media all and (min-width: 992px) {
}

@media all and (min-width: 1200px) {
}

@media all and (min-width: 1400px) {
}

/* //コンポーネント２の記述 */

/* セクション１の記述 */

@media all and (min-width: 576px) {
}

@media all and (min-width: 768px) {
}

@media all and (min-width: 992px) {
}

@media all and (min-width: 1200px) {
}

@media all and (min-width: 1400px) {
}

/* //セクション１の記述 */

/* セクション２の記述 */

@media all and (min-width: 576px) {
}

@media all and (min-width: 768px) {
}

@media all and (min-width: 992px) {
}

@media all and (min-width: 1200px) {
}

@media all and (min-width: 1400px) {
}

/* //セクション２の記述 */

/* セクション３の記述 */

@media all and (min-width: 576px) {
}

@media all and (min-width: 768px) {
}

@media all and (min-width: 992px) {
}

@media all and (min-width: 1200px) {
}

@media all and (min-width: 1400px) {
}

/* //セクション３の記述 */

/*デスクトップ*/
@media all and (min-width: 992px) and (max-width: 1199px) {
}

/*中デバイス*/
@media all and (min-width: 768px) and (max-width: 991px) {
}

/*小デバイス*/
@media all and (min-width: 576px) and (max-width: 767px) {
}

@media all and (max-width: 400px) {
}

/*iPhone5:SE*/
@media all and (max-width: 320px) {
}

.wp-block-table,
.wp-block-table td {
  border: none;
}

/* 既存の青系背景色 */
.title-row {
  font-size: 24px;
  font-weight: bold;
  padding: 10px;
  color: #fff;
  background-color: #0457a7;
  max-width: 400px;
  margin: 10px auto;
  border-radius: 10px;
  overflow: hidden;
  border-collapse: collapse;
}
.blockeditor-area h3 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.title-row span,
.green-table .title-row span {
  color: #ffcc00; /* 黄色の文字色 */
}

.content-row {
  font-size: 18px;
  line-height: 1.6;
  padding: 15px;
  color: #333;
  background-color: #e0ebf5;
}

/* 緑系の背景色を適用するクラス */
.green-table .content-row {
  background-color: #e0ebe6;
}
.green-table .custom-heading {
  position: relative;
  padding: 1.5rem;
  text-align: center;
}

.custom-heading {
  position: relative;
  padding: 1.5rem;
  text-align: center;
}

.custom-heading:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: "";
  border-radius: 3px;
  background: #0457a7;
}
.wp-block-table td,
.wp-block-table th {
  padding: 1em;
}
.sitesurvey-3 {
  padding: 1rem 2rem;
  border-bottom: 3px solid #000;
  background: #f4f4f4;
}

/* 吹き出し部分 */
.speech-bubble {
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  padding: 15px 15px 15px 50px;
  background-color: #f0f0f0;
  border-radius: 10px;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2);
}

.speech-bubble::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("../images/top/icon-problem-list.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
/* 吹き出し部分ここまで */

.sec-reason-title-sitesurvey {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 2px;
  /*padding-right: 1.25rem;*/
}

.blockeditor-area h3 {
  margin-top: 0;
}

.section-divider {
  border-top: 1px solid #ddd; /* 薄い線 */
  width: 60%;
  margin: 20px auto;
  margin-bottom: 100px;
  margin-top: -20px;
}

.sec-reason-row {
  padding: 10px;
}

.section-subtitle {
  display: inline-block;
  border-bottom: 1px solid #000;
  padding-bottom: 4px;
  margin-bottom: 10px;
}

.sec-reason-title.text-blue.text-start {
  padding-top: 0;
}
/* グリーン部分 */
.green-table .custom-heading:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: "";
  border-radius: 3px;
  background: #08925d;
}

.green-table .title-row {
  font-size: 24px;
  font-weight: bold;
  padding: 10px;
  color: #fff;
  background-color: #08925d;
  max-width: 400px;
  margin: 10px auto;
  border-radius: 10px;
  overflow: hidden;
  border-collapse: collapse;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* グリーン部分ここまで */

/* 
.container {
  padding-right: 0;
  padding-left: 0;
} */

.solving-ttl-box {
  background-color: #0457a7;
  clip-path: polygon(0% 0%, 100% 0, 100% 73%, 50% 94%, 0 73%);
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 24px 0 32px 0;

  /* max-width: 1120px;*/
  margin: 50px 0;
}
.solving-txt-big {
  font-size: 1.333em;
}
.solving-txt {
  font-size: 38px;
  padding-top: 8px;
}

.solution .solving-txt-middle {
  font-size: 1.111em;
}

.container .solving-txt {
  font-weight: bold;
  font-size: 2.5rem !important;
  color: #fff;
  display: inline-block;
  margin-bottom: 0;
  vertical-align: bottom;
  padding-left: 5px;
}
p {
  line-height: 1.6;
}
/* テーブル設定青、緑 */
.wp-block-table {
  border-radius: 8px; /* テーブル全体の角を丸く */
  overflow: hidden; /* 丸くした角から溢れないようにする */
  border-collapse: separate; /* セルの間隔をあける */
  font-size: 1.2rem;
}

.wp-block-table.is-style-regular .has-fixed-layout tr:first-child td {
  background-color: #0457a7;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}
.wp-block-table.is-style-regular span {
  color: #ffcc00; /* 黄色の文字色 */
}

.wp-block-table.is-style-regular .has-fixed-layout td {
  padding: 15px;
  background-color: #dbe7f3;
}

.green-table.wp-block-table {
  border-radius: 8px;
  overflow: hidden;
  border-collapse: separate;
  font-size: 1.2rem;
}

.green-table
  .wp-block-table.is-style-regular
  .has-fixed-layout
  tr:first-child
  td {
  background-color: #08925d;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}
.green-table .wp-block-table.is-style-regular .has-fixed-layout td {
  padding: 15px;
  background-color: #eafaeb;
}
/* テーブル設定ここまで */

.blockeditor-area h3 {
  font-size: 1.5rem;
}

.text-siz-1 {
  font-size: 1.2rem;
}

.section-4-1 {
  background-color: #dbe7f3;
  border-radius: 8px;
  overflow: hidden;
  border-collapse: separate;
}

.section-4-2 {
  background-color: #eafaeb;
  border-radius: 8px;
  overflow: hidden;
  border-collapse: separate;
}

.container .solving-txt {
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  display: inline-block;
  margin-bottom: 0;
  vertical-align: bottom;
  padding-left: 5px;
}

.underline02 {
  background: linear-gradient(transparent 60%, #ffff00 40%);
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.black .custom-heading:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: "";
  border-radius: 3px;
  background: #333;
}

@media (min-width: 992px) {
  .solving-txt {
    font-size: 38px;
    padding-top: 8px;
  }
  .solving-ttl-box {
    padding: 22px 0 47px 0;
    width: unset;
    transform: unset;
    left: unset;
  }
}
@media (max-width: 768px) {
  .underline02 {
    background: linear-gradient(transparent 60%, #ffff00 40%);
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .blockeditor-area h2 {
    margin-top: 1.75rem;
    line-height: 1.5;
  }
  .container .solving-txt {
    font-size: 25px !important;
  }
  .custom-gap .wp-block-columns.is-layout-flex {
    gap: 0em;
  }

  .ttl-pattern_1 {
    font-size: 1.7rem !important;
  }
  .ttl-pattern_1 span {
    font-size: 2rem !important;
  }
  .justify-content-center {
    justify-content: flex-start !important; /* 左寄せ */
  }
}

.padding-sm {
  padding-inline: 20px;
}
