@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ========== Googleフォントの読み込み ========== */
body {
  font-family: "Noto Sans JP", "inter", sans-serif;
}

/* ========== ロゴ（h1）にサイトタイトルを埋め込む ========== */
#site-title {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* ========== 共通パーツ ========== */
/* === セクションタイトル === */
.section-title-group {
  margin-bottom: 3.7rem;
}

p.section-sub-title {
  font-size: 1.125rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0;
}
p.section-sub-title::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  background-color: #1bb8ce;
  border-radius: 50%;
  flex-shrink: 0;
}

h2.section-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-top: 0;
}

@media (max-width: 959px) {
  .section-title-group,
  h2.section-title {
    text-align: center !important;
  }
}

@media (max-width: 599px) {
  p.section-sub-title {
    font-size: 15px;
  }
  h2.section-title {
    font-size: 24px;
  }
}

/* === ボタン === */
/* === オレンジボタン === */
.btn-orange a {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  padding: 1rem 4rem 1rem 3.1rem;
  border-radius: 2.813rem;
  width: 17.5rem;
  height: 3.688rem;
  border: 0.063rem solid #ffffff;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.btn-orange a::after {
  content: "";
  position: absolute;
  right: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-2.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: background-image 0.3s ease;
}
.btn-orange a:hover {
  background-color: #ffffff;
  color: #ffb86b;
  border-color: #ffb86b;
  box-shadow: none;
}
.btn-orange a:hover::after {
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-1.svg");
}

/* === 緑ボタン === */
.btn-green a {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  padding: 1rem 4rem 1rem 3.1rem;
  border-radius: 2.813rem;
  width: 17.5rem;
  height: 3.688rem;
  background-color: #12a6bb;
  border: 0.063rem solid #ffffff;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.btn-green a::after {
  content: "";
  position: absolute;
  right: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-3.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: background-image 0.3s ease;
}
.btn-green a:hover {
  background-color: #ffffff;
  color: #12a6bb;
  border-color: #12a6bb;
  box-shadow: none;
}
.btn-green a:hover::after {
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-4.svg");
}

/* === 白ボタン === */
.btn-white a {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  padding: 1rem 4rem 1rem 3.1rem;
  border-radius: 2.813rem;
  width: 17.5rem;
  height: 3.688rem;
  border: 0.063rem solid #1bb8ce;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.btn-white a::after {
  content: "";
  position: absolute;
  right: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-5.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: background-image 0.3s ease;
}
.btn-white a:hover {
  background-color: #1bb8ce;
  border-color: #fff;
  box-shadow: none;
}
.btn-white a:hover .has-swl-main-color {
  color: #ffffff !important;
}
.btn-white a:hover::after {
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-6.svg");
}

/* === 緑メインボタン === */
.btn-main-green a {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  padding: 1rem 4rem 1rem 3.1rem;
  border-radius: 2.813rem;
  width: 17.5rem;
  height: 3.688rem;
  background-color: #1bb8ce;
  border: 0.063rem solid #ffffff;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.btn-main-green a::after {
  content: "";
  position: absolute;
  right: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-3.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: background-image 0.3s ease;
}
.btn-main-green a:hover {
  background-color: #ffffff;
  color: #1bb8ce;
  border-color: #1bb8ce;
  box-shadow: none;
}
.btn-main-green a:hover::after {
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/Group-6-4.svg");
}

@media screen and (max-width: 599px) {
  .btn-orange a,
  .btn-green a,
  .btn-white a,
  .btn-main-green a {
    font-size: 16px;
    padding: 1rem 3rem 1rem 2.1rem;
  }
}

/* === テキストボタン === */
.text-btn-group {
  align-items: center;
  justify-content: end;
  gap: 1rem;
}
p.text-btn a {
  font-size: 1rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #1bb8ce;
}
@media screen and (max-width: 959px) {
  .text-btn-group {
    justify-content: center;
  }
}
@media screen and (max-width: 599px) {
  p.text-btn a {
    font-size: 16px;
  }
  .text-btn-icon {
    width: 30px;
  }
}

/* === ヘッダー === */
@media (min-width: 960px) {
  .l-header__inner.l-container {
    max-width: 100%;
    padding: 0 clamp(0.5rem, -0.9rem + 2.333vw, 1.2rem) 0
      clamp(0.5rem, -3.5rem + 6.667vw, 2.5rem);
  }
  .-series .l-header__logo {
    padding: 1.3rem 0;
    margin-right: clamp(0rem, -3rem + 5vw, 1.5rem);
  }
  .c-gnav > .menu-item > a {
    padding: 0 clamp(0.25rem, -0.75rem + 1.667vw, 0.75rem);
  }

  .c-gnav > .menu-item > span {
    vertical-align: baseline;
    transform: translateX(-5px);
  }
}

.c-gnav > .menu-item > a .ttl {
  font-size: clamp(0.813rem, 0.562rem + 0.418vw, 0.938rem);
  font-weight: 700;
  line-height: 1;
}
header#header .c-gnav > .menu-item > a:after {
  top: 75px;
}

/* === ヘッダーボタン === */
.-series-right .w-header {
  margin-left: clamp(0.25rem, -0.75rem + 1.667vw, 0.75rem);
}
.header-btn-group {
  gap: clamp(0.25rem, -0.25rem + 0.833vw, 0.5rem);
}

.header-line-btn a {
  font-size: clamp(0.813rem, 0.562rem + 0.418vw, 0.938rem);
  font-weight: 700;
  line-height: normal;
  padding: 0.75rem 0.1rem 2rem;
  box-shadow: none;
  border-radius: 1.5rem;
  width: clamp(7.5rem, 2.75rem + 7.917vw, 9.875rem);
  height: 2.625rem;
  border: 0.063rem solid #ffffff;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}
.header-line-btn a:hover {
  background-color: #ffffff;
  color: #00b900;
  border: 0.063rem solid #00b900;
  box-shadow: none;
}

.header-contact-btn a {
  font-size: clamp(0.813rem, 0.562rem + 0.418vw, 0.938rem);
  font-weight: 700;
  line-height: normal;
  padding: 0.75rem 0.1rem 2rem;
  box-shadow: none;
  border-radius: 1.5rem;
  width: clamp(7.5rem, 2.75rem + 7.917vw, 9.875rem);
  height: 2.625rem;
  border: 0.063rem solid #ffffff;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}
.header-contact-btn a:hover {
  background-color: #ffffff;
  color: #1bb8ce;
  border: 0.063rem solid #1bb8ce;
  box-shadow: none;
}

/* ========== fvセクション ========== */
@media (min-width: 960px) {
  .p-mainVisual__textLayer {
    max-width: 97%;
    padding-top: clamp(0rem, -3rem + 5vw, 1.5rem);
  }
}
@media screen and (max-width: 1030px) and (min-width: 960px) {
  .p-mainVisual__slide {
    padding-bottom: 9rem;
  }
}

.fv-title-group {
  margin-bottom: clamp(0rem, -7.6rem + 12.667vw, 3.8rem);
}
.fv-title-group .wp-block-group__inner-container {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  width: fit-content;
  margin-left: auto;
}

p.fv-title1,
p.fv-title2,
p.fv-title3 {
  font-size: clamp(1.5rem, 0.5rem + 1.667vw, 2rem);
  font-weight: 900;
  letter-spacing: 0.4em;
  background-color: #ffffff;
  writing-mode: vertical-rl;
  line-height: 1.43;
  padding: 0.6rem 0.2rem 0;
  margin: 0 0.15rem;
}

p.fv-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  text-shadow: none;
}

@media screen and (max-width: 1245px) and (min-width: 960px) {
  .p-mainVisual__textLayer {
    height: 94%;
  }
}

@media (max-width: 959px) {
  .p-mainVisual__textLayer {
    justify-content: flex-end;
    padding-bottom: 2.5rem;
  }

  .fv-title-group {
    margin-bottom: 2rem;
  }
  .fv-title-group .wp-block-group__inner-container {
    display: block;
    width: auto;
    margin-left: 0;
  }

  p.fv-title1,
  p.fv-title2,
  p.fv-title3 {
    font-size: 45px;
    letter-spacing: 0.3em;
    writing-mode: horizontal-tb;
    display: block;
    width: fit-content;
    padding: 0.2rem 0.4rem;
    margin-bottom: 0.3rem;
  }

  p.fv-text {
    font-size: 24px;
  }
}

@media (max-width: 599px) {
  .p-mainVisual__textLayer {
    padding-bottom: 0;
  }

  .fv-title-group {
    margin-bottom: 0.8rem;
  }

  p.fv-title1,
  p.fv-title2,
  p.fv-title3 {
    font-size: 24px;
    padding: 0.2rem 0.4rem;
    margin: 0.1rem 0;
  }

  p.fv-text {
    font-size: 15px;
  }
}

/* === ボタン === */
.fv-btn-group {
  gap: clamp(0.5rem, -1.5rem + 3.333vw, 1.5rem);
  margin-bottom: clamp(0.5rem, -0.5rem + 1.667vw, 1rem);
}

.fv-btn-group .btn-orange a,
.fv-btn-group .btn-green a,
.fv-btn-group .btn-white a {
  padding: 1rem clamp(3rem, 1rem + 3.333vw, 4rem) 1rem
    clamp(1.1rem, -2.9rem + 6.667vw, 3.1rem);
  width: clamp(13.5rem, 5.5rem + 13.333vw, 17.5rem);
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .sp-fv-btn-group {
    gap: 1rem;
  }
  .sp-fv-btn-group .btn-orange a,
  .sp-fv-btn-group .btn-green a,
  .sp-fv-btn-group .btn-white a {
    width: 14rem;
    padding: 1rem;
  }
}

@media (max-width: 599px) {
  .sp-fv-btn-group {
    display: block !important;
  }
  .sp-fv-btn-group .btn-orange a,
  .sp-fv-btn-group .btn-green a {
    margin-bottom: 1rem !important;
  }
}

/* =========== aboutセクション ========== */
.top #content {
  padding-top: 0;
}
.about-section {
  padding-top: 8rem !important;
}

