/* スマホ */
@media screen and (max-width: 600px) {
  /*************************** 01. 枠組共通 ***********************/
  .sp {
    display: initial;
  }

  .pc {
    display: none;
  }

  .sp-only {
    display: initial;
  }

  .pc-only {
    display: none;
  }

  /*************************** 02. header（ヘッダー） ***********************/
  /* Q HACK ヘッダー - スマホ */
  .qhack-header__top-inner {
    padding: 10px 12px;
  }
  .qhack-header__logo img {
    height: 40px;
  }
  .qhack-header__logo-area {
    gap: 10px;
  }
  .qhack-header__desc {
    display: block;
    color: #313131;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.4px;
    white-space: nowrap;
  }
  /* 2行で収まらない幅（320px未満）ではテキストを非表示 */
  @media screen and (max-width: 340px) {
    .qhack-header__desc {
      display: none;
    }
  }
  .qhack-header__cta {
    display: none;
  }
  .qhack-header__nav {
    display: none;
  }
  /* SP版でヘッダー下にグラデーションラインを表示 */
  .qhack-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ff3d3b 0%, #b701f7 100%);
  }
  .qhack-header__hamburger {
    display: flex;
    width: 18px;
    height: 13px;
    padding: 0;
  }
  .qhack-header__hamburger svg {
    width: 18px;
    height: 15px;
    flex-shrink: 0;
  }

  /* Q HACK モバイルメニュー - スマホ表示 */
  .qhack-mobile-menu {
    display: block;
  }
  .qhack-mobile-menu__drawer {
    width: 100%;
    max-width: 350px;
  }
  #body_wrap {
    padding-top: 60px; /* ヘッダー高さ */
  }
  body.admin-bar #body_wrap {
    padding-top: 106px; /* 60px + 46px (mobile admin-bar) */
  }
  body.admin-bar .qhack-header {
    top: 46px;
  }
  /* Q HACK 会社紹介セクション - スマホ */
  .qhack-intro {
    padding: 60px 20px 60px;
  }
  .qhack-intro__title-box {
    width: calc(100% + 20px);
    margin-left: -10px;
    margin-right: -10px;
    padding: 6px 10px;
    border-radius: 16px;
    margin-bottom: 30px;
  }
  .qhack-intro__title-sub {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
  .qhack-intro__title-main {
    font-size: 26px;
    letter-spacing: 1.04px;
  }
  /* PC/SP切り替え - SP版表示 */
  .qhack-intro__content--pc {
    display: none;
  }
  .qhack-intro__content--sp {
    display: block;
  }
  .qhack-intro__btn--pc {
    display: none;
  }
  .qhack-intro__btn--sp {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
  }
  .qhack-intro__content {
    width: 100%;
    margin-bottom: 30px;
  }
  .qhack-intro__content p {
    font-size: 15px;
    line-height: 28px;
    letter-spacing: 0.6px;
    margin-bottom: 20px;
  }
  .qhack-intro__content p br {
    display: none;
  }
  .qhack-intro__highlight {
    font-size: 17px;
    line-height: 28px;
    background-size: 100% 2px;
    padding-bottom: 1px;
  }
  .qhack-intro__group-company.qhack-intro__group-company {
    font-size: 12px;
  }
  .qhack-intro__btn {
    width: auto;
    max-width: calc(100% - 32px);
    padding: 12px 24px;
    margin-bottom: 40px;
    white-space: normal;
  }
  .qhack-intro__btn-text {
    font-size: 15px;
    letter-spacing: 0.6px;
  }
  .qhack-intro__btn-sub {
    font-size: 13px;
    letter-spacing: 0.52px;
  }
  .qhack-intro__btn-main {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.64px;
  }
  .qhack-intro__ranking-title {
    font-size: 24px;
    letter-spacing: 0.96px;
    margin-bottom: 24px;
  }
  .qhack-intro__ranking-images {
    gap: 12px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .qhack-intro__ranking-images img {
    max-width: 100%;
    width: 100%;
  }
  .qhack-intro__ranking-note {
    font-size: 12px;
    padding: 0 16px;
  }
  .qhack-intro__number {
    font-size: 18px;
  }
  .qhack-intro__unit {
    font-size: 15px;
  }
  /* ランキングボックス - スマホ */
  .qhack-intro__ranking-box {
    grid-template-columns: 1fr;
    gap: 16px;
    width: 100%;
  }
  .qhack-intro__ranking-item {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 16px;
  }
  .qhack-intro__ranking-item img {
    width: 100%;
    max-width: 200px;
    height: auto;
  }
  .qhack-intro__ranking-item p {
    padding: 0 3rem;
    width: 100%;
  }
  .qhack-intro__ranking-item p::before,
  .qhack-intro__ranking-item p::after {
    width: 40px;
  }
  .qhack-intro__ranking-number {
    font-size: 32px;
  }
  .qhack-intro__ranking-date {
    font-size: 11px;
  }

  /* Q HACK 課題解決セクション - スマホ */
  .qhack-merit {
    margin-top: 0;
    padding: 60px 20px;
  }
  .qhack-merit__header {
    margin-top: 0;
    padding-top: 0;
    margin-bottom: 24px;
  }
  .qhack-merit__title {
    margin-top: 0;
    font-size: 24px;
    letter-spacing: 0.96px;
  }
  .qhack-merit__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
  }

  /*************************** 03. 共通パーツ ***********************/
  .side-btn-container {
    display: none;
  }
  .concept .catchcopy br {
    display: inherit;
  }

  .concept .concept-bg {
    font-size: 4.8rem;
  }

  ul.before-after li:first-child::after {
    font-size: 10rem;
  }

  ul.before-after li:first-child::before {
    font-size: 2.8rem;
    margin-bottom: 0.6rem;
  }

  ul.before-after li:last-child::before {
    font-size: 2.8rem;
    margin-bottom: 0.6rem;
  }

  .conversion a {
    padding: 2.8rem 0;
    font-size: 2.8rem;
  }

  .miniConversion {
    width: 100%;
  }

  .miniConversion a {
    padding: 2rem;
    font-size: 2rem;
  }

  div.largeT table thead {
    display: none;
  }

  div.largeT table tbody tr {
    background: #fff;
  }

  div.largeT table tbody th {
    background: #f0f2f4;
    display: block;
    border: none;
  }

  div.largeT table tbody td {
    display: flex;
    border-left: none;
    border-right: none;
  }

  div.largeT table tbody td::before {
    content: attr(data-label);
    font-weight: bold;
    flex-shrink: 0;
    margin-right: 1.6rem;
  }

  div.largeT table tbody td:last-child {
    padding-bottom: 4rem;
  }

  dl.table {
    flex-direction: column;
    border-top: 1px solid #ddd;
  }

  dl.table dt {
    width: 100%;
    padding: 1.4rem 0.8rem 0.2rem;
    background: none;
    font-weight: bold;
    border-bottom: none;
  }

  dl.table dd {
    width: 100%;
    padding: 0.2rem 0.8rem 1.4rem;
  }

  .flex-container-four > * {
    width: 48%;
    margin: 0 1% 3%;
  }

  .related-article-container {
    flex-direction: column;
  }

  .related-article-box {
    width: 100%;
    margin-bottom: 3rem;
  }

  .related-article-box div.img img {
    width: 18rem;
    height: 12rem;
  }

  .related-article-box div.txt {
    width: calc(100% - 19rem);
  }
  div.leftImg .img,
  div.rightImg .img {
    float: inherit;
    margin: 0 auto 1rem;
    width: 60%;
  }

  .flow-section-container {
    background: none;
  }

  .flow-section-container section {
    width: 100%;
  }

  .flow-section-container section:not(:last-child) {
    background: url(/images/icons/flow-bottom-start-gray.svg) no-repeat center
      bottom;
    padding-bottom: 5rem;
    background-size: 15rem;
  }

  .flow-section-container section:nth-child(odd) {
    margin-left: 0;
  }
  ul.sixColumns.area-support-box li {
    width: 31.3333%;
  }

  /*************************** 04. breadcrumb（パンくず） ***********************/
  /*************************** 05. aside（サイドバー） ***********************/
  /*************************** 06. footer（フッター） ***********************/
  /* Q HACK フッター - スマホ */
  .qhack-footer__inner {
    padding: 40px 20px 30px;
    min-height: auto;
  }
  .qhack-footer__main {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
  /* ロゴを左寄せ */
  .qhack-footer__logo {
    align-self: flex-start;
  }
  .qhack-footer__logo img {
    width: 140px;
    height: auto;
    object-fit: unset;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
  /* メニューを2列グリッドに（列方向に流れる） */
  .qhack-footer__nav {
    width: 100%;
  }
  .qhack-footer__menu {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
    row-gap: clamp(20px, 6vw, 28px);
    column-gap: 0;
    text-align: left;
    position: relative;
  }
  /* 左列の縦線（1本の連続ライン） */
  .qhack-footer__menu::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0.6px;
    background: #d9d9d9;
  }
  /* 右列の縦線（1本の連続ライン） */
  .qhack-footer__menu::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 0.6px;
    background: #d9d9d9;
  }
  /* 各メニュー項目のスタイル */
  .qhack-footer__menu li {
    display: flex;
    align-items: center;
    padding: 0 0 0 clamp(16px, 5vw, 24px);
    padding-right: 5vw;
  }
  .qhack-footer__menu li a {
    font-size: clamp(13px, 3.5vw, 14px);
    letter-spacing: 0.56px;
  }
  /* プライバシーポリシー（メニュー内）をSP版で非表示（ボトムセクションに移動） */
  .qhack-footer__menu li.qhack-footer__menu-privacy {
    display: none !important;
  }
  .qhack-footer__bottom {
    margin-top: 30px;
    gap: 6px;
    width: 100%;
    align-items: center;
  }
  /* プライバシーポリシー（ボトム内）をSP版で中央揃えで表示 */
  .qhack-footer__privacy {
    display: block !important;
    text-align: center;
    width: 100%;
  }
  .qhack-footer__copyright {
    font-size: 12px;
    text-align: center;
  }

  /* 既存SWELL用 */
  .footer-conversion {
    display: flex;
    list-style: none;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
  }

  .footer-conversion li {
    width: 100%;
    margin: 0;
    text-align: left;
    position: relative;
  }

  .footer-conversion li a {
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 10px;
    padding-left: 48px;
    color: #fff;
  }

  .footer-conversion li a .arrow-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 10px;
  }

  .footer-conversion li:first-child {
    background: #222222;
  }

  .footer-conversion li:nth-child(2) {
    background: #00885a;
  }

  .footer-conversion li:nth-child(3) {
    background: #50c900;
  }

  .c-widget__title.-spmenu {
    display: none;
  }

  .custom-footer {
    padding: 10px 0 0;
  }

  .footer-divider {
    margin-top: 40px;
    margin-bottom: 30px;
  }

  .footer-top {
    justify-content: center;
  }

  .footer-box {
    padding: 0;
  }

  .footer-box h3 {
    font-size: 22px;
  }

  .footer-links {
    gap: 1%;
    align-items: center;
    justify-content: left;
  }

  .footer-links li {
    padding: 0;
    width: 48%;
  }

  .footer-links li::after {
    display: none;
  }

  .footer-box p {
    text-align: left;
    margin-bottom: 0;
    font-size: 12px;
  }

  .footer-box p.footer-label {
    text-align: center;
  }
  .footer-logo {
    width: 80%;
  }

  /* Q HACK 選ばれる理由セクション - スマホ */
  /* 背景画像をスマホ用に差し替え - タイトルがピンク背景に入るように */
  .qhack-reasons__bg {
    display: none;
  }
  .qhack-reasons {
    background: url("/wp-content/uploads/2026/01/background-sp-reasons.png")
      no-repeat center 40px;
    background-size: 100% auto;
  }
  .qhack-reasons__inner {
    max-width: 100%;
    padding: 80px 0 60px;
  }
  .qhack-reasons__header {
    padding: 0 16px;
    margin-bottom: 24px;
  }
  .qhack-reasons__title {
    font-size: 24px;
    letter-spacing: 0.96px;
  }
  .qhack-reasons__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  /* PC/タブレット/SP説明文の切り替え */
  .qhack-reasons__description--pc {
    display: none;
  }
  .qhack-reasons__description--tablet {
    display: none;
  }
  .qhack-reasons__description--sp {
    display: block;
  }
  .qhack-reasons__description {
    padding: 0 16px;
    margin-bottom: 40px;
  }
  .qhack-reasons__description p {
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 0.6px;
    text-align: center;
  }
  .qhack-reasons__description--sp p br {
    display: inline;
  }
  .qhack-reasons__highlight {
    font-size: 17px;
    line-height: 28px;
    letter-spacing: 0.68px;
  }
  /* カードアイテム共通 - スマホでは縦並びレイアウト */
  .qhack-reasons__item {
    margin-bottom: 40px; /* カード間の余白を詰める */
    padding-top: 0;
    width: 100%;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  /* 左寄せアイテム */
  .qhack-reasons__item--left {
    justify-content: flex-start;
  }
  /* 右寄せアイテム */
  .qhack-reasons__item--right {
    justify-content: flex-end;
  }
  /* 全カード共通: 白背景 */
  .qhack-reasons__item--left .qhack-reasons__card,
  .qhack-reasons__item--right .qhack-reasons__card {
    width: calc(100% - 16px);
    max-width: none;
    padding: 30px 20px 30px 20px;
    background: #ffffff !important;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  /* 左寄せカード（01, 03）の角丸・配置 */
  .qhack-reasons__item--left .qhack-reasons__card {
    border-radius: 0 20px 20px 0;
    margin-left: 0;
    margin-right: auto;
  }
  /* 右寄せカード（02, 04）の角丸・配置 */
  .qhack-reasons__item--right .qhack-reasons__card {
    border-radius: 20px 0 0 20px;
    margin-left: auto;
    margin-right: 0;
  }
  .qhack-reasons__card-body {
    max-width: 100%;
    gap: 16px;
    width: 100%;
  }
  .qhack-reasons__item--left .qhack-reasons__card-body,
  .qhack-reasons__item--right .qhack-reasons__card-body {
    margin-left: 0;
    margin-right: 0;
  }
  .qhack-reasons__card-header {
    gap: 10px;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center; /* タイトルを数字の高さ中央に配置 */
  }
  .qhack-reasons__number {
    font-size: 48px;
    letter-spacing: 1.92px;
    line-height: 1;
  }
  .qhack-reasons__number::before {
    font-size: 48px;
    letter-spacing: 1.92px;
  }
  .qhack-reasons__card-title {
    font-size: 18px;
    letter-spacing: 0.72px;
    line-height: 1.5;
    font-weight: 700;
  }
  .qhack-reasons__card-text {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.56px;
  }
  /* カード本文の改行を有効にする */
  .qhack-reasons__card-text br {
    display: inline;
  }
  /* 画像配置 - カード内上部に表示 */
  .qhack-reasons__item-image {
    width: 100px;
    position: static !important;
    z-index: 10;
    margin: 0 auto 20px auto;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
  }
  .qhack-reasons__list {
    margin-bottom: 12px;
  }
  .qhack-reasons__list li {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.56px;
    padding-left: 14px;
  }

  /* Q HACK CTAセクション - スマホ */
  .qhack-cta-section {
    padding: 30px 10px;
  }
  .qhack-cta-section__box {
    max-width: calc(100% - 20px);
    padding: 30px 16px;
    border-radius: 24px;
    gap: 24px;
  }
  .qhack-cta-section__title {
    font-size: 18px;
    letter-spacing: 0.72px;
    white-space: normal;
    line-height: 1.5;
  }
  .qhack-cta-section__buttons {
    gap: 16px;
    width: 100%;
  }
  .qhack-cta-section__buttons .qhack-cta-btn {
    width: 100%;
    max-width: 320px;
    padding: 14px 28px 15px;
  }
  .qhack-cta-section__buttons .qhack-cta-btn__sub {
    font-size: 12px;
  }
  .qhack-cta-section__buttons .qhack-cta-btn__main {
    font-size: 18px;
  }

  /* Q HACK サポートセクション - スマホ */
  .qhack-support {
    padding: 60px 20px;
  }
  /* PC用・タブレット用ヘッダー・説明を非表示 */
  .qhack-support__header--pc {
    display: none;
  }
  .qhack-support__header--tablet {
    display: none;
  }
  .qhack-support__description--pc {
    display: none;
  }
  .qhack-support__description--tablet {
    display: none;
  }
  .qhack-support__content-tablet {
    display: none;
  }
  /* SP用ヘッダー・説明を表示 */
  .qhack-support__header--sp {
    display: block;
    margin-bottom: 24px;
  }
  .qhack-support__description--sp {
    display: block;
  }
  .qhack-support__title {
    font-size: 24px;
    letter-spacing: 0.96px;
  }
  .qhack-support__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .qhack-support__description {
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 0.6px;
    margin-bottom: 30px;
  }
  /* スマホ版では画像を表示、テキストコンテンツを非表示 */
  .qhack-support__content-sp {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .qhack-support__content-sp img {
    width: 100%;
    height: auto;
  }
  .qhack-support__content {
    /* SEO用にテキストを保持しつつ視覚的に非表示 */
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  /* Q HACK サービスセクション - スマホ */
  .qhack-service {
    padding: 60px 20px;
  }
  .qhack-service__header {
    margin-bottom: 40px;
  }
  .qhack-service__title {
    font-size: 24px;
    letter-spacing: 0.96px;
  }
  .qhack-service__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .qhack-service__cards {
    gap: 24px;
  }
  .qhack-service__card {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    padding: 40px 20px;
    border-radius: 30px;
  }
  .qhack-service__card::before {
    border-radius: 30px;
  }
  .qhack-service__card-target {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .qhack-service__card-title {
    font-size: 22px;
    letter-spacing: 0.88px;
  }
  .qhack-service__card-description {
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.56px;
    margin-top: 24px;
  }
  .qhack-service__card-btn {
    width: 240px;
    padding: 12px 28px;
    margin-top: 24px;
  }
  .qhack-service__card-btn-text {
    font-size: 16px;
  }

  /* Q HACK チェックリストセクション - スマホ */
  .qhack-checklist {
    height: auto;
    padding: 40px 0;
  }
  /* 背景画像をスマホ用に差し替え */
  .qhack-checklist::before {
    background-image: url("/wp-content/uploads/2026/01/background-1-sp.png");
    background-size: cover;
    background-position: center;
  }
  .qhack-checklist__inner {
    padding: 0 16px;
  }
  .qhack-checklist__card {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 30px;
    background: #fff;
    padding: 40px 20px;
  }
  .qhack-checklist__title {
    width: 100%;
    font-size: 22px;
    letter-spacing: 0.88px;
    margin: 0 0 20px;
    line-height: 1.5;
  }
  .qhack-checklist__title br.sp-only {
    display: inline;
  }
  .qhack-checklist__subtitle {
    font-size: 15px;
    letter-spacing: 0.6px;
    margin: 0 0 24px;
  }
  .qhack-checklist__subtitle br.sp-only {
    display: inline;
  }
  .qhack-checklist__list {
    margin: 0 0 24px;
    gap: 14px;
    width: 100%;
  }
  .qhack-checklist__list li {
    gap: 10px;
    align-items: flex-start;
  }
  .qhack-checklist__icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    margin-top: 2px;
  }
  .qhack-checklist__list li span {
    font-size: 14px;
    letter-spacing: 0.56px;
    line-height: 1.6;
  }
  .qhack-checklist__cta-text {
    font-size: 16px;
    letter-spacing: 0.64px;
    margin: 0 0 24px;
    line-height: 1.6;
  }
  .qhack-checklist__cta-text br.sp-only {
    display: inline;
  }
  .qhack-checklist__number {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
  .qhack-checklist__btn {
    display: flex;
    width: 240px;
    height: 52px;
    padding: 14px 36px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    border-radius: 80px;
    background: linear-gradient(90deg, #ff3d3b 0%, #b701f7 100%);
  }
  .qhack-checklist__btn-sub {
    display: block;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .qhack-checklist__btn-main-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }
  .qhack-checklist__btn-main {
    color: #fff;
    font-family: "Noto Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.64px;
  }
  .qhack-checklist__btn-text {
    display: none;
  }
  .qhack-checklist__btn-arrow {
    display: inline-block;
    width: 12px;
    height: auto;
  }

  /* Q HACK 攻略コラムセクション - スマホ */
  .qhack-article {
    padding: 60px 20px;
  }
  .qhack-article__header {
    margin-bottom: 40px;
  }
  .qhack-article__title {
    font-size: 24px;
    letter-spacing: 0.96px;
  }
  .qhack-article__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .qhack-article__cards {
    gap: 30px;
    margin-bottom: 40px;
  }
  .qhack-article__card {
    width: 100%;
    max-width: 320px;
  }
  .qhack-article__card-image {
    width: 100%;
    height: 180px;
  }
  .qhack-article__card-body {
    padding: 20px 16px;
  }
  .qhack-article__card-title {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .qhack-article__card-btn {
    width: 180px;
    padding: 12px 24px;
  }
  .qhack-article__card-btn-text {
    font-size: 13px;
    letter-spacing: 0.52px;
  }
  .qhack-article__more-btn {
    width: 240px;
    height: 60px;
    padding: 12px 30px;
  }
  .qhack-article__more-btn-text {
    font-size: 16px;
    letter-spacing: 0.64px;
  }

  /* Q HACK 成功事例セクション - スマホ */
  .qhack-case {
    padding: 60px 16px 80px;
    background: #f2f2f2;
  }
  .qhack-case__inner {
    max-width: 100%;
  }
  .qhack-case__header {
    margin-bottom: 40px;
    text-align: center;
  }
  /* タイトルを選ばれる理由セクションと同じフォント仕様に */
  .qhack-case__title {
    font-size: 24px;
    letter-spacing: 0.96px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    padding-bottom: 0;
  }
  .qhack-case__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
    font-weight: 600;
    line-height: normal;
    margin: 0;
  }
  .qhack-case__cards {
    gap: 30px;
    margin-bottom: 40px;
  }
  .qhack-case__card {
    width: 100%;
    max-width: 355px;
    margin: 0 auto;
    border-bottom: none;
    padding: 0;
  }
  .qhack-case__card:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  /* カードタイトル背景 - 上部角丸 */
  .qhack-case__card-header {
    display: flex;
    width: 100%;
    height: 60px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 30px 30px 0 0;
    background: linear-gradient(90deg, #ff3d3b 0%, #b701f7 100%);
    margin: 0;
    box-sizing: border-box;
  }
  .qhack-case__card-category {
    font-size: 15px;
    letter-spacing: 0.6px;
    white-space: nowrap;
    font-weight: 700;
  }
  /* カード本体 - 白背景、下部角丸 */
  .qhack-case__card-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: auto;
    padding: 24px 20px 30px;
    gap: 20px;
    border-radius: 0 0 30px 30px;
    background: #fff;
    box-sizing: border-box;
  }
  .qhack-case__card-image {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    order: 2;
  }
  .qhack-case__card-image img {
    width: 100%;
    height: auto;
  }
  .qhack-case__card-content {
    gap: 12px;
    order: 1;
    text-align: left;
  }
  .qhack-case__card-lead {
    font-size: 17px;
    letter-spacing: 0.68px;
    margin: 0;
    line-height: 1.5;
  }
  .qhack-case__card-lead-number {
    font-size: 22px;
    letter-spacing: 0.88px;
    font-weight: 700;
  }
  .qhack-case__card-result {
    font-size: 18px;
    letter-spacing: 0.72px;
    line-height: 1.5;
    margin: 0;
  }
  .qhack-case__card-number {
    font-size: 32px;
    letter-spacing: 1.28px;
    font-weight: 600;
  }
  .qhack-case__card-underline {
    padding-bottom: 2px;
    background-size: 100% 2px;
  }
  .qhack-case__card-small {
    font-size: 17px;
    letter-spacing: 0.68px;
  }
  .qhack-case__card-small-number {
    font-size: 17px;
    letter-spacing: 0.68px;
  }
  .qhack-case__card-desc {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.56px;
    color: #313131;
    max-width: 100%;
  }
  .qhack-case__more-btn {
    width: 240px;
    height: 60px;
    padding: 12px 30px;
  }
  .qhack-case__more-btn-text {
    font-size: 16px;
    letter-spacing: 0.64px;
  }

  /* Q HACK お客様の声セクション - スマホ */
  .qhack-voice {
    padding: 60px 10px 80px;
  }
  .qhack-voice__inner {
    max-width: 100%;
    padding: 0;
  }
  .qhack-voice__header {
    margin-bottom: 40px;
    padding: 0 6px;
  }
  /* タイトルを選ばれる理由セクションと同じフォント仕様に */
  .qhack-voice__title {
    font-size: 24px;
    letter-spacing: 0.96px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    padding-bottom: 0;
  }
  .qhack-voice__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
    font-weight: 600;
    line-height: normal;
    margin: 0;
  }
  /* スライダー - スマホでは1枚ずつ中央表示 */
  .qhack-voice__slider {
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
  }
  .qhack-voice__slider-track {
    gap: 20px;
  }
  .qhack-voice__slide {
    flex: 0 0 calc(100vw - 20px);
    width: calc(100vw - 20px);
    max-width: 355px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
  }
  /* カード - 指定デザイン適用 */
  .qhack-voice__card {
    width: 100%;
    max-width: 355px;
    height: auto; /* 固定高さを解除し、コンテンツに合わせる */
    min-height: 540px; /* 最小高さを設定 */
    border-radius: 20px;
    background: linear-gradient(90deg, #ff3d3b 0%, #b701f7 100%);
    padding: 30px 24px; /* 上下のパディングを調整（40px→30px） */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  /* アイコン */
  .qhack-voice__card-icon {
    width: 100px; /* 120px→100px */
    height: 100px;
    margin-bottom: 16px; /* 24px→16px */
  }
  .qhack-voice__card-icon svg {
    width: 100px;
    height: 100px;
  }
  .qhack-voice__card-icon svg circle {
    fill: #d9d9d9;
  }
  /* タイトル */
  .qhack-voice__card-title {
    align-self: stretch;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.72px;
    margin: 0 0 14px; /* 20px→14px */
  }
  /* 本文テキスト */
  .qhack-voice__card-text {
    align-self: stretch;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 30px→26px */
    letter-spacing: 0.48px;
    margin: 0 0 14px; /* 20px→14px */
    text-align: left;
  }
  /* お名前 */
  .qhack-voice__card-name {
    align-self: stretch;
    color: #f9e8ff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 30px→26px */
    letter-spacing: 0.56px;
    margin: 0 0 6px; /* 8px→6px */
  }
  /* 業種・支援内容 */
  .qhack-voice__card-info p {
    color: #f9e8ff;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0.48px;
  }
  /* ページネーション */
  .qhack-voice__pagination {
    gap: 16px;
  }
  .qhack-voice__pagination-btn {
    width: 40px;
    height: 40px;
  }
  .qhack-voice__pagination-dots {
    gap: 8px;
  }
  .qhack-voice__pagination-dot {
    width: 10px;
    height: 10px;
  }

  /* Q HACK ご支援の流れセクション - スマホ */
  .qhack-flow {
    padding: 60px 16px 80px;
  }
  .qhack-flow__inner {
    gap: 40px;
  }
  .qhack-flow__header {
    margin-bottom: 0;
  }
  /* タイトルを選ばれる理由セクションと同じフォント仕様に */
  .qhack-flow__title {
    font-size: 24px;
    letter-spacing: 0.96px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    padding-bottom: 0;
  }
  .qhack-flow__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
    font-weight: 600;
    line-height: normal;
    margin: 0;
  }
  /* PC版非表示、SP版表示 */
  .qhack-flow__content--pc {
    display: none !important;
  }
  .qhack-flow__content--sp {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 343px;
    background: #f2f2f2;
    border-radius: 20px;
    padding: 30px 20px 40px;
    box-sizing: border-box;
    margin: 0 auto;
  }
  /* ステップアイテム共通 */
  .qhack-flow__step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    position: relative;
  }
  /* ステップラベル背後のグラデーションライン */
  .qhack-flow__step-line-sp {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    height: 1px;
    background: linear-gradient(90deg, #ff3d3b 0%, #b701f7 100%);
    z-index: 0;
  }
  /* STEPラベル */
  .qhack-flow__step-label-sp {
    position: relative;
    z-index: 1;
    color: #ff3d3b;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.56px;
    background: #f2f2f2;
    padding: 0 12px;
    margin-bottom: 16px;
  }
  /* ステップ本体（画像+テキスト） */
  .qhack-flow__step-body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
  }
  /* ステップ画像 */
  .qhack-flow__step-image {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    margin: 0;
  }
  .qhack-flow__step-image img {
    width: 80px;
    height: 80px;
    object-fit: contain;
  }
  /* ステップテキストエリア */
  .qhack-flow__step-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1;
  }
  /* ステップタイトル */
  .qhack-flow__step-title {
    align-self: stretch;
    color: #313131;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.64px;
    margin: 0;
    text-align: left;
  }
  /* ステップ説明文 */
  .qhack-flow__step-desc {
    color: #313131;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.48px;
    margin: 0;
  }
  /* 下矢印 */
  .qhack-flow__step-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 16px 0 20px;
  }
  .qhack-flow__step-arrow svg {
    width: 16px;
    height: 13px;
  }
  /* 最後のステップは矢印なし */
  .qhack-flow__step-item--last .qhack-flow__step-arrow {
    display: none;
  }

  /* Q HACK よくある質問セクション - スマホ */
  .qhack-faq {
    padding: 60px 0 80px;
    background: #f2f2f2;
  }
  /* 背景画像をスマホ用に差し替え */
  .qhack-faq::before {
    background-image: url("/wp-content/uploads/2026/01/background-2-sp.png");
    background-size: 100% auto;
    background-position: center top;
  }
  .qhack-faq__inner {
    max-width: 100%;
    padding: 0 10px;
  }
  .qhack-faq__header {
    margin-bottom: 30px;
    padding: 0 6px;
  }
  /* タイトルを選ばれる理由セクションと同じフォント仕様に */
  .qhack-faq__title {
    font-size: 24px;
    letter-spacing: 0.96px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    padding-bottom: 0;
  }
  .qhack-faq__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
    font-weight: 600;
    line-height: normal;
    margin: 0;
  }
  /* カードリスト */
  .qhack-faq__cards {
    gap: 20px;
    width: 100%;
  }
  /* カード共通 */
  .qhack-faq__card {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    border-radius: 20px;
    padding: 20px 16px;
    gap: 24px; /* QとAの間の縦余白を広げる */
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.15);
  }
  /* 質問エリア */
  .qhack-faq__question {
    gap: 12px;
    align-items: center; /* テキストをQアイコンの高さ中央に */
  }
  .qhack-faq__q-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
  }
  .qhack-faq__q-icon svg {
    width: 36px;
    height: 36px;
  }
  .qhack-faq__q-text {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
  .qhack-faq__question-text {
    font-size: 15px;
    letter-spacing: 0.6px;
    line-height: 1.6;
    padding-top: 0; /* 中央揃えのためpaddingを削除 */
  }
  /* 回答エリア */
  .qhack-faq__answer {
    gap: 12px;
    align-items: center; /* テキストをAアイコンの高さ中央に */
  }
  .qhack-faq__a-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
  }
  .qhack-faq__a-icon svg {
    width: 36px;
    height: 36px;
  }
  .qhack-faq__a-text {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
  .qhack-faq__answer-text {
    font-size: 13px;
    letter-spacing: 0.52px;
    line-height: 1.8;
    padding-top: 0; /* 中央揃えのためpaddingを削除 */
    max-width: calc(
      100% - 48px
    ); /* アイコン幅36px + gap12px を引いた幅に制限 */
    word-break: break-word; /* 長い単語でもはみ出さないように */
    overflow-wrap: break-word;
  }

  /* Q HACK 実行力セクション - スマホ */
  .qhack-execution {
    padding: 40px 0;
  }
  /* 背景画像をスマホ用に差し替え */
  .qhack-execution::before {
    background-image: url("/wp-content/uploads/2026/01/background-1-sp.png");
    background-size: cover;
    background-position: center;
  }
  .qhack-execution__inner {
    padding: 0 16px;
  }
  .qhack-execution__card {
    width: 343px;
    max-width: 100%;
    height: auto;
    border-radius: 30px;
    background: #fff;
    padding: 24px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
  }
  .qhack-execution__images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    width: 100%;
  }
  .qhack-execution__images img {
    flex: 1;
    max-width: calc((100% - 8px) / 2);
    height: auto;
    object-fit: contain;
  }
  /* SP版では3番目以降の画像を非表示 */
  .qhack-execution__images img:nth-child(n + 3) {
    display: none;
  }
  .qhack-execution__title {
    width: 100%;
    font-size: 20px;
    letter-spacing: 0.8px;
    line-height: 1.5;
    margin: 0 0 16px;
    text-align: center;
  }
  .qhack-execution__title br.sp-only {
    display: inline;
  }
  .qhack-execution__text {
    margin-bottom: 20px;
  }
  .qhack-execution__text p {
    font-size: 14px;
    letter-spacing: 0.56px;
    line-height: 1.8;
    margin: 0 0 12px;
  }
  .qhack-execution__text p:last-child {
    margin-bottom: 0;
  }
  .qhack-execution__text br.sp-only {
    display: inline;
  }
  .qhack-execution__text .pc-only {
    display: none;
  }
  /* CTAボタン - スマホ */
  .qhack-execution__btn {
    display: flex;
    width: 240px;
    height: 52px;
    padding: 14px 36px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    border-radius: 80px;
    background: linear-gradient(90deg, #ff3d3b 0%, #b701f7 100%);
    text-decoration: none;
  }
  .qhack-execution__btn-sub {
    display: block;
    color: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .qhack-execution__btn-main-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }
  .qhack-execution__btn-main {
    color: #fff;
    font-family: "Noto Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.64px;
  }
  .qhack-execution__btn-arrow {
    display: inline-block;
    width: 12px;
    height: auto;
  }

  /* Q HACK お問い合わせセクション - スマホ */
  .qhack-contact {
    padding: 60px 16px 80px;
  }
  .qhack-contact__inner {
    max-width: 100%;
    padding: 0;
  }
  .qhack-contact__header {
    margin-bottom: 30px;
    padding: 0;
  }
  /* タイトルを選ばれる理由セクションと同じフォント仕様に */
  .qhack-contact__title {
    font-size: 24px;
    letter-spacing: 0.96px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    padding-bottom: 0;
  }
  .qhack-contact__subtitle {
    font-size: 16px;
    letter-spacing: 0.64px;
    font-weight: 600;
    line-height: normal;
    margin: 0;
  }
  /* PC版の説明文をスマホ版では非表示 */
  .qhack-contact__description {
    display: none;
  }
  /* フォームラッパー */
  .qhack-contact__form-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 30px 20px;
    border-radius: 20px;
  }
  /* フォームフィールドを縦並びに変更・左寄せ強制 */
  .qhack-contact-form__field,
  .qhack-contact__form-wrapper .qhack-contact-form__field {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
  }
  /* ラベル部分（項目名+必須タグ）を近接させる - PC版の固定幅を完全解除 */
  .qhack-contact-form__label,
  .qhack-contact__form-wrapper .qhack-contact-form__label {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  .qhack-contact-form__label-text,
  .qhack-contact__form-wrapper .qhack-contact-form__label-text {
    font-size: 15px !important;
    letter-spacing: 0.6px;
    line-height: normal !important;
    flex-shrink: 0 !important;
    text-align: left !important;
    width: auto !important;
  }
  /* 必須/任意バッジ */
  .qhack-contact-form__badge,
  .qhack-contact__form-wrapper .qhack-contact-form__badge {
    font-size: 11px;
    padding: 3px 8px;
    flex-shrink: 0 !important;
  }
  /* 入力フィールド（ラベルの下に配置） */
  .qhack-contact-form__input,
  .qhack-contact__form-wrapper .qhack-contact-form__input {
    width: 100% !important;
    max-width: 100% !important;
  }
  .qhack-contact-form__input input[type="text"],
  .qhack-contact-form__input input[type="email"],
  .qhack-contact-form__input input[type="tel"],
  .qhack-contact-form__input input[type="url"],
  .qhack-contact-form .wpcf7-form-control-wrap input[type="text"],
  .qhack-contact-form .wpcf7-form-control-wrap input[type="email"],
  .qhack-contact-form .wpcf7-form-control-wrap input[type="tel"],
  .qhack-contact-form .wpcf7-form-control-wrap input[type="url"] {
    width: 100%;
    height: 48px;
    font-size: 16px;
    padding: 12px 14px;
  }
  .qhack-contact-form__input textarea,
  .qhack-contact-form .wpcf7-form-control-wrap textarea {
    width: 100%;
    height: 160px;
    font-size: 16px;
    padding: 12px 14px;
  }
  /* プライバシーポリシー */
  .qhack-contact-form__privacy {
    margin-top: 20px;
    gap: 6px;
  }
  .qhack-contact-form__privacy a,
  .qhack-contact-form__privacy .wpcf7-list-item-label {
    font-size: 13px;
    line-height: 1.6;
  }
  /* マイクロコピー - 送信ボタンと近接させる */
  .qhack-contact-form__note,
  .qhack-contact__form-wrapper .qhack-contact-form__note {
    font-size: 15px;
    letter-spacing: 0.6px;
    margin-top: 16px;
    margin-bottom: 0 !important;
    padding-bottom: 0;
  }
  /* 送信ボタン - gapを相殺して6pxに（24px - 18px = 6px） */
  .qhack-contact-form__submit,
  .qhack-contact__form-wrapper .qhack-contact-form__submit {
    margin-top: -18px !important;
    padding-top: 0;
  }
  .qhack-contact-form__submit input[type="submit"],
  .qhack-contact-form .wpcf7-submit,
  .qhack-contact__form-wrapper .wpcf7-submit {
    width: 100%;
    max-width: 280px;
    height: 60px;
    font-size: 18px;
    letter-spacing: 0.72px;
    margin-top: 0;
  }
}

/* スマホ固定CTAバー - 767px以下で表示（検証画面でも表示されるように） */
@media screen and (max-width: 767px) {
  /* Q HACK スマホ固定CTAバー - 表示 */
  .qhack-fixed-cta {
    display: flex;
    flex-direction: row;
  }

  /* 固定CTAバーの高さ分、フッター下部に余白を追加 */
  .qhack-footer {
    padding-bottom: 60px;
  }

  /* 固定CTAバーの高さ分、body_wrapにも余白を追加（コンテンツが隠れないように） */
  #body_wrap {
    padding-bottom: 56px;
  }

  /* トップに戻るボタンを固定CTAバーと重ならないよう上に移動 */
  .p-fixBtnWrap {
    bottom: 72px !important;
  }
}
