@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

@font-face {
	font-family: 'JaturatDemoBlack';
	src: url('https://the-pickleball-japan.com/public_html/wp-content/themes/cocoon-child-master/dist/font/JaturatDemoBlack.otf') format('opentype');
}



/************************************
** 子テーマ用汎用
************************************/

@media screen and (max-width: 480px) {

	.body,
	.menu-content {
		font-size: 14px;
	}
}

.article h1.entry-title {
	border-bottom: 4px double #1843cb;
	margin: 0 -16px 16px;
	padding: 0.6em 1em;
}

h1 {
	border-bottom: 4px double #1843cb;
	margin: 0 -16px 16px;
	padding: 0.6em 1em;
}

.article h2 {
	background-color: #1843cb;
	border-right: 10px solid #f6f6f6;
	border-left: 30px double #f6f6f6;
}

label.toc-title {
	background-image: linear-gradient(45deg, #1843cb 0%, #1843cb 15%, #f6f6f6 15%, #f6f6f6 70%, transparent 0), linear-gradient(-45deg, #1843cb 0%, #1843cb 15%, #f6f6f6 15%, #f6f6f6 70%, transparent 0);
}

table tr:nth-of-type(2n+1) {
	background: none;
}


table th,
.scrollable-table th {
	background: linear-gradient(#1843cb 0%, #1843cb 100%);
}

.article h3 {
	background-image: repeating-linear-gradient(45deg, #1843cb 0%, #1843cb 7%, #fbfcfe 7%, #fbfcfe 8%, #1843CB 8%, #1843cb 9%, #f6f6f6 9%, #f6f6f6 91%, #1843cb 91%, #1843cb 92%, #fbfcfe 92%, #fbfcfe 93%, #1843cb 93%, #1843cb);
}

table {
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
}

a.page-numbers {
	font-size: 12px;
}

span.small {
	font-size: 75%;
}

select,
input#event_date,
input[type="date"],
input[type="time"],
input[type="datetime-local"] {
	max-width: 200px;
}


/************************************
** トグルスイッチボタン
************************************/

/* view-toggle 全体を右寄せ＆縦中央揃え */
.view-toggle {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 10px 0;
}

main#members .view-toggle {
	margin: 10px 5px;
}

/* 「カード表示」ラベル */
.toggle-label {
	margin-right: 8px;
	font-size: 14px;
	color: #333;
}

/* スイッチ全体のサイズ・配置 */
.switch {
	position: relative;
	display: inline-block;
	width: 50px;
	/* 幅を50pxに変更 */
	height: 24px;
}

/* 本来のチェックボックスを隠す */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* 背景スライダー */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	transition: 0.3s;
	border-radius: 12px;
}

/* スライダーの丸いノブ */
.slider:before {
	position: absolute;
	content: "";
	height: 18px;
	width: 18px;
	left: 3px;
	bottom: 3px;
	background-color: #fff;
	transition: 0.3s;
	border-radius: 50%;
}

/* OFF/ON のテキスト */
.slider:after {
	content: "OFF";
	position: absolute;
	top: 0;
	left: -3px;
	width: 100%;
	height: 100%;
	line-height: 24px;
	text-align: right;
	/* OFF時はテキストを右寄せ */
	font-size: 12px;
	color: #fff;
	pointer-events: none;
}

/* チェックON時の背景色 */
.switch input:checked+.slider {
	background-color: #0073aa;
}

/* チェックON時のノブ移動 */
.switch input:checked+.slider:before {
	transform: translateX(26px);
	/* ノブ移動量を26pxに調整 */
}

/* チェックON時のテキスト切り替え */
.switch input:checked+.slider:after {
	content: "ON";
	text-align: left;
	/* ON時はテキストを左寄せ */
	left: 5px;
}

/* 既存の .hidden を使って表示切替 */
.hidden {
	display: none;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/*1023px以下*/
@media screen and (max-width: 1023px) {}

/*1024px以上*/
@media screen and (min-width: 1024px) {}

/*835px以上*/
@media screen and (min-width: 835px) {
	.sp-835 {
		display: none;
	}

	#event-20231210v .column-2-3-1-2 .column-right {
		padding-left: 20px;
	}
}

/*834px以下*/
@media screen and (max-width: 834px) {}

/*480px以下*/
@media screen and (max-width: 480px) {
	/*必要ならばここにコードを書く*/
}

/*520px以下*/
@media screen and (max-width: 520px) {
	.pc {
		display: none;
	}

	div#header-container {
		padding: 5px 0 10px;
	}

	div#appeal {
		margin-top: 15vw;
	}

	.breadcrumb.sbp-main-before {
		margin-top: 15vw;
	}
}


/*521px以上*/
@media screen and (min-width: 521px) {
	.sp {
		display: none;
	}
}



/************************************
** LP用
************************************/


#original-paddle img.pc {
	width: 100%;
}

#original-paddle img.sp {
	width: 100%;
	max-width: 100%;
	margin-top: -30px;
}



/************************************
** ポストカードのフェードイン
************************************/

/* 共通の初期状態：非表示 */
.card-post-archive .entry-card-wrap {
	opacity: 0;
	transition: transform 3s ease, opacity 3s ease;
}

/* 初期状態：下からフェードイン対象の transform */
.card-post-archive .entry-card-wrap:not(.fade-in-side) {
	transform: translateY(100px);
}

/* 初期状態：横からフェードイン対象の transform */
/* ※横からの場合、右からフェードインする例。 
.members-main .card-post-archive .entry-card-wrap {
  transform: translateX(100px);
}*/

/* 【下からフェードイン】用の完了状態 */
.card-post-archive .entry-card-wrap.fade-in-bottom {
	opacity: 1;
	transform: translateY(0);
}

/* 【横からフェードイン】用の完了状態 
.card-post-archive .entry-card-wrap.fade-in-side {
  opacity: 1;
  transform: translateX(0);
}*/



/************************************
**ヘッダーナビ
************************************/

#header-container {
	display: none;
}

.navi_area {
	width: 100%;
	margin: 0 auto;
	border-bottom: 1px solid ＃FFF;
}

.g_navi {
	float: right;
}

.g_navi li {
	float: left;
	text-align: center;
	line-height: 4.7vw;
	font-size: 1.5vw;
	font-family: 'JaturatDemoBlack';
	font-weight: 800;
	width: 10vw;
	margin: 0;
	-webkit-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Google Chrome、Safari*/
	-moz-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Firefox*/
	-ms-transition: all 0.3s ease;
	/*ふわっとさせる間隔 IE*/
	-o-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Opera*/
	transition: all 0.3s ease;
	/*ふわっとさせる間隔*/
	cursor: pointer;
	/*ホバー時にカーソルの形状をポインターに*/
}

.g_navi ul li:hover {
	background-color: #d5dfff;
	/*背景色*/
	color: #1843cb;
	opacity: 0.7;
}

.g_navi a {
	color: #FFF;
	text-decoration: none;
}

.navi_area {
	display: block;
	position: fixed;
	top: 0px;
	width: 100%;
	height: 50px;
	z-index: 100;
}

#navi-area {
	background-color: #1843cb;
	width: 100%;
	padding: 5px;
	border-bottom: solid 0.5px white;
}

#navi-area img {
	height: 33px;
}


@media screen and (min-width: 835px) {
	.navi_area {
		height: 90px;
	}

	#navi-area img {
		height: 65px;
		max-height: 70px;
		padding: 5px;
	}

	.breadcrumb.sbp-main-before {
		margin-top: 110px;
	}

}


/*========= ユーザーアイコンのためのCSS ===============*/

.login-icon {
	position: fixed;
	top: 2px;
	right: 60px;
	z-index: 3;
	cursor: pointer;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-align: center;
}

.login-icon img {
	width: 26px;
	height: 26px;
	margin: 1px auto 0;
	display: block;
	padding-top: 10%;
}

.login-icon img.avatar.avatar-50.photo {
	border-radius: 50%;
	background-color: white;
	padding: 0;
}


.login-icon a {
	text-decoration: none;
}

.login-icon p.user-name {
	font-size: 50%;
	color: #FFF;
	white-space: nowrap;
	overflow: hidden;
}


/*835px以上*/
@media screen and (min-width: 835px) {
	.login-icon {
		top: 6px;
		right: 120px;
		width: 80px;
	}

	.login-icon img {
		width: 45px;
		height: 45px;
		margin: 0 auto;
		display: block;
	}

	.login-icon a span.user-name {
		font-size: 12px;
	}
}



/*========= ナビゲーションのためのCSS ===============*/

/*アクティブになったエリア*/
#g-nav.panelactive {
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position: fixed;
	z-index: 999;
	top: 0;
	width: 100%;
	height: 100vh;
}

/*丸の拡大*/
.circle-bg {
	position: fixed;
	z-index: 3;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: #e2fe4f;
	/*丸のスタート位置と形状*/
	transform: scale(0);
	/*scaleをはじめは0に*/
	right: -50px;
	top: -50px;
	transition: all .6s;
	/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive {
	transform: scale(10);
	/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list {
	display: none;
	/*はじめは表示なし*/
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list {
	display: block;
	/*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
	opacity: 0;
	/*はじめは透過0*/
	/*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
	position: absolute;
	z-index: 999;
	top: 27%;
	left: 50%;
	list-style-type: none;
	padding-left: 0;
	transform: translate(-50%, -50%);
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
	opacity: 1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li,
#g-nav.panelactive p {
	animation-name: gnaviAnime;
	animation-duration: 1s;
	animation-delay: .2s;
	/*0.2 秒遅らせて出現*/
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes gnaviAnime {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

#g-nav.panelactive #g-nav-list ul li:before {
	border-radius: 50%;
	/*丸くする*/
	width: 7px;
	/*点の幅*/
	height: 7px;
	/*点の高さ*/
	display: block;
	position: relative;
	/*絶対配置*/
	left: 0;
	/*点の位置*/
	top: 18px;
	/*点の位置*/
	content: "";
	background: #193fcd;
	/*点の色*/
}

/*リストのレイアウト設定*/
#g-nav li {
	text-align: center;
	list-style: none;
	line-height: 0.9rem;
}

#g-nav li a {
	color: #333;
	text-decoration: none;
	padding: 5px 24px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}


#g-nav .sns-follow {
	position: absolute;
	top: 70px;
	left: 250px;
}

#g-nav .sns-follow p {
	display: none;
	color: #FFF;
	writing-mode: vertical-lr;
	font-size: 80px;
	/* text-shadow: 0px 0px 1px #193fcd; */
}

