@charset "utf-8";
/*
 * base css 
 * pc width 1000px fixed
 */

/* ---------------------------------------- common */

/* Header Navi root */
:root {
	--home-hdcolor: #0B83C6;
	--home-hdcolor-pale: #E7F3FA;
	
	--youth-hdcolor: #00796B;
	--youth-hdcolor-pale: #E0F5F6;
	
	--children-hdcolor: #F29A21;
	--children-hdcolor-pale: #FFFADF;
	
	--sports-hdcolor: #015DB2;
	--sports-hdcolor-pale: #D8ECFF;
	
	--arts-hdcolor: #D5485B;
	--arts-hdcolor-pale: #FFF5FA;
	
	--hdfont-size: 16px;
	--hdfont-weight: 400;
	--hdfont-hover-weight: 700;
}

@media (max-width: 767px) {
	.pc { display: none !important; }
}

@media (min-width: 768px) {
	.sp { display: none !important; }
}

#drawer { display: none; }

/* ---------------------------------------- header */


header .headline .inner .logo a { display: inline-block; }

@media (max-width: 767px) {

	header .headline {
		border-bottom: 1px #eee solid;
	}

}

@media (min-width: 768px) {

	header .inner {
		max-width: 1170px;
		margin: 0 auto;
	}

}

/* header headline */

header .headline {
	width: 100%;
	background: #fff;
	padding: 0 1em;
}

#hamburgerMenu { 
	position: relative; 
	z-index: 9998;
}

header .headline .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;

}

@media (max-width: 767px) {

	header .headline {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		width: 100%;
	}

	header .headline .inner {
		padding: .625em 0;
	}
	header .headline .inner .inside ul {
		display: none !important;
	}
	header .headline .inner .logo {
		width: 60%;
		max-height: 52px;
		max-width: 370px;
	}
	header .headline .inner .logo img {
		height: 100%;
		aspect-ratio: 7.2 / 1;
	}
}

@media (min-width: 768px) {

	header {
		background: #fff;
		contain: layout;
		position: sticky;
		top: 0;
		z-index: 999;
	}
	header .headline {
		position: relative;
		z-index: 9999;
	}
	header .headline .inner {
		padding: .6875em 0;
	}
	header .headline .inner .inside {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	header .headline .inner .inside ul {
		display: flex;
		align-items: center;
	}
	header .headline .inner .inside ul li {
		max-width: 180px;
		margin: 0 1em 0 0;
	}
	header .headline .inner .inside ul li:last-child { margin: 0; }
	header .headline .inner .inside ul li a { display: block; }

	header .headline .inner .logo {
		width: 31.6239%;
		max-width: 360px;
		max-height: 50px;
		aspect-ratio: 1 / 0.139;
	}
	header .headline .inner .logo img {
		height: 100%;
		aspect-ratio: 7.2 / 1;
	}
	#drawerMenu { margin: 0 0 0 2em; }

}

/* ---------------------------------------- globalnav */

#globalnav li a { 
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 3em;
	color: #fff;
	font-weight: var( --hdfont-weight );
	text-align: center;
	position: relative;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#globalnav li.gbl-home a { 
	background: var( --home-hdcolor ); 
}
#globalnav li.gbl-youth a { 
	background: var( --youth-hdcolor ); 
}
#globalnav li.gbl-child a { 
	background: var( --children-hdcolor ); 
}
#globalnav li.gbl-sports a { 
	background: var( --sports-hdcolor ); 
}
#globalnav li.gbl-arts a { 
	background: var( --arts-hdcolor ); 
}
#globalnav li.gbl-logo a { 
	background: var( --home-hdcolor ); 
}

#globalnav li a::after {
	content: "";
	width: 100%;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
}
#globalnav li.gbl-home a::after { background: var( --home-hdcolor ); }
#globalnav li.gbl-youth a::after { background: var( --youth-hdcolor ); }
#globalnav li.gbl-child a::after { background: var( --children-hdcolor ); }
#globalnav li.gbl-sports a::after { background: var( --sports-hdcolor ); }
#globalnav li.gbl-arts a::after { background: var( --arts-hdcolor ); }
#globalnav li.gbl-logo a::after { background: var( --home-hdcolor ); }

