@charset "UTF-8";

header {
  margin-top: 0;
}

.pc-br {
  display: block;
}

.sp-br {
  display: contents;
}

.pc-none {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pc-br {
    display: inline;
  }

  .sp-br {
    display: block;
  }

  .pc-none {
    display: block !important;
  }

  .sp-none {
    display: none !important;
  }
}

.color-pink {
  color: #ed6d65;
}

.header-real_estate_chirashi {
  position: fixed;
  z-index: 999;
  color: #fff;
  left: 0;
  right: 0;
  height: 60px;
}

.primary_logo_img_wrap {
  padding: 12px 20px;
}

.header_logo_link {
  display: inline-block;
}

.header_logo_img {
  width: 100%;
}

.real_estate_chirashi-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0px;
}

.real_estate_chirashi-inner.firstview {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px 1%;
}

.real_estate_chirashi-inner.abnormal {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0px 1%;
}

@media screen and (max-width: 768px) {
  .primary_logo_img_wrap {
    padding: 12px 4vw;
  }
  .real_estate_chirashi-inner,
  .real_estate_chirashi-inner.abnormal {
    padding: 0px 8vw;
  }
}

.main-visual {
  padding-top: 60px;
  position: relative;
  background-color: #ffffef;
  z-index: 0;
  padding-bottom: 80px;
}

.background-role-design {
  position: absolute;
  z-index: -4;
  top: 17%;
  left: 0;
  display: block;
  height: 100px;
  width: 100%;
  background: url(../../jarea_corporate_img/flyer/background-role-design-text-img.svg) repeat-x left center / contain;
  animation: flow-x 20s linear infinite;
  will-change: background-position;
}

/* FV背景テキスト　右→左へ流れる */
@keyframes flow-x {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -100% 0;
  }
}

@media screen and (max-width: 768px) {
  .background-role-design {
    background: url(../../jarea_corporate_img/flyer/background-role-design-text-img.svg) repeat-x left center / 800px auto;
  }

  @keyframes flow-x {
    from {
      background-position: 0 0;
    }
    to {
      background-position: -800px 0;
    }
  }
}

.chirashi-container {
  display: flex;
}

.first-heading-title-wrap {
  flex: 1;
  width: fit-content;
  margin-top: 20px;
  position: absolute;
  left: 0;
  z-index: 1;
}

.first-heading-title {
  writing-mode: tb;
  font-size: 12px;
  font-weight: normal;
  padding-left: 20px;
  letter-spacing: 1.2px;
}

.main-visual-impact-catchcopy {
  color: #ed6d65;
  font-size: clamp(2.875rem, 2.446rem + 0.89vw, 3.25rem);
  letter-spacing: 0.2px;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 24px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .main-visual {
    padding-top: 0;
  }

  .main-visual-impact-block {
    padding-top: 120px;
  }

  .chirashi-container {
    flex-direction: column;
  }

  .first-heading-title-wrap {
    margin-top: 38px;
  }

  .background-role-design {
    background-size: cover;
  }

  .first-heading-title {
    writing-mode: lr-tb;
    font-size: 8px;
    padding: 0 4vw;
    line-height: 1.7;
    margin-right: 60px;
  }

  .first-heading-title span {
    display: block;
  }

  .main-visual-impact-catchcopy {
    writing-mode: tb;
    width: fit-content;
    line-height: 1.6;
    font-size: clamp(1.938rem, 1.268rem + 3.35vw, 2.875rem);
    text-align: left;
    margin-bottom: 34px;
  }

  .sp-kerning {
    letter-spacing: -0.4em;
  }
}

.main-visual-impact-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  padding-bottom: 6px;
  z-index: 0;
}

.main-visual-impact-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../../jarea_corporate_img/flyer/fv-human-a.svg");
  background-size: 16%;
  background-position: left 25px bottom 10px;
  background-repeat: no-repeat;
  transform: translateX(-20px);
  opacity: 0;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: -2;
}

.main-visual-impact-block::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../../jarea_corporate_img/flyer/fv-human-b.svg");
  background-size: 17.5%;
  background-position: right 11px bottom 9px;
  background-repeat: no-repeat;
  transform: translateX(20px);
  opacity: 0;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: -2;
}

@media screen and (max-width: 768px) {
  .main-visual-impact-block::before {
    background-size: 27%;
    background-position: left 6px top 26%;
  }
  .main-visual-impact-block::after {
    background-size: 29%;
    background-position: right -10px top 28%;
  }
}

/* 例外指定：背景セクション本体はフェード対象外 */
.main-visual-impact-block[data-anim-target] {
  opacity: 1;
  transform: none;
  transition: none;
}

/* .is-fv-anim が付いたらフェード＆スライドして登場 */
.main-visual-impact-block.is-fv-anim::before,
.main-visual-impact-block.is-fv-anim::after {
  transform: translateX(0);
  opacity: 1;
}

.main-visual-impact-leadtext-tree {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  font-size: clamp(1.188rem, 0.688rem + 1.04vw, 1.625rem);
  letter-spacing: 0.2px;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 30px;
  width: 100%;
  gap: 10px;
  flex-direction: column;
}

.main-visual-impact-production-results-design-wrap {
  margin-bottom: 35px;
}

/* 回転の初期状態 */
.main-visual-impact-catchcopy-connection {
  display: inline-block;
  transform: rotate(0deg);
}

/* 親に is-anim-active が付与された時のみ発火 */
.main-visual-impact-leadtext-tree-child.keyword.is-anim-active .main-visual-impact-catchcopy-connection {
  animation: rotate-connection 0.6s ease-out both;
}

/* 回転アニメーション定義 */
@keyframes rotate-connection {
  0% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media screen and (max-width: 768px) {
  .main-visual-impact-leadtext-tree {
    order: 4;
    margin-top: 60px;
    gap: 30px;
  }

  .main-visual-impact-leadtext-tree-child {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  .main-visual-impact-leadtext-tree-child.keyword {
    line-height: 1.2;
    font-size: clamp(0.813rem, 0.723rem + 0.45vw, 0.938rem);
    flex-direction: column;
    gap: 12px;
  }

  .main-visual-impact-leadtext-tree-child.onestop {
    line-height: 1.2;
    display: grid;
    gap: 12px;
    font-size: clamp(1.625rem, 0.464rem + 5.8vw, 3.25rem);
  }

  .main-visual-impact-leadtext-tree-child.onestop span {
    display: block;
    width: fit-content;
    margin: 0 auto;
    position: relative;
  }

  .main-visual-impact-leadtext-tree-child.onestop span::before {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    height: 4px;
    background: #000;
    width: 0;
    transition: width 0.6s ease-out;
  }

  /* 発火時 */
  .main-visual-impact-leadtext-tree-child.onestop.is-anim-active span::before {
    width: 100%;
  }

  .main-visual-impact-production-results-design-wrap {
    order: 2;
    margin-bottom: 65px;
    width: 100%;
  }

  .fv-cv-btn-area {
    order: 3;
  }
}

.rating-design {
  font-size: 23px;
  letter-spacing: 5px;
  text-align: center;
  margin-top: 8px;
}

.gold-flow-anim {
  background: repeating-linear-gradient(270deg, #bf9451 0%, #d5b737 10%, #bf9451 20%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: goldFlow 8s linear infinite;
}

@keyframes goldFlow {
  from {
    background-position: 0% 0%;
  }
  to {
    background-position: 100% 0%;
  }
}

.main-visual-impact-production-results {
  font-weight: bold;
  text-align: center;
  font-size: clamp(1.5rem, -0.076rem + 3.28vw, 2.875rem);
  letter-spacing: 2px;
}

.main-visual-impact-production-results .large-number {
  font-size: clamp(3.125rem, 1.911rem + 3.53vw, 10.188rem);
  letter-spacing: 0;
  line-height: 1;
}

.main-visual-impact-production-results-design {
  position: relative;
  padding: 8px 62px;
  margin-bottom: 35px;
  width: fit-content;
  margin: 0 auto;
}

.main-visual-impact-production-results-design::before,
.main-visual-impact-production-results-design::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 120px;
  position: absolute;
}

.main-visual-impact-production-results-design::before {
  background: url(../../jarea_corporate_img/flyer/gold-leaf-left-parts.svg) no-repeat left center / contain;
  left: 0;
  bottom: 0;
}

.main-visual-impact-production-results-design::after {
  background: url(../../jarea_corporate_img/flyer/gold-leaf-right-parts.svg) no-repeat right center / contain;
  right: 0;
  bottom: 0;
}

.main-visual-impact-production-results-note {
  margin-top: -23px;
  font-weight: normal;
  font-size: 10px;
  line-height: 1.4;
  margin-left: auto;
  width: fit-content;
  transform: scale(0.75);
  position: absolute;
  right: 35px;
}

@media screen and (max-width: 768px) {
  .main-visual-impact-production-results-note {
    margin: 10px auto 0;
    width: fit-content;
    transform: scale(1);
    right: unset;
    left: calc(50% - 80px);
  }
}

.main-visual-impact-production-results-note span {
  display: block;
}

#particles-js {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99;
  pointer-events: none;
}

.fv-cv-btn-area {
  display: flex;
  justify-content: center;
  width: 100%;
}

.cv-btn-link-wrap {
  position: relative;
}

.cv-btn-link {
  display: block;
  padding: 26px 48px 20px;
  border-radius: 13px;
  letter-spacing: 3px;
  font-size: clamp(1rem, 0.623rem + 0.78vw, 1.125rem);
  transition: all 0.3s ease;
  will-change: transform;
  text-align: center;
}

.cv-btn-link.download-contact {
  background: #ec6d65;
  color: #fff;
  box-shadow: 0 6px 0 #ec4165;
}

.cv-btn-link.download-contact:hover {
  transform: translateY(6px);
  box-shadow: none;
}

.cv-btn-link.download-contact::before {
  content: "";
  display: inline-block;
  background: url(../../jarea_corporate_img/flyer/download-contact-btn-ico.svg) no-repeat left top / contain;
  width: 29px;
  height: 20px;
  vertical-align: bottom;
}

.cv-btn-link.free-chat {
  background: #ffe664;
  color: #ec4165;
  box-shadow: 0 6px 0 #c8b900;
}

.cv-btn-link.free-chat:hover {
  transform: translateY(6px);
  box-shadow: none;
}

.cv-btn-link.free-chat::before {
  content: "";
  display: inline-block;
  background: url(../../jarea_corporate_img/flyer/free-chat-btn-ico.svg) no-repeat left top / contain;
  width: 32px;
  height: 17px;
  vertical-align: bottom;
}

.fv-cv-btn-area {
  display: block;
  width: fit-content;
}

/* CVボタン */
.cv-btn-container {
  display: flex;
  gap: 30px;
  justify-content: center;
}

.cv-btn-speech-bubble-text {
  position: relative;
  background: #ffeceb;
  display: inline-flex;
  border-radius: 50px;
  padding: 7px 15px;
  color: #ec4166;
  font-size: 11px;
  letter-spacing: 1.2px;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .fv-cv-btn-area {
    margin-top: 30px;
  }

  .cv-btn-container {
    flex-direction: column;
  }

  .cv-btn-speech-bubble-text {
    font-size: 10px;
    padding: 6px 6px;
  }

  .cv-btn-link {
    padding: 26px 14px 20px;
    font-size: clamp(0.813rem, 0.634rem + 0.89vw, 1.063rem);
  }
}

/* ▼ 吹き出しの三角部分 */
.cv-btn-speech-bubble-text::after {
  content: "";
  position: absolute;
  bottom: -10px; /* 吹き出しとの接続位置を調整 */
  left: 50%;
  transform: translateX(-50%);
  width: 19px;
  height: 17px;
  background: #ffeceb;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.cv-btn-speech-bubble {
  width: 80%;
  margin: 0 auto -17px;
  position: relative;
  z-index: 1;
  text-align: center;
}

.hum_nav_menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
  width: 80%;
  max-width: 640px;
  /* height: 100vh; */
  transform: translateX(100%);
  transition: all 0.3s;
}

