@charset "utf-8";
/*
Theme Name:株式会社エイジェックまなび
*/

/*============================
共通STYLE
============================*/
/*----- トップ画像 -----*/
.bl_mainVisual {
	text-align: center;
	position: relative;
	overflow: hidden;
	letter-spacing: 0;
	margin: 70px 0 0;
}

.bl_mainVisual img {
	height: 300px;
	object-fit: cover;
	width: 100%;
}

.bl_mainVisual.hp_filter_none::before,
.co-creation-partner .bl_mainVisual::before {
	content: none;
}

.bl_mainVisual_ttl {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	color: #fff;
	z-index: 10;
	transform: translate(-50%, -50%);
	text-align: center;
	letter-spacing: .1em;
}

.bl_mainVisual_ttl .en span {
display: inline-block;
    font-family: "Akshar", sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1em;
}

.bl_mainVisual_ttl h1 span {
    font-weight: 600;
    letter-spacing: .1em;
    font-size: 2.5rem;
    display: inline-block;
	line-height: 1.1em;
}

.bgextend {
	animation-name: bgextendAnimeBase;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	opacity: 0;
	letter-spacing: .1em;
}

@keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.bgappear {
	animation-name: bgextendAnimeSecond;
	animation-duration: 1s;
	animation-delay: 0.6s;
	animation-fill-mode: forwards;
	opacity: 0;
}

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

	100% {
		opacity: 1;
	}
}

.bgLRextend::before {
	animation-name: bgLRextendAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #fff;
}

@keyframes bgLRextendAnime {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}

	50% {
		transform-origin: left;
		transform: scaleX(1);
	}

	50.001% {
		transform-origin: right;
	}

	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

@media screen and (max-width: 1023px) {
	.bl_mainVisual_ttl h1 span {
		font-size: 1.75rem;
	}
}

@media screen and (max-width: 767px) {
	.bl_mainVisual_ttl .en {
		margin: 0 0 10px;
	}

	.bl_mainVisual_ttl h1 span {
		font-size: 1rem;
		line-height: 1.4;
	}
	
	.bl_mainVisual_ttl {
		padding: 0 15px;
	}
	
	.bl_mainVisual_ttl .en span {
    	font-size: 2.5rem;
	}
}

/*----- パンくず -----*/
.bl_bread {
	padding: 10px 0 3px;
}

.bl_bread ul {
	margin: 0 auto;
	letter-spacing: .1em;
}

.bl_bread li {
	display: inline;
}

.bl_bread li a,
.bl_bread li {
	color: #333;
	letter-spacing: .1em;
	font-size: .875rem;
}

.bl_bread li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.bl_bread li a,
	.bl_bread li {
		font-size: .75rem;
	}
}

/*============================
充実した施設で学べる
============================*/
.bl_facilityTop {
	padding: 60px 0 100px;
}

.bl_facilityTop_link {
	max-width: 870px;
	margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;	
}

.bl_facilityTop_link a {
	display: block;
	text-align: center;
	background: #000;
	color: #fff;
	padding: 20px;
	font-weight: 600;
}

.bl_facilityTop_link a:hover {
	background: #ea3800;	
}

.bl_facility_tochigi,
.bl_facility_ryogoku {
	background: #f0f0f0;
}

.bl_facility_cont li {
    display: inline-block;
	vertical-align: top;
}

.bl_facility_txt {
	width: 55%;
	padding: 40px;
	background: #fff;
	position: relative;
	z-index: 0;
}

.bl_facility_txt:after {
	position: absolute;
	content: '';
	width: 50px;
	height: 100%;
	background: #fff;
	top: 0;
	right: -50px;
	z-index: -1;
}

.bl_facility_txt h3 {
	font-size: 1.25rem;
	font-weight: 600;
	color: #ea3800;
	margin: 0 0 20px;
}

.bl_facility_desc {
	line-height: 1.7;
}

.bl_facility_img {
	width: 45%;
	position: relative;
	z-index: 1;
	margin: 40px 0 0;
}

.bl_facility_illust {
	max-width: 660px;
	margin: 50px auto 0;
}

.bl_facility_exp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
	margin: 60px 0 0;
}

.bl_facility_exp_item p {
	margin: 20px 0 0;
	line-height: 1.7;
}

.bl_facility_nihonbashi .bl_facility_txt,
.bl_facility_nihonbashi .bl_facility_txt:after {
	background: #ffefea;
}

