/*
Theme Name:はちななラボ
Author:猫缶工房
Author URI:https://mick39.com
Description:「はちななラボ」様のサイト専用テーマ（Gutenberg対応）
Version:1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Noto+Sans+JP:wght@100..900&display=swap');
*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}
html{
	font-size:10px;
	scroll-behavior:smooth;
	scroll-padding-top:8rem;
}
@media screen and (width < 1200px){
	html{
		font-size:calc(10 / 1200 * 100vw);
	}
}
@media screen and (width < 768px){
	html{
		font-size:calc(10 / 375 * 100vw);
		scroll-padding-top:3.5rem;
	}
}
body {
	font-family:"Noto Sans JP", sans-serif;
	font-size:1.6rem;
	line-height:2;
	color:#333;
}
@media screen and (width < 768px){
	body {
		font-size:1.4rem;
	}
}
img{
	display:block;
	width:100%;
	height:auto;
}

/* ページ
---------------------------------- */
.oPage{
	padding-top:8rem;
}
@media screen and (width < 768px){
	.oPage{
		padding-top:3.5rem;
	}
}

/* ヘッダー
---------------------------------- */
.oHeader{
	position:fixed;
	width:100%;
	left:0;
	top:0;
	z-index:9000;
	background:#fff;
	height:8rem;
}
.oHeader_logo{
	width:12rem;
	height:12rem;
	border-radius:50%;
	background:#fff;
	position:absolute;
	margin:0 auto;
	left:0;
	top:0;
	right:0;
	z-index:9000;
}
.oHeader_logo > a{
	display:block;
	width:100%;
	height:100%;
	position:relative;
	border-radius:50%;
	box-shadow:0 0 0.5rem 0 rgba(0,0,0,0.5);
}
.oHeader_logo > a::before,
.oHeader_logo > a::after{
	content:'';
	display:block;
	border-radius:50%;
	position:absolute;
	margin:auto;
	left:0;
	right:0;
	top:0;
	bottom:0;
}
.oHeader_logo > a::before{
	width:100%;
	height:100%;
	background:conic-gradient(
		#fcbd34 0 72deg,
		#ff93e2 72deg 144deg,
		#c66cd6 144deg 216deg,
		#9c59d4 216deg 288deg,
		#7370d9 288deg 360deg
	);
	transition:transform 0.5s ease 0s;
}
.oHeader_logo > a::after{
	width:80%;
	height:80%;
	background:#fff;
	transition:background 0.5s ease 0s;
}
.oHeader_logo > a > img{
	position:absolute;
	top:20%;
	left:0;
	right:0;
	width:50%;
	margin:0 auto;
	z-index:1;
	filter:invert(0);
	transition:filter 0.5s ease 0s;
}
@media (hover){
	.oHeader_logo > a:hover::before{
		transform:rotate(360deg);
	}
	.oHeader_logo > a:hover::after{
		background:#333;
	}
	.oHeader_logo > a:hover > img{
		filter:invert(1);
	}
}
.oHeader_menu{
	height:100%;
	box-shadow:0 0 1rem 0 rgba(0,0,0,0.5);
}
.oHeader_menu > ul{
	width:100%;
	list-style-type:none;
	width:100%;
	height:100%;
	display:grid;
	grid-template-columns:repeat(4,1fr);
}
.oHeader_menu > ul > li > a{
	display:block;
	font-family:"Anton", sans-serif;
	font-weight:400;
	text-decoration:none;
	color:#333;
	display:grid;
	width:100%;
	height:100%;
	justify-content:center;
	align-content:center;
	border-top:solid 0.4rem #333;
	line-height:1;
	padding-top:1rem;
	text-align:center;
	position:relative;
}
.oHeader_menu > ul > li > a::after{
	content:'';
	display:block;
	width:0;
	height:0;
	margin:0.8rem auto 0;
	border-top:solid 0.8rem #333;
	border-left:solid 0.75rem transparent;
	border-right:solid 0.75rem transparent;
}
.oHeader_menu > ul > li > a > small,
.oHeader_menu > ul > li > a > span{
	display:block;
}
.oHeader_menu > ul > li > a > small{
	font-size:2.7rem;
	position:relative;
	width:fit-content;
}
.oHeader_menu > ul > li > a > small::before{
	content:'';
	display:block;
	width:3rem;
	height:5rem;
	background:#333;
	mask:url(parts/logomark.svg) no-repeat center center / contain;
	position:absolute;
	left:-4.5rem;
	top:-3rem;
	bottom:-3rem;
	margin:auto 0;
	opacity:0;
	transition:opacity 0.5s ease 0s;
}
.oHeader_menu > ul > li > a > span{
	font-size:1.4rem;
	font-weight:700;
	position:absolute;
	background:#eee;
	display:grid;
	align-content:center;
	justify-content:center;
	text-align:center;
	left:0;
	right:0;
	bottom:-4rem;
	pointer-events:none;
	height:3rem;
	border-radius:1.5rem;
	padding:0 0 0.1rem;
	margin:0 auto;
	width:20rem;
	box-shadow:0 0 0.5rem 0 rgba(0,0,0,0.2);
	opacity:0;
	transform:translateY(-1rem);
	transition:
		transform 0.5s ease 0s,
		opacity 0.5s ease 0s;
}
.oHeader_menu > ul > li:nth-child(1) > a,
.oHeader_menu > ul > li:nth-child(1) > a::after{
	border-top-color:#fcbd34;
}
.oHeader_menu > ul > li:nth-child(1) > a > small::before{
	width:3rem;
	mask-image:url(parts/logomark.svg);
	left:-4.5rem;
}
.oHeader_menu > ul > li:nth-child(1) > a > span{
	background:#feebb2;
}
.oHeader_menu > ul > li:nth-child(2) > a,
.oHeader_menu > ul > li:nth-child(2) > a::after{
	border-top-color:#ff93e2;
}
.oHeader_menu > ul > li:nth-child(2) > a > small::before{
	width:2.6rem;
	mask-image:url(parts/ico_mic.svg);
	left:-4.1rem;
}
.oHeader_menu > ul > li:nth-child(2) > a > span{
	background:#fccff0;
}
.oHeader_menu > ul > li:nth-child(3) > a,
.oHeader_menu > ul > li:nth-child(3) > a::after{
	border-top-color:#c66cd6;
}
.oHeader_menu > ul > li:nth-child(3) > a > small::before{
	width:3.6rem;
	mask-image:url(parts/ico_faq.svg);
	left:-5.1rem;
}
.oHeader_menu > ul > li:nth-child(3) > a > span{
	background:#e4b1ff;
}
.oHeader_menu > ul > li:nth-child(4) > a,
.oHeader_menu > ul > li:nth-child(4) > a::after{
	border-top-color:#7370d9;
}
.oHeader_menu > ul > li:nth-child(4) > a > small::before{
	width:3.8rem;
	mask-image:url(parts/ico_mail.svg);
	left:-5.3rem;
}
.oHeader_menu > ul > li:nth-child(4) > a > span{
	background:#beacff;
}
@media (hover){
	.oHeader_menu > ul > li > a:hover > small::before{
		opacity:1;
	}
	.oHeader_menu > ul > li > a:hover > span{
		opacity:1;
		transform:translateY(0);
	}
}
@media screen and (width < 768px){
	.oHeader{
		height:3.5rem;
	}
	.oHeader_logo{
		width:6rem;
		height:6rem;
	}
	.oHeader_logo > a{
		border-top-width:0.3rem;
		box-shadow:0 0 0.3rem 0 rgba(0,0,0,0.5);
	}
	.oHeader_logo > a::after{
		width:90%;
		height:90%;
	}
	.oHeader_logo > a > img{
		top:15%;
		width:60%;
	}
	.oHeader_menu > ul > li > a{
		border-top-width:0.3rem;
		padding-top:0.5rem;
	}
	.oHeader_menu > ul > li > a::after{
		margin:0.4rem auto 0;
		border-width:0.4rem 0.2rem 0;
	}
	.oHeader_menu > ul > li > a > small{
		font-size:1.2rem;
	}
	.oHeader_menu > ul > li > a > small::before{
		width:1.8rem;
		height:3rem;
		left:-2.7rem;
		top:-1.8rem;
		bottom:-1.8rem;
	}
	.oHeader_menu > ul > li > a > span{
		font-size:0.6rem;
		bottom:-2rem;
		height:1.5rem;
		border-radius:0.75rem;
		padding:0 0 0.1rem;
		width:7rem;
		box-shadow:0 0 0.5rem 0 rgba(0,0,0,0.2);
		transform:translateY(-1rem);
	}
	.oHeader_menu > ul > li:nth-child(1) > a > small::before{
		width:0.9rem;
		left:-1.32rem;
	}
	.oHeader_menu > ul > li:nth-child(2) > a{
		padding-right:3rem;
	}
	.oHeader_menu > ul > li:nth-child(2) > a > small::before{
		width:0.72rem;
		left:-1.2rem;
	}
	.oHeader_menu > ul > li:nth-child(2) > a > span{
		right:2rem;
		left:-2rem;
	}
	.oHeader_menu > ul > li:nth-child(3) > a{
		padding-left:3rem;
	}
	.oHeader_menu > ul > li:nth-child(3) > a > small::before{
		width:1.08rem;
		left:-1.5rem;
	}
	.oHeader_menu > ul > li:nth-child(3) > a > span{
		left:2rem;
		right:-2rem;
	}
	.oHeader_menu > ul > li:nth-child(4) > a > small::before{
		width:1.08rem;
		left:-1.56rem;
	}
}

/* コンテンツ
---------------------------------- */
.oContents{
	padding-bottom:8rem;
	background:#eee;
}
body.slug-home .oContents,
body.slug-recruit .oContents,
body.slug-workshop .oContents,
body.slug-bs87 .oContents{
	background:#fff;
	padding-bottom:0;
}
@media screen and (width < 768px){
	.oContents{
		padding-bottom:4rem;
	}
}

/* ページの先頭へ
---------------------------------- */
.oGotop{
	position:sticky;
	right:2rem;
	bottom:2rem;
	width:6rem;
	height:6rem;
	border-radius:50%;
	overflow:hidden;
	box-shadow:0 0 0.5rem 0 rgba(0,0,0,0.2);
	margin:0 2rem -6rem auto;
	z-index:9990;
}
body.home .oGotop{
	margin:-8rem 2rem 2rem auto;
}
.oGotop > a{
	display:block;
	width:100%;
	height:100%;
	background:#333;
	border-radius:50%;
	transition:all 0.5s ease 0s;
}
.oGotop > a::before{
	content:'';
	display:block;
	mask:url(parts/ico_gotop.svg) no-repeat center center / 50% 50%;
	background:#fff;
	transition:all 0.5s ease 0s;
	width:100%;
	height:100%;
}
.oGotop > a > span{
	display:none;
}
@media (hover){
	.oGotop > a:hover{
		background:#fff;
	}
	.oGotop > a:hover::before{
		background:#333;
	}
}
@media screen and (width < 768px){
	.oGotop{
		right:1rem;
		bottom:1rem;
		width:4rem;
		height:4rem;
		box-shadow:0 0 0.2rem 0 rgba(0,0,0,0.2);
		margin:0 1rem -5rem auto;
	}
	body.home .oGotop{
		margin:-5rem 1rem 1rem auto;
	}
}