#g-nav.panelactive .sns-follow p {
	display: block;
}

#g-nav .sns-follow ul {
	width: 50px;
	top: 210px;
	left: 105px;
}

#g-nav .sns-follow li {
	margin-bottom: 1rem;
}

#g-nav .sns-follow li a {
	display: none;
	padding: 0;
}

#g-nav.panelactive .sns-follow li a {
	display: block;
}

#g-nav li.two-row-navi {
	line-height: 1.2rem;
}


/*521px以上*/
@media screen and (min-width: 521px) {
	#g-nav ul {
		top: 220px;
		left: calc(100% - 160px);
	}

	#g-nav li a {
		padding: 6px 30px;
		font-size: 16px;
		white-space: nowrap;
	}

	#g-nav .sns-follow {
		display: none;
	}
}

/*========= ボタンのためのCSS ===============*/
.openbtn {
	position: fixed;
	top: -30px;
	right: -30px;
	z-index: 9999;
	cursor: pointer;
	width: 85px;
	height: 85px;
	background-color: #e5fe50;
	border: 1px solid #1843cb;
	border-radius: 50%;
}

.openbtn.active {
	border: none;
}

/*×に変化*/
.openbtn span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 20px;
	height: 6px;
	border-radius: 50%;
	background-color: #1843cb;
	width: 6px;
}

.openbtn span:nth-of-type(1) {
	top: 36px;
}

.openbtn span:nth-of-type(2) {
	top: 36px;
	left: 31px;
}

.openbtn span:nth-of-type(3) {
	top: 36px;
	left: 42px;
}

.openbtn span:nth-of-type(4) {
	top: 46px;
}

.openbtn span:nth-of-type(5) {
	top: 46px;
	left: 31px;
}

.openbtn span:nth-of-type(6) {
	top: 46px;
	left: 42px;
}

.openbtn span:nth-of-type(7) {
	top: 57px;
}

.openbtn span:nth-of-type(8) {
	top: 57px;
	left: 31px;
}

.openbtn span:nth-of-type(9) {
	top: 57px;
	left: 42px;
}

.openbtn.active span:nth-of-type(7) {
	top: 48px;
	left: 21px;
	transform: translateY(6px) rotate(-45deg);
	width: 35%;
}

.openbtn.active span:nth-of-type(2),
.openbtn.active span:nth-of-type(3),
.openbtn.active span:nth-of-type(4),
.openbtn.active span:nth-of-type(5),
.openbtn.active span:nth-of-type(6),
.openbtn.active span:nth-of-type(1),
.openbtn.active span:nth-of-type(8) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(9) {
	top: 60px;
	left: 21px;
	transform: translateY(-6px) rotate(45deg);
	width: 35%;
}

/*835px以上*/
@media screen and (min-width: 835px) {
	.openbtn {
		width: 130px;
		height: 130px;
	}


	.openbtn span {
		left: 37px;
		height: 11px;
		width: 11px;
	}

	.openbtn span:nth-of-type(1) {
		top: 45px;
	}

	.openbtn span:nth-of-type(2) {
		top: 45px;
		left: 57px;
	}

	.openbtn span:nth-of-type(3) {
		top: 45px;
		left: 77px;
	}

	.openbtn span:nth-of-type(4) {
		top: 64px;
	}

	.openbtn span:nth-of-type(5) {
		top: 64px;
		left: 57px;
	}

	.openbtn span:nth-of-type(6) {
		top: 64px;
		left: 77px;
	}

	.openbtn span:nth-of-type(7) {
		top: 83px;
	}

	.openbtn span:nth-of-type(8) {
		top: 83px;
		left: 57px;
	}

	.openbtn span:nth-of-type(9) {
		top: 83px;
		left: 77px;
	}

	.openbtn.active span:nth-of-type(7) {
		top: 68px;
		left: 40px;
		transform: translateY(6px) rotate(-45deg);
		width: 40%;
	}


	.openbtn.active span:nth-of-type(9) {
		top: 80px;
		left: 40px;
		transform: translateY(-6px) rotate(45deg);
		width: 40%;
	}
}


/************************************
**ページローディング
************************************/

.loading-0500,
.loading-1000,
.loading-1500,
.loading-2000,
.loading-2500,
.loading-3000,
.loading-4000,
.loading-5000,
.loading-6000,
.loading-7000 {
	display: none;
}



/************************************
**フェードイン
************************************/

.js-fade,
.js-fade2 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(50px);
	transition: opacity 1s, visibility 1s, transform 1s;
}

.scroll {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}


/************************************
**heading見出し調整
************************************/

.article h2 {
	border-right: none;
	border-left: none;
	border-radius: 0 50px 50px 0;
	width: 95%;
	margin: 10px 0 20px -16px;
	padding: 10px 20px 10px 50px;
}

.article h2::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/uploads/dist/icon/heading_icon.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	left: 15px;
	top: 30%;
}

.article h2:after {
	content: none;
}

.article h3 {
	margin-right: -30px;
	background-image: repeating-linear-gradient(125deg, #1843cb 0%, #1843cb 5%, #fbfcfe 5%, #fbfcfe 6%, #1843CB 6%, #1843cb 7%, #f6f6f6 -7%, #eceef8 100%);
	border-right: none;
	padding: 15px 15px 15px 30px;
	border-radius: 10px 0 0 10px;
}

@media screen and (max-width: 480px) {
	.article h3 {
		padding-left: 2em;
		margin-right: -16px;
	}
}

@media screen and (min-width: 835px) {

	.article h2 {
		margin: 10px 0 20px -30px;
		padding-left: 60px;
	}

	.article h2::before {
		width: 35px;
		height: 35px;
		left: 15px;
		top: 25%;
	}

	.article h3 {
		padding-left: 60px;
	}

}

/************************************
**LP言語変更用フローティングボタン
************************************/

.event_20231210 .language-button {
	position: fixed;
	top: 20px;
	right: 5px;
}

.event_20231210 .language-button button {
	width: 150px;
	height: 50px;
	background-color: white;
	border: 5px solid #0050fe;
	border-radius: 30px;
	font-size: 1.5rem;
	font-weight: bold;
}


/************************************
**LINEフッターバナー
************************************/


.footer_banner.pc {
	position: fixed;
	bottom: 10px;
	right: 10px;
}

.footer_banner.pc a:hover {
	opacity: 0.8;
}

.footer_banner.sp {
	position: fixed;
	bottom: -10px;
	left: 0;
	margin: 0;
}



/************************************
**画像にシャドウをつけて浮いてるように見せる
************************************/

.img-shadow {
	border-radius: 3px;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	width: 100%;
}



/************************************
**各種情報テーブル
************************************/

.court_custom_fields table tr:nth-of-type(2n),
table.tournament-info tr:nth-of-type(2n),
table.tournament-access tr:nth-of-type(2n) {
	background: none;
}

.court_custom_fields th,
table.tournament-info th,
table.tournament-access th {
	width: 25%;
	padding: 5px;
	background: #f7f7f7;
	color: #333;
	border-top: 1px solid #1843cb;
	border-bottom: 1px solid #1843cb;
	border-left: none;
	border-right: none;
}

.court_custom_fields table td,
table.tournament-info td,
table.tournament-access td {
	padding-left: 15px;
	border-top: 1px solid gray;
	border-bottom: 1px solid gray;
	border-left: none;
	border-right: none;
}

.court_custom_fields iframe {
	width: 100%;
}

.article ul.tournament-events {
	padding-left: 0;
	margin-bottom: 1.5em;
}

/************************************
**アーカイブのタイトルを最初だけ大文字に変更
************************************/
.archive-title {
	text-transform: capitalize;
}


/************************************
**サークル情報テーブル
************************************/
.circle_custom_fields th {
	width: 30%;
}


/************************************
**サークルロゴのサイズ調整
************************************/
.circle-logo {
	max-width: 50%;
	text-align: center;
}


/************************************
**コモンフッターセクション
************************************/
footer {
	position: relative;
	background-size: cover;
	background-position: center top;
	margin: 1vw 0 0;
	background-color: #1843cb;
	z-index: 1;
}

footer.article-footer.entry-footer {
	background-color: #fff;
}

.footer_wrapper {
	padding: 3vw 5vw 0.5vw;
}


.footer_icon {
	width: 40vw;
	margin: 5vw auto;
}

.footer_menu {
	display: flex;
	width: 100%;
	margin: 5vw auto 8vw;
}

.footer_category {
	float: left;
	width: 35%;
	margin: 0 auto;
}


.footer_menu .footer_category ul {
	padding-left: 5vw;
	list-style: none;
}

.footer_menu .footer_category.last ul {
	padding-left: 5vw;
}

.footer_menu .footer_category ul li {
	line-height: 6vw;
}

.footer_menu .footer_category ul li a {
	color: #FFF;
	text-decoration: none;
	font-size: 3vw;
	line-height: 0;
	cursor: pointer;
	/*ホバー時にカーソルの形状をポインターに*/
}

.footer_menu .footer_category ul li a:hover {
	opacity: 0.7;
}

.footer_credit {
	color: #FFF;
	text-align: center;
	font-size: 1.7vw;
}



@media screen and (min-width: 835px) {

	.footer_wrapper {
		padding: 2vw 10vw 0.5vw;
	}

	.footer_icon {
		width: 15vw;
		margin: 3vw auto;
	}

	.footer_menu {
		margin: 2vw auto 4vw;
		width: 65%;
	}


	.footer_menu .footer_category ul li {
		line-height: 40px;
	}

	.footer_menu .footer_category ul li a {
		font-size: 16px;
	}

	.footer_credit {
		font-size: 0.9vw;
	}
}



/************************************
 ************************************
**　　トップページ
************************************
************************************/

/************************************
**不要な要素を削除
************************************/
.page-id-785 .header {
	display: none;
}

.page-id-785 div#breadcrumb {
	display: none;
}