.bl_facility_yt {
	margin: 80px 0 0;	
}

.bl_facility_yt h3 {
	margin: 0 0 20px;
	text-align: center;
	font-weight: 600;
	font-size: 1.125rem;
}

.bl_facility_yt_inner {
	max-width: 690px;
	margin: 0 auto;
	position: relative;
    height: 400px;
    overflow: hidden;
}

.bl_facility_yt_inner  iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (max-width: 690px) {
	.bl_facility_yt {
    	margin: 50px 0 0;
	}
	
    .bl_facility_yt_inner {
        padding-bottom: 56.25%;
        height: 0;
    }
	
	.bl_facility_yt h3 {
		font-size: .875rem;
	}
}

@media screen and (max-width: 767px) {
	.bl_facility_exp {
    	display: block;
		margin: 40px 0 0;
	}
	
	.bl_facility_exp .bl_facility_exp_item:not(last-of-type) {
		margin: 0 0 30px;
	}
	
	.bl_facility_txt:after {
		content: none;
	}
	
	.bl_facility_cont li {
    	display: block;
	}
	
	.bl_facility_txt {
		width: 90%;
		padding: 30px;
	}
	
	.bl_facility_img {
		width: 70%;
		margin: -20px 0 0 30%;
	}
	
	.bl_facility_txt h3 {
		font-size: 1.0625rem;
		margin: 0 0 15px;
	}
}

/*============================
コース一覧
============================*/
.bl_course {
	position: relative;
	background: url(images/bg-course.jpg) no-repeat;
    background-position: top left;
    -webkit-background-size: cover;
    background-size: cover;
}

.bl_course_cont {
	margin: 60px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 30px;
}

.bl_course_img img {
	border-radius: 20px 20px 0 0;	
}

.bl_course_item {
	position: relative;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 0px 10px #0000000d;
	transform: .3s;
	padding: 0 0 30px;	
}

.bl_course_item h3 {
	width: 100%;
    max-width: 80%;
    position: absolute;
    top: -22px;
    left: 10%;
    background: #ea3800;
    color: #fff;
    text-align: center;
    padding: 4px;
    border-radius: 30px;
    font-size: 1.0625rem;
    font-weight: 600;
}

.bl_course_inner {
	padding: 15px 20px 0;
}

.bl_course_item h4 {
	font-weight: bold;
	font-size: 1.0625rem;
	margin: 0 0 10px;
}

.bl_course_method {
	margin: 0 0 10px;
}

.bl_course_method  span{
	display: inline-block;
	margin: 0 5px 0 0;
	font-size: .6875rem;
    line-height: .75rem;
    background: #ea38001a;
    color: #ea3800;
    padding: 2px 6px 3px 7px;
}

.bl_course_desc {
	line-height: 1.6;
    font-size: .9375rem;
}

.bl_course .el_more {
    margin: 20px auto 0;
}

.bl_course_stop {
	text-align: center;
	margin: 20px auto 0;
    max-width: 270px;
}

.bl_course_stop p {
    padding: 22px 12px 20px;
    font-weight: 500;
    transition: .1s;
    border: 1px solid #ddd;
    font-family: "Akshar", sans-serif;
    letter-spacing: .1em;
    line-height: 1;
    z-index: 1;	
	color: #ddd;
}

