/* =========================================================
   Muraoka Dental — 1440〜1599px でヘッダーが折り返すバグ（2026-08-28）

   ヘッダーの必要幅を実測すると
     ロゴ 424px ＋ ナビ 725px ＋ 予約ボタン 320px ＋ ナビ右余白 40px = 1509px
   で、設計幅である1440pxを69pxオーバーしている。
   はみ出した分だけナビが圧縮され、「ドクター紹介」「診療案内」などが
   2行に折り返して崩れる（1440pxちょうどのモニターで最も目立つ）。
   1600px以上では収まるので、この帯だけロゴとナビ間隔を詰めて吸収する。
   予約ボタンはCTAなので縮めない。
   ========================================================= */
@media (min-width: 1440px) and (max-width: 1599px) {
	.site-brand { gap: 10px; padding-left: 16px; }
	.site-brand__mark { width: 54px; }
	.site-brand__ja { font-size: 19px; }
	.site-brand__en { font-size: 10px; }
	.global-nav { margin-right: 20px; }
	.global-nav__list { gap: 18px; }
}

/* =========================================================
   Muraoka Dental — タブレット幅ヘッダー（768〜1439px）
   PCヘッダーはFigma「PCtop 1440px」前提で組んであり、bodyにも
   min-width:1440pxがかかっているため、768〜1439pxの実ビューポートでは
   PCナビが本来1440px分の横幅で描画される。
   しかしヘッダー自体はposition:relativeで通常フローに乗っているため、
   ハンバーガーボタン（position:absolute; right:0）は「1440px幅の行の右端」
   に置かれ、実ビューポートの外（横スクロールしないと出てこない位置）に
   飛んでしまう。その状態でナビ文言だけが実ビューポート幅に押し込まれて
   折り返す — というのがこの範囲で「メニューが崩れる」バグの正体。
   本文側（bodyのmin-width:1440px）はここでは変えない。他の多くのセクションが
   1440px前提のposition:absoluteで組まれており、body側を狭めると全体が壊れる。
   ヘッダーだけposition:fixedにして実ビューポート基準に切り離し、SPと同じ
   ハンバーガー表示に切り替えることで、本文の横スクロールは残したまま
   ヘッダーだけを正しく機能させる。
   ========================================================= */
@media (min-width: 768px) and (max-width: 1439px) {
	body { padding-top: 80px; }
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 1000;
	}
	.site-header__right { display: none; }
	.site-brand { gap: 10px; padding-left: 16px; padding-right: 66px; }
	.site-brand__mark { width: 50px; }
	.site-brand__text { gap: 5px; }
	.site-brand__ja { font-size: 18px; white-space: nowrap; }
	.site-brand__en { font-size: 9px; white-space: nowrap; }

	.menu-toggle {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 80px;
		border: 0;
		background: var(--color-gold);
		cursor: pointer;
	}
	.menu-toggle span {
		display: block;
		width: 34px;
		height: 1px;
		background: var(--color-white);
		transition: transform .25s, opacity .25s, width .25s;
	}
	body.menu-open .menu-toggle span:nth-child(1) { width: 40px; transform: translateY(11px) rotate(24deg); }
	body.menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
	body.menu-open .menu-toggle span:nth-child(3) { width: 40px; transform: translateY(-11px) rotate(-24deg); }
	body.menu-open { overflow: hidden; }

	/* ドロワーの中身はSP版（375px想定）をそのまま流用。
	   幅330px固定で画面中央に表示されるため、768px以上でも違和感なく収まる。 */
	body.menu-open .sp-menu {
		display: block;
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
		background: var(--color-cream);
		padding: 20px 0 40px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.sp-menu__list { width: 330px; margin: 0 auto; }
	.sp-menu__item { border-bottom: 1px solid rgba(85, 85, 85, .3); }
	.sp-menu__row { display: flex; align-items: center; height: 60px; padding: 0 10px 0 20px; }
	.sp-menu__row > a,
	.sp-menu__row > span { flex: 1; font-size: 16px; letter-spacing: 0.1em; line-height: 1.6; color: var(--color-text); }
	.sp-menu__row--group { cursor: pointer; }
	.sp-menu__toggle {
		position: relative;
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		border: 0;
		border-radius: 50%;
		background: var(--color-gold-light);
		cursor: pointer;
	}
	.sp-menu__toggle::before,
	.sp-menu__toggle::after {
		content: "";
		position: absolute;
		left: 4.5px;
		top: 9.5px;
		width: 11px;
		height: 1px;
		background: var(--color-white);
	}
	.sp-menu__toggle::after { transform: rotate(90deg); transition: transform .2s; }
	.sp-menu__item.is-open .sp-menu__toggle::after { transform: rotate(0deg); }
	.sp-menu__sub { display: none; }
	.sp-menu__item.is-open .sp-menu__sub { display: block; }
	.sp-menu__sub li { border-top: 1px solid rgba(85, 85, 85, .3); }
	.sp-menu__sub a {
		display: flex;
		align-items: center;
		gap: 0;
		height: 60px;
		padding: 0 10px 0 20px;
		font-size: 16px;
		letter-spacing: 0.1em;
		color: var(--color-gold);
	}
	.sp-menu__sub a::before {
		content: "";
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		margin-right: 20px;
		border-radius: 50%;
		background:
			linear-gradient(var(--color-white), var(--color-white)) center / 11px 1px no-repeat,
			var(--color-gold-light);
	}
	.sp-menu__cta { display: flex; flex-direction: column; gap: 10px; width: 320px; margin: 40px auto 0; }
	.sp-cta-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 17px;
		height: 83px;
		border-radius: 83px;
		font-family: var(--font-zen);
		font-size: 20px;
		letter-spacing: 0.08em;
		line-height: 1;
	}
	.sp-cta-btn--tel { background: var(--color-gold); border: 1px solid var(--color-white); color: var(--color-white); }
	.sp-cta-btn--web { background: var(--color-white); border: 1.7px solid var(--color-gold); color: var(--color-brown); }
	.sp-cta-btn .ico-tel { width: 30px; height: 31px; }
	.sp-cta-btn .ico-mail { width: 33px; height: 26px; }
	.sp-cta-btn .chev-right { width: 8px; height: 17px; }
	.sp-cta-btn--web .chev-right { color: var(--color-gold); }
}