.page-id-785 .breadcrumb.pbp-main-before+.content {
	margin: 0;
}

.page-id-785 .navi {
	display: none;
}

.page-id-785 .content {
	margin: 0;
}

.page-id-785 .wrap {
	width: 100%;
}

.page-id-785 .main {
	width: 100%;
	margin: 0;
	padding: 0;
	border: none;
}

.page-id-785 .article {
	margin: 0;
}

.page-id-785 .article-header {
	display: none;
}

.page-id-785 .entry-content {
	margin: 0;
}

.page-id-785 .article-footer {
	display: none;
}


/************************************
**共通
************************************/

.page-id-785 .section_wrap {
	padding: 10vw 5vw;
}

.page-id-785 .head_area {
	position: relative;
	margin-bottom: 50px;
	z-index: 1;
}

.page-id-785 h2 {
	width: 100%;
	background: none;
	border-left: none;
	border-right: none;
	color: #1843cb;
	text-align: center;
	margin: 0;
	padding: 0 0 0.5vw;
	font-size: 6vw
}

.page-id-785 h2::before {
	content: none;
}

.page-id-785 h2:after {
	content: none;
}

.page-id-785 .h2_subtitle {
	text-align: center;
	font-weight: 800;
	margin: 0 auto;
	border-top: 3px solid #1843cb;
	font-size: 4vw;
	width: 45vw;
}

.page-id-785 ul {
	list-style-type: none;
	padding-left: 0;
}

.page-id-785 .navi_button_area {
	padding: 2vw 0 0;
	text-align: center;
}

.page-id-785 .navi_button_area button {
	font-size: 3vw;
	padding: 5px 10px;
	background-color: #f6f6f6;
	border: 1px solid lightgray;
	border-radius: 10px;
	box-shadow: 0 0 4px lightgray;
	-webkit-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Google Chrome、Safari*/
	-moz-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Firefox*/
	-ms-transition: all 0.3s ease;
	/*ふわっとさせる間隔 IE*/
	-o-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Opera*/
	transition: all 0.3s ease;
	/*ふわっとさせる間隔*/
	cursor: pointer;
	/*ホバー時にカーソルの形状をポインターに*/
}

.page-id-785 .navi_button_area button:hover {
	background-color: #d5dfff;
	/*背景色*/
	opacity: 0.7;
}

@media screen and (max-width: 1023px) {

	.mblt-footer-mobile-buttons,
	.mblt-header-and-footer-mobile-buttons {
		margin-bottom: 0;
	}

}

@media screen and (min-width: 521px) {
	.page-id-785 .section_wrap {
		max-width: 1200px;
		margin: 0 auto;
	}

	.page-id-785 .head_area {
		margin-bottom: 100px;
	}

	.page-id-785 h2 {
		font-size: 42px;
	}

	.page-id-785 .h2_subtitle {
		width: 25vw;
		min-width: 200px;
		max-width: 300px;
		font-size: 28px;
	}

	.page-id-785 .navi_button_area button {
		width: 25vw;
		font-size: 1.4vw;
	}

}

.tournament-table {
	border-collapse: collapse;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
	width: 100%;
}

.lesson-table {
	border-collapse: collapse;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
	width: 100%;
}

.lesson-table th,
.lesson-table td {
	padding: .5em;
	border-left: none;
	border-right: none;
	overflow: hidden;
}

.lesson-table th {
	border-top: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	background: none;
	color: #333;
}

.lesson-table td.lesson-name {
	text-overflow: ellipsis;
}

.lesson-table tr:nth-of-type(2n) {
	background: none;
}

.tournament-table th,
.tournament-table td {
	padding: .4em;
	border-left: none;
	border-right: none;
	overflow: hidden;
	line-height: 1.2;
}

.tournament-table th {
	border-top: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	background: none;
	color: #333;
}

.tournament-table td.tournament-name {
	text-overflow: ellipsis;
}

.tournament-table tr:nth-of-type(2n) {
	background: none;
}

/* tournament archive list column widths */
.tournament-table th:nth-child(1),
.tournament-table td:nth-child(1) {
	width: 15%;
}

.tournament-table th:nth-child(2),
.tournament-table td:nth-child(2) {
	width: 65px;
}

.tournament-table td:nth-child(2) img {
	width: 50px;
	height: 50px;
	object-fit: cover;
}

.tournament-table th:nth-child(3),
.tournament-table td:nth-child(3) {
	text-align: left;
}

.tournament-row {
	position: relative;
	cursor: pointer;
}

.court-table {
	border-collapse: collapse;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
	width: 100%;
}

.court-table th,
.court-table td {
	padding: .4em;
	border-left: none;
	border-right: none;
	overflow: hidden;
	line-height: 1.2;
}

.court-table th {
	border-top: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	background: none;
	color: #333;
}

.court-table td.court-name {
	text-overflow: ellipsis;
}

.court-table tr:nth-of-type(2n) {
	background: none;
}

.court-table th:nth-child(3),
.court-table td:nth-child(3) {
	width: 80px;
}

.pref-label {
	display: inline-block;
	width: 45px;
	margin-top: 2px;
	padding: 2px;
	background: #0273aa;
	color: #fff;
	font-size: 10px;
	border-radius: 3px;
	line-height: 1.2;
}

.tournament-info .tournament-name {
	font-size: 14px;
	font-weight: bold;
}

.tournament-info .venue,
.tournament-info .format-tags {
	font-size: 10px;
}

.event-info .tournament-name,
.tournament-info .venue {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ----- Event archive list styles ----- */
.event-table {
	border-collapse: collapse;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
	width: 100%;
}

.event-table th,
.event-table td {
	padding: .4em;
	border-left: none;
	border-right: none;
	overflow: hidden;
	line-height: 1.2;
}

.event-table th {
	border-top: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	background: none;
	color: #333;
}

.event-table td.event-name {
	text-overflow: ellipsis;
}

.event-table tr:nth-of-type(2n) {
	background: none;
}

.event-table th:nth-child(1),
.event-table td:nth-child(1) {
	width: 15%;
}

.event-table th:nth-child(2),
.event-table td:nth-child(2) {
	width: 65px;
}

.event-table td:nth-child(2) img {
	width: 50px;
	height: 50px;
	object-fit: cover;
}

.event-table th:nth-child(3),
.event-table td:nth-child(3) {
	text-align: left;
}

.event-table th:nth-child(4),
.event-table td:nth-child(4) {
	width: 85px;
}

.event-table th:nth-child(4) {
	font-size: 80%;
}

.event-table th:nth-child(5),
.event-table td:nth-child(5) {
	width: 80px;
}

.event-row {
	position: relative;
	cursor: pointer;
}

.court-row {
	position: relative;
	cursor: pointer;
}

.event-info div {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.event-info .event-name {
	font-size: 14px;
	font-weight: bold;
}

.event-info .venue,
.event-info .detail {
	font-size: 10px;
}

.format-tags {
	margin-top: 4px;
}

.format-tags .format {
	display: inline-block;
	padding: 0 4px;
	margin-right: 2px;
	background: #e0e0e0;
	font-size: 10px;
	border-radius: 3px;
	width: 16.3%;
	text-align: center;
	opacity: 0.4;
}

.format-tags .format .sp {
	display: none;
}

.format-tags .format.active.ms {
	background: #6699ff;
}

.format-tags .format.active.md {
	background: #9acaff;
}

.format-tags .format.active.ws {
	background: #ff80c5;
}

.format-tags .format.active.wd {
	background: #ffb3d6;
}

.format-tags .format.active.xd {
	background: #d2b4ff;
}

.format-tags .format.active.tc {
	background: #ffc299;
}

.format-tags .format.active {
	opacity: 1;
}

@media screen and (max-width: 600px) {
	.format-tags .format .pc {
		display: none;
	}

	.format-tags .format .sp {
		display: inline;
		font-size: 10px;
	}
}


/*セクションディバイダー*/

.skewed {
	position: relative;
	top: -35px;
	width: 100%;
	height: 100px;
	background: #1843cb;
	z-index: 0;
	transform: skewY(7deg);
	transform-origin: top right;
}


@media screen and (min-width: 835px) {

	.skewed {
		height: 250px;
		top: -50px;
	}

}



/************************************
**TOPヘッダー
************************************/

.page-id-785 #navi-area {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-100px);
	transition: opacity 1s, visibility 1s, transform 1s;
}

.page-id-785 #navi-area.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}


/************************************
**MVセクション
************************************/
.page-id-785 header {
	width: 100%;
	position: fixed;
	background-color: #0240d6;
}

section#mv_area {
	position: relative;
	height: 320vw;
	background-color: #1843cb;
	overflow: hidden;
}