@media screen and (max-width: 1023px){
	.bl_course_cont {
    	grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px){
	.bl_course_cont {
    	display: block;
	}
	
	.bl_course_item {
		padding: 0 0 25px;	
	}
	
	.bl_course_cont .bl_course_item:not(:last-of-type) {
		margin: 0 0 50px;
	}
	
	.bl_course_item h3 {
    	padding: 8px;
    	font-size: 1.0625rem;
	}
}

/*============================
各コースページ
============================*/
/* ----- 固定ボタン -----*/
.bl_entryBtn {
	position: fixed;
	right: 10px;
	bottom: 60px;
	max-width: 120px;
}

.bl_entryBtn:hover img {
	opacity: .8;
}

@media screen and (max-width: 1279px){
	.bl_entryBtn {
    	bottom: 50px;
    	max-width: 80px;
	}
}
/* ----- トップMV -----*/
.bl_course_mv {
	position: relative;
	margin: 70px 0 0;
}

.bl_course_mv .hp_pad,
.bl_course_mv .hp_mo {
	display: none;
}

.bl_course_decoText {
	margin: -3.5vw 0 0;
    line-height: 1;
}

.bl_course_text_cont {
	position: absolute;
	top: 50%;
	left: 42%;
	transform: translateY(-70%);
}

.bl_course_text_cont.hp_left {
	left: 10%;
}

.bl_course_decoText p {
	text-align: center;
	font-size: 8vw;
	font-weight: 800;
	font-family: "Akshar", sans-serif;
	color: #f3ffce66;
	mix-blend-mode: overlay;
}

.bl_course_text_cc {
	font-weight: 800;
	color: #fff;
	letter-spacing: .1em;
	font-size: 1.125rem;
	text-shadow: 2px 3px 3px #00000044;
}

.bl_course_text_cc span {
	font-size: 1.75rem;
	letter-spacing: .1em;
}

.bl_course_text_cont h2 {
	font-weight: 800;
	font-size: 3.375rem;
	color: #fff;
	text-shadow: 2px 3px 3px #00000060;	
	line-height: 1;
	margin: 6px 0 36px;
}

.bl_course_box {
	max-width: 650px;
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.bl_course_box_item {
	background: #ffffffe0;
	padding: 20px;
	text-align: center;
	border-radius: 10px;
}

.bl_course_item_desc {
	display: inline-block;
	position: relative;
	font-size: 1rem;
	font-weight: 600;
}

.bl_course_item_desc:before {
	content: '';
    width: 1px;
    height: 46px;
    background: #333;
    transform: rotate(-24deg);
    position: absolute;
    top: 3px;
    left: -17px;
}

.bl_course_item_desc:after {
	content: '';
    width: 1px;
    height: 46px;
    background: #333;
    transform: rotate(24deg);
    position: absolute;
    top: 3px;
    right: -17px;
}

.bl_course_box_item h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 10px 0 0;
}

.bl_course_box_item h3 span {
	position: relative;
	z-index: 1;
	font-size: 1.375rem;
	color: #ea3800;
}

.bl_course_box_item h3 span:after {
	content: '';
	background: #ea380040;
	width: 100%;
	height: 10px;
	position: absolute;	
	left: 0;
	bottom: 0;
}

.bl_course_mv_date {
	max-width: 720px;
	margin: -10px 0 30px;
	display: grid;
    grid-template-columns: 360px 1fr;
    gap: 20px;
	align-items: end;
}
.bl_course_mv_date .hp_day,
.bl_course_mv_date .hp_time {
	font-weight: 800;
    font-size: 1.5rem;
    color: #fff;
    text-shadow: 2px 3px 3px #00000060;	
	letter-spacing: .1em;
}

.bl_course_mv_date .hp_day span,
.bl_course_mv_date .hp_time span {
	font-family: "Akshar", sans-serif;
	line-height: 1;
}

.bl_course_mv_date .hp_day span {
	font-size: 3.25rem;
    color: #dae94b;
    letter-spacing: .05em;
}

.bl_course_mv_date .hp_time span {
	font-size: 2.75rem;
    color:#dae94b;
}


@media screen and (max-width: 1279px){
	.bl_course_text_cont,
	.bl_course_text_cont.hp_left {
    	left: 0;
    	transform: translateY(-65%);
		width: 100%;
		text-align: center;
	}
	
	.bl_course_mv_date {
		margin: -15px auto 20px;
	}
	
	.bl_course_box {
		margin: 0 auto;
	}
	
	.bl_course_text_cc {
    	font-size: 1rem;
	}
	
	.bl_course_text_cc span {
    	font-size: 1.25rem;
	}
	
	.bl_course_item_desc {
    	font-size: .875rem;
	}
	
	.bl_course_box_item h3 span {
    	font-size: 1.25rem;
	}
}

@media screen and (max-width: 1023px){
	.bl_course_mv .hp_pc {
		display: none;
	}
	
	.bl_course_mv .hp_pad {
		display: block;
	}
	
	.bl_course_text_cont {
    	transform: translateY(-60%);
	}
	
	.bl_course_text_cont h2 {
    	font-size: 2.5rem;
	}
	
	.bl_course_box {
    	max-width: 540px;
	}
	
	.bl_course_box_item h3 {
    	font-size: 1rem;
	}
	
	.bl_course_box_item h3 span {
        font-size: 1.125rem;
    }
	
	.bl_course_mv_date {
		max-width: 650px;
	}
	
	.bl_course_mv_date .hp_day span {
    	font-size: 3rem;
	}
	
	.bl_course_mv_date .hp_day,
	.bl_course_mv_date .hp_time {
    	font-size: 1.25rem;
	}
}

@media screen and (max-width: 767px){
	.bl_course_mv .hp_pad {
		display: none;
	}

	.bl_course_mv .hp_mo {
		display: block;
	}
	
	.bl_course_text_cont,
	.bl_course_text_cont.hp_left {
    	transform: translateY(-52%);
	}
	
	.bl_course_text_cont h2 {
    	font-size: 2rem;
		line-height: 1.3;
	}
	
	.bl_course_text_cc {
    	font-size: .875rem;
	}
	
	.bl_course_text_cc span {
    	font-size: 1rem;
	}
	
	.bl_course_box {
    	display: block;
		padding: 0 30px;
	}
	
	.bl_course_box_item {
    	padding: 12px;
		margin: 0 0 10px;
	}
	
	.bl_course_box .bl_course_item:nth-of-type(2) {
		margin: 12px 0 0;
	}
	
	.bl_course_box_item h3 {
    	font-size: .875rem;
    	margin: 4px 0 0;
	}
	
	.bl_course_box_item h3 span {
    	font-size: 1.0625rem;
    	color: #ea3800;
	}
	
	.bl_course_mv_date {
		display: block;
	}
	
	.bl_course_box {
        max-width: 300px;
    }
	
	.bl_course_mv_date .hp_time {
		margin: 6px 0 0;
	}
	
	.bl_course_item_desc:before {
    	height: 38px;
    	top: 5px;
    	left: -13px;
	}
	
	.bl_course_item_desc:after {
    	height: 38px;
    	top: 5px;
    	right: -13px;
	}
}

/* ----- メッセージ -----*/
.bl_course_message .hp_pad,
.bl_course_message .hp_mo {
	display: none;
}
.bl_course_message {
	position: relative;
	text-align: center;
	color: #fff;
    margin: -6vw 0 0;
	z-index: -1;
}

.bl_course_message::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    background: #00000063;
}

