@charset "UTF-8";

/**
 * 全体
----------------------------------------------------------------*/
:root{
	/* フォント */
	--mincho: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--gothic: "Hiragino Kaku Gothic ProN", Meiryo, Helvetica, sans-serif;
	
	/* 配色 */
	--main:rgb(217,90,77);
	--sub:rgb(155,191,46);
	--black:rgb(77,77,77);
	--jetblack:rgb(10,10,10);
	--black:rgb(77,77,77);
	--pink:rgb(217,90,77);
	--green:rgb(155,191,46);
	
	--main9:rgb(220,106,94);
	--sub9:rgb(165,197,66);
	--black9:rgb(94,94,94);
	--jetblack9:rgb(34,34,34);
	--black9:rgb(94,94,94);
	--pink9:rgb(220,106,94);
	--green9:rgb(165,197,66);
	
	--main8:rgb(224,123,112);
	--sub8:rgb(175,203,87);
	--black8:rgb(112,112,112);
	--jetblack8:rgb(59,59,59);
	--black8:rgb(112,112,112);
	--pink8:rgb(224,123,112);
	--green8:rgb(175,203,87);
	
	--main7:rgb(228,139,130);
	--sub7:rgb(185,210,108);
	--black7:rgb(130,130,130);
	--jetblack7:rgb(83,83,83);
	--black7:rgb(130,130,130);
	--pink7:rgb(228,139,130);
	--green7:rgb(185,210,108);
	
	--main6:rgb(232,156,148);
	--sub6:rgb(195,216,129);
	--black6:rgb(148,148,148);
	--jetblack6:rgb(107,107,107);
	--black6:rgb(148,148,148);
	--pink6:rgb(232,156,148);
	--green6:rgb(195,216,129);
	
	--main5:rgb(236,172,166);
	--sub5:rgb(205,223,150);
	--black5:rgb(166,166,166);
	--jetblack5:rgb(132,132,132);
	--black5:rgb(166,166,166);
	--pink5:rgb(236,172,166);
	--green5:rgb(205,223,150);
	
	--main4:rgb(239,189,183);
	--sub4:rgb(215,229,171);
	--black4:rgb(183,183,183);
	--jetblack4:rgb(157,157,157);
	--black4:rgb(183,183,183);
	--pink4:rgb(239,189,183);
	--green4:rgb(215,229,171);
	
	--main3:rgb(243,205,201);
	--sub3:rgb(225,235,192);
	--black3:rgb(201,201,201);
	--jetblack3:rgb(181,181,181);
	--black3:rgb(201,201,201);
	--pink3:rgb(243,205,201);
	--green3:rgb(225,235,192);
	
	--main2:rgb(247,222,219);
	--sub2:rgb(235,242,213);
	--black2:rgb(219,219,219);
	--jetblack2:rgb(206,206,206);
	--black2:rgb(219,219,219);
	--pink2:rgb(247,222,219);
	--green2:rgb(235,242,213);
	
	--main1:rgb(251,238,237);
	--sub1:rgb(245,248,234);
	--black1:rgb(237,237,237);
	--jetblack1:rgb(230,230,230);
	--black1:rgb(237,237,237);
	--pink1:rgb(251,238,237);
	--green1:rgb(245,248,234);
	
	--gray:#ccc;
	--silver:#f5f5f5;
	--none:rgba(0,0,0,0);
	
	--gap:clamp(
	
		/* 【最小余白】SP時の余白(半分) */
		calc(1px * var(--gap-base) / 2),
		
		/* 【推奨余白】SP時の余白(半分)相当の画面比値 */
		calc(var(--gap-base) / var(--tab) * 100vw),
		
		/* 【最大余白】PC時の余白 */
		calc(1px * var(--gap-base))
	
	);
}

/* ボディ */
body{
	font-family:var(--mincho);
	font-weight:400;
	font-size:var(--s);
	letter-spacing:.1em;
}

/**
 * プロトタイプ
----------------------------------------------------------------*/
/* reCATPCHA */
.grecaptcha-badge{ visibility:hidden; }

/* 文字装飾 */
.bold{ font-weight:bold; }
strong{ font-size:120%; }
b{ color:var(--sub); }
@media screen and (max-width: 768px){
	.spl{ text-align:left; }
}
.figcaption{
	text-align:center;
	padding-top:10px;
}
.left{ text-align:left; }

/* 改行 */
br.half{
	display:block;
	content:'';
	margin-top:.7em;
}

/* 日付 */
.date{ color:var(--main); }