#globalnav li a:hover { 
	font-weight: var( --hdfont-hover-weight );
}
#globalnav li.gbl-home a:hover,
#globalnav li.gbl-home a.is-active { 
	color: var( --home-hdcolor ); 
	background: var( --home-hdcolor-pale );
}
#globalnav li.gbl-youth a:hover,
#globalnav li.gbl-youth a.is-active { 
	color: var( --youth-hdcolor ); 
	background: var( --youth-hdcolor-pale );
}
#globalnav li.gbl-child a:hover,
#globalnav li.gbl-child a.is-active { 
	color: var( --children-hdcolor );
	background: var( --children-hdcolor-pale );
}
#globalnav li.gbl-sports a:hover,
#globalnav li.gbl-sports a.is-active { 
	color: var( --sports-hdcolor ); 
	background: var( --sports-hdcolor-pale );
}
#globalnav li.gbl-arts a:hover,
#globalnav li.gbl-arts a.is-active { 
	color: var( --arts-hdcolor ); 
	background: var( --arts-hdcolor-pale );
}
#globalnav li.gbl-logo a:hover,
#globalnav li.gbl-logo a.is-active { 
	color: var( --home-hdcolor ); 
	background: var( --home-hdcolor-pale );
}

@media (max-width: 767px) {

	#globalnav li.gbl-home,
	#globalnav li.gbl-logo { display: none !important; }
	#globalnav ul {
		display: flex;
		align-items: center;
	}
	#globalnav ul li {
		flex: 1;
	}
	#globalnav li a {
		font-size: clamp(0.688rem, 0.464rem + 1.12vw, 1rem);
		padding: .5em 0;
	}
	#globalnav li a i { 
		font-size: 1rem;
		margin: 0 .125em 0 0; 
	}
}

@media (min-width: 768px) {

	.pushbar_locked #globalnav { display: none !important; } 

	#globalnav { padding: .5em 1em; }
	#globalnav ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#globalnav ul li {
		width: 15%;
		max-width: 160px;
		font-size: clamp(0.75rem, 0.272rem + 1vw, 1rem);
		margin: 0 1em 0 0;
	}
	#globalnav ul li:last-child { margin: 0; }
	#globalnav li a { 
		padding: .5em .25em;
	}
	#globalnav li a i { 
		font-size: 1.25rem;
		margin: 0 .25em 0 0; 
	}
}

#drawer { display: none !important; }

/* ---------------------------------------- sponsored */

#sponsored h3 {
	font-weight: 700;
	text-align: center;
	margin: 0 0 1.5em;
	position: relative;
}
#sponsored h3 span {
	display: inline-block;
	background: #fff;
	padding: 0 1em;
}
#sponsored h3::before {
	content: "";
	display: block;
	height: 1px;
	background: #000;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#sponsored li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 1 / 0.286;
	border: 1px #000 solid;
}

@media (max-width: 767px) {

	#sponsored { 
		font-size: clamp(0.813rem, 0.678rem + 0.67vw, 1rem);
		padding: 5em 1em; 
	}
	#sponsored h3 {
		font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
	}
	#sponsored h3::before { width: 70%; }

	#sponsored ul {
		display: grid;
		grid-template-columns: repeat(2, 47.23%);
		column-gap: 5.54%;
		row-gap: 20px;
	}

}

@media (min-width: 768px) {

	#sponsored { 
		font-size: clamp(0.813rem, 0.454rem + 0.75vw, 1rem);
		padding: 5em 1em; 
	}
	#sponsored .inner {
		max-width: 940px;
		margin: 0 auto;
	}

	#sponsored h3 {
		font-size: clamp(1rem, 0.522rem + 1vw, 1.25rem);
	}
	#sponsored h3::before { width: 50%; }

	#sponsored ul {
		display: grid;
		grid-template-columns: repeat(4, 22.5531914%);
		column-gap: 3.26%;
		row-gap: 25px;
	}

}

/* ---------------------------------------- main */