.bl_course_message_cont {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	padding: 15px 30px 0;
	z-index: 3;
}

.bl_course_message_cont h2 {
	font-size: 1.6875rem;
	font-weight: 700;
	margin: 0 0 24px;
}

.bl_course_message_cont h2 span.hp_em {
	display: inline-block;
	background: #fff;
	color: #ea3800;
	line-height: 1;
	padding: 5px 5px 6px 5px;
	margin: 0 5px;
}

.bl_course_message_txt {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 2;
	text-shadow: 2px 3px 3px #00000044;
}

@media screen and (max-width: 1023px){
	.bl_course_message .hp_pc {
		display: none;
	}
	
	.bl_course_message .hp_pad {
		display: block;
	}
	
	.bl_course_message_cont h2 {
    	font-size: 1.25rem;
    	margin: 0 0 12px;
	}
	
	.bl_course_message_txt {
    	font-size: 1rem;
    	line-height: 1.7;
	}
}

@media screen and (max-width: 767px){
	.bl_course_message .hp_pad {
		display: none;
	}
	
	.bl_course_message .hp_mo {
		display: block;
	}
	
	.bl_course_message_cont h2 {
        line-height: 1.7;
    }
	
	.bl_course_message_txt {
    	text-align: left;
	    font-weight: 500;
	    font-size: .9375rem;
		line-height: 1.6;
	}
	
	.bl_course_message_cont h2 {
        font-size: 1rem;
	}
	
	.bl_course_message_cont h2 span.hp_em {
		padding: 2px 5px 3px 5px;
        line-height: 1.2;
	}
}

/* ----- スポーツ科学アカデミーの特長 -----*/
.bl_features {
	position: relative;
	background: url(images/bg_features.png) center center repeat;
}

.bl_features_box {
	display: grid;
	gap: 60px;
}

.bl_features_cont .bl_features_box:nth-of-type(odd) {
	 grid-template-columns: 450px 1fr;	
}

.bl_features_cont .bl_features_box:nth-of-type(even) {
	 grid-template-columns: 690px 1fr;	
}

.bl_features_cont .bl_features_box:nth-of-type(even) .bl_features_txt {
	order: 1;
}

