@charset "UTF-8";

/**
 * 全体
----------------------------------------------------------------*/
:root{
	
	/* 配色 */
	--main:rgb(123,24,46);
	--sub:rgb(84,121,129);
	--black:rgb(87,87,87);
	--jetblack:rgb(0,0,0);
	--black:rgb(87,87,87);
	--ashblue:rgb(84,121,129);
	--pumpkin:rgb(206,137,59);
	--milk:rgb(239,240,233);
	--tomato:rgb(228,90,36);
	--winered:rgb(123,24,46);
	
	--main9:rgb(136,47,66);
	--sub9:rgb(101,134,141);
	--black9:rgb(103,103,103);
	--jetblack9:rgb(25,25,25);
	--black9:rgb(103,103,103);
	--ashblue9:rgb(101,134,141);
	--pumpkin9:rgb(210,148,78);
	--milk9:rgb(240,241,235);
	--tomato9:rgb(230,106,57);
	--winered9:rgb(136,47,66);
	
	--main8:rgb(149,70,87);
	--sub8:rgb(118,147,154);
	--black8:rgb(120,120,120);
	--jetblack8:rgb(51,51,51);
	--black8:rgb(120,120,120);
	--ashblue8:rgb(118,147,154);
	--pumpkin8:rgb(215,160,98);
	--milk8:rgb(242,243,237);
	--tomato8:rgb(233,123,79);
	--winered8:rgb(149,70,87);
	
	--main7:rgb(162,93,108);
	--sub7:rgb(135,161,166);
	--black7:rgb(137,137,137);
	--jetblack7:rgb(76,76,76);
	--black7:rgb(137,137,137);
	--ashblue7:rgb(135,161,166);
	--pumpkin7:rgb(220,172,117);
	--milk7:rgb(243,244,239);
	--tomato7:rgb(236,139,101);
	--winered7:rgb(162,93,108);
	
	--main6:rgb(175,116,129);
	--sub6:rgb(152,174,179);
	--black6:rgb(154,154,154);
	--jetblack6:rgb(101,101,101);
	--black6:rgb(154,154,154);
	--ashblue6:rgb(152,174,179);
	--pumpkin6:rgb(225,184,137);
	--milk6:rgb(245,246,241);
	--tomato6:rgb(238,156,123);
	--winered6:rgb(175,116,129);
	
	--main5:rgb(189,139,150);
	--sub5:rgb(169,188,192);
	--black5:rgb(171,171,171);
	--jetblack5:rgb(127,127,127);
	--black5:rgb(171,171,171);
	--ashblue5:rgb(169,188,192);
	--pumpkin5:rgb(230,196,157);
	--milk5:rgb(247,247,244);
	--tomato5:rgb(241,172,145);
	--winered5:rgb(189,139,150);
	
	--main4:rgb(202,162,171);
	--sub4:rgb(186,201,204);
	--black4:rgb(187,187,187);
	--jetblack4:rgb(153,153,153);
	--black4:rgb(187,187,187);
	--ashblue4:rgb(186,201,204);
	--pumpkin4:rgb(235,207,176);
	--milk4:rgb(248,249,246);
	--tomato4:rgb(244,189,167);
	--winered4:rgb(202,162,171);
	
	--main3:rgb(215,185,192);
	--sub3:rgb(203,214,217);
	--black3:rgb(204,204,204);
	--jetblack3:rgb(178,178,178);
	--black3:rgb(204,204,204);
	--ashblue3:rgb(203,214,217);
	--pumpkin3:rgb(240,219,196);
	--milk3:rgb(250,250,248);
	--tomato3:rgb(246,205,189);
	--winered3:rgb(215,185,192);
	
	--main2:rgb(228,208,213);
	--sub2:rgb(220,228,229);
	--black2:rgb(221,221,221);
	--jetblack2:rgb(204,204,204);
	--black2:rgb(221,221,221);
	--ashblue2:rgb(220,228,229);
	--pumpkin2:rgb(245,231,215);
	--milk2:rgb(251,252,250);
	--tomato2:rgb(249,222,211);
	--winered2:rgb(228,208,213);
	
	--main1:rgb(241,231,234);
	--sub1:rgb(237,241,242);
	--black1:rgb(238,238,238);
	--jetblack1:rgb(229,229,229);
	--black1:rgb(238,238,238);
	--ashblue1:rgb(237,241,242);
	--pumpkin1:rgb(250,243,235);
	--milk1:rgb(253,253,252);
	--tomato1:rgb(252,238,233);
	--winered1:rgb(241,231,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{
	color:var(--black);
	font-family:var(--mincho);
	font-feature-settings:"palt";
	letter-spacing:.1em;
}

/**
 * プロトタイプ
----------------------------------------------------------------*/
/* reCATPCHA */
.grecaptcha-badge{ visibility:hidden; }

p{ line-height:2.2; }
em{
	color:var(--tomato);
	font-style:normal;
}
figure{ margin-bottom:0 !important; }
figure.space{ margin-bottom:20px !important; }
.opacity:hover{ opacity:.7; }
@media screen and (max-width: 768px){
	.smart{
		max-width:512px;
		margin:0 auto;
	}
}

/* サブタイトル */
.sub{ color:var(--pumpkin); }

/* 価格 */
.price{ font-size:var(--l); }
.price > p{
	text-align:center;
	color:var(--tomato);
	margin-bottom:20px;
	letter-spacing:.2em;
}
.price > p > strong{ font-size:60px; }

/* チェックリスト */
.bigcheck{ padding:40px 0; }
.bigcheck > li{
	position:relative;
	font-size:var(--xl);
	padding-left:1.5em;
}
.bigcheck > li::before{
	position:absolute;
	top:.1em;
	left:0;
	content:'';
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/membership/check.png) no-repeat center center / contain;
	width:1.3em;
	height:1.3em;
}

/* 数字付きセクション */
.numbersecs{ counter-reset:numbersecs; }
.numbersecs > section{ position:relative; }
.numbersecs > section::before{
	counter-increment:numbersecs;
	content:counter(numbersecs);
	position:absolute;
	top:0;
	left:0;
	font-size:160px;
	line-height:1.1;
	color:var(--milk);
	z-index:-1;
}
@media screen and (max-width: 768px){
	.numbersecs > section::before{ font-size:100px; }
}

/* ラベル */
.biglabel{
	background:var(--main);
	color:white;
	padding:2px 40px;
	display:inline-block;
	text-align:center;
	margin-bottom:10px;
}

/* 電話番号 */
.bigtel{
	font-size:var(--l);
	color:var(--sub);
	letter-spacing:0;
}
.bigtel > a.tel{ font-size:var(--xl); }
.bigtel > a.tel:hover{ color:var(--jetblack) }

/* 会社名 */
.comname{
	font-size:var(--l) !important;
	color:var(--jetblack);
	line-height:1.3
}
.comname > small{
	display:block;
	font-size:var(--xs) !important;
	color:var(--ashblue);
}

/* 背景 */
.bg.-ashblue{ background-color:var(--ashblue); }
.bg.-ashblue1{ background-color:var(--ashblue1); }
.bg.-milk{ background-color:var(--milk); }
.bg.-milk8{ background-color:var(--milk8); }
.bg.-jetblack{ background-color:var(--jetblack); }

/* マージン相殺の相殺 */
.offset{
	padding-top:1px;
	padding-bottom:1px;
}

/* 見出し */
.h2{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/interface/h2.png) no-repeat center center;
	height:220px;
	margin:0;
	padding:130px 20px 60px;
}
.h2 > p{
	text-align:center;
	font-size:var(--xxl);
	line-height:1.5;
	font-weight:bold;
	padding-bottom:10px;
	color:var(--sub);
}
.h2 > h2{
	font-size:var(--m);
	font-weight:normal;
}
.h3{
	font-size:var(--xl);
	color:var(--jedblack);
	border-top:4px solid var(--main1);
	position:relative;
	padding:20px 0;
	margin:80px 0 20px;
}
.h3::before{
	content:'';
	display:block;
	border-top:4px solid var(--main);
	width:100px;
	top:-4px;
	left:0;
	position:absolute;
}
.h4{
	margin-top:0;
	margin-bottom:20px;
	font-size:var(--xl);
	color:var(--jetblack);
	letter-spacing:.2em;
}
.h5{
	font-size:var(--l);
	color:var(--jetblack);
	letter-spacing:.2em;
	margin:0;
}
.h6{
	font-size:var(--l);
	color:var(--jetblack);
	letter-spacing:.2em;
}
.leadcopy{
	font-size:var(--xl);
	padding:80px var(--gap) 0;
	letter-spacing:.2em;
}
@media screen and (max-width: 768px){
	.h4,
	.leadcopy{ font-size:var(--l); }
}

