html {
    background: #efefef;
}
body {
	max-width: 1800px;
	min-width: 1200px;
	margin: 0 auto;
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #444444;
	background: #ffffff;
}
header {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
}
header ul {
	display: flex;
}
header img {
	height: 70px;
}
footer {
	width: 100%;
	height: 39px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: linear-gradient(45deg, rgba(0, 150, 170, 0.56) 0%, #0096aa 100%);
}
.wrap {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}
.btn {
	width: 450px;
	height: 80px;
	margin: 0 auto;
	border-radius: 40px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	line-height: 2;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	background: #ef7d52;
}
.btn svg {
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.mod_about {
	overflow-x: hidden;
	background: #fae4d9;
}
.mod_about .wrap {
	padding: 70px 0 90px;
	max-width: 1100px;
}
.mod_about h2 {
	position: absolute;
	top: 130px;
	left: 0;
	line-height: 1.2;
	font-weight: 600;
	font-size: 40px;
	color: #000;
}
.mod_about h2::before {
	display: block;
	font-size: 30px;
	color: #0096aa;
	content: "ABOUT";
}
.mod_about dt {
	font-weight: 600;
	font-size: 30px;
	color: #000;
}
.mod_about dt span {
	color: #0096aa;
}
.mod_about .wrap-flex:nth-of-type(1),
.mod_about .wrap-flex:nth-of-type(2),
.mod_about .wrap-flex:nth-of-type(3) {
	position: relative;
}
.mod_about .wrap-flex:nth-of-type(1) dl,
.mod_about .wrap-flex:nth-of-type(2) dl,
.mod_about .wrap-flex:nth-of-type(3) dl {
	position: relative;
	z-index: 1;
}
.mod_about .wrap-flex:nth-of-type(1)::before {
	position: absolute;
	bottom: -80px;
	right: -150px;
	display: block;
	content: url(../images/about_image_01.png);
}
.mod_about .wrap-flex:nth-of-type(2)::before {
	position: absolute;
	bottom: -120px;
	left: -150px;
	display: block;
	content: url(../images/about_image_02.png);
}
.mod_about .wrap-flex:nth-of-type(3)::before {
	position: absolute;
	bottom: -120px;
	right: -150px;
	display: block;
	content: url(../images/about_image_03.png);
}
.mod_about .wrap-flex:nth-of-type(1),
.mod_about .wrap-flex:nth-of-type(2) {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mod_about .wrap-flex:nth-of-type(1) {
	flex-direction: row-reverse;
}
.mod_about .wrap-flex:nth-of-type(1) dl,
.mod_about .wrap-flex:nth-of-type(2) dl {
	width: 575px;
}
.mod_about .wrap-flex:nth-of-type(1) figure,
.mod_about .wrap-flex:nth-of-type(2) figure {
	width: 540px;
}
.mod_about .wrap-flex:nth-of-type(2),
.mod_about .wrap-flex:nth-of-type(3) {
	margin-top: 100px;
}
.mod_about .wrap-flex:nth-of-type(3) figure {
	margin-top: 40px;
}
.mod_about .wrap-flex dd,
.mod_about .wrap-flex:nth-of-type(3) p {
	margin-top: 30px;
}
.mod_about h3 {
	text-align: center;
	font-weight: 600;
	font-size: 40px;
	color: #000;
}
.mod_about h3 span {
	color: #0096aa;
}
.mod_about ul {
	margin-top: 40px;	
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mod_about li {
	width: 48%;	
}
.mod_about li a {
	width: 100%;
	height: 65px;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ccc;
	cursor: pointer;
}
.mod_about li a.active {
	background: #0092a8;
}
.mod_about .content {
	margin-top: 20px;
    position: relative;
    padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
} 
.mod_about .content iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.mod_cta {
	padding: 70px 0;
	background: linear-gradient(45deg, rgba(0, 150, 170, 0.56) 0%, #0096aa 100%);
}
.mod_cta h5 {
	text-align: center;
	font-weight: 600;
}
.mod_cta h5 span {
	font-size: 14px;
	color: #fff;
}
.mod_cta h5 b {
	margin-left: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.mod_cta h5 small {
	margin: 0 10px;
	padding: 3px 35px 5px;
	font-size: 21px;
	border: 1px solid #fff;
}
.mod_cta h5 figure {
	margin-top: 20px;
}
.mod_cta .wrap-flex {
	margin-top: 30px;
	padding: 50px;
	display: flex;
	flex-wrap: wrap;
	font-size: 20px;
	background: #fff;
}
.mod_cta .wrap-flex dl {
	display: flex;
	justify-content: flex-start;
}
.mod_cta .wrap-flex > dl.term,
.mod_cta .wrap-flex > dl.price,
.mod_cta .wrap-flex > dl.target {
	width: 100%;
}
.mod_cta .wrap-flex > dl.term dd {
	font-size: 30px;
	font-weight: bold;
}
.mod_cta .wrap-flex > dl {
	margin-top: 20px;
}
.mod_cta .wrap-flex > dl:first-child {
	margin-top: 0;
}
.mod_cta .wrap-flex > dl.price dd {
	flex-direction: column;
	font-size: 30px;
	font-weight: 600;
	color: #f00;
}
.mod_cta .wrap-flex > dl.price dd.charge {
	font-size: 20px;
	font-weight: 400;
	color: #444;
}
.mod_cta .wrap-flex > dl dd small {
	font-weight: 400;
	font-size: 16px;
	color: #444;
}
.mod_cta .wrap-flex > dl > dt {
	width: 160px;
	padding: 10px 0 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #0092A8;
	flex-shrink: 0;
}
.mod_cta .wrap-flex > dl > dd {
	margin-left: 15px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.mod_cta .wrap-flex > dl > dd > div {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #ccc;
}
.mod_cta .wrap-flex > dl > dd > div:first-child {
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}
.mod_cta .wrap-flex > dl:last-child > dd {
	align-items: stretch;
}
.mod_cta .wrap-flex > dl > dd dl {
	width: 100%;
}
.mod_cta .wrap-flex > dl > dd dt  {
	width: 160px;
	margin-top: 10px;
	padding: 10px 0 15px;
	display: flex;
	flex-shrink: 0;
	border: 1px solid #0092A8;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #0092A8;
}
.mod_cta .wrap-flex > dl > dd dl:first-child dt {
	margin-top: 0;
}
.mod_cta .wrap-flex > dl > dd dd {
	margin-left: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mod_cta p {
	margin-top: 40px;
}
.mod_flow {
	padding: 70px 0;
	text-align: center;
	background: #e5f4f6;
}
.mod_flow h5 {
	font-weight: 600;
	font-size: 40px;
	color: #000;
}
.mod_flow ol {
	width: 1200px;
	height: 276px;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
.mod_flow ol li {
	width: 23%;
	padding-top: 40px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: relative;
}
.mod_flow ol li:nth-child(even) {
	width: 27%;
	background: #f2fafb;
}
.mod_flow ol li:nth-child(even)::before {
	width: 0;
	height: 0;
	display: block;
	border-style: solid;
	border-width: 138px 0 138px 30px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}
.mod_flow ol li:nth-child(2)::after {
	width: 0;
	height: 0;
	display: block;
	border-style: solid;
	border-width: 138px 0 138px 30px;
	border-color: transparent transparent transparent #f2fafb;
	position: absolute;
	top: 0;
	right: -30px;
	content: "";
}
.mod_flow ol li:nth-child(2),
.mod_flow ol li:nth-child(3) {
	padding-left: 30px;	
}
.mod_flow ol li:last-child {
	border-radius: 0 20px 20px 0;
}
.mod_flow ol li dt {
	font-weight: 600;
	font-size: 30px;
	color: #0096aa;
}
.mod_flow ol li dd {
	margin-top: 20px;
}
.mod_flow h6 {
	margin-top: 70px;
	font-weight: 600;
	font-size: 30px;
	color: #000;
}
.mod_flow h6 span {
	color: #0096aa;
}
.mod_flow ul {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
}
.mod_flow ul li {
	width: 340px;
	height: 340px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	background: #fff;
	filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.1));
}
.mod_flow ul li figure {
	margin-top: -20px;
}
.mod_class {
	margin: 100px 0;
}
.mod_class h6 {
	text-align: center;
	font-weight: 600;
	font-size: 40px;
	color: #000;
}
.mod_class ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.mod_class li {
	width: 580px;
	margin-top: 40px;
	padding: 40px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
.mod_class dt {
	font-size: 30px;
	font-weight: bold;
}
.mod_class dd {
	margin-top: 10px;
	position: relative;
	font-size: 18px;
}
.mod_class dd::before {
	margin-bottom: 10px;
	padding-left: 25px;
	display: block;
	content: "住所";
	font-size: 20px;
	font-weight: bold;
	color: #0096aa;
	border-bottom: 1px dotted #0096aa;
}
.mod_class address::before {
	display: block;
	content: url(../../images/class_map.svg);
	position: absolute;
	top: 4px;
	left: 0;
}
.mod_class iframe {
	height: 275px;
	margin-top: 20px;
}
.mod_class p {
	margin-top: 20px;
}
.mod_class .btn {
	width: 100%;
	height: 80px;
}
.mod_class .info {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mod_class .info > * {
	width: 48%;
}


/*-------------------------------
   // 20210208 追記
-------------------------------*/

.mod_cta .wrap-flex .sup_txt {
	margin: 40px auto 0;
}

.trial_campaign {
	max-width: 1200px;
	margin: 0 auto 100px;
}

.mod_summary.trial {
	padding: 80px 0 235px;
}

.mod_mv h1.trial {
	width: 550px;
}

.btn.trial {
	margin: 0 0;
}


/*共通*/
.txt_color {
	color: #0093A7;
	font-weight: 700;
}

.txt_yellow {
	color: #F5F540;
}

.txt_marker {
	background: linear-gradient(transparent 10%, #FFFFAD 10%);
}

.pc_none {
	display: none;
}


/*-----------------------------
 mod_mv
-----------------------------*/

.mod_mv {
	background: #E5F4F6;
	position: relative;
	display: flex;
	justify-content: flex-start;
	flex-flow: row-reverse;
	align-items: center;
}

.mod_mv .fv_img {
	width: 50%;
}

.mod_mv .fv_cont {
	position: relative;
	width: 50%;
	padding: 3vw 0 3vw 5vw;
	box-sizing: border-box;
	background: url("../../images/hyogo-akashi-kakogawa/bg_fv_cont.png") no-repeat;
	background-size: cover;
}

.mod_mv .fv_cont .logo_label {
	width: 80%;
	margin-bottom: 40px;
}

.mod_mv .fv_cont .sub_copy {
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 5px;
}

.mod_mv .fv_cont .sub_copy .txt_dot {
	background: url("../../images/hyogo-akashi-kakogawa/txt_dot.png") no-repeat;
	background-size: 80%;
	background-position: top;
	padding-top: 3px;
}

.mod_mv .fv_cont .main_copy {
	font-size: 60px;
	font-weight: 700;
	margin-bottom: 30px;
	line-height: 1.4;
}

.mod_mv .fv_badge {
	position: absolute;
	right: -7vw;
	bottom: 3vw;
	width: 30%;
}

.mod_mv .botton .btn {
	margin: 0;
	width: 70%;
}



/*-----------------------------
 mod_record
-----------------------------*/

.mod_record {
	background: url(../../images/bg_grid.png);
	padding: 80px 0;
}

.mod_record .wrap {
	max-width: 1100px;
	margin: 0 auto;
}

.mod_record .txt {
	text-align: center;
	margin-bottom: 45px;
	font-size: 45px;
	font-weight: 700;
}

.mod_record ul {
	display: flex;
	justify-content: space-between;
	flex-flow: nowrap;

}

.mod_record ul li {
	width: 31%;
}



/*-----------------------------
 mod_question
-----------------------------*/

.mod_question {
	background: #E5F4F6;
	padding: 70px 0;
}

.mod_question .wrap {
	max-width: 1100px;
	margin: 0 auto;
}

.mod_question dl {
	margin-bottom: 40px;
}

.mod_question dl dt {
	margin-bottom: 20px;
}

.mod_question dl dd {
	font-size: 22px;
	line-height: 2.1;
	font-weight: 500;
	text-align: center;
}

.mod_question .voice_01,
.mod_question .voice_02 {
	width: 80%;
	margin: 0 auto;
}

.mod_question .voice_01 {
	margin-bottom: 20px;
}


/*-----------------------------
 mod_summary
-----------------------------*/

.mod_summary {
	background: url(../../images/bg_grid.png);
	padding: 70px 0;
	text-align: center;
}

.mod_summary .main_txt {
	width: 85%;
	margin: 0 auto;
}

.mod_summary .sub_txt {
	font-size: 28px;
	font-weight: 700;
	color: #0093A7;
	margin: 10px 0 35px;
}

.mod_summary .img {
	margin-bottom: 50px;
}


/*-----------------------------
 mod_feature
-----------------------------*/

.mod_feature {
	background: #E5F4F6;
	padding: 60px 0;
}

.mod_feature .wrap {
	max-width: 1100px;
	margin: 0 auto;
}

.mod_feature ul {
	display: flex;
	justify-content: space-between;
}

.mod_feature ul li {
	background: #fff;
	border-radius: 5px;
	padding: 25px 30px;
	box-sizing: border-box;
	width: 48%;
}

.mod_feature .ttl {
	text-align: center;
	font-weight: 700;
	font-size: 28px;
	border-bottom: 2px solid #0093A7;
	border-top: 2px solid #0093A7;
	padding: 8px 0;
	margin-bottom: 20px;
}

.mod_feature figure {
	margin-bottom: 20px;
}

.mod_feature p {
	font-size: 16px;
	line-height: 1.7;
}




/*-----------------------------
 mod_point
-----------------------------*/

.mod_point {
	background: #E5F4F6;
	padding-bottom: 60px;
}

.mod_point .arrow_ttl {
	padding: 40px 0 25px;
	font-size: 54px;
	text-align: center;
	color: #fff;
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	margin-bottom: 100px;
	background: #0093A7;
}

.mod_point .arrow_ttl::after {
	content: "";
	display: block;
	background: url("../../images/hyogo-akashi-kakogawa/ttl_arrow.png") no-repeat;
	background-size: contain;
	width: 100%;
	height: 60px;
	position: absolute;
	bottom: -60px;
	right: 0;
	left: 0;
	margin: auto;
}

.mod_point dl {
	background: #fff;
	border-radius: 5px;
	display: flex;
	justify-content: flex-start;
	flex-flow: nowrap;
	max-width: 960px;
	margin: 0 auto 40px;
}

.mod_point dl dt {
	background: #0093A7;
	color: #fff;
	text-align: center;
	font-size: 40px;
	font-weight: 700;
	border-radius: 5px 0 0 5px;
	padding: 10px 0;
	width: 35%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mod_point dl dd {
	padding: 30px 0 30px 50px;
	box-sizing: border-box;
}

.mod_point dl li {
	font-size: 36px;
	font-weight: 700;
	border-bottom: 1px solid #0093A7;
	padding: 12px 0 12px 44px;
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
}

.mod_point dl li:last-child {
	border-bottom: none;
}


.mod_point dl li::before {
	content: "";
	display: block;
	background: url("../../images/hyogo-akashi-kakogawa/icon_check.png") no-repeat;
	background-size: contain;
	width: 35px;
	height: 24px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin:  auto;
}

.mod_point dl li .note {
	font-size: 14px;
}

.mod_point .teacher_voice {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: nowrap;
	max-width: 830px;
	margin: 0 auto;
}

.mod_point .teacher_voice .obj {
	width: 20%;
}

.mod_point .teacher_voice p {
	font-weight: 700;
	font-size: 34px;
	line-height: 1.6;
}