.about-section .section-title-group {
  margin-bottom: clamp(1.5rem, -2.7rem + 7vw, 3.6rem);
}

.about-section p.section-sub-title {
  margin-bottom: 1.8rem;
}
.about-section h2.section-title {
  font-size: clamp(1.875rem, 1.125rem + 1.25vw, 2.25rem);
}

p.about-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.about-contents-column {
  background-color: #1bb8ce;
  border-radius: 1rem;
  margin-top: clamp(1.5rem, -5.5rem + 11.667vw, 5rem);
}

hr.about-contents-line {
  width: 93%;
  margin: 0.1rem 0 0.8rem;
}

h3.about-contents-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  color: #ffffff !important;
  margin-bottom: 0;
}
p.about-contents-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #ffffff;
}

.about-text-column {
  padding-right: clamp(0rem, -2.4rem + 4vw, 1.2rem) !important;
}

.about-img-column {
  padding-left: clamp(0rem, -7.8rem + 13vw, 3.9rem) !important;
}

.about-img1 {
  margin-bottom: 2rem;
}
.about-img1 img {
  padding-left: clamp(2rem, -2rem + 6.667vw, 4rem);
}
.about-img2 img {
  padding-right: clamp(4.6rem, 0.6rem + 6.667vw, 6.6rem);
}

@media screen and (max-width: 959px) {
  .about-section {
    padding-top: 3rem !important;
  }
  .about-contents-img-column {
    padding: 2rem 1rem 0 !important;
  }
  .about-contents-text-column {
    padding: 0 3rem 2rem !important;
  }
  hr.about-contents-line {
    width: 100%;
  }
  .about-img1 img {
    padding: 0;
  }
  h3.about-contents-title,
  p.about-contents-text {
    text-align: center !important;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .about-img1 img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 599px) {
  .about-section p.section-sub-title {
    margin-bottom: 0.8rem;
  }
  .about-section h2.section-title {
    font-size: 22px;
  }
  p.about-text {
    font-size: 15px;
  }
  .about-contents-text-column {
    padding: 0 1rem 2rem !important;
  }
  h3.about-contents-title {
    font-size: 18px;
  }
  p.about-contents-text {
    font-size: 15px;
  }
}

/* ========== serviceセクション ========== */
.service-section {
  padding-top: 5rem !important;
  padding-bottom: 6.5rem !important;
}

p.service-sub-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.service-title-column {
  margin-bottom: 3.8rem;
}

.service-item {
  background-color: #ffffff;
  border-radius: 1.5rem;
}

h3.service-title {
  font-size: clamp(1.188rem, 0.563rem + 1.042vw, 1.5rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin: 1.1rem 0 0.5rem;
}

p.service-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 1.9rem;
}

.service-column {
  margin-bottom: 5rem;
}

.service-spacer1,
.service-spacer2,
.service-spacer3 {
  display: none;
}
@media screen and (max-width: 1245px) and (min-width: 1166px) {
  .service-spacer1 {
    display: block;
  }
}
@media screen and (max-width: 1245px) and (min-width: 1242px) {
  .service-spacer3 {
    display: block;
  }
}
@media screen and (max-width: 1160px) and (min-width: 968px) {
  .service-spacer1,
  .service-spacer3 {
    display: block;
  }
}

/* === ボタン === */
.service-section .btn-orange a,
.service-section .btn-green a,
.service-section .btn-white a {
  width: clamp(14.5rem, 8.5rem + 10vw, 17.5rem);
}
@media screen and (max-width: 959px) {
  .service-section .btn-orange a,
  .service-section .btn-green a,
  .service-section .btn-white a {
    width: 17.5rem;
  }
}

@media screen and (max-width: 959px) {
  h3.service-title {
    font-size: 1.5rem;
  }
  p.service-sub-title {
    text-align: center !important;
  }
}

@media screen and (max-width: 599px) {
  p.service-sub-title {
    font-size: 16px;
  }
  .service-item {
    padding: 2rem 1rem !important;
  }
  p.service-text {
    font-size: 16px;
  }
}

.service-contents-column,
.service-contents-column2 {
  max-width: 600px;
  margin-bottom: 1.9rem;
}
.service-contents-column2 {
  margin-bottom: 0.8rem;
}

p.service-under-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 3.3rem;
}

h4.service-contents-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-bottom: 0.5rem;
}
p.service-contents-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1280px) {
  .service-under-text-column {
    padding: 0 !important;
  }
}

@media screen and (max-width: 1097px) {
  p.service-under-text {
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .service-under-img-column img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 959px) {
  .service-under-column {
    margin-top: 7rem;
  }
  p.service-under-text {
    margin: 2rem 0 4rem !important;
    text-align: center;
  }
  .service-contents-icon-column,
  .service-contents-text-column {
    padding: 0 !important;
  }
  .service-contents-column,
  .service-contents-column2 {
    max-width: 100%;
    margin-bottom: 5rem;
  }
  .service-under-text-column {
    margin-top: 3rem !important;
  }
}

@media screen and (max-width: 599px) {
  p.service-under-text {
    font-size: 16px;
    text-align: left;
  }
  h4.service-contents-title {
    font-size: 18px;
    text-align: center !important;
  }
  p.service-contents-text {
    font-size: 16px;
  }
}

/* ========== searchセクション ========== */
.search-section {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
  border-radius: 2.5rem;
}

.search-section h2.section-title {
  font-size: 2.25rem;
  margin-bottom: 1.2rem;
}
p.search-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 3.75rem;
}

.search-item {
  background-color: #ffffff;
  border-radius: 1.5rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.03999999910593033);
}

h3.search-column-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-bottom: 0.3rem;
}
p.search-column-text {
  font-size: 1.125rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: #1bb8ce;
  margin-bottom: 2.5rem;
}

.search-icon {
  margin-bottom: 3rem;
}

/* カラム全域をリンクにする */
.u-card-link {
  position: relative;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  cursor: pointer;
}
.u-card-link:hover {
  opacity: 0.8;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.u-stretched-link a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: auto;
}
@media (max-width: 959px) {
  .search-item {
    padding: 2rem 1rem !important;
  }
  p.search-text {
    text-align: left !important;
  }
}
@media (max-width: 599px) {
  .search-section h2.section-title {
    font-size: 24px;
  }
  p.search-text {
    font-size: 16px;
  }
  h3.search-column-title {
    font-size: 18px;
  }
  p.search-column-text {
    font-size: 15px;
    margin-bottom: 1rem;
  }
  .search-icon {
    margin-bottom: 1.5rem;
  }
}

/* ========== voiceセクション ========== */
.voice-section {
  padding-top: 6.1rem !important;
  padding-bottom: 6.1rem !important;
}

.voice-section .section-title-group {
  text-align: center;
}

.voice-item {
  background-color: #ffffff;
  border-radius: 0.75rem;
  box-shadow:
    0.063rem 0.25rem 0.625rem 0 rgba(0, 0, 0, 0.10000000149011612),
    0 0 0.125rem 0 rgba(0, 0, 0, 0.05000000074505806);
}