/* 背景 */
.bg.-green5{ background:rgb(250,251,244); }
.bg.-futoshin{ background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/about/bg_futoshin.png) no-repeat right top / 100%; }
.bg.-paper{ background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/futoshincup/bg_paper.png) no-repeat right top / 100%; }
@media screen and (max-width: 768px){
	.bg.-paper{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/futoshincup/bg_paper_sp.png); }
}

/* タイトルセット */
.tit{
	font-size:var(--xl);
	font-weight:bold;
}
.tit.-green{ color:var(--sub); }
.tit > small{
	font-family:var(--gothic);
	font-size:13px;
	color:var(--sub);
	font-weight:normal;
	display:block;
}

/* カード */
.card{ position:relative; }

/* リードコピー */
.leadcopy{
	font-weight:bold;
	font-size:var(--xxl);
	line-height:1.5;
}

/* ビジュアルパネル */
.vispanel{
	display:flex;
	align-items:flex-start;
	padding-top:40px;
	padding-bottom:clamp(20px, 3.33vw, 160px);
}
.vispanel.-reverse{ flex-direction:row-reverse; }
.vispanel > *{ width:50%; }
.vispanel > div{
	background-color:rgba(255,255,255,.9) !important;
	position:relative;
	top:clamp(40px, 3.33vw, 80px);
	left:clamp(20px, 3.33vw, 160px);
	padding:var(--gap);
}
.vispanel.-reverse > div{
	left:auto;
	right:clamp(20px, 3.33vw, 160px);
}
.vispanel > div > h2{ margin-bottom:5px; }
.vispanel > div > .leadcopy{ margin-bottom:10px; }
@media screen and (max-width: 1100px){
	.vispanel,
	.vispanel.-reverse{ flex-direction:column-reverse; }
	.vispanel > *{ width:calc(100% - var(--gap) * 2); }
	.vispanel > figure > img{
		max-width:none;
		width:100%;
	}
	.vispanel > div,
	.vispanel.-reverse > div{
		top:0;
		margin-top:-20vw;
		left:calc(var(--gap) * 2);
	}
}

/* ベース */
.base.-wide{ max-width:1920px; }

/* 角丸ペアリスト */
.roundpair > dl{
	display:block;
	margin:4px 0;
}
.roundpair > dl > dt{
	display:inline-block;
	background:var(--sub);
	color:white;
	border-radius:1em;
	padding:0 10px;
	margin-right:4px;
	font-weight:normal;
}
.roundpair > dl > dd{ display:inline-block; }


/* ラベル */
.label{
	display:inline-block;
	background:var(--sub);
	color:white;
	border-radius:1em;
	padding:0 10px;
}

/* クラステーブル */
.classtable{ margin-top:10px; }
.classtable > tbody > tr > *{
	padding:4px 10px;
	font-weight:bold;
}
.classtable > tbody > tr:not(:last-child) > *{ border-bottom:10px solid white; }
.classtable > tbody > tr > th{
	background:var(--main);
	color:white;
	text-align:center;
	width:80px;
	vertical-align:middle;
}
.classtable > tbody > tr > td{
	background:var(--main2);
	color:var(--main);
}

/* ボタン */
.buttons > a:hover{ background:var(--black); }
.buttons.-black > a{ background:var(--black); }
.buttons.-green > a:hover{ background:var(--sub7); }
.buttons.-green > a{ background:var(--sub); }
.buttons.-black > a:hover{ background:var(--black7); }
.buttons.-line > a{ border:1px solid var(--black); color:var(--black); }
.buttons.-line > a:hover{ background:var(--black); color:white; }

/* 見出し */
.h2{
	background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/theme/h2.png) no-repeat center bottom / 260px;
	min-height:260px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	margin:0;
	padding:var(--gap-double) var(--gap) 70px;
	font-size:var(--xxl);
}
.h2 > p{
	font-family:var(--gothic);
	color:var(--green);
}
.h3round{
	background:var(--sub);
	color:white;
	font-size:var(--l);
	font-weight:bold;
	padding:5px 20px;
	border-radius:1em;
	margin:20px 0;
}

/* 分離レイアウト */
.separate{
	display:flex;
	gap:var(--gap);
	justify-content:space-between;
	align-items:center;
}
.separate > *{ min-width:150px; }
.separate > :last-child{ text-align:right; }

/* marginキープ */
.keepmargin{ padding:1px 0; }

/* 狭い行間 */
.closeline{ line-height:1.5; }

/* 道場ボタン */
.dojobuttons{
	display:flex;
	gap:10px;
	padding:10px 0;
}
.dojobuttons > a{
	width:calc(50% - 5px);
	display:block;
	font-size:var(--m);
	text-align:center;
	padding:4px 10px;
	border-radius:5px;
	vertical-align:middle;
}
.dojobuttons > a:first-child{
	background:var(--main);
	color:white;
}
.dojobuttons > a:last-child{
	background:var(--sub);
	color:white;
}
.dojobuttons > a:first-child:hover{ background:var(--main7); }
.dojobuttons > a:last-child:hover{ background:var(--sub7); }

