@charset "UTF-8";
/* ============================================================
   トップページ：SEO内部対策で追加したスタイル
   背景画像(CSS)で出していた写真を <img alt="…"> に置き換えるための指定。
   位置・大きさは元の背景指定と同じ値（見た目は変わりません）。
   ============================================================ */
picture.simg-wrap { display: contents; }
.seo-sp-br { display: none; }
.simg {
	display: block;
	position: absolute;
	z-index: -1;
	max-width: none;
	object-fit: cover;
	pointer-events: none;
}
/* 画面外のセクションの背景画像は、近づいてから読み込む（JavaScriptが動かない環境では最初から全部読み込む） */
html.js .lazy-bg:not(.is-in), html.js .lazy-bg:not(.is-in) * { background-image: none !important; }
.block019--elem003 a, .block019--elem006 a, .block019--elem007 a { color: inherit; }
.block019--elem006 a { border-bottom: 1px solid currentColor; }

/* ---------- 幅1440px以上（固定の大きさ） ---------- */
@media (min-width: 1440px) {
	/* 店舗：電話・駐車場の1行を足した分、予約ボタンを少し下げる。足した行は1行に収まる大きさにする */
	.block019--elem008 { bottom: 34px; }
	.block019--elem007 .seo-tel, .block019--elem007 .seo-hours { font-size: 16px; white-space: nowrap; }
	/* 見出しの上の1行（2026-10-06 に短い文言へ変えた）。元の位置は長い文言の幅が前提なので、題目の真上の中央にそろえ直す2か所。
	   「プログラム紹介」は元が2行だったので、1行になった分だけ下げて、題目との間を変更前と同じにする。
	   同日の追補で上の1行が16字になったので、箱を左右へ同じだけ広げた（中心は同じ。10字の文言でも位置は変わらない） */
	.tweak01-01 { left: 5px; width: 320px; text-align: center; }
	.tweak02-01 { left: -52px; top: 30px; width: 316px; }
	.block003 { background-image: none !important; isolation: isolate; }
	.block003 > picture > .simg { width: 1440.99px; height: 893.62px; margin: 0 0 0 0; }
	.block007-elem01 { background-image: none !important; isolation: isolate; }
	.block007-elem01 > picture > .simg { width: 584.4px; height: 565.39px; margin: 0 0 0 0; }
	.block009-elem04-mod01 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod01 > picture > .simg { width: 300.21px; height: 177.12px; margin: 0 0 0 13px; }
	.block009-elem04-mod02 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod02 > picture > .simg { width: 300.21px; height: 177.12px; margin: 0 0 0 13px; }
	.block009-elem04-mod03 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod03 > picture > .simg { width: 300.21px; height: 177.12px; margin: 0 0 0 13px; }
	.block009-elem04-mod04 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod04 > picture > .simg { width: 300.21px; height: 177.12px; margin: 0 0 0 13px; }
	.block009-elem04-mod05 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod05 > picture > .simg { width: 300.21px; height: 177.12px; margin: 0 0 0 13px; }
	.block013 { background-image: none !important; isolation: isolate; }
	.block013 > picture > .simg { width: 453.31px; height: 525.37px; margin: 0 0 0 0; }
	.block016--elem03 { background-image: none !important; isolation: isolate; }
	.block016--elem03 > picture > .simg { width: 260.18px; height: 260.18px; margin: -285.19px 0 0 0; }
	.block016--elem04 { background-image: none !important; isolation: isolate; }
	.block016--elem04 > picture > .simg { width: 260.18px; height: 260.18px; margin: -285.19px 0 0 0; }
	.block016--elem05 { background-image: none !important; isolation: isolate; }
	.block016--elem05 > picture > .simg { width: 260.18px; height: 260.18px; margin: -285.19px 0 0 0; }
	.block019--mod004 { background-image: none !important; isolation: isolate; }
	.block019--mod004 > picture > .simg { width: 326.23px; height: 188.14px; margin: 0 0 0 0; }
	.block019--mod005 { background-image: none !important; isolation: isolate; }
	.block019--mod005 > picture > .simg { width: 326.23px; height: 188.14px; margin: 0 0 0 0; }
	.block019--mod006 { background-image: none !important; isolation: isolate; }
	.block019--mod006 > picture > .simg { width: 326.23px; height: 188.14px; margin: 0 0 0 0; }
	.block021--elem01--mod001 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod001 > picture > .simg { width: 360.24px; height: 200.15px; margin: 0 0 0 -395.28px; }
	.block021--elem01--mod002 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod002 > picture > .simg { width: 360.24px; height: 200.15px; margin: 0 0 0 -395.28px; }
	.block021--elem01--mod003 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod003 > picture > .simg { width: 360.24px; height: 200.15px; margin: 0 0 0 -395.28px; }
	.block021--elem01--mod004 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod004 > picture > .simg { width: 360.24px; height: 200.15px; margin: 0 0 0 -395.28px; }
	.block021--elem01--mod005 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod005 > picture > .simg { width: 360.24px; height: 200.15px; margin: 0 0 0 -395.28px; }
}
/* ---------- 幅766〜1439px（画面幅に比例） ---------- */
@media (min-width: 766px) and (max-width: 1439px) {
	/* h1：小さすぎて読めない大きさ（幅1024pxで約8.5px）だったので、12px以上にする */
	.tweakh1 { font-size: max(12px, 0.833vw); }
	.block019--elem008 { bottom: 2.4vw; }
	/* 見出しの上の1行：狭い幅で2行に折れて見出しに重ならないよう、折り返さない */
	.tweak01-01, .tweak02-1-01, .tweak02-01, .tweak03-01, .tweak04-01, .tweak05-01, .tweak06-01,
	.tweak08-01, .tweak09-01, .tweak10-01, .tweak11-01 { white-space: nowrap; }
	/* コース・料金の見出しの下の1文：2行に折れると見出しの飾りから外れ、本番と違う見た目になるので、折り返さない。
	   お客様の声の題名：枠の幅ちょうどの12字で、幅によって2行に折れて本文に重なる（本番にもある）ので、折り返さない */
	.tweak03-03, .block020--elem02 { white-space: nowrap; }
	/* 見出しの上の1行：題目の真上の中央にそろえ直す2か所（幅1440px以上の指定と同じ比率） */
	.tweak01-01 { left: 0.347vw; width: 22.238vw; text-align: center; }
	.tweak02-01 { left: -3.611vw; top: 2.085vw; width: 21.944vw; }
	/* 1行に収める行。小さくなりすぎないよう 9px を下限にする（12px にすると枠からはみ出す） */
	.block019--elem007 .seo-tel, .block019--elem007 .seo-hours { font-size: max(1.112vw, 9px); white-space: nowrap; }
	.block003 { background-image: none !important; isolation: isolate; }
	.block003 > picture > .simg { width: 100.069vw; height: 62.057vw; margin: 0 0 0 0; }
	.block007-elem01 { background-image: none !important; isolation: isolate; }
	.block007-elem01 > picture > .simg { width: 40.583vw; height: 39.263vw; margin: 0 0 0 0; }
	.block009-elem04-mod01 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod01 > picture > .simg { width: 20.848vw; height: 12.3vw; margin: 0 0 0 0.903vw; }
	.block009-elem04-mod02 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod02 > picture > .simg { width: 20.848vw; height: 12.3vw; margin: 0 0 0 0.903vw; }
	.block009-elem04-mod03 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod03 > picture > .simg { width: 20.848vw; height: 12.3vw; margin: 0 0 0 0.903vw; }
	.block009-elem04-mod04 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod04 > picture > .simg { width: 20.848vw; height: 12.3vw; margin: 0 0 0 0.903vw; }
	.block009-elem04-mod05 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod05 > picture > .simg { width: 20.848vw; height: 12.3vw; margin: 0 0 0 0.903vw; }
	.block013 { background-image: none !important; isolation: isolate; }
	.block013 > picture > .simg { width: 31.48vw; height: 36.484vw; margin: 0 0 0 0; }
	.block016--elem03 { background-image: none !important; isolation: isolate; }
	.block016--elem03 > picture > .simg { width: 18.068vw; height: 18.068vw; margin: -19.805vw 0 0 0; }
	.block016--elem04 { background-image: none !important; isolation: isolate; }
	.block016--elem04 > picture > .simg { width: 18.068vw; height: 18.068vw; margin: -19.805vw 0 0 0; }
	.block016--elem05 { background-image: none !important; isolation: isolate; }
	.block016--elem05 > picture > .simg { width: 18.068vw; height: 18.068vw; margin: -19.805vw 0 0 0; }
	.block019--mod004 { background-image: none !important; isolation: isolate; }
	.block019--mod004 > picture > .simg { width: 22.655vw; height: 13.065vw; margin: 0 0 0 0; }
	.block019--mod005 { background-image: none !important; isolation: isolate; }
	.block019--mod005 > picture > .simg { width: 22.655vw; height: 13.065vw; margin: 0 0 0 0; }
	.block019--mod006 { background-image: none !important; isolation: isolate; }
	.block019--mod006 > picture > .simg { width: 22.655vw; height: 13.065vw; margin: 0 0 0 0; }
	.block021--elem01--mod001 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod001 > picture > .simg { width: 25.017vw; height: 13.899vw; margin: 0 0 0 -27.45vw; }
	.block021--elem01--mod002 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod002 > picture > .simg { width: 25.017vw; height: 13.899vw; margin: 0 0 0 -27.45vw; }
	.block021--elem01--mod003 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod003 > picture > .simg { width: 25.017vw; height: 13.899vw; margin: 0 0 0 -27.45vw; }
	.block021--elem01--mod004 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod004 > picture > .simg { width: 25.017vw; height: 13.899vw; margin: 0 0 0 -27.45vw; }
	.block021--elem01--mod005 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod005 > picture > .simg { width: 25.017vw; height: 13.899vw; margin: 0 0 0 -27.45vw; }
}
/* ---------- 幅765px以下（スマホ） ---------- */
@media (max-width: 765px) {
	.tweakh1 { font-size: 3.2vw; }
	.seo-sp-br { display: inline; }
	/* 「スタジオ紹介」の上の1行：この1行だけ文字が大きい。端末の書体で2行に折れて見出しに重ならないよう、折り返さない */
	.tweak05-01 { white-space: nowrap; }
	.block003 { background-image: none !important; isolation: isolate; }
	.block003 > picture > .simg { width: 100vw; height: 149.33vw; margin: 0 0 0 0; }
	.block007-elem01 { background-image: none !important; isolation: isolate; }
	.block007-elem01 > picture > .simg { width: 100vw; height: 113.6vw; margin: 0 0 0 0; }
	.block009-elem04-mod01 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod01 > picture > .simg { width: 80vw; height: 47.2vw; margin: 0 0 0 0; }
	.block009-elem04-mod02 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod02 > picture > .simg { width: 80vw; height: 47.2vw; margin: 0 0 0 0; }
	.block009-elem04-mod03 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod03 > picture > .simg { width: 80vw; height: 47.2vw; margin: 0 0 0 0; }
	.block009-elem04-mod04 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod04 > picture > .simg { width: 80vw; height: 47.2vw; margin: 0 0 0 0; }
	.block009-elem04-mod05 { background-image: none !important; isolation: isolate; }
	.block009-elem04-mod05 > picture > .simg { width: 80vw; height: 47.2vw; margin: 0 0 0 0; }
	.block013 { background-image: none !important; isolation: isolate; }
	.block013 > picture > .simg { width: 85.6vw; height: 99.2vw; margin: 0 0 0 0; }
	.block016--elem03 { background-image: none !important; isolation: isolate; }
	.block016--elem03 > picture > .simg { width: 69.33vw; height: 69.33vw; margin: -79.2vw 0 0 1.34vw; }
	.block016--elem04 { background-image: none !important; isolation: isolate; }
	.block016--elem04 > picture > .simg { width: 69.33vw; height: 69.33vw; margin: -79.2vw 0 0 1.34vw; }
	.block016--elem05 { background-image: none !important; isolation: isolate; }
	.block016--elem05 > picture > .simg { width: 69.33vw; height: 69.33vw; margin: -79.2vw 0 0 1.34vw; }
	.block019--mod004 { background-image: none !important; isolation: isolate; }
	.block019--mod004 > picture > .simg { width: 80.8vw; height: 50.13vw; margin: 0 0 0 0; }
	.block019--mod005 { background-image: none !important; isolation: isolate; }
	.block019--mod005 > picture > .simg { width: 80.8vw; height: 50.13vw; margin: 0 0 0 0; }
	.block019--mod006 { background-image: none !important; isolation: isolate; }
	.block019--mod006 > picture > .simg { width: 80.8vw; height: 50.13vw; margin: 0 0 0 0; }
	.block021--elem01--mod001 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod001 > picture > .simg { width: 89.33vw; height: 53.33vw; margin: -56.53vw 0 0 -2.67vw; }
	.block021--elem01--mod002 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod002 > picture > .simg { width: 89.33vw; height: 53.33vw; margin: -56.53vw 0 0 -2.67vw; }
	.block021--elem01--mod003 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod003 > picture > .simg { width: 89.33vw; height: 53.33vw; margin: -56.53vw 0 0 -2.67vw; }
	.block021--elem01--mod004 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod004 > picture > .simg { width: 89.33vw; height: 53.33vw; margin: -56.53vw 0 0 -2.67vw; }
	.block021--elem01--mod005 { background-image: none !important; isolation: isolate; }
	.block021--elem01--mod005 > picture > .simg { width: 89.33vw; height: 53.33vw; margin: -56.53vw 0 0 -2.67vw; }
}