/* ボタン */
.buttons.-min > *{
	padding:10px;
	font-size:var(--xs);
}
.buttons.right{
	justify-content:flex-end;
	margin-right:0;
	margin-left:0;
}
.buttons > a{
	border:1px solid var(--black);
	background:none;
	color:var(--black);
	position:relative;
	transition:letter-spacing .2s 0s ease-in-out;
}
.buttons > a::before{
	content:'';
	position:absolute;
	top:50%;
	margin-top:-.5px;
	left:-8px;
	width:16px;
	border-top:1px solid var(--black);
	display:block;
	transition:left .15s .2s ease-in-out;
}
.buttons > a:hover{
	background:var(--sub);
	color:white;
	border-color:var(--sub);
	letter-spacing:.3em;
}
.buttons.-winered > a:hover{
	background:var(--main);
	border-color:var(--main);
}
.buttons > a:hover::before{
	left:0;
	border-color:white;
}

/* タブ */
.tabs > div > section{ display:none; }
.tabs > div > section.active{ display:block; }

/* ラベル */
.label{
	display:inline-block;
	background:var(--gray);
	font-size:14px;
	line-height:18px;
	padding:0 10px;
	border-radius:4px;
	color:white;
}
.label.-batch{ background:var(--tomato); }
.label.-required,
.label.-rcyt_required,
.label.-ryt500_required{ background:var(--pumpkin); }
.label.-elective,
.label.-ryt500_elective{ background:var(--ashblue); }
.label.-seminarcat{ background:var(--jetblack); }

/* 講座 */
.seminars > section > a.flex{ align-items:flex-start; }
.seminars > section > a:not(.flex){ display:block; }
.seminars > section > a[href]:hover{ opacity:.7; }
.seminars > section > a > figure{ position:relative; }
.seminars > section.inactive > a > figure::after{
	content:'現在は募集していません';
	display:block;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(123,24,46,0.5);
	color:white;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	padding:20px;
	text-align:center;
}
.seminars > section > a > div > header{ margin-top:10px; }
.seminars > section > a.flex > div > header{ margin-top:0; }
.seminars > section > a > div > p{ padding-top:10px; }
@media screen and (max-width: 768px){
	.seminars > section > a.flex{
		background:white;
		padding:var(--gap);
	}
	.seminars > section > a.flex > div > header{ margin-top:10px; }
	.seminars > section > a.flex > div > header{ margin-top:0; }
}
@media screen and (max-width: 520px){
	.seminars > section > a.flex > :nth-child(n){ flex-basis:100%; }
	.seminars > section > a.flex > :nth-child(n){ flex-basis:100%; }
}

/* 講座詳細 */
.seminardetails > time{
	font-size:var(--m);
	letter-spacing:0;
	line-height:1.2;
	color:var(--pumpkin);
}
.seminardetails > h1,
.seminardetails > h2,
.seminardetails > h3,
.seminardetails > h4,
.seminardetails > h5,
.seminardetails > h6{
	font-size:var(--l);
	letter-spacing:0;
	line-height:1.2;
	color:var(--jetblack);
	vertical-align:middle;
}
.seminardetails > h1 > small,
.seminardetails > h2 > small,
.seminardetails > h3 > small,
.seminardetails > h4 > small,
.seminardetails > h5 > small,
.seminardetails > h6 > small{
	displayLinline-block;
	border:1px solid var(--sub);
	color:var(--sub);
	background:white;
	padding:2px 15px;
	margin-left:10px;
	font-size:var(--xs);
	vertical-align:middle;
}
.seminardetails > p{
	font-size:var(--m);
	letter-spacing:0;
	text-align:right;
	color:var(--sub);
}
.seminardetails.-big > time{ font-size:var(--l); }
.seminardetails.-big > h1{ font-size:var(--xxl); }
.seminardetails.-big > h1 > small{ font-size:var(--l); }
.seminardetails.-big > h2{ font-size:var(--xl); }
.seminardetails.-big > h2 > small{ font-size:var(--l); }
.seminardetails.-big > p{
	font-size:var(--l);
	text-align:left;
}
.seminardetails.-big > ul > li{
	font-size:var(--m);
	line-height:1.2;
	margin-bottom:10px;
}
@media screen and (max-width: 768px){
	.seminardetails.-big > h3{ min-height:0; }
}

/* 講師カード */
.cards{
	overflow-x:scroll;
	--size:300px;
	position:relative;
}
.cards > aside{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:1;
	display:none;
	cursor:grab;
}
.cards > aside:before{
	content:'';
	display:block;
	background:rgba(0,0,0,.5) url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/scrollable.png) scroll no-repeat center center / cover;
	width:300px;
	height:200px;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	border-radius:10px;
}
.cards > ul{
	display:flex;
	gap:20px;
	align-items:stretch;
	padding:20px 0;
	border-left:var(--gap) solid var(--none);
	border-right:var(--gap) solid var(--none);
	width:max-content;
}
.cards > ul > li > a{
	display:block;
	width:var(--size);
	height:100%;
	background:white;
	position:relative;
}
.cards > ul > li > a:hover{ background:var(--milk2); }
.cards > ul > li > a > figure > img{
	object-fit:cover;
	width:var(--size);
	height:var(--size);
	filter:grayscale(0%);
}
.cards > ul > li > a > figure > div{
	width:var(--size);
	height:var(--size);
	background:var(--tomato);
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	padding:20px;
}
.cards > ul > li > a > figure > div > p{
	text-align:center;
	font-size:var(--l);
	color:white;
}
.cards > ul > li > a > footer{ padding:10px; }
.cards > ul > li > a > footer > h3{
	font-size:var(--l);
	color:var(--jetblack);
	line-height:1.5;
}
.cards > ul > li > a > footer > p{
	line-height:1.5;
	font-size:var(--xs);
	letter-spacing:0;
}
.cards.-highlight > ul > li:last-child > a{ background:var(--sub2) url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/index/readmore.png) no-repeat center center / contain; }
.cards.-highlight > ul > li:last-child > a:hover{ background:var(--sub4) url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/index/readmore.png) no-repeat center center / contain;; }
@media screen and (max-width: 960px)
{
	.cards > aside::before{
		width:225px;
		height:150px;
	}
}
@media screen and (max-width: 768px)
{
	.cards > aside::before{
		width:150px;
		height:100px;
	}
}

/* 外部講師 */
.guest{ position:relative; }
.guest::after{
	background:var(--main);
	color:white;
	text-align:center;
	content:'ゲスト講師';
	padding:0 15px;
	position:absolute;
	top:0;
	right:0;
	font-size:var(--xs);
}

/* マウスオーバーでモノクロ画像 */
.monohover:hover > figure > img{
	opacity:.7;
	/* filter:grayscale(100%); */
}

