@charset "UTF-8";
/* ============================================================
   ロケーションページ（location/）
   数値は支給デザイン（1920px）の実測値。
   ・font-size：clamp(最小, px÷19.2 vw, 1920時の値)
   ・縦余白：rem（1440px表示時＝デザイン×0.75）
   ・横方向：%（.loc-inner 1256px 基準）
   ============================================================ */

/* ===== 共通変数 ===== */
.location {
	--c-text: #333;
	--c-green: #779f8b;
	--c-bar: #608664;
	--c-rule: #4f4c4d;
	--c-park: #e4eee5;
	--c-life: #efdce1;
	--c-kichi: #e1eef4;
	--c-kichi2: #cee0ec;
	--c-tag: #949595;
	--c-num: #333;
	--c-abc: #569236;
	--f-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	--f-sans: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;
	--f-en: "Jost", "Josefin Sans", "Noto Sans JP", sans-serif;
	color: var(--c-text);
	font-family: var(--f-serif);
	line-height: 1.6;
	padding-top: 100px; /* 固定ヘッダー分（PC 100px） */
}
.location img { max-width: 100%; height: auto; display: block; }
.location :where(ul, dl, dd, p, h2, h3, h4, h5) { margin: 0; padding: 0; }
.location :where(ul) { list-style: none; }
.location :where(h2, h3, h4, h5) { color: var(--c-text); font-family: inherit; } /* 共通CSSの見出し色（青・グレー）とゴシック指定を打ち消す */
.location .pc { display: inline; }
.location .sp { display: none; }
.loc-inner { width: 65.42%; margin: 0 auto; } /* 1256/1920 */

/* ===== 共通パーツ ===== */
.loc-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.6em; height: 1.6em;
	border-radius: 50%;
	background: var(--c-num);
	color: #fff;
	font-family: var(--f-serif); /* ナンバリングは明朝 */
	font-weight: 500;
	line-height: 1;
	vertical-align: .15em;
}
.loc-park__name .loc-num { font-size: .4em; margin-right: .5em; }
.loc-inokashira__name .loc-num { font-size: .42em; margin-right: .5em; }
.loc-shop__name .loc-num, .loc-school__name .loc-num,
.loc-kichi__name .loc-num, .loc-kichi__sname .loc-num { font-size: .7em; margin-right: .45em; vertical-align: .1em; }

/* 徒歩バッジ（--bw＝写真幅に対する直径） */
.loc-zenpukuji__photo, .loc-tateno__photo, .loc-shop__img, .loc-school__img { position: relative; container-type: inline-size; }
.loc-badge {
	--bw: 18cqw;
	position: absolute;
	width: var(--bw); height: var(--bw);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 6px rgba(0,0,0,.18);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	line-height: 1;
	color: #333;
	font-family: var(--f-serif);
}
.loc-badge__l { font-size: calc(var(--bw) * .17); }
.loc-badge__n { font-size: calc(var(--bw) * .46); line-height: .95; }
.loc-badge__m { font-size: calc(var(--bw) * .17); margin: -1.25em 0 0 2.3em; }
.loc-zenpukuji__photo .loc-badge { --bw: 17.93cqw; left: -1.44%; top: -4.69cqw; }  /* 149/831 */
.loc-tateno__photo .loc-badge { --bw: 21.63cqw; left: -3.34%; top: -2.9cqw; }      /* 149/689 */
.loc-shop__img .loc-badge { --bw: 22.83cqw; right: -3.6%; top: -4.2cqw; }         /* 92/403 */
.loc-school__img .loc-badge { --bw: 22.01cqw; left: -2.87%; top: -4.3cqw; }       /* 92/418 */

.loc-cap {
	position: absolute;
	font-family: var(--f-sans);
	font-size: clamp(0.625rem, 0.833vw, 1.000rem);
	line-height: 1;
}

/* セクション見出し・リード（公園／生活施設／吉祥寺） */
.loc-sec__title {
	font-size: clamp(1.375rem, 1.875vw, 2.250rem);
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1.4;
	text-align: center;
}
.loc-sec__lead {
	font-size: clamp(1.062rem, 1.458vw, 1.750rem);
	letter-spacing: .07em;
	line-height: 1.82;
	text-align: center;
	margin-top: 0.797rem;
}