/* フッター
---------------------------------- */
.oFooter{
	padding:1.7rem 2rem 1.5rem;
	background:#333;
	color:#fff;
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	position:relative;
	gap:2rem 2rem;
	height:7rem;
}
.oFooter::before{
	position:absolute;
	left:0;
	top:0;
	content:'';
	display:block;
	width:100%;
	height:0.2rem;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
}
.oFooter_logo{
	width:16rem;
}
.oFooter_logo > a{
	display:block;
	position:relative;
	width:100%;
}
.oFooter_logo > a::before,
.oFooter_logo > a::after{
	position:absolute;
	content:'';
	display:block;
	width:100%;
	height:100%;
	mask:url(parts/logoset.svg) no-repeat center center / contain;
	transition:opacity 0.5s ease 0s;
	left:0;
	top:0;
}
.oFooter_logo > a::before{
	opacity:0;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
}
.oFooter_logo > a::after{
	background:#fff;
}
.oFooter_logo > a > img{
	display:block;
	width:100%;
	height:auto;
	opacity:0;
}
.oFooter_policy{
	background:#333;
	color:#fff;
	position:relative;
	list-style-type:none;
	font-size:1.2rem;
	display:grid;
	grid-template-columns:auto auto;
	justify-content:end;
	gap:2rem 2rem;
}
.oFooter_policy a{
	color:#fff;
	position:relative;
	display:inline-block;
	background:linear-gradient(0deg, #333 0%, #333 100%) no-repeat left bottom / 100% 1px;
	padding:0.6em 0 0.2em;
	text-decoration:none;
	transition:color 0.5s ease 0s;
}
.oFooter_policy a::before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:1px;
	background:linear-gradient(0deg, #fcbd34 0%, #fcbd34 100%) no-repeat left bottom / 100% 1px;
	transform:scaleX(0);
	transition:transform 0.5s ease 0s;
	transform-origin:right bottom;
}
.oFooter_copy{
	line-height:1;
}
.oFooter_copy > p > small{
	font-size:1.2rem;
}
@media (hover){
	.oFooter_logo > a:hover::before{
		opacity:1;
	}
	.oFooter_logo > a:hover::after{
		opacity:0;
	}
	.oFooter_policy a:hover{
		color:#fcbd34;
	}
	.oFooter_policy a:hover::before{
		transform:scaleX(1);
		transform-origin:left bottom;
	}
}
@media screen and (width < 768px){
	.oFooter{
		padding:0.8rem 1rem 0.75rem;
		background:#333;
		color:#fff;
		display:grid;
		grid-template-columns:auto 1fr;
		grid-template-rows:auto auto;
		align-content:center;
		align-items:center;
		gap:0 1rem;
		height:5rem;
	}
	.oFooter::before{
		height:0.1rem;
	}
	.oFooter_logo{
		width:10rem;
		grid-row:1 / -1;
	}
	.oFooter_policy{
		font-size:1rem;
		gap:0 1rem;
	}
	.oFooter_policy a{
		padding:0.2em 0;
	}
	.oFooter_copy{
		margin-top:0;
		text-align:right;
	}
	.oFooter_copy > p > small{
		font-size:1rem;
		text-align:right;
	}
}

/* ----------------------------------
   共通レスポンシブ設定
---------------------------------- */
.wp-block {
}

/* 幅広・全幅対応 */
.alignwide {
	max-width:1200px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}
.alignfull {
	width:100vw;
	margin-left:calc(-50vw + 50%);
}

/* スマホ用調整 */
@media (max-width:768px) {
	.alignwide,
	.alignfull {
		width:100%;
		margin-left:0;
		margin-right:0;
	}
	.wp-block-columns {
		flex-direction:column;
	}
	.wp-block-gallery .blocks-gallery-item {
		flex:1 1 100% !important;
	}
}

/* ----------------------------------
   段落ブロック
---------------------------------- */
.wp-block-paragraph {
	margin-top:0;
	margin-bottom:1em;
	line-height:1.6;
	font-size:1rem;
}

/* ----------------------------------
   見出しブロック
---------------------------------- */
.wp-block-heading h1 { font-size:2.25rem; margin-top:0; margin-bottom:0.5em; line-height:1.2; }
.wp-block-heading h2 { font-size:2rem; margin-top:0; margin-bottom:0.5em; line-height:1.25; }
.wp-block-heading h3 { font-size:1.75rem; margin-top:0; margin-bottom:0.5em; line-height:1.3; }
.wp-block-heading h4 { font-size:1.5rem; margin-top:0; margin-bottom:0.5em; line-height:1.35; }
.wp-block-heading h5 { font-size:1.25rem; margin-top:0; margin-bottom:0.5em; line-height:1.4; }
.wp-block-heading h6 { font-size:1rem; margin-top:0; margin-bottom:0.5em; line-height:1.4; }

/* ----------------------------------
   画像ブロック
---------------------------------- */
.wp-block-image img {
	max-width:100%;
	height:auto;
	display:block;
	margin-top:0;
	margin-bottom:1em;
}

/* ----------------------------------
   ギャラリーブロック
---------------------------------- */
.wp-block-gallery {
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	margin-top:0;
	margin-bottom:1em;
}
.wp-block-gallery .blocks-gallery-item {
	flex:1 1 calc(33.333% - 1em);
}

/* ----------------------------------
   リストブロック
---------------------------------- */
.wp-block-list ul,
.wp-block-list ol {
	margin-top:0;
	margin-bottom:1em;
	padding-left:1.5em;
}
.wp-block-list li {
	margin-bottom:0.25em;
}

/* ----------------------------------
   引用ブロック
---------------------------------- */
.wp-block-quote {
	border-left:4px solid #ccc;
	padding-left:1em;
	margin-top:0;
	margin-bottom:1em;
	font-style:italic;
}
.wp-block-quote cite {
	display:block;
	margin-top:0.5em;
	font-style:normal;
	font-size:0.875em;
}

/* ----------------------------------
   Pullquoteブロック
---------------------------------- */
.wp-block-pullquote {
	border-left:4px solid #0073aa;
	padding-left:1em;
	margin-top:0;
	margin-bottom:1em;
	font-style:italic;
}

/* ----------------------------------
   カバーブロック
---------------------------------- */
.wp-block-cover {
	position:relative;
	background-size:cover;
	background-position:center;
	color:#fff;
	padding:2em;
	margin-top:0;
	margin-bottom:1em;
}

/* ----------------------------------
   ボタンブロック
---------------------------------- */
.wp-block-button .wp-block-button__link {
	background-color:#0073aa;
	color:#fff;
	padding:0.5em 1.2em;
	border-radius:4px;
	text-decoration:none;
	display:inline-block;
}
.wp-block-button .wp-block-button__link:hover {
	background-color:#005177;
}

/* ----------------------------------
   グループブロック
---------------------------------- */
.wp-block-group {
	padding:1em;
	margin-top:0;
	margin-bottom:1em;
	background-color:#f8f8f8;
}

/* ----------------------------------
   カラムブロック
---------------------------------- */
.wp-block-columns {
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	margin-top:0;
	margin-bottom:1em;
}
.wp-block-column {
	flex:1 1 0;
}

/* ----------------------------------
   テーブルブロック
---------------------------------- */
.wp-block-table {
	width:100%;
	border-collapse:collapse;
	margin-top:0;
	margin-bottom:1em;
}
.wp-block-table td,
.wp-block-table th {
	border:1px solid #ccc;
	padding:0.5em;
}

/* ----------------------------------
   埋め込み・動画・音声ブロック
---------------------------------- */
.wp-block-embed,
.wp-block-video,
.wp-block-audio {
	max-width:100%;
	margin-top:0;
	margin-bottom:1em;
}

/* ----------------------------------
   コード・カスタムHTML・ショートコード・ファイル
---------------------------------- */
.wp-block-code {
	background-color:#f5f5f5;
	padding:1em;
	font-family:monospace;
	margin-top:0;
	margin-bottom:1em;
}
.wp-block-custom-html,
.wp-block-shortcode,
.wp-block-file {
	margin-top:0;
	margin-bottom:1em;
}

/* ----------------------------------
   最新投稿ブロック
---------------------------------- */
.wp-block-latest-posts {
	margin-top:0;
	margin-bottom:1em;
}
.wp-block-latest-posts li {
	margin-bottom:0.5em;
}

/* ----------------------------------
   区切り線ブロック
---------------------------------- */
.wp-block-separator {
	border:none;
	border-top:2px solid #ccc;
	margin:1em 0;
}

/* ----------------------------------
   汎用状態・スタイルクラス
---------------------------------- */
.alignleft { float:left; margin-right:1em; margin-bottom:1em; }
.alignright { float:right; margin-left:1em; margin-bottom:1em; }
.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.has-background { background-color:inherit; }
.has-text-color { color:inherit; }
.has-large-font-size { font-size:1.5rem; }
.has-small-font-size { font-size:0.875rem; }
.is-style-rounded { border-radius:8px; }
.is-style-default { border-radius:0; }

/* メインビジュアル
---------------------------------- */
.oMv{
	display:grid;
	list-style-type:none;
	grid-template-columns:repeat(5,1fr);
	height:40rem;
}
.oMv > li > a{
	display:grid;
	width:100%;
	height:100%;
	text-decoration:none;
	color:#fff;
	position:relative;
	padding:2.5rem 2rem 2rem;
	overflow:hidden;
	transition:color 0.5s ease 0s;
}
.oMv > li > a::before,
.oMv > li > a::after{
	content:'';
	display:block;
	position:absolute;
}
.oMv > li > a::before{
	width:auto;
	height:auto;
	z-index:1;
	left:1rem;
	right:1rem;
	top:1rem;
	bottom:1rem;
	transition:transform 0.3s ease 0s;
	background:#ccc;
	transform-origin:center center;
	transform:scale(0);
}
.oMv > li > a::after{
	background:#fff;
	mask:url(parts/ico_casting.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
}
.oMv > li > a > small,
.oMv > li > a > span{
	display:block !important;
	position:relative;
	z-index:10;
}
.oMv > li > a > small{
	font-size:4.8rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
}
.oMv > li > a > span{
	font-size:1.8rem;
	line-height:1.75;
	font-weight:500;
}
.oMv > li > a[href="#Casting"]{
	background:#fcbd34;
	align-content:end;
	justify-content:start;
}
.oMv > li > a[href="#Casting"]::before{
	background:#ffce38;
}
.oMv > li > a[href="#Casting"]::after{
	background:#ffce38;
	width:33rem;
	height:40rem;
	left:1.5rem;
	top:-2.5rem;
	mask-image:url(parts/ico_casting.svg);
}
.oMv > li > a[href="#Direction"]{
	background:#ff93e2;
	align-content:start;
	justify-content:end;
	text-align:right;
}
.oMv > li > a[href="#Direction"]::before{
	background:#ffa9e2;
}
.oMv > li > a[href="#Direction"]::after{
	background:#ffa9e2;
	width:31rem;
	height:40rem;
	left:-5rem;
	top:8rem;
	mask-image:url(parts/ico_direction.svg);
}
.oMv > li > a[href="#Jpcheck"]{
	background:#c66cd6;
	align-content:end;
	justify-content:start;
}
.oMv > li > a[href="#Jpcheck"]::before{
	background:#da80ea;
}
.oMv > li > a[href="#Jpcheck"]::after{
	background:#da80ea;
	width:32rem;
	height:40rem;
	left:3rem;
	top:-7rem;
	mask-image:url(parts/ico_jpcheck.svg);
}
.oMv > li > a[href="#Editing"]{
	background:#9c59d4;
	align-content:start;
	justify-content:end;
	text-align:right;
}
.oMv > li > a[href="#Editing"]::before{
	background:#bf85ef;
}
.oMv > li > a[href="#Editing"]::after{
	background:#bf85ef;
	width:27rem;
	height:40rem;
	left:4rem;
	top:5rem;
	mask-image:url(parts/ico_editing.svg);
}
.oMv > li > a[href="#Lesson"]{
	background:#7370d9;
	align-content:end;
	justify-content:end;
	text-align:right;
}
.oMv > li > a[href="#Lesson"]::before{
	background:#8c89ef;
}
.oMv > li > a[href="#Lesson"]::after{
	background:#8c89ef;
	width:26rem;
	height:36rem;
	left:3rem;
	top:-2rem;
	mask-image:url(parts/ico_lesson.svg);
}
@media (hover){
	.oMv > li > a:hover{
		color:#333;
	}
	.oMv > li > a:hover::before{
		transform:scale(1);
	}
	.oMv > li > a[href="#Casting"]:hover::after{
		background:#fcbd34;
	}
	.oMv > li > a[href="#Direction"]:hover::after{
		background:#ff93e2;
	}
	.oMv > li > a[href="#Jpcheck"]:hover::after{
		background:#c66cd6;
	}
	.oMv > li > a[href="#Editing"]:hover::after{
		background:#9c59d4;
	}
	.oMv > li > a[href="#Lesson"]:hover::after{
		background:#7370d9;
	}
}
@media screen and (width < 768px){
	.oMv{
		height:14rem;
	}
	.oMv > li > a{
		padding:1rem 0.5rem 1rem;
	}
	.oMv > li > a > small{
		font-size:1.6rem;
	}
	.oMv > li > a > span{
		font-size:0.7rem;
	}
	.oMv > li > a[href="#Casting"]::after{
		width:8.25rem;
		height:10rem;
		left:0.38rem;
		top:-0.63rem;
	}
	.oMv > li > a[href="#Direction"]::after{
		width:7.75rem;
		height:10rem;
		left:-1.25rem;
		top:4rem;
	}
	.oMv > li > a[href="#Jpcheck"]::after{
		width:8rem;
		height:10rem;
		left:0.75rem;
		top:-0.75rem;
	}
	.oMv > li > a[href="#Editing"]::after{
		width:6.75rem;
		height:10rem;
		left:1rem;
		top:4.5rem;
	}
	.oMv > li > a[href="#Lesson"]::after{
		width:6.5rem;
		height:9rem;
		left:0.75rem;
		top:-0.5rem;
	}
}

/* お知らせ
---------------------------------- */
.oNews{
	background:
		linear-gradient(0deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.25) 100%),
		linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
	padding:4rem 0;
}
.oNews a{
	color:#fff;
}
.oNews_inner{
	margin:0 auto;
	width:110rem;
	padding:2rem 2rem 2rem 3rem;
	background:#333;
	color:#fff;
	border-radius:3rem;
	display:grid;
	grid:auto 1fr / auto 1fr auto;
	gap:2rem 4rem;
	align-items:start;
}
.oNews_hd{
	position:relative;
	display:grid;
	grid-template-columns:auto auto 1fr;
	align-items:end;
	padding-top:1rem;
	grid-area:1 / 1 / -1 / 2;
}
.oNews_hd::before{
	content:'';
	display:block;
	width:4rem;
	height:5.2rem;
	background:#fff;
	mask:url(parts/ico_news.svg) no-repeat center center / contain;
	margin-right:1.2rem;
}
.oNews_hd > small{
	font-size:4.2rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
	margin-right:2rem;
}
.oNews_hd > span{
	font-size:2rem;
}
.oNews_list{
	padding-top:1rem;
	display:grid;
	grid-template-columns:auto 1fr;
	gap:1rem 2rem;
	grid-area:1 / 2 / 2 / 3;
}
.oNews_list > dt{
	font-weight:500;
	grid-column:1 / 2;
}
.oNews_list > dd{
	grid-column:2 / -1;
}
.oNews_list > dd > a,
.oNews_list > dd > span{
	text-decoration:none;
	position:relative;
	display:block;
	padding-left:1.2em;
	transition:color 0.5s ease 0s;
}
.oNews_list > dd > a::before{
	content:'➔';
	position:absolute;
	left:0;
	top:0;
}
.oNews_list > dd > a[target="_blank"]::after{
	content:'';
	display:inline-block;
	margin-left:0.25em;
	background:#fff;
	mask:url(parts/ico_newwin.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
	width:0.9em;
	height:0.8em;
}
.oNews_link{
	grid-area:2 / 2 / -1 / 3;
	display:grid;
	justify-content:end;
	font-size:0.9em;
}
.oNews_link > a{
	text-decoration:none;
	position:relative;
	display:block;
	padding-left:1.2em;
	transition:color 0.5s ease 0s;
}
.oNews_link > a::before{
	content:'➡';
	position:absolute;
	left:0;
	top:0;
}
.oNews_bnr{
	list-style-type:none;
	display:grid;
	gap:2rem 2rem;
	width:28rem;
	grid-area:1 / 3 / -1 / -1;
}
.oNews_bnr > li > a{
	display:grid;
	position:relative;
	align-content:center;
	text-decoration:none;
	font-size:2rem;
	color:#fff;
	font-weight:700;
	background:#;
	width:100%;
	height:9rem;
	padding:1rem 2rem;
	overflow:hidden;
	transition:color 0.5s ease 0s;
	border-radius:2rem;
	box-sizing:border-box;
}
.oNews_bnr > li > a::before,
.oNews_bnr > li > a::after{
	content:'';
	display:block;
	position:absolute;
}
.oNews_bnr > li > a::before{
	width:auto;
	height:auto;
	z-index:1;
	left:0.5rem;
	top:0.5rem;
	right:0.5rem;
	bottom:0.5rem;
	border-radius:2rem;
	transition:transform 0.3s ease 0s;
	background:#ccc;
	transform-origin:center center;
	transform:scale(0);
}
.oNews_bnr > li > a::after{
	background:#fff;
	mask:url(parts/ico_casting.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
}
.oNews_bnr > li > a > small,
.oNews_bnr > li > a > span{
	display:block !important;
	position:relative;
	z-index:10;
}
.oNews_bnr > li > a > small{
	font-size:3.6rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
}
.oNews_bnr > li > a > span{
	font-size:1.4rem;
	line-height:1.75;
	font-weight:700;
}
.oNews_bnr > li > a[target="_blank"] > span::after{
	content:'';
	display:inline-block;
	margin-left:0.25em;
	background:#fff;
	mask:url(parts/ico_newwin.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
	width:0.9em;
	height:0.8em;
}
.oNews_bnr > li.vCasting > a{
	background:#fcbd34;
	align-content:end;
	justify-content:start;
}
.oNews_bnr > li.vCasting > a::before{
	background:#ffce38;
}
.oNews_bnr > li.vCasting > a::after{
	background:#ffce38;
	width:11rem;
	height:17rem;
	right:1.5rem;
	top:-2.5rem;
	mask-image:url(parts/ico_casting.svg);
}
.oNews_bnr > li.vLesson > a{
	background:#7370d9;
	align-content:end;
	justify-content:end;
	text-align:right;
}
.oNews_bnr > li.vLesson > a::before{
	background:#8c89ef;
}
.oNews_bnr > li.vLesson > a::after{
	background:#8c89ef;
	width:10rem;
	height:11rem;
	left:-0.7rem;
	top:-1rem;
	mask-image:url(parts/ico_lesson.svg);
}
@media (hover){
	.oNews_list > dd > a:hover{
		color:#fcbd34;
	}
	.oNews_list > dd > a[target="_blank"]:hover::after{
		background:#fcbd34;
	}
	.oNews_link > a:hover{
		color:#fcbd34;
	}
	.oNews_bnr > li > a:hover{
		color:#333;
	}
	.oNews_bnr > li > a:hover::before{
		transform:scale(1);
	}
	.oNews_bnr > li > a[target="_blank"]:hover > span::after{
		background:#333;
	}
	.oNews_bnr > li.vCasting > a:hover::after{
		background:#fcbd34;
	}
	.oNews_bnr > li.vDirection > a:hover::after{
		background:#ff93e2;
	}
	.oNews_bnr > li.vJpcheck > a:hover::after{
		background:#c66cd6;
	}
	.oNews_bnr > li.vEditing > a:hover::after{
		background:#9c59d4;
	}
	.oNews_bnr > li.vLesson > a:hover::after{
		background:#7370d9;
	}
}
@media screen and (width < 768px){
	.oNews{
		padding:1.5rem 0;
	}
	.oNews_inner{
		width:35rem;
		padding:1.5rem 2rem 2rem;
		border-radius:2rem;
		display:block;
	}
	.oNews_hd{
		padding-top:0;
	}
	.oNews_hd::before{
		width:3rem;
		height:4rem;
		margin-right:1rem;
	}
	.oNews_hd > small{
		font-size:3rem;
		margin-right:1.5rem;
	}
	.oNews_hd > span{
		font-size:1.4rem;
	}
	.oNews_list{
		padding-top:0.5rem;
		font-size:1.4rem;
		display:block;
	}
	.oNews_list > dt ~ dt{
		margin-top:0.5rem;
	}
	.oNews_link{
		margin-top:0.5rem;
	}
	.oNews_bnr{
		margin-top:1rem;
		display:flex;
		width:100%;
		column-gap:1rem;
	}
	.oNews_bnr > li{
		width:100%;
	}
	.oNews_bnr > li > a{
		font-size:1.6rem;
		width:100%;
		height:8.5rem;
		padding:0.5rem 1rem;
		border-radius:1rem;
	}
	.oNews_bnr > li:only-child > a{
		height:6.5rem;
	}
	.oNews_bnr > li:only-child > a > span > br.xSP{
		display:none !important;
	}
	.oNews_bnr > li > a::before{
		border-radius:1rem;
	}
	.oNews_bnr > li > a > small{
		font-size:2.4rem;
	}
	.oNews_bnr > li > a > span{
		font-size:1.2rem;
	}
	.oNews_bnr > li > a[target="_blank"] > span::after{
		margin-left:0.25em;
		width:0.9em;
		height:0.8em;
	}
	.oNews_bnr > li.vCasting > a::after{
		width:6rem;
		height:11rem;
		right:0.5rem;
		top:-2.5rem;
	}
	.oNews_bnr > li.vCasting:only-child > a::after{
		width:9rem;
		right:1rem;
		top:-1rem;
	}
	.oNews_bnr > li.vLesson > a::after{
		width:8rem;
		height:11rem;
		left:-0.7rem;
		top:-1rem;
	}
	.oNews_bnr > li.vLesson:only-child > a::after{
		height:8rem;
	}
}

/* お知らせ一覧
---------------------------------- */
.oNewsSet{
	background:#eee;
	margin:0 auto;
	padding:4rem 0;
	display:grid;
	width:96rem;
	grid-template-columns:1fr 24rem;
	column-gap:4rem;
}
.oNewsSet_contents{
	padding:1rem;
	background:#fff;
	border-radius:2rem;
	padding:1.5rem 2rem 4rem;
}
.oNewsSet_head{
}
.oNewsSet_head_hd{
	background:#333;
	color:#fff;
	padding:1rem 2rem 1.5rem;
	font-size:3.6rem;
	line-height:1.2;
	margin:1.5rem -3rem 0 -2rem;
	border-radius: 0 1rem 1rem 0;
}
.oNewsSet_head_time{
	display:block;
	text-align:right;
	line-height:1;
	font-weight:500;
	margin:0 0 0 auto;
	background:#eee;
	border-radius:1em;
	padding:0.5em 1em;
	width:fit-content;
}
.oNewsSet_list{
	display: grid;
	grid-template-columns:auto 1fr;
	position:relative;
}
.oNewsSet_list > dt,
.oNewsSet_list > dd{
	padding:0.5em 1em;
	position:relative;
}
.oNewsSet_list > dt{
	white-space:nowrap;
	padding-right:1em;
	font-weight:500;
}
.oNewsSet_list > dd > a{
	text-decoration:none;
	position:relative;
	display:block;
	padding-left:1.2em;
	transition:color 0.5s ease 0s;
	color:#333;
}
.oNewsSet_list > dd > a::before{
	content:'➔';
	position:absolute;
	left:0;
	top:0;
}
.oNewsSet_list > dd > a[target="_blank"]::after{
	content:'';
	display:inline-block;
	margin-left:0.25em;
	background:#fff;
	mask:url(parts/ico_newwin.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
	width:0.9em;
	height:0.8em;
}
.oNewsSet_side{
	display:grid;
	width:100%;
	gap:2rem 2rem;
}
.oNewsSet_side a{
	color:#fff;
}
.oNewsSet_calendar,
.oNewsSet_side_sct{
	border-radius:2rem;
	background:#333;
	color:#fff;
	padding:2rem;
}
.oNewsSet_calendar #wp-calendar{
	width:100%;
}
.oNewsSet_side_sct_hd{
	display: grid;
	justify-content: start;
	grid-template-columns: auto auto;
	gap: 0 1rem;
	white-space: nowrap;
	align-items: end;
}
.oNewsSet_side_sct_hd > small{
	font-size: 2.8rem;
	line-height: 1.2;
	font-family: "Anton", sans-serif;
	font-weight: 400;
}
.oNewsSet_side_sct_hd > span{
	font-size: 1.6rem;
}
.oNewsSet_side_sct_list{
	list-style-type:none;
	margin:1rem 0 0;
	padding:0;
	display:grid;
	gap:0.5em 1em;
}
.oNewsSet_side_sct_list > li > a,
.oNewsSet_side_sct_list > li > span{
	text-decoration:none;
	position:relative;
	display:block;
	padding-left:1.2em;
	transition:color 0.5s ease 0s;
	color:#fff;
}
.oNewsSet_side_sct_list > li > a::before{
	content:'➔';
	position:absolute;
	left:0;
	top:0;
}
.oNewsSet_side_sct_list > li > a[target="_blank"]::after{
	content:'';
	display:inline-block;
	margin-left:0.25em;
	background:#fff;
	mask:url(parts/ico_newwin.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
	width:0.9em;
	height:0.8em;
}
@media (hover){
	.oNewsSet_list > dd > a:hover,
	.oNewsSet_side_sct_list > li > a:hover{
		color:#fcbd34;
	}
	.oNewsSet_list > dd > a[target="_blank"]:hover::after,
	.oNewsSet_side_sct_list > li > a[target="_blank"]:hover::after{
		background:#fcbd34;
	}
}
@media screen and (width < 768px){
	.oNewsSet{
		padding:2rem 0;
		display:grid;
		width:35rem;
		grid-template-columns:1fr;
		row-gap:2rem;
	}
	.oNewsSet_contents{
		padding:1rem;
		background:#fff;
		border-radius:1rem;
		padding:1rem 1rem 2rem;
	}
	.oNewsSet_head{
	}
	.oNewsSet_head_hd{
		padding:0.5rem 1rem 0.8rem;
		font-size:2.4rem;
		margin:1rem -1.5rem 0 -1rem;
		border-radius: 0 0.5rem 0.5rem 0;
	}
	.oNewsSet_head_time{
		padding:0.5em 1em;
		font-size:1.2rem;
	}
	.oNews{
		padding:1.5rem 0;
	}
	.oNews_inner{
		width:35rem;
		padding:1.5rem 2rem 2rem;
		border-radius:2rem;
		display:block;
	}
	.oNews_hd{
		padding-top:0;
	}
	.oNews_hd::before{
		width:3rem;
		height:4rem;
		margin-right:1rem;
	}
	.oNews_hd > small{
		font-size:3rem;
		margin-right:1.5rem;
	}
	.oNews_hd > span{
		font-size:1.4rem;
	}
	.oNews_list{
		padding-top:0.5rem;
		font-size:1.4rem;
		display:block;
	}
	.oNews_list > dt ~ dt{
		margin-top:0.5rem;
	}
	.oNews_link{
		margin-top:0.5rem;
	}
	.oNews_bnr{
		margin-top:1rem;
		display:flex;
		width:100%;
		column-gap:1rem;
	}
	.oNews_bnr > li{
		width:100%;
	}
	.oNews_bnr > li > a{
		font-size:1.6rem;
		width:100%;
		height:8.5rem;
		padding:0.5rem 1rem;
		border-radius:1rem;
	}
	.oNews_bnr > li:only-child > a{
		height:6.5rem;
	}
	.oNews_bnr > li:only-child > a > span > br.xSP{
		display:none !important;
	}
	.oNews_bnr > li > a::before{
		border-radius:1rem;
	}
	.oNews_bnr > li > a > small{
		font-size:2.4rem;
	}
	.oNews_bnr > li > a > span{
		font-size:1.2rem;
	}
	.oNews_bnr > li > a[target="_blank"] > span::after{
		margin-left:0.25em;
		width:0.9em;
		height:0.8em;
	}
	.oNews_bnr > li.vCasting > a::after{
		width:6rem;
		height:11rem;
		right:0.5rem;
		top:-2.5rem;
	}
	.oNews_bnr > li.vCasting:only-child > a::after{
		width:9rem;
		right:1rem;
		top:-1rem;
	}
	.oNews_bnr > li.vLesson > a::after{
		width:8rem;
		height:11rem;
		left:-0.7rem;
		top:-1rem;
	}
	.oNews_bnr > li.vLesson:only-child > a::after{
		height:8rem;
	}
}

/* はちななラボについて
---------------------------------- */
.oAbout{
	padding:4rem 0;
}
.oAbout_inner{
	margin:0 auto;
	width:110rem;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
	padding:4rem 1rem 4rem 6rem;
	position:relative;
	border-radius:4rem;
	display:grid;
	grid-template-columns:1fr auto;
	grid-template-rows:auto 1fr;
	gap:0 4rem;
}
.oAbout_inner::before{
	content:'';
	position:absolute;
	left:1rem;
	right:1rem;
	top:1rem;
	bottom:1rem;
	width:auto;
	height:auto;
	background:#fff;
	border-radius:3rem;
}
.oAbout_hd{
	position:relative;
	display:grid;
	grid-template-columns:auto auto 1fr;
	align-items:end;
	grid-column:1 / 2;
	grid-row:1 / 2;
}
.oAbout_hd::before{
	content:'';
	display:block;
	width:5rem;
	height:8rem;
	background:#333;
	mask:url(parts/logomark.svg) no-repeat center center / contain;
	margin-right:1.2rem;
}
.oAbout_hd > small{
	font-size:4.8rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
	margin-right:2rem;
}
.oAbout_hd > span{
	font-size:2.4rem;
}
.oAbout_txt{
	position:relative;
	margin:1rem 0 0;
	grid-column:1 / 2;
	grid-row:2 / -1;
}
.oAbout_txt > p + p{
	margin-top:1em;
}
.oAbout_txt > p > strong{
	font-weight:900;
	position:relative;
	display:inline-block;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
	background-clip:text;
	color:transparent;
	font-size:2.4rem;
}
.oAbout_team{
	grid-column:2 / -1;
	grid-row:1 / -1;
	width:30rem;
	display:grid;
	gap:2rem 0;
	position:relative;
	background:#333;
	color:#fff;
	border-radius:0 3rem 3rem 0;
	margin:-3rem 0 -3rem;
	box-sizing:border-box;
	padding:4rem;
	overflow:hidden;
}
.oAbout_team::before,
.oAbout_team::after{
	content:'';
	display:block;
	position:absolute;
	opacity:0.5;
}
.oAbout_team::before{
	left:1rem;
	top:2rem;
	width:9rem;
	height:7rem;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
	mask:url(parts/ico_kiryu.svg) no-repeat center center / contain;
}
.oAbout_team::after{
	right:1rem;
	bottom:1rem;
	width:7rem;
	height:9rem;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
	mask:url(parts/ico_nagase.svg) no-repeat center center / contain;
}
.oAbout_team_leader{
	position:relative;
	z-index:5;
}
.oAbout_team_leader_hd{
	font-size:1.8rem;
	font-weight:700;
}
.oAbout_team_leader_list{
	list-style-type:none;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0 2rem;
	font-weight:500;
	font-size:2rem;
}
.oAbout_team_member{
	position:relative;
	z-index:5;
}
.oAbout_team_member_hd{
	font-size:1.8rem;
	font-weight:700;
}
.oAbout_team_member_list{
	list-style-type:none;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0 2rem;
}
.oAbout_team_member_list > li:last-child{
	grid-column:1 / -1;
	margin-top:0.5em;
	font-size:0.8em;
}
@media screen and (width < 768px){
	.oAbout{
		padding:2rem 0;
	}
	.oAbout_inner{
		width:35rem;
		padding:2rem 2.5rem;
		border-radius:2rem;
		display:block;
	}
	.oAbout_inner::before{
		left:0.5rem;
		right:0.5rem;
		top:0.5rem;
		bottom:0.5rem;
		border-radius:1.5rem;
	}
	.oAbout_hd::before{
		width:4rem;
		height:6.4rem;
		margin-right:1rem;
	}
	.oAbout_hd > small{
		margin-right:1rem;
		font-size:3.8rem;
	}
	.oAbout_hd > span{
		font-size:1.5rem;
		white-space:nowrap;
	}
	.oAbout_txt{
		margin:1.5rem 0 0;
	}
	.oAbout_txt > p > strong{
		font-size:1.8rem;
		margin:-0.5em 0 -0.5em;
	}
	.oAbout_team{
		width:auto;
		gap:1rem 0;
		border-radius:0 0 1.5rem 1.5rem;
		margin:2rem -2rem -1.5rem;
		padding:2rem;
	}
	.oAbout_team::before{
		left:0.5rem;
		top:1rem;
		width:7rem;
		height:5rem;
	}
	.oAbout_team::after{
		right:0.5rem;
		bottom:0.5rem;
		width:5rem;
		height:7rem;
	}
	.oAbout_team_leader{
		display:grid;
		grid-template-columns:auto 1fr;
		column-gap:3rem;
		align-items:center;
	}
	.oAbout_team_leader_hd{
		font-size:1.4rem;
		padding-left:0.8rem;
	}
	.oAbout_team_leader_list{
		list-style-type:none;
		display:grid;
		grid-template-columns:auto 1fr;
		gap:0 3rem;
		font-weight:500;
		font-size:1.8rem;
	}
	.oAbout_team_member_hd{
		font-size:1.4rem;
	}
	.oAbout_team_member_list{
		grid-template-columns:repeat(4,auto);
		gap:0 1rem;
		font-size:1.2rem;
	}
	.oAbout_team_member_list > li:last-child{
		grid-column:1 / -1;
		margin-top:0.5em;
		font-size:0.8em;
	}
}

/* サービスについて
---------------------------------- */
.oService{
	width:auto;
	background:linear-gradient(90deg, #fcbd34 0%, #fcbd34 20%, #ff93e2 20%, #ff93e2 40%, #c66cd6 40%, #c66cd6 60%, #9c59d4 60%, #9c59d4 80%, #7370d9 80%, #7370d9 100%);
	padding:3rem 0;
	position:relative;
}
.oService_inner{
	margin:0 auto;
	width:110rem;
	border-radius:4rem;
	background:#fff;
	padding:3rem 7rem;
}
.oService_hd{
	position:relative;
	display:grid;
	grid-template-columns:auto auto 1fr;
	align-items:end;
}
.oService_hd::before{
	content:'';
	display:block;
	width:4rem;
	height:7rem;
	background:#333;
	mask:url(parts/ico_mic.svg) no-repeat center center / contain;
	margin-right:1.2rem;
}
.oService_hd > small{
	font-size:4.8rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
	margin-right:2rem;
}
.oService_hd > span{
	font-size:2.4rem;
}
.oService_txt{
	position:relative;
	margin:2.5rem 0 0;
}
.oService_txt > p + p{
	margin-top:1em;
}
.oService_sct{
	margin:4rem 0 0;
	border-radius:4rem;
	border:solid 1rem #333;
	display:grid;
	grid-template-columns:auto 1fr;
	width:auto;
	overflow:hidden;
}
.oService_sct_hd{
	padding:2rem;
	background:#333;
	color:#fff;
	width:18rem;
	position:relative;
	padding:2.5rem 1rem 2rem 2rem;
	overflow:hidden;
}
.oService_sct_hd::after{
	content:'';
	display:block;
	position:absolute;
	background:#fff;
	mask:url(parts/ico_casting.svg) no-repeat center center / contain;
	z-index:5;
	transition:background 0.5s ease 0s;
}
.oService_sct_hd > small,
.oService_sct_hd > span{
	display:block !important;
	position:relative;
	z-index:10;
}
.oService_sct_hd > small{
	font-size:3.6rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
}
.oService_sct_hd > span{
	margin-top:0.2rem;
	font-size:1.6rem;
	line-height:1.4;
	font-weight:500;
}
.oService_sct_inner{
	padding:2rem;
}
.oService_data{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:2rem 2rem;
}
.oService_data > dt{
	width:10rem;
	height:4rem;
	display:grid;
	justify-content:center;
	align-content:center;
	font-weight:700;
	color:#333;
	background:#eee;
	border-radius:0.5rem;
}
.oService_data > dt.vCol2{
	grid-column:span 2;
	width:14rem;
}
.oService_data > dd.vCol2{
	margin-top:-1rem;
	grid-column:span 2;
}
.oService_data > dd > ul{
	list-style-type:none;
}
.oService_data > dd > ul > li{
	padding-left:1em;
	position:relative;
}
.oService_data > dd > ul > li::before{
	position:absolute;
	content:'';
	width:0.5em;
	height:0.5em;
	left:0;
	top:0.8em;
	border-radius:50%;
	background:#333;
}
.oService_flow{
	list-style-type:none;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 1rem;
	counter-reset:oService_flow_num;
}
.oService_flow > li{
	counter-increment:oService_flow_num;
	position:relative;
}
.oService_flow > li::before{
	content:'';
	position:absolute;
	left:100%;
	margin-left:0.2rem;
	top:3rem;
	border-left:solid 0.6rem #ffefc0;
	border-top:solid 1rem transparent;
	border-bottom:solid 1rem transparent;
	width:0;
	height:0;
	display:block;
}
.oService_flow > li:last-child::before{
	display:none;
}
.oService_flow_hd{
	display:grid;
	border-radius:1rem;
	width:100%;
	height:8rem;
	color:#fff;
	background:#fcbd34;
	overflow:hidden;
	position:relative;
	line-height:1;
	justify-content:center;
	align-content:center;
}
.oService_flow_hd::before{
	content:counter(oService_flow_num);
	font-family:"Anton", sans-serif;
	font-weight:400;
	position:absolute;
	left:1rem;
	top:1rem;
	font-size:2rem;
}
.oService_flow_hd > span{
	display:block;
	line-height:1.4;
	position:relative;
	z-index:10;
}
.oService_flow_hd::after{
	content:'';
	display:block;
	background:#ffce38;
	mask:url(parts/ico_hearing.svg) no-repeat center center / contain;
	width:6rem;
	height:6rem;
	position:absolute;
}
.oService_flow > li:nth-child(1) .oService_flow_hd::after{
	mask-image:url(parts/ico_hearing.svg);
	width:6rem;
	height:6rem;
	right:0;
	bottom:-2rem;
}
.oService_flow > li:nth-child(2) .oService_flow_hd::after{
	mask-image:url(parts/ico_calc.svg);
	width:5rem;
	height:6rem;
	right:0;
	bottom:-1rem;
}
.oService_flow > li:nth-child(3) .oService_flow_hd::after{
	mask-image:url(parts/ico_order.svg);
	width:5rem;
	height:6rem;
	right:0;
	bottom:-1rem;
}
.oService_flow > li:nth-child(4) .oService_flow_hd::after{
	mask-image:url(parts/ico_send.svg);
	width:6rem;
	height:6rem;
	right:0;
	bottom:-1rem;
}
.oService_flow_txt{
	margin-top:0.5rem;
	font-size:1.3rem;
}
.oService_flow_txt > p + p{
	margin-top:0.5em;
}
.oService_note{
	margin:1rem 0 0;
	font-size:1.2rem;
	display:grid;
	grid-template-columns:auto auto;
	justify-content:end;
	color:#ee0000;
}
#Casting{
	border-color:#fcbd34;
}
#Casting .oService_sct_hd{
	background:#fcbd34;
}
#Casting .oService_sct_hd::after{
	background:#ffce38;
	width:23rem;
	height:22rem;
	left:1.5rem;
	top:10rem;
	mask-image:url(parts/ico_casting.svg);
}
#Casting .oService_data > dt{
	background:#ffefc0;
}
#Casting .oService_data > dd > ul > li::before{
	background:#fcbd34;
}
#Direction{
	border-color:#ff93e2;
}
#Direction .oService_sct_hd{
	background:#ff93e2;
}
#Direction .oService_sct_hd::after{
	background:#ffa9e2;
	width:21rem;
	height:19rem;
	left:-5rem;
	top:13rem;
	mask-image:url(parts/ico_direction.svg);
}
#Direction .oService_data > dt{
	background:#fad6f0;
}
#Direction .oService_data > dd > ul > li::before{
	background:#ff93e2;
}
#Jpcheck{
	border-color:#c66cd6;
}
#Jpcheck .oService_sct_hd{
	background:#c66cd6;
}
#Jpcheck .oService_sct_hd::after{
	background:#da80ea;
	width:18rem;
	height:12rem;
	left:2rem;
	top:13rem;
	mask-image:url(parts/ico_jpcheck.svg);
}
#Jpcheck .oService_data > dt{
	background:#f0cefe;
}
#Jpcheck .oService_data > dd > ul > li::before{
	background:#c66cd6;
}
#Editing{
	border-color:#9c59d4;
}
#Editing .oService_sct_hd{
	background:#9c59d4;
}
#Editing .oService_sct_hd::after{
	background:#bf85ef;
	width:15rem;
	height:17rem;
	left:4rem;
	top:7rem;
	mask-image:url(parts/ico_editing.svg);
}
#Editing .oService_data > dt{
	background:#dcd0fa;
}
#Editing .oService_data > dd > ul > li::before{
	background:#9c59d4;
}
#Lesson{
	border-color:#7370d9;
}
#Lesson .oService_sct_hd{
	background:#7370d9;
}
#Lesson .oService_sct_hd::after{
	background:#8c89ef;
	width:16rem;
	height:19rem;
	left:3rem;
	top:14rem;
	mask-image:url(parts/ico_lesson.svg);
}
#Lesson .oService_data > dt{
	background:#d3dbfb;
}
#Lesson .oService_data > dd > ul > li::before{
	background:#7370d9;
}
@media screen and (width < 768px){
	.oService{
		padding:2rem 0;
	}
	.oService_inner{
		width:35rem;
		border-radius:2rem;
		padding:2.5rem 2.5rem 0.5rem;
	}
	.oService_hd::before{
		width:3.2rem;
		height:5.6rem;
		margin-right:1rem;
	}
	.oService_hd > small{
		font-size:3.8rem;
		margin-right:1rem;
	}
	.oService_hd > span{
		font-size:1.5rem;
	}
	.oService_txt{
		margin:2.5rem 0 0;
	}
	.oService_sct{
		margin:4rem -2rem 0;
		border-radius:1.6rem;
		border-width:0.5rem;
		display:block;
	}
	.oService_sct + .oService_sct{
		margin-top:0.5rem;
	}
	.oService_sct_hd{
		padding:1rem;
		width:100%;
	}
	.oService_sct_hd > small{
		font-size:3.2rem;
	}
	.oService_sct_hd > span{
		font-size:1.4rem;
		line-height:1.75;
	}
	.oService_sct_inner{
		padding:1rem;
	}
	.oService_data{
		display:block;
	}
	.oService_data > dt{
		width:10rem;
		height:3rem;
		display:grid;
		justify-content:center;
		align-content:center;
		font-weight:700;
		border-radius:0.5rem;
	}
	.oService_data > dd + dt{
		margin-top:2rem;
	}
	.oService_data > dd{
		margin-top:0.5rem;
	}
	.oService_data > dd.vCol2{
		margin-top:1rem;
	}
	.oService_flow{
		display:block;
	}
	.oService_flow > li{
		display:grid;
		grid-template-columns:auto 1fr;
		gap:0 1rem;
	}
	.oService_flow > li + li{
		margin-top:2rem;
	}
	.oService_flow > li::before{
		margin:0;
		left:3.5rem;
		top:6rem;
		border-top:solid 1.2rem #ffefc0;
		border-left:solid 2rem transparent;
		border-right:solid 2rem transparent;
	}
	.oService_flow_hd{
		height:5rem;
		width:11rem;
		padding-left:0.5rem;
	}
	.oService_flow_hd::before{
		left:1rem;
		top:1rem;
		font-size:1.6rem;
	}
	.oService_flow_txt{
		margin-top:0;
		font-size:1.3rem;
		whs:nw
	}
	.oService_flow_txt > p + p{
		margin-top:0.5em;
	}
	.oService_note{
		margin:1rem 0 0;
		font-size:1.2rem;
		display:grid;
		grid-template-columns:auto auto;
		justify-content:end;
	}
	#Casting .oService_sct_hd::after{
		width:12rem;
		height:12rem;
		left:20rem;
		top:0;
	}
	#Direction .oService_sct_hd::after{
		width:11rem;
		height:11rem;
		left:21rem;
		top:0rem;
	}
	#Jpcheck .oService_sct_hd::after{
		width:12.5rem;
		height:10rem;
		left:22rem;
		top:0;
	}
	#Editing .oService_sct_hd::after{
		width:10rem;
		height:12rem;
		left:22.5rem;
		top:-1rem;
	}
	#Lesson .oService_sct_hd::after{
		width:12rem;
		height:14rem;
		left:20rem;
		top:-1.8rem;
	}
}