/* 肩書 */
.positions > li{
	color:var(--sub);
	font-size:var(--s);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

/* 電話発信 */
.tel:hover{ color:var(--ashblue); }

/* 脚注 */
.note{
	background:var(--sub1);
	padding:20px;
	margin:40px 0;
	font-size:var(--xs);
	position:relative;
}
.note > h2,
.note > h3,
.note > h4,
.note > h5,
.note > h6{
	background:var(--sub);
	color:white;
	font-size:var(--s);
	letter-spacing:.1em;
	padding:2px 20px;
	position:absolute;
	top:-10px;
}
.note > h2 + p,
.note > h3 + p,
.note > h4 + p,
.note > h5 + p,
.note > h6 + p{ margin-top:20px; }

/* プログラム */
.program{
	background:white;
	border-radius:10px;
	margin:20px auto;
	padding:15px 20px;
	font-size:var(--xs);
	max-width:512px;
}
.program > h4{
	font-size:var(--m);
	text-align:center;
}

/* 番号付きリスト */
.ol > li{ list-style:decimal inside; }

/* 価格表 */
.pricetable tr > *{
	padding:20px 10px;
	text-align:center;
	vertical-align:middle;
	background:white;
}
.pricetable tr > :first-child{
	position:sticky;
	left:0;
}
.pricetable tr > :first-child::after{
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	border-right:1px solid var(--ashblue3);
}
.pricetable .bigprice > td{
	font-size:var(--xxl);
	line-height:1.3;
	color:var(--tomato);
}
.pricetable .bigprice > td > small{
	font-size:var(--s);
	display:block;
	color:var(--black);
}
.pricetable .check{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/membership/check.png) no-repeat center center / contain;
	display:inline-block;
	width:35px;
	height:35px;
}
.pricetable > table > colgroup > col.pickup{ border:2px solid var(--ashblue3); }
.pricetable > table > thead > tr > th:not(:first-child){
	padding:0;
	position:relative;
	z-index:-1;
}
.pricetable > table > thead > tr > th{ height:90px; }
.pricetable > table > thead > tr > th > span{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	display:block;
	background:var(--milk);
	color:var(--jetblack);
	padding:15px 10px;
	border-radius:12px;
}
.pricetable > table > thead > tr > th.pickup > span{
	background:var(--ashblue3);
	padding:30px 10px;
}
.pricetable > table > thead > tr > th > span::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	border:4px solid white;
	display:block;
	border-radius:10px;
}
.pricetable > table > tbody > tr > *{ line-height:1.5; }
.pricetable > table > tbody > tr > * > small{
	display:block;
	color:var(--pumpkin);
	font-size:var(--xxs);
}
.pricetable > table > tbody > tr:nth-child(even) > *{ background:var(--milk); }
.pricetable > table > tbody > tr > td{ min-width:180px; }
.pricetable > table tr > th{ min-width:140px; }
@media screen and (max-width: 960px){
	.pricetable{ overflow-x:scroll; }
}

/**
 * ヘッダー
----------------------------------------------------------------*/
/* ヘッドバナー */
#hbanner{
	font-size:var(--xs);
	line-height:24px;
	display:block;
	color:white;
	background:var(--main);
	padding:4px 10px;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	text-align:center;
	line-height:1.5;
}
#hbanner:hover{ background:var(--sub); }
#hbanner > span:last-child{
	display:inline-block;
	background:var(--jetblack);
	border-radius:6px;
	width:80px;
	text-align:center;
}
@media screen and (max-width: 768px){
	#hbanner{ font-size:var(--xxs); }
	#hbanner > span:last-child{ width:50px; }
}

/* ヘッドカード */
#hcard{
	background:var(--milk);
	height:90px;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	position:relative;
	z-index:10000;
}
#logo:hover{ opacity:.7; }
#logo img{
	max-width:none;
	height:90px;
	margin:0;
}
@media screen and (max-width: 960px){
	#hcard,
	#logo img{ height:60px; }
}

/* グローバルナビゲーション */
@media screen and (min-width: 1201px){
	#gnav{
		margin:0 180px 0 20px;
		letter-spacing:.2em;
	}
	#gnav > ul{ display:inline-block; }
	#gnav > ul > li{ display:inline-block; }
	#gnav > ul > li:not(:last-child){ margin-right:10px; }
	#gnav > ul > li > a{
		display:inline-block;
		vertical-align:middle;
		border-bottom:4px solid var(--none);
	}
	#gnav > ul > li > a:hover{ border-bottom-color:var(--main); }
	#gnav > ul > li.hassub > a::after{
		background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/interface/icons/bottom.png) no-repeat center center / contain;
		width:15px;
		height:15px;
		display:inline-block;
		content:'';
		vertical-align:middle;
		margin-top:-4px;
	}
	#gnav > ul > li > ul{
		display:none;
		position:absolute;
		background:rgba(255,255,255,.9);
		border:1px solid var(--gray);
		font-size:var(--xs);
	}
	#gnav > ul > li > a:hover + ul,
	#gnav > ul > li > ul:hover{ display:block; }
	#gnav > ul > li > ul{ padding:10px 0; }
	#gnav > ul > li > ul > li > a{
		padding:3px 20px;
		display:block;
	}
	#gnav > ul > li > ul > li > a:hover{
		background:var(--sub);
		color:white;
	}
}
@media screen and (max-width: 1200px){
	#gnav{ margin-top:60px; }
	#gnav > ul > li{
		font-size:var(--s);
		letter-spacing:.2em;
	}
	#gnav > ul > li > a{
		display:block;
		background:var(--sub);
		color:white;
		padding:10px 20px;
	}
	#gnav > ul > li > a:hover{ background:var(--pumpkin); }
	#gnav > ul > li > ul{ padding:10px 0 20px; }
	#gnav > ul > li > ul > li > a{
		display:block;
		position:relative;
		padding:6px 50px 6px 20px;
	}
	#gnav > ul > li > ul > li > a::after{
		position:absolute;
		top:0;
		bottom:0;
		right:0;
		content:'';
		background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/interface/icons/right.png) no-repeat center center / 20px;
		width:40px;
	}
	#gnav > ul > li > ul > li > a:hover{
		background:var(--pumpkin);
		background:white;
	}
}

/* モバイルメニュー関連 */
#spmenu{
	width:100%;
	position:relative;
	z-index:21000;
}
#open{
	display:none;
	background:var(--sub);
	position:absolute;
	right:0;
	top:0;
	width:90px;
	height:90px;
	z-index:20000;
}
#open.scrolled{ position:fixed; }
#open:hover{ background:var(--sub7); }
#close{ display:none; }
@media screen and (max-width: 1200px){
	#open{ display:block; }
	#spmenu{
		position:fixed;
		top:0;
		bottom:0;
		right:-100%;
		background:rgba(239,240,233,0.9);
		padding:20px;
		max-width:400px;
		overflow-y:scroll;
	}
	body.clicked #spmenu{ right:0; }
	#spshadow{
		content:'';
		display:block;
		background:rgba(0,0,0,.1);
		top:0;
		bottom:0;
		left:0;
		right:100%;
		position:fixed;
		z-index:10000;
		opacity:0;
	}
	body.clicked #spshadow{
		right:400px;
		opacity:1;
	}
	#close{
		display:block;
		background:var(--jetblack);
		border-radius:50%;
		position:absolute;
		top:20px;
		right:20px;
		width:36px;
		height:36px;
	}
	#close:hover{
		background:var(--black);
	}
}
@media screen and (max-width: 960px){
	#open{
		width:60px;
		height:60px;
	}
}
{
	#spshadow{ display:none; }
}

/* お問い合わせ */
#contact{
	position:absolute;
	right:20px;
	top:50%;
	margin-top:-18px;
	display:block;
	line-height:36px;
	height:36px;
	width:140px;
	background:var(--sub);
	color:white;
	text-align:center;
	border-radius:6px;
}
#contact:hover{
	background:var(--pumpkin);
}
@media screen and (max-width: 1200px){
	#contact{
		position:absolute;
		margin-top:0;
		top:20px;
		left:20px;
	}
}

/**
 * コンテンツ
----------------------------------------------------------------*/
body > main > header{ border-bottom:1px solid var(--gray); }

/* パン屑リスト */
#pan > ol > li{
	display:inline;
	color:var(--gray);
}
#pan > ol > li:not(:last-child)::after{ content:'>'; }
#pan > ol > li > a{
	display:inline;
	font-size:var(--xxs);
}
#pan > ol > li > a:hover{ color:var(--sub); }

/**
 * フッター
----------------------------------------------------------------*/
/* バナー */
#banners{ padding:40px 0; }

