@charset "utf-8";
/*
Theme Name:エイジェックスポーツ万能塾
Version: 1.1
Author:エイジェック制作部
/*============================
トップページ
============================*/
.bl_top_mv {
	position: relative;
	z-index: 0;
	z-index: 0;
}
.bl_top_mv_img {
	position: relative;
	z-index: 0;
}
.bl_top_mv_img img {
	width: 100%;
	display: block;
}
.bl_top_mv_img img.hp_mo {
	display: none;
}
.ly_head_bg {
	background-image: repeating-linear-gradient(315deg, #fbfdd6, #fbfdd6 2px, #fdff6c 2px, #fdff6c 12px);
}

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

}
@media screen and (max-width: 767px){
	.bl_top_mv {
    	margin: 60px 0 0;
    	z-index: 0;
	}
	.bl_top_mv_img img.hp_pc {
		display: none;
	}
	.bl_top_mv_img img.hp_mo {
		display: block;
	}

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

}
/* ----- 冒頭 -----*/
.bl_opening_box {
	position: relative;
	background: #fff;
	padding: 60px 100px;
	max-width: 690px;
	margin: 100px auto 0;
	border-radius: 60px;
}
.bl_opening_box h2 {
	position: absolute;
	top: -30px;
	left: 0;
	width: 100%;
	text-align: center;
}
.bl_opening_box h2 img {
	width: 100%;
	max-width: 300px;
}
.bl_opening_box ul li p {
	font-size: 1.375rem;
	font-weight: bold;
	letter-spacing: .05em;
}
.bl_opening_box ul li:not(:last-child) {
	margin: 0 0 18px;
}
.bl_opening_box ul li p span {
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}
.bl_opening_box ul li p span:nth-of-type(1) {
	margin-right: 10px;
}
@media screen and (max-width: 1023px){
	.bl_opening_box ul li p {
		font-size: 1.125rem;
	}
	.bl_opening_box {
    	padding: 54px 100px 40px;
    	margin: 50px auto 0;
	}
}
@media screen and (max-width: 767px){
    .bl_opening_box {
        padding: 30px 15px 24px;
		border-radius: 30px;
	}
	.bl_opening_box h2 img {
		max-width: 240px;
	}
	.bl_opening_box ul li p span:nth-of-type(1) {
    	width: 16px;
		margin-right: 5px;
	}
	.bl_opening_box ul li p {
        font-size: .9375rem;
    }
	.bl_opening_box ul li:not(:last-child) {
    	margin: 0 0 12px;
	}
}
/* ----- スクール開校まで -----*/
.bl_notice {
	padding: 60px 0 100px;
}
.bl_notice_ttl_cont {
	text-align: center;
}
.bl_notice_ttl {
	position: relative;
	display: inline-block;
}
.bl_notice_ttl_decoL,
.bl_notice_ttl_decoR {
	position: absolute;
	top: -20px;
	width: 60px;
}
.bl_notice_ttl_decoL {
	left: -55px;
	transform: rotate(-90deg);
}
.bl_notice_ttl_decoR {
	right: -55px;
}
.bl_notice_ttl h2 {
    font-size: 1.25rem;
    font-weight: bold;
    letter-spacing: .05em;
	margin: 0 0 30px;
}
.bl_notice_ttl h2 .hp_date span {
	font-size: 2rem;
	padding: 0 3px;
}
.bl_notice_ttl h2 .hp_txt {
	font-size: 3rem;
	padding: 0 0 0 10px;
}
.bl_notice_box {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
}
.bl_notice_item p {
	text-align: center;
	color: #fff;
	font-weight: bold;
}
.bl_notice_item {
	padding: 24px 10px;
}
.bl_notice_box .bl_notice_item:nth-of-type(1) {
	background: #71b7d3;
	clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
}
.bl_notice_box .bl_notice_item:nth-of-type(2) {
	background: #398ec5;
	clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 10% 50%, 0% 0%);
}
.bl_notice_box .bl_notice_item:nth-of-type(3) {
	background: #1574b2;
	clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 10% 50%, 0% 0%);
}
.bl_notice_box .bl_notice_item:nth-of-type(4) {
	background: #065687;
	clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0% 100%, 10% 50%, 0% 0%);
}
.bl_notice_item .hp_date span {
	font-size: 1.5rem;
}
.bl_notice_cont {
	position: relative;	
}
.bl_notice_cont_deco {
	position: absolute;
	top: -35px;	
	left: -40px;
	z-index: 2;
	width: 120px;
}
.bl_notice_cont_deco img {
	display: block;
	width: 100%;
}
@media screen and (max-width: 1023px){
	.bl_notice_ttl h2 .hp_txt {
    	font-size: 2rem;
	}
	.bl_notice_box {
		padding: 0 30px;
	}
	.bl_notice_cont_deco {
    	top: -23px;
    	left: -15px;
    	width: 75px;
	}
	.bl_notice_item {
    	font-size: .875rem;
	}
	.bl_notice_item .hp_date span {
		font-size: 1.125rem;
	}
	.bl_notice_ttl_decoL,
	.bl_notice_ttl_decoR {
    	width: 45px;
	}
}
@media screen and (max-width: 767px){
	.bl_notice {
    	padding: 60px 0 0;
	}
    .bl_notice_ttl h2 .hp_txt,
	.bl_notice_ttl h2 .hp_date span {
        font-size: 1.5rem;
    }
	.bl_notice_ttl_decoL {
    	left: -30px;
	}
	.bl_notice_ttl_decoR {
    	right: -30px;
	}
	.bl_notice_box {
    	grid-template-columns: repeat(1, 1fr);
	}
	.bl_notice_box .bl_notice_item:nth-of-type(1) {
		clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0, 0% 0%);		
	}
	.bl_notice_box .bl_notice_item:nth-of-type(2),
	.bl_notice_box .bl_notice_item:nth-of-type(3),
	.bl_notice_box .bl_notice_item:nth-of-type(4){
		clip-path: polygon(50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
	}
	.bl_notice_cont_deco {
        left: 0;
	}
}
/* ----- プログラム -----*/
.bl_program {
	padding: 50px 0 0;
}
.bl_program_desc {
	text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    letter-spacing: .05em;
}
.bl_program_box {
	display: grid;
	grid-template-columns: 25% 25% 1fr;
	gap: 0 15px;
	margin: 30px 0 0;
}
.bl_program_item {
	background: #fff;
  	display: grid;
  	grid-template-rows: subgrid;
  	grid-row: span 4;
	border-radius: 30px;
} 
.bl_program_ttl {
	text-align: center;
	height: 100px;
  	display: grid;
	align-items: center;
	border-radius: 27px 27px 0 0;
	color: #fff;
}
.bl_program_ttl .hp_main {
	font-weight: bold;
	font-size: 1.125rem;
}
.bl_program_box .bl_program_item:nth-of-type(1) {
	border: 2px solid #147bc1;
}
.bl_program_box .bl_program_item:nth-of-type(2) {
	border: 2px solid #3ba737;
}
.bl_program_box .bl_program_item:nth-of-type(3),
.bl_program_item.hp_pad {
	border: 2px solid #f08629;
}
.bl_program_box .bl_program_item:nth-of-type(1) .bl_program_ttl {
	background: #147bc1;
}
.bl_program_box .bl_program_item:nth-of-type(2) .bl_program_ttl {
	background: #3ba737;
}
.bl_program_box .bl_program_item:nth-of-type(3) .bl_program_ttl,
.bl_program_item.hp_pad .bl_program_ttl {
	background: #f08629;
}
.bl_program_item h4 {
	text-align: center;
	padding: 20px 20px 0;
}
.bl_program_sports {
	padding: 0 20px;
}
.bl_program_img {
	padding: 0 20px 20px;
	text-align: center;
}
.bl_program_item h3 span {
	display: block;
}
.bl_program_item h3 .hp_sub {
	font-size: .875rem;
	line-height: 1.2;
}
.bl_program_sports {
	font-size: .875rem;
	line-height: 1.3;
	margin: 5px 0 15px;
}
.bl_program_item.hp_pad {
	display: none;
	margin: 15px 0 0;
}
@media screen and (max-width: 1023px){
	.bl_program_item.hp_pc {
		display: none;
	}
	.bl_program_item.hp_pad {
		display: block;
	}
	.bl_program_box {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 767px){
	.bl_program_desc {
    	font-size: 1rem;
	}
	.bl_program_item h4 {
		padding: 20px 10px 0;
	}
	.bl_program_sports {
		padding: 0 10px;
	}
	.bl_program_img {
		padding: 0 5px 20px;
	}
	.bl_program_box {
		gap: 0 5px;
	}
	.bl_program_ttl {
    	height: 85px;
	}
	.el_lv2Heading .ja {
    	font-size: 1rem;
		margin: 5px 0 0;
	}
}
/* ----- イベント概要 -----*/
.bl_overview_cont {
    background: #fff;
    padding: 60px;
    border-radius: 40px;
    border: 2px solid #00a0e9;
	max-width: 1020px;
	margin: 0 auto;
}
.bl_overview_box {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 30px;
	border-bottom: dashed #00a0e978 4px;
	padding: 15px 0;
}
.bl_overview_cont .bl_overview_box:nth-of-type(1) {
	padding: 0 0 20px;
}
.bl_overview_ttl h3 {
	background: #00a0e9;
	color: #fff;
	font-size: 1.25rem;
	font-weight: bold;
	text-align: center;
	padding: 8px;
	border-radius: 40px;
}
.bl_overview_desc {
	margin: 10px 0 0;
}
.bl_overview_desc p {
	font-size: 1.25rem;
	font-weight: bold;
}
.bl_overview_map {
	margin: 15px 0 0;
}
.bl_overview_map p {
	margin: 5px 0 0;
}
@media screen and (max-width: 1023px){
	.bl_overview_cont {
    	padding: 30px;
	}
	.bl_overview_ttl h3,
	.bl_overview_desc p {
		font-size: 1rem;
	}
}
@media screen and (max-width: 767px){
    .bl_overview_cont {
        padding: 30px 15px;
		border-radius: 30px;
    }
	.bl_overview_ttl h3,
	.bl_overview_desc p {
        font-size: .9375rem;
    }
	.bl_overview_ttl h3 {
    	padding: 8px 4px;
    	border-radius: 20px;
		line-height: 1.2;
	}
	.bl_overview_box {
    	grid-template-columns: 60px 1fr;
    	gap: 12px;
	}
	.bl_overview_desc {
    	margin: 6px 0 0;
	}
	.bl_overview_desc ul li:not(:last-child) {
		margin: 0 0 8px;
	}
}
/* ----- 申込の流れ -----*/
.bl_entry_flow {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
}
.bl_entry_flow dd {
	margin-left: 48px;
}
.bl_entry_flow ul {
	position: relative;
}
.bl_entry_flow ul::before {
	content: '';
    width: 5px;
    height: 94%;
    background: #eee;
    margin-left: -120px;
    display: block;
    position: absolute;
    top: 13px;
    left: 117px;
    border-radius: 20px;
}
.bl_entry_flow ul > li {
	position: relative;
}
.bl_entry_flow ul > li:not(:last-child) {
	margin-bottom: 50px;
}
.bl_entry_flow_icon {
	font-size: 1.125rem;
    width: 2em;
    height: 2em;
    line-height: 2.1;
    text-align: center;
    font-weight: bold;
    border-radius: 100vh;
    color: #fff;
    background: #00a0e9;
    display: inline-block;
    margin-right: 10px;
}
.bl_entry_flow ul > li dl {
	padding-left: 70px;
	position: relative;
}
.bl_entry_flow ul > li dl::before,
.bl_entry_flow ul > li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
}
.bl_entry_flow ul > li dl::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #00a0e9;
	border-radius: 50%;
	left: -4px;
}
.bl_entry_flow ul > li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}
.bl_entry_flow ul > li dl dt {
	font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 3px;
	display: grid;
    grid-template-columns: 36px 1fr;
    gap: 12px;
}
.bl_entry_flow ul > li dl dt .hp_small {
	font-size: .875rem;
}
.bl_entry_flow_desc .el_underline {
	margin-right: 5px;
}
.bl_tabBox {
    max-width: 900px;
    margin: 0 auto 50px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
}

