/**
 * モバイル用スタイル
 */
@media (max-width: 768px) {
  .sp-only {
    display: inline;
  }


  .pc-only {
    display: none;
  }


  /**
   * ヘッダー
   */
  .site-header {
    height: var(--header-sp);
    padding: 0 66px 0 16.5px;
  }


  .site-logo__org {
    font-size: var(--fs-xs);
  }


  .site-logo__name {
    font-size: var(--fs-lg);
  }


  .global-nav {
    display: none;
  }


  .nav-toggle {
    --menu-size: 44px;
    --menu-space: 4px;
    --menu-line: 2px;

    top: 11px;
    right: 11px;
  }


  /* フロアマップモーダルの閉じるボタンもnav-toggleと同寸に */
  .floormap-modal__close {
    --menu-size: 44px;
    --menu-line: 2px;

    top: 11px;
    right: 11px;
  }


  /**
   * ヒーロー
   */
  .hero {
    overflow: hidden;
    height: auto;
  }


  .hero__media {
    position: relative;
    height: 133vw;
    margin-top: 0;
    padding: 0;
  }


  .hero__tree {
    display: none;
  }


  .hero__photo {
    position: relative;
    height: 100%;
    border-radius: 0;
  }


  .hero__photo img {
    aspect-ratio: auto;
    border-radius: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }


  .hero__mask {
    display: block;
  }

  .hero__copy {
    padding: 44px 22px 0;
  }


  .hero__deco {
    display: none;
  }


  .hero__lead {
    font-size: var(--fs-sm);
    letter-spacing: 0.1em;
  }


  .hero__catch {
    margin-top: 33px;
    font-size: var(--fs-lg);
    letter-spacing: 0.1em;
  }


  .hero__intro {
    margin-top: 22px;
    font-size: var(--fs-sm);
    text-align: left;
  }


  /**
   * 理念帯
   */
  .philosophy {
    margin-top: 55px;
    padding: 55px 22px;
  }


  .philosophy__box {
    padding: 27.5px 16.5px;
    border-radius: 16.5px;
  }


  .philosophy__subtitle {
    font-size: var(--fs-sm);
    letter-spacing: 0.1em;
  }


  .philosophy__title {
    margin-top: 16.5px;
    font-size: var(--fs-lg);
    letter-spacing: 0.1em;
  }


  /**
   * 特徴3点
   */
  .features {
    margin-top: 55px;
  }


  .features__list {
    padding: 0 22px;
    flex-direction: column;
  }


  .features__item {
    width: 100%;
    padding: 0;
    align-items: stretch;
  }


  .features__item+.features__item {
    margin-top: 33px;
    padding-top: 33px;
    border-top: 1px solid var(--color-border);
    border-left: none;
  }


  .features__photo img {
    aspect-ratio: 261 / 204;
  }


  .features__caption {
    margin-top: 22px;
    flex-direction: row;
    align-items: center;
    gap: 16.5px;
  }


  .features__icon {
    width: 44px;
    height: 44px;
    margin: 0;
  }


  .features__text {
    font-size: var(--fs-sm);
    text-align: left;
  }


  /**
   * クリーム帯（介護医療院とは＋リハビリテーション）
   */
  .care-band {
    margin-top: 55px;
    padding: 0 0 55px;
  }


  .about {
    padding-top: 55px;
  }


  .about__inner {
    padding-top: 55px;
    margin-left: 0;
    padding: 0 22px;
    flex-direction: column;
    gap: 44px;
  }


  .about__body {
    width: 100%;
  }


  .section-header__title {
    font-size: var(--fs-xl);
    letter-spacing: 0.1em;
  }


  .about__lead {
    font-size: var(--fs-sm);
  }


  .about__divider {
    margin: 33px 0;
  }


  .about__block+.about__block {
    margin-top: 33px;
  }


  .about__subtitle {
    font-size: var(--fs-md);
    letter-spacing: 0.1em;
  }


  .about__photos {
    width: calc(100% + 44px);
    margin: 0 -22px;
  }


  /**
   * リハビリテーション
   */
  .rehabilitation {
    margin-top: 88px;
  }


  .rehabilitation__panel {
    margin: 0 22px;
    padding: 44px 22px;
    border-radius: 22px;
    flex-direction: column;
    gap: 27.5px;
  }


  .rehabilitation__leaf {
    top: -33px;
    left: -22px;
    width: 154px;
  }


  .rehabilitation__body {
    width: 100%;
    padding: 0;
  }


  .rehabilitation__text {
    margin-top: 22px;
    font-size: var(--fs-sm);
  }


  .rehabilitation__photos {
    max-width: none;
    padding: 0
  }


  /**
   * アクセス
   */
  .access {
    padding: 55px 0 44px;
  }


  .access__map {
    margin-top: 44px;
  }


  .access__map img {
    border-radius: 11px;
  }


  .access__inner {
    padding: 0;
    margin-top: 55px;
    flex-direction: column-reverse;
    gap: 44px;
  }


  .access__left {
    width: 100%;
  }


  .access__left-inner {
    padding: 0 22px;
  }


  .access__right {
    padding: 0 22px;
  }


  .access__logo {
    margin-top: 33px;
  }


  .access__tel {
    max-width: none;
    margin-top: 22px;
    padding: 33px 22px;
  }


  .access__tel-number {
    font-size: var(--fs-2xl);
  }


  .access__right {
    width: 100%;
  }


  .access__address {
    font-size: var(--fs-sm);
  }


  .access__transport {
    margin-top: 33px;
  }


  .access__transport>li {
    padding: 22px 0;
    gap: 16.5px;
  }


  .access__transport-icon {
    width: 33px;
    height: 33px;
  }


  .access__transport-icon.train {
    width: 33px;
    height: 44px;
  }


  .access__transport-list li {
    font-size: var(--fs-sm);
  }


  .access__partners {
    padding: 22px 0;
    gap: 22px;
  }


  .access__partners .access__label {
    width: 110px;
    font-size: var(--fs-base);
  }


  .access__partners-list li {
    font-size: var(--fs-sm);
  }


  .access__left,
  .access__right {
    order: 0;
  }


  /**
   * フッター
   */
  .site-footer {
    padding: 33px 22px 88px 22px;
  }


  .footer-note__title,
  .footer-note__text {
    font-size: var(--fs-xs);
  }


  .mobile-button-tel {
    display: flex;
  }


  /**
   * PAGE TOP
   */
  .back-to-top {
    right: 11px;
    bottom: 22px;
    display: none !important;
  }


  .back-to-top::before {
    height: 55px;
  }
}