/* よくあるご質問
---------------------------------- */
.oFaq{
	width:100%;
	background:#eee;
	padding:3rem 0;
	position:relative;
}
.oBlocks + .oFaq{
	margin-top:4rem;
}
.oFaq_inner{
	margin:0 auto;
	width:110rem;
	border-radius:4rem;
	padding:3rem 7rem;
}
.oFaq_hd{
	position:relative;
	display:grid;
	grid-template-columns:auto auto 1fr;
	align-items:end;
}
.oFaq_hd::before{
	content:'';
	display:block;
	width:6rem;
	height:6rem;
	background:#333;
	mask:url(parts/ico_faq.svg) no-repeat center center / contain;
	margin-right:1.2rem;
}
.oFaq_hd > small{
	font-size:4.8rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
	margin-right:2rem;
}
.oFaq_hd > span{
	font-size:2.4rem;
}
.oFaq_txt{
	position:relative;
	margin-top:2rem;
}
.oFaq_txt p + p{
	margin-top:1em;
}
.oFaq_sct{
	margin-top:4rem;
}
.oFaq_sct + .oFaq_sct{
	margin-top:6rem;
}
.oFaq_sct_hd{
	font-size:2rem;
	font-weight:700;
	padding-left:3rem;
	background:#333;
	line-height:1.5;
	border-radius:1em;
	overflow:hidden;
}
.oFaq_sct_hd > span{
	background:#eee;
	padding:0.5rem 1.5rem;
	margin:-0.5rem 0;
	display:inline-block;
}
.oFaq_qa{
	margin:2rem 0 0;
	display:block;
	padding:0 1.5rem;
}
.oFaq_qa > dt,
.oFaq_qa > dd{
	position:relative;
	border-radius:2rem;
	width:90rem;
	padding:2rem 2rem 2rem 6rem;
	position:relative;
}
.oFaq_qa > dt{
	background:#fff;
	font-size:1.8rem;
	font-weight:700;
}
.oFaq_qa > dd{
	margin:2rem 0 0 auto;
	background:#333;
	color:#fff;
}
.oFaq_qa > dd + dt{
	margin-top:4rem;
}
.oFaq_qa > dt::before,
.oFaq_qa > dd::before{
	font-family:"Anton", sans-serif;
	font-weight:400;
	position:absolute;
	left:2rem;
	top:1.5rem;
	font-size:4rem;
	line-height:1;
}
.oFaq_qa > dt::before{
	content:'Q';
}
.oFaq_qa > dd::before{
	content:'A';
	color:#fff;
}
.oFaq_qa > dt::after,
.oFaq_qa > dd::after{
	content:'';
	display:block;
	position:absolute;
	border-top:solid 3rem transparent;
	width:0;
	height:0;
	bottom:1rem;
}
.oFaq_qa > dt::after{
	left:-1.5rem;
	border-right:solid 3rem #fff;
}
.oFaq_qa > dd::after{
	right:-1.5rem;
	border-left:solid 3rem #333;
}
.oFaq_qa > dt a,
.oFaq_qa > dd a{
	color:#333;
	position:relative;
	display:inline-block;
	background:linear-gradient(0deg, #333 0%, #333 100%) no-repeat left bottom / 100% 1px;
	padding:0.1em 0;
	text-decoration:none;
	transition:color 0.5s ease 0s;
}
.oFaq_qa > dd a{
	color:#fff;
	background:linear-gradient(0deg, #fff 0%, #fff 100%) no-repeat left bottom / 100% 1px;
}
.oFaq_qa > dt a::before,
.oFaq_qa > dd a::before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:1px;
	background:linear-gradient(0deg, #fcbd34 0%, #fcbd34 100%) no-repeat left bottom / 100% 1px;
	transform:scaleX(0);
	transition:transform 0.5s ease 0s;
	transform-origin:right bottom;
}
@media (hover){
	.oFaq_qa > dt a:hover,
	.oFaq_qa > dd a:hover{
		color:#fcbd34;
	}
	.oFaq_qa > dt a:hover::before,
	.oFaq_qa > dd a:hover::before{
		transform:scaleX(1);
		transform-origin:left bottom;
	}
}
@media screen and (width < 768px){
	.oFaq{
		padding:3rem 0;
	}
	.oBlocks + .oFaq{
		margin-top:2rem;
	}
	.oFaq_inner{
		width:35rem;
		border-radius:2rem;
		padding:0;
	}
	.oFaq_hd::before{
		width:4.8rem;
		height:4.8rem;
		margin-right:1rem;
	}
	.oFaq_hd > small{
		font-size:3.8rem;
		margin-right:1rem;
	}
	.oFaq_hd > span{
		font-size:1.5rem;
	}
	.oFaq_sct{
		margin-top:2rem;
	}
	.oFaq_sct + .oFaq_sct{
		margin-top:4rem;
	}
	.oFaq_sct_hd{
		font-size:1.8rem;
		padding-left:2rem;
	}
	.oFaq_sct_hd > span{
		padding:0.5rem 1rem;
	}
	.oFaq_qa{
		margin:2rem 0 0;
		padding:0 1.5rem;
	}
	.oFaq_qa > dt,
	.oFaq_qa > dd{
		border-radius:1.5rem;
		width:32rem;
		padding:1rem 1rem 1rem 3.5rem;
	}
	.oFaq_qa > dt{
		font-size:1.6rem;
	}
	.oFaq_qa > dd{
		margin:2rem 0 0 auto;
	}
	.oFaq_qa > dd + dt{
		margin-top:4rem;
	}
	.oFaq_qa > dt::before,
	.oFaq_qa > dd::before{
		left:1rem;
		top:1rem;
		font-size:3.2rem;
		z-index:10;
	}
}

/* お問い合わせ
---------------------------------- */
.oContact{
	width:100%;
	background:#333;
	padding:3rem 6rem;
	position:relative;
	color:#fff;
}
.oContact_inner{
	margin:0 auto;
	width:110rem;
	border-radius:4rem;
	padding:3rem 7rem;
}
.oContact_hd{
	position:relative;
	display:grid;
	grid-template-columns:auto auto 1fr;
	align-items:end;
}
.oContact_hd::before{
	content:'';
	display:block;
	width:7rem;
	height:6rem;
	background:#fff;
	mask:url(parts/ico_mail.svg) no-repeat center center / contain;
	margin-right:1.2rem;
}
.oContact_hd > small{
	font-size:4.8rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
	margin-right:2rem;
}
.oContact_hd > span{
	font-size:2.4rem;
}
.oContact_txt{
	position:relative;
	margin-top:2rem;
}
.oContact_txt p + p{
	margin-top:1em;
}
.oContact_form{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:4rem 4rem;
	margin:4rem 0 0;
}
.oContact_form > dt > small,
.oContact_form > dt > span{
	display:block;
	line-height:1;
}
.oContact_form > dt > small{
	font-size:4rem;
	font-family:"Anton", sans-serif;
	font-weight:400;
}
.oContact_form > dt > span{
	margin-top:1rem;
	font-weight:700;
}
.oContact_form > dd input[type="text"],
.oContact_form > dd input[type="email"],
.oContact_form > dd textarea{
	all:unset;
	margin:0;
	box-sizing:border-box;
	background:#fff;
	font-size:1em;
	width:100%;
	padding:1rem 2rem;
	color:#333;
}
.oContact_form > dd textarea{
	height:12em;
}
.oContact_form > dd input[type="text"]:focus,
.oContact_form > dd input[type="email"]:focus,
.oContact_form > dd textarea:focus{
	background:#ffffcc;
}
.oContact_form > dd input[type="text"][readonly],
.oContact_form > dd input[type="email"][readonly],
.oContact_form > dd textarea[readonly]{
	background:#ccc !important;
	cursor:not-allowed !important;
	caret-color:transparent !important;
}
.oContact_form > dd .wpcf7-not-valid-tip{
	font-size:1.4rem;
	margin-top:1rem;
	color:#ff6633;
	font-weight:700;
}
.oContact .wpcf7 form.invalid .wpcf7-response-output,
.oContact .wpcf7 form.unaccepted .wpcf7-response-output,
.oContact .wpcf7 form.sent .wpcf7-response-output{
	margin:4rem 0;
	padding:1rem 4rem 1.2rem;
	border:0;
	border-radius:4rem;
	line-height:1.4;
	font-weight:700;
	color:#fff;
}
.oContact .wpcf7 form.invalid .wpcf7-response-output,
.oContact .wpcf7 form.unaccepted .wpcf7-response-output{
	background:#ff6633;
}
.oContact .wpcf7 form.sent .oContact_form,
.oContact .wpcf7 form.sent .oContact_policy,
.oContact .wpcf7 form.sent .oContact_btn{
	display:none !important;
}
.oContact .wpcf7 form.sent .wpcf7-response-output{
	background:#eee;
	color:#333;
	display:block !important;
}
.oContact_form > dd .wpcf7-checkbox{
	display:flex;
	flex-wrap:wrap;
	gap:0.5em 0.5em;
}
.oContact_form > dd .wpcf7-checkbox .wpcf7-list-item{
	display:block;
	margin:0;
}
.oContact_form > dd input[name="your-check[]"]{
	display:none;
}
.oContact_form > dd input[name="your-check[]"] + span{
	cursor:pointer;
	border:solid 1px #ccc;
	border-radius:0.5em;
	padding:0.5em;
}
.oContact_form > dd input[name="your-check[]"][readonly] + span{
	cursor:default;
	border-color:#333;
}
.oContact_form > dd input[name="your-check[]"] + span::before{
	content:'×';
	font-weight:bold;
	color:#ff6666;
	font-size:1.8em;
	vertical-align:-0.15em;
	margin-right:0.15em;
}
.oContact_form > dd input[name="your-check[]"]:checked + span::before{
	content:'〇';
	color:#6699ff;
}
.oContact.sConfirm .oContact_form{
	pointer-events:none;
}
.oContact_policy{
	margin-top:4rem;
}
.oContact_policy .wpcf7-list-item{
	margin:0;
}
.oContact_policy input{
	display:none;
}
oContact{
	padding-left:5.5rem;
	position:relative;
}
.oContact_policy input + span{
	padding-left:5rem;
}
.oContact_policy input + span .oContact_policy_checkbox{
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:4rem;
	height:2.4rem;
	border-radius:100vh;
	border:solid 0.2rem #fff;
	background:#333;
	transition:background 0.5s ease 0s;
}
.oContact_policy input + span .oContact_policy_checkbox::before{
	content:'';
	display:block;
	width:1.6rem;
	height:1.6rem;
	border-radius:100vh;
	background:#fff;
	border:solid 0.2rem #333;
	transition:all 0.5s ease 0s;
}
.oContact_policy input:checked + span .oContact_policy_checkbox{
	background:#fcbd34;
}
.oContact_policy input:checked + span .oContact_policy_checkbox::before{
	transform:translateX(80%);
	border-color:#fcbd34;
}
.oContact_policy a{
	color:#fff;
	position:relative;
	display:inline-block;
	background:linear-gradient(0deg, #fff 0%, #fff 100%) no-repeat left bottom / 100% 1px;
	transition:color 0.5s ease 0s;
	font-weight:700;
	padding-bottom:0.2em;
	text-decoration:none;
}
.oContact_policy a::before,
.oContact_policy a::after{
	content:'';
}
.oContact_policy a::before{
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:1px;
	background:linear-gradient(0deg, #fcbd34 0%, #fcbd34 100%) no-repeat left bottom / 100% 1px;
	transform:scaleX(0);
	transition:transform 0.5s ease 0s;
	transform-origin:right bottom;
}
.oContact_policy a::after{
	display:inline-block;
	margin-left:0.25em;
	width:1em;
	height:0.8em;
	mask:url(parts/ico_newwin.svg) no-repeat center center / contain;
	background:#fff;
	transition:background 0.5s ease 0s;
}
.oContact.sConfirm .oContact_policy{
	pointer-events:none;
}
.oContact_btn{
	display:grid;
	grid-template-columns:1fr 1fr;
	width:100%;
	margin:4rem 0 0;
	list-style-type:none;
	gap:0 4rem;
}
.oContact_btn > li{
	position:relative;
	border-radius:100vh;
	transition:all 0.5s ease 0s;
	display:grid;
	justify-content:center;
	align-content:center;
	line-height:1;
	text-align:center;
	border:solid 0.4rem #eee;
	width:100%;
	height:8rem;
}
.oContact_btn > li::before{
	font-family:"Anton", sans-serif;
	font-weight:400;
	font-size:3.6rem;
}
.oContact_btn > li::after{
	margin-top:0.5rem;
	font-size:1.4rem;
	font-family:"Anton", sans-serif;
	font-weight:400;
}
.oContact_btn > li#ContactReset,
.oContact_btn > li#ContactBack{
	background:#333;
	color:#fff;
}
.oContact_btn > li#ContactConfirm,
.oContact_btn > li#ContactSubmit{
	background:#eee;
	color:#333;
}
.oContact_btn > li input{
	unset:all;
	position:relative;
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	opacity:0;
	width:auto;
	height:auto;
	cursor:pointer;
	z-index:10;
}
.oContact_btn > li#ContactReset::before{
	content:'RESET';
}
.oContact_btn > li#ContactReset::after{
	content:'リセット';
}
.oContact_btn > li#ContactConfirm::before{
	content:'CONFIRM';
}
.oContact_btn > li#ContactConfirm::after{
	content:'確認';
}
.oContact_btn > li#ContactBack::before{
	content:'BACK';
}
.oContact_btn > li#ContactBack::after{
	content:'修正';
}
.oContact_btn > li#ContactSubmit::before{
	content:'SUBMIT';
}
.oContact_btn > li#ContactSubmit::after{
	content:'送信';
}
.oContact_btn > li#ContactBack,
.oContact_btn > li#ContactSubmit,
.oContact.sConfirm .oContact_btn > li#ContactReset,
.oContact.sConfirm .oContact_btn > li#ContactConfirm,
.oContact.sConfirm .wpcf7-response-output{
	display:none;
}
.oContact.sConfirm .oContact_btn > li#ContactBack,
.oContact.sConfirm .oContact_btn > li#ContactSubmit{
	display:grid;
}
.oContact.sConfirm .oContact_btn > li#ContactSubmit .wpcf7-spinner{
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	margin:auto;
}
@media (hover){
	.oContact_policy a:hover{
		color:#fcbd34;
	}
	.oContact_policy a:hover::before{
		transform:scaleX(1);
		transform-origin:left bottom;
	}
	.oContact_policy a:hover::after{
		background:#fcbd34;
	}
	.oContact_btn > li#ContactReset:hover,
	.oContact_btn > li#ContactBack:hover{
		background:#9c59d4;
	}
	.oContact_btn > li#ContactConfirm:hover,
	.oContact_btn > li#ContactSubmit:hover{
		background:#fcbd34;
	}
}
@media screen and (width < 768px){
	.oContact{
		padding:3rem 0;
	}
	.oContents > .oContact:nth-last-child(2){
		margin-bottom:-4rem;
	}
	.oContact_inner{
		width:35rem;
		padding:0;
	}
	.oContact_hd::before{
		display:block;
		width:5.6rem;
		height:4.8rem;
		margin-right:1rem;
	}
	.oContact_hd > small{
		font-size:3.8rem;
		margin-right:1rem;
	}
	.oContact_hd > span{
		font-size:1.5rem;
	}
	.oContact_form{
		display:block;
		margin:2rem 0 0;
	}
	.oContact_form > dt{
		display:grid;
		justify-content:start;
		align-items:end;
		grid-template-columns:auto auto;
	}
	.oContact_form > dd + dt{
		margin-top:2rem;
	}
	.oContact_form > dt > small{
		font-size:3rem;
		margin-right:1rem;
	}
	.oContact_form > dt > span{
		font-size:1.4rem;
		margin:0;
	}
	.oContact_form > dd{
		margin-top:1rem;
	}
	.oContact_form > dd input[type="text"],
	.oContact_form > dd input[type="email"],
	.oContact_form > dd textarea{
		padding:0.5rem 1rem;
		font-size:1.6rem;
	}
	.oContact_form > dd .wpcf7-not-valid-tip{
		margin-top:1rem;
	}
	.oContact .wpcf7 form.invalid .wpcf7-response-output,
	.oContact .wpcf7 form.unaccepted .wpcf7-response-output,
	.oContact .wpcf7 form.sent .wpcf7-response-output{
		margin:2rem 0;
		padding:1rem 2rem 1.2rem;
		border-radius:4rem;
	}
	.oContact_policy{
		margin-top:2rem;
	}
	.oContact_btn{
		margin:2rem 0 0;
		gap:0 2rem;
	}
	.oContact_btn > li{
		border-width:0.2rem;
		height:6rem;
	}
	.oContact_btn > li::before{
		font-size:2.4rem;
	}
	.oContact_btn > li::after{
		margin-top:0.4rem;
	}
}