/* 丸リスト */
.circlelist > li{ display:inline; }
.circlelist > li:not(:first-child){ margin-left:10px; }
.circlelist > li::before{
	content:'●';
	color:var(--sub);
}

/* 料金テーブル */
.pricetable tr > *{
	text-align:center;
	vertical-align:middle;
}
.pricetable > table > thead > tr:first-child > th{
	background:var(--black7);
	color:white;
	padding-top:0;
	padding-bottom:0;
}
.pricetable > table > thead > tr:last-child > th{
	background:var(--black2);
	color:var(--black);
	padding-top:0;
	padding-bottom:0;
}
.pricetable > table > tbody > tr > th{ text-align:left; }
.pricetable > table > tbody > tr > *{
	border-bottom:1px solid var(--gray);
}
.pricetable > table > * > tr > *:not(:first-child){
	border-left:1px solid var(--gray);
}

/* 補足 */
.note{
	text-align:center;
	background:var(--black2);
	padding:10px;
	border-radius:5px;
}
.note.-green{ background:var(--sub1); }
.note > h3,
.note > h4,
.note > h5,
.note > h6{ font-weight:bold; }

/* ボタンアイコン */
.buttonicon::before{
	content:'';
	display:inline-block;
	width:1.1em;
	height:1.1em;
	margin-right:4px;
	background:no-repeat center center / contain;
	vertical-align:middle;
	position:relative;
}
.buttonicon.-map::before{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/icons/map.png); }
.buttonicon.-pdf::before{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/icons/pdf.png); }
.buttonicon.-mail::before{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/icons/mail.png); }
.buttonicon.-tel::before{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/icons/tel.png); }
.buttonicon.-line::before{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/icons/line.png); }

/* ページビジュアル */
.pvis > img{
	max-width:none;
	width:100%;
}

/* リンク無効 */
a.disabled{
	cursor:not-allowed;
	background:var(--black2) !important;
}
a.disabled:hover{ background:var(--black2) !important; }

/* タブ */
.tabs > nav > ul{
	display:flex;
	gap:10px;
	justify-content:center;
	flex-wrap:wrap;
}
.tabs > nav > ul > li{
	background:var(--sub5);
	color:white;
	text-align:center;
	border-radius:5px;
	padding:4px 10px;
	width:100px;
}
.tabs > nav > ul > li.active{ background:var(--sub); }

/* イベントテーブル */
.eventtable{
	max-width:600px;
	margin:0 auto;
}
.eventtable > table > tbody > tr > td{
	font-size:var(--l);
	font-weight:bold;
}
.eventtable > table > tbody > tr > td:first-child{ width:100px; }

/* ギャラリー */
.gallery{
	display:flex;
	flex-wrap:wrap;
	--split:8;
	margin-left:-1px;
}
.gallery > a{
	display:block;
	width:calc(100% / var(--split));
	border-top:1px solid white;
	border-left:1px solid white;
	border-left:1px solid white;
}
.gallery > a:hover{ opacity:.7; }
.gallery > a > img{
	max-width:none;
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
}
@media screen and (max-width: 1200px){
	.gallery > a{
		--split:7;
	}
}
@media screen and (max-width: 1400px){ .gallery > a{ --split:7; } }
@media screen and (max-width: 1200px){ .gallery > a{ --split:6; } }
@media screen and (max-width: 1000px){ .gallery > a{ --split:5; } }
@media screen and (max-width: 800px){ .gallery > a{ --split:4; } }
@media screen and (max-width: 600px){ .gallery > a{ --split:3; } }

/* レスポンシブテーブル */
@media screen and (max-width: 960px){
	.responsivetable table,
	.responsivetable tbody,
	.responsivetable thead,
	.responsivetable tfoot,
	.responsivetable th,
	.responsivetable td{ display:inline; }
	.responsivetable > table > tbody > tr{ display:block; }
	.responsivetable > table tr > *{
		border:none;
		padding:0;
	}
	.responsivetable > table > tbody > tr > th{
		display:block;
		background:var(--sub);
		color:white;
		padding:4px 10px;
		margin:10px 0;
	}
	.responsivetable > table > tbody > tr > td{
		margin-bottom:4px;
		font-size:var(--m);
	}
	.responsivetable > table > tbody > tr > td:nth-last-of-type(2){
		font-weight:bold;
		background:var(--black);
		color:white;
		padding:0 10px;
		display:inline-block;
		margin-right:10px;
	}
}