/* レコメンドナビゲーション */
#recommend > .base{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/interface/fcard.png) no-repeat center top;
	padding-bottom:1px;
}
#recommend > .base > h2{
	font-size:var(--xl);
	text-align:center;
	padding:40px 20px 0;
	color:white;
	letter-spacing:.2em;
}
#recommend > .base > .alone{
	background:var(--milk);
	padding-top:1px;
	padding-bottom:1px;
}
#recommend > .base > .alone > .flex > section > a > div > header > h3{ min-height:calc(var(--l) * 1.2 * 2); }
@media screen and (max-width: 768px){
	#recommend > .base{ background-size:contain; }
	#recommend > .base > h2{ font-size:var(--l); }
	#recommend > .base > .alone{
		background:none;
		margin:0;
	}
	#recommend > .base > .alone > .seminars > section > a{ background:var(--milk); }
}
@media screen and (max-width: 520px){
	#recommend > .base > .alone{ overflow-x:scroll; }
	#recommend > .base > .alone > .seminars{
		flex-wrap:nowrap;
		align-items:stretch;
		width:max-content;
	}
	#recommend > .base > .alone > .seminars > :nth-child(n) > a{
		width:300px;
		height:100%;
		display:block;
	}
	#recommend > .base > .alone > .seminars > :nth-child(n) > a > div > header{ margin-top:10px; }
}

/* フットカード */
#fcard{ padding:40px 0; }
#fcard > .base > .flex > figure > img{ max-width:200px; }

/* フッター会社名 */
#comname{ margin-bottom:20px; }
#comname > span{
	font-size:var(--l);
	line-height:1.5;
	color:var(--black);
	display:block;
	font-weight:bold;
}
#comname > small{
	font-size:var(--s);
	line-height:1.5;
	color:var(--ashblue);
	display:block;
}
@media screen and (max-width: 768px){
	#comname,
	#comname + p{ text-align:center; }
}

/* 著作権表記 */
#cr{
	background:var(--sub);
	padding:4px 20px;
	text-align:center;
	color:white;
}

/**
 * スポット：TOPページ
----------------------------------------------------------------*/
/* メインビジュアル */
#spot_index_mvis > img{ width:100%; }

/* 新着情報 */
#spot_index_topics > .alone > ul{ margin-top:-20px; }
#spot_index_topics > .alone > ul > li > a{
	display:flex;
	padding:3px 15px;
	margin:0 -15px;
	border-radius:8px;
}
#spot_index_topics > .alone > ul > li > a:hover{ background:var(--main1); }
#spot_index_topics > .alone > ul > li > a > time{
	color:var(--main);
	font-weight:bold;
	min-width:160px;
	max-width:160px;
}
@media screen and (max-width: 768px){
	#spot_index_topics > .alone > ul > li > a{ display:block; }
	#spot_index_topics > .alone > ul > li:not(:last-child) > a{ margin-bottom:10px; }
}

/* 新着講座 */
#spot_index_couses > .alone > nav > ul > li{ display:inline-block; }
#spot_index_couses > .alone > nav > ul > li > a{
	display:inline-block;
	font-size:var(--l);
	padding:8px 20px 8px 0;
	color:var(--ashblue5);
	border-bottom:6px solid var(--ashblue5);
	margin:4px 0;
}
#spot_index_couses > .alone > nav > ul > li.active > a{
	color:var(--ashblue);
	border-bottom-color:var(--ashblue);
}
#spot_index_couses > .alone > nav > ul > li > a:hover{
	color:var(--pumpkin);
	border-bottom-color:var(--pumpkin);
}
#spot_index_couses > .alone > div{
	padding:1px 0;
	margin:20px 0 40px;
}
#spot_index_couses > .alone > div > section > .seminars.central{ padding:100px 20px; }
@media screen and (max-width: 768px){
	#spot_index_couses > .alone > nav > ul > li > a{
		font-size:var(--m);
		padding:5px 10px 5px 0;
		border-bottom-width:4px;
	}
}

/**
 * スポット：講座一覧・講座カテゴリ
----------------------------------------------------------------*/
/* 検索エンジン */
#spot_seminars_searchform > section{ margin:40px 0; }
#spot_seminars_searchform > section >  h2{
	text-align:center;
	padding-bottom:10px;
}
#spot_seminars_searchform > section >  ul{
	display:flex;
	justify-content:center;
}
#spot_seminars_searchform > section >  ul > li > a{
	display:block;
	padding:4px 20px;
	border:1px solid var(--gray);
}
#spot_seminars_searchform > section >  ul > li.active > a{
	background:var(--ashblue5);
	color:white;
}
#spot_seminars_searchform > section >  ul > li > a:hover{
	background:var(--ashblue);
	color:white;
}
#spot_seminars_searchform > section >  ul > li:not(:first-child) > a{ border-left:none; }
#spot_seminars_searchform > section >  ul > li:first-child > a{ border-radius:4px 0 0 4px; }
#spot_seminars_searchform > section >  ul > li:last-child > a{ border-radius:0 4px 4px 0; }
@media screen and (max-width: 768px){
	#spot_seminars_searchform > section >  ul{
		width:100%;
		flex-direction:column;
	}
	#spot_seminars_searchform > section >  ul > li:not(:first-child) > a{
		border-left:1px solid var(--gray);
		border-top:none;
	}
	#spot_seminars_searchform > section >  ul > li:first-child > a{ border-radius:4px 4px 0 0; }
	#spot_seminars_searchform > section >  ul > li:last-child > a{ border-radius:0 0 4px 4px; }
}

/**
 * スポット：ヨガインストラクター派遣
----------------------------------------------------------------*/
/* メインビジュアル */
#spot_dispatch_mvis{ margin-top:80px; }
#spot_dispatch_mvis > header{
	background:var(--milk);
	margin-right:calc(50% - 520px);
	position:relative;
}
#spot_dispatch_mvis > header > img{
	position:absolute;
	top:120px;
	left:calc(50% - 750px);
	z-index:2;
}
#spot_dispatch_mvis > header > div{
	margin-left:calc(50% - 400px);
	padding:80px;
	margin-bottom:-80px;
}
#spot_dispatch_mvis > header > div > h2{
	font-size:var(--xl);
	padding:0 40px;
	letter-spacing:.1em;
}
#spot_dispatch_mvis > header > div > img{
	max-width:920px;
	margin:0;
	width:100%;
}
#spot_dispatch_mvis > div > div{
	background:var(--tomato);
	color:white;
	max-width:888px;
	padding:80px 80px 120px;
	margin:0 0 -80px auto;
	position:relative;
	z-index:1;
}
#spot_dispatch_mvis > div > div > .flex > img{
	background:white;
	border-radius:50%;
}
#spot_dispatch_mvis > div > div > p{
	font-size:var(--l);
	margin-top:20px;
}
@media screen and (max-width: 1200px){
	#spot_dispatch_mvis{ margin-top:3vw; }
	#spot_dispatch_mvis > header{ margin-right:3vw; }
	#spot_dispatch_mvis > header > img{
		width:40vw;
		top:5vw;
		left:-10vw;
	}
	#spot_dispatch_mvis > header > div{
		margin-left:20vw;
		padding:5vw 3vw 120px;
	}
	#spot_dispatch_mvis > header > div > h2{
		font-size:3vw;
		padding:0 3vw;
	}
	#spot_dispatch_mvis > div > div{
		padding:6vw 6vw 9vw;
		margin:0 0 -3vw 20vw;
		max-width:none;
	}
}
@media screen and (max-width: 960px){
	#spot_dispatch_mvis > header > div{ padding-bottom:100px; }
	#spot_dispatch_mvis > div > div{ margin-left:10vw; }
	#spot_dispatch_mvis > div > div > p{
		font-size:3vw;
		margin-top:3vw;
	}
}

/* 概要文 */
#spot_dispatch_summary,
#spot_dispatch_summary p,
#spot_dispatch_summary h2{
	text-align:center;
	color:white;
}
#spot_dispatch_summary{
	transform:skewY(-4deg);
	padding:40px 0;
	margin-bottom:80px;
	position:relative;
	z-index:2;
}
#spot_dispatch_summary > .base{ transform:skewY(4deg); }
#spot_dispatch_summary > .base > .alone > .flex{ margin:40px 0; }

/**
 * 講座ジェネレータ
----------------------------------------------------------------*/
#seminar_mvis{ background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/bg_mvis.png) scroll no-repeat center bottom / 100%; }
@media screen and (max-width: 768px)
{
	#seminar_mvis{ background-size:cover; }
}