h3.voice-title {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  color: #ffffff !important;
  padding: 0 1rem !important;
  background-color: #1bb8ce !important;
  border-radius: 1.625rem !important;
  width: fit-content;
  margin-bottom: 1.1rem;
}
p.voice-text {
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.voice-column {
  margin-bottom: 3.8rem;
}

@media (max-width: 599px) {
  .voice-item {
    padding: 1.5rem 1rem !important;
  }
  h3.voice-title {
    font-size: 16px;
  }
  p.voice-text {
    font-size: 15px;
  }
}

/* === ボタン === */
.voice-btn-.group {
  justify-content: center;
  gap: 2.5rem;
}
.voice-section .btn-main-green a,
.voice-section .btn-white a {
  padding: 1rem 2rem 1rem 1.1rem;
  width: 20rem;
}
.voice-section .btn-main-green a::after,
.voice-section .btn-white a::after {
  right: 0.8rem;
  width: 2.125rem;
}

@media (max-width: 959px) {
  .voice-btn-.group {
    display: block !important;
  }
  .voice-section .btn-main-green a,
  .voice-section .btn-white a {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 599px) {
  .voice-section .btn-main-green a,
  .voice-section .btn-white a {
    width: 22rem;
  }
}

/* ========== blogセクション ========== */
.blog-section {
  padding-top: 5.1rem !important;
  padding-bottom: 5rem !important;
}

.blog-section h2.section-title {
  margin-bottom: 2rem;
}

/* === ブログ === */
.blog-list li.p-postList__item {
  margin-bottom: 1.2rem !important;
}

.blog-list a.p-postList__link {
  gap: 1.9rem !important;
  justify-content: start;
}

.blog-list .p-postList__thumb.c-postThumb {
  width: 30.5%;
  aspect-ratio: 4 / 3;
  border-radius: 0;
}
.blog-list figure.c-postThumb__figure {
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 0;
  height: 100%;
}

.blog-list .p-postList__body {
  display: flex;
  flex-direction: column;
}

.blog-list h3.p-postList__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  order: 2;
  margin-top: 0.4rem !important;
}
.blog-list .p-postList__excerpt {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  order: 3;
  margin-top: 0.3rem;
}
.blog-list .p-postList__meta {
  font-size: 1.125rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  order: 1;
  margin-top: 0.6rem !important;
}
.blog-list .p-postList__times.c-postTimes.u-thin {
  opacity: 1;
}
.blog-list .p-postList__meta :before {
  display: none;
}

@media (max-width: 1163px) and(min-width:960px) {
  .blog-item {
    padding: 0 !important;
  }

  .blog-list .p-postList__meta {
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 959px) {
  .blog-list {
    margin-bottom: 3rem;
  }
  .blog-item {
    padding: 0 0 3rem 0 !important;
    margin-bottom: 3rem !important;
  }
  .blog-list .p-postList__body {
    width: 65% !important;
  }
}
@media (max-width: 599px) {
  .blog-list .p-postList__thumb.c-postThumb,
  .blog-list .p-postList__body {
    width: 100% !important;
  }
  .blog-list a.p-postList__link {
    gap: 0.5rem !important;
  }
  .blog-list .p-postList__meta,
  .blog-list h3.p-postList__title {
    font-size: 15px;
  }
  .blog-list .p-postList__excerpt {
    font-size: 14px;
  }
  .blog-list li.p-postList__item {
    margin-bottom: 2.5rem !important;
  }
}

/* === お知らせ === */
.news-list .p-postList__times.c-postTimes.u-thin {
  font-size: 1.125rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  opacity: 1;
}
.news-list .p-postList__meta :before {
  display: none;
}

.news-list h3.p-postList__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
}

.news-list li.p-postList__item {
  margin-bottom: 1rem !important;
}
.news-list .-type-simple .p-postList__link {
  padding: 0.8rem 0.5rem 1.15rem;
}

@media (max-width: 1163px) {
  .news-item {
    padding: 0 !important;
  }
}
@media screen and (max-width: 959px) {
  .news-list {
    margin-bottom: 3rem;
  }
}
@media (max-width: 599px) {
  .news-list .p-postList__times.c-postTimes.u-thin {
    font-size: 15px;
  }
  .news-list h3.p-postList__title {
    font-size: 14px;
  }
}

/* === ボタン === */
.blog-column {
  margin-bottom: 0.8rem;
}
@media (max-width: 1163px) {
  .blog-btn-item {
    padding: 0 !important;
  }
}

/* ========== snsセクション ========== */
.sns-section {
  padding-top: 4.8rem !important;
  padding-bottom: 5rem !important;
}
.sns-section p.section-sub-title {
  letter-spacing: 0.03em;
  gap: 0.8rem;
  margin-bottom: 0.5rem;
}
.sns-section h2.section-title {
  font-size: 1.5rem;
}

.sns-item,
.sns-item2,
.sns-item3 {
  background-color: #ffffff;
  border-radius: 0.5rem;
}
.sns-icon {
  margin-bottom: 0;
}
h3.sns-title {
  font-size: 1.25rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin: 0.1rem 0 0.4rem;
}
p.sns-text {
  font-size: clamp(0.813rem, 0.438rem + 0.625vw, 1rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 3.3rem;
}

.sns-item2 p.sns-text {
  margin-bottom: 1.9rem;
}

/* === ボタン === */
.sns-section p.text-btn a {
  border-bottom: 1px solid #1bb8ce;
  padding-bottom: 0.35rem;
}
.sns-section p.text-btn a:hover {
  opacity: 0.8;
}

.sns-item2 p.text-btn a {
  font-size: 0.875rem;
}
.sns-item2 .text-btn-group {
  gap: 0.8rem;
  margin-bottom: 0.6rem;
}
.sns-item3 p.sns-text {
  margin-bottom: 1.6rem;
}
.sns-item3 .text-btn-group {
  gap: 1rem;
}

@media (max-width: 1252px) {
  .sns-item,
  .sns-item2,
  .sns-item3 {
    padding: 1rem 0.5rem !important;
  }
}
@media screen and (max-width: 959px) {
  .sns-item,
  .sns-item2,
  .sns-item3 {
    padding: 1rem 0.5rem 2rem !important;
  }

  p.sns-text,
  .sns-item2 p.sns-text,
  .sns-item3 p.sns-text {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 599px) {
  .sns-section h2.section-title {
    font-size: 22px;
  }
  h3.sns-title {
    font-size: 20px;
  }
  p.sns-text,
  .sns-item2 p.sns-text,
  .sns-item3 p.sns-text {
    font-size: 15px;
  }
  .sns-section p.text-btn a {
    font-size: 16px;
  }
}

/* ========== companyセクション ========== */
.company-section {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}
.company-section .section-title-group {
  margin-bottom: 1.6rem;
}

p.company-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 1.6rem;
}

.btn-main-green a {
  padding: 1rem 3rem 1rem 2.1rem;
}

@media screen and (max-width: 959px) {
  .company-column .swell-block-columns__inner {
    gap: 4rem;
  }
  .company-column .swell-block-column:nth-child(1) {
    order: 2;
  }
  .company-column .swell-block-column:nth-child(2) {
    order: 1;
    padding: 0 !important;
  }
  p.company-text,
  .btn-main-green {
    text-align: center !important;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .company-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 599px) {
  p.company-text {
    font-size: 16px;
    text-align: left !important;
  }
}

/* ========== faqセクション ========== */
.faq-section {
  padding-top: 5rem !important;
  padding-bottom: 5.1rem !important;
}

.faq-section .section-title-group {
  margin-bottom: 1.5rem;
}

p.faq-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 1.6rem;
}

@media screen and (max-width: 1042px) {
  .faq-title-column {
    padding: 0 !important;
  }
}

@media screen and (max-width: 959px) {
  .faq-column .swell-block-columns__inner {
    gap: 4rem;
  }
  p.faq-text {
    text-align: center;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .faq-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 599px) {
  p.faq-text {
    font-size: 16px;
    text-align: left;
  }
}

/* =========== ctaセクション ========== */
.cta-section {
  padding-top: 0.75rem !important;
  padding-bottom: 2.9rem !important;
}

.cta-title-group {
  margin-bottom: 0.1rem;
}

h2.cta-title {
  font-size: clamp(1rem, 0.5rem + 0.833vw, 1.25rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-bottom: 1.4rem;
  position: relative;
  display: inline-block;
  padding-left: 3.1rem !important;
  padding-right: 2.1rem !important;
}
h2.cta-title::before {
  content: "" !important;
  display: block;
  width: 2.438rem;
  height: 2px;
  background-color: #ffffff !important;
  background: none;
  transform-origin: center;
  position: absolute;
  left: 1rem;
  top: 49%;
  transform: translateY(-50%) rotate(55deg);
}
h2.cta-title::after {
  content: "" !important;
  display: block !important;
  width: 2.438rem;
  height: 2px;
  background-color: #ffffff;
  transform-origin: center;
  position: absolute;
  right: -0.05rem;
  top: 50%;
  transform: translateY(-50%) rotate(-55deg);
}

p.cta-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  padding-left: 1.3rem;
}
p.cta-btn-column-text {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1324px) {
  .cta-text-column,
  .cta-btn-column {
    padding: 3.7rem 0rem 1rem !important;
  }
  h2.cta-title,
  p.cta-text {
    padding-left: 0 !important;
  }
  h2.cta-title::before {
    left: -2rem;
  }
}

@media screen and (max-width: 959px) {
  .cta-title-group {
    text-align: center;
  }
  h2.cta-title {
    font-size: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .cta-btn-column {
    padding: 0 0 4rem !important;
  }
  p.cta-btn-column-text {
    text-align: center;
  }
}

@media screen and (max-width: 599px) {
  h2.cta-title {
    font-size: 19px;
    padding: 0 !important;
  }
  h2.cta-title::before,
  h2.cta-title::after {
    display: none !important;
  }
  p.cta-text {
    font-size: 16px;
  }
  p.cta-btn-column-text {
    font-size: 14px;
  }
}

/* === LINEボタン === */
.line-btn {
  margin-bottom: 0.7rem;
}
.line-btn a {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.03em;
  border-radius: 3.125rem;
  width: 19.563rem;
  height: 3.625rem;
  border: 0.063rem solid #ffffff;
  box-shadow: 0 0.125rem 0.5rem 0 rgba(74, 74, 72, 0.12);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 1.5rem;
  gap: 1.2rem;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.line-btn a::before {
  content: "";
  display: block;
  width: 1.813rem;
  height: 1.813rem;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/1823d850fd8d656225ad394a26444734.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  transition: background-image 0.3s ease;
}
.line-btn a:hover {
  background-color: #ffffff;
  color: #00b900;
  border-color: #00b900;
  box-shadow: none;
}

/* === ctaボタン === */
.cta-btn {
  margin-bottom: 1.9rem;
}
.cta-btn a {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.03em;
  padding: 1rem 0.25rem;
  border-radius: 3.125rem;
  width: 19.563rem;
  height: 3.775rem;
  box-shadow: 0 0.125rem 0.5rem 0 rgba(74, 74, 72, 0.11999999731779099);
  border: 0.063rem solid #1bb8ce;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.cta-btn a:hover {
  background-color: #1bb8ce;
  border-color: #fff;
  box-shadow: none;
}
.cta-btn a:hover .has-swl-main-color {
  color: #ffffff !important;
}

@media screen and (max-width: 959px) {
  .line-btn,
  .cta-btn {
    text-align: center !important;
  }
}

@media screen and (max-width: 599px) {
  .line-btn a,
  .cta-btn a {
    font-size: 16px;
  }
}

/* ========== footerセクション ========== */
div#content {
  margin-bottom: 0rem;
}
div#before_footer_widget {
  margin-top: 0;
}
.footer-section {
  padding-top: 4rem !important;
  padding-bottom: 1.5rem !important;
}

p.footer-sub-title {
  font-size: 0.875rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.1rem;
}
p.footer-title,
.footer-title2 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  display: block;
  width: 10rem;
  padding-bottom: 4px;
  background-image: linear-gradient(to right, #1bb8ce 50%, transparent 50%);
  background-position: bottom;
  background-size: 4px 1px;
  background-repeat: repeat-x;
  margin-bottom: 1.7rem;
}
.footer-title2 {
  display: inline-block;
  width: 11.8rem;
}

ul.footer-link-list {
  gap: 1rem;
}

li.footer-link-item,
li.footer-link-item2 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

li.footer-link-item2 a {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
li.footer-link-item2 span.swell-block-linkList__text {
  margin-right: 0 !important;
}
li.footer-link-item2 a::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/tabler_external-link.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

hr.footer-line.is-style-wide {
  margin-top: 2.8rem;
}

footer#footer {
  padding-bottom: 2.8rem !important;
}

.l-footer .copyright {
  font-size: 0.813rem;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  text-align: right;
}

@media screen and (max-width: 1150px) {
  .footer-logo-item,
  .footer-menu1,
  .footer-menu2 {
    padding: 0 !important;
  }
  .footer-logo-item {
    --clmn-w--pc: 58% !important;
  }
  .footer-menu1 {
    --clmn-w--pc: 21% !important;
  }
}

@media screen and (max-width: 959px) {
  .footer-column .swell-block-columns__inner {
    gap: 3rem;
  }
  .l-footer .copyright {
    text-align: center;
  }
}

@media screen and (max-width: 599px) {
  p.footer-sub-title {
    font-size: 14px;
  }
  p.footer-title,
  .footer-title2 {
    font-size: 16px;
    width: 50%;
  }
  li.footer-link-item,
  li.footer-link-item2 {
    font-size: 14px;
  }
  .l-footer .copyright {
    font-size: 13px;
  }
}

/* === ページTOPへ戻るボタン === */
#pagetop {
  background-color: transparent;
  background-image: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/page_top.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 67px;
  height: 86px;
  border: none;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
  opacity: 1;
}
#pagetop .c-fixBtn__icon {
  display: none;
}
#pagetop:hover {
  background-color: transparent !important;
  opacity: 0.8;
}