/* 歴史ロール */
.history{ padding:0 var(--gap); }
.history > section > div,
.history > section > div > section > div,
.history > section > div > section > div > section > div{ flex:1; }
.history > section{
	display:flex;
	min-height:80px;
}
.history > section:first-child{ padding-top:80px; }
.history > section:last-child{ padding-bottom:80px; }
.history > section > h3{
	font-size:var(--xxxl);
	font-weight:bold;
	font-family:var(--gothic);
	color:var(--sub);
	width:200px;
	line-height:1;
}
.history > section > div > section{
	display:flex;
	padding-bottom:20px;
	min-height:80px;
	border-left:4px solid var(--sub5);
}
.history > section:first-child > div > section{
	margin-top:-80px;
	padding-top:80px;
}
.history > section:last-child > div > section{
	margin-bottom:-80px;
	padding-bottom:80px;
}
.history > section > div > section > h4,
.history > section > div > section > span{ width:100px; }
.history > section > div > section > h4{
	font-size:var(--l);
	font-weight:bold;
	color:var(--sub);
	line-height:1;
	position:relative;
	padding-left:1em;
}
.history > section > div > section > h4::before{
	content:'●';
	position:absolute;
	left:calc(-.5em - 2px);
}
.history > section > div > section > span{ display:block; }
.history > section > div > section > div > section{
	display:flex;
	gap:20px;
}
.history > section > div > section > div > section + section{ margin-top:20px; }
.history > section > div > section:not(:last-child) > div > section{ margin-bottom:20px;  }
.history > section > div > section > div > section > figure,
.history > section > div > section > div > section > span{ width:300px; }
.history > section > div > section > div > section > span{
	display:block;
	margin:.9em 0;
	border-top:1px solid var(--black5);
}
.history > section > div > section > div > section > div > h5{
	font-size:var(--l);
	font-weight:bold;
	margin-bottom:10px;
	line-height:1.5;
}
@media screen and (max-width: 1200px){
	.history > section > h3{
		font-size:var(--xxl);
		width:140px;
	}
	.history > section > div > section > h4,
	.history > section > div > section > span{ width:80px; }
	.history > section > div > section > div > section > figure,
	.history > section > div > section > div > section > span{ width:200px; }
}
@media screen and (max-width: 960px){
	.history > section > h3{
		font-size:3vw;
		width:12vw;
	}
	.history > section > div > section > h4,
	.history > section > div > section > span{ width:10vw; }
	.history > section > div > section > div > section{
		flex-direction:column-reverse;
		gap:5px;
	}
	.history > section > div > section > div > section > figure{ width:300px; }
	.history > section > div > section > div > section > span{ display:none; }
	.history > section > div > section > div > section > div > h5{ margin-bottom:0; }
}
@media screen and (max-width: 768px){
	.history > section > h3{
		font-size:16px;
		width:65px;
	}
	.history > section > div > section > h4,
	.history > section > div > section > span{ width:65px; }
	.history > section > div > section > h4{ font-size:16px; }
}
@media screen and (max-width: 512px){
	.history > section > div > section > div > section > figure{ width:100%; }
}

/* 動画疑似埋め込み */
.movie{
	position:relative;
	display:block;
}
.movie::after{
	content:'';
	display:block;
	position:absolute;
	width:60px;
	height:60px;
	inset:0;
	margin:auto;
	background:var(--main) url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/icons/play.png) no-repeat center center / contain;
	border-radius:50%;
}
.movie:hover::after{ background-color:var(--sub); }
.movie > img{
	aspect-ratio:16/9;
	object-fit:cover;
}
.movie:hover > img{ opacity:.8; }

/* バー */
.bar{
	background:var(--sub);
	color:white;
	padding:8px 10px;
	text-align:center;
}
.bar > a{
	border:1px solid white;
	background:rgba(255,255,255,.1);
	display:inline-block;
	padding:4px 20px
}
.bar > a:hover{
	background:rgba(255,255,255,.7);
	color:var(--sub);
}