/* 未定文 */
#seminar .blank{
	font-size:var(--xl);
	text-align:center;
	padding:40px;
}

/* メインビジュアル */
#seminar_mvis > header{
	position:relative;
	margin-top:40px;
}
#seminar_mvis > header > figure{
	border-radius:30px;
	overflow:hidden;
	width:768px;
	position:relative;
	left:50%;
}
#seminar_mvis > header > div{
	position:absolute;
	z-index:1;
	top:0;
	bottom:0;
	left:50%;
	margin-left:-560px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
#seminar_mvis > header > div > .seminardetails{
	background:rgba(250,250,250,.8);
	border-radius:30px;
	padding:30px;
	min-width:512px;
	max-width:768px;
}
@media screen and (max-width: 1536px){
	#seminar_mvis > header > figure{
		border-radius:30px 0 0 30px;
		left:auto;
		margin-left:auto;
	}
}
@media screen and (max-width: 1200px)
{
	#seminar_mvis > header > div{
		left:var(--gap);
		margin-left:0;
		left:0;
	}
	#seminar_mvis > header > div > .seminardetails{
		border-radius:0 30px 30px 0;
		min-width:360px;
		max-width:700px;
	}
}
@media screen and (max-width: 1098px){
	#seminar_mvis > header > figure{ width:70vw; }
}
@media screen and (max-width: 768px)
{
	#seminar_mvis > header{ margin-top:0; }
	#seminar_mvis > header > figure{
		border-radius:0;
		width:100%;
	}
	#seminar_mvis > header > div{
		position:relative;
		left:auto;
		right:auto;
		bottom:auto;
		top:auto;
		margin:-15vw var(--gap) 0;
	}
	#seminar_mvis > header > div > .seminardetails{
		border-radius:20px;
		min-width:auto;
		max-width:none;
		background:rgba(255,255,255,.9);
		padding:20px;
	}
}

/* 日程・場所ハイライト */
#seminar_mvis > footer{ margin-top:-70px; }
#seminar_mvis > footer > .flex > section:first-child{
	border:2px solid var(--pumpkin);
	background:rgb(252,249,245);
}
#seminar_mvis > footer > .flex > section:last-child{
	border:2px solid var(--ashblue);
	background:rgb(246,248,248);
}
#seminar_mvis > footer > .flex > section > h2{
	color:white;
	font-weight:bold;
	text-align:center;
	vertical-align:middle;
	font-size:var(--m);
}
#seminar_mvis > footer > .flex > section > h2 > img{
	display:inline-block;
	margin:-10px 0;
	width:40px;
	vertical-align:middle;
}
#seminar_mvis > footer > .flex > section:first-child > h2{ background:var(--pumpkin); }
#seminar_mvis > footer > .flex > section:last-child > h2{background:var(--ashblue); }
#seminar_mvis > footer > .flex > section > div{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:10px 20px;
}
#seminar_mvis > footer > .flex > section > div > header{ font-size:var(--l); }
#seminar_mvis > footer > .flex > section:first-child > div > header{ color:var(--pumpkin); }
#seminar_mvis > footer > .flex > section:last-child > div > header{ color:var(--ashblue); }
#seminar_mvis > footer > .flex > section > div > p{ text-align:center; }
#seminar_mvis > footer > .flex > section > div > p.online{
	line-height:1.8;
	background:var(--tomato);
	color:white;
	vertical-align:middle;
	border-radius:1em;
	width:220px;
	margin:0 auto 4px;
	padding:0 10px;
}
#seminar_mvis > footer > .flex > section > div > p.online::before{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/icons_online.png) scroll no-repeat center center / cover;
	content:'';
	display:inline-block;
	width:25px;
	height:25px;
	vertical-align:middle;
	margin-right:4px;
	margin:-10px 4px -4px 0;
}
#seminar_mvis > footer > .flex > section > div > p.big{ font-size:140%; }
#seminar_mvis > footer > .flex > section > div > ol:not(.onlyone){
	counter-reset:schedule-highlight;
	column-count:2;
}
#seminar_mvis > footer > .flex > section > div > ol > li{ font-size:var(--xs); }
#seminar_mvis > footer > .flex > section > div > ol.onlyone > li{
	font-size:140%;
	text-align:center;
}
#seminar_mvis > footer > .flex > section > div > ol:not(.onlyone) > li::before{
	counter-increment:schedule-highlight;
	content:counter(schedule-highlight) '.';
	font-size:var(--s);
	font-weight:bold;
}
#seminar_mvis > footer > .flex > section:first-child > div > ol:not(.onlyone) > li::before{ color:var(--pumpkin); }
#seminar_mvis > footer > .flex > section:last-child > div > ol:not(.onlyone) > li::before{ color:var(--ashblue); }
#seminar_mvis > footer > .flex > section > div > ul > li{ text-align:center; }
@media screen and (max-width: 980px){
	#seminar_mvis > footer > .flex > section > div > ol:not(.onlyone){ column-count:1; }
	#seminar_mvis > footer > .flex.--2-1{ --units:2; }
	#seminar_mvis > footer > .flex.--2-1 > :nth-child(n){ flex-basis:calc(var(--basis) / var(--units)); }
	#seminar_mvis > footer > .flex > section > div > p.online::before{ margin:-8px 4px -4px 0; }
}
@media screen and (max-width: 768px)
{
	#seminar_mvis > footer{
		max-width:620px;
		margin-top:0;
	}
	#seminar_mvis > footer > .flex > section > div > ol:not(.onlyone){ column-count:2; }
	#seminar_mvis > footer > .flex.--2-1 > :nth-child(n){ flex-basis:100%; }
}
@media screen and (max-width: 660px){
	#seminar_mvis > footer{ max-width:400px; }
	#seminar_mvis > footer > .flex > section > div{ text-align:center; }
	#seminar_mvis > footer > .flex > section > div > ol:not(.onlyone){ column-count:1; }
	#seminar_mvis > footer > .flex > section > div > ol.onlyone > li{ font-size:100%; }
	#seminar_mvis > footer > .flex > section > div > p.online{ width:100%; }
}

/* 募集終了文 */
#seminar .closed{
	background:var(--tomato2);
	padding:20px;
	color:var(--tomato);
	font-size:var(--l);
	text-align:center;
	font-weight:bold;
}
@media screen and (max-width: 768px)
{
	#seminar_mvis > .base{ padding-bottom:1px; }
	#seminar .closed{ margin-top:0; }
}

/* こんなお悩みありませんか？ */
#seminar_problems{
	background:var(--ashblue);
	text-align:center;
	position:relative;
	overflow:hidden;
}
#seminar_problems::before,
#seminar_problems::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	margin:auto;
	border-radius:50%;
}
#seminar_problems::before{
	width:1020px;
	height:1020px;
	background:rgba(0,0,0,.2);
}
#seminar_problems::after{
	width:1120px;
	height:1120px;
	border:30px solid rgba(0,0,0,.2);
}
#seminar_problems > .base{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/interface/fcard.png) scroll no-repeat center top;
	position:relative;
	z-index:1;
}
#seminar_problems > .base > div{ padding:0 var(--gap); }
#seminar_problems h2{
	font-size:var(--xxl);
	color:white;
	letter-spacing:.1em;
	padding-top:40px;
	line-height:1.4;
}
#seminar_problems h2 > br{ display:none; }
#seminar_problems h2::after{
	content:'';
	height:16px;
	background:rgba(239,240,233,0.2);
	display:block;
	max-width:500px;
	margin:-30px auto 0;
}
#seminar_problems h2 > strong{
	color:yellow;
	font-size:150%;
	font-weight:normal;
}
#seminar_problems ul{ padding:20px 0; }
#seminar_problems ul > li{
	font-size:var(--l);
	color:white;
	vertical-align:middle;
	margin:20px;
}
#seminar_problems ul > li::before{
	content:'';
	display:inline-block;
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/icons_check.png) scroll no-repeat center center / cover;
	width:40px;
	height:40px;
	vertical-align:middle;
}
@media screen and (max-width: 1200px)
{
	#seminar_problems::before{
		width:86vw;
		height:86vw;
	}
	#seminar_problems::after{
		width:95vw;
		height:95vw;
		border-width:3vw;
	}
}
@media screen and (max-width: 960px)
{
	#seminar_problems ul > li{ font-size:var(--m); }
}
@media screen and (max-width: 768px)
{
	#seminar_problems::after{ display:none; }
	#seminar_problems::before{
		height:100%;
		border-radius:0;
		width:90vw;
	}
}
@media screen and (max-width: 400px){
	#seminar_problems h2 > br{ display:block; }
	#seminar_problems h2::after{ margin-top:-15px; }
}