.bl_tabBox li {
    text-align: center;
    padding: 10px;
    border-radius: 10px;
    font-size: 1.25rem;
    background: #939FAB;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    line-height: 1.4;
}
.bl_tabBox li.active {
    background: #00a0e9;
}
@media screen and (max-width: 767px){
	.bl_entry_flow {
    	margin-left: 10px;		
	}
	.bl_entry_flow ul > li:not(:last-child) {
    	margin-bottom: 20px;
	}
	.bl_entry_flow ul > li dl {
    	padding-left: 12px;
	}
	.bl_entry_flow > ul li dl::after {
    	width: 8px;
	}
	.bl_entry_flow_icon {
    	font-size: 1rem;
    	width: 20px;
    	height: 20px;
    	line-height: 21px;
    	margin: 3px 0 0;
	}
	.bl_entry_flow ul > li dl dt {
    	font-size: 1rem;
    	margin-bottom: 0;
	    display: grid;
		grid-template-columns: 20px 1fr;
		gap: 10px;
		align-items: stretch;
	}
	.bl_tabBox li {
		font-size: .9375rem;
	}
}
/* ----- お申込み導線 -----*/
.bl_entry_cont {
	max-width: 900px;
	margin: 0 auto;
	background: #e84c81;
	padding: 80px;
	border-radius: 40px;
	text-align: center;
	position: relative;
}
.bl_entry_txt span {
	display: inline-block;
	vertical-align: middle;
}
.bl_entry_txt .hp_ttl {
	background: #fff;
	color: #e84c81;
	font-weight: bold;
	font-size: 1.25rem;
	padding: 5px 20px;
	border-radius: 20px;
	margin-right: 20px;
}
.bl_entry_txt .hp_date {
	font-weight: bold;
	font-size: 2rem;
	color: #fff;
}
.bl_entry_btn a {
	display: block;
	margin: 50px auto 0;
	line-height: 1;
	padding: 25px 10px;
	border-radius: 60px;
	max-width: 600px;
	font-weight: bold;
	font-size: 1.5rem;
	background: #fff;
	color: #e84c81;
	border: 2px solid #fff;
}
.bl_entry_btn a:hover {
	background: #e84c81;
	color: #fff;
}
.bl_entry_decoL {
    position: absolute;
    bottom: 0;
	left: 40px;
    width: 84px;
}
.bl_entry_decoR {
	position: absolute;
	top: -84px;
    right: 15px;
	width: 84px;
}
@media screen and (max-width: 1023px){
	.bl_entry_cont {
    	padding: 40px;
	}
	.bl_entry_txt .hp_date {
    	font-size: 1.5rem;
	}
	.bl_entry_btn a {
    	margin: 30px auto 0;
	}
}
@media screen and (max-width: 767px){
	.bl_entry_cont {
    	padding: 50px 24px;
        margin: 40px 0 0;
	}
	.bl_entry_txt span {
    	display: block;
   		width: 100%;
	}
	.bl_entry_txt .hp_ttl {
    	font-size: 1.125rem;
		color: #ffffff;
		background: none;
	}
	.bl_entry_txt .hp_date {
        font-size: 1.25rem;
        margin: 0;
    }
	.bl_entry_btn a {
    	margin: 20px auto 0;
    	padding: 20px 10px;
    	border-radius: 40px;
    	font-size: 1.25rem;
	}
	.bl_entry_decoR {
    	top: -60px;
    	width: 60px;
	}
	.bl_entry_decoL {
		left: 20px;
    	width: 60px;
	}
}

/*----- 固定ページ -----*/
.bl_mainVisual {
	position: relative;
	z-index: 0;
	background: #e5f6ff;
	padding: 200px 0 170px;
}
.bl_mainVisual_wrap {
    background-image: linear-gradient(0deg, transparent 19px, #fff 20px), linear-gradient(90deg, transparent 19px, #fff 20px);
    background-size: 20px 20px;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.bl_mainVisual_ttl {
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	text-align: center;
}
.bl_mainVisual_ttl h1 span {
	display: block;
}
.bl_mainVisual_ttl h1 .hp_en {
    color: #fff;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 4rem;
    -webkit-text-stroke: 3px #009fe8;
    paint-order: stroke;
    line-height: 1;
	margin: 0 0 8px;
}
.bl_mainVisual_ttl h1 .hp_ja {
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.bl_mainVisual_ttl h1 .hp_en {
    	font-size: 1.5rem;
    	-webkit-text-stroke: 2px #009fe8;		
	}	
}
/*----- 404 -----*/
.bl_sect.bl_404 {
	padding: 200px 0;
}
@media screen and (max-width: 767px) {
	.bl_sect.bl_404 {
		padding: 100px 0;
	}
}