@media (max-width: 767px) {

	main {
		font-size: clamp(0.813rem, 0.678rem + 0.67vw, 1rem);
	}

}

@media (min-width: 768px) {

	main {
		font-size: clamp(0.813rem, 0.454rem + 0.75vw, 1rem);
	}

}

/* ---------------------------------------- footer */

footer {
	color: #fff;
	background: var( --home-hdcolor );
}


/* 検索入力欄のスタイル */
footer .inside .search-form_input { /* テーマによってクラス名が異なる場合あり */
    border: 1px solid #ccc;
	background: #fff;
    border-radius: 5px;
	padding: .25em .5em;
    width: 10em; /* 幅を調整 */
	text-align: left;
	color:#333 ;
}

/* 検索ボタンのスタイル */
footer .inside #searchsubmit { /* テーマによってクラス名が異なる場合あり */
    background: #173f62;
    color: white;
    border: 1px #fff solid;
    border-radius: 5px;
    cursor: pointer;
	padding: .25em .5em;
    transition: background-color 0.3s;
}

/* ボタンのホバーエフェクト */
footer .inside #searchsubmit:hover {
    background-color: #005b87;
}

/* 基本的なプレースホルダーのスタイル */
footer .inside input[type="search"]::placeholder,
footer .inside input[type="text"]::placeholder {
    color: #999; /* プレースホルダーの色 */
    opacity: 1; /* ブラウザによっては透明度を調整 */
}

/* Webkit系ブラウザ（Chrome, Safariなど） */
footer .inside input[type="search"]::-webkit-input-placeholder,
footer .inside input[type="text"]::-webkit-input-placeholder {
    color: #999;
}

/* Firefox */
footer .inside input[type="search"]::-moz-placeholder,
footer .inside input[type="text"]::-moz-placeholder {
    color: #999;
}

/* Microsoft Edge */
footer .inside input[type="search"]:-ms-input-placeholder,
footer .inside input[type="text"]:-ms-input-placeholder {
    color: #999;
}

footer .footline h3 {
	border-bottom: 1px #fff solid;
	font-size: 1.25rem;
	padding: 0 0 .25em;
	margin: 0 0 .5em;
}
footer .footline .detail ul { 
	line-height: 2; 
	width: 50%;
}
footer .cregit {
	margin: 2em 0 0;
}
footer .cregit p { 
	text-align: center;
}

@media (max-width: 767px) {

	footer {
		font-size: clamp(0.813rem, 0.678rem + 0.67vw, 1rem);
		padding: 2.5em 1em 2em;
	}
	footer .footline { margin: 0 0 2em; }
	footer .footline h3 {
		font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
	}
	footer .inside .sns {
		font-size: clamp(2.75rem, 2.213rem + 2.68vw, 3.5rem);
		margin: .25em 0 0;
	}
	footer .cregit p { 
		font-size: clamp(0.625rem, 0.446rem + 0.89vw, 0.875rem);
	}
}

@media (min-width: 768px) {

	footer {
		font-size: clamp(0.875rem, 0.636rem + 0.5vw, 1rem);
		padding: 4em 1em 3em;
	}
	footer .inner {
		max-width: 1000px;
		margin: 0 auto;
	}
	footer > .inner {
		display: flex;
		justify-content: space-between;
	}

	footer .footline { width: 60%; }
	footer .footline h3 {
		font-size: clamp(1rem, 0.522rem + 1vw, 1.25rem);
	}
	footer .footline .detail {
		display: flex;
		justify-content: space-between;
	}
	
	footer .inside { 
		width: 25%; 
		text-align: right;
	}
	footer .inside .sns {
		font-size: clamp(2.75rem, 1.317rem + 2.99vw, 3.5rem);
		margin: .25em 0 0;
	}
	footer .cregit p { 
		font-size: .875rem;
	}
}

/* ---------------------------------------- breadcrumb-wrap */

#breadcrumbs i {
	color: #ffb50a;
	margin: 0 .5em 0 0;
}
#breadcrumbs a:hover {
	color: #ffb50a;
}

/* ---------------------------------------- form */