/* =========================================================
   Muraoka Dental — SP TOP (Figma: SP TOP / SPtop 375px)
   Applied at max-width: 767px, overrides top.css
   ========================================================= */
@media (max-width: 767px) {
	.sp-only { display: inline; }
	.pc-only { display: none; }
	body { min-width: 0; }

	/* ---------- header / menu ---------- */
	.menu-toggle {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 80px;
		border: 0;
		background: var(--color-gold);
		cursor: pointer;
	}
	.menu-toggle span {
		display: block;
		width: 34px;
		height: 1px;
		background: var(--color-white);
		transition: transform .25s, opacity .25s, width .25s;
	}
	body.menu-open .menu-toggle span:nth-child(1) { width: 40px; transform: translateY(11px) rotate(24deg); }
	body.menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
	body.menu-open .menu-toggle span:nth-child(3) { width: 40px; transform: translateY(-11px) rotate(-24deg); }
	.site-header { position: sticky; top: 0; z-index: 1000; }
	.site-header__right { display: none; }
	.site-brand { gap: 10px; padding-left: 16px; padding-right: 66px; }
	.site-brand__mark { width: 50px; }
	.site-brand__text { gap: 5px; }
	.site-brand__ja { font-size: 18px; white-space: nowrap; }
	.site-brand__en { font-size: 9px; white-space: nowrap; }
	body.menu-open { overflow: hidden; }

	/* SP drawer (Figma 2059:1707 SPtop-nav) */
	body.menu-open .sp-menu {
		display: block;
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
		background: var(--color-cream);
		padding: 20px 0 40px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.sp-menu__list { width: 330px; margin: 0 auto; }
	/* 罫線色: Figma上は#555ストローク(不透明度低)。モック見た目からサンプリング */
	.sp-menu__item { border-bottom: 1px solid rgba(85, 85, 85, .3); }
	.sp-menu__row {
		display: flex;
		align-items: center;
		height: 60px;
		padding: 0 10px 0 20px;
	}
	.sp-menu__row > a,
	.sp-menu__row > span {
		flex: 1;
		font-size: 16px;
		letter-spacing: 0.1em;
		line-height: 1.6;
		color: var(--color-text);
	}
	/* 遷移先を持たないカテゴリ見出しの行。行全体で開閉できる（nav.js） */
	.sp-menu__row--group { cursor: pointer; }
	.sp-menu__toggle {
		position: relative;
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		border: 0;
		border-radius: 50%;
		background: var(--color-gold-light);
		cursor: pointer;
	}
	.sp-menu__toggle::before,
	.sp-menu__toggle::after {
		content: "";
		position: absolute;
		left: 4.5px;
		top: 9.5px;
		width: 11px;
		height: 1px;
		background: var(--color-white);
	}
	.sp-menu__toggle::after { transform: rotate(90deg); transition: transform .2s; }
	.sp-menu__item.is-open .sp-menu__toggle::after { transform: rotate(0deg); }
	.sp-menu__sub { display: none; }
	.sp-menu__item.is-open .sp-menu__sub { display: block; }
	.sp-menu__sub li { border-top: 1px solid rgba(85, 85, 85, .3); }
	.sp-menu__sub a {
		display: flex;
		align-items: center;
		gap: 0;
		height: 60px;
		padding: 0 10px 0 20px;
		font-size: 16px;
		letter-spacing: 0.1em;
		color: var(--color-gold);
	}
	.sp-menu__sub a::before {
		content: "";
		flex-shrink: 0;
		width: 20px;
		height: 20px;
		margin-right: 20px;
		border-radius: 50%;
		background:
			linear-gradient(var(--color-white), var(--color-white)) center / 11px 1px no-repeat,
			var(--color-gold-light);
	}
	.sp-menu__cta {
		display: flex;
		flex-direction: column;
		gap: 10px;
		width: 320px;
		margin: 40px auto 0;
	}
	.sp-cta-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 17px;
		height: 83px;
		border-radius: 83px;
		font-family: var(--font-zen);
		font-size: 20px;
		letter-spacing: 0.08em;
		line-height: 1;
	}
	.sp-cta-btn--tel {
		background: var(--color-gold);
		border: 1px solid var(--color-white);
		color: var(--color-white);
	}
	.sp-cta-btn--web {
		background: var(--color-white);
		border: 1.7px solid var(--color-gold);
		color: var(--color-brown);
	}
	.sp-cta-btn .ico-tel { width: 30px; height: 31px; }
	.sp-cta-btn .ico-mail { width: 33px; height: 26px; }
	.sp-cta-btn .chev-right { width: 8px; height: 17px; }
	.sp-cta-btn--web .chev-right { color: var(--color-gold); }

	/* ---------- SP fixed bottom reserve bar (Figma 2059:1697) ---------- */
	body { padding-bottom: 60px; }
	.sp-fixed-reserve {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
	}
	body.menu-open .sp-fixed-reserve { display: none; }
	.sp-fixed-reserve__btn {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		height: 60px;
		color: var(--color-white);
		font-family: var(--font-zen);
		font-size: 16px;
		letter-spacing: 0.08em;
		line-height: 1;
	}
	.sp-fixed-reserve__btn--tel { background: var(--color-text); }
	.sp-fixed-reserve__btn--web { background: var(--color-gold); }
	.sp-fixed-reserve__btn .ico-tel { width: 21px; height: 22px; }
	.sp-fixed-reserve__btn .ico-mail { width: 23px; height: 18px; }
	.sp-fixed-reserve__btn .chev-right { width: 6px; height: 12px; }

	/* ---------- shared ---------- */
	.sec-head__en { font-size: 30px; line-height: 1.25; }
	.sec-head__en--sm { font-size: 30px; }
	.sec-head__jp { font-size: 16px; }
	.sec-head { gap: 16px; }
	.watermark { font-size: 70px; }

	/* ---------- hero ---------- */
	.hero {
		height: 540px;
		margin-bottom: 153px;
		/* キービジュアルは .hero__slide の3枚に置き換えたため背景画像は持たせない。
		   ここに旧KVが残っていると、スライドのクロスフェード中に一瞬だけ下から覗く。 */
	}
	.hero::before {
		background: linear-gradient(180deg, rgba(110, 96, 72, 0) 40%, rgba(110, 96, 72, .35) 75%);
	}
	.hero__content { left: 20px; top: 280px; right: 0; }
	.hero__catch { font-size: 48px; line-height: 1.17; }
	.hero__badges { margin-top: 30px; margin-left: -7px; }
	.hero__badges li {
		width: 120px;
		height: 120px;
		margin-right: -5px;
		border-width: 1.5px;
		font-size: 15px;
	}

	/* ---------- news / blog ---------- */
	.news { padding-top: 0; }
	.news__inner, .blog__inner {
		flex-direction: column;
		width: auto;
		padding: 0 12.5px;
	}
	.news__side, .blog__side { width: 100%; }
	.news__side .sec-head, .blog__side .sec-head { align-items: center; text-align: center; }
	.news__list, .blog__list { width: 100%; margin-top: 40px; }
	.news-row__body { width: calc(100% - 30px); }
	.news-row__title { font-size: 16px; line-height: 1.3; margin-top: 10px; }
	.news__more, .blog__more { position: static; margin: 40px auto 0; }

	/* ---------- information ---------- */
	.info { width: auto; height: 1020px; margin: 60px 0 0; }
	.info__card { left: 0; top: 0; width: 100%; height: 779px; border-radius: 0; }
	.info__head { top: 60px; }
	.info__list { left: 12.5px; top: 153px; width: 350px; }
	.info__list li { gap: 13px; padding: 19px 6px; }
	.info__list p { font-size: 15px; line-height: 1.55; }
	.check { width: 18px; height: 18px; border-radius: 4px; }
	.check::after { left: 3px; top: 3px; width: 8px; height: 5px; border-width: 2px; }
	.info__photo--1 { left: 0; top: 598px; width: 172px; }
	.info__photo--2 { left: 40px; top: 870px; width: 242px; }
	.info__photo--3 { left: auto; right: 0; top: 675px; width: 152px; }

	/* ---------- concerns ---------- */
	.concerns { margin-top: 60px; }
	.concerns__en { font-size: 11px; }
	.concerns__title { font-size: 25px; line-height: 1.33; margin-top: 30px; }
	.concerns__grid { width: auto; gap: 10px; margin: 40px 12.5px 0; }
	.concern-card { width: calc(50% - 5px); height: 190px; padding: 24px 0; gap: 16px; }
	/* PC版と同じ理由で width:auto は使わない（SVGアイコンが幅0に潰れるため）。
	   固定ボックス＋object-fit:contain で統一する。 */
	.concern-card__icon { width: 72px; height: 48px; object-fit: contain; }
	.concern-card__title { font-size: 16px; line-height: 1.3; }
	/* 140px・font-size14px・左右padding10px・gap10px だと、最長ラベルの
	   「ホワイトニング」（7文字）が1px足らずで2行に折り返し、高さ30pxからはみ出していた。
	   文字を13pxにして余白を詰め、最長ラベルでも1行に収まるようにしてある。 */
	.pill-btn { width: 140px; min-height: 30px; height: auto; padding: 6px 8px; gap: 6px; font-size: 13px; }

	/* ---------- clinic ---------- */
	.clinic { margin-top: 60px; padding: 60px 0; }
	.clinic .sec-head__en { max-width: 250px; }
	.clinic__body { flex-direction: column; width: auto; margin: 40px 12.5px 0; }
	.clinic__map { width: 100%; }
	.clinic__map-link { height: 300px; }
	.clinic__map-note { right: 10px; bottom: 10px; padding: 8px 12px; font-size: 13px; }
	.clinic__detail { width: 100%; margin-top: 52px; }
	.clinic-table th, .clinic-table td { font-size: 14px; line-height: 1.6; padding: 14px 5px; }
	.clinic-table th { width: 90px; }
	.clinic-table__tel { font-size: 21px !important; }
	.hours-lead { margin-top: 24px; font-size: 15px; text-align: center; }
	.hours-table { margin-top: 14px; }
	.hours-table thead th { padding: 10px 2px; font-size: 14px; line-height: 1.3; }
	.hours-table__corner { width: 66px; font-size: 13px; letter-spacing: 0; }
	.hours-table__sub { margin-top: 3px; font-size: 9px; }
	.hours-table tbody th { width: 66px; padding: 16px 2px; font-size: 15px; }
	.hours-table tbody td { padding: 14px 2px; font-size: 15px; line-height: 1.4; }
	.hours-table td .sep { display: block; margin: 3px 0; }
	.hours-notes { margin-top: 16px; gap: 8px; }
	.hours-notes li { font-size: 13px; }
	.hours-notes__closed { font-size: 14px !important; }

	/* ---------- CTA ---------- */
	.cta { height: 399px; }
	.cta__title { padding-top: 60px; font-size: 25px; line-height: 1.4; }
	.cta__buttons { flex-direction: column; align-items: center; gap: 20px; margin-top: 40px; }
	.cta-btn { width: 320px; height: 83px; font-size: 20px; gap: 16px; }
	.cta-btn .ico-tel { width: 30px; height: 31px; }
	.cta-btn .ico-mail { width: 33px; height: 26px; }
	.cta-btn .chev-right { width: 8px; height: 16px; }

	/* ---------- philosophy ---------- */
	.philosophy { height: 681px; padding: 60px 12.5px 0; }
	.philosophy__watermark { display: none; }
	.philosophy__catch { margin-top: 40px; font-size: 25px; line-height: 1.5; }
	.philosophy__text { margin-top: 40px; font-size: 16px; line-height: 2.2; text-align: left; }
	.philosophy__text br { display: none; }
	.philosophy__director { margin-top: 36px; }
	.philosophy__director-en { font-size: 16px; }
	.philosophy__director-name { margin-top: 16px; font-size: 17px; line-height: 1.8; }

	/* ---------- concept ---------- */
	.concept { height: auto; padding: 60px 12.5px 0; }
	.concept__cards { flex-direction: column; width: auto; margin-top: 40px; }
	.concept-card { width: 100%; }
	.concept-card--offset { margin-top: 0; }
	.concept-card + .concept-card { margin-top: 40px; }
	.concept-card__num { font-size: 40px; }
	.concept-card img { width: 100%; height: 240px; }
	.concept-card__title { margin-top: 20px; font-size: 20px; }
	.concept-card__text { margin-top: 20px; font-size: 14px; line-height: 1.6; }

	/* ---------- reasons ---------- */
	.reasons { height: auto; padding: 60px 0 80px; }
	.reasons__head { position: static; }
	.reasons__watermark { left: 43px; top: 122px; }
	.reason-block { margin: 40px 12.5px 0; }
	.reason-block__photos { position: relative; width: 320px; height: 263px; margin: 0 auto; }
	.reason-block__ph-a { width: 172px !important; }
	.reason-block__ph-b { width: 135px !important; }
	.reason-block--1 .reason-block__ph-a, .reason-block--5 .reason-block__ph-a { left: 148px; top: 25px; }
	.reason-block--1 .reason-block__ph-b, .reason-block--5 .reason-block__ph-b { left: 0; top: 0; }
	.reason-block--2 .reason-block__ph-a, .reason-block--6 .reason-block__ph-a { left: 0; top: 25px; }
	.reason-block--2 .reason-block__ph-b, .reason-block--6 .reason-block__ph-b { left: 185px; top: 0; }
	.reason-block--3 .reason-block__ph-a { left: 0; top: 0; }
	.reason-block--3 .reason-block__ph-b { left: 185px; top: 31px; }
	.reason-block--4 .reason-block__ph-a { left: 0; top: 0; }
	.reason-block--4 .reason-block__ph-b { left: 185px; top: 25px; }
	.reason-item { position: static; width: 100%; margin-top: 40px; }
	.reason-item__num { font-size: 60px; }
	.reason-item__title { margin-top: 40px; font-size: 20px; line-height: 1.4; }
	.reason-item__text { margin-top: 40px; font-size: 14px; line-height: 1.85; }

	/* ---------- service ---------- */
	.service { height: auto; padding: 60px 12.5px 0; }
	.service__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 40px; }
	.service-card:nth-child(11) { grid-column-start: auto; }
	.service-card a { width: 100%; height: 190px; }
	.service-card__icon { height: 60px; margin-top: 26px; align-items: center; }
	.service-card__icon img { max-height: 42px; width: auto !important; max-width: 80px; object-fit: contain; }
	.service-card__title { margin-top: 14px; font-size: 16px; }
	.service-card__en { margin-top: 10px; font-size: 13px; }
	.service-card .chev-down--gold { margin-bottom: 26px; }

	/* ---------- pickup ---------- */
	.pickup { height: auto; padding: 60px 12.5px 0; }
	.pickup__cards { flex-direction: column; width: auto; margin-top: 40px; }
	.pickup-card { width: 100%; }
	.pickup-card--offset { margin-top: 0; }
	.pickup-card + .pickup-card { margin-top: 55px; }
	.pickup-card img { width: 100%; height: 240px; }
	.pickup-card__label { margin-top: 20px; font-size: 16px; }
	.pickup-card__title { margin-top: 20px; font-size: 24px; }
	.pickup-card__text { margin-top: 18px; font-size: 14px; line-height: 1.6; }

	/* ---------- doctors ---------- */
	.doctors { padding: 60px 12.5px; }
	.doctors__grid {
		flex-wrap: wrap;
		gap: 30px 10px;
		width: auto;
		margin-top: 40px;
	}
	.doctor-card { width: calc(50% - 5px); }
	.doctor-card__name { font-size: 17px; }
	.doctors__btn { margin-top: 40px; }

	/* ---------- director ---------- */
	.director { height: auto; padding: 60px 12.5px 60px; }
	.director__body { flex-direction: column; width: auto; margin-top: 40px; }
	.director__message { width: 100%; order: 2; }
	.director__photo { order: 1; width: 250px; height: auto; margin: 0 auto 40px; }
	.director__catch { font-size: 24px; line-height: 1.6; }
	.director__text { margin-top: 30px; font-size: 16px; line-height: 2.15; }
	.director__sign { margin-top: 30px; padding-right: 0; }
	.director__sign-title { font-size: 14px; }
	.director__sign-name { margin-top: 14px; font-size: 20px; }

	/* ---------- case ---------- */
	.case { margin-top: 60px; }
	.case__inner {
		flex-direction: column;
		width: auto;
		margin: 0 12.5px;
		background: linear-gradient(to bottom, var(--color-cream) 0, var(--color-cream) 500px, rgba(0, 0, 0, 0) 500px);
	}
	.case__content { order: 1; padding: 60px 17.5px 0; background: none; text-align: center; }
	.case__content .sec-head--left { align-items: center; text-align: center; }
	.case__lead { margin-top: 40px; font-size: 17px; }
	.case__circle-btn { position: static; order: 2; margin: 40px auto 0; font-size: 17px; }
	.case__images { order: 3; width: 100%; margin-top: 40px; }
	.case__fig { width: 50%; }
	.case__fig img { width: 100%; height: 258px; }
	.case__cap { height: 22px; font-size: 15px; }
	.case__arrow { left: calc(50% - 17.5px); top: 122px; width: 35px; height: 35px; }
	.case__arrow svg { width: 7px; height: 14px; }

	/* ---------- price banner ---------- */
	.price-banner { margin-top: 60px; }
	.price-banner img { width: 100%; }

	/* ---------- equipment ---------- */
	.equipment { padding: 60px 12.5px; }
	.equipment__cards { flex-direction: column; width: auto; margin-top: 40px; }
	.equipment-card { width: 100%; }
	.equipment-card--offset { margin-top: 0; }
	.equipment-card + .equipment-card { margin-top: 40px; }
	.equipment-card__img { width: 100%; height: 240px; }
	.equipment-card__title { margin-top: 20px; font-size: 20px; }
	.equipment-card__text { margin-top: 20px; font-size: 14px; line-height: 1.9; }
	.equipment__btn { width: 320px; height: 80px; margin-top: 40px; font-size: 16px; gap: 20px; }

	/* ---------- blog ---------- */
	.blog-sec { padding: 60px 0 0; }
	.blog-row a { padding-bottom: 40px; }
	.blog-row__thumb { margin-right: 15px; }
	.blog-row__body { width: auto; flex: 1; }
	.blog-row__title { font-size: 14px; line-height: 1.55; margin-top: 10px; }

	/* ---------- footer ---------- */
	.site-footer { padding: 60px 12.5px 20px; }
	.site-footer__inner { flex-direction: column; width: auto; }
	.site-footer__nav {
		order: 1;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 20px;
		padding-left: 10px;
	}
	.site-footer__col { width: auto; }
	.site-footer__clinic {
		order: 2;
		width: auto;
		margin-top: 20px;
		padding-top: 40px;
		border-right: 0;
		border-top: 1px solid rgba(255, 255, 255, .6);
	}
	.site-footer__brand { padding-bottom: 32px; border-bottom: 1px solid rgba(255, 255, 255, .6); }
	.site-footer__logo { width: 200px; }
	.site-footer__address { margin-top: 38px; }
	.site-footer__address p, .site-footer__hours p { font-size: 15px; }
	.site-footer__reserve { flex-direction: column; align-items: center; gap: 10px; }
	.site-footer__copyright { margin-top: 46px; font-size: 10px; }

	/* ---------- scroll top ---------- */
	.scroll-top { right: 20px; bottom: 80px; }
}
