@charset "UTF-8";
/* ========================================
  エアコンクリーニングLP
======================================== */
.site-main .post-4060 {
  background-color: #fbfcfe;
}

.mb-0 {
  margin-bottom: 0 !important;
}

/* ========================================
  セクション英字サブタイトル
======================================== */
span.acc-ttl-sub-en {
  display: block;
  position: relative;
  text-align: center;
  margin-bottom: 1.5rem;
  color: #6fa8dc;
  font-size: 14px;
  letter-spacing: 0.16em;
  font-weight: 600;
}
span.acc-ttl-sub-en::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 16px auto 0;
  background-color: #6fa8dc;
  border-radius: 999px;
}

/* ========================================
  サービス特徴 小見出し
======================================== */
h3.acc-ttl-feature01 {
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
  padding-left: 18px;
  color: #0b2f63;
  line-height: 40px;
  background-image: url(https://ej-san-ai-oil.co.jp/wp/wp-content/uploads/ttlbg_acc-feature01.jpg);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 56% auto;
}
h3.acc-ttl-feature02 {
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
  padding-left: 18px;
  color: #0b2f63;
  line-height: 40px;
  background-image: url(https://ej-san-ai-oil.co.jp/wp/wp-content/uploads/ttlbg_acc-feature02.jpg);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 56% auto;
}

/* ========================================
  料金表 共通
======================================== */
/* 価格表示 共通 */
/* ========================================
  料金表：家庭用エアコンクリーニング
======================================== */
.table-acc-price01 {
  margin: 0 0 1em 0;
  overflow: hidden;
  border: 1px solid #d8e8f7;
  border-radius: 10px;
  background: #fff;
}
.table-acc-price01 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  background: #fff;
  margin-bottom: 0;
}
.table-acc-price01 th,
.table-acc-price01 td {
  padding: 16px;
  border: none;
  border-bottom: 1px solid #d8e8f7;
  vertical-align: middle;
  color: #12386b;
}
.table-acc-price01 tr:last-child th,
.table-acc-price01 tr:last-child td {
  border-bottom: none;
}
.table-acc-price01 th {
  font-weight: 700;
  background: #f5faff;
}
.table-acc-price01 sup {
  font-size: 0.7em;
  vertical-align: super;
}
.table-acc-price01 th {
  width: 32%;
}
.table-acc-price01 td:nth-child(2) {
  width: 28%;
  border-left: 1px solid #d8e8f7;
  border-right: 1px solid #d8e8f7;
  color: #0b3f84;
  font-weight: 700;
  white-space: nowrap;
}
.table-acc-price01 td:nth-child(2) strong {
  font-weight: 700;
}
.table-acc-price01 td:nth-child(2) span {
  font-size: clamp(21px, 3vw, 28px) !important;
  line-height: 1;
  margin-right: 0.05em;
}
.table-acc-price01 td:nth-child(3) {
  width: 40%;
}

/* ========================================
  料金表：業務用エアコンクリーニング
======================================== */
.table-acc-price02 {
  margin: 0 0 1em 0;
  overflow: hidden;
  border: 1px solid #d8e8f7;
  border-radius: 10px;
  background: #fff;
}
.table-acc-price02 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  background: #fff;
  margin-bottom: 0;
}
.table-acc-price02 th,
.table-acc-price02 td {
  padding: 16px;
  border: none;
  border-bottom: 1px solid #d8e8f7;
  vertical-align: middle;
  color: #12386b;
}
.table-acc-price02 tr:last-child th,
.table-acc-price02 tr:last-child td {
  border-bottom: none;
}
.table-acc-price02 th {
  font-weight: 700;
  background: #f5faff;
}
.table-acc-price02 sup {
  font-size: 0.7em;
  vertical-align: super;
}
.table-acc-price02 th {
  width: 45%;
  text-align: center;
}
.table-acc-price02 td {
  width: 55%;
  text-align: center;
  border-left: 1px solid #d8e8f7;
  color: #0b3f84;
  font-weight: 700;
  white-space: nowrap;
}
.table-acc-price02 td strong {
  font-weight: 700;
}
.table-acc-price02 td span {
  font-size: clamp(21px, 3vw, 28px) !important;
  line-height: 1;
  margin-right: 0.05em;
}