section#mv_area a {
	color: #fff;
}

section#mv_area a:hover {
	opacity: 0.8;
	z-index: 1
}

.page-id-785 h1 {
	position: relative;
	margin-top: 40vw;
	padding: 5vw 0;
	display: inline-block;
	z-index: 10;
}

.mv_text {
	position: relative;
	width: 75%;
	margin: 60vw 0;
	color: #f6f6f6;
	z-index: 10;
}

.mv_text p {
	margin-bottom: 10vw
}

.mv_circle {
	position: absolute;
	width: 22vw;
	height: 22vw;
	border-radius: 50%;
	background-position: center;
	z-index: 1;
}

.mv_circle.first {
	background-image: url("/wp-content/uploads/dist/top-mv/top_circle20.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	top: 4vw;
	left: 8vw;
	width: 30vw;
	height: 30vw;
}

.mv_circle.second {
	background-image: url("/wp-content/uploads/dist/top-mv/top_circle21.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	top: 23vw;
	right: -3vw;
	overflow: hidden;
}

.mv_circle.third {
	background-image: url("/wp-content/uploads/dist/top-mv/top_circle22.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	top: 80vw;
	left: 30vw;
	width: 50vw;
	height: 50vw;
}

.mv_circle.forth {
	background-image: url("/wp-content/themes/cocoon-child-master/dist/top_circle1-160.png");
	background-repeat: no-repeat;
	background-size: cover;
	top: 195vw;
	left: 47vw;
	width: 40vw;
	height: 40vw;
}

.mv_circle.fifth {
	background-image: url("/wp-content/themes/cocoon-child-master/dist/top_circle2-140.png");
	background-repeat: no-repeat;
	background-size: cover;
	top: 232vw;
	left: 5vw;
	width: 35vw;
	height: 35vw;
}

.mv_circle.sixth {
	background-image: url("/wp-content/uploads/dist/top-mv/top_circle3-200.png");
	background-repeat: no-repeat;
	background-size: cover;
	top: 263vw;
	right: 3vw;
	width: 50vw;
	height: 50vw;
}


@media screen and (min-width: 835px) {

	section#mv_area {
		height: 130vw;
	}

	section#mv_area .section_wrap {
		padding: 10vw;
	}

	.page-id-785 h1 {
		margin: 8vw 0 2vw;
	}

	.mv_text {
		width: 50%;
		margin: 10vw 0;
	}

	.mv_text p {
		margin-bottom: 30px
	}

	.mv_circle.first {
		top: 2%;
		left: calc(50% - 25vw);
		width: 15vw;
		height: 15vw;
	}

	.mv_circle.second {
		top: 8%;
		right: calc(50% - 25vw);
		width: 12vw;
		height: 12vw;
	}

	.mv_circle.third {
		top: calc(50% - 27vw);
		left: calc(50% + 2vw);
		width: 21vw;
		height: 21vw;
	}

	.mv_circle.forth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle1-250.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 4vw);
		left: calc(50% - 17vw);
		width: 16vw;
		height: 16vw;
	}

	.mv_circle.fifth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle2-200.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 30vw);
		left: calc(50% - 11vw);
		width: 14vw;
		height: 14vw;
	}

	.mv_circle.sixth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle3-333.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 39vw);
		right: calc(50% - 37vw);
		width: 22vw;
		height: 22vw;
	}

	.mv_circle.seventh {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle17-140.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% - 24vw);
		left: calc(50% - 35vw);
		width: 10vw;
		height: 10vw;
	}

	.mv_circle.eighth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle18-100.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: 30vw;
		right: calc(50% - 44vw);
		width: 7vw;
		height: 7vw;
		overflow: hidden;
	}

	.mv_circle.nineth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle19-200.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% - 2vw);
		right: calc(50% - 45vw);
		width: 13vw;
		height: 13vw;
	}

	.mv_circle.tenth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle10-125.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 24vw);
		left: calc(50% + 41vw);
		width: 9vw;
		height: 9vw;
	}

	.mv_circle.eleventh {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle11-125.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 21vw);
		left: calc(50% - 36vw);
		width: 8vw;
		height: 8vw;
	}

	.mv_circle.twelfth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle12-100.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 17vw);
		right: calc(50% - 22vw);
		width: 7vw;
		height: 7vw;
	}

	.mv_circle.thirteenth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle13-180.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% - 3vw);
		left: calc(50% - 50vw);
		width: 12vw;
		height: 12vw;
	}

	.mv_circle.fourteenth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle23.jpg");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% + 44vw);
		left: calc(50% - 44vw);
		width: 11vw;
		height: 11vw;
	}

	.mv_circle.fifteenth {
		background-image: url("/wp-content/uploads/dist/top-mv/top_circle15-140.png");
		background-repeat: no-repeat;
		background-size: cover;
		top: calc(50% - 47vw);
		left: calc(50% - 48vw);
		width: 10vw;
		height: 10vw;
	}
}

/************************************
**ECstoreセクション
************************************/
.skewed.first {
	margin-bottom: 0;
}

.skewed.fifth {
	height: 450px;
	background-color: #eee;
}

.page-id-785 section#ec {
	position: relative;
	margin-top: -510px;
	margin-bottom: 100px;
}


@media screen and (min-width: 825px) {
	.skewed.fifth {
		height: 830px;
		background-color: #eee;
	}

	.page-id-785 section#ec {
		position: relative;
		margin-top: -1000px;
		margin-bottom: 200px;
	}
}


/************************************
**ピックアップセクション
************************************/
.page-id-785 section#pickup {
	background-image: url(/wp-content/uploads/2024/02/bgimg_pickup_sp.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin-top: -5vw;
}

@media screen and (min-width: 825px) {
	.page-id-785 section#pickup {
		background-image: url(/wp-content/uploads/2024/02/bgimg_pickup_pc.png);
		margin-top: -120px;
	}
}


/************************************
**レッスンセクション
************************************/

.skewed.forth {
	top: 20vw;
	width: 100%;
	height: 115vw;
	background: #f6f6f6;
	margin-bottom: 0;
}

.page-id-785 section#lesson {
	position: relative;
	margin-top: -100vw;
	z-index: 1;
}


@media screen and (min-width: 825px) {
	.skewed.forth {
		top: 10vw;
		height: 105vw;
	}
}


/************************************
**フェイヴァリットセクション
************************************/
.skewed.second {
	top: 15vw;
	width: 100%;
	height: 480px;
}

.page-id-785 section#favorite {
	position: relative;
	margin-top: -430px;
}

.page-id-785 section#favorite h2 {
	color: #FFF;
}

.page-id-785 section#favorite .h2_subtitle {
	position: relative;
	color: #FFF;
	border-top: 3px solid #FFF;
}



.top_ec_banner {
	margin: -30px 0 10px;
	text-align: center;
}

.top_ec_banner img {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

.recommend {
	margin-top: -8vw;
	display: flex;
}

.recommend p {
	text-align: center;
	color: #FFF;
}

.top_sns_banner {
	margin: 0 1%;
}

@media screen and (min-width: 825px) {
	.skewed.second {
		height: 800px;
	}

	.page-id-785 section#favorite {
		position: relative;
		margin-top: -720px;
		z-index: 1;
	}

	.page-id-785 section#pickup .section_wrap {
		max-width: 1420px;
	}

	.top_ec_banner {
		margin: -60px 0 0;
	}

	.recommend {
		margin: 0 auto;
		text-align: center;
		display: flex;
		max-width: 800px;
	}

	.recommend p {
		font-size: 1.5vw;
	}
}


/************************************
**ポストセクション
************************************/
.page-id-785 section#posts {
	background-image: url(/wp-content/uploads/2024/02/bgimg_post_sp.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin: -10vw 0 0;
}

@media screen and (min-width: 825px) {
	.page-id-785 section#posts {
		background-image: url(/wp-content/uploads/2024/02/bgimg_post_pc.png);
		margin-top: -20vw;
	}
}

#posts .head_area {
	margin-top: 20vw;
}

.page-id-785 .left_half_area {
	display: block;
	width: 100%;
	padding: 0;
	margin-bottom: 10vw;
	float: none;
}

.page-id-785 .right_half_area {
	display: block;
	width: 100%;
	padding: 0;
	margin-bottom: 10vw;
	float: none;
}

.page-id-785 .article h3 {
	background: none;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #1843cb;
	text-align: center;
	margin: 5vw auto 2vw;
	font-size: 4vw;
	width: 70vw;
}

.page-id-785 ul.post_list li {
	display: block;
	height: 17.5vw;
	color: #000;
	margin: 15px;
	background-color: rgba(255, 255, 255, 0.7);
	-webkit-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Google Chrome、Safari*/
	-moz-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Firefox*/
	-ms-transition: all 0.3s ease;
	/*ふわっとさせる間隔 IE*/
	-o-transition: all 0.3s ease;
	/*ふわっとさせる間隔 Opera*/
	transition: all 0.3s ease;
	/*ふわっとさせる間隔*/
	cursor: pointer;
	/*ホバー時にカーソルの形状をポインターに*/
}

.page-id-785 ul.post_list li:hover {
	background-color: #d5dfff;
	/*背景色*/
	opacity: 0.7;
}

.page-id-785 ul.post_list li:last-child {
	border-bottom: none;
}

.page-id-785 section#posts img {
	width: 28vw;
	float: left;
	max-height: 70px;
}

.page-id-785 .post_title {
	float: left;
	width: 53vw;
	font-size: 3vw;
	padding-left: 2vw;
}

.page-id-785 section#posts .navi_button_area {
	padding: 0 0 5vw;
}

.page-id-785 section#posts button {
	padding: 0.5vw 1.5vw;
	width: 30vw;
	font-size: 3vw;
}