input[type="text"], input[type="password"], input[type="email"], input[type="tel"], textarea {
	width: 100%;
	border: 1px #ccc solid;
	line-height: 1.6;
	padding: .5em .75em;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input[type="text"].middle, input[type="password"].middle, input[type="email"].middle, input[type="tel"].middle {
	width: 40%;
}
input[type="text"].short, input[type="password"].short, input[type="email"].short, input[type="tel"].short {
	width: 20%;
}
input[type="radio"] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

input[type="checkbox"] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

select {
	border: 1px #ccc solid;
	line-height: 1.6;
	text-align: left;
	font-weight: 400;
	padding: .25em 1em;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
select optgroup option::before {
    content: "";
}

.required {
	display: inline-block;
	color: #fff;
	background: red;
	padding: .2em .75em;
	border-radius: .5em;
	margin: 0 0 0 1em;
}

@media (max-width: 767px) {
	.required { font-size: clamp(0.625rem, 0.536rem + 0.45vw, 0.75rem); }
}

@media (min-width: 768px) {
	.required { font-size: clamp(0.625rem, 0.386rem + 0.5vw, 0.75rem); }
}

/* feedback */

#feedback {
	max-width: 580px;
	border: 1px var( --color-057cb2 ) solid;
	padding: 0 0 1.5em;
	margin: 0 auto;
}
#feedback h3 {
	color: #fff;
	background: var( --color-057cb2 );
	text-align: center;
	line-height: 1.4;
	padding: 1em;
	margin: 0;
}

#feedback dl { 
	line-height: 1.6;
	padding: 1.5em 1.5em 0; 
}
#feedback dl dt {
	color: var( --color-057cb2 );
	font-weight: 700;
	margin: 0 0 .5em;
}
#feedback dl dd {
	line-height: 2;
	margin: 0 0 1.5em;
}

#feedback dl dd [type="radio"] { display: none; }
#feedback dl dd [type="radio"] + span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 1.5em;
	margin: 0 2em 0 0;
	white-space: nowrap;
	cursor: pointer;
}
#feedback dl dd [type="radio"] + label::before,
#feedback dl dd [type="radio"] + span::before  {
	content: "";
	display: inline-block;
	width: 1.2em;
	aspect-ratio: 1;
	border: 1px #999 solid;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#feedback dl dd [type="radio"]:checked + label::before,
#feedback dl dd [type="radio"]:checked + span::before {
	border: 5px #999 solid;
}
#feedback .wpcf7-list-item { margin: 0 !important; }
/*
#feedback .wpcf7-spinner {
    display: none !important;
}
*/

#feedback p { 
	text-align: center; 
	position: relative;
}
#feedback .wpcf7-spinner {
	position: absolute !important;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#feedback [type="submit"] {
	color: #fff;
	background: #E57708;
	background: linear-gradient(180deg,rgba(229, 119, 8, 1) 0%, rgba(247, 178, 0, 1) 100%);
	border-radius: 100px;
	font-weight: 700;
	line-height: 1;
	padding: .75em 3em;
	margin: 0 auto;
}
#feedback [type="submit"]:hover { opacity: .5; }

@media (max-width: 767px) {
	#feedback h3 {
		font-size: clamp(0.75rem, 0.571rem + 0.89vw, 1rem); /* 320-767 12-16 */
	}
}

@media (min-width: 768px) {
	#feedback h3 {
		font-size: clamp(0.813rem, 0.1rem + 1.49vw, 1rem); /* 768-970 13-16 */
	}
}

/* ---------------------------------------- catelist */

:root {
	--catelist-base-color: #0b83c6; /* default */
	--catelist-arts-color: #d5485b;
	--catelist-club-color: #f29a21;
	--catelist-opera-color: #1c2d5a;
	--catelist-sports-color: #015db2;
	--catelist-youth-color: #00796b;
}

