/* レスポンシブ */

@media screen and (max-width: 768px) {

  h1, h2, h3, section, [id] {
    scroll-margin-top: 60px;
  }

  .p-sub_pc_on {
    display: none !important;
  }

  table .p-sub_pc_on {
    display: none !important;
  }

  .p-sub_sp_on {
    display: block !important;
    z-index: 1 !important;
  }

/* ── 鍼灸maman: ヘッダーSP ── */
    .l-header__inner {
    height: 56px;
    gap: 130px;
    padding: 0 20px;
  }

  .l-header__nav,
  .l-header__reserve,
  .l-header__hpb,
  .l-header__line {
    display: none;
  }

  .l-header__logo a{
    width: 140px;
  }

  .l-header__logo a img{
    width: 100%;
  }


/* ── 鍼灸maman: フッターSP ── */
    .l-footer__inner {
        padding: 48px 24px 0;
    }

    .l-footer__logo--mobile {
        display: flex;
        justify-content: center;
        text-align: center;
        margin-bottom: 24px;
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .l-footer__company > .l-footer__logo {
        display: none;
    }

    .l-footer__pagetop-wrap {
        display: flex;
        justify-content: flex-end;
        margin-top: 24px;
    }

    .l-footer__pagetop {
        position: static;
        display: inline-flex;
        margin-top: 0;
    }

    /* flexにしてorderを効かせる */
    .l-footer__layout {
        display: flex;
        flex-direction: column;
        border-bottom: none;
        padding-bottom: 0;
        gap: 16px;
    }

    /* ナビを先に表示 */
    .l-footer__nav-grid {
        order: 1;
        display: block;
    }

    .l-footer__nav-grid > div:nth-child(1) {
        margin-bottom: 24px;
    }

    .l-footer__nav-grid > div:nth-child(2),
    .l-footer__nav-grid > div:nth-child(3) {
        display: block;
        width: 100%;
    }

    .l-footer__nav-grid > div:nth-child(2) {
        margin-bottom: 24px;
    }

    .l-footer__nav-item {
        text-align: left;
        margin-bottom: 16px;
    }

    .l-footer__nav-grid > div:nth-child(2) .l-footer__nav-item:first-child a,
    .l-footer__nav-grid > div:nth-child(3) .l-footer__nav-item:first-child a {
        font-weight: 700;
        font-size: 16px;
    }

    /* 住所+プライバシーをナビの後ろに */
    .l-footer__company {
        order: 2;
        display: block;
    }

    .l-footer__address,
    .l-footer__privacy {
        text-align: left;
    }

    .l-footer__privacy {
        margin-top: 12px;
    }

    .l-footer__bottom {
        margin-top: 24px;
        padding: 16px 0 24px;
        border-top: 1px solid rgba(255, 255, 255, .2);
    }

    .l-footer__copyright {
        font-size: 11px;
        text-align: center;
    }

/* ── 鍼灸maman: サブページ共通SP ── */
  .p-page-header {
    height: 200px;
    padding: 40px 24px 24px;
  }

  .p-page-header__photo {
    position: absolute;
    top: 80px;
    right: 0px;
    width: 80%;
    height: calc(100% - 80px);
  }

  .p-page-header__title {
    font-size: 28px;
  }

  .p-page-header__inner {
    padding: 0;
  }

  .p-page-header__en {
    font-size: 28px;
  }

  .p-page-header__ja {
    font-size: 20px;
  }

    .c-hamburger {
    display: flex;
    position: absolute;
    right: 20px;
  }

/* ── 鍼灸maman: トップページSP ── */
  /* ── KV ── */
  .p-top-kv__copy {
    padding: 0 24px;
    left: 0;
  }

  .p-top-kv__lead {
    font-size: 13px;
  }

  .p-top-kv__headline {
    font-size: 21px;
    margin-bottom: 24px;
  }

  .p-top-kv__en {
    font-size: 12px;
  }

  .p-top-kv__scroll {
    right: 5px;
    bottom: 80px;
  }

  /* ── サービス／メッセージ ── */
  .p-top-service__name {
    padding: 40px 24px 0 60px;
    margin-bottom: 190px;
    font-size: 20px;
  }

  .p-top-service__link {
    margin: 0 0 24px 60px;
  }

  .p-top-service__photo {
    height: 220px;
  }

  .p-top-message__bg {
    padding: 80px 0;
  }

  .p-top-message__img {
    height: 160px;
  }

  /* ── FAQ／スクール バナー ── */
  .p-top-banners {
    flex-direction: column;
    padding: 32px 20px;
    gap: 16px;
  }

  .p-top-banners__item {
    height: 180px;
  }

  /* ── サロン案内 ── */
  .p-about__message,
  .p-about__profile {
    padding: 60px 0;
  }

  .p-about__message-inner,
  .p-about__profile-inner,
  .p-about__info-inner,
  .p-about__access-inner,
  .p-about__consultation-inner {
    padding: 0 20px;
  }

  .p-about__heading-en {
    font-size: 22px;
  }

  .p-about__profile-row {
    flex-direction: column;
    gap: 0;
  }

  .p-about__profile-img {
    flex: 0 0 auto;
    max-width: 200px;
    margin: 0 auto;
  }

  .p-about__profile-text {
    padding: 40px 0;
  }

  .p-about__profile-name {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .p-about__profile-list {
    padding: 32px 24px;
  }

  .p-about__info,
  .p-about__access {
    padding: 0 0 60px;
  }

  .c-table--info,
  .c-table--info tbody,
  .c-table--info tr {
    display: block;
    width: 100%;
  }

  .c-table--info th,
  .c-table--info td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
  }

  .c-table--info th {
    border-bottom: none;
  }

  .c-table--info td {
    border-top: none;
  }

  .c-table--info tr {
    margin-bottom: 0;
  }

  .p-about__gallery {
    flex-direction: column;
  }

  .p-about__access-map {
    height: 260px;
  }

  .p-about__consultation {
    padding: 60px 0;
  }

  .p-about__consultation-row {
    flex-direction: column;
  }

  .p-about__consultation-img {
    flex: 0 0 auto;
    width: 100%;
    height: 220px;
  }

  .p-about__consultation-price {
    flex-direction: column;
  }

   /* ── こんなお悩みないですか？ ── */
  .p-top-worries {
    padding: 60px 0;
  }

  .p-top-worries__title {
    font-size: 20px;
    padding: 0 20px;
  }

  .p-top-worries__card {
    margin: 24px 20px 0;
    padding: 30px 20px;
  }

  .p-top-worries__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .p-top-worries__item {
    padding: 16px;
    gap: 14px;
  }

  .p-top-worries__item img {
    width: 90px;
    height: 90px;
  }

  .p-top-worries__item p {
    font-size: 15px;
    padding-left: 16px;
  }

  .p-top-worries__note {
    font-size: 16px;
    padding: 0 20px;
    margin-top: 24px;
  }

  .p-top-worries__note br {
    display: none;
  }

  .p-top-worries__check {
    display: none;
  }

  /* ── メッセージ＋サロン案内 ── */
  .p-top-message__bg {
    padding: 60px 0;
  }

  .p-top-message__inner {
    padding: 0 20px;
  }

  .p-top-message__title {
    font-size: 20px;
  }

  .p-top-message__body {
    font-size: 16px;
    text-align: left;
  }

  /* ── サービス ── */
  .p-top-service {
    padding: 60px 0;
  }

  .p-top-service__watermark {
    font-size: 40px;
    top: 2%;
    left: 50%;
  }

  .p-top-service__title {
    font-size: 22px;
  }

  .p-top-service__list {
    flex-direction: column;
    gap: 24px;
    padding: 0 20px;
    grid-template-columns: 1fr;
  }

  /* ── お客様の声 ── */
  .p-top-voice {
    padding: 60px 0;
  }

  .p-top-voice__watermark {
    font-size: 56px;
    top: 0.5%;
    left: 50%;
  }

  .p-top-voice__title {
    font-size: 22px;
  }

  .p-top-voice__list {
    padding: 0 20px;
  }

  .p-top-voice__item {
    flex-direction: column;
    padding: 24px;
    gap: 20px;
  }

  .p-top-voice__profile {
    flex-direction: row;
    width: auto;
    gap: 12px;
  }

  .p-top-voice__headline {
    font-size: 16px;
  }

  .p-top-voice__body {
    font-size: 16px;
  }

  /* ── よくあるご質問／スクール案内 バナー ── */
  .p-top-banners {
    flex-direction: column;
  }

  .p-top-banners__item {
    height: 180px;
  }

  /* ── インスタグラム ── */
  .p-top-instagram{
    padding: 80px 0;
  }

  .p-top-instagram__inner {
    padding: 0 20px;
  }

  .p-top-instagram__watermark {
    font-size: 40px;
    top: -2%;
    left: 50%;
  }

  .p-top-instagram__title {
    font-size: 20px;
  }

  /* ── ブログ ── */
  .p-top-blog__inner {
    padding: 0 20px;
  }

  .p-top-blog {
    padding: 40px 0;
  }

  .p-top-blog__watermark {
    font-size: 56px;
    top: -2.2%;
    left: 50%;
  }

  .p-top-blog__title {
    font-size: 22px;
  }

  .p-top-blog__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* ── アクセス ── */
  .p-top-access {
    padding: 60px 0;
  }

  .p-top-access__watermark {
    font-size: 56px;
    top: 8px;
    left: 38%;
  }

  .p-top-access__title {
    font-size: 22px;
  }

  .p-top-access__route {
    font-size: 13px;
  }

  .p-top-access__layout {
    flex-direction: column;
    gap: 24px;
    padding: 0 20px;
    grid-template-columns: 1fr;
  }

  .p-top-access__info {
    padding: 24px;
  }

  .p-top-access__map {
    height: 260px;
  }

/* ── 鍼灸maman: はりきゅうSP ── */
 .p-shinkyu__intro {
    padding: 48px 0 60px;
  }

  .p-shinkyu__intro-inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 20px;
  }

  .p-shinkyu__intro-sub {
    font-size: 18px;
  }

  .p-shinkyu__intro-title {
    font-size: 26px;
  }

  .p-shinkyu__intro-body {
    margin-top: 20px;
  }

  .p-shinkyu__intro-img img {
    width: 100%;
    height: auto;
  }

  .p-shinkyu__effect {
    padding: 48px 0;
  }

  .p-shinkyu__effect-title {
    font-size: 24px;
    margin-bottom: 40px;
  }

  .p-shinkyu__effect-list {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 0;
    padding: 0 20px;
  }

  .p-shinkyu__effect-item {
    padding: 32px 24px 24px;
  }

  .p-shinkyu__effect-img {
    height: 200px;
  }

  .p-shinkyu__effect-name {
    font-size: 18px;
  }

  .p-shinkyu__maintenance {
    padding: 60px 0;
  }

  .p-shinkyu__maintenance-inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 20px;
  }

  .p-shinkyu__maintenance-text {
    max-width: 100%;
  }

  .p-shinkyu__maintenance-title {
    font-size: 24px;
  }

  .p-shinkyu__maintenance-body {
    margin-top: 20px;
  }

  .p-shinkyu__maintenance-img img {
    width: 100%;
    height: auto;
  }

  .p-shinkyu__menu {
    padding: 48px 0 60px;
  }

  .p-shinkyu__menu-inner {
    padding: 0 20px;
  }

  .p-shinkyu__menu-head {
    margin-bottom: 24px;
  }

  .p-shinkyu__menu-en {
    font-size: 24px;
  }

  .p-shinkyu__menu-ja {
    font-size: 14px;
  }

  /* ── 鍼灸maman: スクール紹介SP ── */
  .p-school__intro,
  .p-school__course {
    padding: 60px 0;
  }

  .p-school__intro-inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 20px;
  }

  .p-school__course-inner {
    padding: 0 20px;
  }

  .p-school__course-title {
    font-size: 22px;
  }

  .p-school__course-note {
    padding: 0;
  }

  .c-table--menu td {
    display: block;
    width: 100%;
    text-align: center;
  }

  .c-table--menu tr td:first-child {
    width: 85%;
  }

  .c-table--menu td:last-child {
    width: 85%;
  }

  .p-faq__list{
    padding: 0 20px;
  }