@media screen and (min-width: 835px) {
	.page-id-785 .left_half_area {
		display: inline-block;
		width: 45%;
		height: 35vw;
		padding: 0 1vw 1vw 0;
		margin-bottom: 0;
	}

	.page-id-785 section#posts img {
		width: 10vw;
		max-width: 140px;
		max-height: 75px;
		object-fit: cover;
		/* アスペクト比を維持しつつ枠全体をカバー */
		object-position: top;
	}

	.page-id-785 ul.post_list li {
		height: 75px;
	}

	.page-id-785 .post_title {
		padding-left: 1vw;
		width: 65%;
		font-size: 15px;
		line-height: 1.5;
	}

	.page-id-785 .right_half_area {
		width: 45%;
		height: 35vw;
		padding: 0 0 2vw 1vw;
		margin-bottom: 0;
		float: right;
	}

	.page-id-785 .article h3 {
		margin-top: 0;
		width: 90%;
		font-size: 20px;
	}

	.page-id-785 section#posts button {
		width: 15vw;
		font-size: 1vw;
	}
}


/************************************
**コートマップセクション
************************************/

.page-id-785 .skewed.third {
	display: none;
	top: 10vw;
	width: 100%;
	height: 140vw;
	background-color: #f6f6f6;
}

.page-id-785 section#jmap {
	display: none;
	position: relative;
	background-image: url(/wp-content/uploads/2024/02/bgimg_map_sp.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin: -135vw 0 0;
	z-index: 1;
}

.page-id-785 .court_map_japan {
	width: 100%;
	margin: 2vw auto 0;
}

.page-id-785 .court_map_japan img {
	box-shadow: 0 0 4px gray;
}

@media screen and (min-width: 835px) {

	.page-id-785 .skewed.third {
		top: 0;
		height: 1400px;
	}

	.page-id-785 section#jmap {
		background-image: url(/wp-content/uploads/2024/02/bgimg_map_pc.png);
		margin-top: -1300px;
	}

	.page-id-785 section#jmap .section_wrap {
		padding: 0 5vw 7vw;
	}

}


/************************************
**アイテムセクション
************************************/
.page-id-785 section#items {
	background-image: url(/wp-content/uploads/2024/02/bgimg_item_sp.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin: 0;
	display: none;
}

@media screen and (min-width: 835px) {
	.page-id-785 section#items {
		background-image: url(/wp-content/uploads/2024/02/bgimg_item_pc.png);
	}
}


/************************************
**MVVセクション
************************************/
.page-id-785 section#greeting {
	/**	background-image: url(/wp-content/uploads/2024/02/bgimg_greeting_pc.png);**/
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin: 20vw 0 15vw;
}

.page-id-785 .text_area {
	width: 90%;
	font-size: 3.5vw;
	margin: 10px auto;
	text-align: center;
}

.page-id-785 .text_area p span {
	font-size: 4.5vw;
	font-weight: 800;
}


@media screen and (min-width: 835px) {

	.page-id-785 section#greeting {
		margin: 10vw 0 5vw;
	}

	.page-id-785 .text_area {
		width: 80%;
		font-size: 1.4vw;
	}

	.page-id-785 .text_area p span {
		font-size: 2vw;
	}
}

.page-id-785 footer {
	margin: 0;
}

/************************************
**Splide
************************************/

.splide {
	margin: 3vw auto;
}

.splide__slide {
	text-align: center;
}

/* スライド共通のスタイル */
#pickup_slider .splide__slide img {
	opacity: .3;
	/* 左右のスライドを薄くする */
	transform: scale(.8);
	/* 左右のスライドを小さくする */
	transition: .7s;
	/* ゆっくり小さくさせる */
}

/* アクティブなスライドのスタイル */
#pickup_slider .splide__slide.is-active img {
	opacity: 1;
	/* 中央のスライドは薄くしない */
	transform: scale(1);
	/* 中央のスライドは小さくしない */
	z-index: 1;
	/* 中央のスライドを一番上にする */
	overflow: visible;
}

/* スライドのサイズ調整 */
#pickup_slider .splide__slide img {
	height: auto;
	width: 100%;
}

#pickup_slider button svg {
	transform: scale(.5);
}

#pickup_slider button.splide__arrow.splide__arrow--prev {
	transform: scale(-1, 1);
	display: grid;
	place-content: center;
	cursor: pointer;
	transition: var(--transition);
	background-color: #f6f6f6;
	border: 1px solid lightgray;
	border-radius: 50%;
	height: 30px;
	width: 30px;
	position: absolute;
	z-index: 10;
	top: 0;
	bottom: 2.5vw;
	right: calc(100% + -3.5vw);
	margin: auto;
}

#pickup_slider button.splide__arrow.splide__arrow--next {
	display: grid;
	place-content: center;
	cursor: pointer;
	transition: var(--transition);
	background-color: #f6f6f6;
	border: 1px solid lightgray;
	border-radius: 50%;
	height: 30px;
	width: 30px;
	position: absolute;
	z-index: 10;
	top: 0;
	bottom: 2.5vw;
	left: calc(100% + -3.5vw);
	margin: auto;
}

/* 選択されていないサムネイルは薄くする */
#favorite .splide__slide {
	opacity: .6;
}

/* 選択されているサムネイルだけ透過しない */
#favorite .splide__slide.is-active {
	opacity: 1;
}

/* 画像サイズ調整 */
#favorite .splide__slide img {
	height: auto;
	width: 100%;
}

/* スライダーの幅 */
#favorite .wrapper {
	margin-inline: auto;
	max-width: 500px;
	width: 100%;
}

#favorite .splide__arrows.splide__arrows--ltr {
	display: none;
}


@media screen and (max-width: 834px) {
	.splide {
		width: 100%;
	}

	#favorite .splide {
		width: 100%;
	}

	.event-table th:nth-child(4),
	.event-table td:nth-child(4),
	.event-table th:nth-child(5),
	.event-table td:nth-child(5) {
		display: none;
	}
}





/************************************
**event search
************************************/

.event-search {
	margin: 20px -20px;
	padding: 20px 50px;
	background-color: #eceef8;
	text-align: center;
}

.event-search .vkfs__taxonomy .vkfs__label-name {
	display: block;
}

.event-search .vkfs:where(:not(.vkfs__layout--min)) .btn[type=submit] {
	width: 70%;
}

.event-search.sidebar {
	width: 100%;
	padding: 0;
	margin: 0;
	background: none;
}

.event-search.sidebar h2 {
	text-align: left;
}

.event-search.sidebar .vkfs:where(:not(.vkfs__layout--min)) .btn[type=submit] {
	margin-top: 0;
}

p.event-search-result-txt {
	margin: 0 20px 30px;
	text-align: center;
}

p.event-search-result-txt span {
	font-weight: 600;
	color: #1843cb;
	font-size: 150%;
	padding: 0 5px;
}

@media screen and (min-width: 835px) {
	.event-search {
		margin: 20px;
		padding: 30px 10% 10px;
	}
}


/************************************
**event archive
************************************/

h1.event-h1 {
	font-size: 24px;
	border-bottom: 6px double #1843cb;
	margin: 0 -16px 24px;
	padding: 0 1.2em 0.4em;
	text-align: center;
}

.card-post-archive .entry-card-wrap {
	position: relative;
	margin-bottom: 30px;
	border-radius: 10px;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.35);
	padding: 12px 16px 18px;
}

.card-post-archive .post-card {
	border: 1px solid #ddd;
	padding: 15px;
	margin-bottom: 20px;
	background-color: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
}


.card-post-archive a {
	color: #333333;
	text-decoration: none;
}


.card-post-archive .post-card-title {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
	white-space: nowrap;
}

.card-post-archive .post-card-title h3 {
	line-height: 1.0em;
	background: none;
	border: none;
	padding: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.card-post-archive img {
	width: 100%;
}

.post-card-thumbnail.sp-thumb img {
	max-height: 150px;
	object-fit: cover;
	object-position: 0 0;
	border-radius: 10px 10px 0 0;
}

main#members .post-card-thumbnail.sp-thumb img {
	border-radius: 10px 0 0 0;
}

.card-post-archive .post-card-location {
	background-color: #0073aa;
	color: white;
	font-size: 80%;
	min-width: 85px;
	padding: 2px 10px;
	border-radius: 10px 0;
	position: absolute;
	text-align: center;
	top: 0;
	left: 0;
	z-index: 2;
}

.card-post-archive .event-status-info {
	display: flex;
	justify-content: center;
	margin: 0px -16px;
}

@media screen and (max-width: 834px) {
	.card-post-archive .event-status-info.pc {
		display: none;
	}
}

@media screen and (min-width: 835px) {
	.card-post-archive .event-status-info.sp {
		display: none;
	}
}

.card-post-archive .status {
	width: 50%;
	margin: 0 auto;
	text-align: center;
	font-weight: 600;
	color: #FFF;
}

.card-post-archive .status.participant-event-status {
	background-color: #1843cb;
}

.status.participant-recruitment-status {
	background-color: orangered;
}

.card-post-archive .post-card-thumbnail {
	flex: 1;
	margin-left: -16px;
	margin-right: -16px;
}

.card-post-archive .post-card-details {
	flex: 2;
}

.post-card-details .event-tagline,
.post-card-details .tournament-tagline {
	font-size: 14px;
	line-height: 1.2;
	padding: 5px;
}

.card-post-archive table {
	margin-bottom: 5px;
	font-size: 16px;
	line-height: 1.3;
	text-align: center;
}

.card-post-archive table th {
	background: none;
	color: #333333;
	width: 30%;
}

.card-post-archive table:not(.has-border-color) :where(th, td) {
	border-left: none;
	border-right: none;
}