/* ページタイトル
---------------------------------- */
.oPt{
	width:100%;
	background:#eee;
}
.oPt_inner{
	margin:0 auto;
	position:relative;
	width:96rem;
	padding:8rem 0 0;
}
.oPt_hd{
	display:grid;
	justify-content:start;
	grid-template-columns:auto auto;
	gap:0 2rem;
	white-space:nowrap;
	align-items:end;
}
.oPt_hd > small{
	font-size:4.8rem;
	line-height:1.2;
	font-family:"Anton", sans-serif;
	font-weight:400;
}
.oPt_hd > span{
	font-size:2.4rem;
}
@media screen and (width < 768px){
	.oPt_inner{
		width:35rem;
		padding:4rem 0 0;
	}
	.oPt_hd{
		gap:0 0.5rem;
	}
	.oPt_hd > small{
		font-size:3.8rem;
	}
	.oPt_hd > span{
		font-size:1.6rem;
	}
}
/* 色違い */
.oPt.vCasting,
.oPt.vDirection,
.oPt.vJpcheck,
.oPt.vEditing,
.oPt.vLesson,
.oPt.vNews{
	position:relative;
	padding-bottom:4rem;
	color:#fff;
	overflow:hidden;
}
.oPt.vCasting{
	background:#fcbd34;
}
.oPt.vDirection{
	background:#ff93e2;
}
.oPt.vJpcheck{
	background:#c66cd6;
}
.oPt.vEditing{
	background:#9c59d4;
}
.oPt.vLesson{
	background:#7370d9;
}
.oPt.vNews{
	background:#333;
}
.oPt.vCasting::after,
.oPt.vDirection::after,
.oPt.vJpcheck::after,
.oPt.vEditing::after,
.oPt.vLesson::after,
.oPt.vNews::after{
	content:'';
	display:block;
	mask:url(parts/ico_casting.svg) no-repeat center center / contain;
	z-index:5;
	position:absolute;
}
.oPt.vCasting::after{
	background:#ffce38;
	width:33rem;
	height:40rem;
	right:5rem;
	top:-4.5rem;
	mask-image:url(parts/ico_casting.svg);
}
.oPt.vDirection::after{
	background:#ffa9e2;
	width:31rem;
	height:40rem;
	right:5rem;
	top:-5rem;
	mask-image:url(parts/ico_direction.svg);
}
.oPt.vJpcheck::after{
	background:#da80ea;
	width:32rem;
	height:40rem;
	right:5rem;
	top:-10rem;
	mask-image:url(parts/ico_jpcheck.svg);
}
.oPt.vEditing::after{
	background:#bf85ef;
	width:27rem;
	height:40rem;
	right:5rem;
	top:-12rem;
	mask-image:url(parts/ico_editing.svg);
}
.oPt.vLesson::after{
	background:#8c89ef;
	width:26rem;
	height:36rem;
	right:5rem;
	top:-1rem;
	mask-image:url(parts/ico_lesson.svg);
}
.oPt.vNews::after{
	background:#666;
	width:26rem;
	height:36rem;
	right:5rem;
	top:-8rem;
	mask-image:url(parts/ico_news.svg);
}
.oPt.vCasting .oPt_hd > small,
.oPt.vDirection .oPt_hd > small,
.oPt.vJpcheck .oPt_hd > small,
.oPt.vEditing .oPt_hd > small,
.oPt.vLesson .oPt_hd > small,
.oPt.vNews .oPt_hd > small{
	font-size:6rem;
}
.oPt.vCasting .oPt_hd > span,
.oPt.vDirection .oPt_hd > span,
.oPt.vJpcheck .oPt_hd > span,
.oPt.vEditing .oPt_hd > span,
.oPt.vLesson .oPt_hd > span,
.oPt.vNews .oPt_hd > span{
	font-size:3.2rem;
}
@media screen and (width < 768px){
	.oPt.vCasting,
	.oPt.vDirection,
	.oPt.vJpcheck,
	.oPt.vEditing,
	.oPt.vLesson,
	.oPt.vNews{
		padding-bottom:1rem;
	}
	.oPt.vCasting .oPt_hd > small,
	.oPt.vDirection .oPt_hd > small,
	.oPt.vJpcheck .oPt_hd > small,
	.oPt.vEditing .oPt_hd > small,
	.oPt.vLesson .oPt_hd > small,
	.oPt.vNews .oPt_hd > small{
		font-size:4.6rem;
	}
	.oPt.vCasting .oPt_hd > span,
	.oPt.vDirection .oPt_hd > span,
	.oPt.vJpcheck .oPt_hd > span,
	.oPt.vEditing .oPt_hd > span,
	.oPt.vLesson .oPt_hd > span,
	.oPt.vNews .oPt_hd > span{
		font-size:2rem;
	}
	.oPt.vCasting::after{
		width: 13.25rem;
		height: 11rem;
		right: 0.38rem;
		top: 0.37rem;
	}
	.oPt.vDirection::after{
		width: 11.75rem;
		height: 11rem;
		right: 0.75rem;
		top: 0.5rem;
	}
	.oPt.vJpcheck::after{
		width: 15rem;
		height: 12rem;
		right: -1.25rem;
		top: -0.75rem;
	}
	.oPt.vEditing::after{
		width: 11.75rem;
		height: 11rem;
		right: 0.7rem;
		top: 0.1rem;
	}
	.oPt.vLesson::after{
		width: 11.5rem;
		height: 13rem;
		right: 0.75rem;
		top: -1rem;
	}
	.oPt.vNews::after{
		width: 11.5rem;
		height: 13rem;
		right: 0.75rem;
		top: -1.2rem;
	}
}