/* 選ばれる理由 */
#seminar_reasons > .base > section > div{ position:relative; }
#seminar_reasons > .base > section > div > header{
	color:var(--milk);
	font-weight:bold;
	vertical-align:top;
	display:flex;
	justify-content:flex-end;
	position:absolute;
	left:0;
	right:0;
	z-index:-1;
}
#seminar_reasons > .base > section:nth-child(even) > div > header{ flex-direction:row-reverse; }
#seminar_reasons > .base > section > div > header > small{
	font-size:var(--xxl);
	line-height:1;
	letter-spacing:.1em;
	padding:0 20px;
}
#seminar_reasons > .base > section > div > header > p{
	font-size:200px;
	line-height:1;
	margin-top:-20px;
}
#seminar_reasons > .base > section > div > h3{
	text-align:justify;
	padding-top:40px;
}

/* 卒業生の声 */
#seminar_voices > .base > .flex > section > h3{
	color:var(--tomato);
	font-size:var(--l);
	margin:10px 0;
	font-weight:bold;
}

/* コース */
#seminar_course > .base{ max-width:960px; }
#seminar_course > .base > .alone > section:not(:last-child){
	border-bottom:1px solid var(--tomato);
	margin-bottom:30px;
	padding-bottom:30px;
}
#seminar_course > .base > .alone > section > header{
	display:flex;
	gap:var(--gap);
	justify-content:between;
}
#seminar_course > .base > .alone > section > header > h3{
	width:100%;
	color:var(--tomato);
	font-size:30px;
	letter-spacing:.1em;
}
#seminar_course > .base > .alone > section > header > h3 > small{
	background:var(--winered);
	color:white;
	font-size:var(--s);
	padding:2px 10px;
	display:block;
	max-width:100px;
	letter-spacing:0;
	text-align:center;
	margin-bottom:10px;
}
#seminar_course > .base > .alone > section > header > div{
	width:380px;
	letter-spacing:0;
}
#seminar_course > .base > .alone > section > header > div > p{
	font-size:var(--l);
	text-align:right;
	line-height:1.5;
}
#seminar_course > .base > .alone > section > header > div > div{
	background:var(--winered);
	color:white;
	padding:4px 10px;
	line-height:1.3;
	text-align:center;
	font-size:var(--m);
}
#seminar_course > .base > .alone > section > header > div > div > strong{ font-size:var(--xl); }
#seminar_course > .base > .alone > section > div{
	display:flex;
	gap:20px;
	margin-top:20px;
}
#seminar_course > .base > .alone > section > div > header{
	width:200px;
	position:relative;
}
#seminar_course > .base > .alone > section > div > header > small{
	position:absolute;
	transform:rotate(90deg);
	font-size:var(--xl);
	letter-spacing:.1em;
	right:-20px;
	top:30px;
}
#seminar_course > .base > .alone > section > div > header > p{
	font-size:300px;
	color:white;
	font-weight:bold;
	letter-spacing:0;
	line-height:1;
	margin-top:-30px;
	line-height:1;
}
#seminar_course > .base > .alone > section > div > div{ width:100%; }
#seminar_course > .base > .alone > section > div > div > ul > li{ display:inline-block; }
#seminar_course > .base > .alone > section > div > div > ul > li > span{
	background:var(--tomato);
	color:white;
	text-align:center;
	display:inline-block;
	padding:4px 10px;
	font-size:var(--m);
	margin:5px 0;
	vertical-align:middle;
}
#seminar_course > .base > .alone > section > div > div > ul > li:not(:last-child)::after{
	content:'';
	display:inline-block;
	vertical-align:middle;
	width:24px;
	height:24px;
	margin:0 10px;
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/icons_plus.png) scroll no-repeat center center / cover;
}
#seminar_course > .base > .alone > section > div > div > footer{}
#seminar_course > .base > .alone > section > div > div > footer > h4{
	vertical-align:middle;
	line-height:1;
	padding:4px 10px;
	border-radius:1em;
	background:var(--black);
	color:white;
	text-align:center;
	width:200px;
	z-index:1;
	position:relative;
	margin:20px 0 0 20px;
}
#seminar_course > .base > .alone > section > div > div > footer > h4::before{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/icons_finger.png) scroll no-repeat center center / cover;
	content:'';
	display:inline-block;
	vertical-align:middle;
	width:18px;
	height:18px;
	line-height:1;
	margin:-5px 3px 0 0;
}
#seminar_course > .base > .alone > section > div > div > footer > p{
	border-radius:10px;
	background:white;
	padding:23px 20px 10px;
	margin-top:-13px;
	font-size:var(--xs);
}
@media screen and (max-width: 768px)
{
	#seminar_course > .base > .alone > section > header{ display:block; }
	#seminar_course > .base > .alone > section > header > h3{ font-size:7vw; }
	#seminar_course > .base > .alone > section > header > h3 > small{ margin-bottom:0; }
	#seminar_course > .base > .alone > section > header > div{ width:auto; }
	#seminar_course > .base > .alone > section > header > div > p{
		text-align:left;
		margin-bottom:10px;
	}
	#seminar_course > .base > .alone > section > div > header{ width:20vw; }
	#seminar_course > .base > .alone > section > div > header > p{
		font-size:25vw;
		margin-top:-2vw;
	}
	#seminar_course > .base > .alone > section > div > header > small{
		font-size:4vw;
		right:-4vw;
		top:4vw;
	}
}

/* 日程 */
#seminar_schedule{ border-top:20px solid white; }
#seminar_schedule > .base > .alone > ol{
	background:white;
	counter-reset:n;
	border-radius:20px;
}
#seminar_schedule > .base > .alone > ol > li:not(:last-child){ border-bottom:2px dashed var(--ashblue1); }
#seminar_schedule > .base > .alone > ol > li{
	font-size:var(--xl);
	padding:20px;
	counter-increment:n;
	position:relative;
	overflow:hidden;
}
#seminar_schedule > .base > .alone > ol.onlyone > li{ text-align:center; }
#seminar_schedule > .base > .alone > ol:not(.onlyone) > li{ padding-left:120px; }
#seminar_schedule > .base > .alone > ol:not(.onlyone) > li::before{
	content:counter(n);
	color:var(--ashblue1);
	font-weight:bold;
	font-size:70px;
	position:absolute;
	text-align:center;
	left:0;
	top:0;
	bottom:0;
	width:120px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
#seminar_schedule > .base > .alone > ol > li > span{
	color:var(--ashblue);
	font-weight:bold;
}
#seminar_schedule > .base > .alone > ol.onlyone > li > span{ margin-right:10px; }
#seminar_schedule > .base > .alone > ol:not(.onlyone) > li > span{
	width:260px;
	display:inline-block;
}
@media screen and (max-width: 768px)
{
	#seminar_schedule > .base > .alone > ol:not(.onlyone) > li > span{ width:220px; }
}
@media screen and (max-width: 620px){
	#seminar_schedule > .base > .alone > ol > li{ font-size:var(--m); }
	#seminar_schedule > .base > .alone > ol:not(.onlyone) > li{ padding-left:60px; }
	#seminar_schedule > .base > .alone > ol:not(.onlyone) > li > span{ width:36vw; }
	#seminar_schedule > .base > .alone > ol:not(.onlyone) > li::before{
		font-size:40px;
		width:60px;
	}
}