/**
 * テーマ
----------------------------------------------------------------*/
/* ヘッダー */
#hbar{
	--height:100px;
	height:var(--height);
	background:white;
	display:flex;
}
#hbar > #logo > a > img{
	max-width:none;
	height:var(--height);
	margin-left:0;
}
#gnav > ul > li{
	position:relative;
	z-index:1000;
}
#gnav > ul > li > a{
	padding:10px;
	font-size:20px;
	line-height:24px;
	font-weight:bold;
	display:block;
	text-align:left;
	height:70px;
	margin-top:calc(var(--height) - 70px);
	position:relative;
	z-index:1000;
}
#gnav > ul > li > a:hover{
	background:none;
	color:var(--black8);
}
#gnav > ul > li > a::after{
	content:'';
	display:block;
	position:absolute;
	bottom:10px;
	left:10px;
	right:calc(100% - 10px);
	border-bottom:2px solid var(--sub);
}
#gnav > ul > li > a:hover::after{ right:10px; }
#gnav > ul > li > a > small{
	font-size:12px;
	font-family:var(--gothic);
	color:var(--sub);
	font-weight:normal;
	display:block;
}
#gnav > ul > li > ul{
	display:none;
	position:absolute;
	background:rgba(255,255,255,.9);
	padding:20px;
	width:200px;
}
#gnav > ul > li > ul > li{ font-size:var(--m); }
#gnav > ul > li > ul > li > a:hover{ color:var(--sub); }
#gnav > ul > li > a:hover + ul,
#gnav > ul > li > ul:hover{ display:block; }
#open,
#close{ width:var(--height); }
#mlogo{ display:none; }
#hcontact{
	display:block;
	max-width:280px;
	background:var(--main);
	position:absolute;
	top:10px;
	right:10px;
	z-index:100;
}
#hcontact:hover{ background:var(--main7); }
@keyframes slidein{
	0%{
		right:-512px;
	}
	100%{
		right:0;
	}
}
@media screen and (max-width: 1600px){
	#hcontact{
		top:calc(var(--height) + 10px);
	}
}
@media screen and (max-width: 1300px){
	#hbar{ --height:7.69vw; }
	#open{ background:rgba(255,255,255,.9); }
	#open:hover,
	#close:hover{ background:var(--sub5); }
	#open:active,
	#close:active{ background:var(--sub); }
	#close{
		position:fixed;
	}
	#spmenu{
		background:rgba(255,255,255,.9);
		padding:calc(var(--height) + var(--gap)) var(--gap) var(--gap);
		width:512px;
		left:auto;
		box-shadow:0 0 20px rgba(0,0,0,.02);
		animation:.3s ease-in-out 0s slidein;
	}
	#spmenu > div{
		display:flex;
		gap:20px;
	}
	#mlogo{
		display:block;
		width:100px;
	}
	#spmenu > div > #gnav{ width:100%; }
	#gnav > ul > li > a{
		height:auto;
		margin-top:0;
		color:var(--black);
	}
	#gnav > ul > li > a > small{ color:var(--sub); }
	#gnav > ul > li > ul{
		display:block;
		position:static;
		width:auto;
		background:rgba(0,0,0,.05);
		padding:10px;
		margin:0 10px 10px;
	}
	#gnav > ul > li > ul > li > a{ display:block; }
	#hcontact{
		position:static;
		margin:10px;
	}
}
@media screen and (max-width: 730px){
	#hbar{ --height:50px; }
	#spmenu{
		width:auto;
		left:0;
	}
	#gnav > ul > li{ padding:5px 0; }
	#gnav > ul > li > a{
		padding:5px;
		font-size:var(--m);
	}
	#gnav > ul > li > ul{ padding:5px; }
	#gnav > ul > li > a::after{
		bottom:5px;
		left:5px;
		right:calc(100% - 5px);
	}
	#gnav > ul > li > a:hover::after{ right:5px; }
	#hcontact{ margin:10px 5px; }
}
@media screen and (max-width: 320px){
	#mlogo{ display:none; }
}

/* フッターバナー */
#fbanners{ padding:60px var(--gap); }
#fbanners > ul{ --gap:20px; }
#fbanners > ul > li,
#fbanners > ul > li > a{
	max-width:625px;
	display:block;
	overflow:hidden;
	border-radius:10px;
}
@media screen and (max-width: 768px){
	#fbanners > ul{ --gap:10px; }
}

/* フッターカード */
#flogo{
	display:flex;
	align-items:center;
	justify-content:center;
}
#flogo > img{ max-width:270px; }
#comcard > img{
	max-width:200px;
	margin-left:0;
	margin-bottom:20px;
}
@media screen and (max-width: 768px){
	#flogo{ display:block; }
	#comcard > img{ margin:0 auto 20px; }
	#comcard > p{ text-align:center; }
}
@media screen and (max-width: 360px){
	#flogo > img{ max-width:100%; }
	#comcard > img{ max-width:100%; }
}

/* フッターナビゲーション */
#fnav > ul a{ font-size:var(--m); }
#fnav > ul a:hover{ color:var(--green); }
#fnav > ul > li > ul > li::before{
	content:'▶';
	font-size:10px;
	color:var(--black);
	vertical-align:middle;
}

