@charset "utf-8";
/*
Theme Name:テンプレート__01
Version: 1.1
Author:エイジェック広報部
Author URI:https://www.agekke.co.jp/

/*============================
トップページ
============================*/
/* ----- メインビジュアル -----*/
.bl_top_mv {
	position: relative;
	z-index: 0;
}

.bl_top_mv .pad,
.bl_top_mv .mo {
	display: none;
}

.bl_top_cont {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
}

.bl_top_cont_inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

.bl_top_sub {
    font-size: 2rem;
    font-weight: 600;
	text-shadow: 1px 1px 3px #2c324c;
	line-height: 1;
	margin: 0 0 10px;
	letter-spacing: .1em;
}


.bl_top_cont h1 {
    font-size: 5.5rem;
    font-weight: 800;
    line-height: 1.2;
	text-shadow: 1px 1px 3px #2c324c;
}

.bl_top_date .hp_week {
	font-size: 1.5rem;
    margin-left: -10px;
	text-shadow: 1px 1px 3px #2c324c;
}

.bl_top_cont h2 {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
	text-shadow: 1px 1px 3px #2c324c;
	margin: 30px 0 10px;
}

.bl_top_date .hp_from {
	font-size: 2rem;
	line-height: 1;
	padding-right: 12px;
	text-shadow: 1px 1px 3px #2c324c;
}

.bl_top_date .hp_point {
	font-size: 3rem;
	line-height: 1;
	padding: 0 5px 0 10px;
	text-shadow: 1px 1px 3px #2c324c;
	font-family: "Roboto", sans-serif;	
}

.bl_top_dateTime {
	line-height: 1;
}

.bl_top_date .hp_date,
.bl_top_time {
	font-family: "Roboto", sans-serif;	
	font-weight: 500;
	font-size: 5rem;
	text-shadow: 1px 1px 3px #2c324c;
}

.bl_top_time {
	font-size: 2.5rem;
	display: block;
	margin: 10px 0 0;
}

.bl_top_place {
	font-size: 1.375rem;
	font-weight: 500;
	text-shadow: 1px 1px 3px #2c324c;
	margin: 20px 0 0;
}

.bl_top_fee {
	position: absolute;
	bottom: -40px;
	right: 100px;
	width: 174px;
}

@media screen and (max-width: 1400px){
	.bl_top_sub {
    	font-size: 1.5rem;
	}
	
	.bl_top_cont h1 {
    	font-size: 4.5rem;
	}
	
	.bl_top_date .hp_date, .bl_top_time {
    	font-size: 3.5rem;
	}
	
	.bl_top_place {
    	font-size: 1.25rem;
    	margin: 20px 0 0;
	}
	
	.bl_top_fee {
   		right: 170px;
    	width: 150px;
	}
}

@media screen and (max-width: 1279px){	
	.bl_top_cont {
    	transform: translate(-50%, -48%);
	}
	
	.bl_top_sub {
    	font-size: 1.375rem;
		margin: 0 0 6px;
	}
	
	.bl_top_cont h1 {
        font-size: 3.5rem;
    }
	
	.bl_top_date .hp_date, .bl_top_time {
        font-size: 2.5rem;
    }
	
	.bl_top_place {
        font-size: 1.125rem;
        margin: 14px 0 0;
    }
	
	.bl_top_fee {
    	width: 135px;
	}
}

@media screen and (max-width: 1023px){
	 .bl_top_mv .pc{
		display: none;
	}
	
	.bl_top_mv .pad {
		display: block;
		width: 100%;
	}
	
	.bl_top_fee {
        right: 50px;
        bottom: -100px;
	}
}