/* ===== メインビジュアル ===== */
.loc-hero__img img { width: 100%; }

/* ===== 導入 ===== */
.loc-intro { text-align: center; padding: 4.594rem 0 8.109rem; }
.loc-intro__title {
	font-family: var(--f-en);
	font-weight: 300;
	font-size: clamp(1.500rem, 2.083vw, 2.500rem);
	letter-spacing: .04em;
	line-height: 1.2;
}
.loc-intro__icon { width: 15.5%; max-width: 297px; margin: 3rem auto 0; } /* PC：挿し絵を95%（16.3%→15.5%）、タイトル下の余白 2.25rem→3rem */
.loc-intro__icon img { width: 100%; }
.loc-intro__lead {
	font-size: clamp(0.875rem, 1.250vw, 1.500rem);
	letter-spacing: .1em;
	line-height: 1.875;
	margin-top: 1.781rem;
}
.loc-intro__body {
	font-size: clamp(0.625rem, 0.833vw, 1.000rem);
	letter-spacing: .03em;
	line-height: 2.4;
	margin-top: 1.125rem;
}
.loc-tabs ul {
	display: flex;
	justify-content: space-between;
	width: 62.66%; /* 1203/1920 */
	margin: 3.984rem auto 0;
}
.loc-tabs li { width: 32.34%; } /* 389/1203 */
.loc-tabs a {
	display: flex; align-items: center; justify-content: center;
	height: 4.266rem;
	border: 1px solid #333;
	color: #333;
	text-decoration: none;
	font-size: clamp(0.812rem, 1.146vw, 1.375rem);
	letter-spacing: .2em;
	line-height: 1;
	box-sizing: border-box;
	transition: background .3s, color .3s, border-color .3s;
}
.loc-tabs a.is-active,
.loc-tabs a:hover { background: var(--c-green); border-color: var(--c-green); color: #fff; }

/* ===== 公園 ===== */
.loc-park { background: var(--c-park); padding: 5.297rem 0 6.516rem; }
.loc-park__name {
	font-size: clamp(1.500rem, 2.083vw, 2.500rem);
	font-weight: 400;
	line-height: 1.4;
}
.loc-park__dist {
	font-family: var(--f-sans);
	font-weight: 500;
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	line-height: 1.5;
	padding-left: 1.75em;
	margin-top: 0.141rem;
}
.loc-park__dist span { font-weight: 400; font-size: .8em; margin-left: .2em; }
.loc-park__lead {
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	letter-spacing: .1em;
	line-height: 1.6;
	margin-top: 0.914rem;
}
.loc-park__body {
	font-size: clamp(0.625rem, 0.833vw, 1.000rem);
	line-height: 1.6;
	text-align: justify;
	margin-top: 0.820rem;
}

/* 善福寺公園：テキスト・写真は通常の流れ、概念図とA〜Cの解説はブロック幅基準で重ねる */
.loc-zenpukuji { position: relative; container-type: inline-size; margin-top: 4.008rem; }
.loc-zenpukuji__txt { width: 33.84%; }                       /* 425/1256 */
.loc-zenpukuji__photo { width: 66.16%; margin-top: 5.109rem; } /* 831/1256 */
.loc-zenpukuji__photo img { width: 100%; }
.loc-zenpukuji__map { position: absolute; left: 43.47%; top: 1.19cqw; width: 57.48%; } /* 546,15,722 /1256 */
.loc-zenpukuji__mapimg { position: relative; }
.loc-zenpukuji__mapimg img { width: 100%; }
.loc-zenpukuji__mapimg .loc-cap { right: 1.94%; bottom: 1.28%; }
.loc-zenpukuji__spot { position: absolute; }
.loc-zenpukuji__spot--a { left: 63.43%; top: .64cqw; width: 34.63%; }  /* 458,8,250 /722 */
.loc-zenpukuji__spot--b { left: 72.71%; top: 16.08cqw; width: 25.21%; } /* 525,202,182 /722 */
.loc-zenpukuji__spot--c { left: 50%; top: 62.18cqw; width: 48.06%; }    /* 361,781,347 /722 */
.loc-zenpukuji__spot dt {
	font-size: clamp(0.688rem, 0.938vw, 1.125rem);
	line-height: 1.5;
	display: flex; align-items: center;
}
.loc-zenpukuji__spot dd {
	font-size: clamp(0.625rem, 0.833vw, 1.000rem);
	line-height: 1.6;
	text-align: justify;
	margin-top: 1.1cqw;
}
.loc-abc {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.3em; height: 1.3em;
	border-radius: 50%;
	background: var(--c-abc);
	color: #fff;
	font-size: .95em;
	line-height: 1;
	margin-right: .5em;
}
.loc-zenpukuji__photos { display: flex; justify-content: space-between; margin-top: 1.04%; } /* 上余白＝写真の間隔（13/1256） */
.loc-zenpukuji__photos li { width: 32.56%; } /* 409/1256 */
.loc-zenpukuji__photos img { width: 100%; }

/* 立野公園 */
.loc-tateno {
	display: flex; justify-content: space-between;
	border-top: 1px solid var(--c-rule);
	margin-top: 2.953rem;
	padding-top: 3.000rem;
}
.loc-tateno__photo { width: 54.86%; align-self: flex-start; } /* 689/1256 */
.loc-tateno__photo img { width: 100%; }
.loc-tateno__txt { width: 43.47%; display: flex; flex-direction: column; margin-top: -0.234rem; } /* 546/1256 */
.loc-tateno .loc-park__body { margin-top: 0.633rem; }
.loc-tateno__photos { display: flex; justify-content: space-between; margin-top: auto; padding-top: 0.938rem; }
.loc-tateno__photos li { width: 49.45%; } /* 270/546 */
.loc-tateno__photos img { width: 100%; }

/* ===== 生活施設 ===== */
.loc-life { background: var(--c-life); padding: 5.578rem 0 6.844rem; }
.loc-life__head {
	display: flex; align-items: center;
	min-height: 3.422rem;
	padding: .4rem 0 .9rem; /* 下線との余白 */
	border-top: 1px solid var(--c-rule);
	border-bottom: 1px solid var(--c-rule);
	margin-top: 2.977rem;
}
.loc-life__head ~ .loc-life__head { margin-top: 4.406rem; }
.loc-life__cat {
	font-size: clamp(1.375rem, 1.875vw, 2.250rem);
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1;
	margin-right: 4.3%; /* 54/1256 */
	font-feature-settings: "palt";
}
.loc-life__catlead { font-size: clamp(0.812rem, 1.146vw, 1.375rem); letter-spacing: .08em; line-height: 1.5; }
.loc-shops { display: flex; justify-content: space-between; margin-top: 3.25rem; } /* 下線〜写真の余白 */
.loc-shop { width: 32.09%; } /* 403/1256 */
.loc-shop__img img { width: 100%; }
.loc-shop__name {
	font-family: var(--f-sans);
	font-weight: 500;
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	line-height: 1.5;
	margin-top: 0.586rem;
}
.loc-shop__dist { padding-left: 1.6em; }
.loc-shop__info, .loc-school__info {
	font-family: var(--f-sans);
	font-size: clamp(0.625rem, 0.833vw, 1.000rem);
	line-height: 1.32;
	margin-top: 0.445rem;
}
.loc-schools { display: flex; justify-content: space-between; margin-top: 3.25rem; }
.loc-school { width: 48.73%; display: flex; justify-content: space-between; } /* 612/1256 */
.loc-school__img { width: 68.3%; align-self: flex-start; } /* 418/612 */
.loc-school__img img { width: 100%; }
.loc-school__txt { width: 30.07%; margin-top: -0.305rem; }
.loc-school__name {
	font-family: var(--f-sans);
	font-weight: 500;
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	line-height: 1.3;
}
.loc-school__dist { display: block; padding-left: 1.6em; margin-top: 0.328rem; }
.loc-school__info { margin-top: 1.078rem; line-height: 1.375; }

/* ===== 吉祥寺 ===== */
.loc-kichi { background: var(--c-kichi); padding-top: 4.828rem; }
.loc-kichi > .loc-inner { padding-bottom: 4.641rem; }
.loc-kichi__list { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 2.836rem; }
.loc-kichi__item { width: 48.73%; margin-bottom: 1.172rem; } /* 612/1256 */
.loc-kichi__img img { width: 100%; }
.loc-kichi__tags {
	display: grid; grid-template-columns: repeat(3, 1fr);
	column-gap: .82%; row-gap: 0.234rem;
	margin-top: 0.375rem;
}
.loc-kichi__tags li {
	background: var(--c-tag);
	color: #fff;
	font-family: var(--f-sans);
	font-size: clamp(0.625rem, 0.885vw, 1.062rem);
	line-height: 2.294; /* 39px */
	text-align: center;
	letter-spacing: .04em;
}
.loc-kichi__cap { font-size: clamp(0.625rem, 0.833vw, 1.000rem); line-height: 1.6; letter-spacing: 0; margin-top: 0.422rem; }
.loc-kichi__name {
	font-family: var(--f-sans);
	font-weight: 500;
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	line-height: 1.5;
	margin-top: 0.516rem;
}
.loc-kichi__info { font-family: var(--f-sans); font-size: clamp(0.625rem, 0.833vw, 1.000rem); line-height: 1.32; margin-top: 0.305rem; }
.loc-kichi__small { display: flex; justify-content: space-between; margin-top: 0.469rem; }
.loc-kichi__sitem { width: 48.73%; display: flex; justify-content: space-between; }
.loc-kichi__simg { width: 67.05%; align-self: flex-start; } /* 411/613 */
.loc-kichi__simg img { width: 100%; }
.loc-kichi__stxt { width: 30.02%; } /* 184/613 */
.loc-kichi__sname { font-family: var(--f-sans); font-weight: 500; font-size: clamp(0.688rem, 0.990vw, 1.188rem); line-height: 1.25; padding-left: 1.24em; }
.loc-kichi__sname .loc-num { font-size: .62em; margin: 0 .4em 0 -2em; }
.loc-kichi__sdist { display: block; font-size: .9em; line-height: 1.4; margin-top: 0.094rem; }
.loc-kichi__scap { font-size: clamp(0.625rem, 0.781vw, 0.938rem); line-height: 1.63; text-align: justify; font-feature-settings: "palt"; margin-top: 0.469rem; }
.loc-kichi__sinfo { font-family: var(--f-sans); font-size: clamp(0.625rem, 0.833vw, 1.000rem); line-height: 1.34; margin-top: 1.125rem; }

/* 井の頭恩賜公園 */
.loc-inokashira { background: var(--c-kichi2); padding: 5.203rem 0 6.375rem; }
.loc-inokashira__main img { width: 100%; }
.loc-inokashira__name { font-size: clamp(1.375rem, 1.875vw, 2.250rem); font-weight: 400; line-height: 1.4; margin-top: 1.172rem; }
.loc-inokashira__dist { font-family: var(--f-sans); font-weight: 500; font-size: .56em; margin-left: .6em; }
.loc-inokashira__addr { font-family: var(--f-sans); font-size: .44em; margin-left: .6em; }
.loc-inokashira__lead { font-size: clamp(0.750rem, 1.042vw, 1.250rem); letter-spacing: .06em; line-height: 1.6; margin-top: 1.125rem; }
.loc-inokashira__body { font-size: clamp(0.625rem, 0.833vw, 1.000rem); line-height: 1.625; text-align: justify; margin-top: 0.516rem; }
.loc-inokashira__photos { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 1.359rem; }
.loc-inokashira__photos li { width: 48.73%; margin-bottom: 1.139rem; }
.loc-inokashira__photos img { width: 100%; }
.loc-inokashira__photos p { font-size: clamp(0.625rem, 0.833vw, 1.000rem); line-height: 1.625; text-align: justify; margin-top: 0.408rem; }

/* ===== 現地案内図・周辺施設一覧 ===== */
/* 上余白：井の頭恩賜公園の最下部（最終行〜背景の下端）と同じ白余白 */
.loc-map { background: #fff; padding: 7.641rem 0 5.156rem; }
.loc-map__img img { width: 100%; }
.loc-lists { display: flex; justify-content: space-between; margin-top: 2.766rem; }
.loc-lists__col { width: 48.57%; } /* 610/1256 */
.loc-list { margin-bottom: 1.336rem; }
.loc-list__title {
	background: var(--c-bar);
	color: #fff;
	font-weight: 400;
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	line-height: 1.75; /* 35px */
	letter-spacing: .04em;
	padding-left: 3.77%; /* 23/610 */
}
.loc-list ul { margin-top: 0.352rem; }
.loc-list li {
	display: flex; align-items: baseline;
	font-size: clamp(0.750rem, 1.042vw, 1.250rem);
	line-height: 1.7; /* 34px */
}
.loc-list__name { white-space: nowrap; }
.loc-list__name sup { font-size: .55em; vertical-align: super; line-height: 0; }
.loc-list__name small { font-size: .6em; }
.loc-list li::after {
	content: "";
	flex: 1;
	border-bottom: 2px dotted #333;
	margin: 0 .4em;
	transform: translateY(-.35em);
	opacity: .7;
}
.loc-list__dist { white-space: nowrap; order: 1; }
.loc-lists__note { font-size: clamp(0.625rem, 0.729vw, 0.875rem); line-height: 1.4; text-align: right; margin-top: -0.656rem; }
.loc-map__note { font-size: clamp(0.625rem, 0.781vw, 0.938rem); line-height: 1.33; text-align: center; margin-top: 5.109rem; }

/* ============================================================
   SP（〜1023px）
   ============================================================ */
@media (max-width: 1023px) {
	.location .pc { display: none; }
	.location .sp { display: inline; }
	.loc-inner { width: 90%; }
	.loc-sec__title { font-size: 1.5rem; }
	.loc-sec__lead { font-size: 1.05rem; line-height: 1.75; margin-top: .6rem; }

	.loc-intro { padding: 2.5rem 0 3rem; }
	.loc-intro__title { font-size: 1.75rem; }
	.loc-intro__icon { width: 45%; margin-top: 2.2rem; } /* SP：挿し絵を90%（50%→45%）、タイトル下の余白 1.5rem→2.2rem */
	.loc-intro__lead { font-size: 1.05rem; line-height: 1.75; margin-top: 1.5rem; }
	.loc-intro__body { font-size: .875rem; line-height: 2; width: 90%; margin: 1rem auto 0; text-align: left; }
	.loc-tabs ul { width: 90%; margin-top: 2rem; }
	.loc-tabs a { height: 3.2rem; font-size: .9rem; letter-spacing: .1em; }

	.loc-park, .loc-life { padding: 3rem 0 3.5rem; }
	.loc-inokashira { padding: 1.8rem 0 2rem; } /* SP：青背景枠の余白を減らす */
	.loc-kichi { padding-top: 3rem; }
	.loc-kichi > .loc-inner { padding-bottom: 3rem; }

	.loc-park__name { font-size: 1.6rem; }
	.loc-park__dist { font-size: .95rem; padding-left: 0; }
	.loc-park__dist span { display: block; }
	.loc-park__lead { font-size: 1rem; line-height: 1.75; margin-top: 1rem; }
	.loc-park__body { font-size: .875rem; line-height: 1.85; margin-top: .8rem; }

	.loc-zenpukuji { margin-top: 2rem; }
	.loc-zenpukuji__txt, .loc-zenpukuji__photo { width: 100%; }
	.loc-zenpukuji__photo { margin-top: 2.5rem; }
	.loc-zenpukuji__map { position: static; width: 100%; margin-top: 2rem; }
	.loc-zenpukuji__mapimg { width: 100%; }
	.loc-zenpukuji__spot { position: static; width: 100%; margin-top: 1.2rem; }
	.loc-zenpukuji__spot dt { font-size: 1rem; }
	.loc-zenpukuji__spot dd { font-size: .875rem; line-height: 1.8; margin-top: .3rem; }
	.loc-cap { font-size: .75rem; }
	.loc-zenpukuji__photos { flex-wrap: wrap; gap: .6rem 0; margin-top: 1.5rem; }
	.loc-zenpukuji__photos li { width: 49%; }
	.loc-zenpukuji__photos li:first-child { width: 100%; }

	.loc-tateno { flex-wrap: wrap; margin-top: 2.5rem; padding-top: 3rem; }
	.loc-tateno__photo, .loc-tateno__txt { width: 100%; }
	.loc-tateno__txt { margin-top: 1.5rem; }
	.loc-tateno .loc-park__body { margin-top: .8rem; }
	.loc-tateno__photos { padding-top: 1.2rem; }

	.loc-life__head { flex-wrap: wrap; padding: .8rem 0; margin-top: 2rem; }
	.loc-life__head ~ .loc-life__head { margin-top: 2.5rem; }
	.loc-life__cat { font-size: 1.4rem; width: 100%; margin: 0 0 .4rem; }
	.loc-life__catlead { font-size: .875rem; letter-spacing: .04em; }
	.loc-shops { flex-wrap: wrap; margin-top: 2rem; gap: 2.2rem 0; }
	.loc-shop { width: 100%; }
	.loc-shop__name, .loc-school__name, .loc-kichi__name, .loc-kichi__sname { font-size: 1rem; line-height: 1.6; }
	.loc-shop__info, .loc-school__info, .loc-kichi__info, .loc-kichi__sinfo { font-size: .8125rem; line-height: 1.6; margin-top: .4rem; }
	.loc-schools { flex-wrap: wrap; margin-top: 2rem; gap: 2.2rem 0; }
	.loc-school { width: 100%; flex-wrap: wrap; }
	.loc-school__img, .loc-school__txt { width: 100%; }
	.loc-school__txt { margin-top: .8rem; }
	.loc-school__dist { display: inline; padding-left: 0; margin: 0; }
	.loc-school__dist br, .loc-kichi__sname br, .loc-kichi__sdist br { display: none; }

	.loc-kichi__list { margin-top: 2rem; }
	.loc-kichi__item { width: 100%; margin-bottom: 2.5rem; }
	.loc-kichi__tags li { font-size: .75rem; line-height: 2.4; }
	.loc-kichi__cap { font-size: .8125rem; line-height: 1.8; margin-top: .6rem; }
	.loc-kichi__name { margin-top: .5rem; }
	.loc-kichi__small { flex-wrap: wrap; gap: 2.5rem 0; margin-top: 0; }
	.loc-kichi__sitem { width: 100%; flex-wrap: wrap; }
	.loc-kichi__simg, .loc-kichi__stxt { width: 100%; }
	.loc-kichi__stxt { margin-top: .8rem; }
	.loc-kichi__sdist { display: inline; padding-left: 0; font-size: 1em; }
	.loc-kichi__sname { padding-left: 0; }
	.loc-kichi__sname .loc-num { margin-left: 0; }
	.loc-kichi__scap { font-size: .8125rem; line-height: 1.8; margin-top: .4rem; }
	.loc-kichi__sinfo br:first-of-type { display: none; }

	.loc-inokashira__name { font-size: 1.5rem; line-height: 1.5; margin-top: 1.2rem; }
	.loc-inokashira__dist, .loc-inokashira__addr { display: block; margin-left: 0; font-size: .875rem; }
	.loc-inokashira__addr { font-size: .8125rem; }
	.loc-inokashira__lead { font-size: 1rem; line-height: 1.75; margin-top: .8rem; }
	.loc-inokashira__body { font-size: .875rem; line-height: 1.85; margin-top: .6rem; }
	.loc-inokashira__photos { margin-top: 1.5rem; }
	.loc-inokashira__photos li { width: 100%; margin-bottom: 1.5rem; }
	.loc-inokashira__photos p { font-size: .8125rem; line-height: 1.8; margin-top: .5rem; }

	.loc-map { padding: 3.5rem 0 3rem; }
	.loc-lists { flex-wrap: wrap; margin-top: 2rem; }
	.loc-lists__col { width: 100%; }
	.loc-list { margin-bottom: 1.5rem; }
	.loc-list__title { font-size: .9375rem; line-height: 2; }
	.loc-list ul { margin-top: .4rem; }
	.loc-list li { font-size: .8125rem; line-height: 1.9; }
	.loc-list__name { white-space: normal; }
	.loc-lists__note { font-size: .75rem; margin-top: -.6rem; }
	.loc-map__note { font-size: .75rem; line-height: 1.7; text-align: left; margin-top: 2rem; }
}
@media (max-width: 768px) {
	.location { padding-top: 76px; }
}
/* タブレット（768〜1023px）個別調整 */
@media (min-width: 768px) and (max-width: 1023px) {
	.loc-shops { gap: 2.5rem 0; }
	.loc-shop { width: 48%; }
	.loc-shops { justify-content: space-between; }
	.loc-school { width: 48%; }
	.loc-kichi__item { width: 48.5%; }
	.loc-kichi__sitem { width: 48.5%; }
	.loc-inokashira__photos li { width: 48.5%; }
	.loc-zenpukuji__mapimg { width: 75%; margin: 0 auto; }
}