/* ========== ドロワーメニューにロゴ表示 ========== */
.p-spMenu__body::before {
  content: "";
  display: block;
  width: 150px;
  height: 85px;
  margin-inline: auto;
  background: url("https://hapia-fudousan.com/renewal/wp-content/uploads/2026/06/hapia_fudousan-1.svg")
    no-repeat center / contain;
  position: relative;
  z-index: 10;
}

/* ==============================
        下層ページ共通パーツ
============================== */
/* === 余白調整 === */
.page-id-13 h1.c-pageTitle,
.page-id-15 h1.c-pageTitle,
.page-id-18 h1.c-pageTitle,
.page-id-20 h1.c-pageTitle,
.page-id-22 h1.c-pageTitle,
.page-id-26 h1.c-pageTitle,
.page-id-28 h1.c-pageTitle,
.page-id-30 h1.c-pageTitle,
.blog h1.c-pageTitle {
  display: none;
}
.page-id-13 div#content,
.page-id-15 div#content,
.page-id-18 div#content,
.page-id-20 div#content,
.page-id-22 div#content,
.page-id-26 div#content,
.page-id-28 div#content,
.page-id-30 div#content,
.blog div#content {
  padding-top: 0;
}
.page-id-13 .post_content,
.page-id-15 .post_content,
.page-id-18 .post_content,
.page-id-20 .post_content,
.page-id-22 .post_content,
.page-id-26 .post_content,
.page-id-28 .post_content,
.page-id-30 .post_content,
.blog .post_content {
  margin-top: 0 !important;
}

/* ========== under-fvセクション ========== */
.under-fv-section {
  padding-top: 0 !important;
  padding-bottom: 3rem !important;
}
.under-fv-section .swell-block-fullWide__inner {
  margin: 0 clamp(2rem, -2.8rem + 8vw, 4.4rem);
}
p.under-fv-title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  padding: 1.25rem 3rem;
  background-color: #ffffff;
  border-radius: 3.125rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.03999999910593033);
}

@media screen and (max-width: 959px) {
  .under-fv-section .swell-block-fullWide__inner {
    margin: 0 1.2rem;
  }
}

@media screen and (max-width: 599px) {
  .under-fv-section {
    padding-bottom: 0rem !important;
  }
  p.under-fv-title {
    font-size: 22px;
    padding: 1rem 1.5rem;
  }
}

/* ===============================
       会社案内(.page-id-13)
==============================  */
.intermediary-section {
  padding-top: 4.5rem !important;
  padding-bottom: 6.2rem !important;
}
p.intermediary-column-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.intermediary-title-column {
  margin-bottom: 3.5rem;
}

p.intermediary-number {
  font-size: 5rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  margin-bottom: 0;
}
.intermediary-img {
  margin-top: -1rem;
}
h3.intermediary-title {
  font-size: clamp(1.313rem, 0.938rem + 0.625vw, 1.5rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin: 1.1rem 0 0.5rem;
}
p.intermediary-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1302px) and (min-width: 960px) {
  .intermediary-title-column .swell-block-columns__inner {
    --clmn-w--pc: 100% !important;
  }
}

@media screen and (max-width: 959px) {
  h3.intermediary-title {
    font-size: 1.5rem;
  }
  .intermediary-column .swell-block-columns__inner {
    gap: 3rem;
  }
  .intermediary-spacer1,
  .intermediary-spacer2 {
    display: none;
  }
}

@media screen and (max-width: 599px) {
  .intermediary-section h2.section-title {
    font-size: 22px;
  }
  p.intermediary-column-text {
    font-size: 16px;
  }
  p.intermediary-number {
    font-size: 55px;
  }
  .intermediary-img {
    margin-top: -0.8rem;
  }
  h3.intermediary-title {
    font-size: 18px;
    margin: 0 0 0.3rem;
  }
  p.intermediary-text {
    font-size: 15px;
  }
}