/* ソーシャルナビゲーション */
#snav > ul{
	display:flex;
	gap:10px;
	justify-content:center;
	margin:40px var(--gap);
}
#snav > ul > li > a{
	display:block;
	border-radius:10px;
	max-width:240px;
}
.color_facebook{ background:rgb(24,119,242); }
.color_youtube{ background:rgb(255,0,0); }
.color_line{ background:rgb(6,199,85); }
.color_facebook:hover{ background:rgb(107,166,242); }
.color_youtube:hover{ background:rgb(255,97,97); }
.color_line:hover{ background:rgb(79,199,128); }

/* 著作権表記 */
#cr{
	background:var(--jetblack);
	color:white;
	text-align:center;
	padding:8px 20px;
	line-height:1.5;
}

/* ページ名 */
#pagename{
	background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/theme/pagename.png) no-repeat center center / cover;
	height:300px;
	padding:20px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	letter-spacing:.15em;
}
#pagename > h1{
	font-size:var(--xxl);
	font-weight:bold;
	text-align:center;
}
#pagename > p{
	color:var(--sub);
	font-family:var(--gothic);
	font-size:var(--s);
	letter-spacing:.1em;
}
#pagename > h1 + p{ color:var(--sub); }
@media screen and (max-width: 768px){
	#pagename{
		background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/interfaces/theme/pagename_sp.png);
		height:200px;
	}
}

/**
 * スポット：TOPページ
----------------------------------------------------------------*/
/* スライダー */
.slick-dots{
	display:flex;
	justify-content:center;
	gap:10px;
	padding:10px;
}
.slick-dots > li > button{
	font-size:0;
	width:15px;
	height:15px;
	border-radius:100%;
	background:var(--black5);
}
.slick-dots > li.slick-active > button{ background:var(--sub); }
.slick-dots > li > button:hover{ background:var(--sub5); }
@media screen and (max-width: 768px){
	.slick-dots{
		gap:5px;
		padding:5px;
	}
	.slick-dots > li > button{
		width:10px;
		height:10px;
	}
}

/* メインビジュアル */
#spot_index_mvis{
	position:relative;
	--padding:3vw;
}
#spot_index_mvis > .slider img{
	max-width:none;
	width:100%;
}
#spot_index_mvis > h1{
	position:absolute;
	top:var(--padding);
	left:var(--padding);
	width:15.6vw;
}
#spot_index_mvis > nav{
	position:absolute;
	bottom:calc(var(--padding) + 48px);
	left:var(--padding);
	right:var(--padding);
}
#spot_index_mvis > nav > ul > li{
	max-width:26vw;
	background:var(--green);
	overflow:hidden;
	border-radius:10px;
}
#spot_index_mvis > nav > ul > li > a{ display:block; }
#spot_index_mvis > nav > ul > li > a > img{
	max-width:none;
	width:100%;
}
@media screen and (max-width: 768px){
	#spot_index_mvis{ --padding:20px; }
	#spot_index_mvis > h1{
		top:calc(var(--padding) * 2);
		width:30vw;
	}
	#spot_index_mvis > nav{ bottom:calc(var(--padding) * 2 + 34.5px); }
	#spot_index_mvis > nav > ul > li{ max-width:none; }
}

/* 新着ブログ */
#spot_index_topics > .card > ul{ border-top-width:20px; }
#spot_index_topics > .card > ul{ align-items:stretch; }
#spot_index_topics > .card > ul > li > a{
	display:block;
	width:270px;
	padding:20px 15px;
	background:white;
	border-radius:10px;
	height:100%;
}
#spot_index_topics > .card > ul > li > a:hover{ background:var(--sub2); }
#spot_index_topics > .card > ul > li > a > figure > img{
	object-fit:cover;
	width:250px;
	aspect-ratio:3/2;
	overflow:hidden;
	border-radius:5px;
}
#spot_index_topics > .card > ul > li > a > time{
	color:var(--green);
	font-family:var(--gothic);
	margin-top:10px;
	font-size:13px;
	display:block;
}
#spot_index_topics > .card > ul > li > a > h3{
	letter-spacing:0;
	line-height:1.5;
	font-weight:bold;
}
#spot_index_topics > .card > p{
	margin-top:4px;
	font-size:var(--xs);
}
#spot_index_topics > header{
	padding:20px var(--gap) 0;
	display:flex;
	gap:20px;
	justify-content:space-between;
}
#spot_index_topics > header > .buttons{ margin:0; }

/**
 * スポット：クラスのご案内
----------------------------------------------------------------*/
#spot_classes > section{ background:white; }
#spot_classes > section > .flex{ --gap:20px; }

/**
 * スポット：入会のご案内
----------------------------------------------------------------*/
/* メインビジュアル */
#spot_entry_mvis{ background:white; }