.card-post-archive table tr:nth-of-type(2n) {
	background: none;
}

.card-post-archive .post-card-details p {
	margin: 0 0 10px;
}

.card-post-archive .post-card-links {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	margin-top: 14px;
}

.card-post-archive .map-btn-area {
	float: right;
	position: relative;
	margin-top: -17px;
}

.card-post-archive a.btn-map {
	background: #1843cb;
	color: #FFF;
	padding: 3.5px 6px;
	font-size: 80%;
	border-radius: 5px;
}

.card-post-archive a.link-tel,
.card-post-archive a.link-mail {
	color: #1967d2;
	text-decoration: underline;
}

.card-post-archive .btn-apply,
.btn-details {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: 5px;
	text-decoration: none;
	color: white;
}

.card-post-archive .btn-apply {
	background-color: #28a745;
	margin: 5px 0;
}

.card-post-archive .btn-details {
	background-color: #0073aa;
	color: #fff;
}



@media screen and (min-width: 835px) {

	h1.event-h1 {
		font-size: 32px;
	}

	.card-post-archive .post-card-title {
		margin-bottom: 7px;
		margin-left: 30px;
	}

	.my-hosted-events .card-post-archive .post-card-title {
		margin-top: 8px;
		margin-left: 80px;
	}

	.card-post-archive .post-card-location {
		top: 0;
		left: 0;
	}

	.card-post-archive .post-card-content {
		display: flex;
	}

	.card-post-archive .post-card-thumbnail {
		margin-top: 15px;
		margin-left: 0;
		margin-right: 20px;
	}

	.card-post-archive table {
		font-size: 13px;
		line-height: 1.1;
	}

	.card-post-archive .post-card-links {
		flex-direction: row;
		margin: 15px 20% 5px;
	}

	.card-post-archive .btn-details {
		width: 250px;
		margin: 0 5px;
		padding: 5px;
	}

	.card-post-archive .btn-apply {
		width: 250px;
		margin: 0 5px;
		padding: 5px;
	}

}

@media only screen and (max-width: 835px) {
	h3.post-card-title {
		/* white-space: nowrap; */
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
		display: inline-block;
		font-size: 16px;
		line-height: 1.3;
	}
}

.event-tagline,
.tournament-tagline {
	font-weight: bold;
	color: #006cff;
}

/************************************
**contact form buttom
************************************/

.wpcf7-submit:disabled {
	background: #999;
}



/************************************
**pagination
************************************/
nav.navigation.pagination {
	font-size: 12px;
}

.page-numbers {
	width: 34px;
	height: 34px;
	line-height: 30px;
}

.pagination .current {
	font-size: 120%;
	width: 38px;
	height: 40px;
	line-height: 34px;
}

.article h2.screen-reader-text {
	display: none;
}



/************************************
**event form for user
************************************/



.entry-content #wpmem_login,
.entry-content #wpmem_msg,
.entry-content #wpmem_reg,
.entry-content .wpmem_msg {
	width: 60%;
	margin: 0 auto;
}

@media only screen and (max-width: 835px) {

	.entry-content #wpmem_login,
	.entry-content #wpmem_msg,
	.entry-content #wpmem_reg,
	.entry-content .wpmem_msg {
		width: 100%;
	}
}

.customForm input,
.customForm select {
	margin-bottom: 20px;
}

input[type=datetime-local] {
	padding: 11px;
	border: 1px solid var(--cocoon-basic-border-color);
	border-radius: var(--cocoon-basic-border-radius);
	font-size: inherit;
	width: 100%;
}


/************************************
** members dashboard
************************************/

main#members .members-content {
	width: 100%;
	margin: 55px auto 0;
	box-sizing: border-box;
	font-family: sans-serif;
}

/* サイドメニューはスマホでは非表示にする（必要ならdisplay:none;） */
main#members .sidebar-nav {
	display: none;
}

/* メインコンテンツは全幅 */
main#members .members-main {
	width: 100%;
	padding-bottom: 70px;
}

main#members .members-content h2 {
	background: none;
	color: #333333;
	border-bottom: 2px solid #1843cb;
	border-radius: 0;
	padding: 5px 5px 5px 47px;
	width: 250px;
	margin: 5px 0 15px -20px;
	white-space: nowrap;
}

main#members .article .members-content h2::before {
	display: none;
}

/* イベント投稿のフローティングボタン */
.floating-event-posting,
.floating-event-searching {
	position: fixed;
	bottom: 59px;
	left: 10px;
	width: 65px;
	height: 65px;
	background: #fbfcfe;
	border: 3px solid #1843cb;
	border-radius: 50%;
	padding: 4px;
	text-align: center;
}

.floating-event-posting:hover {
	opacity: 0.5;
}

.floating-event-posting span,
.floating-event-searching span {
	display: inherit;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.2;
}

.floating-event-posting img,
.floating-event-searching img {
	width: 25px;
	height: 25px;
}

.floating-event-searching {
	left: 85px;
}

/* フッターのボトムナビはスマホ用 */

main#members footer.members-footer {
	bottom: 0;
	position: fixed;
	left: 0;
	width: 100%;
}

main#members footer.members-footer .bottom-nav ul {
	display: flex;
	justify-content: space-around;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 10px;
	background-color: #333333;
	color: white;
}

main#members footer.members-footer .bottom-nav li {
	flex: 1;
	text-align: center;
	width: 70px;
}

main#members footer.members-footer .bottom-nav li img {
	width: 30px;
	height: 30px;
}

main#members footer.members-footer .bottom-nav a {
	display: block;
	padding: 3px 0 0;
	text-decoration: none;
	font-weight: bold;
	color: white;
}

/* ...お知らせやカレンダーなどの各ブロックの基本デザイン... */
main#members .notice-block,
main#members .calendar-block,
main#members .event-block,
main#members .tournament-block,
main#members .court-block,
main#members .user-block,
main#members .event-list-block,
main#members .account-setting-block,
main#members .participant-management-block,
main#members .event-edit-block,
main#members .tournament-edit-block,
main#members .members-access-denied {
	margin: 10px 0 10px 10px;
	padding: 10px 0 10px 10px;
	border-radius: 4px;
	background-color: white;
}

main#members .notice-block,
main#members .participant-management-block,
main#members .event-edit-block,
main#members .tournament-edit-block,
main#members .members-access-denied {
	padding-right: 15px;
}

main#members .notice-block .notice-content {
	display: none;
}

main#members .notice-block .js-accordion-toggle {
	cursor: pointer;
	/* 必要なら矢印アイコンを擬似要素で追加 */
}

main#members .notice-block .js-accordion-toggle.is-open+.notice-content {
	display: block;
}

/* アイコンの初期スタイル */
.notice-block .js-notice-toggle .accordion-icon {
	display: inline-block;
	margin-left: 0.5em;
	transition: transform 0.3s ease;
}

/* 開いた状態で180度回転 */
.notice-block .js-notice-toggle.is-open .accordion-icon {
	transform: rotate(180deg);
}

main#members .notice-block ul li {
	border-bottom: 1px dashed lightgray;
	font-size: 12px;
}

main#members .notice-block ul li::marker {
	content: "✅";
}

main#members .event-content,
main#members .tournament-content,
main#members .court-content,
main#members .user-content {
	padding: 10px 10px 10px 0;
}

main#members .event-wrapper {
	max-width: 1460px;
}

main#members .event-table,
main#members .tournament-table,
main#members .court-table {
	border-collapse: collapse;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
}

main#members .event-table th,
.event-table td,
main#members .tournament-table th,
.tournament-table td,
main#members .court-table th,
.court-table td {
	padding: .5em;
	border-left: none;
	border-right: none;
	overflow: hidden;
}

main#members .event-table th,
main#members .tournament-table th,
main#members .court-table th {
	border-top: 1.5px solid #333;
	border-bottom: 1.5px solid #333;
	color: #333;
	background: none;
	border-left: none;
	border-right: none;
	width: 50px;
}

main#members .event-table td.event-name,
main#members .tournament-table td.event-name,
main#members .court-table td {
	text-overflow: ellipsis;
}

main#members .event-table th span,
main#members .tournament-table th span,
main#members .court-table th span {
	font-size: 85%;
}

main#members .event-table td span,
main#members .tournament-table td span,
main#members .court-table td span {
	font-size: 80%;
}

main#members table.event-table tr:nth-of-type(2n),
main#members table.tournament-table tr:nth-of-type(2n),
main#members table.court-table tr:nth-of-type(2n) {
	background: none;
}

main#members .event-table th:nth-last-child(3) {
	width: 65%;
}

main#members .event-table th:nth-last-child(1) {
	width: 60px;
}

main#members .tournament-table th:nth-last-child(1) {
	width: 65%;
}

main#members .tournament-table th:nth-last-child(3) {
	width: 15%;
}

main#members .more-events {
	text-align: right;
}

p.fav-desc {
	font-size: 70%;
}

main#members .court-table th:nth-child(1) {
	width: 60%;
}

@media screen and (min-width: 835px) {
	main#members .court-table th:nth-child(1) {
		width: 50%;
	}
}

main#members .court-table th:nth-last-child(1) {
	width: 10px;
}

main#members .court-table td span.dashicons.dashicons-star-filled {
	font-size: 150%;
}

main#members .court-table td span.favorite-label {
	display: none;
}

section.ad-members.ad-3column-right {
	display: none;
}