.humNavMenuIsOpen {
  transform: translateX(0);
}

.hum_nav_menu_list-container {
  width: 100%;
  overflow-y: auto;
  background-color: #ffe;
  border-bottom-left-radius: 16px;
  border-top-left-radius: 16px;
  padding: min(1.9591836735vw + 16.6530612245px, 48px);
  position: fixed;
  right: 0;
  top: min(2.7755102041vw + 69.5918367347px, 114px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.hum_nav_menu_list-container .cv-btn-container {
  margin-top: 70px;
}

.hum_nav_menu_list-container .cv-btn-link {
  font-size: 16px;
  padding: 24px;
}

.hum_nav_menu_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 48%;
}
@media screen and (max-width: 768px) {
  .hum_nav_menu_list {
    width: 100%;
  }
  .hum_nav_menu_list.left {
    margin-right: 0;
  }
  .hum_nav_menu_list-container .cv-btn-link {
    font-size: 15px;
    padding: 20px 12px;
  }
}

.hum_nav_menu_list.left {
  margin-right: 20px;
}

.hum_nav_menu_item_link {
  display: flex;
  border-bottom: 1px solid #ccc;
  width: 100%;
  padding: 16px;
  padding-left: 32px;
  gap: 1em;
  font-weight: normal;
  align-items: center;
}

.hum-menu-cv-area {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .hum_nav_menu_list-container {
    width: 100%;
    overflow-y: auto;
    height: calc(90vh - 60px);
    padding: 24px;
    top: min(2.7755102041vw + 69.5918367347px, 114px);
    gap: 20px;
    display: block;
    overflow-x: hidden;
  }

  .hum_nav_menu {
    width: 100%;
    max-width: 90vw;
  }

  .hum_nav_menu_item_link {
    font-size: 14px;
  }
}

.gnav-menu-arrow-ico {
  aspect-ratio: 1;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 999px;
  color: #ec6f64;
  cursor: pointer;
  font-size: min(0.1632653061vw + 0.8367346939rem, 1rem);
  overflow: hidden;
  padding: 1em;
  transition: 0.3s ease;
  padding: 0;
  width: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gnav-menu-arrow-ico-img {
  fill: #ec6f64; /* 通常時 */
  transition: fill 0.3s ease;
}
.hum_nav_menu_item_link:hover .gnav-menu-arrow-ico-img {
  fill: #fff;
}

.hum_nav_menu_item_link:hover .gnav-menu-arrow-ico {
  background-color: #ec6f64;
  border-color: #ec6f64;
  color: #fff;
}

/* ハンバーガーメニューボタンパーツ */
.hum_btn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 30;
  height: 60px;
  padding-left: 20px;
  padding-right: 20px;
  background: #ec6d65;
  border-radius: 0 0 0 17px;
}

.hum_btn_line_top {
  position: absolute;
  top: 14px;
  width: 33px;
  height: 3px;
  background-color: #fff;
  transition: all 0.3s;
}

.buttonIsOpen .hum_btn_line_top {
  transform: translateY(13.5px) rotate(45deg);
  top: 9px;
}

.hum_btn_line_medium {
  position: relative;
  top: -6px;
  width: 33px;
  height: 3px;
  background-color: #fff;
  transition: all 0.3s;
}

.buttonIsOpen .hum_btn_line_medium {
  opacity: 0;
}

.hum_btn_line_bottom {
  position: absolute;
  bottom: 26px;
  width: 33px;
  height: 3px;
  background-color: #fff;
  transition: all 0.3s;
}

.buttonIsOpen .hum_btn_line_bottom {
  transform: translateY(-13.5px) rotate(-45deg);
  top: 35px;
}

.hum_btn_menu_title::before {
  content: "MENU";
  display: inline-block;
  position: absolute;
  bottom: 8px;
  font-size: 10px;
  line-height: 1.1;
}

.buttonIsOpen .hum_btn_menu_title::before {
  content: "CLOSE";
  left: calc(50% - 17px);
}

/* メニュー展開時、背景オーバーレイ */
.overlay_component {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background-color: rgba(255, 251, 237, 0.7);
  opacity: 0;
  transition: all 0.3s;
}

.overlayIsOpen {
  visibility: visible;
  opacity: 1;
}

/* メニュー展開時、背景固定 */
.isScrollAllowed {
  overflow: hidden;
}

/* FV　チラシ画像無限ループスライダー */
.fv-role-gallery-swiper-main {
  margin-top: 32px;
}

.fv-role-gallery-swiper-main .swiper-slide {
  width: auto; /* slidesPerViewで制御する場合 */
  height: auto; /* もしくは必要な固定高さ */
  overflow: hidden;
  margin-top: 40px;
}

.fv-role-swiper-slide-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.gold-crown-badge-list {
  display: flex;
  gap: 20px;
  margin-top: 60px;
}

.gold-crown-badge-img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .gold-crown-badge-list {
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
  }
}

/* ==============================
   お悩み・ソリューション section
============================== */
/* =======================================
   背景ラウンドシェイプ専用設定
======================================= */

/* ベース構造 */
.real_estate_chirashi-bg-round {
  position: relative;
  overflow: visible;
  margin-top: calc((167 / 1600) * 100vw);
}

.real_estate_chirashi-bg-round.top::before {
  content: "";
  position: absolute;
  bottom: 100%; /* セクション上に配置 */
  left: 0;
  width: 100%;
  aspect-ratio: 1600/167;
  background-image: url(../../jarea_corporate_img/flyer/bg-round-top-blue.svg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  transform: translateY(0) scaleY(0); /* 初期はつぶした状態 */
  transform-origin: bottom center;
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  will-change: transform;
  z-index: 1;
  opacity: 1;
}

.real_estate_chirashi-bg-round.top.blue::before {
  background-image: url(../../jarea_corporate_img/flyer/bg-round-top-blue.svg);
}

.real_estate_chirashi-bg-round.top.sand-yellow::before {
  background-image: url(../../jarea_corporate_img/flyer/bg-round-top-sand-yellow.svg);
}

.real_estate_chirashi-bg-round.top.light-sand-yellow::before {
  background-image: url(../../jarea_corporate_img/flyer/bg-round-top-light-sand-yellow.svg);
}

.real_estate_chirashi-bg-round.top::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #ffffef;
  z-index: -1;
  opacity: 1;
  transition: none; /* 遅延なく表示 */
  margin-top: calc((168 / 1600) * -100vw);
  bottom: 100%;
  left: 0;
  width: 100%;
  aspect-ratio: 1600 / 168;
}

.real_estate_chirashi-bg-round.top.sand-yellow::after {
  background-color: transparent;
}

.production-flow-section-wrap.real_estate_chirashi-bg-round.top.sand-yellow::after {
  background-color: #edddb8;
}

.real_estate_chirashi-bg-round.top.light-sand-yellow::after {
  background-color: #f7f8df;
}

/* 展開時アニメーション */
.real_estate_chirashi-bg-round.has-anim-before::before {
  transform: translateY(0) scaleY(1);
}

/* 背景色セクション */
.bg-color-blue {
  background-color: #d9edee;
}

.bg-color-sand-yellow {
  background-color: #f7f8df;
}