/* ========== promiseセクション ========== */
.promise-section {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.promise-section h2.section-title {
  font-size: 2.25rem;
  margin-bottom: 3.7rem;
}

.promise-column {
  max-width: 1070px;
  margin-inline: auto;
}

.promise-item,
.promise-item2 {
  background-color: #ffffff;
  border-radius: 0.75rem;
  box-shadow:
    0.063rem 0.25rem 0.625rem 0 rgba(0, 0, 0, 0.10000000149011612),
    0 0 0.125rem 0 rgba(0, 0, 0, 0.05000000074505806);
}

.promise-group {
  gap: 0.8rem;
  align-items: center;
}

p.promise-text {
  font-size: 0.938rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #1bb8ce;
}

@media screen and (max-width: 1048px) {
  .promise-item2 {
    padding: 1.75rem 1.25rem !important;
  }
}

@media screen and (max-width: 959px) {
  .promise-section h2.section-title {
    font-size: 2.25rem;
  }
  .promise-item,
  .promise-item2 {
    padding: 1.5rem 1rem !important;
  }
  .promise-icon img {
    height: 20px !important;
  }
  p.promise-text {
    font-size: 15px;
  }
}

@media screen and (max-width: 599px) {
  .promise-section h2.section-title {
    font-size: 24px;
  }
}

/* ========== messageセクション ========== */
.message-section {
  padding-top: 6.1rem !important;
  padding-bottom: 5rem !important;
}
.message-section p.section-sub-title {
  margin-bottom: 1.7rem;
}
p.message-text {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 1.6rem;
  padding-right: 2rem;
}

p.message-sub-name {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin: 3.8rem 0 0;
}
p.message-name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1030px) {
  p.message-text {
    padding-right: 0;
  }
}