.bl_features_cont .bl_features_box:nth-of-type(even) .bl_features_img {
	order: 2;
}

.bl_features_cont .bl_features_box:not(:first-of-type) {
	margin: 80px 0 0;
}

.bl_features_no {
	color: #ea3800;
	font-weight: 500;
	font-family: "Akshar", sans-serif;
	line-height: 1;
}

.bl_features_no span {
	display: inline-block;
	letter-spacing: .05em;
}

.bl_features_no .hp_txt {
	font-size: 1.75rem;
}

.bl_features_no .hp_num {
	font-size: 2.75rem;
}

.bl_features_box h3 {
	font-size: 1.75rem;
	font-weight: 600;
	margin: 22px 0 30px;
}

.bl_features_desc {
	line-height: 1.8;
	font-size: 1.0625rem;
}

.bl_features_box .el_more {
	margin: 30px 0 0;
}

/* ----- カリキュラム-----*/
.bl_course_curriculum {
	background: #f0f0f0;
}

.bl_course_curriculum .el_sectionTitle {
	margin: 0 0 60px;
}

.bl_course_curriculum_wrap {
	position: relative;
	padding: 60px 40px 40px;
	background: #fff;
	border: 1px solid #ea3800;
}

.bl_course_curriculum_wrap h3 {
	position: absolute;
	top: -21px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
}

.bl_course_curriculum_wrap h3 span{
	background: #ea3800;
	color: #fff;
	display: inline-block;
	line-height: 1;
	font-size: 1.25rem;
	font-weight: 500;
	padding: 10px 20px 12px;
	border-radius: 20px;
}

