		/* レスポンシブ */
		@media screen and (max-width: 1024px) {

			.tb {
				display: none !important;
			}

			.tb_only {
				display: block;
			}

			/* =========================================
		    Header
		  ========================================= */
			.header__actions {
				display: none;
			}

			.header {
				top: 10px;
				width: calc(100% - 20px);
				height: 70px;
			}

			.header__nav a {
				font-size: 15px;
			}

			.dropdown-menu {
				width: 95%;
			}

			.dropdown-menu ul.child li a {
				font-size: 16px;
			}

			.hero {
				height: 70vh;
			}

			.hero__overlay {
				width: 35%;
				right: 5%;
				top: 40%;
				transform: translateY(-50%);
			}

			.hero__overlay img {
				width: 100%;
			}



			/* =========================================
		     Card Menu Section (div base)
		  ========================================= */
			.medical-info {
				padding-top: 40px;
			}

			.card-nav {
				margin-top: 20px;
				margin-bottom: 50px;
			}

			.card-nav__list {
				gap: 15px;
			}

			.card-nav__item {
				padding-bottom: 20px;
			}

			.card-nav__header {
				height: 80px;
			}

			.card-nav__title {
				font-size: 16px;
			}


			/* =========================================
		     Medical Info Section (追加分)
		  ========================================= */
			.medical-info__inner {
				flex-direction: column;
				gap: 30px;
			}

			.medical-info__side-title {
				writing-mode: horizontal-tb;
				text-align: center;
			}

			.medical-info__table-unit,
			.medical-info__action-unit {
				min-width: 100%;
			}

			.tel-number {
				font-size: 32px;
			}

			.medical-info__links {
				gap: 15px;
			}


			/* =========================================
		     News Section (お知らせ)
		  ========================================= */

			.news {
				padding: 40px 0;
			}

			.news__inner {
				flex-direction: column;
				gap: 30px;
			}

			.news__side-title {
				writing-mode: horizontal-tb;
				text-align: center;
				width: 100%;
			}

			.news__content {
				flex-direction: column;
			}

			.news__category-nav {
				width: 100%;
				flex-direction: row;
				flex-wrap: wrap;
				justify-content: center;
			}

			.category-btn {
				width: calc(50% - 10px);
			}

			.news__link {
				gap: 10px;
			}

			.news__title {
				border-left: none;
				padding-left: 0;
			}



			/* =========================================
		     Facility Gallery Section (施設ギャラリー)
		  ========================================= */
			.gallery__inner {
				flex-direction: column;
			}

			.gallery__bg-base {
				width: 100%;
				border-radius: 0;
				padding: 40px 20px 100px;
			}

			.gallery__title-area {
				width: 100%;
				padding-right: 0;
			}

			.gallery__slider-outer {
				width: 100%;
				margin-left: 0;
				margin-top: -60px;
				padding: 40px 20px;
			}

			.gallery-swiper .swiper-slide {
				width: 280px;
			}

			.gallery-swiper-pagination {
				padding-right: 20px;
			}

			/* =========================================
				     Instagram
				========================================= */
			.instagram_list img {
				height: 190px;
			}

			.instagram_list p.comment {
				height: 57px;
				font-size: 14px;
			}

			/* =========================================
		     Recruit Section (採用情報)
		  ========================================= */
			.recruit {
				padding: 60px 0;
			}

			.recruit__content {
				flex-direction: column;
				gap: 30px;
			}

			.recruit__image {
				max-width: 100%;
			}

			.recruit__info {
				text-align: center;
			}

			.recruit__copy {
				font-size: 24px;
			}

			.recruit__btn {
				margin: 0 auto;
			}

			.recruit__bg-text {
				font-size: 60px;
			}




			/* =========================================
		     Footer (フッター)
		  ========================================= */
			.footer__main {
				flex-direction: column;
				gap: 50px;
				padding: 60px 0;
			}

			.footer__hospital-info {
				width: 100%;
				text-align: center;
			}

			.footer__logo {
				margin: 0 auto 20px;
			}

			.footer__nav {
				width: 100%;
				gap: 30px 20px;
				justify-content: center;
			}

			.footer__nav-unit {
				width: auto;
				flex: 1;
			}

			.footer__sns {
				position: static;
				width: 100%;
				text-align: center;
				margin-top: 20px;
			}

			.footer__sub-links {
				flex-wrap: wrap;
				gap: 10px 15px;
			}

			.footer__sub-links a:after {
				display: none;
			}

			/* =========================================
					     次階層
			========================================= */

			.sidebar-menu {
				flex: 0 0 200px;
			}

			.naxt_main_inner {
				min-width: 0;
				padding-right: 20px;
			}

			.layout-grid {
				display: block;
			}

			.image-gallery {
				margin-top: 20px;
			}

		}

		@media screen and (min-width: 1025px) {
			.tb {
				display: block;
			}

			.tb_only {
				display: none !important;
			}
		}

		@media screen and (max-width: 1140px) {
			.header__actions {
				display: none;
			}
		}

		@media screen and (max-width: 1150px) and (min-width: 1025px) {
			.footer__nav {
				gap: 20px;
			}

			.footer__nav-title {
				font-size: 15px;
			}

			.footer__nav ul li a {
				font-size: 10px;
			}

		}

		@media screen and (max-width: 960px) {
			.header__nav {
				display: none;
			}
		}


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

			.sp {
				display: block;
			}

			.header {
				position: fixed;
				border-radius: 0;
				top: 0;
				width: 100%;
			}

			#top header {
				top: 0;
			}

			.header__inner {
				border-radius: 0;
			}

			.dropdown-menu {
				padding: 0;
				position: fixed;
				top: 70px;
				/* ヘッダーの高さに合わせる */
				left: 0;
				width: 100%;
				height: calc(100vh - 70px);
				overflow-y: auto;
				-webkit-overflow-scrolling: touch;
				display: none;
				/* JSで制御 */
				z-index: 999;
				border-radius: 0;
			}

			.dropdown-menu ul {
				gap: 0;
			}

			.dropdown-menu a {
				padding: 15px;
			}

			.dropdown-menu ul li {
				width: 100% !important;
				border-bottom: 1px solid #fff;
			}

			.dropdown-menu ul li.long ul.child {
				display: none;
			}

			/* スマホ時のみ矢印を表示 */
			.js-arrow {
				display: block;
			}

			.dropdown-menu .js-arrow {
				display: block !important;
				right: 20px;
				/* 親メニューが白文字なので矢印も白くする場合 */
				filter: brightness(0) invert(1);
			}

			.dropdown-menu ul.child {
				display: none;
				padding: 0;
				background: #8bc37d;
			}

			/* 親メニューのliに相対位置を付与（矢印の基準） */
			.dropdown-menu ul li {
				position: relative;
			}

			.header__menu-btn {
				border-radius: 0 !important;
			}



			.hero {
				margin-top: 70px;
				height: auto;
			}

			.swiper-slide {
				background: none !important;
			}

			.swiper-slide img {
				display: block;
				max-width: 100%;
				width: 100%;
				height: auto;
			}

			/* =========================================
     Card Menu Section (div base)
  ========================================= */
			.card-nav__list {
				flex-direction: column;
			}

			/* =========================================
     Medical Info Section (追加分)
  ========================================= */
			.tel-row {
				flex-wrap: wrap;
			}

			.tel-times {
				width: 100%;
			}

			/* =========================================
			Facility Gallery Section (施設ギャラリー)
		========================================= */
			.gallery__bg-text {
				display: none;
			}


			/* -----------------------------------------
   Instagram
----------------------------------------- */
			.instagram_list {
				gap: 20px;
				flex-wrap: wrap;
			}

			.instagram_list_col {
				width: calc(100% / 2 - 10px);
			}

			.instagram_list img {
				height: 160px;
			}

			.instagram_list p.comment {
				height: 57px;
				font-size: 14px;
			}

			/* =========================================
     Recruit Section (採用情報)
  ========================================= */
			.recruit__header {
				margin-bottom: 0;
			}

			.recruit__bg-text {
				font-size: 40px;
			}

			/* =========================================
     Footer (フッター)
  ========================================= */

			.footer__main {
				gap: 0;
				padding: 25px 0;
			}

			.footer__nav {
				display: none;
			}

			/* =========================================
								    次階層
			======================================== */

			article {
				width: 100%;
				margin-top: 20px;
			}

			article section {
				width: 100% !important;
			}

			.next_header:before {
				display: none;
			}

			.next_header {
				height: 220px;
			}

			.next_header_inner h1 {
				display: none;
			}

			#next_container {
				flex-wrap: wrap;
				padding: 0 15px;
			}

			.pankuzu {
				text-align: left;
				padding: 0 10px;
			}

			.sidebar-menu {
				display: none;
			}

			.naxt_main_inner {
				width: 100%;
				flex: none;
			}

			.page_menu ul {
				flex-wrap: wrap;
				padding-bottom: 0;
			}

			.page_menu ul li {
				width: 100%;
			}

			.colum2 {
				flex-wrap: wrap;
			}

			.colum2_col {
				flex: 0 0 100%;
			}

			.colum2_col:last-child {
				flex: 0 0 100%;
			}

			.colum3 {
				flex-wrap: wrap;
			}

			.colum3_col {
				width: 100%;
			}

			table.guide_table td {
				font-size: 13px;
			}

			#js-menu-trigger {
				cursor: pointer;
				user-select: none;
				background: #33a825;
				padding: 15px;
				color: #fff;
				border-radius: 8px 8px 0 0;
				position: relative;
				z-index: 99;
			}

			#js-menu-trigger:after {
				content: '';
				position: absolute;
				top: 50%;
				right: 20px;
				width: 8px;
				height: 8px;
				border-right: 2px solid #fff;
				border-bottom: 2px solid #fff;
				transform: translate(-50%, -70%) rotate(45deg);
				transition: 0.3s;
			}

			#js-page-menu {
				display: none;
			}


			.page_menu {
				border-radius: 0 0 10px 10px;
			}

			/* =========================================
						初めての方へ
			========================================= */
			.next_section {
				margin-bottom: 40px;
			}

			.next_content {
				flex-direction: column-reverse;
				/* 画像を上、テキストを下にする場合はcolumn-reverse */
				gap: 15px;
				margin-top: 15px;
			}

			.next_image {
				width: 100%;
			}

			.next_text p {
				font-size: 15px;
			}

			article section p {
				word-break: break-word;
				font-size: 16px;
			}


			/* =========================================
												ご面会の方へ
			========================================= */

			/* 縦1カラムに変更 */
			.layout-grid {
				grid-template-columns: 1fr;
				gap: 35px;
			}

			.guide-list li {
				margin-bottom: 20px;
			}

			.list-title {
				font-size: 1rem;
			}

			.list-desc {
				font-size: 0.88rem;
				padding-left: 0;
				/* 画面幅を広く使うためインデントをリセット */
			}

			/* スマホ環境では2枚の画像を横並びにする（省スペース化） */
			.image-gallery {
				flex-direction: row;
				gap: 15px;
			}

			.image-gallery img {
				flex: 1;
				width: 100%;
			}


			/* =========================================
									看護部
				========================================= */
			.kango_flow {
				order: 1;
			}


			/* =========================================
					デイケア・訪問看護
========================================= */
			.contact-box {
				flex-direction: column;
				align-items: center;
				text-align: center;
				padding: 20px;
			}

			.contact-info {
				margin-left: 0;
				margin-top: 15px;
			}

			.phone-number {
				justify-content: center;
				font-size: 28px;
			}

			.reception-time {
				font-size: 12px;
			}

			.kaisai {
				flex-wrap: wrap;
				gap: 0;
				margin-bottom: 20px;
			}

			.kaisai dt {
				width: 100%;
				flex: 0 0 100%;
			}

			.kaisai dd {
				width: 100%;
			}

			.contact-label {
				margin-right: 0;
				font-size: 24px;
			}

			.contact-info {
				margin-top: 0;
				max-width: 100%;
			}


			/* =========================================
								当院について
				========================================= */
			.greeting_box {
				flex-wrap: wrap;
			}

			.greeting_photo {
				order: 1;
				flex: 0 0 100%;
			}

			.greeting_photo img {
				width: 70%;
				margin: 0 auto;
				display: block;
			}

			.greeting_message {
				order: 2;
			}

			/* =========================================
								フロアマップ
			========================================= */
			.floor-row {
				flex-direction: column;
				gap: 15px;
			}

			.floor-label {
				width: 100%;
				border-bottom: 2px solid #e67e22;
				padding-bottom: 5px;
			}

			.floor-content {
				flex-direction: column;
				gap: 20px;
				width: 100%;
			}

			.floor-map {
				max-width: 100%;
				width: 100%;
			}

			.floor-photos {
				flex-direction: row;
				flex-wrap: wrap;
				gap: 15px;
			}

			/* スマホ環境で写真が複数ある場合は2列、1つの場合は100% */
			.photo-item {
				flex: 1;
				min-width: 45%;
			}


			/* -----------------------------------------
									   採用情報
				----------------------------------------- */
			.recruit_table th {
				width: 28%;
				font-size: 16px;
			}

			.recruit_table td {
				width: 72%;
				font-size: 16px;
			}

			/* -----------------------------------------
						   エントリーフォーム
			----------------------------------------- */
			.form-table {
				table-layout: fixed;
			}

			.form-table tr {
				padding: 10px 0;
			}

			.form-table th,
			.form-table td {
				padding: 8px;
				font-size: 14px;
			}

			.required {
				display: block;
				width: 100%;
				margin-left: 0;
				font-size: 14px;
				text-align: center;
			}

			.form-birth-list {
				gap: 8px;
				flex-wrap: wrap;
			}

			.form-btn input[type="submit"] {
				width: 100%;
				padding: 14px 0;
			}


		}



		@media screen and (min-width: 761px) {

			.sp {
				display: none !important;
			}

			#top .header {
				/* 既存スタイルに追記 */
				transition: all 0.6s ease;
				/* 変化の速度。0.6秒でじわっと変わります */
			}

			.menu-trigger {
				display: none !important;
			}

			.sidebar-menu .page_menu {
				padding: 0;
				background: none;
			}

			/* -----------------------------------------
   スクロール後のスタイル（修正版）
----------------------------------------- */
			#top .header.is-scrolled {
				position: fixed;
				top: 0;
				left: 50%;
				/* PC版の元の位置（中央揃え）を維持 */
				transform: translateX(-50%);
				border-radius: 0 !important;
				width: 100%;
				max-width: 100%;
				border-radius: 0;
				background: rgba(255, 255, 255, 0.98);
				box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
				/* 余計な動きを排除し、不透明度だけのアニメーションを指定 */
				animation: fadeInOnly 0.6s ease forwards;
			}

			#top .header.is-scrolled .header__inner {
				border-radius: 10px 10px 0 0;
			}

			/* 純粋なフェードイン（位置は動かさない） */
			@keyframes fadeInOnly {
				0% {
					opacity: 0;
				}

				100% {
					opacity: 1;
				}
			}

			.dropdown-menu {
				max-width: 1220px;
				transform: translateX(-50%);
			}

			.hero .swiper-slide img {
				display: none !important;
			}
		}



		/* 画面幅がかなり狭いスマホ（480px以下） */
		@media screen and (max-width: 480px) {

			/* 画像も1枚ずつ縦並びにする */
			.image-gallery {
				flex-direction: column;
				gap: 15px;
			}

			.image-gallery img {
				width: 100%;
			}
		}