.bg-color-pink-stripe {
  position: relative;
  background-color: #ec6f64; /* ベースカラー */
  background-image: repeating-linear-gradient(135deg, #f28c83, #f28c83 0.8px, transparent 0.8px, transparent 20px);
  background-repeat: repeat; /* 横も縦も繰り返す */
  background-size: auto; /* サイズ固定せず自然に繰り返す */
}

.bg-color-brown {
  background-color: #ecddb8;
}

.bg-color-light-sand-yellow {
  background-color: #eceab8;
}

/* よくあるお悩みセクション */
.swiper-solution-and-problem-container {
  position: relative;
  width: 80%;
  height: 100%;
  margin: 30px auto 0;
}

@media screen and (max-width: 768px) {
  .swiper-solution-and-problem-container {
    width: 100%;
  }
}

.swiper-solution-and-problem-main {
  width: 100%;
  overflow: hidden;
  padding-top: 30px !important;
}

/* オリジナル矢印画像設定用 */
.swiper-button-prev__origin {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -15px;
  margin-top: auto;
  margin-bottom: auto;
  z-index: 10;
  width: 40px;
  height: 40px;
  cursor: pointer;
  display: block;
}

.swiper-button-next__origin {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -15px;
  margin-top: auto;
  margin-bottom: auto;
  z-index: 10;
  width: 40px;
  height: 40px;
  cursor: pointer;
  transform: scale(-1, 1);
  display: block;
}

@media (min-width: 769px) {
  .swiper-solution-and-problem-main {
    overflow: visible !important;
  }

  .swiper-solution-and-problem-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 24px;
    transform: none !important;
  }

  .swiper-solution-and-problem-slide {
    display: flex;
    flex-direction: column;
    gap: 40px;
    height: 100%;
  }

  .swiper-solution-and-problem-slide-title-wrap,
  .swiper-solution-and-problem-slide-desc-wrap {
    background: #fff;
    border-radius: 13px;
    padding: 12px;
    box-sizing: border-box;
  }

  .swiper-button-next__origin,
  .swiper-button-prev__origin {
    display: none !important;
  }
}

/* よくあるお悩み */
.solution-and-problem-section .bg-color-blue {
  padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .solution-and-problem-section .bg-color-blue {
    padding-top: 20px;
  }
}

.problem-color {
  color: #8baaef;
}

.second-heading-title.solution-and-problem {
  font-size: 31px;
  text-align: center;
  margin-bottom: 60px;
  /* padding-top: 30px; */
  line-height: 1.4;
}

.second-heading-title.solution-and-problem .large-word {
  font-size: 56px;
}

@media screen and (max-width: 768px) {
  .second-heading-title.solution-and-problem {
    font-size: clamp(1.313rem, 0.643rem + 3.35vw, 2.25rem);
    margin-bottom: 0;
  }

  .second-heading-title.solution-and-problem .large-word {
    font-size: clamp(2.563rem, 1.536rem + 5.13vw, 4rem);
  }
}

.swiper-solution-and-problem-slide-title-wrap {
  background: #fff;
  border: 3px solid #8baaef;
  border-radius: 13px;
  padding: 16px 11px;
  display: grid;
  place-items: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .swiper-solution-and-problem-slide-title-wrap {
    margin-bottom: 40px;
  }
}

.swiper-solution-and-problem-slide-title-wrap::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: calc(50% - 42px);
  top: -24px;
  background-image: url(../../jarea_corporate_img/flyer/problem-title-img.svg);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: contain;
  padding: 37px;
}