.bl_course_curriculum_cont {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.bl_course_curriculum_item h4 {
	color: #ea3800;
	font-weight: 600;
	font-size: 1.125rem;
	margin: 15px 0 10px;
}

.bl_course_curriculum_desc {
	line-height: 1.7;
}

@media screen and (max-width: 1023px){
	.bl_course_curriculum_cont {
    	gap: 20px;
	}
}

@media screen and (max-width: 767px){
	.bl_course_curriculum_cont {
    	display: block;
	}
	
	.bl_course_curriculum_wrap {
    	padding: 40px 20px 30px;
	}
	
	.bl_course_curriculum_wrap h3 span {
    	font-size: 1.0625rem;
    	padding: 10px 14px 12px;
	}
	
	.bl_course_curriculum_wrap .bl_course_curriculum_item:not(:first-of-type) {
		margin: 30px 0 0;
	}
	
	.bl_course_curriculum_desc {
    	line-height: 1.6;
	}
	
	.bl_course_curriculum_item h4 {
    	font-size: 1rem;
    	margin: 15px 0 6px;
	}
}

/* ----- 講座概要-----*/
.bl_course_outline {
	position: relative;
    background: url(images/bg_cource-4.jpg) no-repeat;
    background-position: top left;
    -webkit-background-size: cover;
    background-size: cover;	
}

.bl_course_outline .el_sectionTitle .ja {
	color: #fff;
}

.bl_course_outline table {
	border: 1px solid #ddd;
    border-bottom: none;
}

.bl_course_outline table th {
    width: 25%;
    background: #ea3800;
	color: #fff;
    font-weight: normal;
    padding: 20px;
	text-align: center;
    border-bottom: solid 1px #ddd;
}

.bl_course_outline table td {
    width: 75%;
    background: #fff;
    padding: 20px 40px;
    border-bottom: solid 1px #ddd;
}

.bl_course_outline table th,
.bl_course_outline table td {
    vertical-align: middle;
}

.bl_course_date_cont {
	margin: 5px 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 20px;	
}


.bl_course_outline .el_more {
	margin: 50px auto 0;
}

.bl_course_outline_gMap {
	margin: 20px 0 0;
}

@media screen and (max-width: 1023px){
	.bl_course_date_cont {
    	display: block;
	}
}

@media screen and (max-width: 767px){
	.bl_course_outline table th,
	.bl_course_outline table td {
    	display: block;
    	width: 100%;
		border-bottom: none;
    	padding: 20px;
	}
	
	.bl_course_outline .el_more {
    	margin: 15px auto 0;
	}
}

/* ----- 講師紹介-----*/

.bl_instructor {
	position: relative;
	background: url(images/bg_features.png) center center repeat;
}

.bl_instructor_box {
	display: grid;
	 grid-template-columns: 270px 1fr;
	max-width: 1140px;
}

.bl_instructor_img {
	position: relative;
    z-index: 1;	
}

.bl_instructor_head {
    display: inline-block;
    background: #000;
    padding: 10px 36px 12px;
    position: relative;
    z-index: 2;
    margin: 20px 0 0 -30px;
}

.bl_instructor_head h3 {
	color: #fff;
}

.bl_instructor_head h3 span {
	display: inline-block;
	vertical-align: middle;
    line-height: 1;
}

.bl_instructor_head h3 .hp_ja {
	font-size: 1.375rem;
	font-weight: 600;
}

.bl_instructor_head h3 .hp_en {
	font-size: 1.125rem;
	font-family: "Akshar", sans-serif;
	margin: 6px 0 0 16px;
}

.bl_instructor_at {
	color: #ea3800;
	margin: 8px 0 0;
	font-weight: 600;
}

.bl_instructor_body {
	position: relative;
	background: #f0f0f0;
	padding: 50px 60px 50px 90px;
	margin-left: -40px;
	z-index: 0;
	margin-top: 24px;
	line-height: 1.8;
}

.bl_instructor_body .bl_instructor_item:not(:first-of-type) {
	margin: 20px 0 0;
}

.bl_instructor_item h4 {
	font-weight: 600;
}

.bl_instructor_cont .bl_instructor_box:not(:first-of-type) {
	margin: 60px 0 0;
}

.bl_instructor_cont .bl_instructor_box:nth-of-type(even) {
	margin: 60px 0 0 100px;
}

/* ----- 受講者の声-----*/
.bl_voice {
	position: relative;
	background: url(images/bg_voice.jpg) no-repeat;
    background-position: top left;
    -webkit-background-size: cover;
    background-size: cover;
}

.bl_voice_cont {
	text-align: center;
}

.bl_voice_item {
	display: inline-block;
	width: 50%;
	vertical-align: top;
	padding: 0 30px;
	margin: 0 0 30px;
}

.bl_voice_cont .bl_voice_item:nth-child(3),
.bl_voice_cont .bl_voice_item:nth-child(4) {
	margin: 0;
}

.bl_voice_yt {
    position: relative;
	height: 0;
    padding-bottom: 57%;
    overflow: hidden;
}

.bl_voice_yt iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.bl_voice_item p {
	text-align: center;
	font-weight: 600;
	margin: 10px 0 0;
	color: #fff;
	font-size: .875rem;
}

@media screen and (max-width: 1279px){	
	.bl_instructor_cont .bl_instructor_box:nth-of-type(even) {
    	margin: 60px 0 0;
	}

	.bl_instructor_box {
    	grid-template-columns: 200px 1fr;
	}
	
	.bl_instructor_body {
    	padding: 30px 30px 30px 70px;
	}

	.bl_features_cont .bl_features_box:nth-of-type(odd) ,
	.bl_features_cont .bl_features_box:nth-of-type(even) {
		 grid-template-columns: repeat(2, 1fr);
	}
	
	.bl_features_box h3 {
    	font-size: 1.375rem;
    	margin: 5px 0 12px;
	}
	
	.bl_features_desc {
    	line-height: 1.6;
	}
	
	.bl_features_cont .bl_features_box:not(:first-of-type) {
    	margin: 60px 0 0;
	}
}

@media screen and (max-width: 1200px){	
	.bl_voice_item {
		width: 50%;
	}
}

@media screen and (max-width: 767px){
	.bl_features_box {
    	display: block;
	}
	
	.bl_features_no .hp_txt {
    	font-size: 1.25rem;
	}
	
	.bl_features_no .hp_num {
    	font-size: 1.75rem;
	}
	
	.bl_features_txt {
		margin: 20px 0 0;
	}
	
	.bl_features_box h3 {
        font-size: 1.125rem;
        margin: 4px 0 10px;
    }
	
	.bl_features_box .el_more {
    	margin: 20px auto 0;
	}
	
	.bl_features_cont .bl_features_box:not(:first-of-type) {
        margin: 40px 0 0;
    }
	
	.bl_instructor_box {
        grid-template-columns: 72px 1fr;
    }
	
	.bl_instructor_head {
    	display: block;
    	padding: 14px 0 0 16px;
    	height: 84px;
    	margin: 0;
	}
	
	.bl_instructor_body {
    	padding: 20px;
    	margin-left: -72px;
    	margin-top: 0px;
    	line-height: 1.7;
	}
	
	.bl_instructor_head h3 .hp_ja {
    	font-size: 1.125rem;
	}
	
	.bl_instructor_head h3 .hp_en {
    	font-size: .875rem;
    	margin: 6px 0 0 12px;
	}
	
	.bl_instructor_at {
    	font-size: .75rem;
    	margin: 7px 0 0;
	}
	
	.bl_instructor_cont .bl_instructor_box:not(:first-of-type),
	.bl_instructor_cont .bl_instructor_box:nth-of-type(even) {
        margin: 30px 0 0;
    }
	
	.bl_voice_item {
    	display: block;
		width: 100%;
		padding: 0;
	}
	
	.bl_voice_cont .bl_voice_item:not(:last-of-type) {
		margin: 0 0 30px !important;
	}
}
/*============================
お問合せフォーム
============================*/
input[type="button"],input[type="email"],input[type="text"],input[type="submit"],input[type="image"],input[type="tel"],textarea,select,input[type="number"] {
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	letter-spacing: .1em;
}

.bl_contact_form {
    max-width: 600px;
    margin: 0 auto;
	letter-spacing: .1em;
}

.bl_contact_txt {
    width: 100%;
    padding: 8px 8px;
    font-size: 1rem;
    border: 1px solid#ddd !important;
	letter-spacing: .1em;
}

.bl_contact_box {
	margin: 0 0 24px;
}

.bl_contact_ttl span {
	display: inline-block;
	vertical-align: middle;
}

.bl_contact_ttl .title-contactform7 {
	font-weight: 600;
	font-size: .9375rem;
}

.bl_contact_input {
	margin: 12px 0 0;
}

.bl_contact_input label {
    border: none !important;
    display: inline-block;
    cursor: pointer;
    background: #fff;
    margin: 0 12px 6px 0;
}

.wpcf7-list-item-label,
.bl_contact_privacy {
	font-weight: 600;
	font-size: .9375rem;
}

.bl_contact_box.hp_pp input[type="checkbox"] {
    transform: scale(1.3);
    margin: 0 7px 3px 0;
}

.bl_contact_box.hp_pp {
	text-align: center;
}

.bl_contact_box.hp_pp .wpcf7-list-item-label:hover {
	color: #005bac;
}

.bl_contact_his,
.bl_contact_any {
	background: #ff6347;
    padding: 2px 4px 3px 5px;
    color: #fff;
    border-radius: 3px;
    margin: 0 10px 0 0;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: .1em;
}

.bl_contact_any {
	background: #ddd;
}

.bl_recaptcha {
	text-align: center;
	font-size: .875rem;
	margin: 10px 0 0;
}

.bl_recaptcha span {
	display: block;
}

.bl_recaptcha a {
	margin: 0 5px;
	border-bottom: 1px solid #00a1e9;
	color: #00a1e9;
	padding-bottom: 2px;
}

.bl_recaptcha a:hover {
	border-bottom: 1px solid #005bac;
	color: #005bac;
}

.bl_contact_submit {
    text-align: center;
    margin: 50px auto 0;
}

.bl_contact_btn,
div.wpcf7cp-btns .wpcf7-form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    appearance: none;
    cursor: pointer;
    background: #ea3800;
    display: inline-block;
    width: 42%;
    outline: none;
    border-radius: 5px;
    font-size: 1.125rem;
	font-weight: bold;
    border: none;
    padding: 12px 0;
    margin: 0 1%;
    letter-spacing: .2em;
    transition: .5s;
    color: #fff;
}