.catelist {
	max-width: 750px;
	border: 2px var( --catelist-base-color ) solid;
	border-radius: 1em;
	padding: 0 0 .5em;
	margin: 0 auto 1em;
	overflow: hidden;
}
.catelist h2 { 
	color: #fff;
	background: var( --catelist-base-color );
	border-radius: 0; 
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-style: normal;
	font-weight: 700;
	line-height: 1.4;
	padding: .4em 1em .5em;
	margin: 0;
}
.catelist ul {
	list-style: none;
	padding: .5em 1em;
	margin: 0 0 .5em;
}
.catelist ul li {
	border-bottom: 1px var( --catelist-base-color ) dashed;
	padding: 0;
}
.catelist ul li::before { content: none; }
.catelist ul li + li { margin: .5em 0 0; }
.catelist ul li a {
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.catelist ul li a:hover { color: var( --catelist-base-color ); }
.catelist ul li p { 
	line-height: 1.4; 
	margin: 0;
}

.catelist .pagelink { text-align: center; }
.catelist .pagelink a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12em;
	min-width: 30%;
	color: #fff;
	background: var( --catelist-base-color );
	font-style: normal;
	font-weight: 700;
	padding: 1em;
	border-radius: 10px;
	margin: 0 auto;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.catelist .pagelink a:hover { opacity: .5; }
.catelist .pagelink a img {
	width: auto;
	height: 1em;
	margin: 0 0 0 2em;
}

/* color */
.catelist.arts { border: 2px var( --catelist-arts-color ) solid; }
.catelist.club { border: 2px var( --catelist-club-color ) solid; }
.catelist.opera { border: 2px var( --catelist-opera-color ) solid; }
.catelist.sports { border: 2px var( --catelist-sports-color ) solid; }
.catelist.youth { border: 2px var( --catelist-youth-color ) solid; }

.catelist.arts h2 { background: var( --catelist-arts-color ); }
.catelist.club h2 { background: var( --catelist-club-color ); }
.catelist.opera h2 { background: var( --catelist-opera-color ); }
.catelist.sports h2 { background: var( --catelist-sports-color ); }
.catelist.youth h2 { background: var( --catelist-youth-color ); }

.catelist.arts ul li { border-bottom: 1px var( --catelist-arts-color ) dashed; }
.catelist.club ul li { border-bottom: 1px var( --catelist-club-color ) dashed; }
.catelist.opera ul li { border-bottom: 1px var( --catelist-opera-color ) dashed; }
.catelist.sports ul li { border-bottom: 1px var( --catelist-sports-color ) dashed; }
.catelist.youth ul li { border-bottom: 1px var( --catelist-youth-color ) dashed; }

.catelist.arts ul li a:hover { color: var( --catelist-arts-color ); }
.catelist.club ul li a:hover { color: var( --catelist-club-color ); }
.catelist.opera ul li a:hover { color: var( --catelist-opera-color ); }
.catelist.sports ul li a:hover { color: var( --catelist-sports-color ); }
.catelist.youth ul li a:hover { color: var( --catelist-youth-color ); }

.catelist.arts .pagelink a { background: var( --catelist-arts-color ); }
.catelist.club .pagelink a { background: var( --catelist-club-color ); }
.catelist.opera .pagelink a { background: var( --catelist-opera-color ); }
.catelist.sports .pagelink a { background: var( --catelist-sports-color ); }
.catelist.youth .pagelink a { background: var( --catelist-youth-color ); }

@media (max-width: 767px) {
	.catelist h2 {
		font-size: clamp(0.938rem, 0.803rem + 0.67vw, 1.125rem);
	}
	.catelist ul li a {
		display: block;
		padding: .5em 0;
	}
	.pagelink a { font-size: clamp(0.688rem, 0.598rem + 0.45vw, 0.813rem); }
	.catelist ul li a p.date { margin: 0 0 .25em; }
}

@media (min-width: 768px) {
	.catelist h2 {
		font-size: clamp(1rem, 0.05rem + 1.98vw, 1.25rem);
	}
	.catelist ul li a {
		display: table;
		width: 100%;
		padding: .5em 0;
	}
	.catelist ul li a p {
		display: table-cell;
		vertical-align: top;
	}
	.catelist ul li a p.date { width: 6.5em; }
	.pagelink a { font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem); }
}