/* 開催場所 */
#seminar_locations > .base > .flex > div > section:not(:first-child){ padding-top:40px; }
#seminar_locations > .base > .flex > div > section > h4{ margin-bottom:10px; }
#seminar_locations > .base > .flex > div > section > h4 > img{
	max-width:none;
	height:var(--xl);
	display:inline-block;
	margin:5px 0;
}
#seminar_locations > .base > .flex > div > section > ul{
	display:flex;
	gap:10px;
}
#seminar_locations > .base > .flex > div > section > ul > li{ flex-basis:calc((100% - 20px) / 3); }
#seminar_locations > .base > .flex > div > section > ul > li > a{ display:block; }

/* 特典見出し */
#seminar_campaigns{
	border-top:20px solid var(--jetblack);
	border-bottom:20px solid var(--jetblack);
	background:var(--ashblue1) url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/bg_campaigns.png) scroll no-repeat center top / 100%;
}
#seminar_campaigns > header{
	width:600px;
	padding:0 110px;
	position:relative;
	height:250px;
	margin:60px auto 20px;
}
#seminar_campaigns > header::before,
#seminar_campaigns > header::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	width:90px;
}
#seminar_campaigns > header::before{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/campaigns_laurel_l.png) scroll no-repeat left top / contain;
	left:0;
}
#seminar_campaigns > header::after{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/campaigns_laurel_r.png) scroll no-repeat right top / contain;
	right:0;
}
#seminar_campaigns > header > h3{
	height:60px;
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	align-items:center;
	color:var(--ashblue);
	font-weight:bold;
}
#seminar_campaigns > header > h2{
	font-size:66px;
	letter-spacing:.1em;
	text-align:center;
	color:var(--jetblack);
	line-height:1;
	border-bottom-width:2px;
	border-style:solid;
	border-image-source:linear-gradient(
		90deg,
		rgb(246,173,60) 0%,
		rgb(236,211,24) 50%,
		rgb(246,173,60) 100%
	);
	border-image-slice:1;
	position:absolute;
	left:110px;
	right:110px;
	bottom:60px;
}
#seminar_campaigns > header > h2 > strong{ font-size:130px; }
#seminar_campaigns > header > p{
	font-size:36px;
	text-align:center;
	font-weight:bold;
	line-height:1.6;
	position:absolute;
	left:110px;
	right:110px;
	bottom:0;
}
@media screen and (max-width: 768px)
{
	#seminar_campaigns > header{
		width:80vw;
		padding:0 11vw;
		height:25vw;
	}
	#seminar_campaigns > header::before,
	#seminar_campaigns > header::after{
		width:9vw;
		height:25vw;
	}
	#seminar_campaigns > header > h3{ display:none; }
	#seminar_campaigns > header > h2{
		font-size:7vw;
		left:11vw;
		right:11vw;
		bottom:10vw;
	}
	#seminar_campaigns > header > h2 > strong{ font-size:10vw; }
	#seminar_campaigns > header > p{
		font-size:3vw;
		left:11vw;
		right:11vw;
		bottom:2vw;
	}
}

/* 特典本体 */
#seminar_campaigns > .base > section{ margin:var(--gap); }
#seminar_campaigns > .base > section > header > img{
	position:relative;
	z-index:2;
	margin:0;
}
#seminar_campaigns > .base > section > div{
	background:white;
	border:4px solid rgb(237,160,152);
	position:relative;
	padding:20px;
	display:flex;
	gap:20px;
	align-items:flex-start;
}
#seminar_campaigns > .base > section > div::before,
#seminar_campaigns > .base > section > div::after{
	content:'';
	display:block;
	width:250px;
	height:250px;
	position:absolute;
}
#seminar_campaigns > .base > section > div::before{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/campaigns_decoration_lowerleft.png) scroll no-repeat left bottom / contain;
	left:calc(var(--gap) * -1);
	bottom:calc(var(--gap) * -1);
}
#seminar_campaigns > .base > section > div::after{
	background:url(https://jh-academy.or.jp/wp-content/themes/jh-academy/images/article/seminars/campaigns_decoration_upperright.png) scroll no-repeat right top / contain;
	right:calc(var(--gap) * -1);
	top:calc(var(--gap) * -1);
}
#seminar_campaigns > .base > section > div > figure{
	border-radius:20px;
	overflow:hidden;
	width:390px;
}
#seminar_campaigns > .base > section > div > div{ width:100%; }
#seminar_campaigns > .base > section > div > div > header{
	color:var(--jetblack);
	font-size:var(--m);
	line-height:1.5;
}
#seminar_campaigns > .base > section > div > div > p{
	font-size:var(--xl);
	vertical-align:middle;
	line-height:1.5;
	margin-bottom:10px;
}
#seminar_campaigns > .base > section > div > div > p > span{
	font-size:var(--l);
	border:1px solid var(--black);
	padding:2px 10px;
	margin-right:10px;
	vertical-align:middle;
}
#seminar_campaigns > .base > section > div > div > p strong{ font-weight:bold; }
#seminar_campaigns > .base > section > div > div > h3 > span:first-child{
	display:block;
	color:var(--jetblack);
	font-size:40px;
	line-height:50px;
	margin-bottom:10px;
}
#seminar_campaigns > .base > section > div > div > h3 > span:first-child > strong{
	font-size:60px;
	line-height:50px;
}
#seminar_campaigns > .base > section > div > div > h3 > span:last-child{
	display:block;
	color:var(--tomato);
	font-size:40px;
	line-height:80px;
}
#seminar_campaigns > .base > section > div > div > h3 > span:last-child > img{
	width:68px;
	height:68px;
	margin:0;
	display:inline-block;
}
#seminar_campaigns > .base > section > div > div > h3 > span:last-child > strong{
	font-size:80px;
	line-height:80px;
}
@media screen and (max-width: 960px)
{
	#seminar_campaigns > .base > section > div > div > header{ font-size:var(--s); }
	#seminar_campaigns > .base > section > div > div > p{
		font-size:var(--l);
		margin-bottom:5px;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:first-child{
		font-size:24px;
		line-height:50px;
		margin-bottom:5px;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:first-child > strong{
		font-size:40px;
		line-height:50px;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:last-child{
		font-size:24px;
		line-height:50px;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:last-child > strong{
		font-size:50px;
		line-height:50px;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:last-child > img{
		width:50px;
		height:50px;
	}
}
@media screen and (max-width: 768px)
{
	#seminar_campaigns > .base{ max-width:600px; }
	#seminar_campaigns > .base > section > header > img{ max-width:50vw; }
	#seminar_campaigns > .base > section > div{
		flex-direction:column;
		text-align:center;
	}
	#seminar_campaigns > .base > section > div::before,
	#seminar_campaigns > .base > section > div::after{
		width:35vw;
		height:35vw;
	}
	#seminar_campaigns > .base > section > div > figure{ width:auto; }
	#seminar_campaigns > .base > section > div > div > p{ text-align:center; }
	#seminar_campaigns > .base > section > div > div > h3 > span:first-child{
		font-size:5vw;
		line-height:7vw;
		margin-bottom:1vw;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:first-child > strong{
		font-size:7vw;
		line-height:7vw;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:last-child{
		font-size:6vw;
		line-height:8vw;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:last-child > strong{
		font-size:8vw;
		line-height:8vw;
	}
	#seminar_campaigns > .base > section > div > div > h3 > span:last-child > img{
		width:8vw;
		height:8vw;
	}
}

/* お申し込みの流れ */
#seminar_flow{ counter-reset:n; }
#seminar_flow > div > section{
	position:relative;
	margin:0 auto 40px;
	background:#f5f5f5;
	counter-increment:n;
	padding:10px 20px 10px 140px;
	min-height:120px;
}
#seminar_flow > div > section:not(:last-child)::after{
	content:'';
	display:block;
	position:absolute;
	bottom:-30px;
	left:50%;
	margin-left:-50px;
	width:0;
	height:0;
	border-top:30px solid var(--black);
	border-right:50px solid transparent;
	border-left:50px solid transparent;
}
#seminar_flow > div > section > h3::before{
	content:'FLOW';
	transform:rotate(90deg);
	width:120px;
	height:120px;
	display:block;
	position:absolute;
	left:0;
	top:0;
	text-align:center;
	font-size:14px;
	padding-top:30px;
	color:var(--black3);
	z-index:1;
}
#seminar_flow > div > section > h3::after{
	content:counter(n);
	width:120px;
	height:120px;
	display:block;
	position:absolute;
	left:0;
	top:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	font-size:100px;
	color:white;
	font-weight:bold;
	line-height:120px;
}
@media screen and (max-width: 768px)
{
	#seminar_flow > div > section{
		padding-left:100px;
		min-height:80px;
	}
	#seminar_flow > div > section > h3::before{
		width:80px;
		height:80px;
		padding-top:10px;
	}
	#seminar_flow > div > section > h3::after{
		width:80px;
		height:80px;
		line-height:80px;
		font-size:70px;
	}
}