@media screen and (min-width: 520px) and (max-width: 834px) {

	/* 必要に応じて、レイアウトを少し広げるなど */
	main#members .members-content {
		padding: 20px;
	}

	/* サイドメニューはこの段階でも非表示のままにしておく */
	main#members .sidebar-nav {
		display: none;
	}

	/* お知らせとカレンダーを横並びにする等、レイアウト微調整 */
	main#members .notice-block,
	main#members .calendar-block {
		width: calc(50% - 10px);
		display: inline-block;
		vertical-align: top;
	}

	main#members .notice-block,
	main#members .members-access-denied {
		width: 97%;
		margin-right: 10px;
		padding: 0 20px 0;
	}

	main#members .event-block,
	main#members .tournament-block,
	main#members .court-block,
	main#members .user-block {
		width: 100%;
		margin-top: 20px;
	}

	main#members .event-table th span,
	main#members .tournament-table th span {
		font-size: 100%;
	}
}

@media screen and (min-width: 835px) {
	html#members {
		height: 100%;
	}

	body#members {
		height: 100%;
	}

	body#members .cat-members.loading-1000 {
		height: 100%;
	}

	body#members div#container {
		height: 100%;
	}

	main#members {
		height: 100%;
	}

	main#members article#post- {
		height: 100%;
	}

	main#members .entry-content.cf {
		height: 100%;
	}

	main#members .members-content {
		height: 100%;
		margin-top: 85px;
	}

	main#members .members-wrapper {
		height: 100%;
		display: flex;
		/* サイドメニュー + メインコンテンツの横並び */
	}

	main#members .sidebar-nav {
		position: fixed;
		display: block;
		width: 250px;
		height: 100%;
		margin: -12px 20px 0 0;
		background-color: #333333;
		font-size: 80%;
	}

	main#members .sidebar-nav ul {
		list-style: none;
		padding: 0;
		margin: 15px 0px;
	}

	main#members .sidebar-nav li {
		margin-bottom: 10px;
	}

	main#members .sidebar-nav li.indent {
		padding-left: 35px;
		margin-top: -10px;
	}

	main#members .sidebar-nav a {
		display: block;
		padding: 8px;
		background: #333333;
		text-decoration: none;
		color: #fff;
		border-radius: 4px;
	}

	main#members .sidebar-nav a:hover {
		opacity: 0.5;
	}

	main#members .sidebar-nav img {
		position: relative;
		top: -3px;
		width: 20px;
		height: 20px;
		margin-right: 15px;
	}

	main#members .members-main {
		flex: 1;
		/* 残りの幅をメインコンテンツに */
		margin-left: 270px;
	}

	/* ボトムナビはPCでは非表示にする例 */
	main#members .members-footer .bottom-nav {
		display: none;
	}

	/* PC表示用のレイアウト調整 */
	main#members .notice-block,
	main#members .calendar-block {
		width: calc(50% - 10px);
		display: inline-block;
		vertical-align: top;
	}

	main#members .notice-block,
	main#members .members-access-denied {
		width: 97%;
		max-width: 1420px;
		margin: 0 10px 10px;
	}

	/*
	main#members .event-wrapper {
		display: inline-block;
	}
	*/
	main#members .event-block,
	main#members .tournament-block,
	main#members .court-block,
	main#members .user-block {
		width: 97%;
		min-height: 250px;
		display: block;
		margin: 20px 10px;
	}

	main#members .event-block:nth-child(4),
	/* 1つ目のevent-block */
	main#members .tournament-block:nth-child(4) {
		margin-right: 10px;
		margin-top: 20px;
	}

	main#members .event-block:nth-child(5),
	/* 2つ目のevent-block */
	main#members .tournament-block:nth-child(5) {
		margin-top: 20px;
	}

	main#members .event-table th,
	main#members .tournament-table th {
		width: 80px;
	}

	main#members .event-table th span,
	main#members .tournament-table th span {
		font-size: 100%;
	}

	main#members .event-table th:nth-last-child(1) {
		width: 110px;
	}

	main#members .tournament-table th:nth-last-child(1) {
		width: 70%;
	}

	section.ad-members.ad-3column-right {
		display: inline-block;
		vertical-align: top;
		width: 160px;
		height: 600px;
		background-color: #FFF;
		margin: 10px 0;
	}
}

@media screen and (min-width: 1481px) {
	.event-wrapper {
		display: flex;
	}

	main#members .event-block,
	main#members .tournament-block,
	main#members .court-block,
	main#members .user-block {
		max-width: 48%;
	}
}


/************************************
** members profile
************************************/

main#members form#profile-edit-form {
	background: #fff;
	padding: 20px;
	border-radius: 6px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	width: 97%;
	max-width: 1420px;
	margin: 0 0 0 10px;
}

main#members form#profile-edit-form h2 {
	margin-bottom: 20px;
	margin-left: -30px;
}

main#members form#profile-edit-form .form-field {
	margin-bottom: 20px;
}

main#members form#profile-edit-form .form-field label {
	font-weight: bold;
	display: block;
	margin-bottom: 5px;
	border-bottom: 1px solid lightblue;
}

/* 表示用テキスト */
main#members form#profile-edit-form .display-value {
	display: inline-block;
	padding: 6px 8px 4px 24px;
	border-radius: 4px;
	vertical-align: middle;
}

/* 編集ボタン、保存ボタン、送信ボタン */
main#members form#profile-edit-form .edit-btn,
.save-btn {
	font-size: 0.7em;
	padding: 2px 8px;
	margin-left: 10px;
	cursor: pointer;
	vertical-align: middle;
}

form button[type="submit"] {
	font-size: 1rem;
	color: #F2F2F2;
	background-color: #1843cb;
	border: none;
	border-radius: 5px;
	padding: 4px 15px;
	margin: 10px auto;
	cursor: pointer;
	vertical-align: middle;
}

main#members form#profile-edit-form div#display_profile_image {
	display: inline-block;
}

/* 入力フィールド */
main#members form#profile-edit-form input[type="text"],
main#members form#profile-edit-form input[type="email"],
main#members form#profile-edit-form input[type="tel"],
main#members form#profile-edit-form input[type="date"],
main#members form#profile-edit-form textarea,
main#members form#profile-edit-form select {
	width: 100%;
	padding: 8px;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 4px;
}


main#members form#profile-edit-form select {
	width: 180px;
	padding: 3px;
}

/* 公開範囲（ラベルとselectを横並びに） */
main#members form#profile-edit-form .public-range {
	margin-top: 5px;
	font-size: 0.7em;
	display: flex;
	align-items: center;
	padding-left: 24px;
}

main#members form#profile-edit-form .public-range label {
	margin-right: 5px;
	white-space: nowrap;
	font-weight: 100;
	border-bottom: none;
}




/************************************
** organizers event
************************************/

.members-main {
	overflow: hidden;
}

div#future-events-section h3.events-section-subtitle,
div#past-events-section h3.events-section-subtitle {
	background: none;
	border-top: none;
	border-left: none;
	border-bottom: 5px solid #e5fe50;
	border-radius: 0;
	width: 200px;
	margin: 20px auto;
	padding: 15px 0 2px;
	font-size: 100%;
	text-align: center;
}

.members-main .entry-card-wrap.a-wrap:hover {
	background: #FFF;
}

.members-main .card-post-archive .entry-card-wrap {
	border-radius: 10px 0 0 10px;
}

.members-main .card-post-archive h3.post-card-title {
	background-image: none;
	border: none;
	padding: 0;
	margin-right: 0;
	margin-left: 0;
	width: auto;
}

.members-main .card-post-archive .participants-accordion {
	width: 110%;
	margin: 10px -16px -15px;
	border-radius: 0 0 10px 10px;
}

.members-main .card-post-archive button.accordion-toggle {
	border: none;
	background-color: #0273aa;
	color: #FFF;
	font-size: 1em;
	font-weight: bold;
	width: 100%;
	border-radius: 0 0 0 10px;
	padding: 10px;
}

.members-main .card-post-archive .accordion-content {
	display: block;
	padding: 15px;
}

.members-main .card-post-archive .accordion-content p {
	font-size: 80%;
}


.members-main .card-post-archive table.participants-table th {
	width: 15%;
	background: none;
	border-top: 1px solid #1843cb;
	border-bottom: 1px solid #1843cb;
	color: #1843cb;
}

.members-main .card-post-archive table.participants-table th:nth-child(1) {
	width: 45%;
}

.members-main .card-post-archive table.participants-table th:nth-last-child(1) {
	width: 25%;
}

.members-main .card-post-archive table.participants-table select {
	padding: 4px 2px;
}

button#load-more-past-members {
	margin: 0 auto 20px;
	padding: 5px 10px;
	border-radius: 5px;
}

.cat-members .go-to-top {
	bottom: 125px;
	right: 4px;
	border-radius: 5px;
}

@media screen and (min-width: 835px) {

	main#members .event-list-block,
	main#members .account-setting-block,
	main#members .participant-management-block,
	main#members .event-edit-block,
	main#members .tournament-edit-block {
		display: inline-block;
		width: 97%;
		max-width: 1420px;
		margin: 10px;
		padding: 10px;
	}

	.members-main .card-post-archive .entry-card-wrap {
		border-radius: 10px;
		margin: 20px 10px;
	}

	.members-main .card-post-archive .accordion-content {
		padding: 15px 60px 0 15px;
	}

}


/************************************
**アラートメッセージ
************************************/
.alert-message {
	color: red;
	font-weight: bold;
	text-decoration: underline;
	background-color: yellow;
	margin: 24px 0;
	padding: 10px;
	border: 2px solid #333333;
}



/************************************
**会員カレンダー
************************************/
/* --- モバイル向け（デフォルト） --- */

/* カレンダーコンテナ */
#calendar {
	max-width: 100%;
	margin: 20px auto;
	padding: 10px;
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* ヘッダー（ツールバー） */
.fc-header-toolbar {
	margin-bottom: 10px;
}

