/*
Theme Name: ChukyoGym
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: chukyogym
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ChukyoGym is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	font-family: 'Noto Sans JP', 'Noto Sans Japanese', 'Noto Sans', sans-serif !important;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* ========= 汎用ギャラリースライダー ========= */
/* 外枠 —— 位置を固定し、中身を切り取る */
.gallery-slider {
	overflow: hidden;
	position: relative;
	width: 100%;
	/* 980pxレイアウトでも 100% でOK */
	max-width: 100%;
}

/* レール —— 横長フレックスで並ぶ（幅は JS で設定）*/
.gs-track {
	display: flex;
}

/* 各スライド */
.gs-track>.wp-block-image,
.gallery-slider>.wp-block-image {
	/* 既存の定義を上書き */
	flex: 0 0 100%;
	min-width: 100%;
	margin: 0 !important;
}

/* ドット */
.gallery-slider-dots {
	text-align: center;
	margin-top: 8px
}

.gallery-slider-dots span {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #bbb;
	margin: 0 3px;
	cursor: pointer
}

.gallery-slider-dots .active {
	background: #333
}



/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* ── 共通 ───────────────────────────── */
.wp-block-spacer {
	height: 20px !important;
}

.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
	padding-right: 0;
}

.bCatList ul,
.bCatList ul>li,
.bCatList h5,
.bCatList h5 a {
	text-align: left !important;
}

.bImgttl h3>img {
	width: 627px !important;
	height: 53px !important;
	display: block;
	margin: 0 auto;
}

/* ヘッダーのナビゲーション */
.m_item_btn {
	display: block;
	width: 99px !important;
	height: 39px !important;
	background-size: contain;
	background-repeat: no-repeat;
	text-indent: -9999px;
	position: relative;
	transition: background-image 0.2s;
}

.m_item_btn .txtOuter {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	text-indent: 0;
	color: transparent;
}

/* HOME */
.m_item_btn.home.active,
.m_item_btn.home:hover {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/1-1-20150531171252_b556ac2841ca76.png');
}

.m_item_btn.home {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/1-0-20150531170435_b556ac093bfe0c.png');
}

/* 体育館 */
.m_item_btn.about.active,
.m_item_btn.about:hover {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/2-1-20150531171307_b556ac293d6daf.png');
}

.m_item_btn.about {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/2-0-20150531170508_b556ac0b472259.png');
}

/* プログラム */
.m_item_btn.program.active,
.m_item_btn.program:hover {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/4-1-20150531171323_b556ac2a3ae72f.png');
}

.m_item_btn.program {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/4-0-20150531170527_b556ac0c711676.png');
}

/* スタッフ */
.m_item_btn.staff.active,
.m_item_btn.staff:hover {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/5-1-20150531171339_b556ac2b31ff18.png');
}

.m_item_btn.staff {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/5-0-20150531170545_b556ac0d967635.png');
}

/* よくある質問 */
.m_item_btn.faq.active,
.m_item_btn.faq:hover {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/6-1-20150531171356_b556ac2c4c72b2.png');
}

.m_item_btn.faq {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/6-0-20150531170602_b556ac0ead139d.png');
}

/* 採用情報 */
.m_item_btn.recruit.active,
.m_item_btn.recruit:hover {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/7-1-20150531171415_b556ac2d745ea7.png');
}

.m_item_btn.recruit {
	background-image: url('/wp-content/themes/chukyogym/global-image/section/7-0-20150531170619_b556ac0fb6e28c.png');
}

/* サイドバーを左寄せ */
#unit-344,
#unit-353,
#unit-352 {
	text-align: left !important;
}

/* お知らせ画面 */
#unit-781 .bImgttl h2 {
	width: 627px;
	height: 80px;
	display: block;
	margin: 0 auto;
	background-image: url('/wp-content/themes/chukyogym/global-image/units/ttlimg/781-1-20150608174455_b557556074e174.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -9999px;
}

/* 見出し下の余白 */
.wp-block-heading {
	margin-bottom: 20px;
}

/* 体育館について(共通) */
.page-id-505 .wp-block-media-text__content {
	display: block;
}

/* pの直後のdivにだけ余白 */
.page-id-505 .wp-block-media-text__content p {
	margin-bottom: 5px;
}