.bl_contact_btn:hover,
div.wpcf7cp-btns .wpcf7-form-control:hover {
    background: #000;
}

.wpcf7-spinner {
	display: block !important;
}

.wpcf7-list-item {
	margin: 0 !important;
}

div#wpcf7cpcnf table {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	border: 1px solid #ccc;
	border-bottom: none;
}

div#wpcf7cpcnf table tr {
	border-bottom: 1px solid #ccc;
}

div#wpcf7cpcnf table th,
div#wpcf7cpcnf table td {
	padding: 12px;
}
div#wpcf7cpcnf table th {
	width: 50%;
	border-right: 1px solid #ccc;
	background: #f0f8ff;
}
div#wpcf7cpcnf table td {
	background: #fff;
}
div.wpcf7cp-btns {
	margin: 50px 0 0 !important;
	text-align: center;
}
.apply-title {
	margin: 0 0 30px;
}

.apply-title span {
	font-weight: bold;
}

.apply-title input[type="text"] {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    background: #fff;
    border: none;
	padding: 4px 10px;
    font-size: 1rem;
    width: 50%;
	margin: 0 0 0 10px;
}

input[type="date"] {
	padding: 6px 10px 8px 4px;
	font-size: 1rem;
}

@media screen and (max-width: 767px) {
	div#wpcf7cpcnf table th,
	div#wpcf7cpcnf table td {
    	width: 100%;
    	display: block;
	}
	
	div#wpcf7cpcnf table th {
    	border-right: none;
	}
}