/* ===== 読みやすさの調整（readability.py が元のCSSから自動生成） ===== */
/* 文字色：水色 #3FB9D7 → #167891（21 か所） */
.block009-elem03-mod31,
.block019--elem005,
.block020--elem02,
.block021--elem04,
.block022--block03,
.block024--block04--mod001,
.block025--block001,
.block028--block002--mod001,
.tweak01-02,
.tweak02-02,
.tweak02-1-02,
.tweak03-02,
.tweak04-02,
.tweak05-02,
.tweak06-02,
.tweak07-02,
.tweak08-02,
.tweak09-02,
.tweak10-02,
.tweak11-02,
.tweak101-1 { color: #167891; }
/* 中間の画面幅（766〜1439px）で文字が小さくなりすぎないように（原則 12px。重なる箇所は 9〜10px） */
@media (min-width: 766px) and (max-width: 1439px) {
	.block004-elem01 { font-size: max(1.112vw, 12px); }
	.block009-elem03-mod01 { font-size: max(1.390vw, 12px); }
	.block009-elem03-mod30 { font-size: max(1.042vw, 12px); }
	.block009-elem05 { font-size: max(0.973vw, 12px); }
	.block012--elem01 { font-size: max(1.251vw, 12px); }
	.block016--elem03--mod002 { font-size: max(1.112vw, 12px); }
	.block016--elem03--mod003 { font-size: max(1.112vw, 12px); }
	.block016--elem03--mod004 { font-size: max(1.112vw, 12px); }
	.block019--elem005 { font-size: max(1.251vw, 12px); }
	.block019--elem006 { font-size: max(1.251vw, 12px); }
	.block019--elem007 { font-size: max(1.251vw, 12px); }
	.block020--elem02 { font-size: max(1.390vw, 9px); }
	.block020--elem03 { font-size: max(1.112vw, 9px); }
	.block020--elem04 { font-size: max(1.112vw, 9px); }
	.block021--elem05 { font-size: max(1.112vw, 12px); }
	.block022--block04 { font-size: max(1.112vw, 12px); }
	.block023--block002--mod001,
.block023--block002--mod002,
.block023--block002--mod003 { font-size: max(1.042vw, 12px); }
	.block024--block04--mod001 { font-size: max(1.042vw, 12px); }
	.block024--block04--mod004 { font-size: max(0.973vw, 12px); }
	.block025--block001 { font-size: max(1.390vw, 12px); }
	.block028--block005 { font-size: max(0.973vw, 12px); }
	.block028--block002--mod001 { font-size: max(1.251vw, 12px); }
	.block028--block002--mod003 { font-size: max(0.973vw, 12px); }
	.tweak01-01 { font-size: max(0.834vw, 9px); }
	.tweak02-01 { font-size: max(0.834vw, 9px); }
	.tweak02-1-01 { font-size: max(0.834vw, 9px); }
	.tweak03-01 { font-size: max(0.834vw, 9px); }
	.tweak03-03 { font-size: max(1.112vw, 10px); }
	.tweak04-01 { font-size: max(0.834vw, 9px); }
	.tweak05-01 { font-size: max(0.973vw, 9px); }
	.tweak06-01 { font-size: max(0.973vw, 9px); }
	.tweak06-03 { font-size: max(0.834vw, 12px); }
	.tweak07-01 { font-size: max(0.834vw, 12px); }
	.tweak08-01 { font-size: max(0.834vw, 9px); }
	.tweak09-01 { font-size: max(0.834vw, 9px); }
	.tweak10-01 { font-size: max(0.834vw, 9px); }
	.tweak11-01 { font-size: max(0.834vw, 9px); }
	.tweakh1 { font-size: max(0.833vw, 12px); }
	.tweak101-2 { font-size: max(1.528vw, 12px); }
	.tweak101-3 { font-size: max(1.528vw, 12px); }
	.tweak101-4 { font-size: max(1.319vw, 10px); }
	.tweak101-5 { font-size: max(1.319vw, 10px); }
	.tweak101-6 { font-size: max(1.319vw, 10px); }
	.tweak101-7 { font-size: max(1.319vw, 10px); }
	.tweak101-8 { font-size: max(1.111vw, 12px); }
	.tweak101-9 { font-size: max(1.111vw, 12px); }
	.tweak101-10 { font-size: max(1.111vw, 12px); }
	.tweak101-11 { font-size: max(1.111vw, 12px); }
	.tweak101-12 { font-size: max(1.111vw, 12px); }
	.tweak101-13 { font-size: max(1.111vw, 12px); }
}