@media screen and (max-width: 959px) {
  .message-column .swell-block-column:nth-child(1) {
    order: 2;
    padding: 0 !important;
  }
  .message-column .swell-block-column:nth-child(2) {
    order: 1;
    padding: 0 !important;
  }

  p.message-sub-name {
    margin-top: 0;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .message-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 599px) {
  p.message-text {
    font-size: 16px;
  }
  p.message-sub-name {
    font-size: 14px;
  }
  p.message-name {
    font-size: 16px;
  }
}

/* ========== overviewセクション ========== */
.overview-section {
  padding-bottom: 5.3rem !important;
}

.overview-table {
  --table-border: none;
}

.overview-table td:nth-child(1) {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  width: 15.5% !important;
  padding: 1.3rem 0 0.95rem;
  position: relative;
}
.overview-table td:nth-child(1)::before {
  content: "";
  display: block;
  height: 1px;
  background-color: #1bb8ce;
  position: absolute;
  top: 0;
  left: 0;
  right: 1.5rem;
}

.overview-table td:nth-child(2) {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  box-sizing: border-box;
  padding: 1.2rem 0 1rem;
  width: auto !important;
  position: relative;
}
.overview-table td:nth-child(2)::before {
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 16%;
  background-image: linear-gradient(to right, #1bb8ce 50%, transparent 50%);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}

@media screen and (max-width: 959px) {
  .overview-title-column {
    padding: 0 !important;
  }
  .overview-table-column {
    padding: 2rem 0 0 !important;
  }
  .overview-table td:nth-child(1) {
    width: 100% !important;
  }
  .overview-table td:nth-child(1)::before,
  .overview-table td:nth-child(2)::before {
    right: 0%;
  }
}

@media screen and (max-width: 599px) {
  .overview-table td:nth-child(1),
  .overview-table td:nth-child(2) {
    font-size: 15px;
  }
}

/* ========== accessセクション ========== */
.access-section {
  padding-top: 3.5rem !important;
  padding-bottom: 5.05rem !important;
  border-radius: 2.5rem;
}

.access-section .section-title-group {
  text-align: center;
  margin-bottom: 2.55rem;
}
.access-section p.section-sub-title::before {
  background-color: #ffffff;
}

.access-item {
  background-color: #fafafa;
  border-radius: 1.5rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

h3.access-title {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em !important;
  margin: 0 0 1.4rem;
}

h3.access-title::first-line,
h3.access-title2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em !important;
  margin: 0 0 1rem;
}
h3.access-title2 {
  margin: 2.2rem 0 2.1rem;
}

.access-text-group,
.access-text-group2,
.access-text-group3 {
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.access-text-group3 {
  margin-bottom: 2.9rem;
}

p.access-sub-text,
p.access-sub-text2 {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #ffffff;
  padding: 0.1rem clamp(1.15rem, 0.15rem + 1.667vw, 1.65rem) 0;
  background-color: #1bb8ce;
  border-radius: 1.625rem;
}
p.access-sub-text2 {
  padding: 0.1rem 0.75rem 0;
}

p.access-text {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
p.access-number a {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #1bb8ce;
}

@media screen and (max-width: 959px) {
  .access-column .swell-block-columns__inner {
    gap: 3rem;
  }
  .access-item {
    padding: 2rem 1.5rem !important;
  }
  h3.access-title,
  h3.access-title2 {
    margin: 2rem 0 1rem !important;
  }
  p.access-sub-text {
    padding: 0.1rem 1.6rem 0;
  }
}

@media screen and (max-width: 599px) {
  h3.access-title,
  h3.access-title2 {
    font-size: 18px;
  }
  .access-text-group {
    display: block !important;
  }
  p.access-sub-text {
    padding: 0 1.7rem 0;
    width: fit-content;
  }

  p.access-sub-text,
  p.access-sub-text2,
  p.access-text.wp-block-paragraph {
    font-size: 15px;
  }
  p.access-number a {
    font-size: 16px;
  }
}

/* ==============================
  不動動産を売りたい(.page-id-15)
============================== */
.page-id-15 .under-fv-section {
  padding-bottom: 2.3rem !important;
}
.fv-img-section {
  padding-top: 0rem !important;
  padding-bottom: 1.4rem !important;
}

.fv-img-title-group .wp-block-group__inner-container {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  width: fit-content;
  margin-left: auto;
}

p.fv-img-title {
  font-size: 1.875rem;
  font-weight: 900;
  letter-spacing: 0.26em;
  background-color: #ffffff;
  writing-mode: vertical-rl;
  line-height: 1.43;
  padding: 0.6rem 0.2rem 0;
  margin: 0 0.22rem;
}

p.fv-img-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 959px) {
  .fv-sp-img {
    margin-bottom: 0;
  }
  .fv-img-column .swell-block-column:nth-child(1) {
    order: 2;
    padding: 0 !important;
  }
  .fv-img-column .swell-block-column:nth-child(2) {
    order: 1;
    padding: 0 !important;
  }

  .fv-img-title-group .wp-block-group__inner-container {
    display: block;
    width: auto;
    margin-left: 0;
  }

  p.fv-img-title {
    letter-spacing: 0.3em;
    writing-mode: horizontal-tb;
    display: block;
    width: fit-content;
    padding: 0.2rem 0.4rem;
    margin-bottom: 0.3rem;
  }
}

@media (max-width: 599px) {
  .fv-img-column .swell-block-columns__inner {
    gap: 1rem;
  }
  .fv-title-group {
    margin-bottom: 0.8rem;
  }

  p.fv-img-title {
    font-size: 22.5px;
    padding: 0.2rem 0.4rem;
    margin: 0.1rem 0;
  }

  p.fv-img-text {
    font-size: 15px;
  }
}

/* ========== helpセクション ========== */
.help-section {
  padding-top: 6.1rem !important;
  padding-bottom: 5.2rem !important;
}

.help-section h2.section-title {
  font-size: clamp(1.438rem, 0.313rem + 1.875vw, 2rem);
  line-height: 1.73;
  margin-bottom: 2.5rem;
}
.help-section h2.section-title .has-white-background-color {
  border-radius: 0;
  padding: 0.2rem 0.5rem;
}

p.help-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.help-under-column {
  margin-top: 3.8rem;
  max-width: 1030px;
  margin-inline: auto;
}

.help-item {
  background-color: #ffffff;
  border-radius: 1.5rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

h3.help-item-title {
  font-size: clamp(1.438rem, 1.313rem + 0.208vw, 1.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em !important;
  margin: 2rem 0 1rem;
}
p.help-item-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 959px) {
  .help-text-column,
  .help-img-column {
    padding: 0 !important;
  }
  .help-section h2.section-title {
    font-size: 1.55rem;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .help-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media (max-width: 599px) {
  .help-section h2.section-title {
    font-size: 20px;
    text-align: start !important;
  }
  p.help-text {
    font-size: 16px;
  }
  .help-item {
    padding: 2rem 1rem !important;
  }
  h3.help-item-title {
    font-size: 18px;
  }
  p.help-item-text {
    font-size: 15px;
  }
}

/* ========== proセクション ========== */
.pro-section {
  padding-top: 4.8rem !important;
  padding-bottom: 6.1rem !important;
  border-radius: 2.5rem;
}

.pro-section h2.section-title {
  margin-bottom: 2.1rem;
}

.pro-section h2.section-title span.swl-bg-color {
  font-size: 2.25rem;
  padding: 0.2rem 0.5rem 0;
}

.pro-section h3.intermediary-title {
  font-size: clamp(1.219rem, 0.656rem + 0.938vw, 1.5rem);
}

@media (max-width: 959px) {
  .pro-section h3.intermediary-title {
    font-size: 1.5rem;
  }
}

@media (max-width: 599px) {
  .pro-section h2.section-title span.swl-bg-color {
    font-size: 26px;
    padding: 0.2rem 0.5rem 0.2rem;
  }

  .pro-section h3.intermediary-title {
    font-size: 18px;
  }
}

/* ========== dataセクション ========== */
.data-section {
  padding-top: 6.1rem !important;
  padding-bottom: 4rem !important;
}

.data-section .section-title-group {
  text-align: center;
  margin-bottom: 5rem;
}

.data-item {
  border-left: 0.063rem solid #1bb8ce;
}
.data-item:last-child {
  border-right: 0.063rem solid #1bb8ce;
}

p.data-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #ffffff;
  padding: 0 1.25rem;
  background-color: #1bb8ce;
  border-radius: 1.875rem;
  width: fit-content;
  margin: 0 auto 1rem;
}

.data-number-group {
  justify-content: center;
  align-items: baseline;
  gap: 0.4rem;
  margin-bottom: 1.5rem;
}
p.data-number {
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.03em;
}
p.data-number-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

p.data-text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 959px) {
  .data-item,
  .data-item:last-child {
    border: none;
    border-bottom: 0.063rem solid #1bb8ce;
    padding-bottom: 1rem !important;
    margin-bottom: 0.5rem !important;
  }
}

@media (max-width: 599px) {
  p.data-title {
    font-size: 18px;
  }
  .data-number-group {
    margin-bottom: 0.5rem;
  }
  p.data-number {
    font-size: 50px;
  }
  p.data-number-text {
    font-size: 16px;
  }
  p.data-text {
    font-size: 15px;
  }
}

/* ========== photoセクション ========== */
.photo-section {
  padding: 11.9rem 0 !important;
}

@media screen and (min-width: 960px) {
  .photo-section.swell-block-fullWide.has-bg-img {
    /* background-size: contain; */
    /* background-attachment: fixed; */
  }
}
@media (max-width: 599px) {
  .photo-section {
    padding: 5.5rem 0 !important;
  }
}

/* ========== stepセクション ========== */
.step-section {
  padding-top: 6.1rem !important;
  padding-bottom: 6.25rem !important;
}

.step-item {
  background-color: #fafafa;
  border-radius: 1.5rem;
  border: 0.063rem solid #1bb8ce;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

.step-item2 {
  background-color: #fafafa;
  border-radius: 1.5rem;
  border: 0.188rem solid #ffb86b;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

p.step-contents-sub-title {
  font-size: 1.125rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-bottom: 0;
}
h3.step-contents-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-top: 0;
}

.step-contents-column {
  margin-bottom: 1.2rem;
}

p.step-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.step-column2 {
  max-width: 850px;
  margin-inline: auto;
  margin-top: 2.5rem;
}

@media (max-width: 959px) {
  .step-item {
    padding: 1.5rem 0.5rem 2rem !important;
  }

  p.step-contents-sub-title,
  h3.step-contents-title,
  p.step-text {
    text-align: center !important;
  }

  .step-arrow img {
    transform: rotate(90deg) !important;
  }
}

@media (max-width: 599px) {
  .step-section h2.section-title {
    font-size: 23.5px;
  }
  .step-item {
    padding: 1.5rem 1rem 2rem !important;
  }
  p.step-contents-sub-title {
    font-size: 15px;
  }
  h3.step-contents-title {
    font-size: 18px;
  }
  p.step-text {
    font-size: 16px;
    text-align: start !important;
  }
}

/* ========== ourセクション ========== */
.our-section {
  padding-top: 6.4rem !important;
  padding-bottom: 4.85rem !important;
}

.our-section h2.section-title {
  font-size: clamp(1.625rem, 0.875rem + 1.25vw, 2rem);
}

p.our-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 2.5rem;
}

.our-contents-column {
  background-color: #ffffff;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.03999999910593033);
  margin-bottom: 0.4rem;
}

p.our-contents-text {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 1331px) {
  .our-text-column {
    padding: 0 !important;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .our-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media (max-width: 959px) {
  .our-section h2.section-title {
    font-size: 2rem;
  }

  .our-column .swell-block-column:nth-child(1) {
    order: 2;
  }
  .our-column .swell-block-column:nth-child(2) {
    order: 1;
  }

  .our-contents-column .swell-block-column:nth-child(1) {
    order: 1;
  }
  .our-contents-column .swell-block-column:nth-child(2) {
    order: 2;
  }

  .our-contents-column .swell-block-columns__inner {
    gap: 0.8rem;
  }

  .our-contents-icon-column {
    padding: 1rem 1rem 0 !important;
  }
  .our-contents-text-column {
    padding: 0 1rem 1.5rem !important;
  }

  p.our-contents-text {
    text-align: center;
  }
}

@media (max-width: 599px) {
  .our-section h2.section-title {
    font-size: 24px;
  }
  p.our-text {
    font-size: 16px;
  }
  p.our-contents-text {
    font-size: 15px;
    text-align: start;
  }
}

/* ========== scrollセクション ========== */
.scroll-section {
  padding-top: 1.85rem !important;
  padding-bottom: 3.85rem !important;
  border-radius: 2.5rem 0 0 2.5rem;
}

.scroll-section .swell-block-fullWide__inner {
  margin-left: clamp(1.7rem, -7.4rem + 15.167vw, 6.25rem);
}

.scroll-item {
  background-color: #ffffff;
  border-radius: 0.75rem;
  box-shadow:
    0.063rem 0.25rem 0.625rem 0 rgba(0, 0, 0, 0.10000000149011612),
    0 0 0.125rem 0 rgba(0, 0, 0, 0.05000000074505806);
}

p.scroll-text {
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 599px) {
  .scroll-icon {
    margin-bottom: 0.8rem;
  }
  p.scroll-text {
    font-size: 14px;
  }
}

/* ==============================
     物件を探す(.page-id-18)
============================== */
.search-fv-section {
  padding-top: 5.5rem !important;
  padding-bottom: 6.4rem !important;
}

.search-fv-group {
  padding-left: clamp(0rem, -4rem + 6.667vw, 2rem);
  padding-bottom: 1.5rem;
}

p.search-fv-title {
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.05em;
  padding: 0.375rem 0.75rem 0.375rem 0.5rem;
  background-color: #ffffff;
  width: fit-content;
  margin-bottom: 0.4rem;
}

p.search-fv-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-top: 3rem;
}

@media (max-width: 959px) {
  .search-fv-section {
    padding-top: 0rem !important;
  }
}
@media (max-width: 599px) {
  .search-fv-section {
    padding-top: 2rem !important;
  }
  p.search-fv-title {
    font-size: 20.5px;
  }
  p.search-fv-text {
    font-size: 15px;
    margin-top: 1rem;
  }
}

/* ========== teamセクション ========== */
.team-section {
  padding-top: 6.3rem !important;
  padding-bottom: 6.2rem !important;
}

.team-section h2.section-title {
  margin-bottom: 5rem;
}
p.team-number {
  font-size: 5rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-bottom: 0;
}
h3.team-title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin: 0 0 1.2rem;
}
p.team-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

.team-text-column {
  border-bottom: 1px solid #e8e8e8;
}

.team-column {
  margin-bottom: 3rem;
}

p.team-box-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #ffffff;
  padding: 1.25rem 2.625rem;
  background-color: #ffb86b;
  border-radius: 0.5rem;
}

@media (max-width: 959px) {
  .team-text-column,
  .team-text-column3 {
    padding: 0 !important;
    border-bottom: none;
  }
  .team-img-column {
    padding: 0 0 3.5rem !important;
    border-bottom: 1px solid #e8e8e8;
  }
  .team-img-column3 {
    padding: 0 !important;
  }
  .team-spacer1 {
    display: none;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .team-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media (max-width: 599px) {
  .team-section h2.section-title {
    font-size: 21px;
    margin-bottom: 3.5rem;
  }

  p.team-number {
    font-size: 55px;
  }
  h3.team-title {
    font-size: 18px;
    margin-bottom: 0.8rem;
  }
  p.team-text {
    font-size: 15px;
  }
  p.team-box-text {
    font-size: 15px;
    padding: 1rem 1.5rem;
  }
}

/* ========== storyセクション ========== */
.story-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.story-section .swell-block-fullWide__inner {
  margin: 0 clamp(1.2rem, -5.2rem + 10.667vw, 4.4rem);
}

.story-section h2.section-title {
  font-size: 1.75rem;
  margin-bottom: 3.7rem;
}

.story-column1 {
  margin-bottom: 2.6rem;
}

.story-group-item {
  padding-left: clamp(1rem, -12.6rem + 22.667vw, 7.8rem) !important;
  padding-right: clamp(1rem, -10rem + 18.333vw, 6.5rem) !important;
  background-color: #ffffff;
  border-radius: 5rem;
}

.story-img {
  margin-bottom: 0.8rem;
}
.story-img-group {
  gap: 0.8rem;
}

.story-text-group {
  padding: clamp(5.6rem, -2.4rem + 13.333vw, 9.6rem) 3rem;
  background-color: #fafafa;
  border-radius: 0.75rem;
}

.story-section .section-title-group {
  margin-bottom: 1.7rem;
}

h3.story-title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-top: 0.5rem;
}

p.story-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 959px) {
  .story-section h2.section-title {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
  .story-text-item,
  .story-img-item {
    padding: 0 !important;
  }
  .story-column1 .swell-block-column:nth-child(1) {
    order: 2;
  }
  .story-column1 .swell-block-column:nth-child(2) {
    order: 1;
  }
  .story-text-group {
    padding: 2rem 1rem;
  }
  h3.story-title {
    text-align: center !important;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  .story-img img {
    max-width: 70%;
    margin-inline: auto;
  }
}

@media (max-width: 599px) {
  .story-section h2.section-title {
    font-size: 23px;
  }
  h3.story-title {
    font-size: 18px;
  }
  p.story-text {
    font-size: 15px;
  }
}

/* ==============================
   不動産を貸したい(.page-id-20)
============================== */
/* ========== lend-fvセクション ========== */
.lend-fv-section {
  padding-top: 2.1rem !important;
  padding-bottom: 2rem !important;
}
.lend-fv-section .swell-block-fullWide__inner {
  margin: 0 clamp(1rem, -7.2rem + 13.667vw, 5.1rem);
}

p.lend-fv-title {
  /* font-size: clamp(1.656rem, 0.469rem + 1.979vw, 2.25rem); */
  font-size: clamp(1.625rem, 0.438rem + 1.979vw, 2.219rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.05em;
  padding: 0.375rem 0.75rem 0.375rem 0.5rem;
  background-color: #ffffff;
  width: fit-content;
  margin-bottom: 0.4rem;
}

p.lend-fv-text {
  font-size: clamp(0.969rem, 0.656rem + 0.521vw, 1.125rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-top: 3rem;
  padding-left: 1.1rem;
}

@media (max-width: 1183px) {
  p.lend-fv-text {
    padding-left: 0;
  }
}

@media (max-width: 959px) {
  .lend-fv-section {
    padding-top: 0 !important;
  }
  .lend-fv-text-column {
    padding: 0 !important;
  }
  p.lend-fv-title {
    font-size: 2.25rem;
  }
  p.lend-fv-text {
    font-size: 1.125rem;
    margin-top: 1.5rem;
  }
}

@media (max-width: 599px) {
  .lend-fv-section {
    padding-top: 2rem !important;
  }
  p.lend-fv-title {
    font-size: 18.5px;
  }
  p.lend-fv-text {
    font-size: 15px;
  }
}

/* ========== progressセクション ========== */
.progress-section {
  padding-top: 4.6rem !important;
  padding-bottom: 5rem !important;
}

.progress-section h2.section-title {
  margin-bottom: 2.5rem;
}

.progress-item {
  background-color: #ffffff;
  border-radius: 1.5rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

h3.progress-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em !important;
  margin: 2rem 0 1rem;
}
p.progress-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 599px) {
  .progress-item {
    padding: 1.5rem 1rem !important;
  }
  h3.progress-title {
    font-size: 18px;
  }
  p.progress-text {
    font-size: 15px;
  }
}

/* ========== managementセクション ========== */
.management-section {
  padding-top: 2.4rem !important;
  padding-bottom: 3.9rem !important;
  border-radius: 2.5rem;
}
.management-section .swell-block-fullWide__inner {
  margin: 0 1rem;
}

.management-title {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

.management-title .has-white-background-color {
  padding: 0.25rem 0 0.3rem;
  border-radius: 0.125rem;
  margin: 0 0.2rem;
}

.management-title-column {
  max-width: 1245px;
  margin-inline: auto;
  margin-bottom: 1.3rem;
}

.management-group {
  max-width: 1300px;
  margin-inline: auto;
  background-color: #ffffff;
  border-radius: 2.5rem;
}

.management-section h2.section-title {
  margin-bottom: 4.9rem;
}

.management-section h2.section-title .swl-bg-color {
  font-size: 2.25rem;
  padding: 0.1rem 0.5rem 0.2rem;
  border-radius: 0.125rem;
  margin: 0 0.2rem;
}

.management-section .team-column {
  max-width: 1030px;
  margin-inline: auto;
}

.management-section h3.team-title {
  font-size: clamp(1.594rem, 1.281rem + 0.521vw, 1.75rem);
}

.management-section p.team-box-text {
  margin-top: 1.2rem;
}

@media (max-width: 1230px) {
  .management-left-column,
  .management-right-column {
    --clmn-w--pc: 19% !important;
  }
  .management-text-column {
    --clmn-w--pc: 62% !important;
  }
}
@media (max-width: 959px) {
  .management-section {
    padding-top: 4.5rem !important;
    padding-bottom: 3.9rem !important;
    border-radius: 2.5rem;
  }
}

@media (max-width: 599px) {
  .management-section h2.section-title {
    font-size: 21px;
    margin-bottom: 3rem;
  }
  .management-section h3.team-title {
    font-size: 17px;
  }
}

/* ========== dataセクション(.page-id-20) ========== */
.page-id-20 .data-column {
  margin-top: 5.4rem;
}
.page-id-20 p.data-title {
  font-size: 1.125rem;
}
.page-id-20 p.data-number {
  font-size: 3.75rem;
}
.page-id-20 p.data-text {
  font-size: clamp(0.719rem, 0.406rem + 0.521vw, 0.875rem);
}

@media (max-width: 959px) {
  .page-id-20 p.data-text {
    font-size: 0.875rem;
  }
}
@media (max-width: 599px) {
  .page-id-20 p.data-title {
    font-size: 18px;
  }
  .page-id-20 p.data-number {
    font-size: 50px;
  }
  .page-id-20 p.data-text {
    font-size: 15px;
  }
}

/* ========== detailsセクション ========== */
.details-section {
  padding-top: 6.5rem !important;
  padding-bottom: 6.2rem !important;
}
.details-item {
  background-color: #fafafa;
  border-radius: 1.5rem;
  border: 0.063rem solid #1bb8ce;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}
.details-item2 {
  background-color: #fafafa;
  border-radius: 1.5rem;
  border: 0.188rem solid #ffb86b;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

h3.details-title {
  font-size: clamp(1.188rem, 1.063rem + 0.208vw, 1.25rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin: 1rem 0;
}
p.details-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media (max-width: 959px) {
  h3.details-title {
    font-size: 1.25rem;
  }
}
@media (max-width: 599px) {
  h3.details-title {
    font-size: 18px;
  }
  p.details-text {
    font-size: 15px;
  }
}

/* ========== solutionセクション ========== */
.solution-section {
  padding-top: 3.5rem !important;
  padding-bottom: 5rem !important;
  border-radius: 2.5rem;
}
.solution-title-group {
  justify-content: center;
  align-items: baseline;
  gap: 1.3rem;
  margin-bottom: 3.7rem;
}

.solution-column {
  background-color: #ffffff;
  border-radius: 0.625rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

h3.solution-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin-bottom: 0.6rem;
}
p.solution-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 2rem;
}

@media (max-width: 959px) {
  .solution-img-column {
    padding: 2rem 1rem 0 !important;
  }
  .solution-text-column {
    padding: 0 1rem 2rem !important;
  }

  .solution-img .alignleft {
    float: none;
    margin-inline: auto;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  h3.solution-title {
    text-align: center !important;
  }
}

@media (max-width: 599px) {
  .solution-title-group {
    display: block !important;
  }
  .solution-section h2.section-title {
    font-size: 23px;
  }
  h3.solution-title {
    font-size: 18px;
  }
  p.solution-text {
    font-size: 15px;
  }
}

/* ==============================
       漫画で解説(.page-id-22)
=============================== */
.comic-fv-section {
  padding-top: 4.7rem !important;
  padding-bottom: 4.8rem !important;
}
.comic-fv-group {
  padding-left: clamp(0rem, -5rem + 8.333vw, 2.5rem);
}

.comic-fv-icon-group {
  gap: clamp(0rem, -2.4rem + 4vw, 1.2rem);
  margin-bottom: 1.5rem;
}
p.comic-fv-title1 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
p.comic-fv-title2 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

p.comic-fv-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  text-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.11999999731779099);
}

@media (max-width: 959px) {
  .comic-fv-section {
    padding-top: 0rem !important;
  }
  .comic-fv-img {
    margin-bottom: 0;
  }
}
@media (max-width: 599px) {
  .comic-fv-section {
    padding-top: 2rem !important;
  }
  p.comic-fv-title1 {
    font-size: 18px;
  }
  p.comic-fv-title2 {
    font-size: 30px;
  }
  .comic-fv-icon img {
    width: 95px;
  }
  .comic-fv-icon-group {
    margin-bottom: 1rem;
  }
  p.comic-fv-text {
    font-size: 15px;
  }
}

/* ========== comicセクション ========== */
.comic-section {
  padding-top: 6.7rem !important;
}

.comic-item {
  background-color: #ffffff;
  border-radius: 0.625rem;
  box-shadow: 0 0.125rem 0.75rem 0 rgba(0, 0, 0, 0.10000000149011612);
}

p.comic-tag {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #ffffff;
  padding: 0.125rem 0.75rem;
  background-color: #12a6bb;
  border-radius: 1.875rem;
  border: 0.063rem solid #ffffff;
  width: fit-content;
  margin-left: auto;
  margin-bottom: 0;
  transform: translateX(7px);
}
.comic-img {
  margin-top: -1rem;
}
h2.comic-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em !important;
  margin: 0 0 0.5rem;
}
p.comic-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1211px) {
  .comic-spacer1 {
    display: none;
  }
}
@media screen and (max-width: 1199px) and (min-width: 1180px) {
  .comic-spacer1 {
    display: block;
  }
}

@media screen and (max-width: 959px) and (min-width: 600px) {
  h2.comic-title {
    text-align: center !important;
  }
}

@media (max-width: 959px) {
  .comic-section {
    padding-top: 1rem !important;
  }
}

@media (max-width: 599px) {
  p.comic-tag {
    font-size: 13px;
  }
  h2.comic-title {
    font-size: 18px;
  }
  p.comic-text {
    font-size: 15px;
  }
}

/* ========== smileセクション ========== */
.smile-section {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.smile-section h2.section-title {
  font-size: clamp(1.75rem, 1.25rem + 0.833vw, 2rem);
  margin-bottom: clamp(1.4rem, -0.6rem + 3.333vw, 2.4rem);
}

.smile-text-column {
  z-index: 1;
}

p.smile-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-bottom: 1.7rem;
}

p.smile-main-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin-top: 1.9rem;
  padding-top: 1rem;
  position: relative;
}
p.smile-main-text::before {
  content: "";
  display: block;
  width: 5rem;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(to right, #1bb8ce 50%, transparent 50%);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}

.smile-img-column {
  position: relative;
  z-index: 1;
}
.smile-img-column::before,
.smile-img-column::after {
  content: "";
  display: block;
  width: 19.625rem;
  height: 19.625rem;
  background-color: #1bb8ce;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.smile-img-column::before {
  top: -4.7rem;
  left: -5rem;
}
.smile-img-column::after {
  bottom: -5rem;
  right: -1.9rem;
}

@media (max-width: 1221px) {
  .smile-text-column {
    padding: 0 !important;
  }
}

@media screen and (max-width: 959px) {
  .smile-column .swell-block-column:nth-child(1) {
    order: 2;
  }
  .smile-column .swell-block-column:nth-child(2) {
    order: 1;
  }
  .smile-img-contents-column .swell-block-column:nth-child(1) {
    order: 1;
    padding: 0 !important;
  }
  .smile-img-contents-column .swell-block-column:nth-child(2) {
    order: 2;
    padding-right: 0 !important;
  }

  .smile-section h2.section-title {
    font-size: 2rem;
  }
  .smile-column .swell-block-columns__inner {
    gap: 6rem;
  }
  .smile-img-contents-column .swell-block-columns__inner {
    gap: 0;
  }
}

@media screen and (max-width: 599px) {
  .smile-section h2.section-title {
    font-size: 24px;
  }
  p.smile-text {
    font-size: 15px;
  }
  p.smile-main-text {
    font-size: 18px;
  }

  .smile-img-column::before,
  .smile-img-column::after {
    width: 12.625rem;
    height: 12.625rem;
  }
}

/* ==============================
            投稿ページ
============================== */
.blog .p-postList__meta :before,
.single .c-postTimes__modified:before,
.single .c-postTimes__posted:before,
.archive .p-postList__meta :before {
  display: none;
}

.c-gnav .sub-menu a:before,
.c-listMenu a:before,
.widget_categories > ul > .cat-item > a:before,
.wp-block-categories-list > li > a:before {
  display: none;
}
.c-listMenu a,
.c-listMenu a:hover,
.widget_categories ul li a,
.widget_categories ul li a:hover,
.wp-block-categories-list li a,
.wp-block-categories-list li a:hover {
  transition: none;
  background-color: transparent;
  padding-left: 0;
  padding-right: 1em;
}
.c-listMenu a::before,
.c-listMenu a::after,
.c-listMenu a:hover::before,
.c-listMenu a:hover::after,
.widget_categories ul li a::before,
.widget_categories ul li a::after,
.widget_categories ul li a:hover::before,
.widget_categories ul li a:hover::after,
.wp-block-categories-list li a::before,
.wp-block-categories-list li a::after,
.wp-block-categories-list li a:hover::before,
.wp-block-categories-list li a:hover::after {
  transition: none;
  transform: none;
  left: 0.5em;
}

/* ===============================
    お問い合わせページ(.page-id-28)
================================== */
.contact-line-item {
  border: 1px solid #06c755;
  background-color: #ffffff;
  border-radius: 24px;
  box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.10000000149011612);
}
.contact-line-title-group {
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.contact-tel-item {
  border: 1px solid #333333;
  background-color: #ffffff;
  border-radius: 24px;
  box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.10000000149011612);
}

p.contact-line-number {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

p.contact-line-number a {
  border-bottom: 1px solid #333;
}
p.contact-line-number a:hover {
  opacity: 0.8;
}

.foam-section .section-title-group {
  text-align: center;
}

/* === お問い合わせフォーム === */
.wp-block-snow-monkey-forms-item.smf-item {
  margin-bottom: 1.5rem;
}

/* プログレストラッカー */
.smf-progress-tracker__item[aria-current="true"]
  .smf-progress-tracker__item__number {
  background-color: #1bb8ce;
}
.smf-progress-tracker__item[aria-current="true"]
  .smf-progress-tracker__item__text {
  color: #1bb8ce;
}
ol.smf-progress-tracker {
  margin-bottom: 4rem;
}

.smf-form {
  max-width: 800px;
  margin-inline: auto;
}

/* 確認ボタン */
.smf-action {
  text-align: center;
  margin-top: 3rem;
}
.smf-action .smf-button-control__control {
  width: 313px;
  height: 54px;
  padding: 12px 36px;
  border: 1px solid #ffffff;
  border-radius: 24px;
  background-color: #1bb8ce;
  color: #ffffff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
  background-image: none !important;
  box-shadow: 0px 2px 8px 0px rgba(74, 74, 72, 0.11999999731779099);
}
.smf-action .smf-button-control__control[disabled] {
  color: #fff;
}

.smf-action .smf-button-control__control:hover {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #1bb8ce !important;
  border: 1px solid #1bb8ce;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.foam-group {
  margin: 3rem 0;
}

p.foam-text-group a {
  border-bottom: 1px solid #333;
}
p.foam-text-group a:hover {
  opacity: 0.8;
}

.check-text {
  text-align: center;
}

/* Turnstile全体を中央寄せ */
.snow-monkey-forms-turnstile {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 599px) {
  input.smf-text-control__control {
    width: 100%;
  }
}

/* ==============================
   プライバシーポリシー(.page-id-30) 
================================ */
p.privacy-text a {
  border-bottom: 1px solid #333;
}
p.privacy-text a:hover {
  opacity: 0.8;
}

/* ==============================
    よくあるご質問(.page-id-26)
================================ */
.under-faq-section ul.c-tabList {
  margin-bottom: 3rem !important;
}

.under-faq-section .swell-block-accordion__title,
.under-faq-section .swell-block-accordion__body {
  position: relative;
  padding-left: 3.2rem;
}
.under-faq-section .swell-block-accordion__title::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(calc(-50% + 2px));
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1bb8ce;
  z-index: 1;
}
.under-faq-section .swell-block-accordion__title::after {
  content: "Q";
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
  z-index: 2;
}

.under-faq-section .swell-block-accordion__body::before {
  content: "A";
  position: absolute;
  left: 1rem;
  top: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #ffb86b;
  color: #fff;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1;
}

@media screen and (max-width: 599px) {
  .under-faq-section .swell-block-accordion__title::before {
    transform: translateY(calc(-50% + 1px));
  }
  .under-faq-section .swell-block-accordion__body::before {
    top: 1.4rem;
  }
}