/* ビュー領域の高さ調整 */
.fc-view-harness {
	height: auto !important;
	min-height: 400px;
}

/* FullCalendar が width:0px をインライン設定してしまう要素を強制上書き */
.fc .fc-scrollgrid,
.fc .fc-scrollgrid-sync-table,
.fc .fc-daygrid-body table,
.fc .fc-col-header {
	width: 100% !important;
}

/* 日付セルのフレーム */
.fc .fc-daygrid-day-frame {
	min-height: 80px;
	padding: 5px;
	border: 1px solid #eee;
	width: auto !important;
	/* 幅を自動に強制 */
}

/* 日付上部（曜日、日付番号）のスタイル */
.fc .fc-daygrid-day-top {
	background-color: #f5f5f5;
	padding: 5px;
	text-align: center;
	font-weight: bold;
}

.fc-daygrid-body.fc-daygrid-body-unbalanced {
	width: 100% !important;
}

/* イベントのスタイル */
.fc-event {
	margin: 2px 0;
	padding: 2px 4px;
	background-color: #3788d8;
	border: 1px solid #2a6496;
	color: #fff;
	border-radius: 3px;
	font-size: 0.8em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 参加イベントと主催イベントの区別（例として） */
.fc-event.participation-event {
	background-color: #d1e7dd;
	border-color: #0f5132;
}

.fc-event.organizer-event {
	background-color: #cff4fc;
	border-color: #055160;
}

/* ビューコンテナが潰れないように強制上書き */
.fc .fc-view-harness-active {
	height: auto !important;
}

/* --- PC向け（835px以上） --- */
@media only screen and (min-width: 835px) {
	#calendar {
		max-width: 900px;
		padding: 10px;
	}

	.fc .fc-daygrid-day-frame {
		min-height: 100px;
	}

	.fc-event {
		font-size: 0.85em;
	}
}


/************************************
**イベント記事
************************************/

.event-management-notice {
	border: 1px dashed #777;
	padding: 10px;
	margin: 25px auto;
}

.event-management-notice .emn-title {
	display: inline-block;
	position: relative;
	top: -25px;
	background-color: #FFF;
	font-weight: bold;
	margin: 0px 15px;
	padding: 0 10px;
	border: 1px solid #777;
	border-radius: 5px;
	text-decoration: underline 3px #e5fe50;
}

.event-management-notice .emn-description {
	margin: 0 0 10px;
}

.event-management-notice .emn-button {
	display: block;
	margin: 0 0 0 auto;
	width: 185px;
	padding: 8px 12px;
	background: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	text-align: center;
}

.tournament-management-notice {
	border: 1px dashed #777;
	padding: 10px;
	margin: 25px auto;
}

.tournament-management-notice .gmn-title {
	display: inline-block;
	position: relative;
	top: -25px;
	background-color: #FFF;
	font-weight: bold;
	margin: 0px 15px;
	padding: 0 10px;
	border: 1px solid #777;
	border-radius: 5px;
	text-decoration: underline 3px #e5fe50;
}

.tournament-management-notice .gmn-description {
	margin: 0 0 10px;
}

.tournament-management-notice .gmn-button {
	display: block;
	margin: 0 0 0 auto;
	width: 185px;
	padding: 8px 12px;
	background: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	text-align: center;
}

/* ヘッダー直下の状態ラベルエリア */
.event-status-header {
	margin-top: 10px;
	margin-bottom: 15px;
}

.event-status-label,
.recruitment-status-label {
	display: inline-block;
	padding: 4px 8px;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	border-radius: 3px;
	margin-right: 10px;
}

.event-status-label {
	background-color: #0073aa;
	/* イベントステータスの背景色 */
}

.recruitment-status-label {
	background-color: #d54e21;
	/* 募集ステータスの背景色 */
}


/************************************
**イベント管理ページ　
************************************/

/** 参加者管理セクション **/

.participant-management-block p.section-explanation {
	padding-left: 10px;
}

.participant-management-block table.participants-table {
	font-size: 14px;
	text-align: center;
}

.participant-management-block table tr:nth-of-type(2n) {
	background: none;
}

.participant-management-block table.participants-table th {
	width: 10%;
	background: none;
	border-top: 1px solid #1843cb;
	border-bottom: 1px solid #1843cb;
	color: #333;
	border-left: none;
	border-right: none;
}

.participant-management-block table th:nth-child(1) {
	width: 25%;
}

.participant-management-block table th:nth-last-child(2) {
	width: 25%;
}

.participant-management-block table th:nth-last-child(1) {
	width: 20%;
}

.participant-management-block table td {
	padding-left: 5px;
	border-top: 1px solid gray;
	border-bottom: 1px solid gray;
	border-left: none;
	border-right: none;
}

.participant-management-block table td:nth-child(1),
.participant-management-block table td:nth-last-child(2) {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.participant-management-block table td:nth-child(4) {
	font-size: 70%;
}

.participant-management-block table.participants-table select {
	padding: 4px 2px;
}

@media screen and (min-width: 835px) {

	.participant-management-block {
		padding: 15px 60px 0 15px;
	}

}

/** イベント編集セクション **/

.event-edit-block form p,
.event-edit-block fieldset {
	margin-bottom: 30px;
}

.event-edit-block label {
	display: block;
	margin-bottom: 5px;
}

.event-edit-block label span {
	font-size: 70%;
}

.event-edit-block input[type="text"],
.event-edit-block textarea,
.event-edit-block select {
	width: 100%;
	padding: 6px;
	border: 1px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
}

.event-edit-block input[type="number"],
.event-edit-block input[type="date"],
.event-edit-block input[type="time"],
.event-edit-block input[type="datetime-local"] {
	font-size: 1em;
	padding: 6px;
	border: 1px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
}

.event-edit-block fieldset {
	border: 1px solid #ddd;
	padding: 10px;
	border-radius: 3px;
}

.event-edit-block fieldset legend {
	font-weight: bold;
	margin-bottom: 8px;
	padding: 0 10px;
}

.event-edit-block input[type="submit"] {
	padding: 10px 20px;
	background: #0073aa;
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}

.event-edit-block input[type="submit"]:hover {
	background: #005177;
}


@media screen and (min-width: 835px) {

	.event-edit-block .event-edit-content {
		padding: 0 20px;
	}

	.event-edit-block .event-edit-content span {
		font-size: 70%;
	}

}

/** 大会編集セクション **/

.tournament-edit-block form p {
	margin-bottom: 30px;
}

.tournament-edit-block label {
	display: block;
	margin-bottom: 5px;
}

.tournament-edit-block label span {
	font-size: 70%;
}

.tournament-edit-block input[type="text"],
.tournament-edit-block textarea,
.tournament-edit-block select {
	width: 100%;
	padding: 6px;
	border: 1px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
}

.tournament-edit-block input[type="number"],
.tournament-edit-block input[type="date"],
.tournament-edit-block input[type="time"],
.tournament-edit-block input[type="datetime-local"] {
	font-size: 1em;
	padding: 6px;
	border: 1px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
}

.tournament-edit-block fieldset {
	padding: 10px;
	border-radius: 3px;
}

.tournament-edit-block fieldset legend {
	font-weight: bold;
	margin-bottom: 8px;
	padding: 0 10px;
}

.tournament-edit-block input[type="submit"] {
	padding: 10px 20px;
	background: #0073aa;
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}

.tournament-edit-block input[type="submit"]:hover {
	background: #005177;
}

main#members .tournament-edit-block .event-table th {
	border-top: 1px solid var(--cocoon-x-thin-color);
	border-bottom: 1px solid var(--cocoon-x-thin-color);
}

.tournament-edit-block .event-table td:nth-child(2) {
	width: 70%;
	text-align: left;
}


@media screen and (min-width: 835px) {

	.tournament-edit-block .tournament-edit-content {
		padding: 0 20px;
	}

	.tournament-edit-block .tournament-edit-content span {
		font-size: 70%;
	}

	.tournament-edit-block .event-table td:nth-child(2) {
		width: 70%;
	}

}


/************************************
**　固定フッター
************************************/

.fixed-footer {
	position: fixed;
	bottom: 0;
	z-index: 99;
	display: flex;
}

@media screen and (max-width: 520px) {

	footer.home-footer {
		margin-bottom: 50px;
	}

	.go-to-top {
		right: 7px;
		bottom: 130px;
		z-index: 0;
	}

}

@media screen and (min-width: 521px) {

	.fixed-footer.sp {
		display: none;
	}

}

/*------------------------------------
**  Single tournament event details
------------------------------------*/
.tournament-events {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.tournament-events .event-item {
	margin-bottom: 1em;
}

.tournament-events .event-heading {
	font-weight: bold;
	line-height: 1.2;
}

.tournament-events .event-details {
	margin: 0 0 0 1.5em;
	padding-left: 0;
	list-style: none;
}

article .tournament-events ul.event-details li {
	margin: 0;
	line-height: 1.4;
}

/* Thumbnail visibility control for tournament archive cards */
@media screen and (max-width: 834px) {
	.card-post-archive .entry-card-wrap {
		padding-top: 0;
	}

	.card-post-archive .post-card-thumbnail.pc-thumb {
		display: none;
	}

	.card-post-archive .post-card-thumbnail.sp-thumb {
		display: block;
		max-height: 150px;
	}
}

@media screen and (min-width: 835px) {
	.card-post-archive .post-card-thumbnail.pc-thumb {
		display: block;
	}

	.card-post-archive .post-card-thumbnail.sp-thumb {
		display: none;
	}
}

/* Favorite button positioning */
.single-court .article-header {
	position: relative;
}

.single-court .article-header .court-favorite-btn {
	position: absolute;
	top: -25px;
	right: -10px;
}