/* 当日の持ち物 */
#seminar_belongings > div{
	background:#f5f5f5;
	background:var(--tomato1);
	padding:20px;
	font-size:var(--l);
}

/* よくあるご質問 */
#seminar_faqs > div > section:not(:first-child){ margin-top:20px; }
#seminar_faqs > div > section > h3{
	font-size:var(--m);
	color:var(--ashblue);
}
#seminar_faqs > div > section > p{ font-size:var(--xs); }

/* CTA */
#seminar_application > header{ padding:40px 20px; }
#seminar_application > header::before,
#seminar_application > header::after{
	content:'';
	max-width:512px;
	display:block;
	margin:40px auto;
	border-top:2px dashed var(--winered);
}
#seminar_application > header > h2{
	font-size:60px;
	color:var(--jetblack);
	text-align:center;
	letter-spacing:.1em;
}
#seminar_application > header > p{
	color:var(--tomato);
	font-size:var(--xl);
	text-align:center;
	letter-spacing:.1em;
	position:relative;
	padding-bottom:30px;
}
#seminar_application > header > p::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-30px;
	width:0;
	height:0;
	border-top:30px solid var(--tomato);
	border-right:30px solid transparent;
	border-left:30px solid transparent;
}
#seminar_application > .flex > figure{
	display:flex;
	flex-direction:column;
	gap:20px;
	justify-content:center;
}
#seminar_application > .flex > figure > *{ display:block; }
#seminar_application > .flex > div > .seminardetails{}
#seminar_application > .flex > div > .closed{ margin-top:30px; }
#seminar_application > .flex > div > footer > h3{
	text-align:center;
	margin:5px 0;
	font-size:var(--m);
}
#seminar_application > .flex > div > footer > div{
	display:flex;
	flex-direction:column;
	align-items:center;
	border:1px solid var(--black);
	padding:15px 20px;
}
#seminar_application > .flex > div > footer > div > div{ display:inline-block; }
#seminar_application > .flex > div > footer > div > div > span{
	border:1px solid var(--black);
	border-radius:1em;
	padding:2px 10px;
	margin-right:4px;
	font-size:90%;
}
#seminar_application > .flex > div > footer > div > div > h4{ margin:10px 0 0; }
#seminar_application > .flex > div > footer > div > div > .bigtel{ line-height:1.5; }
#seminar_application > .flex > div > footer > div > div > .bigtel > a{ font-size:var(--xxl); }
@media screen and (max-width: 1200px)
{
	#seminar_application > header > h2{
		font-size:5vw;
		letter-spacing:.1vw;
	}
}
@media screen and (max-width: 960px)
{
	#seminar_application > .flex > figure{ flex-direction:row; }
	#seminar_application > .flex > figure > *{ flex-basis:50%; }
}
@media screen and (max-width: 768px)
{
	#seminar_application > header > p{ font-size:var(--l); }
}

/* 申し込みボタン */
.seminar_app{
	position:relative;
	margin:30px auto;
	max-width:600px;
	padding-right:20px;
	padding-left:20px;
}
.seminar_app > *{
	background:linear-gradient(var(--winered8), rgb(83,0,0));
	border-radius:50px;
	box-shadow:0 2px 5px rgba(57,0,0,0.3);
	display:block;
	position:relative;
	top:0;
	transition:top .1s ease-in-out, box-shadow .1s ease-in-out, background .1s ease-in-out;
}
.seminar_app > a:hover{
	background:linear-gradient(var(--winered6), rgb(109,0,25));
	box-shadow:0 12px 20px rgba(57,0,0,0.2);
	top:-10px;
}
.seminar_app > a:active{
	background:linear-gradient(var(--winered7), rgb(96,0,4));
	box-shadow:0 7px 12px rgba(57,0,0,0.3);
	top:-5px;
}
.seminar_app > span{
	cursor:not-allowed;
	font-size:var(--xl);
	color:white;
	text-align:center;
	padding:20px;
}
#seminar_application >.flex > div > .seminar_app{
	padding-right:0;
	padding-left:0;
}
@media screen and (max-width: 768px)
{
	.seminar_app > a:hover{
		box-shadow:0 8px 12px rgba(57,0,0,0.2);
		top:-6px;
	}
	.seminar_app > a:active{
		box-shadow:0 5px 8px rgba(57,0,0,0.3);
		top:-3px;
	}
}

/**
* その他
----------------------------------------------------------------*/
#pager{
	padding:20px;
	text-align:center;
}
#pager > ul > li{
	display:inline-block;
}
#pager > ul > li > *{
	border:1px solid var(--black);
	padding:10px;
	display:inline-block;
}
#pager > ul > li > span{
	background:var(--ashblue2);
	border:1px solid var(--ashblue5);
	color:var(--ashblue);
}
#pager > ul > li > a:hover{
	background:var(--ashblue2);
}

/**
 * フォーム
----------------------------------------------------------------*/
/* リッチフォーム初期設定 */
.richform{

	/* 配色 */
	--black:var(--black);
	--gray:var(--gray);
	--silver:var(--silver);
	--blue:var(--sub);
	--blue-disabled:var(--sub5);
	--white:white;
	--red:crimson;
	--default-color:rgba(0,0,0,0);

}
:focus{ outline:none; }

/* 入力フォーム */
.richform input[type="text"],
.richform input[type="tel"],
.richform input[type="email"],
.richform textarea{
	background:white;
	border:1px solid #ccc !important;
}

/* ラジオボタン */
.richform .radio input[type="radio"] + span{
	background:white;
	border:1px solid #ccc;
	padding:.2em .5em;
}
.richform .radio input[type="radio"]:checked + span{
	background:var(--sub);
	color:white;
}
.richform .radio .wpcf7-list-item{ margin:0; }
.richform .radio .wpcf7-list-item:not(:first-child) input[type="radio"] + span{
	border-top-left-radius:0;
	border-bottom-left-radius:0;
}
.richform .radio .wpcf7-list-item:not(:last-child) input[type="radio"] + span{
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	border-right:0;
}

/* 必須 */
.richform th{ position:relative; }
.richform th::before{
	position:absolute;
	content:'任意';
	background:var(--sub5);
	color:white;
	border-radius:4px;
	display:inline-block;
	padding:0 10px;
	font-size:12px;
	line-height:1.5;
	margin-top:6px;
}
.richform th.req::before{
	content:'必須';
	background:var(--tomato);
}
.richform th p{ padding-left:55px; }

/* 送信ボタン */
.richform .submit{ padding:40px 20px; }
.richform .submit,
.richform .submit p{ text-align:center; }
.richform input[type="submit"]{
	padding:10px 100px;
}
.richform input[type="submit"]:hover{
	background:var(--sub5);
	color:white;
}
.richform .wpcf7-spinner{
	display:block !important;
	margin:20px auto !important;
}

/* スマホ */
@media screen and (max-width: 768px){
	.richform table,
	.richform table thead,
	.richform table tbody,
	.richform table tr,
	.richform table th,
	.richform table td{ 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:10px 0;
}
.content h2{ font-size:var(--xxl); }
.content h3{ font-size:var(--xl); }
.content h4{ font-size:var(--l); }
.content h5{ font-size:var(--m); }
.content h6{ font-size:var(--s); }

/* リスト */
.content ul,
.content ol{ margin:10px 0; }
.content ul > li::before{
	content:'●';
	color:var(--sub);
}
.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{ margin:40px 0; }
.wp-block-button__link:hover{ opacity:.7; }

/* 画像 */
.wp-block-image{ margin:20px 0; }