@media screen and (max-width: 767px){
	.bl_top_mv .pad {
		display: none;
	}
	
	.bl_top_mv .mo {
		display: block;
	}
	
	.bl_top_cont {
    	width: 100%;
    	padding: 0 15px;
	    transform: translate(-50%, -45%);
	}
	
	.bl_top_sub {
    	font-size: 1.125rem;
		line-height: 1.4;
		margin: 0 0 16px;
	}

	.bl_top_cont h1 {
    	font-size: 2.75rem;
	}
	
	.bl_top_cont h2 {
    	font-size: 1.5rem;
    	margin: 30px 0 5px;
	}
	
	.bl_top_dateTime {
    	line-height: 1.1;
	}
	
	.bl_top_date .hp_date, .bl_top_time {
    	font-size: 2rem;
	}

	.bl_top_date .hp_week {
		font-size: 1rem;
    	margin-left: -5px;
	}

	.bl_top_date .hp_from {
		font-size: 1rem;
		padding-right: 12px;
	}
	
	.bl_top_place {
    	font-size: 1rem;
	}

	.bl_top_date .hp_point {
		font-size: 1rem;
		padding: 0 5px 0 10px;
	}
	
	.bl_top_fee {
    	position: static;
    	margin-left: auto;
		margin-top: 20px;
	}
}


/* ----- 冒頭 -----*/
.bl_about {
	position: relative;
	z-index: 0;
}

.bl_about_photo {
	display: grid;
	 grid-template-columns: repeat(3, 1fr);	
	margin: 10px 0 0;
    gap: 10px;
	position: relative;
	z-index: 0;
}

.bl_about_txt {
	max-width: 1020px;
	margin: -80px auto 0;
	background: #0e4fa0e0;
	position: relative;
	z-index: 1;
	padding: 80px 100px;
    position: relative;
    z-index: 1;
    color: #fff;
    backdrop-filter: blur(3px);
	border-radius: 30px;
}

.bl_about h2 {
	font-weight: 800;
	font-size: 1.75rem;
	margin: 0 0 24px;
	text-align: center;
	line-height: 1.8;
}

.bl_about_desc {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 2;
}

@media screen and (max-width: 1200px) {
	.bl_about_txt {
		padding: 60px;
	}
}

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

}

@media screen and (max-width: 767px) {
	.bl_about_txt {
   		max-width: 90%;
    	margin: -20px auto 0;
    	padding: 30px 20px;
	}
	
	.bl_about h2 {
    	font-size: 1.25rem;
    	margin: 0 0 20px;
    	line-height: 1.6;
	}
	
	.bl_about_desc {
    	font-size: 1rem;
    	line-height: 1.8;
	}
}