/*============================
送信完了しました
============================*/
.bl_completion {
	line-height: 1.9;
	text-align: center;
}

@media screen and (max-width: 767px){
	.bl_completion {
		text-align: left;
	}	
}

/*============================
お知らせ一覧
============================*/
.bl_post_archive {
	padding: 50px 0 100px;
}

.bl_news_box {
	display: grid;
	 grid-template-columns: repeat(3, 1fr);
	gap: 50px;
	margin: 0 0 50px;
}

.bl_news_post {
	border: 1px solid #000;
}

.bl_news_post figure.zoom {
    overflow: hidden;
}

.bl_news_ctgrdate {
	display: grid;
	 grid-template-columns: 100px 1fr;
	gap: 10px;
	margin: 0 0 15px;
	align-items: center;
}

.bl_news_date {
	font-family: "Akshar", sans-serif;
	display: block;
	letter-spacing: .1em;
	line-height: 1;
	margin: 3px 0 0;
}

.bl_news_ctgr span {
	display: inline-block;
    font-size: .75rem;
    padding: 4px 8px 5px;
	line-height: 1;
	border: 1px solid #000;
}

.bl_news_ttl {
	letter-spacing: .1em;
	transition: .2s;
	font-weight: 600;
}

.bl_news_ttl:hover {
	color: #ea3800;
}

.bl_news_boxInner {
	padding: 20px;
}

@media screen and (max-width: 1023px) {
	.bl_news_box {
    	gap: 30px;
		grid-template-columns: repeat(2, 1fr);
	}
	
	.bl_post_archive {
		padding: 50px 0;
	}
}

@media screen and (max-width: 767px) {
	.bl_post_archive {
    	padding: 20px 0 0;
	}
	
	.bl_news_box {
    	display: block;
	}
	
	.bl_news_ctgrdate {
    	margin: 12px 0 5px;
	}
	
	.bl_news_post {
		margin: 0 0 30px;
	}
	
	.bl_news_ctgr {
    	text-align: left;
	}
}

/*============================
お知らせ個別投稿
============================*/
.bl_post_single {
	padding: 60px 0;
}

.bl_post_single .ly_wrap {
	max-width: 900px;
}

.bl_post_eye {
	max-width: 600px;
	margin: 0 auto 30px;
}

.bl_post_date {
	font-family: "Akshar", sans-serif;	
}

.bl_post_ttl {
	font-size: 1.375rem;
	font-weight: 600;
	margin: 0 0 30px;
}

.bl_post_txt p {
	line-height: 1.9;
}

.el_indent__10 {
	margin: 10px 0 0;
}

.el_indent__20 {
	margin: 20px 0 0;
}

.el_font__bold {
	font-weight: 600;
}

@media screen and (max-width: 767px) {
	.bl_post_single {
    	padding: 15px 0 30px;
	}
	
	.bl_post_ttl {
    	font-size: 1.125rem;
    	margin: 0 0 20px;
	}
}

/*============================
ページネーション
============================*/
.pagenation {
    margin: 60px auto 0;
}

.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

.pagenation ul {
    margin: 0 auto;
    text-align: center;
}

.pagenation li {
    list-style: none outside none;
    margin-left: 3px;
    display: -moz-inline-box;
  display: inline-block;
  /*display: inline;*/

}

.pagenation li:first-child {
    margin-left: 0;
}

.pagenation li.active {
    background-color: #999999;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 10px 15px;
}

.pagenation li a {
    background: none repeat scroll 0 0 #CCCCCC;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.pagenation li a:hover {
    background-color: #444444;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}

@media screen and (max-width: 768px) {
	.pagenation {
		margin: 30px auto 0;
	}
}