/* ========================================
  料金表：オプション
======================================== */
.table-acc-price03 {
  margin: 0 0 1em 0;
  overflow: hidden;
  border: 1px solid #d8e8f7;
  border-radius: 10px;
  background: #fff;
}
.table-acc-price03 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  background: #fff;
  margin-bottom: 0;
}
.table-acc-price03 th,
.table-acc-price03 td {
  padding: 16px;
  border: none;
  border-bottom: 1px solid #d8e8f7;
  vertical-align: middle;
  color: #12386b;
}
.table-acc-price03 tr:last-child th,
.table-acc-price03 tr:last-child td {
  border-bottom: none;
}
.table-acc-price03 th {
  font-weight: 700;
  background: #fff;
}
.table-acc-price03 sup {
  font-size: 0.7em;
  vertical-align: super;
}
.table-acc-price03 th {
  width: 55%;
  text-align: left;
}
.table-acc-price03 td {
  width: 45%;
  text-align: right;
  border-left: 1px solid #d8e8f7;
  color: #0b3f84;
  font-weight: 700;
  white-space: nowrap;
}
.table-acc-price03 td strong {
  font-weight: 700;
}
.table-acc-price03 td span {
  font-size: clamp(21px, 3vw, 28px) !important;
  line-height: 1;
  margin-right: 0.05em;
}