/* ── 鍼灸maman: お知らせSP ── */
.p-news {
    flex-direction: column;
    padding: 60px 0;
  }

  .p-news__main{
    width: 100%;
  }

  .p-news__article-title {
    font-size: 18px;
    padding: 0 20px 24px;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .p-news__article-date {
    padding: 0 20px;
  }

  .p-news__article-body {
    padding: 0 20px;
  }

  .p-news__back-wrap {
    margin-top: 40px;
  }

  .p-news__card-link {
    flex-direction: column;
  }

  .p-news__card-thumb {
    width: 100%;
    height: 180px;
  }

  .p-news__side {
    flex: 1 1 auto;
    width: 100%;
  }

/* ── 鍼灸maman: ブログSP ── */
  .p-blog {
    flex-direction: column;
    padding: 60px 0;
  }

  .p-blog__card-link {
    flex-direction: column;
  }

  .p-blog__card-thumb {
    width: 100%;
    height: 180px;
  }

  .p-blog__side {
    flex: 1 1 auto;
    width: 100%;
  }

/* ── 鍼灸maman: 404SP ── */
  .p-404_text {
    font-size: 14px;
    margin-bottom: 36px;
  }

/* ── 鍼灸maman: お問い合わせSP ── */
  #contact {
    padding: 48px 0 60px;
  }

  .p-contact_inner {
    padding: 100px 20px;
  }

  .p-contact_head_text_wrapper {
    margin-bottom: 32px;
  }

  .p-contact_head_text {
    font-size: 15px;
    line-height: 1.8 !important;
  }

  .p-contact_content {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 32px 20px;
  }

  .p-contact_content_list {
    width: 100%;
  }

  .p-contact_content_list_item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 24px;
  }

  .p-contact_content_list_item:last-child {
    align-items: flex-start;
  }

  .p-contact_text {
    width: 100%;
    justify-content: flex-start;
    font-size: 15px !important;
  }

  .p-contact_sub_text {
    margin-left: 12px;
    font-size: 12px;
    padding: 0.2rem 0.6rem;
  }

  .p-contact_input {
    width: 100%;
    font-size: 14px;
    display: block;
  }

  .wpcf7 input:not([type="checkbox"]):not([type="radio"]),
  .wpcf7 textarea,
  .wpcf7 select {
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
  }

  .p-contact_content_footer {
    margin-top: 40px;
  }

  .p-contact_text_sub {
    font-size: 13px;
    line-height: 1.7;
  }

  .wpcf7 .contact_submit {
    font-size: 15px;
    padding: 0.8rem 3rem;
    width: 100%;
  }