/* 矢印全体 */
.three-stage-arrow-block {
  position: absolute;
  left: calc(50% - 4px);
  bottom: -1.45em;
  transform: translateX(-50%) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

/* 各三角形 */
.three-stage-arrow-cell {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #ec6d65;
  opacity: 0;
  transform: translateY(-6px);
}

/* アニメーショントリガー時 */
.is-anim-three-stage-arrow .arrow-1 {
  animation: arrowFadeIn 0.4s ease-out 0.3s forwards;
}
.is-anim-three-stage-arrow .arrow-2 {
  animation: arrowFadeIn 0.4s ease-out 0.5s forwards;
}
.is-anim-three-stage-arrow .arrow-3 {
  animation: arrowFadeIn 0.4s ease-out 0.8s forwards;
}

/* アニメーション定義 */
@keyframes arrowFadeIn {
  0% {
    opacity: 0;
    transform: translateY(-6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.swiper-solution-and-problem-slide-desc {
  font-weight: normal;
  font-size: 13px;
  line-height: 1.6;
}

.swiper-solution-and-problem-slide-desc-wrap {
  background: #fff;
  border: 3px solid #f29b7e;
  border-radius: 13px;
  padding: 24px 18px 32px;
  text-align: left !important;
  position: relative;
}

.swiper-solution-and-problem-slide-desc-wrap::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: calc(50% - 42px);
  top: -24px;
  background-image: url(../../jarea_corporate_img/flyer/solution-title-img.svg);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: contain;
  padding: 37px;
}

.swiper-solution-and-problem-slide-title {
  line-height: 1.6;
  font-size: 12.5px;
}

@media screen and (max-width: 768px) {
  .swiper-solution-and-problem-slide-desc {
    font-size: clamp(0.688rem, 0.554rem + 0.67vw, 0.875rem);
  }
}

.cv-bnr-pattern01-wrap {
  position: relative;
  overflow: visible;
  z-index: 1;
}

.straddling-bg-color.top-blue {
  background: linear-gradient(180deg, #d9eeee 0%, #d9eeee 30%, #ffffff 30%, #ffffff 100%);
}

/* CVバナー パターン1*/
.cv-bnr-pattern01 {
  border: 8px solid #ec9d65;
  border-radius: 21px;
  padding-top: 32px;
  position: relative;
  overflow: visible;
  position: relative;
  background-color: #ec6f64;
  background-image: repeating-linear-gradient(135deg, /* 右上→左下 */ #f28c83, /* 線色開始 */ #f28c83 0.8px, /* 線の太さ（元SVGに近い細さ） */ transparent 0.8px, transparent 20px /* 線間隔（SVGパターンに合わせて調整） */);
  background-repeat: repeat;
  background-size: auto;
}
@media screen and (max-width: 768px) {
  .cv-bnr-pattern01 {
    padding-bottom: 4%;
  }
}
.cv-bnr-bg-deco01 {
  position: absolute;
  top: 42px;
  left: clamp(0rem, -5.802rem + 12.07vw, 3.063rem);
  max-width: 128px;
  max-height: 307px;
  width: 100%;
  height: 100%;
  background: url("../../jarea_corporate_img/flyer/cv-bnr-pattern01-human-a.svg") no-repeat left top / 100% 100%;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .cv-bnr-bg-deco01 {
    top: auto;
    bottom: 5%;
    left: -30px;
    height: 59%;
  }
}
.cv-bnr-bg-deco02 {
  position: absolute;
  top: 42px;
  right: clamp(0rem, -5.802rem + 12.07vw, 3.063rem);
  max-width: 125px;
  max-height: 304px;
  width: 100%;
  height: 100%;
  background: url("../../jarea_corporate_img/flyer/cv-bnr-pattern01-human-b.svg") no-repeat left top / 100% 100%;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .cv-bnr-bg-deco02 {
    top: auto;
    bottom: 5%;
    right: -30px;
    height: 57%;
  }
}

.cv-bnr-pattern01::after {
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  background-image: url("../../jarea_corporate_img/flyer/cv-bnr-pattern01-human-b.svg");
  background-size: 10%;
  background-position: right 49px bottom -15px;
  background-repeat: no-repeat;
  transform: translateX(20px);
  opacity: 0;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: 2;
}

.cv-bnr-pattern01-textarea {
  width: 100%;
  margin: 0 auto;
  max-width: 700px;
}

.cv-bnr-title {
  text-align: center;
  font-size: clamp(1.75rem, 0.821rem + 1.93vw, 2.563rem);
  color: #fff;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

.cv-bnr-title-child {
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.cv-bnr-desc-wrap {
  margin-bottom: 55px;
}

.cv-bnr-desc {
  color: #fff;
  font-size: clamp(0.875rem, 0.498rem + 0.78vw, 1rem);
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .cv-bnr-title {
    font-size: clamp(0.875rem, 0.161rem + 3.57vw, 1.875rem);
    line-height: 2;
  }
  .cv-bnr-desc {
    display: flex;
    flex-direction: column;
    font-weight: normal;
    font-size: clamp(0.625rem, 0.223rem + 2.01vw, 1.188rem);
  }
  .cv-bnr-desc-wrap {
    margin-bottom: 0;
  }
}

.cv-simple-contact-to-btn-wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -43px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cv-simple-contact-to-btn-wrap {
    position: relative;
    bottom: unset;
    width: 80%;
    top: 40px;
  }
}
.cv-simple-contact-to-btn {
  background: #ffe664;
  color: #303030;
  box-shadow: 0 6px 0 #c8b900;
  display: inline-block;
  padding: 24px 52px 24px;
  border-radius: 11px;
  letter-spacing: 1px;
  font-size: 22px;
  transition: all 0.3s ease;
  will-change: transform;
  width: 100%;
  max-width: 389px;
}

.cv-simple-contact-to-btn::before {
  content: "";
  display: inline-block;
  background: url(../../jarea_corporate_img/flyer/free-contact-btn-black-ico.svg) no-repeat left bottom / contain;
  width: 33px;
  height: 21px;
  vertical-align: bottom;
}

@media screen and (max-width: 768px) {
  .cv-simple-contact-to-btn {
    padding: 21px 30px;
    font-size: clamp(0.75rem, 0.304rem + 2.23vw, 1.375rem);
  }
}

.cv-simple-contact-to-btn:hover {
  transform: translateY(6px) !important;
  box-shadow: none !important;
}

.marker-action-text-wrap {
  margin-top: 120px;
  margin-bottom: 150px;
}

.marker-action-text {
  text-align: center;
  font-size: clamp(1.125rem, -0.383rem + 3.14vw, 1.625rem);
  line-height: 3;
}

.marker-action-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  line-height: 2.3;
}

.marker-action-text-grandchild {
  width: fit-content;
  position: relative;
}

.marker-action-text-grandchild.second-color {
  color: #fff;
}

.marker-action-text-grandchild.is-bg-line-marker {
  padding: 0 5px;
}

.marker-action-text-grandchild.is-bg-line-marker::before {
  animation: bg-line-marker 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  background: #bddcf3;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: left center;
}

.marker-action-text-grandchild.is-bg-line-marker.second-color::before {
  background: #8baaef;
}

.bg-line-marker .mask {
  color: #fff;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  padding: 5px 15px;
  position: relative;
  z-index: 1;
  opacity: 0;
}
.is-bg-line-marker .mask {
  opacity: 1;
}

@keyframes bg-line-marker {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(-5%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%,
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .marker-action-text {
    font-size: clamp(0.875rem, 0.384rem + 2.46vw, 1.563rem);
    gap: 4px;
  }

  .marker-action-text-grandchild {
    padding: 0 10px;
  }

  .marker-action-text-grandchild.is-bg-line-marker::before {
    display: none;
  }

  .marker-action-text-grandchild.is-bg-line-marker .mask .marker-action-text-grandchild::before {
    animation: bg-line-marker 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    background: #bddcf3;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: left center;
    z-index: -1 !important;
  }

  .is-bg-line-marker .mask {
    flex-direction: column;
    display: flex;
    align-items: center;
    gap: 4px;
  }
}

/* プラン展開 リストスライダー */
.swiper-plan-list-container {
  display: flex;
  flex-direction: row;
  gap: 30px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .swiper-plan-list-container {
    display: block;
  }
}

/* サムネイルスライダー */
.swiper-thumb-plan-list {
  flex: 0.9;
  min-width: 0;
  height: 600px;
}

@media screen and (max-width: 768px) {
  .swiper-thumb-plan-list {
    margin-bottom: 100px;
    height: auto;
  }
}

.swiper-slide-thumb-plan-list-container {
  display: flex;
  gap: 18px;
  text-align: left;
  align-items: center;
}

.swiper-thumb-plan-list .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}

.swiper-thumb-plan-list .swiper-slide {
  opacity: 0.5;
  transition: opacity 0.5s;
}

@media screen and (max-width: 768px) {
  .swiper-slide-thumb-plan-list-num-img-wrap {
    display: none;
  }
}

/* スマホ時は全てのサムネイルの非アクティブマスクをなくして通常表示 */
@media screen and (max-width: 768px) {
  .swiper-thumb-plan-list .swiper-slide {
    opacity: 1 !important; /* 半透明解除 */
    cursor: default;
  }
}

.swiper-main-plan-list .swiper-slide {
  width: 100%;
}

.swiper-slide-thumb-plan-list-subtitle {
  color: #ec6d65;
  font-weight: normal;
  line-height: 1.7;
  letter-spacing: 0.2px;
  font-size: 14px;
}
.swiper-slide-thumb-plan-list-title {
  font-size: 21px;
  margin-top: 4px;
  letter-spacing: 0.4px;
  line-height: 1.9;
}

.swiper-thumb-plan-list .swiper-slide {
  border-bottom: 1px solid #c9caca;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.swiper-thumb-plan-list .swiper-wrapper {
  display: flex;
  flex-direction: column; /* 縦並び */
  height: 100%;
}

.swiper-thumb-plan-list .swiper-slide {
  flex: 1; /* 親の高さを均等に分割 */
  display: flex; /* 子要素を横並びしたい場合 */
  align-items: center; /* 中央寄せ */
}

@media screen and (max-width: 768px) {
  .swiper-thumb-plan-list .swiper-slide {
    display: block;
  }
  .swiper-slide-thumb-plan-list-container {
    display: block;
    padding: 6px 0 24px;
  }
  .swiper-slide-thumb-plan-list-subtitle {
    position: relative;
    padding-left: 49px;
    line-height: 1.6;
    font-size: clamp(0.813rem, 0.411rem + 2.01vw, 1.375rem);
    display: flex;
    align-items: center;
    letter-spacing: 1px;
  }

  .swiper-slide-thumb-plan-list-subtitle::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 38px;
    height: 38px;
    left: 0;
  }

  .swiper-thumb-plan-list .swiper-slide:first-child .swiper-slide-thumb-plan-list-subtitle:before {
    background: url(../../jarea_corporate_img/flyer/swiper-thumb-plan-list-num-ico01.svg) no-repeat left top / 100%;
  }

  .swiper-thumb-plan-list .swiper-slide:nth-child(2) .swiper-slide-thumb-plan-list-subtitle:before {
    background: url(../../jarea_corporate_img/flyer/swiper-thumb-plan-list-num-ico02.svg) no-repeat left top / 100%;
  }

  .swiper-thumb-plan-list .swiper-slide:nth-child(3) .swiper-slide-thumb-plan-list-subtitle:before {
    background: url(../../jarea_corporate_img/flyer/swiper-thumb-plan-list-num-ico03.svg) no-repeat left top / 100%;
  }

  .swiper-thumb-plan-list .swiper-slide:nth-child(4) .swiper-slide-thumb-plan-list-subtitle:before {
    background: url(../../jarea_corporate_img/flyer/swiper-thumb-plan-list-num-ico04.svg) no-repeat left top / 100%;
  }

  .swiper-slide-thumb-plan-list-title {
    font-size: clamp(1.063rem, 0.795rem + 1.34vw, 1.438rem);
    line-height: 1.6;
    margin-top: 16px;
    letter-spacing: 0.7px;
  }
}

/* プラン展開 メインスライド */
.swiper-main-plan-list-wrap {
  flex: 1.1;
  min-width: 0;
  border: 8px solid #ec9d65;
  border-radius: 21px;
  position: relative;
}

/* 吹き出し本体 */
.swiper-bubble {
  position: absolute;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  background: #ec6d65;
  color: #fff;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 50px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.4px;
  white-space: nowrap;
  z-index: 10;
  width: 74%;
}

.swiper-bubble::after {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  transform: translateX(-50%);
  width: 33px;
  height: 24px;
  background: #ec6d65;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media (max-width: 768px) {
  .swiper-bubble {
    font-size: 14px;
    white-space: normal; /* 改行タグを反映 */
    width: 86%;
    border-radius: 11px;
    top: -61px;
  }
  .swiper-bubble::after {
    top: unset;
    bottom: -10px;
    width: 19px;
    height: 17px;
  }
}

.swiper-button-disabled {
  opacity: 0.35; /* 半透明 */
  pointer-events: none; /* クリック無効 */
  cursor: default; /* 通常カーソル */
  transition: opacity 0.3s ease; /* スムーズな切り替え */
}

.swiper-slide-main-plan-list-img-wrap {
  padding: 17px 17px 0;
}

.swiper-slide-main-plan-list-image {
  width: 100%;
}

.swiper-slide-main-plan-list-point-list-wrap {
  width: 86%;
  margin: -30px auto 32px;
  position: relative;
}

.swiper-slide-main-plan-list-point-ol-list {
  background: #fff;
  padding: 24px 24px 2px;
  border-radius: 10px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .swiper-slide-main-plan-list-point-ol-list {
    padding: 24px 12px 2px;
  }
}

.swiper-slide-main-plan-list-point-ol-item-number-desc-wrap {
  line-height: 1.4;
  letter-spacing: 0.2px;
}

.swiper-slide-main-plan-list-point-ol-item {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #303030;
}

.swiper-slide-main-plan-list-point-ol-item:last-child {
  border-bottom: 0;
}

.swiper-slide-main-plan-list-point-ol-list-child {
  counter-reset: my-counter;
  color: #000;
  margin: 0;
  padding: 0;
  padding-left: 1.5rem;
}

@media screen and (max-width: 768px) {
  .swiper-slide-main-plan-list-point-ol-list-child {
    padding: 0;
    padding-left: 0;
  }
}
.swiper-slide-main-plan-list-point-ol-item-child {
  position: relative;
  font-weight: normal;
  padding-left: 1.1rem;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 5px;
}

.swiper-slide-main-plan-list-point-ol-item-child:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #fff;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 16px;
  width: 16px;
  color: #333;
  font-size: 71%;
  line-height: 1;
  position: absolute;
  top: 3px;
  left: 0;
}

.swiper-slide-main-plan-list-point-ol-item-number-title-group {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.swiper-slide-main-plan-list-point-ol-item-num-ico-img-wrap {
  display: flex;
  align-items: center;
}

.swiper-slide-main-plan-list-point-ol-item-number-title {
  color: #ed6d65;
  line-height: 1.4;
  letter-spacing: 1px;
}

.swiper-slide-main-plan-list-point-ol-item-number-desc {
  font-size: 13px;
  font-weight: normal;
  text-align: left;
}

.swiper-slide-main-plan-list-point-ol-item-number-desc-textlink {
  transition: 0.2s;
  padding-bottom: 2px;
  border-bottom: 1px solid #0000ff;
  line-height: 1.6;
}
.swiper-slide-main-plan-list-point-ol-item-number-desc-textlink:hover {
  padding-bottom: 3px;
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .swiper-slide-main-plan-list-point-ol-item-number-title-group {
    flex-direction: column;
  }
  .swiper-slide-main-plan-list-point-ol-item-num-ico-img {
    width: 23px;
  }
  .swiper-slide-main-plan-list-point-ol-item-number-title {
    text-align: center;
    margin-bottom: 8px;
    font-size: 15px;
  }
}

/* オリジナル矢印画像設定用 パターン2 */
.swiper-main-plan-list-exclusive-button-prev__origin {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -20px;
  margin-top: auto;
  margin-bottom: auto;
  z-index: 10;
  width: 40px;
  height: 40px;
  cursor: pointer;
  display: block;
}

.swiper-main-plan-list-exclusive-button-next__origin {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -20px;
  margin-top: auto;
  margin-bottom: auto;
  z-index: 10;
  width: 40px;
  height: 40px;
  cursor: pointer;
  transform: scale(-1, 1);
  display: block;
}

@media (min-width: 769px) {
  .swiper-main-plan-list-exclusive-button-next__origin,
  .swiper-main-plan-list-exclusive-button-prev__origin {
    display: none !important;
  }
}

/* 充実プランエリア 内部リンクシンプルボタン */
.simple-internal-link-btn {
  background: #ffe664;
  color: #303030;
  box-shadow: 0 6px 0 #c8b900;
  display: inline-block;
  padding: 14px 25px 14px;
  border-radius: 11px;
  letter-spacing: 1px;
  font-size: 16px;
  transition: all 0.3s ease;
  will-change: transform;
  width: 100%;
  max-width: 310px;
  line-height: 1.4;
}
.simple-internal-link-btn:hover {
  transform: translateY(6px);
  box-shadow: none;
}

.plan-rollout-overview-heading-second-group {
  position: relative;
  text-align: center;
  margin-bottom: 70px;
}

.plan-rollout-overview-heading-second-subtxt {
  background: url(../../jarea_corporate_img/flyer/bg-moreover-ico.svg) no-repeat center center / 100% 100%;
  color: #fff;
  padding: 12px;
  margin-bottom: 12px;
}

.plan-rollout-overview-heading-second {
  font-size: clamp(1.813rem, 0.493rem + 2.75vw, 2.25rem);
  letter-spacing: 2px;
  width: fit-content;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .plan-rollout-overview-heading-second-child-wrap {
    display: flex;
    flex-direction: column;
  }

  .plan-rollout-overview-heading-second-subtxt {
    margin-bottom: -12px;
  }
  .plan-rollout-overview-heading-second {
    font-size: clamp(1rem, 0.286rem + 3.57vw, 2rem);
    margin-top: 15px;
  }
}

/* 不動産販促、トータル支援セクション */
.second-heading-title.total-support {
  font-size: 52px;
  text-align: center;
  margin-bottom: 60px;
  color: #ec6f64;
  line-height: 1.4;
  margin-bottom: 20px;
}

.solution-and-problem-section {
  padding-bottom: 120px;
}

.total-support-section .marker-action-text {
  margin-bottom: 30px;
}

.total-support-section .marker-action-text-grandchild.is-bg-line-marker {
  padding: 0 93px;
}

@media screen and (max-width: 768px) {
  .second-heading-title.total-support {
    font-size: 27px;
  }
  .total-support-section .marker-action-text-grandchild.is-bg-line-marker {
    padding: 0 8px;
  }
}

.total-support-unique-pc-block {
  margin-top: 40px;
  display: flex;
  gap: 30px;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}

.total-support-unique-pc-block .third-heading-title.total-support {
  color: #ec6f64;
  font-size: 24px;
  letter-spacing: 1px;
  min-width: 12rem;
}
.total-support-unique-pc-block .total-support-desc {
  font-size: 15px;
  font-weight: normal;
}

.total-support-unique-sp-block {
  margin-top: 40px;
  margin-bottom: 20px;
}

.total-support-unique-sp-block .third-heading-title.total-support {
  color: #ec6f64;
  border: 2px solid #ec6f64;
  font-size: 21px;
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 12px;
  padding: 6px;
  text-align: center;
}
.total-support-unique-sp-block .total-support-desc {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.7;
  letter-spacing: 0.2px;
}

/* 主な取引業種スライダー */
.swiper-main-industries-of-business .swiper-wrapper {
  padding-bottom: 7px !important;
}

.swiper-main-industries-of-business .swiper-slide {
  overflow: visible;
}

.swiper-slide-main-industries-of-business-img-wrap {
  padding: 17px 17px 0;
}

.swiper-slide-main-industries-of-business-img {
  width: 100%;
}

.swiper-main-wrap-industries-of-business {
  margin-bottom: 122px !important;
  margin-bottom: 30px;
  overflow: visible;
}

.swiper-slide-main-industries-of-business-wrap {
  width: 83%;
  margin: -30px auto 32px;
  position: relative;
}

.swiper-slide-main-industries-of-business-textarea {
  background: #fff;
  padding: 24px 0 2px;
  border-radius: 10px;
  text-align: left;
}

.swiper-slide-main-industries-of-business-title {
  color: #ed6d65;
  font-size: clamp(1.125rem, 0.183rem + 1.96vw, 1.438rem);
  letter-spacing: 1.6px;
  text-align: center;
  margin-bottom: 26px;
}

.swiper-slide-main-industries-of-business-desc {
  font-size: 12px;
  font-weight: normal;
  text-align: justify;
  line-height: 1.6;
  letter-spacing: 0.2px;
}

@media screen and (max-width: 768px) {
  .swiper-main-wrap-industries-of-business {
    position: relative;
    margin-bottom: 90px !important;
  }
}

.industries-of-business-card-shadow-wrap {
  overflow: visible;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 7px;
  padding-bottom: 20px;
  position: relative;
  z-index: 0;
}

/* CVバルーンバナーエリア */
.cv-balloan-block-container {
  padding-bottom: 90px;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .cv-balloan-block-container {
    padding-bottom: 72px;
    flex-direction: column;
    width: 100%;
    gap: 60px;
  }
}
.solution-color {
  color: #ec6f64;
}

.cv-balloan-block-wrap {
  position: relative;
}
.cv-balloan-block-body-frame {
  position: relative;
  background: #fff;
  border-radius: 8px;
  border: 6px solid #ecae9a;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.4);
  padding: 16px;
}
/* 吹き出し本体 */
.cv-balloan-block-title {
  position: absolute;
  top: -41px;
  left: 50%;
  transform: translateX(-50%);
  background: #ec6d65;
  color: #fff;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 50px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.4px;
  white-space: nowrap;
  z-index: 10;
  width: 75%;
  font-size: 19px;
}

.cv-balloan-block-body-frame::before {
  content: "";
  display: inline-block;
  background: url(../../jarea_corporate_img/flyer/ballon-illust-ico01-02.svg) no-repeat left top / contain;
  position: absolute;
  position: absolute;
  width: 47px;
  height: 44px;
  left: 4px;
  top: -53px;
}

.cv-balloan-block-title::after {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  transform: translateX(-50%);
  width: 33px;
  height: 24px;
  background: #ec6d65;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media screen and (max-width: 768px) {
  .cv-balloan-block-title {
    font-size: clamp(0.625rem, 0.357rem + 1.34vw, 1rem);
    width: 52%;
    top: -29px;
  }

  .cv-balloan-block-title::after {
    background: #ec6d65;
    top: unset;
    bottom: -10px;
    width: 19px;
    height: 17px;
  }
}

.cv-balloan-block-body-container {
  display: flex;
  align-items: center;
  min-height: 155px;
}

.cv-balloan-block-text {
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0.2px;
}

.cv-balloan-block-text-child {
  padding: 6px 15px;
  background: #fff;
  width: fit-content;
}

.cv-balloan-block-img-illust-human-wrap {
  flex: 0.9;
  text-align: center;
}

.cv-balloan-block-img-illust-human {
  height: 155px;
}

.cv-balloan-block-textarea.first {
  flex: 3;
}

.cv-balloan-block-textarea.second {
  flex: 4;
}

@media screen and (max-width: 768px) {
  .cv-balloan-block-body-frame {
    padding: 32px 25px 12px;
  }

  .cv-balloan-block-img-illust-human {
    height: 107px;
  }

  .cv-balloan-block-text {
    gap: 6px;
    font-size: clamp(0.688rem, 0.464rem + 1.12vw, 1rem);
  }

  .cv-balloan-block-body-container {
    min-height: auto;
    gap: 5px;
    margin-top: -12px;
  }

  .cv-balloan-block-body-frame::before {
    width: 32px;
    height: 44px;
    left: -7px;
    top: -44px;
  }
}

/* コンバージョンセクションエリア */
.conversion-section .cv-bnr-pattern01 {
  background: #fff;
  padding-bottom: 40px;
  margin: 0 30px;
  border: 6px solid #f29b7e;
  border-radius: 51px;
}
.shocking-pink-color {
  color: #ec4165;
}

.conversion-section {
  padding: 80px 0 86px;
}

.conversion-section .cv-bnr-title {
  display: block;
  margin-bottom: 12px;
  font-size: 36px;
}

.conversion-section .cv-bnr-title:first-child {
  margin-bottom: 0;
  position: relative;
  line-height: 1.4;
  font-size: 21px;
  margin-bottom: 8px;
}

.conversion-section .cv-bnr-title:first-child::before {
  content: "";
  display: inline-block;
  width: 57%;
  height: 7px;
  background: url(../../jarea_corporate_img/flyer/heading-bottom-wavy-line-ico.svg) no-repeat center center / 100%;
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
}

.cv-bnr-title-child.large-word {
  color: #303030;
  font-size: 42px;
}

.conversion-section .cv-bnr-bg-deco01 {
  position: absolute;
  top: unset;
  left: -13px;
  bottom: -53px;
  max-width: 147px;
  max-height: 296px;
  width: 100%;
  height: 100%;
  background: url("../../jarea_corporate_img/flyer/cv-bnr-pattern02-human-c.svg") no-repeat left top / 100% 100%;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: 0;
}

.conversion-section .cv-bnr-bg-deco02 {
  position: absolute;
  top: unset;
  bottom: -53px;
  right: -26px;
  max-width: 139px;
  max-height: 296px;
  width: 100%;
  height: 100%;
  background: url("../../jarea_corporate_img/flyer/cv-bnr-pattern02-human-d.svg") no-repeat left top / 100% 100%;
  transition: transform 700ms cubic-bezier(0.22, 0.9, 0.3, 1), opacity 700ms ease;
  will-change: transform, opacity;
  pointer-events: none;
  z-index: 0;
}

.conversion-section .cv-bnr-pattern01::before {
  content: "";
  display: inline-block;
  background: url("../../jarea_corporate_img/flyer/cv-bnr-free-text-ico.svg") no-repeat left top / 100% 100%;
  width: 121px;
  height: 121px;
  position: absolute;
  left: 11%;
  top: -62px;
  opacity: 1;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .conversion-section .cv-bnr-pattern01 {
    margin: 0;
    padding: 17px 11px 40px;
  }

  .conversion-section {
    padding: 40px 0;
  }

  .conversion-section .cv-bnr-pattern01::before {
    background: url("../../jarea_corporate_img/flyer/cv-bnr-free-text-ico-sp.svg") no-repeat left top / 100% 100%;
    width: 73px;
    height: 73px;
    left: 4px;
    top: -33px;
  }

  .conversion-section .cv-bnr-title {
    font-size: clamp(0.875rem, 0.741rem + 0.67vw, 1.063rem);
    line-height: 1.4;
  }
  .conversion-section .cv-bnr-title:first-child {
    margin-bottom: 15px;
    line-height: 1.7;
    font-size: 14px;
  }

  .conversion-section .cv-bnr-title-child {
    display: block;
  }

  .cv-bnr-title-child.large-word {
    font-size: 19px;
  }

  .conversion-section .cv-btn-container {
    min-width: 220px;
    margin: 0 auto;
    width: 82%;
  }
  .conversion-section .cv-bnr-title:first-child::before {
    width: 30%;
  }
}

@media screen and (max-width: 1014px) {
  .conversion-section .cv-bnr-bg-deco01 {
    top: 42px;
    left: -12px;
    bottom: unset;
    max-width: 69px;
    max-height: 125px;
  }
  .conversion-section .cv-bnr-bg-deco02 {
    top: 42px;
    right: -12px;
    bottom: unset;
    max-width: 72px;
    max-height: 131px;
  }
  .swiper-solution-and-problem-slide-title {
    font-size: 13px;
  }
  .swiper-solution-and-problem-slide-desc {
    font-size: 13px;
  }
}

/* お客様の声セクション */
.customer-voice-section {
  padding: 70px 0 120px;
}

.customer-voice-section .swiper-button-prev__origin {
  left: 3px;
}

.customer-voice-section .swiper-button-next__origin {
  right: 3px;
}

.second-heading-title.common-design {
  font-size: clamp(1.438rem, 1.08rem + 1.79vw, 1.938rem);
  letter-spacing: 2px;
  line-height: 1.5;
  color: #ee6d65;
  text-align: center;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 42px;
  z-index: 1;
}

.second-heading-title.common-design::before {
  content: "";
  display: inline-block;
  width: 120px;
  height: 7px;
  background: #fff;
  position: absolute;
  left: 50%;
  bottom: 0px;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 1;
}

/* その他パターン */

.second-heading-title.common-design.reverse {
  color: #fff;
}

.second-heading-title.common-design.reverse::before {
  background: #eceab8;
}

.customer-voice-card-container {
  position: relative;
  margin-top: 34px;
}

.customer-voice-swiper-container {
  margin-left: 30vw;
}

.customer-voice-illust-img-wrap {
  margin-bottom: 20px;
  text-align: center;
}

.customer-voice-illust-img {
  width: 53%;
}

.customer-voice-visual-bg-illust-img {
  display: block;
  background: url("../../jarea_corporate_img/flyer/customer-voice-illust.svg") no-repeat right center / contain;
  width: 30vw;
  height: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .customer-voice-visual-bg-illust-img {
    display: none;
  }

  .customer-voice-swiper-container {
    margin-left: 0;
  }
}
.swiper-slide-main-customer-voice-textarea {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.4);
  text-align: left;
  background: #fff; /* 推奨：影を綺麗に見せる */
  margin: 8px;
}

@media screen and (max-width: 768px) {
  .swiper-slide-main-customer-voice-textarea {
    margin: 8px 18px;
  }
}

/* swiper-slide の基本：auto にして伸縮可能に */
.customer-voice-swiper-main .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto;
}

/* 影用ラップ：overflow visible で影を出す */
.card-shadow-wrap {
  overflow: visible;
  height: 100%;
  display: flex;
}

.swiper-slide-main-customer-voice-title {
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: 0.2px;
  margin-bottom: 18px;
}

.swiper-slide-main-customer-voice-client-note {
  font-size: 13px;
  color: #ec6f64;
  margin-bottom: 14px;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .swiper-slide-main-customer-voice-client-note {
    font-size: clamp(0.688rem, 0.598rem + 0.45vw, 0.813rem);
  }
}

.swiper-slide-main-customer-voice-desc {
  font-weight: normal;
  font-size: 14px;
  line-height: 1.7;
  text-align: justify;
}

/* 制作フローセクション */
.production-flow-section .bg-color-sand-yellow {
  padding-bottom: 80px;
}

.production-flow-section-wrap {
  position: relative;
  background: #f7f8e0;
}

.production-flow-illust-img-wrap {
  position: absolute;
  right: 22%;
  top: -127px;
  z-index: 3;
}
.production-flow-illust-img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .production-flow-illust-img-wrap {
    position: relative;
    text-align: center;
    background: #f7f8e0;
    padding: 20px 0 40px;
    right: unset;
    top: unset;
  }

  .production-flow-illust-img {
    max-width: 90px;
  }
}
.second-heading-title.common-design.production-flow::before {
  background: #eccbb8;
}

/* アコーディオン */
.production-flow-accordion-item {
  border-bottom: 12px solid transparent;
}

.production-flow-accordion-header {
  width: 100%;
  background: #fff;
  border: none;
  text-align: left;
  font-size: 18px;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px; /* deco とタイトル間の隙間 */
  border: 1px solid #303030;
}

/* デコ文字（FLOWなど） */
.production-flow-accordion-header-deco {
  font-weight: bold;
  color: #fff;
  background: #303030;
  position: relative;
  left: 0;
  top: 0;
  padding: 12px 28px;
  font-size: 15px;
  letter-spacing: 1.7px;
}

/* タイトル文字 */
.production-flow-accordion-header-title {
  font-weight: bold;
  color: #303030;
  flex: 1; /* タイトルを広げて右端アイコンの位置確保 */
  font-size: 18px;
  letter-spacing: 1.2px;
}

/* --------------------------------------
  アイコン（＋→×）
--------------------------------------- */

/* 横棒（常に表示） */
.production-flow-accordion-header::before {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 23px;
  height: 4px;
  background-color: #333;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}

/* 縦棒（＋用） */
.production-flow-accordion-header::after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  width: 4px;
  height: 23px;
  background-color: #333;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  transition: transform 0.3s ease;
}

/* 開いた時：＋ → × に変化 */
.production-flow-accordion-item.open .production-flow-accordion-header::before {
  transform: translateY(-50%) rotate(45deg);
}

.production-flow-accordion-item.open .production-flow-accordion-header::after {
  transform: translateY(-50%) rotate(-135deg);
}

@media screen and (max-width: 768px) {
  .production-flow-accordion-header::before {
    right: 11px;
    top: unset;
    bottom: 17px;
    width: 15px;
    height: 3px;
  }
  .production-flow-accordion-header::after {
    right: 17px;
    top: unset;
    bottom: 5px;
    width: 3px;
    height: 15px;
  }
}

/* --------------------------------------
  コンテンツ開閉アニメーション
--------------------------------------- */
.production-flow-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.production-flow-accordion-item.open .production-flow-accordion-content {
  max-height: 1054px; /* 中身に合わせて調整可 */
}

/* --------------------------------------
  横スクロールカード
--------------------------------------- */
.production-flow-card-list {
  display: flex;
  overflow-x: auto;
  padding: 42px 0 46px;
}

@media screen and (max-width: 768px) {
  .production-flow-card-list {
    padding: 42px 0 26px;
  }
}
/* 横スクロールバー全体の太さ */
.production-flow-card-list::-webkit-scrollbar {
  height: 12px; /* 横方向なので height が必要 */
}

/* thumb（つまみ） */
.production-flow-card-list::-webkit-scrollbar-thumb {
  background-color: #808080;
  border-radius: 50px;
}

/* track（背景）— 必要なら */
.production-flow-card-list::-webkit-scrollbar-track {
  background: #fff; /* 任意 */
  border-radius: 50px;
}

.production-flow-card-item {
  display: flex;
  flex: 1;
  min-width: 148px;
  position: relative;
  margin-right: 16px;
}

.production-flow-card-item::after {
  content: "";
  display: inline-block;
  background: url(../../jarea_corporate_img/flyer/production-flow-arrow-ico.svg) no-repeat left top / contain;
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 33px;
  height: 15px;
}

.production-flow-card-item:first-child:after {
  display: none;
}

.production-flow-card-item:last-child {
  margin-right: 0;
}
.production-flow-card-title-bg {
  width: 100%;
}
.production-flow-card {
  background: #fff;
  border: 1px solid #ecddb8;
  border-radius: 8px;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 27px 12px 23px;
  gap: 8px;
}
.production-flow-card-number {
  font-size: 38px;
  position: absolute;
  top: -17px;
  font-family: "Oswald", sans-serif;
  color: #303030;
  font-weight: 500;
}

.production-flow-card-title {
  background: #ecddb8;
  padding: 2px 9px;
  height: 38px;
  font-size: 13px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.production-flow-card-desc {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  .production-flow-accordion-header {
    flex-direction: column;
    gap: 0px;
    align-items: flex-start;
  }

  .production-flow-accordion-header-title {
    padding: 12px 0;
    font-size: 14px;
    margin: 0 8px;
    letter-spacing: 0.4px;
  }

  .production-flow-accordion-header-deco {
    width: 100%;
    text-align: center;
    padding: 5px;
    font-size: 12px;
    line-height: 1;
  }
}

/* FAQセクション */

/* 各 FAQ ブロック */
.faq-block {
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.faq-container {
  width: 100%;
  margin: 0 auto !important;
  padding-bottom: 120px;
}

/* 2カラム化（PC） */
.faq-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  background: transparent !important;
  text-align: left;
}

/* SP時は1カラム */
@media (max-width: 768px) {
  .faq-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 22px;
  }
}

/* 質問部分 */
.faq-question {
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  position: relative;
  font-weight: bold;
  background: #ed6d65;
  color: #fff;
  line-height: 1.6;
  border: 1px solid #ee6d65;
  border-bottom: 0;
  position: relative;
  padding-right: 36px;
}

@media screen and (max-width: 768px) {
  .faq-question {
    font-size: 14px;
  }
}
/* summary の ▽ 矢印 */
details summary::-webkit-details-marker {
  display: none;
}

/* アイコン用 ::after */
.faq-question::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-image: url("../../jarea_corporate_img/flyer/faq-btn-plus.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: background-image 0.1s;
}

/* 開いている時のアイコン切替 */
.faq-item details[open] .faq-question::after {
  background-image: url("../../jarea_corporate_img/flyer/faq-btn-minus.svg");
}

/* 回答 */
.faq-answer {
  background: #fff;
  padding: 16px 18px;
  line-height: 1.6;
  font-weight: normal;
  font-size: 13px;
  border: 1px solid #ee6d65;
  border-top: 0;
}

/* 販売促進・サービス */
.promotional-services-section {
  padding: 80px 0 240px;
}

@media screen and (max-width: 768px) {
  .promotional-services-section {
    padding: 80px 0 100px;
  }
}

.promotional-services-balloan-block-wrap {
  position: relative;
}

.promotional-services-balloan-block-body-frame {
  position: relative;
  background: #fff;
  border-radius: 51px;
  border: 8px solid #f29b7e;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.4);
  padding: 54px 32px 32px;
  height: 530px;
}

.promotional-services-balloan-block-title {
  position: absolute;
  top: -41px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffe664;
  color: #ec6d65;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 50px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.4px;
  white-space: nowrap;
  z-index: 10;
  width: 52%;
  font-size: 21px;
}

.promotional-services-balloan-block-title::after {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  transform: translateX(-50%);
  width: 33px;
  height: 24px;
  background: #ffe664;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.promotional-services-balloan-block-body-container {
  display: flex;
  gap: 40px;
}

.promotional-services-balloan-block-textarea {
  width: clamp(21.75rem, 16.309rem + 11.32vw, 24.375rem);
}

@media screen and (max-width: 768px) {
  .promotional-services-balloan-block-textarea {
    width: 100%;
    flex: 1;
  }
}

.promotional-services-balloan-block-media-img-wrap {
  flex: 1;
  text-align: center;
}

.promotional-services-balloan-block-media-title {
  font-size: clamp(1.75rem, 0.714rem + 2.16vw, 2.25rem);
  margin-bottom: 32px;
  letter-spacing: 2px;
}
.promotional-services-balloan-block-media-title .child {
  display: inline-block;
  margin-bottom: 20px;
}

.promotional-services-balloan-block-text {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.9;
  letter-spacing: 0.2px;
  text-align: justify;
}

.promotional-services-balloan-block-media-title [data-anim-type^="straight-line-"]::after {
  height: 7px !important;
  bottom: -13px !important;
}

.promotional-services-balloan-block-wrap.reverse .promotional-services-balloan-block-body-container {
  flex-direction: row-reverse;
  align-items: center;
}

.promotional-services-balloan-block-wrap.reverse {
  margin-top: 80px;
}

.promotional-services-balloan-block-wrap.reverse .promotional-services-balloan-block-textarea {
  flex: 0.8;
}
.second-heading-title.promotional-services.common-design {
  margin-bottom: 80px;
}

.promotional-services-section .cv-simple-contact-to-btn-wrap {
  text-align: center;
  bottom: -120px;
}

.promotional-services-section .cv-simple-contact-to-btn {
  background: #ffe664;
  color: #303030;
  box-shadow: 0 6px 0 #c8b900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 35px;
  border-radius: 11px;
  letter-spacing: 1px;
  font-size: 19px;
  transition: all 0.3s ease;
  will-change: transform;
  width: 100%;
  max-width: 610px;
  margin: 0 auto;
}

.promotional-services-section .cv-simple-contact-to-btn::before {
  background: url(../../jarea_corporate_img/flyer/free-download-btn-black-ico.svg) no-repeat left bottom / contain;
  width: 33px;
  height: 21px;
  vertical-align: bottom;
}

@media screen and (max-width: 768px) {
  .promotional-services-section .cv-simple-contact-to-btn {
    padding: 16px 20px;
    font-size: clamp(0.813rem, 0.455rem + 1.79vw, 1.313rem);
    max-width: clamp(13.75rem, 8.393rem + 26.79vw, 21.25rem);
    line-height: 1.4;
  }

  .promotional-services-section .cv-simple-contact-to-btn::before {
    width: 23px;
    height: 26px;
    margin-right: 7px;
  }
}

.promotional-services-illust-img-wrap {
  margin-bottom: 40px;
  text-align: center;
}

.promotional-services-illust-img {
  width: 38%;
}

@media screen and (max-width: 768px) {
  .promotional-services-illust-img-wrap.second {
    margin-bottom: 40px;
    margin-top: 60px;
  }
  .promotional-services-illust-img-wrap.second .promotional-services-illust-img {
    width: 28%;
  }
}

@media screen and (max-width: 768px) {
  .promotional-services-balloan-block-title {
    width: 90%;
    font-size: 19px;
    top: -67px;
    border-radius: 25px;
  }

  .promotional-services-balloan-block-body-container {
    flex-direction: column;
    gap: 24px;
  }

  .promotional-services-balloan-block-media-title {
    font-size: 16px;
    margin-bottom: 20px;
    letter-spacing: 1px;
    display: flex;
    flex-direction: column;
  }
  .promotional-services-balloan-block-media-title .child {
    width: fit-content;
    margin: 0 auto 15px;
  }
  .promotional-services-balloan-block-text {
    font-size: 12px;
    line-height: 2;
    letter-spacing: 1px;
  }

  .promotional-services-balloan-block-body-frame {
    padding: 50px 18px 32px;
    height: auto;
  }
  .promotional-services-balloan-block-media-title .child:first-child {
    display: block;
  }
  .promotional-services-balloan-block-wrap.reverse .promotional-services-balloan-block-body-container {
    flex-direction: column;
  }
}

/* CVプロモートメッセージエリア */
.promote-contact-message-area {
  text-align: center;
  padding: 60px 0 60px;
}

.promote-contact-message-text {
  color: #333;
  font-weight: bold;
  line-height: 1.4;
  font-size: clamp(1.688rem, 1.499rem + 0.39vw, 1.813rem);
  letter-spacing: 0.4px;
}

.promote-contact-message-text.small {
  margin-bottom: 6px;
}

.promote-contact-message-text.large .ex-large {
  font-size: clamp(2.25rem, 1.874rem + 0.78vw, 2.5rem);
}

@media screen and (max-width: 768px) {
  .promote-contact-message-text.small {
    margin-bottom: 22px;
    font-size: clamp(0.875rem, 0.563rem + 1.56vw, 1.313rem);
  }
  .promote-contact-message-text.large {
    font-size: clamp(1.188rem, 0.83rem + 1.79vw, 1.688rem);
  }
  .promote-contact-message-text.large .ex-large {
    font-size: clamp(1.563rem, 0.67rem + 4.46vw, 2.813rem);
  }
}

/* 不動産関連別ページセクション　リンクバナーエリア */
.real-estate-relation-link-area-section {
  padding: 120px 0 60px;
}

.real-estate-relation-link-list {
  display: flex;
  gap: 30px;
}

.real-estate-relation-link-item-link {
  display: flex;
  flex-direction: column;
  transition: 0.3s;
}

.real-estate-relation-link-item-link:hover {
  opacity: 0.6;
}

.real-estate-relation-link-item-img-wrap {
  overflow: hidden;
  aspect-ratio: 352 / 159;
  background: #ddd;
  width: 100%;
  margin-bottom: 6px;
}

.real-estate-relation-link-item-img {
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.real-estate-relation-link-textarea {
  padding: 0 0 6px;
}

.real-estate-relation-link-title {
  color: #ee6d65;
  font-size: 16px;
  margin-bottom: 8px;
  line-height: 1.3;
}
.real-estate-relation-link-desc {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .real-estate-relation-link-list {
    flex-direction: column;
    gap: 40px;
  }
  .real-estate-relation-link-title {
    font-size: 14px;
    letter-spacing: 0.4px;
    margin-bottom: 6px;
  }
  .real-estate-relation-link-desc {
    font-size: 11px;
    line-height: 1.7;
  }
}

/* informationリンクエリアセクション */
.information-pickup-link-area-section {
  padding: 60px 0 60px;
}

.information-pickup-link-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 80px;
}

.information-pickup-link-item-link {
  display: flex;
  flex-direction: column;
  transition: 0.3s;
}

.information-pickup-link-item-link:hover {
  opacity: 0.6;
}

.information-pickup-link-item-img-wrap {
  overflow: hidden;
  aspect-ratio: 496 / 321;
  background: #ddd;
  width: 100%;
  margin-bottom: 11px;
}

.information-pickup-link-item-img {
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.information-pickup-link-textarea {
  padding: 0 0 6px;
}

.information-pickup-link-title {
  color: #333;
  font-size: 13px;
  margin-bottom: 8px;
  line-height: 1.3;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .information-pickup-link-list {
    gap: 30px;
    grid-template-columns: repeat(1, 1fr);
  }

  .information-pickup-link-item-img-wrap {
    margin-bottom: 7px;
  }

  .information-pickup-link-title {
    font-size: 13px;
    letter-spacing: 0.2px;
    margin-bottom: 0;
  }

  .information-pickup-link-area-section {
    padding: 60px 0 0;
  }
}

/* 資料ダンロードセクション */
.design-download-documents-section {
  padding: 80px 0 140px;
}

@media screen and (max-width: 768px) {
  .design-download-documents-section {
    padding: 80px 0 12px;
  }
}

.second-heading-title.design-download-documents.common-design::before {
  background: #eceab8;
}

.design-download-documents-section .heading-sub-note {
  text-align: center;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  .design-download-documents-section .heading-sub-note {
    text-align: left;
  }

  .design-download-documents-section .second-heading-title.common-design {
    font-size: 18px;
  }
}

.design-download-documents-link {
  transition: 0.4s;
}

.design-download-documents-link:hover {
  opacity: 0.6;
}

.design-download-documents-title {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.7;
  margin-top: 12px;
}

@media screen and (max-width: 768px) {
  .design-download-documents-title {
    font-size: 11px;
    margin-top: 6px;
  }
}

.design-download-documents-list {
  display: grid;
  gap: 44px 64px;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  margin-top: 60px;
  margin-bottom: 50px;
}

/* 上位6件だけ表示したい場合 */
.design-download-documents-item:nth-child(n + 7) {
  display: none;
}

/* スマホ対応（例: 768px以下） */
@media screen and (max-width: 768px) {
  .design-download-documents-list {
    grid-template-columns: 1fr; /* 1列に */
    gap: 16px;
  }

  /* 上位3件だけ表示 */
  .design-download-documents-item {
    display: none;
  }
  .design-download-documents-item:nth-child(-n + 3) {
    display: block;
    margin-bottom: 10px;
  }
}

.design-download-documents-img-wrap {
  width: 100%;
  aspect-ratio: 604 / 427; /* お好みで比率を変更可能 */
  overflow: hidden;
}

.design-download-documents-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cv-btn-link.download-contact.design-download-documents-read-more-btn {
  font-size: 15px;
  padding: 17px 28px;
  max-width: 320px;
  margin: 0 auto;
}

.design-download-documents-illust-bg-pc-only {
  position: relative;
  z-index: 1;
}

.design-download-documents-illust-bg-pc-only::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 17%;
  right: 5%;
  top: 0;
  display: block;
  height: 200px;
  width: 200px;
  background: url(../../jarea_corporate_img/flyer/design-download-documents-illust01.svg) no-repeat right top 20% / 66%;
}

@media screen and (max-width: 768px) {
  .design-download-documents-illust-bg-pc-only::after {
    background: none;
  }
}

.important-information-content {
  margin-top: 60px;
}

.important-information-title-area {
  padding: 14px 30px;
  border: 1px solid #000;
  margin-bottom: 20px;
  font-weight: normal;
}

.important-information-title .strong {
  font-size: 14px;
  text-align: center;
  display: block;
  margin-bottom: 12px;
}

.important-information-title {
  font-size: 11px;
  line-height: 1.7;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .important-information-title {
    text-align: left;
  }
}

.important-information-desc-text {
  font-weight: normal;
  font-size: 12px;
  margin-bottom: 24px;
  line-height: 1.7;
}

/* 下層ページ */
.common-lower-layar {
  padding-top: 120px !important;
  padding-bottom: 70px !important;
}

.common-lower-layer-heading01 {
  writing-mode: tb-rl;
  font-weight: normal;
  font-size: 11px;
  left: 0.5%;
  top: 100px;
  position: absolute;
  transform: scale(0.9);
}

@media screen and (max-width: 768px) {
  .common-lower-layer-heading01 {
    writing-mode: horizontal-tb;
    font-size: 10px;
    top: 60px;
  }
}

.read_more_common_btn_wrap {
  margin-top: 20px !important;
}

.white_paper_gallery_list_container.appear {
  gap: 80px 30px !important;
}

.white_paper_gallery_title {
  color: #000;
  line-height: 1.7;
  letter-spacing: 0.2px;
  font-size: 12px !important;
  font-weight: normal !important;
  margin: 10px 0 8px;
}

@media screen and (max-width: 768px) {
  .read_more_common_btn_wrap {
    margin-top: 0 !important;
  }

  .white_paper_gallery_item {
    margin-bottom: 60px;
    gap: 0;
  }

  .white_paper_gallery_title {
    margin: 10px 0 12px !important;
  }
}

.common-lower-layar .second-heading-title.common-design {
  margin-bottom: 0;
  padding-bottom: 2px !important;
}

.common-lower-layar .heading-sub-note {
  font-size: 13px;
  font-weight: normal;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .common-lower-layar .heading-sub-note {
    font-size: 12px;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
}

.pagination a,
.pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px;
  border-radius: 50%; /* 正円 */
  border: 1px solid #ec6d65;
  font-weight: normal; /* フォントの太さ */
  background-color: #fff; /* デフォルト白抜き */
  text-decoration: none;
  transition: all 0.3s;
  border-color: #ec6d65;
}

.pagination a:hover {
  background-color: #ec6d65 !important;
  color: #fff;
  border-color: #ec6d65;
}

.pagination .current {
  background-color: #ec6d65 !important; /* カレント色 */
  color: #fff;
  font-weight: normal;
  border-color: #ec6d65;
}

/* 矢印も同サイズの正円で統一 */
.pagination .prev,
.pagination .next {
  font-size: 16px;
}

/* h1のナンバリング */
.common-lower-layer-heading01 .page-number {
  writing-mode: horizontal-tb; /* 横書きに戻す */
  display: inline-block;
}

/* 資料ダウンロード個別ページ */
.info_block_title {
  font-size: clamp(16px, 1.9vw, 24px) !important;
  font-weight: normal !important;
  text-align: left !important;
  margin-bottom: 20px;
  color: #000;
}

.info_block_img_wrap {
  margin-bottom: 20px;
  text-align: left !important;
}

.info_block_textarea {
  font-size: 14px;
  line-height: 1.6;
  font-weight: normal !important;
}

.contactform_block_title {
  font-size: 19px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0 !important;
  background: #fff !important;
  padding: 14px !important;
}

.contactform_block_text {
  font-weight: normal !important;
}

@media screen and (max-width: 768px) {
  .info_block_title {
    text-align: center !important;
  }

  .dl-white_paper-container {
    display: block;
    border-top: none !important;
    margin-top: 15px;
    padding-top: 12px;
  }
  .info_block_img {
    width: 100% !important;
  }
}

.section-inner-only-card {
  background: #fff;
  border: 12px solid #f29b7e;
  border-radius: 21px;
  padding: 7%;
}

.flyer_contact {
  padding: 40px 0 40px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.chirashi-lp-contact-page .Form-Item-Label-Required {
  background-color: #c30d23 !important;
  border-radius: 2px !important;
}

.common-lower-layar .heading-sub-title {
  font-size: 18px;
  font-weight: normal;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 40px;
}

.chirashi-lp-contact-page .Form {
  width: 100% !important;
  margin: 0 !important;
}

.contact-tel-info-area {
  text-align: center;
  margin-top: 40px;
}

.contact-tel-info-area-lead-text {
  font-size: 16px;
  font-weight: normal;
  margin-bottom: 2px;
  letter-spacing: 0.4px;
  line-height: 1.7;
}

.tel-phone-number-link {
  font-family: "Jost", sans-serif;
  color: #ee6d65;
  font-weight: 500;
  font-size: 33px;
}

.tel-phone-number {
  margin-bottom: -16px !important;
}

@media screen and (max-width: 768px) {
  .contact-tel-info-area-lead-text {
    font-size: 12px;
  }

  .tel-phone-number-link {
    font-size: 24px;
  }

  .promote-contact-message-text.small {
    transform: scale(0.8);
  }

  .chirashi-lp-contact-page .real_estate_chirashi-inner {
    padding: 0px 4vw;
  }
}

/* 右サイド固定バナーボタン */
.cv-btn-wrap.vertical-writing {
  writing-mode: vertical-rl;
  position: fixed;
  right: 0;
  top: 50svh;
  z-index: 19;
  transform: translateY(-25svh);
}

.cv-btn-wrap.vertical-writing .cv-btn-link {
  padding: 26px 22px 20px;
  border-radius: 13px 0 0 13px;
}

.cv-btn-wrap.vertical-writing .cv-btn-link.free-chat::before {
  background: url(../../jarea_corporate_img/flyer/free-chat-btn-ico.svg) no-repeat center top / contain;
  width: 22px;
  height: 23px;
  vertical-align: bottom;
}

@media screen and (max-width: 768px) {
  .cv-btn-wrap.vertical-writing {
    display: none;
  }
}

.white_paper_gallery_list_container.appear .read_more_common_btn::before {
  content: none;
}