/* ========================================
  SP調整
======================================== */
@media (max-width: 767px) {
  .table-acc-price01,
  .table-acc-price02,
  .table-acc-price03 {
    overflow-x: auto;
    border-radius: 8px;
  }
  .table-acc-price01 table,
  .table-acc-price02 table,
  .table-acc-price03 table {
    min-width: 640px;
  }
  .table-acc-price01 th,
  .table-acc-price01 td,
  .table-acc-price02 th,
  .table-acc-price02 td,
  .table-acc-price03 th,
  .table-acc-price03 td {
    padding: 14px 16px;
  }
  .table-acc-price01 td:nth-child(2) span, .table-acc-price01 td:last-child span,
  .table-acc-price02 td:nth-child(2) span,
  .table-acc-price02 td:last-child span,
  .table-acc-price03 td:nth-child(2) span,
  .table-acc-price03 td:last-child span {
    font-size: 30px !important;
  }
  .table-acc-price01 th {
    width: 30%;
  }
  .table-acc-price01 td:nth-child(2) {
    width: 24%;
  }
  .table-acc-price02 table,
  .table-acc-price03 table {
    min-width: inherit;
    width: 100%;
  }
}
/* =========================================================
   FAQ Accordion
========================================================= */
.acc-accordion-faq {
  /* =====================================================
     Accordion全体
  ===================================================== */
}
.acc-accordion-faq .kt-accordion-inner-wrap {
  counter-reset: faq;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.acc-accordion-faq button:focus {
  outline: 0 !important;
  outline: 0 !important;
}
.acc-accordion-faq {
  /* =====================================================
     各FAQカード
  ===================================================== */
}
.acc-accordion-faq .kt-accordion-pane {
  counter-increment: faq;
  background: #fff;
  border: 1px solid #d8e8f4;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(40, 90, 130, 0.04), 0 5px 16px rgba(40, 90, 130, 0.05);
}
.acc-accordion-faq {
  /* =====================================================
     質問ヘッダー
  ===================================================== */
}
.acc-accordion-faq .kt-accordion-header-wrap {
  margin: 0;
}
.acc-accordion-faq .kt-blocks-accordion-header {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 86px;
  /* Q番号と右アイコン分の余白 */
  padding: 16px 62px 16px 105px !important;
  margin: 0;
  background: #fff !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #245f9d;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  /* -----------------------------------------
     Q1 / Q2 / Q3 ...
  ----------------------------------------- */
}
.acc-accordion-faq .kt-blocks-accordion-header::before {
  content: "Q" counter(faq);
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6ea5d5 0%, #3473b1 100%);
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  z-index: 2;
}
.acc-accordion-faq .kt-blocks-accordion-header:hover {
  background: #f9fcff !important;
}
.acc-accordion-faq .kt-blocks-accordion-header[aria-expanded=true] {
  background: #fff !important;
}
.acc-accordion-faq {
  /* =====================================================
     質問タイトル
  ===================================================== */
}
.acc-accordion-faq .kt-blocks-accordion-title-wrap {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.acc-accordion-faq .kt-blocks-accordion-title {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  color: #245f9d;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.acc-accordion-faq {
  /* =====================================================
     右側 開閉アイコン
     Kadence標準のV字を上書きして＋/−に変更
  ===================================================== */
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger {
  position: absolute !important;
  top: 50% !important;
  right: 24px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  /* Kadence標準アイコンを強制的に無効化 */
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger > * {
  display: none !important;
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger svg,
.acc-accordion-faq .kt-blocks-accordion-icon-trigger span {
  display: none !important;
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger {
  /* 横線 */
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 15px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #777 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: translate(-50%, -50%) !important;
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger {
  /* 縦線 */
}
.acc-accordion-faq .kt-blocks-accordion-icon-trigger::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 1px !important;
  height: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #777 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: translate(-50%, -50%) !important;
  transition: opacity 0.2s ease;
}
.acc-accordion-faq {
  /* 開いたら縦線だけ消して「−」にする */
}
.acc-accordion-faq .kt-blocks-accordion-header[aria-expanded=true] .kt-blocks-accordion-icon-trigger::after {
  opacity: 0;
}
.acc-accordion-faq {
  /* =====================================================
     回答エリア
  ===================================================== */
}
.acc-accordion-faq .kt-accordion-panel {
  margin: 0;
  background: #fff;
  border: 0 !important;
}
.acc-accordion-faq .kt-accordion-panel-inner {
  position: relative;
  padding: 22px 28px 28px 92px;
  background: #fff;
  border-top: 1px dotted #b7d1e6;
  color: #222;
  /* -----------------------------------------
     A
  ----------------------------------------- */
}
.acc-accordion-faq .kt-accordion-panel-inner::before {
  content: "A";
  position: absolute;
  top: 21px;
  left: 38px;
  color: #3976b5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
}
.acc-accordion-faq .kt-accordion-panel-inner p {
  margin: 0;
  color: #222;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.025em;
}
.acc-accordion-faq {
  /* =====================================================
     画像あり回答
  ===================================================== */
}
.acc-accordion-faq .kt-accordion-panel-inner .wp-block-kadence-rowlayout {
  margin: 0;
}
.acc-accordion-faq .kt-accordion-panel-inner .kt-row-column-wrap {
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 20px;
}
.acc-accordion-faq .kt-accordion-panel-inner .wp-block-kadence-column .kt-inside-inner-col {
  height: 100%;
}
.acc-accordion-faq .kt-accordion-panel-inner .wp-block-image {
  margin: 0;
}
.acc-accordion-faq .kt-accordion-panel-inner .wp-block-image img {
  display: block;
  width: 100%;
  max-width: 240px;
  height: auto;
  margin-left: auto;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}
.acc-accordion-faq {
  /* =====================================================
     Tablet
  ===================================================== */
}
@media (max-width: 1024px) {
  .acc-accordion-faq .kt-blocks-accordion-header {
    min-height: 82px;
    padding: 15px 58px 15px 94px !important;
  }
  .acc-accordion-faq .kt-blocks-accordion-header::before {
    left: 20px;
    width: 50px;
    height: 50px;
    font-size: 20px;
  }
  .acc-accordion-faq .kt-blocks-accordion-title {
    font-size: 17px;
  }
  .acc-accordion-faq .kt-blocks-accordion-icon-trigger {
    right: 22px !important;
  }
  .acc-accordion-faq .kt-accordion-panel-inner {
    padding: 20px 24px 26px 84px;
  }
  .acc-accordion-faq .kt-accordion-panel-inner::before {
    top: 20px;
    left: 34px;
    font-size: 28px;
  }
  .acc-accordion-faq .kt-accordion-panel-inner .wp-block-image img {
    max-width: 220px;
  }
}
.acc-accordion-faq {
  /* =====================================================
     Smartphone
  ===================================================== */
}
@media (max-width: 767px) {
  .acc-accordion-faq .kt-accordion-inner-wrap {
    gap: 10px;
  }
  .acc-accordion-faq .kt-accordion-pane {
    border-radius: 12px;
  }
  .acc-accordion-faq {
    /* -----------------------------------------
       質問
    ----------------------------------------- */
  }
  .acc-accordion-faq .kt-blocks-accordion-header {
    min-height: 72px;
    padding: 13px 46px 13px 74px !important;
  }
  .acc-accordion-faq .kt-blocks-accordion-header::before {
    left: 13px;
    width: 44px;
    height: 44px;
    font-size: 18px;
  }
  .acc-accordion-faq .kt-blocks-accordion-title {
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: 0.03em;
  }
  .acc-accordion-faq {
    /* -----------------------------------------
       開閉アイコン
    ----------------------------------------- */
  }
  .acc-accordion-faq .kt-blocks-accordion-icon-trigger {
    right: 15px !important;
    width: 18px !important;
    height: 18px !important;
  }
  .acc-accordion-faq .kt-blocks-accordion-icon-trigger::before {
    width: 13px !important;
  }
  .acc-accordion-faq .kt-blocks-accordion-icon-trigger::after {
    height: 13px !important;
  }
  .acc-accordion-faq {
    /* -----------------------------------------
       回答
    ----------------------------------------- */
  }
  .acc-accordion-faq .kt-accordion-panel-inner {
    padding: 18px 16px 22px 50px;
  }
  .acc-accordion-faq .kt-accordion-panel-inner::before {
    top: 19px;
    left: 17px;
    font-size: 25px;
  }
  .acc-accordion-faq .kt-accordion-panel-inner p {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.015em;
  }
  .acc-accordion-faq {
    /* -----------------------------------------
       画像付き回答
       スマホでは縦並び
    ----------------------------------------- */
  }
  .acc-accordion-faq .kt-accordion-panel-inner .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .acc-accordion-faq .kt-accordion-panel-inner .wp-block-kadence-column {
    width: 100% !important;
  }
  .acc-accordion-faq .kt-accordion-panel-inner .wp-block-image img {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

/* -----------------------------------------
	CTA
----------------------------------------- */
.kadence-column4060_2fcf7c-a0.acc-contact-sec > .kt-inside-inner-col {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
}
@media (max-width: 767px) {
  .kadence-column4060_2fcf7c-a0.acc-contact-sec > .kt-inside-inner-col {
    position: relative;
    /* スマホ用背景へ切り替え */
    background-image: url("/wp/wp-content/uploads/bg_acc-contact@sp.jpg") !important;
    /*
     * 縦長画像なので横幅基準で表示。
     * coverよりも人物やウェーブの位置を維持しやすい。
     */
    background-size: 100% auto !important;
    background-position: center -20% !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
    /*
     * 背景画像上部の人物・エアコンを見せるスペース。
     * この下からCONTACT見出しが始まる。
     */
    padding-top: clamp(280px, 70vw, 440px) !important;
    /*
     * 画像下部が白へフェードしているため、
     * セクション背景も白にして自然につなぐ。
     */
    background-color: #fff;
  }
}

.contact-tel {
  position: relative;
  z-index: 2;
  color: #15589f;
  text-align: center;
}
.contact-tel__lead {
  margin: 0 0 12px;
  font-family: "Shippori Mincho", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}
.contact-tel {
  /* ========================================
     北海道・八戸の2ブロック
  ======================================== */
}
.contact-tel__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(300px, 420px));
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 900px;
  margin: 24px auto;
}
.contact-tel__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 0;
  text-align: center;
  /* 2つ目のエリアとの境界線 */
}
.contact-tel__item + .contact-tel__item {
  border-left: 1px solid rgba(21, 88, 159, 0.25);
}
.contact-tel {
  /* ========================================
     対応エリア
  ======================================== */
}
.contact-tel__area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.contact-tel__area-name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 24px;
  color: #fff;
  background: #15589f;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}
.contact-tel__cities {
  display: block;
  width: 100%;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
.contact-tel__cities small {
  display: inline-block;
  font-size: 12px;
}
.contact-tel {
  /* ========================================
     電話番号
  ======================================== */
}
.contact-tel__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #15589f;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}
.contact-tel__number:hover {
  opacity: 0.7;
}
.contact-tel__icon {
  font-size: 28px;
  line-height: 1;
}
.contact-tel {
  /* ========================================
     受付時間
  ======================================== */
}
.contact-tel__time {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.contact-tel__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 9px;
  border: 1px solid #7fa7ce;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}
.contact-tel {
  /* ========================================
     Tablet
  ======================================== */
}
@media (max-width: 900px) {
  .contact-tel__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
  }
  .contact-tel__item {
    padding-inline: 24px;
  }
  .contact-tel__cities {
    font-size: 13px;
  }
  .contact-tel__number {
    font-size: 23px;
  }
}
.contact-tel {
  /* ========================================
     Smartphone
  ======================================== */
}
@media (max-width: 767px) {
  .contact-tel {
    padding: 24px 16px 30px;
  }
  .contact-tel__lead {
    margin-bottom: 0;
    font-size: 20px;
  }
  .contact-tel__list {
    grid-template-columns: 1fr;
    max-width: 460px;
    margin: 0 auto;
  }
  .contact-tel__item {
    gap: 10px;
    padding: 20px 8px;
    /* PC・タブレットの縦線を解除 */
  }
  .contact-tel__item + .contact-tel__item {
    border-left: 0;
    border-top: 1px solid rgba(21, 88, 159, 0.25);
  }
  .contact-tel__area-name {
    padding: 5px 20px;
    font-size: 14px;
  }
  .contact-tel__cities {
    font-size: 13px;
  }
  .contact-tel__number {
    font-size: 22px;
  }
  .contact-tel__icon {
    font-size: 24px;
  }
  .contact-tel__time {
    font-size: 13px;
  }
}/*# sourceMappingURL=custom-lp-acc.css.map */