/* 入会説明 */
#spot_entry_description{ padding-bottom:60px; }
#spot_entry_description > .base > div{
	position:relative;
	z-index:1;
	background:white;
	margin:0 40px var(--gap);
	border-radius:var(--gap);
	box-shadow:0 0 20px rgba(0,0,0,.03);
	top:calc(var(--gap) * -1);
	padding:1px 0;
}
#spot_entry_description > .base > div > header{ margin-bottom:0 !important; }
#spot_entry_description > .base > div > header > figure{ margin-top:-100px; }
#spot_entry_description > .base > div > header > figure > img{
	max-width:none;
	width:120%;
	margin-left:-20%;
}
#spot_entry_description > .base > div > header > div > h2{
	font-weight:bold;
	font-size:var(--xl);
	color:var(--sub);
}
#spot_entry_description > .base > div > .ribbon{ margin:20px -3.3333vw 0; }
#spot_entry_description > .base > div > footer{
	text-align:center;
	margin:20px;
}
#spot_entry_description > .base > div > footer > a{
	background:var(--main);
	border-radius:10px;
	display:inline-block;
	max-width:512px;
}
#spot_entry_description > .base > div > footer > a:hover{ background:var(--main7); }
#spot_entry_threepowers > section > div > header{
	background:var(--green);
	color:white;
	font-size:var(--m);
	font-weight:bold;
	line-height:1.5;
	padding:2px 10px;
	margin-bottom:10px;
}
#spot_entry_threepowers > section > div > h4{
	font-size:var(--xxl);
	font-weight:bold;
	letter-spacing:.2em;
}
#spot_entry_threepowers > section > div > h4 > small{
	font-size:var(--l);
	position:relative;
}
#spot_entry_threepowers > section > div > h4 > small::before{
	border-top:1px solid var(--black);
	content:'';
	display:inline-block;
	width:2.5em;
	height:.5em;
	margin:0 .4em;
}
@media screen and (max-width: 1200px){
	#spot_entry_description > .base > div{
		top:-20px;
		margin:0 3.3333vw var(--gap);
	}
}
@media screen and (max-width: 960px){
	#spot_entry_description > .base > div{ top:40px; }
	#spot_entry_description > .base > div > header > figure{ margin-top:calc(var(--gap) * -1.5); }
}
@media screen and (max-width: 768px){
	#spot_entry_description > .base > div > header > figure{ margin-top:-20px; }
	#spot_entry_description > .base > div > header > figure > img{
		max-width:300px;
		width:auto;
		margin-left:auto;
	}
}
@media screen and (max-width: 400px){
	#spot_entry_description > .base > div > header > figure > img{
		max-width:100%;
		width:auto;
		margin-left:auto;
	}
}

/**
 * スポット：優真会とは
----------------------------------------------------------------*/
#spot_about_mvis{
	background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/about/pvis.png) no-repeat right center / cover;
	padding:var(--gap);
	height:960px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
#spot_about_mvis > div{
	background:rgba(255,255,255,.9);
	width:50%;
	padding:var(--gap);
}
@media screen and (max-width: 1400px){
	#spot_about_mvis{
		height:auto;
		background-size:contain;
		background-position:center top;
		display:block;
	}
	#spot_about_mvis > div{
		margin-top:40vw;
		width:100%;
		box-shadow:0 0 10px rgba(0,0,0,.1);
	}
}
@media screen and (max-width: 768px){
	#spot_about_mvis{ background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/about/pvis_sp.png) no-repeat center top / contain; }
	#spot_about_mvis > div{ margin-top:50vw; }
}

/**
 * スポット：不撓心カップ
----------------------------------------------------------------*/
#spot_futoshincup_mvis{ background:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/futoshincup/pvis.png) no-repeat center center / cover; }
@media screen and (max-width: 768px){
	#spot_futoshincup_mvis{ background-image:url(https://02.mavens.jp/wp-content/themes/yushinkai/images/article/futoshincup/pvis_sp.png); }
}
#spot_futoshincup_info > .alone > div{
	background:var(--sub1);
	padding:var(--gap-double) var(--gap);
}
#spot_futoshincup_info > .alone > div > .buttons{ margin:20px 0 0; }

