
.classroom-shell,.region-shell{width:min(1120px,calc(100% - 36px));margin:auto}.classroom-hub-hero,.region-classroom-hero{padding:58px 0 46px;background:linear-gradient(135deg,#eaf7f0,#f8fcfa)}.classroom-hub-hero h1,.region-classroom-hero h1{font-size:clamp(30px,5vw,50px);line-height:1.25;margin:10px 0 18px}.classroom-kicker,.region-kicker{font-weight:800;color:#0b7a43;letter-spacing:.08em}.classroom-hub-section,.region-section{padding:58px 0}.classroom-hub-section.is-soft,.region-section.is-soft{background:#f5f8f6}.classroom-compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.classroom-compare-card{border:1px solid #d8e4dc;border-radius:18px;padding:26px;background:#fff;box-shadow:0 8px 26px rgba(16,66,42,.07)}.classroom-compare-card__top{display:flex;justify-content:space-between;gap:10px;color:#0b7a43;font-weight:700}.classroom-compare-card h3{font-size:28px;margin:14px 0}.classroom-compare-card dl div{display:grid;grid-template-columns:90px 1fr;padding:10px 0;border-top:1px solid #e7eee9}.classroom-compare-card dt{font-weight:700}.classroom-detail-button,.region-button{display:inline-block;padding:14px 24px;border-radius:999px;background:#0b7a43;color:#fff!important;font-weight:800;text-decoration:none}.classroom-compare-card__search{font-size:17px;color:#51645a}.classroom-choice-grid,.region-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.classroom-choice-grid article,.region-facts>div{background:#fff;border:1px solid #dfe9e2;border-radius:16px;padding:22px}.classroom-hub-cta{text-align:center}.region-status{display:inline-block;padding:8px 15px;background:#0b7a43;color:#fff;border-radius:999px;font-weight:700}.region-breadcrumb{padding:14px 0;border-bottom:1px solid #e4ece7;font-size:17px}.region-breadcrumb .region-shell{display:flex;gap:9px;flex-wrap:wrap}.region-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.region-facts strong{color:#0b7a43}.region-two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}.region-checks{padding:0;list-style:none}.region-checks li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid #dfe8e2}.region-checks li:before{content:'✓';position:absolute;left:0;color:#0b7a43;font-weight:900}.region-access{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:stretch}.region-access>div{padding:26px;border-radius:18px;background:#f5f8f6}.region-access iframe{width:100%;min-height:330px;border:0;border-radius:18px}.region-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;counter-reset:flow;padding:0}.region-flow li{counter-increment:flow;background:#fff;border-radius:16px;padding:22px;border:1px solid #dfe8e2}.region-flow li:before{content:counter(flow);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0b7a43;color:#fff;font-weight:800;margin-bottom:12px}.region-flow span{display:block;margin-top:8px}.region-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.region-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.region-faq details{border-bottom:1px solid #d9e5dd;padding:18px 0}.region-faq summary{font-weight:800;cursor:pointer}.region-cta{text-align:center;background:#0b7a43;color:#fff;padding:58px 0}.region-cta .region-button{background:#fff;color:#0b7a43!important;margin:8px}.region-cta .region-button.is-secondary{background:transparent;color:#fff!important;border:1px solid #fff}@media(max-width:760px){.classroom-compare-grid,.classroom-choice-grid,.region-facts,.region-two-col,.region-access,.region-flow,.region-gallery{grid-template-columns:1fr}.classroom-hub-hero,.region-classroom-hero{padding:40px 0 34px}.classroom-hub-section,.region-section{padding:40px 0}.classroom-compare-card dl div{grid-template-columns:72px 1fr}}

.classroom-compare-card__top{align-items:flex-start;flex-wrap:wrap}.classroom-compare-card__top strong{max-width:58%;text-align:right;line-height:1.45}.region-status{line-height:1.5}
@media(max-width:760px){.classroom-compare-card__top strong{max-width:100%;text-align:left}}


/* v1.3: class-specific status */
.region-class-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.region-class-status-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #cfe4dd;border-radius:18px;background:#fff}.region-class-status-card strong{font-size:1.12rem;color:#173946}.region-class-status-card span{font-weight:800;color:#087f46;text-align:right}.region-classroom-version{position:absolute;left:-9999px}
@media(max-width:760px){.region-class-status-grid{grid-template-columns:1fr}.region-class-status-card{align-items:flex-start;flex-direction:column;gap:6px}.region-class-status-card span{text-align:left}}


/* v1.5: replace recommendation text block with classroom photo feature */
.region-photo-feature{overflow:hidden}
.region-photo-feature__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.region-photo-feature__heading .region-kicker{margin:0 0 5px}
.region-photo-feature__heading h2{margin:0}
.region-photo-mosaic{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:220px 220px;gap:16px}
.region-photo-mosaic__item{margin:0;overflow:hidden;border-radius:20px;background:#e7efea;box-shadow:0 12px 32px rgba(16,66,42,.12)}
.region-photo-mosaic__item--1{grid-row:1 / span 2}
.region-photo-mosaic__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.region-photo-mosaic__item:hover img{transform:scale(1.025)}
.region-photo-mosaic--1{display:block}
.region-photo-mosaic--1 .region-photo-mosaic__item{height:460px}
.region-photo-mosaic--2{grid-template-columns:1fr 1fr;grid-template-rows:430px}
.region-photo-mosaic--2 .region-photo-mosaic__item--1{grid-row:auto}
@media(max-width:760px){
 .region-photo-feature__heading{display:block;margin-bottom:18px}
 .region-photo-mosaic,.region-photo-mosaic--2{grid-template-columns:1fr 1fr;grid-template-rows:245px 145px;gap:10px}
 .region-photo-mosaic__item{border-radius:14px}
 .region-photo-mosaic__item--1{grid-column:1 / -1;grid-row:auto}
 .region-photo-mosaic--2 .region-photo-mosaic__item{grid-column:auto;height:auto}
 .region-photo-mosaic--2 .region-photo-mosaic__item--1{grid-column:auto}
 .region-photo-mosaic--2{grid-template-rows:220px}
 .region-photo-mosaic--1 .region-photo-mosaic__item{height:280px}
}


/* v1.6: compact icon information cards */
.region-facts-section{padding:34px 0 38px;background:#fff}
.region-facts{gap:16px;align-items:stretch}
.region-fact-card{position:relative;display:flex;flex-direction:column;min-height:0;padding:20px 20px 18px!important;border:1px solid #d8e8df!important;border-radius:18px!important;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;box-shadow:0 8px 22px rgba(13,89,52,.07);overflow:hidden}
.region-fact-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0b7a43}
.region-fact-card__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.region-fact-card__head strong{font-size:1.08rem;line-height:1.25;color:#087a43}
.region-fact-card__icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#e6f5ed;color:#087a43}
.region-fact-card__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.region-fact-card p{margin:0;font-size:1rem;line-height:1.68;color:#26352d;overflow-wrap:anywhere}
.region-fact-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,89,52,.11);transition:transform .2s ease,box-shadow .2s ease}
@media(max-width:980px){.region-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 楽しい雰囲気の地域教室ページデザイン */
.region-classroom-hero {
	background: linear-gradient(135deg, var(--jom-fun-green, #137750) 0%, var(--jom-fun-blue, #5bc0de) 100%);
	color: white;
	position: relative;
	overflow: hidden;
}

.region-classroom-hero::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
	animation: float 20s ease-in-out infinite;
}

@keyframes float {
	0%, 100% { transform: translate(0, 0) rotate(0deg); }
	50% { transform: translate(20px, 20px) rotate(180deg); }
}

.region-classroom-hero h1 {
	color: white;
}

.region-kicker {
	color: rgba(255, 255, 255, 0.9);
}

.region-status {
	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(10px);
}

.region-section.is-soft {
	background: linear-gradient(135deg, #f0f9ff 0%, #e8f5e9 50%, #fff8e1 100%);
}

.region-fact-card {
	background: white !important;
	border-color: var(--jom-fun-green, #137750) !important;
}

.region-fact-card:before {
	background: var(--jom-fun-green, #137750);
}

.region-fact-card__icon {
	background: var(--jom-fun-yellow, #f9d746);
	color: var(--jom-text, #24313d);
}

.region-class-status-card {
	background: white;
	border-color: var(--jom-fun-blue, #5bc0de);
}

.region-class-status-card span {
	color: var(--jom-fun-green, #137750);
}

.region-photo-mosaic__item {
	background: linear-gradient(135deg, #eef8ff 0%, #e8f5e9 100%);
}

.region-button {
	background: var(--jom-fun-green, #137750);
}

.region-button:hover {
	background: var(--jom-fun-blue, #5bc0de);
}

.region-cta {
	background: linear-gradient(135deg, var(--jom-fun-green, #137750) 0%, var(--jom-fun-blue, #5bc0de) 100%);
}

.region-cta .region-button {
	background: white;
	color: var(--jom-fun-green, #137750) !important;
}

.region-cta .region-button.is-secondary {
	background: transparent;
	color: white !important;
	border-color: white;
}

.region-faq details {
	background: white;
	border-radius: 16px;
	padding: 20px;
	margin-bottom: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	transition: box-shadow 0.3s ease;
}

.region-faq details:hover {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.region-faq summary {
	color: var(--jom-fun-green, #137750);
}

.region-access > div {
	background: linear-gradient(135deg, #f0f9ff 0%, #e8f5e9 100%);
}

.region-checks li:before {
	color: var(--jom-fun-green, #137750);
}

.region-gallery img {
	border-radius: 16px;
	transition: transform 0.3s ease;
}

.region-gallery img:hover {
	transform: scale(1.05);
}
@media(max-width:600px){.region-facts-section{padding:26px 0 30px}.region-facts{grid-template-columns:1fr;gap:12px}.region-fact-card{padding:16px 16px 15px!important}.region-fact-card__head{margin-bottom:8px}.region-fact-card__icon{width:40px;height:40px;flex-basis:40px}.region-fact-card__icon svg{width:22px;height:22px}.region-fact-card p{font-size:.96rem;line-height:1.6}}


/* Fun redesign */
.region-summary-cards,.classroom-info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.region-summary-cards .card,.classroom-info-cards .card,.info-card{
background:linear-gradient(180deg,#fff,#f8fff6);
border-radius:18px;
padding:18px;
border:2px solid #d7f2cf;
box-shadow:0 10px 24px rgba(0,0,0,.08);
transition:.25s;
position:relative;
overflow:hidden}
.region-summary-cards .card:before,.classroom-info-cards .card:before,.info-card:before{
content:"";
position:absolute;left:0;top:0;width:100%;height:6px;
background:linear-gradient(90deg,#4caf50,#ffb300,#66bb6a)}
.region-summary-cards .card:hover,.classroom-info-cards .card:hover,.info-card:hover{transform:translateY(-4px)}

/* v2.0 playful region classroom redesign */
.region-classroom{background:#fff;color:#24322a}
.region-classroom-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff8e7 0%,#edf9f1 52%,#eef7ff 100%);border-bottom:1px solid #dbe9df}
.region-classroom-hero:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-100px;background:#ffd981;opacity:.38}
.region-classroom-hero .region-shell{position:relative;z-index:1}
.region-classroom-hero h1{position:relative;padding-left:44px;color:#202b25;letter-spacing:-.025em}
.region-classroom-hero h1:before{content:"●";position:absolute;left:4px;top:.06em;color:#0b8749;font-size:.72em}
.region-status{box-shadow:0 8px 18px rgba(11,122,67,.18)}
.region-breadcrumb{background:#fff}
.region-photo-feature--top{padding:48px 0 34px;background:#fff}
.region-photo-feature__heading{margin-bottom:20px}
.region-photo-feature__heading h2{font-size:clamp(28px,3.4vw,40px)}
.region-photo-mosaic__item{border-radius:22px;border:5px solid #fff;box-shadow:0 14px 34px rgba(27,76,49,.14)}
.region-facts-section{padding:24px 0 48px;background:#fff}
.region-facts{gap:18px}
.region-fact-card{border:1px solid #cfe4d7!important;border-radius:22px!important;background:linear-gradient(145deg,#fff,#fbfffc)!important;box-shadow:0 12px 29px rgba(19,75,44,.10);padding:22px!important}
.region-fact-card:before{width:6px;background:linear-gradient(180deg,#0b8749,#f4b63e)}
.region-fact-card__icon{width:54px;height:54px;flex-basis:54px;background:linear-gradient(135deg,#dff4e7,#fff1c5);box-shadow:inset 0 0 0 1px rgba(11,122,67,.08)}
.region-fact-card__head strong{font-size:1.18rem}
.region-section.is-soft{background:linear-gradient(180deg,#f5faf7,#f9fcfa)}
.region-section h2{position:relative;display:inline-block;margin-bottom:26px;font-size:clamp(27px,3.3vw,38px)}
.region-section h2:after{content:"";display:block;width:68px;height:5px;margin-top:9px;border-radius:99px;background:linear-gradient(90deg,#0b8749,#f4b63e)}
.region-class-status-card{position:relative;overflow:hidden;border:1px solid #cfe4d7;box-shadow:0 10px 24px rgba(21,74,45,.08)}
.region-class-status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#0b8749}
.region-access>div{border:1px solid #cfe4d7;background:linear-gradient(145deg,#fff,#f6fcf8);box-shadow:0 10px 26px rgba(21,74,45,.08)}
.region-access iframe{box-shadow:0 10px 26px rgba(21,74,45,.10)}
.region-flow li{position:relative;border:1px solid #cfe4d7;box-shadow:0 10px 22px rgba(21,74,45,.07)}
.region-flow li:nth-child(2):before{background:#f08a31}.region-flow li:nth-child(3):before{background:#2f77c8}.region-flow li:nth-child(4):before{background:#7f56b3}
.region-faq details{margin-bottom:12px;padding:18px 20px;border:1px solid #d6e8dd;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(22,76,46,.05)}
.region-faq summary{color:#17402b}
.region-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b7a43,#0e9a59)}
.region-cta:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:#ffd36d;opacity:.14;right:-90px;top:-120px}
.region-cta .region-shell{position:relative;z-index:1}
@media(max-width:760px){.region-classroom-hero h1{padding-left:34px}.region-photo-feature--top{padding:34px 0 24px}.region-facts-section{padding:18px 0 34px}.region-fact-card{padding:18px!important}.region-fact-card__icon{width:46px;height:46px;flex-basis:46px}}

/* Related classroom internal links */
.region-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.region-related-links a{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:16px;background:#fff;border:1px solid rgba(22,120,78,.18);box-shadow:0 8px 20px rgba(30,88,61,.07);transition:transform .2s ease,box-shadow .2s ease}.region-related-links a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(30,88,61,.12)}.region-related-links strong{font-size:17px}.region-related-links span{font-size:17px;color:#59665f}.region-related-note{text-align:center;margin:22px 0 0}.region-related-note a{font-weight:800;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.region-related-links{grid-template-columns:1fr}}


/* v1.7: readability and stable region page fixes */
.region-classroom-hero{
  background:linear-gradient(135deg,#fff4d8 0%,#eef9f2 52%,#e8f5ff 100%)!important;
  color:#18362b!important;
}
.region-classroom-hero h1{color:#18362b!important;text-shadow:none!important;}
.region-classroom-hero .region-kicker{color:#087a43!important;text-shadow:none!important;}
.region-classroom-hero p{color:#314b40!important;}
.region-classroom-hero::before{opacity:.22!important;}
.region-status{background:#0b7a43!important;color:#fff!important;backdrop-filter:none!important;}
.region-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;}
.region-related-links a{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid #d8e8df;border-radius:18px;background:#fff;color:#18362b;text-decoration:none;box-shadow:0 8px 22px rgba(13,89,52,.07);}
.region-related-links a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,89,52,.12);}
.region-related-links strong{color:#087a43;font-size:1.08rem;}
.region-related-note{margin-top:18px;}
@media(max-width:760px){.region-related-links{grid-template-columns:1fr;}}


/* 2026-08-04 Accessibility: region classroom info cards */
.region-classroom .classroom-info-grid,
.region-classroom .region-info-grid,
.classroom-detail .classroom-info-grid,
.classroom-detail .region-info-grid {
  gap: 20px !important;
  margin-top: 24px !important;
  margin-bottom: 32px !important;
}

.region-classroom .classroom-info-card,
.region-classroom .region-info-card,
.classroom-detail .classroom-info-card,
.classroom-detail .region-info-card {
  min-height: 0 !important;
  padding: 26px 28px !important;
  align-content: start !important;
}

.region-classroom .classroom-info-card__head,
.region-classroom .region-info-card__head,
.classroom-detail .classroom-info-card__head,
.classroom-detail .region-info-card__head {
  gap: 16px !important;
  margin-bottom: 14px !important;
}

.region-classroom .classroom-info-card__icon,
.region-classroom .region-info-card__icon,
.classroom-detail .classroom-info-card__icon,
.classroom-detail .region-info-card__icon {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
}

.region-classroom .classroom-info-card h2,
.region-classroom .classroom-info-card h3,
.region-classroom .region-info-card h2,
.region-classroom .region-info-card h3,
.classroom-detail .classroom-info-card h2,
.classroom-detail .classroom-info-card h3,
.classroom-detail .region-info-card h2,
.classroom-detail .region-info-card h3 {
  font-size: clamp(1.35rem, 1.7vw, 1.7rem) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.region-classroom .classroom-info-card p,
.region-classroom .region-info-card p,
.classroom-detail .classroom-info-card p,
.classroom-detail .region-info-card p {
  font-size: clamp(1.18rem, 1.45vw, 1.42rem) !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .region-classroom .classroom-info-card,
  .region-classroom .region-info-card,
  .classroom-detail .classroom-info-card,
  .classroom-detail .region-info-card {
    padding: 22px 20px !important;
  }
  .region-classroom .classroom-info-card__icon,
  .region-classroom .region-info-card__icon,
  .classroom-detail .classroom-info-card__icon,
  .classroom-detail .region-info-card__icon {
    width: 62px !important;
    height: 62px !important;
    flex-basis: 62px !important;
  }
}

/* =========================================================
   2026-08-04 高齢者向け可読性改善（教室専用ページ共通）
   ========================================================= */
body .region-classroom-page .region-classroom-info,
body .region-classroom-page .region-classroom-info-grid,
body .region-classroom-page .classroom-info-grid,
body .region-classroom-page .classroom-detail-grid,
body .region-classroom .region-classroom-info,
body .region-classroom .region-classroom-info-grid,
body .region-classroom .classroom-info-grid,
body .classroom-detail .region-classroom-info,
body .classroom-detail .region-classroom-info-grid,
body .classroom-detail .classroom-info-grid {
  gap: 20px !important;
  margin-block: 24px 34px !important;
}

body .region-classroom-page .region-classroom-info > *,
body .region-classroom-page .region-classroom-info-grid > *,
body .region-classroom-page .classroom-info-grid > *,
body .region-classroom-page .classroom-detail-grid > *,
body .region-classroom .region-classroom-info > *,
body .region-classroom .region-classroom-info-grid > *,
body .region-classroom .classroom-info-grid > *,
body .classroom-detail .region-classroom-info > *,
body .classroom-detail .region-classroom-info-grid > *,
body .classroom-detail .classroom-info-grid > *,
body .region-classroom-page .classroom-info-card,
body .region-classroom-page .region-info-card,
body .region-classroom .classroom-info-card,
body .region-classroom .region-info-card,
body .classroom-detail .classroom-info-card,
body .classroom-detail .region-info-card {
  min-height: 0 !important;
  padding: 24px 28px !important;
  align-content: start !important;
}

body .region-classroom-page .classroom-info-card__head,
body .region-classroom-page .region-info-card__head,
body .region-classroom .classroom-info-card__head,
body .region-classroom .region-info-card__head,
body .classroom-detail .classroom-info-card__head,
body .classroom-detail .region-info-card__head {
  gap: 16px !important;
  margin-bottom: 14px !important;
}

body .region-classroom-page .classroom-info-card__icon,
body .region-classroom-page .region-info-card__icon,
body .region-classroom .classroom-info-card__icon,
body .region-classroom .region-info-card__icon,
body .classroom-detail .classroom-info-card__icon,
body .classroom-detail .region-info-card__icon {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
}

body .region-classroom-page .classroom-info-card h2,
body .region-classroom-page .classroom-info-card h3,
body .region-classroom-page .region-info-card h2,
body .region-classroom-page .region-info-card h3,
body .region-classroom .classroom-info-card h2,
body .region-classroom .classroom-info-card h3,
body .region-classroom .region-info-card h2,
body .region-classroom .region-info-card h3,
body .classroom-detail .classroom-info-card h2,
body .classroom-detail .classroom-info-card h3,
body .classroom-detail .region-info-card h2,
body .classroom-detail .region-info-card h3 {
  font-size: clamp(1.45rem, 1.65vw, 1.8rem) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

body .region-classroom-page .classroom-info-card p,
body .region-classroom-page .region-info-card p,
body .region-classroom .classroom-info-card p,
body .region-classroom .region-info-card p,
body .classroom-detail .classroom-info-card p,
body .classroom-detail .region-info-card p {
  font-size: clamp(1.25rem, 1.45vw, 1.55rem) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

body .region-classroom-page .classroom-info-card,
body .region-classroom-page .region-info-card,
body .region-classroom .classroom-info-card,
body .region-classroom .region-info-card,
body .classroom-detail .classroom-info-card,
body .classroom-detail .region-info-card {
  row-gap: 10px !important;
}

@media (max-width: 767px) {
  body .region-classroom-page .region-classroom-info,
  body .region-classroom-page .region-classroom-info-grid,
  body .region-classroom-page .classroom-info-grid,
  body .region-classroom .region-classroom-info,
  body .region-classroom .region-classroom-info-grid,
  body .region-classroom .classroom-info-grid,
  body .classroom-detail .region-classroom-info,
  body .classroom-detail .region-classroom-info-grid,
  body .classroom-detail .classroom-info-grid {
    gap: 14px !important;
  }

  body .region-classroom-page .classroom-info-card,
  body .region-classroom-page .region-info-card,
  body .region-classroom .classroom-info-card,
  body .region-classroom .region-info-card,
  body .classroom-detail .classroom-info-card,
  body .classroom-detail .region-info-card {
    padding: 20px !important;
  }

  body .region-classroom-page .classroom-info-card__icon,
  body .region-classroom-page .region-info-card__icon,
  body .region-classroom .classroom-info-card__icon,
  body .region-classroom .region-info-card__icon,
  body .classroom-detail .classroom-info-card__icon,
  body .classroom-detail .region-info-card__icon {
    width: 62px !important;
    height: 62px !important;
    flex-basis: 62px !important;
  }
}

/* NPOJOM_FINAL_ACCESSIBILITY_START */
/* 各教室専用ページ：高齢者にも読みやすい情報カード */
body .region-facts-section {
  padding-top: 22px !important;
  padding-bottom: 30px !important;
}

body .region-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

body .region-facts .region-fact-card {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 18px 22px 20px !important;
  row-gap: 0 !important;
}

body .region-facts .region-fact-card__head {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 10px !important;
}

body .region-facts .region-fact-card__icon {
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
}

body .region-facts .region-fact-card__icon svg {
  width: 29px !important;
  height: 29px !important;
}

body .region-facts .region-fact-card__head strong {
  font-size: 24px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.01em !important;
}

body .region-facts .region-fact-card p {
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
  color: #26352d !important;
}

@media (max-width: 980px) {
  body .region-facts {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body .region-facts .region-fact-card {
    padding: 17px 20px 19px !important;
  }
}

@media (max-width: 600px) {
  body .region-facts .region-fact-card__head strong {
    font-size: 22px !important;
  }

  body .region-facts .region-fact-card p {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  body .region-facts .region-fact-card__icon {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }
}
/* NPOJOM_FINAL_ACCESSIBILITY_END */

/* NPOJOM_RELATED_HOVER_BLUE_START */
/* 各教室専用ページ：他教室リンクをホバー時に青く明示 */
body .region-related-links a {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
body .region-related-links a:hover,
body .region-related-links a:focus-visible {
  background: #eaf4ff !important;
  border-color: #1677c8 !important;
  color: #0b5fa5 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(22,119,200,.18) !important;
  outline: 3px solid rgba(22,119,200,.18) !important;
  outline-offset: 2px !important;
}
body .region-related-links a:hover strong,
body .region-related-links a:focus-visible strong,
body .region-related-links a:hover span,
body .region-related-links a:focus-visible span {
  color: #0b5fa5 !important;
}
body .region-related-note a:hover,
body .region-related-note a:focus-visible {
  color: #0b5fa5 !important;
  text-decoration-thickness: 3px !important;
}
/* NPOJOM_RELATED_HOVER_BLUE_END */


/* NPOJOM_REGION_SEO_CONTENT */
.region-seo-content{background:#fff}
.region-seo-content .region-shell>p{font-size:clamp(1.08rem,1.35vw,1.25rem);line-height:1.9}
.region-seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}
.region-seo-grid article,.region-seo-local{padding:28px;border:1px solid #d7e9df;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%)}
.region-seo-grid h3,.region-seo-local h3{margin-top:0;color:#0b7344}
.region-seo-grid p,.region-seo-grid li,.region-seo-local p{font-size:1.08rem;line-height:1.85}
.region-seo-grid ul{margin:0;padding-left:1.4em}
.region-seo-grid li+li{margin-top:10px}
.region-seo-local{margin-top:22px}
.region-seo-content a{color:#075fbd;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:780px){.region-seo-grid{grid-template-columns:1fr}.region-seo-grid article,.region-seo-local{padding:22px 20px}}

.class-status-note{margin:10px 0;font-size:1.05rem;line-height:1.8;color:#333}

/* NPOJOM_CLASS_STATUS_UNIFIED_FINAL */
.region-class-status-section {
  padding-top: 56px;
  padding-bottom: 56px;
}

.status-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 28px;
}

.status-guide-card {
  min-width: 0;
  padding: 26px 28px 28px;
  background: #fff;
  border: 2px solid #dce9df;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(23, 57, 70, .07);
}

.status-guide-card.school {
  border-left: 8px solid #2196f3;
}

.status-guide-card.exp {
  border-left: 8px solid #17864b;
}

.status-guide-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.status-guide-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 13px;
  border-radius: 999px;
  color: #fff;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.school .status-guide-badge {
  background: #1976d2;
}

.exp .status-guide-badge {
  background: #17864b;
}

.status-guide-state {
  color: #087a45;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  font-weight: 900;
  line-height: 1.45;
  text-align: right;
}

.status-guide-card h3 {
  margin: 0 0 12px;
  color: #173946;
  font-size: clamp(1.45rem, 1.8vw, 1.75rem);
  line-height: 1.35;
}

.status-guide-card p {
  margin: 0;
  color: #344f59;
  font-size: clamp(1.05rem, 1.25vw, 1.18rem);
  line-height: 1.85;
}

@media (max-width: 768px) {
  .status-guide-grid {
    grid-template-columns: 1fr;
  }

  .status-guide-card {
    padding: 22px 20px 24px;
  }

  .status-guide-card__top {
    gap: 10px;
  }

  .status-guide-state {
    font-size: 1rem;
  }
}


/* NPOJOM_REGION_SVG_ICON_REFINEMENT */
.status-guide-badge {
	gap: 8px;
}

.status-guide-badge__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.status-guide-badge__icon .npojom-svg-icon {
	width: 18px;
	height: 18px;
}

/* NPOJOM_REGION_ICON_BALANCE_START */
.status-guide-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.status-guide-badge__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.status-guide-badge__icon svg.npojom-svg-icon {
	width: 16px !important;
	height: 16px !important;
	max-width: 16px !important;
	max-height: 16px !important;
}
/* NPOJOM_REGION_ICON_BALANCE_END */