/* ── 鍼灸maman: プライバシーポリシーSP ── */
  .p-privacy {
    padding: 60px 20px 80px;
  }

  .p-privacy__lead {
    margin-bottom: 40px;
  }

  .p-privacy__lead p {
    font-size: 14px;
  }

  .p-privacy__section {
    margin-bottom: 36px;
  }

  .p-privacy__section-title {
    font-size: 16px;
  }

  .p-privacy__text p {
    font-size: 13px;
  }

/* ── 鍼灸maman: フッター前CTASP ── */
  .p-cta__card {
    padding: 32px 24px;
    margin: 0 20px;
  }

  .p-cta__catch {
    font-size: 17px;
  }

  .p-cta__tel-area {
    text-align: center;
    flex: 1 1 100%;
  }

  .p-cta__btn {
    width: 100%;
  }

  .p-cta__btns {
    flex: 1 1 100%;
  }

    .p-cta__tel-num {
        font-size: 32px;
        gap: 8px;
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    .p-cta__tel-icon {
        width: 22px;
    }

/* ── 鍼灸maman: よくあるご質問（FAQ）SP ── */
  .p-faq { padding: 48px 0 80px; }
  .p-faq__list { padding: 0 24px; gap: 24px; }
  .p-faq__q { padding: 16px 20px 16px 16px; gap: 16px; }
  .p-faq__q-badge { width: 30px; height: 30px; font-size: 18px; }
  .p-faq__q-text { font-size: 16px; }
  .p-faq__a-divider { margin: 0 16px; }
  .p-faq__a-text { padding: 16px 20px 16px 20px; font-size: 16px; line-height: 1.8; }

}