/**
 * フォーム
----------------------------------------------------------------*/
/* ContactForm7: RichFormスマホ対応 */
.richform legend{
	font-size:16px;
	font-weight:bold;
}
.richform [type="file"]{
	font-size:inherit;
	background:#f5f5f5;
	padding:10px;
	display:block;
	width:100%;
	box-sizing:border-box;
	border:var(--border-width) solid var(--gray);
	border-radius:var(--border-radius);
	transition:background .2s;
}
.richform [type="file"]:hover{
	background:#eee;
	border-color:var(--black);
}
.richform [type="file"]:focus{ border-color:var(--blue); }
.richform [type="text"],
.richform [type="number"],
.richform [type="search"],
.richform [type="tel"],
.richform [type="url"],
.richform [type="email"],
.richform [type="password"],
.richform [type="datetime"],
.richform [type="date"],
.richform [type="month"],
.richform [type="week"],
.richform [type="time"],
.richform [type="datetime-local"],
.richform [type="file"],
.richform textarea{ font-family:inherit; }
@media screen and (max-width: 768px){
	.richform label,
	.richform .em-wide{ width:100%; }
	.richform .em-mid{ width:calc((100% - .5em + 2px) / 2); }
	.richform .em-narrow{ width:100px; }
	.richform [type="text"],
	.richform [type="number"],
	.richform [type="search"],
	.richform [type="tel"],
	.richform [type="url"],
	.richform [type="email"],
	.richform [type="password"],
	.richform [type="datetime"],
	.richform [type="date"],
	.richform [type="month"],
	.richform [type="week"],
	.richform [type="time"],
	.richform [type="datetime-local"],
	.richform [type="file"],
	.richform textarea{ font-size:16px; }
}

/* ContactForm7: 送信ボタン */
.wpcf7-form footer{
	text-align:center;
	font-size:20px;
	margin:40px 20px;
}
.wpcf7-form footer p{ text-align:center; }
.wpcf7-form footer [type="submit"]{
	width:240px;
	padding:14px;
	font-weight:bold;
	font-family:inherit;
	letter-spacing:.1em;
}

/* ContactForm7: 上下エラー文 */
.wpcf7 form .wpcf7-response-output{
	background:steelblue;
	padding:20px;
	color:white;
	margin:10px 0;
	border:0;
}
.wpcf7 form.init .wpcf7-response-output{ display: none; }
.wpcf7 form.sent .wpcf7-response-output{
	background:steelblue;
	padding:20px;
	color:white;
	margin:10px 0;
	border:0;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
	background:crimson;
	padding:20px;
	color:white;
	margin:10px 0;
	border:0;
}
.wpcf7 .screen-reader-response{ color:crimson; }
.wpcf7 .screen-reader-response > ul > li{ list-style:inside square; }

/* ContactForm7: 入力部品ごとのエラー文 */
.wpcf7-not-valid-tip{
	color:crimson;
	display:block;
}



/**
 * 本文
----------------------------------------------------------------*/
/* 段落 */
.content p + p{ margin-top:10px; }

/* リンク */
.content a:not(.wp-block-button__link){ color:var(--sub); }
.content a:not(.wp-block-button__link):hover{ color:var(--main); }

/* 見出し */
.content h2,
.content h3,
.content h4,
.content h5,
.content h6{
	font-weight:bold;
	margin:5px 0;
}
.content h2{
	font-size:var(--xl);
	line-height:1.4;
	color:var(--main);
	margin:10px 0;
}
.content h3{
	font-size:var(--l);
	color:var(--main);
}
.content h4{ font-size:var(--m); }
.content h5{ font-size:var(--s); }
.content h6{ font-size:var(--xs); }

/* リスト */
.content ul,
.content ol{ margin:10px 0; }
.content ul > li::before{
	content:'●';
	color:var(--main);
}
.content ol{ counter-reset:content-ol; }
.content ol > li::before{
	content:counter(content-ol)". ";
	counter-increment:content-ol;
	color:var(--sub);
	font-weight:bold;
}

/* カラム */
.wp-block-columns{ margin:40px 0; }

/* ボタン */
.wp-block-buttons{}
.wp-block-button__link{
	display:block;
	padding:var(--gap-quarter) var(--gap-half);
	background:var(--main) !important;
	color:white;
	position:relative;
	letter-spacing:.2em;
	text-align:center;
	vertical-align:middle;
	font-size:var(--s);
	margin:20px 0;
	border-radius:3em;
	padding:var(--gap-half);
	font-family:var(--gothic);
	font-weight:bold;
}
.wp-block-button__link:hover{ background:var(--sub) !important; }

/* 画像 */
.wp-block-image{ margin:20px 0; }

/* テーブル */
.wp-block-table{ padding:20px 0; }
.wp-block-table > table td{ border:none; }
.wp-block-table > table tr:first-child > td{ border-top:2px solid var(--main); }
.wp-block-table > table tr:last-child > td{ border-bottom:2px solid var(--main); }
.wp-block-table > table tr:nth-child(even) > td{ background:rgb(253,246,246); }