.page-id-505 .wp-block-media-text__content a {
	background-image: url(/wp-content/themes/chukyogym/usr-data/template/PC7-PN-03-6_cus_10/common-img/ico_arrow.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 18px;
}

/* サイトマップ */
.page-id-227 .wp-block-list li {
	background-image: url(/wp-content/themes/chukyogym/usr-data/template/PC7-PN-03-6_cus_10/common-img/ico_arrow.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 18px;
	margin-bottom: 5px;
	list-style: none;
	font-size: 1.2em;
	font-weight: bold;
	text-align: left;
}

/* メインビジュアルのPC/SP出し分け */
.slider-pc {
	display: block !important;
}

.slider-sp {
	display: none !important;
}

/* フッターのPC/SP出し分け */
.footer-pc {
	display: block;
}

.footer-sp {
	display: none;
}

/* PC用2カラム横並び */
.box1 {
	width: auto;
	flex: 1 1 0%;
}

.box2 {
	width: 300px;
	margin-left: 30px;
}

/* フッター高さを自動にする */
#footerAreaSection {
	height: auto;
}

/* プログラム画面(共通) */
body.page-id-44 .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-media-text__content {
	align-self: flex-start !important;
}


/* ------ キッズクラス 
    & 親子リトルクラス 
	& ジュニアクラス 
	& チャレンジクラスページ 
	& シニアクラスページ 
	& 育成クラスページ 
	& 選手クラスページ 
    & 専門クラスページ 
	(一部は体育館 & 体験スクールページも使用)
----- */
.page-id-721 .schedule-table,
.page-id-719 .schedule-table,
.page-id-717 .schedule-table,
.page-id-723 .schedule-table,
.page-id-725 .schedule-table,
.page-id-727 .schedule-table,
.page-id-729 .schedule-table {
	font-size: 0.95em;
}

.page-id-721 .schedule-table td,
.page-id-719 .schedule-table td,
.page-id-717 .schedule-table td,
.page-id-723 .schedule-table td,
.page-id-725 .schedule-table td,
.page-id-727 .schedule-table td,
.page-id-729 .schedule-table td {
	padding: 0.5em;
}

.page-id-256 .wp-block-media-text,
/* 体験スクールページ */
.page-id-505 .wp-block-media-text,
/* 体育館ページ */
.page-id-712 .wp-block-media-text,
.page-id-721 .wp-block-media-text,
.page-id-719 .wp-block-media-text,
.page-id-717 .wp-block-media-text,
.page-id-723 .wp-block-media-text,
.page-id-725 .wp-block-media-text,
.page-id-727 .wp-block-media-text {
	display: flex !important;
	align-items: flex-start !important;
	width: 100% !important;
}

.page-id-256 .wp-block-media-text__media,
/* 体験スクールページ */
.page-id-505 .wp-block-media-text__media,
/* 体育館ページ */
.page-id-712 .wp-block-media-text__media,
.page-id-721 .wp-block-media-text__media,
.page-id-719 .wp-block-media-text__media,
.page-id-717 .wp-block-media-text__media,
.page-id-723 .wp-block-media-text__media,
.page-id-725 .wp-block-media-text__media,
.page-id-727 .wp-block-media-text__media {
	width: 40% !important;
	display: flex;
	align-self: flex-start;
}

.page-id-256 .wp-block-media-text__content,
/* 体験スクールページ */
.page-id-505 .wp-block-media-text__content,
/* 体育館ページ */
.page-id-712 .wp-block-media-text__content,
.page-id-721 .wp-block-media-text__content,
.page-id-719 .wp-block-media-text__content,
.page-id-717 .wp-block-media-text__content,
.page-id-723 .wp-block-media-text__content,
.page-id-725 .wp-block-media-text__content,
.page-id-727 .wp-block-media-text__content {
	width: 60% !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-left: 20px !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-self: flex-start;
}

.page-id-712 p,
.page-id-721 p,
.page-id-717 p,
.page-id-719 p,
.page-id-723 p,
.page-id-725 p,
.page-id-727 p,
.page-id-729 p {
	text-align: left !important;
}

/* ギャラリー以外にはmax-widthを当てない */
.page-id-721 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-719 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-717 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-723 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-725 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-727 .wp-block-group.is-layout-flex .wp-block-image {
	max-width: 100% !important;
	width: 100% !important;
}

/* box1内の画像を横並び4列で幅いっぱいに表示 */
.page-id-712 .box1,
.page-id-721 .box1,
.page-id-719 .box1,
.page-id-717 .box1,
.page-id-727 .box1 {
	display: block !important;
}

.page-id-712 .box1 .wp-block-group.is-layout-flex,
.page-id-721 .box1 .wp-block-group.is-layout-flex,
.page-id-719 .box1 .wp-block-group.is-layout-flex,
.page-id-717 .box1 .wp-block-group.is-layout-flex,
.page-id-727 .box1 .wp-block-group.is-layout-flex {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 10px;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.page-id-712 .box1 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-721 .box1 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-719 .box1 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-717 .box1 .wp-block-group.is-layout-flex .wp-block-image,
.page-id-727 .box1 .wp-block-group.is-layout-flex .wp-block-image {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.page-id-712 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
.page-id-721 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
.page-id-719 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
.page-id-717 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
.page-id-727 .box1 .wp-block-group.is-layout-flex .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
}

/* ----- シニアクラスページ ----- */
.page-id-723 .table-label {
	text-align: left !important;
	margin-top: 5px !important;
	margin-bottom: 20px !important;
}

/* ─── 体験スクール ─── */
.page-id-256 .wp-block-media-text__content {
	text-align: left !important;
}

.contact-box {
	border: 2px dotted #ccc;
	border-radius: 8px;
	padding: 1em 1.5em;
	background-color: #fff;
	width: 100%;
}

.contact-box__intro {
	text-align: center;
	margin-bottom: 0.8em;
}

.contact-box__line {
	text-align: center;
	margin: 0.4em 0;
	font-size: 1.1em;
}

.contact-box__name {
	/* 教室名を少し太字に */
	font-size: large;
}

.contact-box__tel--red {
	color: rgb(255, 0, 0);
	font-size: x-large;
	font-weight: bold;
}

.contact-box__tel--blue {
	color: rgb(51, 51, 255);
	font-size: x-large;
	font-weight: bold;
}


/* ─── スタッフページ ─── */
/* メディアテキストのモバイル最適化 */
.staff-page .wp-block-media-text:nth-of-type(n+2) {
	grid-template-columns: 100% !important;
}

.staff-page .wp-block-media-text:nth-of-type(n+2)>.wp-block-media-text__media {
	grid-column: 1;
	grid-row: 1;
}

.staff-page .wp-block-media-text:nth-of-type(n+2)>.wp-block-media-text__content {
	grid-column: 1;
	grid-row: 2;
}

/* 単体スタッフプロフィール */
.staff-profile-box {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	margin-bottom: 2em;
}

.staff-profile-box .staff-photo img {
	width: 200px;
	border-radius: 8px;
	box-shadow: 2px 2px 8px #ccc;
}

/* スタッフプロフィールテーブル */
.staff_profile {
	border-collapse: collapse;
	width: 100%;
	font-size: .8em;
	line-height: 1.6;
	margin-bottom: 2em;
}

.staff_profile th,
.staff_profile td {
	word-break: break-all;
	padding: 2px;
	text-align: left;
	border: none;
	border-bottom: 2px dotted #85C5E4;
	font-weight: 600;
}

.staff_profile tr:last-child>th,
.staff_profile tr:last-child>td {
	border-bottom: none;
}

.staff_profile td:first-child {
	width: 20%;
	vertical-align: top;
}

.staff_profile tr.no-border-target td:first-child {
	border-bottom: none;
}

/* スタッフ一覧（2カラム） */
.staff-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

.staff-list .staff-item {
	flex: 1 1 calc(50% - 2rem);
	box-sizing: border-box;
}

.staff-list .staff-photo img {
	width: 100%;
	max-width: 430px;
	display: block;
	margin: 0 auto 1rem;
	border-radius: 8px;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, .1);
}


/* pc幅専用のスタイル */
@media (min-width: 981px) {
	#bSlideShow338 {
		width: 980px !important;
		max-width: 980px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		/* padding: 0 10px !important; */
	}

	.bcontainer-inner {
		width: 980px !important;
		max-width: 980px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 20px 0px !important;
	}


	/* /aboutページの画像スライダー */
	.box1 .gallery-slider {
		display: flex !important;
		justify-content: flex-end;
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: nowrap !important;
		overflow: visible !important;
		position: static !important;
		transform: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.box1 .gallery-slider .gs-track {
		display: flex !important;
		width: 100% !important;
		transform: none !important;
		transition: none !important;
	}

	/* 複数枚用 */
	.box1 .gallery-slider>.wp-block-image,
	.box1 .gallery-slider .gs-track>.wp-block-image {
		max-width: calc((100% - 32px) / 5);
		width: 100%;
		margin-right: 8px;
		min-width: 0 !important;
		flex: 0 0 auto !important;
	}

	.box1 .gallery-slider>.wp-block-image:last-child,
	.box1 .gallery-slider .gs-track>.wp-block-image:last-child {
		margin-right: 0;
	}

	/* 画像が1枚だけのときはmax-width:100% */
	.box1 .gallery-slider>.wp-block-image:only-child,
	.box1 .gallery-slider .gs-track>.wp-block-image:only-child {
		max-width: 100%;
		margin-right: 0;
	}

	.box1 .gallery-slider img {
		width: 100% !important;
		height: auto !important;
		display: block;
		object-fit: contain;
	}

	.gallery-slider-dots {
		display: none !important;
	}

	#footerFreeArea .footer_contents {
		width: 100%;
	}

	#footerFreeArea .footer_contents table {
		float: none !important;
		margin: 0 !important;
	}

	#footerFreeArea .footer_right {
		float: none !important;
		margin: 0 !important;
		text-align: right;
	}

	/* ----- フッター ----- */
	.footer-flex-wrap {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 60px;
	}

	.footer-logos {
		display: flex;
		align-items: center;
		gap: 20px;
	}

	.footer-logos a {
		display: block;
	}

	.footer_right {
		min-width: 320px;
		text-align: left !important;
		margin-top: 0 !important;
	}

	.footer_right .makinosato,
	.footer_right .takahari {
		margin-bottom: 10px;
		text-align: left !important;
	}

	.footer_right button {
		margin-left: 8px;
		font-size: 0.9em;
		padding: 2px 10px;
		border-radius: 4px;
		border: 1px solid #aaa;
		background: #eee;
		cursor: pointer;
	}

	/* ────────── 採用情報 ────────── */
	/* bg-logo-wrap 自体を相対配置コンテナに */
	.bg-logo-wrap {
		position: relative;
		overflow: visible;
	}

	/* 空DIV をロゴ背景に */
	.bg-logo-wrap .bg-logo {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 200px;
		height: 200px;
		background: url("/wp-content/uploads/bg_logo2.jpg") no-repeat center center;
		background-size: contain;
		opacity: 0.7;
		pointer-events: none;
		z-index: 0;
	}

	/* 本文コンテンツをロゴの前面に */
	.bg-logo-wrap>*:not(.bg-logo) {
		position: relative;
		z-index: 1;
	}

	/* ----- アルバムページ ----- */
	/* 4列表示(wpのデフォルト) */
	.page-id-284 .wp-block-gallery,
	.page-id-284 .wp-block-gallery-1 {
		display: grid !important;
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 10px !important;
		margin-left: 45px !important;
		margin-right: 45px !important;
	}

	/* 画像サイズ調整 */
	.page-id-284 .wp-block-gallery .wp-block-image,
	.page-id-284 .wp-block-gallery-1 .wp-block-image {
		margin: 0 !important;
		width: 100% !important;
		max-width: none !important;
		flex: none !important;
	}

	/* 4列表示(wpのカスタムHTML) */
	.page-id-284 ul.cg-album,
	.page-id-284 .cg-album {
		margin-left: 45px !important;
		margin-right: 45px !important;
		display: grid !important;
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 10px !important;
	}

	/* ----- プログラムの下層ページ ----- */
	.page-id-712 .wp-block-media-text,
	.page-id-717 .wp-block-media-text,
	.page-id-719 .wp-block-media-text,
	.page-id-721 .wp-block-media-text,
	.page-id-723 .wp-block-media-text,
	.page-id-725 .wp-block-media-text,
	.page-id-727 .wp-block-media-text {
		background: #fff;
		border-style: dotted;
		border-width: 1px;
		border-radius: 8px;
		border-color: #ccc;
		padding: 10px !important;
		margin: 10px 0 !important;
		z-index: 0;
		pointer-events: none;
	}

	/* ----- 専門クラスページ ----- */
	.page-id-729 .wp-block-group {
		background: #fff;
		border-style: dotted;
		border-width: 1px;
		border-radius: 8px;
		border-color: #ccc;
		padding: 10px !important;
		margin: 10px 0 !important;
		z-index: 0;
		pointer-events: none;
	}

	/* ----- シニアクラスページ ----- */
	.page-id-723 .schedule-table {
		width: 80% !important;
	}

	/* トップページのinformationブロック */
	.bCatListDate {
		font-size: 1.0em !important;
	}

	#unit-936.bgColor {
		background-color: #fff !important;
	}

	.bcontainer-inner #unit-936 .bVImgTxtBottom p,
	.bcontainer-inner #unit-346 .bTxtImg .bTxtImgLeft p {
		text-align: left !important;
	}
}