/* ----- セミナー概要 -----*/
.bl_overview {
	background-image: url(images/bg-overview.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;	
	padding: 180px 0 100px;
    margin: -180px 0 0;
}

.bl_overview_cont {
	max-width: 900px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 200px 1fr;
    border-bottom: 2px solid #f0f0f0;
	padding: 20px 0;
	font-size: 1.125rem;
}

.bl_overview_cont.hp_center {
	align-items	:center;
}

.bl_overview .bl_overview_cont:first-of-type {
    border-top: 2px solid #f0f0f0;	
}

.bl_overview_ttl h3 {
	max-width: 150px;
    background: #7d7d7d;
	color: #fff;
	padding: 10px;
	text-align: center;
}

.bl_overview_course {
	margin: 6px 0;
}

.bl_overview_desc {
	line-height: 1.7;
}

.bl_overview_note {
	font-size: .9375rem;
	margin: 6px 0 0;
}

@media screen and (max-width: 1200px) {
	.bl_overview {
    	padding: 140px 0 60px;
    	margin: -140px 0 0;
	}
}

@media screen and (max-width: 1023px) {
	.bl_overview_cont {
    	grid-template-columns: 26% 1fr;
	}
}

@media screen and (max-width: 767px) {
	.bl_overview {
    	padding: 180px 0 40px;
	}
	
	.bl_overview_cont {
		display: block;
		padding: 0;
		font-size: 1rem;
		border: 0;
	}
	
	.bl_overview .bl_overview_cont:first-of-type {
    	border-top: none;
	}
	
	.bl_overview_ttl h3 {
		margin: 0;
    	max-width: 100%;
	}
	
	.bl_overview_desc {
		padding: 15px 10px;
		border-left: 1px solid #7d7d7d;
		border-right: 1px solid #7d7d7d;
	}
	
	.bl_overview .bl_overview_cont:last-of-type {
    	border-top: none;
		border-bottom: 1px solid #7d7d7d;
		margin: 0 0 10px;
	}
}


/* ----- プログラムについて -----*/
.bl_curriculum {
	background-image: url(images/bg-curriculum2.jpg);
    background-position: top left;
    background-repeat: repeat-y;
    -webkit-background-size: cover;
    background-size: cover;
}


.bl_curriculum_cont {
	display: grid;
	 grid-template-columns: repeat(2, 1fr);	
    gap: 60px;
	position: relative;
	z-index: 0;
	margin: 80px 0 0;
}

.bl_curriculum_item {
	background: #fff;
	border-radius: 30px;
}

.bl_curriculum_head {
	background: #1a73e8;
	border-radius: 30px 30px 0 0;
	padding: 20px 10px;
	position: relative;
	color: #fff;
}

.bl_curriculum_head h3 {
	text-align: center;	
	font-size: 1.5rem;
	font-weight: 500;
}

.bl_curriculum_num {
	position: absolute;
    left: 20px;
    bottom: -22px;
    font-size: 9rem;
    font-family: "Roboto", sans-serif;
    font-weight: 100;
    line-height: 1;
}

.bl_curriculum_body {
	padding: 20px;
}

.bl_curriculum_body table th,
.bl_curriculum_body td {
	padding: 12px;
	border-bottom: 1px solid #ddd;
	vertical-align: top;
}

.bl_curriculum_body table th {
	width: 70px;
	color: #1a73e8;
}

.bl_curriculum_body table td {
	width: calc(100% - 70px);
}

.bl_curriculum_body table td p {
	font-size: .9375rem;
	line-height:1.7;
}

.bl_curriculum_body table td .bl_curriculum_date {
	font-size: 1rem;
}

.bl_curriculum_status {
    position: absolute;
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    background: #ff6900;
    color: #fff;
    border-radius: 50%;
    top: -35px;
    right: 25px;
    font-weight: 600;
}

@media screen and (max-width: 1200px) {
	.bl_curriculum_cont {
		gap: 40px;
	}
	
	.bl_curriculum_head h3 {
    	font-size: 1.25rem;
	}
	
	.bl_curriculum_num {
		bottom: -20px;
		font-size: 8rem;
	}
}


@media screen and (max-width: 1023px) {
	.bl_curriculum {
    	background-position: top center;
	}
	
	.bl_curriculum_cont {
		display: block;
		margin: 40px 0 0;
	}
	
	.bl_curriculum_cont .bl_curriculum_item:not(:last-of-type) {
		margin: 0 0 40px;
	}
	
	.bl_curriculum_body {
		padding: 10px 15px 15px 15px;
	}
}

@media screen and (max-width: 767px) {
	.bl_curriculum_num {
    	left: -3px;
	}
	
	.bl_curriculum_status {
		right: 5px;
	}
}

/* ----- アクセス -----*/
.bl_access_head {
	display: grid;
	 grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	align-items: center;
}

.bl_access_head_logo h3 {
	font-size: 1.5rem;
	font-weight: bold;
}

.bl_access_head_txt {
    margin: 6px 0 12px;
    font-size: 1.0625rem;
    line-height: 1.8;
    letter-spacing: .05em;
}

.bl_access_map {
    width: 100%;
}

.bl_access_map iframe {
    width: 100%;
    height: 299px;
}

@media screen and (max-width: 1023px) {
	.bl_access_head {
    	gap: 30px;
	}
	
	.bl_access_head_txt {
    	line-height: 1.5;
	    font-size: 1rem;
	}
	
	.bl_access_head_logo h3 {
    	font-size: 1.25rem;
	}
	
	.bl_access .el_mark_circle {
		font-size: .9375rem;
		padding: 0 0 0 20px
	}
	
	.bl_access .el_mark_circle::before {
    	width: 12px;
    	height: 12px;
	}
}

@media screen and (max-width: 767px) {
	.bl_access_head {
    	display: block;
	}
	
	.bl_access_head_txt {
        margin: 2px 0 12px;
	}
	
	.bl_access_map {
    	margin: 20px 0 0;
	}
}



/* ----- お申込み -----*/
.bl_entry {
    background-image: url(images/bg_contact2.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    text-align: center;
}

.bl_entry_txt {
	color: #fff;
	margin: 0 0 30px;
	line-height: 1.8;
	font-weight: bold;
}

.bl_entry_cont {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 60px;
}

.bl_entry_item {
    position: relative;
    padding: 50px 40px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 20px #00000029;
}

.bl_entry_item h3 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 24px;
}

.bl_entry_item.hp_taimen h3 {
    color: #ff6900;
}

.bl_entry_item.hp_online h3 {
    color: #0e4fa0;
}

.bl_entry_btn a {
	position: relative;
    display: block;
    max-width: 300px;
    padding: 15px 10px;
    text-align: center;
    transition: .2s;
    color: #fff;
    border: 2px solid #ff6900;
    margin: 0 auto;
    background: #ff6900;
    border-radius: 10px;
	font-weight: 600;
	font-size: 1.125rem;
}

.bl_entry_btn a:before {
    font-family: FontAwesome;
    content: '\f054';
    color: #fff;
    position: absolute;
    bottom: 50%;
    right: 18px;
    font-size: 14px;
    transition: .3s;
    z-index: 2;
    transform: translateY(50%);
	font-weight: normal;
}

.bl_entry_btn a:hover {
    background: #fff;
    color: #ff6900;
}

.bl_entry_btn a:hover:before {
    color: #ff6900;	
}

.bl_entry_item.hp_online .bl_entry_btn a {
    background: #0e4fa0;
    border: 2px solid #0e4fa0;
}

.bl_entry_item.hp_online .bl_entry_btn a:hover {
    background: #fff;
    color: #0e4fa0;
}

.bl_entry_item.hp_online .bl_entry_btn a:hover:before {
    color: #0e4fa0;	
}

@media screen and (max-width: 1023px) {
	.bl_entry_cont {
    	gap: 30px;
	}
	
	.bl_entry_item h3 {
    	font-size: 1.125rem;
    	margin: 0 0 18px;
	}
}

@media screen and (max-width: 767px) {
	.bl_entry_cont {
    	display: block;
	}
	
	.bl_entry_item {
    	padding: 30px 20px;
	}
	
	.bl_entry_item.hp_taimen {
		margin: 0 0 15px;
	}
}


/*============================
固定ページ
============================*/
/*----- トップ画像 -----*/
.bl_mainVisual {
    text-align: center;
    position: relative;
    overflow: hidden;
    letter-spacing: 0;
}

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

.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 h1 span {
	font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: .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: 767px) {	
	.bl_mainVisual_ttl h1 span {
    	font-size: 1.125rem;
	}
}

/*----- パンくず -----*/
.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;
	}
}