/* ブロックエディタ
---------------------------------- */
.oBlocks{
	display:grid;
	grid-template-columns:1fr 7rem 96rem 7rem 1fr;
	width:100%;
}
.oNewsSet_contents .oBlocks{
	margin-top:2rem;
	grid-template-columns:0 0 100% 0 0;
}
.oBlocks > *{
	grid-column: 3 / -3;
}
.oBlocks > *:first-child{
	margin-top:0 !important;
}
.oPt + .oBlocks{
	margin-top:4rem;
}
@media screen and (width < 768px){
	.oBlocks{
		grid-template-columns:1fr 35rem 1fr;
	}
	.oPt + .oBlocks{
		margin-top:2rem;
	}
}
/* h2 */
.oBlocks h2{
	margin-top:6rem;
	display:grid;
	font-size:2rem;
	font-weight:700;
	line-height:1.5;
	border-radius:1em;
	overflow:hidden;
	column-gap:1.5rem;
	grid-template-columns:3rem auto 1fr;
	width:100%;
}
.oBlocks h2::before,
.oBlocks h2::after{
	content:'';
	background:#333;
	display:flex;
	width:100%;
	height:100%;
}
@media screen and (width < 768px){
	.oBlocks h2{
		margin-top:4rem;
		font-size:1.8rem;
		grid-template-columns:2rem auto 1fr;
		column-gap:1rem;
	}
}
/* p */
.oBlocks p{
	margin-top:4rem;
	font-size:1.6rem;
	line-height:2;
}
.oBlocks h2 + p{
	margin-top:3rem;
}
.oBlocks p + p,
.oBlocks ul + p,
.oBlocks ol + p{
	margin-top:1em;
}
@media screen and (width < 768px){
	.oBlocks p{
		margin-top:2rem;
		font-size:1.4rem;
	}
	.oBlocks h2 + p{
		margin-top:1em;
	}
}
/* ul */
.oBlocks ul{
	margin-top:4rem;
	font-size:1.6rem;
	line-height:2;
	margin:0;
	padding:0;
	list-style-type:none;
	display:grid;
	grid-template-columns:auto 1fr;
	gap:0.5em 0;
}
.oBlocks h2 + ul{
	margin-top:3rem;
}
.oBlocks p + ul,
.oBlocks ul + ul,
.oBlocks ol + ul{
	margin-top:1em;
}
.oBlocks ul > li{
	margin:0;
	position:relative;
	display:grid;
	grid-template-columns:subgrid;
	grid-column:1 / -1;
}
.oBlocks ul > li::before{
	content:'・';
}
@media screen and (width < 768px){
	.oBlocks ul{
		margin-top:2rem;
		font-size:1.4rem;
	}
}
/* a */
.oBlocks p a,
.oBlocks li a,
.oBlocks dt a,
.oBlocks th a,
.oBlocks td a{
	color:#333;
	position:relative;
	display:inline-block;
	background:linear-gradient(0deg, #333 0%, #333 100%) no-repeat left bottom / 100% 1px;
	padding:0.2em 0;
	text-decoration:none;
	transition:color 0.5s ease 0s;
}
.oBlocks p a::before,
.oBlocks li a::before,
.oBlocks dt a::before,
.oBlocks th a::before,
.oBlocks td a::before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:1px;
	background:linear-gradient(0deg, #fcbd34 0%, #fcbd34 100%) no-repeat left bottom / 100% 1px;
	transform:scaleX(0);
	transition:transform 0.5s ease 0s;
	transform-origin:right bottom;
}
@media (hover){
	.oBlocks p a:hover,
	.oBlocks li a:hover,
	.oBlocks dt a:hover,
	.oBlocks th a:hover,
	.oBlocks td a:hover{
		color:#fcbd34;
	}
	.oBlocks p a:hover::before,
	.oBlocks li a:hover::before,
	.oBlocks dt a:hover::before,
	.oBlocks th a:hover::before,
	.oBlocks td a:hover::before{
		transform:scaleX(1);
		transform-origin:left bottom;
	}
}

/* セクション
---------------------------------- */
.oSct{
	margin:6rem 0 0;
	width:100%;
}
.oSct_inner{
	margin:0 auto;
	width:110rem;
	max-width:100%;
}
@media screen and (width < 768px){
	.oSct{
		margin-top:4rem;
	}
	.oSct_inner{
		width:35rem;
		max-width:100%;
	}
}

/* 見出しA
---------------------------------- */
.oHdA{
	font-size:2rem;
	font-weight:700;
	padding-left:3rem;
	background:#333;
	line-height:1.5;
	border-radius:1em;
	overflow:hidden;
}
.oHdA > span{
	background:#eee;
	padding:0.5rem 1.5rem;
	margin:-0.5rem 0;
	display:inline-block;
}
@media screen and (width < 768px){
	.oHdA{
		font-size:1.8rem;
		padding-left:2rem;
	}
	.oHdA > span{
		padding:0.5rem 1rem;
	}
}

/* テキスト
---------------------------------- */
.oTxt{
	margin:4rem auto 0;
	position:relative;
	font-size:1.6rem;
	line-height:2;
	width:110rem;
	max-width:100%;
}
.oHdA + .oTxt{
	margin-top:3rem;
}
.oTxt a{
	color:#333;
	position:relative;
	display:inline-block;
	background:linear-gradient(0deg, #333 0%, #333 100%) no-repeat left bottom / 100% 1px;
	padding:0.2em 0;
	text-decoration:none;
	transition:color 0.5s ease 0s;
}
.oTxt a::before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:1px;
	background:linear-gradient(0deg, #fcbd34 0%, #fcbd34 100%) no-repeat left bottom / 100% 1px;
	transform:scaleX(0);
	transition:transform 0.5s ease 0s;
	transform-origin:right bottom;
}
.oTxt > *{
	margin:1em 0 0;
}
.oTxt > *:first-child{
	margin-top:0;
}
.oTxt > ul{
	list-style-type:none;
}
.oTxt > ul > li{
	padding-left:1em;
	position:relative;
}
.oTxt > ul > li::before{
	position:absolute;
	content:'';
	width:0.5em;
	height:0.5em;
	left:0;
	top:0.8em;
	border-radius:50%;
	background:#333;
}
@media (hover){
	.oTxt a:hover{
		color:#fcbd34;
	}
	.oTxt a:hover::before{
		transform:scaleX(1);
		transform-origin:left bottom;
	}
}
@media screen and (width < 768px){
	.oTxt{
		margin-top:2rem;
		font-size:1.4rem;
		width:35rem;
	}
	.oHdA + .oTxt{
		margin-top:1rem;
	}
}

/* ==================================
+ WP調整
---------------------------------- */
/* adminバー関連
---------------------------------- */
body.admin-bar #wpadminbar{
	position:fixed !important;
}
body.admin-bar .oHeader{
	top:32px;
}
@media screen and (width <= 782px){
	body.admin-bar .oHeader{
		top:46px;
	}
}

/* ==================================
+ 上書きクラス
---------------------------------- */
/* 表示切替
---------------------------------- */
@media screen and (width < 768px){
	.xPC{
		display:none !important;
	}
}
@media screen and (width >= 768px){
	.xSP{
		display:none !important;
	}
}