/*--------------------------------------------------------------
# Responsive Fixes (スマホ幅専用)
--------------------------------------------------------------*/
@media (max-width:767px) {

	/* フォントサイズ */
	body {
		font-size: 0.9em !important;
	}

	/* メインエリアの背景を透明にする */
	.transparentImg {
		background-image: none !important;
		background-color: #fff !important;
	}


	/* 固定ページ見出し画像の余白を削除 */
	figure.wp-block-image {
		margin-top: 0 !important;
	}

	/* ----- 固定幅レイアウトを全幅に強制 ----- */
	/* インライン style="width:xxxpx" を使っている旧 HTML を包括的に打ち消し */
	[style*="width:980px"],
	[style*="width: 980px"],
	[style*="width:1000px"],
	[style*="width: 1000px"],
	[style*="width:627px"],
	[style*="width: 627px"] {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* bcontainer 系や footer 等の横パディングも統一 */
	.bcontainer-inner,
	.footer_contents {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	/* ヘッダー固定幅パーツをフル幅に修正 */
	#headerAreaOuter,
	#headerAreaImage,
	#globalNaviAreaOuter {
		width: 100% !important;
	}

	/* ----- スライダー（メインビジュアル）をフル幅に ----- */
	/* スライダー外枠 */
	#bSlideShow338,
	#bSlideShow338 .slidearea,
	#bSlideShow338 .bx-wrapper,
	#bSlideShow338 .bx-viewport {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}

	/* スライダー内の画像 */
	#bSlideShow338 img,
	.bxslider img {
		width: 100% !important;
		height: auto !important;
	}

	/* ----- サイト共通 : 横スクロール抑止 ----- */
	body {
		overflow-x: hidden;
	}

	/* グローバルナビ（ドロワー）リセット */
	#globalNav,
	#sp-global-nav {
		max-width: 100% !important;
	}

	/* ヘッダーの固定表示 */
	#sp-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		z-index: 2000;
	}

	/* ヘッダー分の余白をbody上部に追加 */
	body {
		padding-top: 86px !important;
	}

	/* --- ヘッダーのロゴ・テキスト大きく中央寄せ --- */
	#sp-header .sp-header-inner {
		justify-content: center;
		margin-top: 20px;
	}

	#sp-header .sp-logo img {
		width: 234px;
		height: 60px;
		display: block;
		margin: 0 auto;
	}

	#sp-header .sp-logo {
		display: flex;
		justify-content: center;
		align-items: center;
		flex: 1;
	}

	#sp-header .sp-menu-toggle {
		font-size: 1.1em;
		padding: 10px 18px;
		border-radius: 8px;
		right: 10px;
		top: 18px;
	}

	/* --- メイン以外の要素も中央寄せ＆文字大きく --- */
	.bcontainer-inner,
	#contentsArea,
	#contentsAreaSection,
	#mainArea,
	#containerInner,
	#container,
	#wrapper {
		text-align: center !important;
	}

	.bCatList ul li {
		margin-bottom: 10px !important;
		padding-left: 16px !important;
	}

	.bCatList ul li:last-child {
		margin-bottom: 0 !important;
		border-bottom: none !important;
	}

	.bCatList ul li h5 {
		margin: 0 0 4px 0 !important;
	}

	.bCatList ul li p.bCatListTxt {
		margin: 0 !important;
	}

	.bCatList ul,
	.bCatList ul>li,

	.bCatList h5,
	.bCatList h5 a {
		text-align: left !important;
	}

	.bTxtImgLeft p {
		font-size: 0.9em !important;
	}

	/* --- メインビジュアル下のバナーやINFORMATION見出しも中央寄せ --- */
	.bImg,
	.bImgttl,
	.bImgttl h2,
	.bImgttl h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	/* --- サイドバー要素も中央寄せ --- */
	.box2,
	.box2 .containerInner {
		text-align: center !important;
	}

	/* --- テーブルや画像も中央寄せ --- */
	table,
	img {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* スマホ画面 */
	/* --- box1, box2（PC用2カラム）の余白・幅を全幅化 --- */
	.box1,
	.box2 {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		display: block !important;
		box-sizing: border-box !important;
	}

	/* box2（サイドバー）内の .containerInner も全幅化 */
	.box2 .containerInner {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* 2カラム親のflexを解除して縦並びに */
	#container-94>.box1>.containerInner,
	#container-121>.box1>.containerInner {
		display: block !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}

	/* サイドバー下の余白を調整（必要に応じて） */
	.box2 {
		margin-top: 20px !important;
	}

	.bVImgTxtBottom p,
	.bVImgTxtImg p,
	.bTxtImgLeft p {
		font-size: 0.9em !important;
	}

	.bTxtImgLeft p,
	.bVImgTxtBottom p {
		text-align: left !important;
	}

	/* インラインstyleで幅指定されているものを全て上書き */
	[style*="width:980px"],
	[style*="width: 980px"],
	[style*="width:1000px"],
	[style*="width: 1000px"],
	[style*="width:627px"],
	[style*="width: 627px"] {
		width: 100% !important;
		max-width: 100% !important;
	}

	.bcontainer-inner,
	.bTxtImg,
	.bTxtImgLeft {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.bTxtImgLeft .button a {
		width: 100% !important;
		display: inline-block;
	}

	.bImgttl h3>img {
		width: 100% !important;
		height: auto !important;
		display: block;
		margin: 0 auto;
	}

	/* 紹介動画（unit-936, unit-931）を縦並びに */
	#unit-931 .bImg2Txt2 {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	#unit-931 .bImg2Txt2Left,
	#unit-931 .bImg2Txt2Right {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 16px 0 !important;
	}

	/* アルバム（unit-363, unit-362, unit-364）の画像を縦並びに */
	#unit-363 .bImg4TtlTxt4Inner,
	#unit-362 .bImg4TtlTxt4Inner,
	#unit-364 .bImg4TtlTxt4Inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	#unit-363 .bImg4TtlTxt4BoxInner,
	#unit-362 .bImg4TtlTxt4BoxInner,
	#unit-364 .bImg4TtlTxt4BoxInner {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 16px !important;
	}

	/* 最後の画像の下余白を消す */
	#unit-363 .bImg4TtlTxt4BoxInner:last-child,
	#unit-362 .bImg4TtlTxt4BoxInner:last-child,
	#unit-364 .bImg4TtlTxt4BoxInner:last-child {
		margin-bottom: 0 !important;
	}

	/* 紹介動画・アルバム画像をスマホ幅いっぱいに */
	#unit-931 .bImg2Txt2Inner img,
	#unit-936 .bVImgTxtImg img,
	#unit-363 .bImg4TtlTxt4BoxInner img,
	#unit-362 .bImg4TtlTxt4BoxInner img,
	#unit-364 .bImg4TtlTxt4BoxInner img {
		width: 100vw !important;
		height: auto !important;
		display: block;
		margin: 0 auto;
		max-width: 100vw !important;
	}

	/* 紹介動画・アルバムの各カラム・ボックスも幅100%に */
	#unit-931 .bImg2Txt2Left,
	#unit-931 .bImg2Txt2Right,
	#unit-931 .bImg2Txt2Inner,
	#unit-936 .bVImgTxtImg,
	#unit-363 .bImg4TtlTxt4Left,
	#unit-363 .bImg4TtlTxt4CenterLeft,
	#unit-363 .bImg4TtlTxt4CenterRight,
	#unit-363 .bImg4TtlTxt4Right,
	#unit-363 .bImg4TtlTxt4BoxInner,
	#unit-362 .bImg4TtlTxt4Left,
	#unit-362 .bImg4TtlTxt4CenterLeft,
	#unit-362 .bImg4TtlTxt4CenterRight,
	#unit-362 .bImg4TtlTxt4Right,
	#unit-362 .bImg4TtlTxt4BoxInner,
	#unit-364 .bImg4TtlTxt4Left,
	#unit-364 .bImg4TtlTxt4CenterLeft,
	#unit-364 .bImg4TtlTxt4CenterRight,
	#unit-364 .bImg4TtlTxt4Right,
	#unit-364 .bImg4TtlTxt4BoxInner {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	/* 画像自体も幅100%に */
	#unit-363 img,
	#unit-362 img,
	#unit-364 img {
		margin-bottom: 30px !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		display: block !important;
		width: 100vw !important;
		height: auto !important;
		max-width: 100vw !important;
	}

	#unit-931 img {
		margin: 0 !important;
		margin-top: 20px !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
	}

	#unit-936.bdSolid {
		padding: 0 !important;
		width: 100% !important;
	}

	#unit-936 .bVImgTxt,
	#unit-936 .bVImgTxtImg {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	#unit-936 .bVImgTxtImg img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		display: block !important;
		margin: 0 auto !important;
	}

	#unit-936.bdSolid {
		border: none !important;
		background-color: #fff !important;
	}

	#unit-931 p {
		padding-top: 0 !important;
	}

	/* お知らせ画面 */
	#unit-781 .bImgttl h2 {
		width: 100% !important;
		height: 12.76vw !important;
		display: block;
		margin: 0 auto;
		background-image: url('/wp-content/themes/chukyogym/global-image/units/ttlimg/781-1-20150608174455_b557556074e174.png');
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: center center;
		text-indent: -9999px;
	}


	/* ===== スマホ用ハンバーガーメニュー（オーバーレイ表示） ===== */
	#sp-global-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #C4DEFF;
		display: none;
		overflow-y: auto;
		z-index: 9999;
		visibility: visible;
		transform: translateY(-100%);
		transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	}

	#sp-global-nav.open {
		display: block;
		transform: translateY(0);
	}

	#sp-global-nav ul {
		margin: 40px 16px 0 16px;
		padding: 0;
		list-style: none;
		background: #fff;
		border: 1px solid #e5e5e5;
	}

	#sp-global-nav li {
		border-bottom: 1px solid #e5e5e5;
		text-align: left;
	}

	#sp-global-nav li:last-child {
		border-bottom: none;
	}

	#sp-global-nav li a {
		display: block;
		padding: 14px 20px;
		font-size: 1.1em;
		color: #000;
		text-decoration: none;
		background: #fff;
		transition: background 0.2s, color 0.2s;
	}

	#sp-global-nav li.active>a,
	#sp-global-nav li a:hover {
		background: #e50202;
		color: #fff;
	}

	#sp-global-nav .sp-menu-close {
		position: absolute;
		top: 0px;
		right: 0px;
		font-size: 36px;
		line-height: 1;
		background: none;
		border: none;
		color: #444;
		z-index: 10000;
		cursor: pointer;
		padding: 0px 10px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* PC時はSP用ヘッダーを非表示 */
	#sp-headerbar-img {
		height: 6px;
		background: url('/wp-content/uploads/site-footerbar.gif');
	}


	/* 主要コンテナの固定幅を全解除 -------------------- */
	#wrapper,
	#container,
	#containerInner,
	#headerAreaOuter,
	#headerAreaImage,
	#globalNaviAreaOuter,
	#contentsAreaOuter,
	#footerAreaOuter,
	.bcontainer-inner,
	.bx-wrapper,
	.bx-viewport,
	.slidearea {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	/* インライン style 上書き -------------------------- */
	[style*="width:1000px"],
	[style*="width: 1000px"],
	[style*="width:980px"],
	[style*="width: 980px"],
	[style*="width:960px"],
	[style*="width: 960px"] {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* スマホ用ヘッダー画像の表示 */
	#sp-headerbar-img {
		display: block;
	}

	.containerInner {
		margin-right: 0px !important;
	}

	#sp-menu-toggle {
		background: none !important;
		border: none !important;
		padding: 0 !important;
		width: 19px;
		height: 23px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#sp-menu-toggle img {
		width: 19px;
		height: 23px;
		display: block;
	}

	/* メインビジュアルのPC/SP出し分け */
	.slider-pc {
		display: none !important;
	}

	.slider-sp {
		display: block !important;
	}

	/* SP用フェードスライダーの重なり調整 */
	.sp-fadeslider {
		position: relative;
		width: 100%;
		height: 1px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.sp-fadeslider li {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		z-index: 1;
		transition: opacity 0.8s;
		display: block;
	}

	.sp-fadeslider li.active {
		opacity: 1;
		z-index: 2;
	}

	/* ドットナビ */
	.sp-fadeslider-dots {
		text-align: center;
		margin-top: 8px;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10;
	}

	.sp-fadeslider-dot {
		display: inline-block;
		width: 8px;
		height: 8px;
		margin: 0 3px;
		background: #bbb;
		border-radius: 50%;
		cursor: pointer;
		transition: background 0.3s;
	}

	.sp-fadeslider-dot.active {
		background: #333;
	}

	/* ── 体育館について ────────── */
	.page-id-505 .wp-block-media-text__media {
		margin-bottom: 0;
		margin-right: 0 !important;
		vertical-align: top;
		align-self: start;
	}

	.page-id-505 .wp-block-media-text__content {
		margin-left: 0 !important;
		text-align: left;
	}

	/* 画像スライダー */
	.page-id-505 .wp-block-group.is-layout-flex {
		display: flex !important;
		overflow: hidden;
		width: 100vw;
		max-width: 100vw;
		position: relative;
		flex-wrap: nowrap !important;
	}

	.page-id-505 .wp-block-group.is-layout-flex>.wp-block-image {
		min-width: 100vw;
		box-sizing: border-box;
		margin: 0 !important;
		flex-shrink: 0;
	}

	.page-id-505 .wp-block-group.is-layout-flex img {
		width: 100vw !important;
		height: auto !important;
		display: block;
	}

	.page-id-505 .bcontainer-inner {
		position: relative;
	}

	.page-id-505 .bcontainer-inner .wp-block-group.is-layout-flex.gallery-slider {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.page-id-505 .bcontainer-inner .wp-block-group.is-layout-flex.gallery-slider>.wp-block-image {
		min-width: 100% !important;
	}

	.page-id-505 .bcontainer-inner .wp-block-group.is-layout-flex.gallery-slider img {
		width: 100% !important;
	}


	/* ----- プログラム画面 ----- */
	body.page-id-44 .bcontainer-inner {
		text-align: left !important;
	}

	body.page-id-44 .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile {
		display: flex !important;
		align-items: flex-start !important;
		gap: 16px;
		margin-bottom: 20px !important;
	}

	body.page-id-44 .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-media-text__content {
		padding-left: 0 !important;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}

	body.page-id-44 .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-media-text__media {
		max-width: 45vw;
		align-self: flex-start !important;
		display: flex !important;
		justify-content: flex-start;
		align-items: flex-start !important;
		justify-content: flex-end;
	}

	body.page-id-44 .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-media-text__media img {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	body.page-id-44 .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile ul {
		margin: 0;
		list-style: disc inside;
	}


	/* お知らせ画面 */
	#page10 .bcontainer-inner {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	/* フッター */
	.footer-pc {
		display: none !important;
	}

	.footer-sp {
		display: block !important;
	}

	#footerAreaSectionSp {
		background: #8ed9ff;
		padding: 20px 0 10px 0;
		color: #333;
		width: 100%;
		position: relative;
	}

	.footer_sp_inner img {
		max-width: 90vw;
		height: auto;
	}

	.footer_sp_inner .call-buttom>div {
		margin-bottom: 10px;
	}

	.footer_sp_inner table {
		margin: 10px auto 0 auto;
		width: 90vw;
	}

	/* サイトマップボタンを下部中央に */
	.footer-sp-sitemap-btn {
		display: block;
		text-align: left;
		color: #666;
		font-size: 1em;
		margin: 10px 0 0 10px;
		text-decoration: none;
		width: fit-content;
		background: none;
		position: static;
	}

	/* ページトップボタンを右下固定・正しい表示に */
	.footer-sp-pagetop-btn {
		position: fixed;
		right: 16px;
		bottom: 16px;
		width: 50px;
		height: 50px;
		background: url('/wp-content/themes/chukyogym/usr-data/template/PC7-PN-03-6_cus_10/common-img/btn_pagetop.png');
		background-size: 100% 200%;
		border: none;
		border-radius: 0;
		box-shadow: none;
		opacity: 0;
		pointer-events: none;
		z-index: 9999;
		transition: opacity 0.4s;
		overflow: visible;
		background-color: transparent;
	}

	.footer-sp-pagetop-btn.is-show {
		opacity: 1;
		pointer-events: auto;
	}

	/* 下矢印（is-active時）は下半分を表示 */
	.footer-sp-pagetop-btn.is-active {
		background-position: center bottom;
	}

	.footer-sp-copyright {
		text-align: left;
		color: #888;
		font-size: 0.8em;
		margin-top: 20px;
		padding: 15px 10px 0 10px;
		border-top: 1px solid #D6D6D6;
	}

	/* ------ スタッフページ ------ */
	.staff-page .staff-list {
		flex-direction: column !important;
		gap: 2rem !important;
	}

	.staff-page .staff-list .staff-item {
		flex: 1 1 100% !important;
		max-width: 100% !important;
	}

	/* 一番下の画像を非表示 */
	.staff-page .wp-block-image:last-of-type {
		display: none !important;
	}

	/* ----- 採用情報 ----- */
	body.page-id-477 #containerInner,
	body.page-id-477 #mainArea,
	body.page-id-477 .containerInner,
	body.page-id-477 #contentsAreaSection,
	body.page-id-477 .box1,
	body.page-id-477 .box1 .containerInner,
	body.page-id-477 .wp-block-heading,
	body.page-id-477 .wp-block-list,
	body.page-id-477 .wp-block-spacer,
	body.page-id-477 p,
	body.page-id-477 ul,
	body.page-id-477 li,
	body.page-id-477 h3,
	body.page-id-477 .bg-logo-wrap {
		text-align: left !important;
	}

	/* ----- アルバムページ ----- */
	.page-id-284 .wp-block-gallery,
	.page-id-284 .wp-block-gallery-1 {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
		margin-left: 45px !important;
		margin-right: 45px !important;
	}

	.page-id-284 .wp-block-gallery .wp-block-image,
	.page-id-284 .wp-block-gallery-1 .wp-block-image {
		margin: 0 !important;
		width: 100% !important;
		max-width: none !important;
		flex: none !important;
	}

	.page-id-284 ul.cg-album,
	.page-id-284 .cg-album {
		margin-left: 45px !important;
		margin-right: 45px !important;
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	/* ----- キッズクラス & ジュニアクラスページ & 選手クラスページ ----- */
	/* スライダー用のflex/gridを解除し、block化 */
	.page-id-712 .box1 .wp-block-group.is-layout-flex,
	.page-id-717 .box1 .wp-block-group.is-layout-flex,
	.page-id-719 .box1 .wp-block-group.is-layout-flex,
	.page-id-721 .box1 .wp-block-group.is-layout-flex,
	.page-id-727 .box1 .wp-block-group.is-layout-flex,
	.page-id-717 .box1 .gallery-slider,
	.page-id-719 .box1 .gallery-slider,
	.page-id-721 .box1 .gallery-slider,
	.page-id-727 .box1 .gallery-slider,
	.page-id-717 .box1 .gs-track,
	.page-id-719 .box1 .gs-track,
	.page-id-721 .box1 .gs-track,
	.page-id-727 .box1 .gs-track {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* 画像を1枚ずつ縦並び・横幅100% */
	.page-id-712 .box1 .wp-block-group.is-layout-flex .wp-block-image,
	.page-id-717 .box1 .wp-block-group.is-layout-flex .wp-block-image,
	.page-id-719 .box1 .wp-block-group.is-layout-flex .wp-block-image,
	.page-id-721 .box1 .wp-block-group.is-layout-flex .wp-block-image,
	.page-id-727 .box1 .wp-block-group.is-layout-flex .wp-block-image,
	.page-id-717 .box1 .gallery-slider>.wp-block-image,
	.page-id-719 .box1 .gallery-slider>.wp-block-image,
	.page-id-721 .box1 .gallery-slider>.wp-block-image,
	.page-id-727 .box1 .gallery-slider>.wp-block-image,
	.page-id-717 .box1 .gs-track>.wp-block-image,
	.page-id-719 .box1 .gs-track>.wp-block-image,
	.page-id-721 .box1 .gs-track>.wp-block-image,
	.page-id-727 .box1 .gs-track>.wp-block-image {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-bottom: 30px !important;
		padding: 0 !important;
	}

	.page-id-712 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
	.page-id-717 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
	.page-id-719 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
	.page-id-721 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
	.page-id-727 .box1 .wp-block-group.is-layout-flex .wp-block-image img,
	.page-id-717 .box1 .gallery-slider>.wp-block-image img,
	.page-id-719 .box1 .gallery-slider>.wp-block-image img,
	.page-id-721 .box1 .gallery-slider>.wp-block-image img,
	.page-id-727 .box1 .gallery-slider>.wp-block-image img,
	.page-id-717 .box1 .gs-track>.wp-block-image img,
	.page-id-719 .box1 .gs-track>.wp-block-image img,
	.page-id-721 .box1 .gs-track>.wp-block-image img,
	.page-id-727 .box1 .gs-track>.wp-block-image img {
		width: 100% !important;
		height: auto !important;
		display: block !important;
		max-width: 100% !important;
	}

	/* ----- ジュニアクラスページ & シニアクラスページ & 育成クラスページ ----- */
	.page-id-719 .wp-block-media-text__content,
	.page-id-723 .wp-block-media-text__content,
	.page-id-725 .wp-block-media-text__content {
		margin-bottom: 50px !important;
	}

	/* ----- 選手クラスページ & 専門クラスページ & キッズクラスページ & ジュニアクラスページ & チャレンジクラスページ ----- */
	.page-id-717 .schedule-table th,
	.page-id-717 .schedule-table td,
	.page-id-719 .schedule-table th,
	.page-id-719 .schedule-table td,
	.page-id-721 .schedule-table th,
	.page-id-721 .schedule-table td,
	.page-id-727 .schedule-table th,
	.page-id-727 .schedule-table td,
	.page-id-729 .schedule-table th,
	.page-id-729 .schedule-table td {
		padding: 0.5em 0 !important;
	}

	/* ----- 専門クラスページ ----- */
	.page-id-729 .wp-block-group {
		margin-bottom: 20px !important;
	}

	/* ─── 体験スクール ─── */
	.contact-box {
		display: none;
	}

	/* ─── スタッフ一覧 ─── */
	.staff-profile-box {
		flex-direction: column;
		align-items: center;
	}

	.staff-profile-box .staff-photo img {
		width: 80vw;
		max-width: 300px;
	}

	/* ----- 親子リトルクラスページ ----- */
	.page-id-712 .wp-block-media-text.is-stacked-on-mobile {
		margin-bottom: 40px !important;
	}
}