/*----- お問い合わせ -----*/
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: 1020px;
    margin: 0 auto;
}

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

.bl_contact_txt_30 {
	width: 30%;
    padding: 8px 8px;
    font-size: 1rem;
    border: 1px solid#ddd !important;
	letter-spacing: .1em;
	display: inline-block;
}

.bl_contact_unit {
	display: inline-block;
	margin-left: 10px;
}

.bl_contact_txt_30 ,
.bl_contact_unit {
	vertical-align: bottom;
}

.bl_contact_input select {
	 width: 100%;
    padding: 7px 8px;
    font-size: 1rem;
    border: 1px solid#ddd !important;
}

.bl_contact_input select.select_50 {
	 width: 50%;	
}

.bl_contact_cont {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 21px 50px;
}

.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;
	margin: 50px 0 0;
}

.bl_contact_box.course {
	margin: 0 0 21px;
}

.bl_contact_box.hp_ques {
	margin: 21px 0 0;
}

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

.bl_contact_note {
	font-size: .875rem;
}

.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;
}

.bl_contact_privacy a {
	padding-right: 5px;
	letter-spacing: .1em;
}
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) {
	.bl_contact_cont {
		display: block;
	}
	
	.bl_contact_box {
		margin: 0 0 20px;
	}
	
	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_policyCont h2 {
    font-weight: bold;
    font-size: 1.25rem;
    letter-spacing: .1em;
    margin: 0 0 12px;
}

.bl_policyCont p {
    line-height: 1.6em;
}

.bl_policy_item {
    padding: 30px 0 0 20px;
}

.bl_policy_item > li {
    list-style-type: decimal;
    margin: 0 0 22px;
}

.bl_ppMado {
	padding: 50px 0 0;
}

.bl_ppMado_info {
	margin: 4px 0 0;
}

@media screen and (max-width: 767px) {
	.bl_policyCont p {
    	font-size: .875rem;
	}
	
	.bl_ppMado_info {
    	padding: 20px;
    	font-size: .875rem;
	}
}