@charset "utf-8";

h1,h2,h3,h4,h5,h6,p{
    letter-spacing: inherit;
}

p{
    line-height: inherit;
}

/* ---------------------
  aboutSection
  ---------------------- */
.aboutSection .title {
	position: relative;
	max-width: 966px;
	margin: 0 auto calc(1.5em + 25px);
	padding: .767em .5em;
	line-height: 1.3;
	font-size: 2.625em;
	font-weight: bold;
	border: 7px solid #c10000;
	color: #c10000;
	text-align: center;
}

.aboutSection .title:after {
	content: "";
	display: block;
	position: absolute;
	border: 1.35714em solid transparent;
	border-top: 1.14285em solid #c10000;
	left: 50%;
	top: 100%;
	margin: 0.4761em 0 0;
	transform: translate(-50%, 0);
}

.aboutSection .inner {
	margin: 25px auto 0;
	padding: 2.53em 1.5em;
	background: #fff;
	box-shadow: 2px 6px 13px rgba(0,0,0,.17);
}

.aboutSection .pointList {
	counter-reset: idx;
	max-width: calc(766px + .5em);
	margin: 0 auto 2.5em;
}

.aboutSection .pointList li {
	position: relative;
	align-items: center;
	align-content: center;
	counter-increment: idx;
	margin: 0 0 1.68em;
	font-size: 2.125em;
	line-height: 1.3;
	color: #c10000;
	font-weight: bold;
}

.aboutSection .pointList li:first-child {
	align-items: flex-end;
	align-content: flex-end;
}

.aboutSection .pointList li .txt {
	display: block;
	flex-grow: 1;
	position: relative;
	padding: 0 0 0 2.85em;
	margin: 0 -.5em 0 1em;
}

.aboutSection .pointList li .txt:before {
	content: "0"counter(idx);
	position: absolute;
	left: 0;
	top: 50%;
	top :calc(50% + .075em);
	font-size: 1.88235em;
	font-weight: normal;
	font-family: din-condensed, sans-serif;
	letter-spacing: -.04em;
	color:  #cecece;
	transform: translateY(-50%);
}

.aboutSection .pointList li .txt:after {
	content: "";
	display: block;
	position: absolute;
	left:1.05em;
	top: 50%;
	top :calc(50% + .075em);
	width: 1px;
	height: 1.185em;
	font-size: 1.88235em;
	background: #959595;
	transform: translateY(-50%) rotate(23deg);
}

.aboutSection .pointList img {
	flex: 0 0 auto;
}

.aboutSection .programFrame {
	margin: 65px auto 0;
}

.aboutSection .programFrame img {
	display: block;
	margin: 0 auto;
}

.aboutSection .programFrame .txtFrame {
	max-width: 33em;
	margin: 10px auto 0;
}

.aboutSection .programFrame .txtFrame li {
	display: flex;
	align-items: center;
	align-content: center;
	min-height: 3.33em;
	margin: 0 0 1em;
	font-size: 1.125em;
}

.aboutSection .programFrame .txtFrame li + li {
	margin-top: 1em;
}

.aboutSection .programFrame .txtFrame li .hd {
	display: block;
	flex: 0 0 auto;
	margin: 0 10px 0 0;
	width: 3em;
	height: 3em;
	line-height: 3em;
	border-radius: 50%;
	font-size: 1.1112em;
	font-weight: bold;
	color: #fff;
	background: #185A99;
	text-align: center;
}

.aboutSection .programFrame .txtFrame li:last-child .hd {
	background: #c10000;
}

.aboutSection .programFrame .txtFrame li .noteTxt {
	display: block;
	font-weight: 500;
	font-size: .667em;
}

/* ---------------------
  meritSection
  ---------------------- */
.meritSection .article + .article {
	margin-top: 3.75em;
}

.meritSection .ttl_m {
	margin: 0 0 .5em;
	padding: 0 0 .25em;
	border-bottom: 1px solid #c10000;
}

.meritSection .img {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: flex-end;
	width: 255px;
}

.meritSection .txt {
	padding-right: 2em;
}

.meritSection .head {
	margin: 0 0 .45em;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.542;
}

.meritSection .note {
	margin: .75em 0 0;
	font-size: .75em;
}


/* ---------------------
  concernsSection
  ---------------------- */
.concernsSection {
	padding-top: 60px;
	padding-bottom: 20px;
	margin-bottom: 110px;
	position: relative;
	background: #0091B8;
	text-align: center;
	color: #fff;
}

.concernsSection .title {
	margin: 0 auto 1em;
	line-height: 1.3;
	font-size: 2.625em;
	font-weight: bold;
}

.concernsSection .txt {
	margin: .75em auto 0;
	font-size: 1.25em;
	font-weight: bold;
}

.concernsSection:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	/* top: 100%; */
	top: calc(100% - 1px);
	border: 50vw solid transparent;
	border-top: 110px solid #0091B8;
	transform: translate(-50%,0);
}

/* ---------------------
  co-opMeritSection
  ---------------------- */
.co-opMeritSection .content {
    text-align: center;
}

.co-opMeritSection .article {
    text-align: left;
}

.co-opMeritSection .title {
	margin: 0 auto 1em;
	padding: 0 0 .25em;
	/* max-width: 600px; */
	display: inline-block;
	width: auto;
	line-height: 1.4;
	font-size: 3em;
	font-weight: bold;
	color: #c10000;
	border-bottom: 1px solid #222;
	text-align: center;
}

.co-opMeritSection .title .sub {
	display: block;
	font-size: .625em;
}

.co-opMeritSection .title .sub .em {
	font-size: 1.3em;
}

.co-opMeritSection .title .txt {
	display: block;
	margin-right: -.5em;
}

.co-opMeritSection .article {
	max-width: 823px;
	margin: 0 auto;
	counter-reset: idx;
}

.co-opMeritSection .article + .article {
	margin-top: 3.75em;
}

.co-opMeritSection .ttl_m {
	position: relative;
	margin: 0 0 .7em;
	padding-left: 1.6em;
}

.co-opMeritSection .ttl_m .idx {
	position: absolute;
	left: 0;
	/* margin-right: .25em; */
}

.co-opMeritSection .box.colWrap .txt {
	flex-grow: 1;
}

.co-opMeritSection .box.colWrap .img {
	flex: 0 0 auto;
	width: 296px;
}

.co-opMeritSection .box.colWrap .img img {
	margin: 0 auto;
}

.co-opMeritSection .txt li {
	counter-increment: idx;
	font-size: 1.25em;
	font-weight: bold;
	text-indent: -2em;
	padding-left: 2.5em;
}

.co-opMeritSection .txt li + li {
	margin-top: .65em;
}

.co-opMeritSection .txt li:before {
	content: "0"counter(idx)".";
	color: #c10000;
	margin: 0 .5em 0 0;
	font-family: "Noto Sans", sans-serif;
}

.co-opMeritSection .txt li {
	margin-right: -2.5em;
}

.co-opMeritSection .colWrap .txt p {
	font-size: 1.25em;
	line-height: 1.7;
}

.co-opMeritSection .txt .note {
	margin: .5em 0 0;
	font-size: .6em;
}

.co-opMeritSection .txt + .colWrap {
	margin: 30px auto 0;
	align-items: center;
	align-content: center;
}

.co-opMeritSection .imgFrame {
}

.co-opMeritSection .txtFrame {
	background: #f7f7f8;
	font-size: 1.125em;
}

.co-opMeritSection .imgFrame .img:first-child {
	flex-grow: 1;
}

.co-opMeritSection .imgFrame .img:first-child img {
	margin: 0 25px 0 0;
	float: right;
}

.co-opMeritSection .txtFrame .head {
	padding: .3em;
	line-height: 1.3;
	font-weight: bold;
	background: #c10000;
	color: #fff;
	text-align: center;
}

.co-opMeritSection .txtFrame .txtItem {
	padding: 20px;
}

@media (min-width: 768px){
	.co-opMeritSection .imgFrame {
		display: flex;
		width: 54%;
		padding-right: 15px;
	}

	.co-opMeritSection .txtFrame {
		width: 46%;
	}
}

/* ---------------------
  programSection
  ---------------------- */
.programSection .tblWrap {
	margin: 65px auto 0;
	max-width: 1000px;
	overflow: auto;
}

.programSection .comparisonTbl {
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
	font-size: .9375em;
	line-height: 1.35;
}

.programSection .comparisonTbl colgroup {
 	width: 27%;
}

 .programSection .comparisonTbl .col_head {
 	width: 19%;
}

.programSection .comparisonTbl th,
.programSection .comparisonTbl td {
	padding: .7em;
	box-shadow: 1px 1px 3px rgba(0,0,0, .3);
	text-align: center;
}

.programSection .comparisonTbl thead th:first-child {
	box-shadow: none;
}

.programSection .comparisonTbl th {
	font-weight: bold;
	font-size: 1.2em;
	color: #fff;
}

 .programSection .comparisonTbl th.co-op {
	background: #c10000;
}

 .programSection .comparisonTbl th.study {
	background: #0091B8;
}

 .programSection .comparisonTbl th.work {
	background: #185a99;
}

.programSection .comparisonTbl .head {
	background: #666666;
	color: #fff;
	font-size: 1.2em;
	vertical-align: middle;
}

.programSection .comparisonTbl .head .note {
	display: block;
	margin: 3px 0 0;
	font-size: .8em;
	text-indent: -1em;
	padding-left: 1em;
}

 .programSection .comparisonTbl .co-op {
	background: #FDFDF4;
}

 .programSection .comparisonTbl tbody td {
	background: #f2f2f2;
}

.programSection .comparisonTbl .v_mdl {
	vertical-align: middle;
}

.programSection .comparisonTbl .font_l {
	display: block;
	font-size: 1.4em;
	font-weight: bold;
}

.programSection .comparisonTbl .font_s {
	display: block;
	font-size: 10px;
	margin-top: .25em;
	text-align: right;
}

.programSection .comparisonTbl .em {
	color: #c10000;
}

.programSection .comparisonTbl .price {
	display: flex;
	justify-content: center;
    align-items: center;
    align-content: center;
}

.programSection .comparisonTbl .price .ico {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	font-size: 10px;
	line-height: 1;
	color: #fff;
	margin-left: -10px;
	width: 30px;;
	height: 30px;
	background: #666;
	border-radius: 50%;
}

.programSection .comparisonTbl .co-op .price .ico {
	background: #c10000;
}

.programSection .comparisonTbl .price .font_l {
	padding: 0 0 0 7px;
	text-align: center;
}


.programSection .comparisonTbl .title {
	margin: .5em 0 .25em;
	padding: .1em 0;
	background: #c10000;
	color: #fff;
	border-radius: 9999px;
	line-height: 1.2;
}

.programSection .comparisonTbl .title:first-child {
	margin-top: 0;
}


.programSection .comparisonTbl .box {
	margin-top: .75em;
}

.programSection .comparisonTbl .box:first-child {
	margin-top: 0;
}
.programSection .comparisonTbl .cost .title {
	background: #666666;
}

.programSection .comparisonTbl .innerList {
	padding: 0 .5em;
}

.programSection .comparisonTbl .innerList li {
	display: flex;
	border-bottom: 1px solid #222;
	padding: 5px 0;
}

.programSection .comparisonTbl .innerList li:last-child {
	border-bottom: 0;
}

.programSection .comparisonTbl .innerList li .dt {
	flex-grow: 1;
	text-align: left;
	padding-right: 10px;
}

.programSection .comparisonTbl .innerList li .dd {
	width: 4em;
	flex: 0 0 auto;
	font-size: .8em;
	font-weight: bold;
	line-height: 1;
}

.programSection .comparisonTbl .innerList li .num {
	display: block;
	font-size: 1.8em;
	font-family: 'Noto Sans', sans-serif;
}

.programSection .comparisonTbl .income .innerList .dd {
	color: #c10000;
}

/* ---------------------
  scheduleSection
  ---------------------- */
.scheduleSection .scheduleFrame {
	max-width: 848px;
	margin: 0 auto;
}

.scheduleSection .content {
	padding: 0 25px;
	max-width: 1050px;
}

.scheduleSection .box {
	background: #f2f2f2;
	border: 1px solid #fff;
	border-radius: 1em;
	line-height: 1.45;
}

.scheduleSection .box {
	background: #f2f2f2;
	border: 1px solid #fff;
	border-radius: 1em;
	width: calc(14.2857% - 9px);
}

.scheduleSection .box.apply {
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	padding: 1em 0;
	width: 63px;
	border: 5px solid #c10000;
	border-radius: 6px;
	background: #fff;
	color: #c10000;
	writing-mode: tb;
	font-size: 1.25em;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.scheduleSection .box.apply p {
	margin: 0 auto;
}

.scheduleSection .box ul {
	writing-mode: tb;
	padding: 1.5em 0;
	margin: 0 auto;
}

.scheduleSection .box li {
	text-indent: -1.25em;
	padding-top: 1em;
}

.scheduleSection .box li:before {
	content: "";
	display: inline-block;
	margin: 0 0 .25em;
	width: .86em;
	height: .86em;
	border-radius: 50%;
	background: #c10000;
}

.scheduleSection .box .head {
	display: flex;
	position: relative;
	align-items: center;
	align-content: center;
	justify-content: center;
	margin: 0 -1px;
	height: 100px;
	line-height: 1.3;
	font-size: 1.15em;
	font-weight: bold;
	border-radius: 10px;
	background: #c10000;
	border: 1px solid #fff;
	color: #fff;
}

.scheduleSection .box .head > span {
	display: block;
	text-align: center;
}

.scheduleSection .box .head:before,
.scheduleSection .box .head:after {
	content: "";
	display: block;
	position: absolute;
	left: 100%;
	top: 50%;
	border: 10px solid transparent;
	border-left-color: #c10000;
	transform: translate(0, -50%);
	z-index: 2;
}

.scheduleSection .box .head:after {
	border-left-color: #fff;
	margin-left: 1px;
	z-index: 1;
}

.scheduleSection .box:last-child .head:before,
.scheduleSection .box:last-child .head:after {
	display: none;
}

.scheduleSection .box:nth-child(1) .head,
.scheduleSection .box:nth-child(1) li:before {
	background: #ff7b7b;
}

.scheduleSection .box:nth-child(1) .head:before {
	border-left-color: #ff7b7b;
}

.scheduleSection .box:nth-child(2) .head,
.scheduleSection .box:nth-child(2) li:before {
	background:#f36363;
}

.scheduleSection .box:nth-child(2) .head:before {
	border-left-color: #f36363;
}

.scheduleSection .box:nth-child(3) .head,
.scheduleSection .box:nth-child(3) li:before {
	background:#e74c4c;
}

.scheduleSection .box:nth-child(3) .head:before {
	border-left-color: #e74c4c;
}

.scheduleSection .box:nth-child(4) .head,
.scheduleSection .box:nth-child(41) li:before {
	background:#de3838;
}

.scheduleSection .box:nth-child(4) .head:before {
	border-left-color: #de3838;
}

.scheduleSection .box:nth-child(5) .head,
.scheduleSection .box:nth-child(5) li:before {
	background:#d62c2c;
}

.scheduleSection .box:nth-child(5) .head:before {
	border-left-color: #d62c2c;
}

.scheduleSection .box:nth-child(6) .head,
.scheduleSection .box:nth-child(61) li:before {
	background:#CD1919;
}

.scheduleSection .box:nth-child(6) .head:before {
	border-left-color: #CD1919;
}

.scheduleSection .box:last-child .head {
	font-size: 1.75em;
	background: #c10000 url(../img/flow_img.svg) no-repeat center bottom;
	background-size: contain;
	background-size: 91% auto;
}


/* ---------------------
  coursesSection
  ---------------------- */
.coursesSection .article + .article {
	margin-top: 3.125em;
}

.coursesSection .article .txt p {
	font-size: 1.125em;
}

.coursesSection .article .txt .note {
	font-size: .6667em;
}

.coursesSection .ttl_m {
	position: relative;
	margin: 0 0 .45em;
	padding-left: 2.05em;
	font-size: 2.5em;
	color: #222;
	line-height: 1;
}

.coursesSection .ttl_m .idx {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	padding: 0 .325em 0 0;
	line-height: .75em;
	font-size: 1.5em;
	font-weight: normal;
	font-family: din-condensed, sans-serif;
	letter-spacing: -.04em;
	text-shadow: 0 1px 0 #c10000,
		1px 0 0 #c10000,
		0 -1px 0 #c10000,
		-1px 0 0 #c10000;
	color: #fff;
}

.coursesSection .ttl_m .idx:before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 1px;
	height: 1.1em;
	background: #959595;
	transform: translateY(-50%) rotate(23deg);
}

.coursesSection .article .img {
	position: relative;
	/*width: 346px; */
	width: 37.9386%;
}
	
.coursesSection .article .img img {
	object-fit: cover;
	font-family: "object-fit: cover;";
	width: 100%;
	height: 100%;
}

.coursesSection .article .txt {
	padding-left: 2em;
	width: 62.0614%;
}

.coursesSection .course01 .ttl_m {
	margin: 0 0 .75em;
	font-size: 3em;
}

.coursesSection .course01 .ttl_m .idx {
	font-size: 1.58333em;
}

.coursesSection .exampleFrame {
	margin: 22px 0 0;
	overflow: hidden;
}

.coursesSection .exampleFrame .head {
	margin: 0 0 .5em;
	padding-bottom: .25em;
	font-size: 1.25em;
	font-weight: bold;
	border-bottom: 1px solid #c10000;
}

.coursesSection .exampleFrame ul {
	justify-content: flex-start;
	margin: 0 -10px;
}

.coursesSection .exampleFrame li {
    margin: 0 10px;
	width: calc(20% - 20px);
	line-height: 1.35;
	font-size: 10px;
	text-align: center;
}

.coursesSection .exampleFrame li img {
	display: block;
	margin: 0 auto;
}

.coursesSection .note {
	font-size: .75em;
}

.coursesSection .pointBox {
	margin: 27px auto 40px;
	padding: 40px 0;
}

.coursesSection .pointBox .head {
	margin: 0 0 .7em;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.3;
	color: #c10000;
}

.coursesSection .pointBox .head .em {
	display: inline-block;
	margin: 0 0 0 .15em;
	font-size: 1.91667em;
}

.coursesSection .pointBox .head .em:after {
	content: "";
	display: block;
	box-sizing: border-box;
	height: 6px;
	border-top: 1px solid #c10000;
	border-bottom: 1px solid #c10000;
}

.coursesSection .pointBox .txt {
	padding-right: 2.5em;
	width: 57.894%;
}

.coursesSection .pointBox .img {
	width: 42.106%;
}

@media (min-width: 768px){
	.coursesSection .ttl_m .font_s {
		letter-spacing: -0.02em;
	}
	
	.coursesSection .exampleFrame {
		max-width: 500px;
	}
	
	.coursesSection .exampleFrame li {
		white-space: nowrap;
	}
}

@media (min-width: 992px){
	.coursesSection .ttl_m .font_s {
		display: inline-block;
		font-size: .875em;
		letter-spacing: -.06em;
	    position: relative;
	    top: -0.075em;
	}
	
	.coursesSection .article:not(.course01) .img img {
		max-height: 137px;
	}
}


/* ---------------------
  voiceSection
  ---------------------- */
.voiceSection .content{
    max-width: 872px;
}

.voiceSection .slick-prev,
.voiceSection .slick-next {
	width: 36px;
	height: 90px;
	z-index: 10;
}

.voiceSection .slick-prev {
	left: -40px;
	transform: translate(-100%, -50%);
}

.voiceSection .slick-next {
	right: -40px;
	transform: translate(100%, -50%);
}

.voiceSection .slick-prev:before,
.voiceSection .slick-next:before {
	opacity: 1;
}

.voiceSection .slick-prev:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
	border: 45px solid transparent;
    border-right: 37px solid #c10000;
    margin: 0;
    margin-left: -45px;
}

.voiceSection .slick-next:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: 45px solid transparent;
    border-left: 37px solid #c10000;
    margin: 0;
}

.voiceSection .slick-dots li button:before {
    color: #F8B9B9;
    opacity: 1;
}

.voiceSection .slick-dots li.slick-active button:before {
	color: #c10000;
	opacity: 1;
}

.voiceSection .cd_08_item > div {
    text-align: center;
}

.voiceSection .cd_08_item > div img {
    display: block;
    margin: 0 auto;
}

.voiceSection .slick-dots {
	bottom: -3em;
}

/* ---------------------
  faqSection
  ---------------------- */
/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox_wrap{
    margin-top: 100px;
}

.acbox{
    width: auto;
    font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
    /* margin:0 10px; ボックス全体の位置調整 */
}
  
.acbox label{
	margin: 0 0 1.1em;
	padding: .6em 2.8em .6em  3.85em;
    width: auto;
    font-size: 18px; /* ラベルの文字サイズ */
    /* font-size: 1.125em; */
    font-weight: bold;
    text-align: left;
    position: relative;
    display: block;
    cursor: pointer;
    background: #f7f7f7;
    color: #222;
}

.acbox label:before{
    content: "Q.";
    position: absolute;
    font-size: 1.333em;
    font-weight: bold;
    font-family: "Noto Sans", sans-serif;
    top: 50%;
    left: -.25em;
    width: 2.0834em;
    height: 2.0834em;
    line-height: 2.0834em;
    background: #c10000;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    transform: translateY(-50%);
}

.acbox input{
    display: none;
}
  
.acbox label:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    right: 17px;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border-top: 3px solid #c10000;
    border-left: 3px solid #c10000;
    transform: translateY(-50%) rotate(-135deg) skew(-6deg, -6deg);
}
  
.acbox input:checked ~ label::after {
    top: calc(50% + 3px);
    transform: translateY(-50%) rotate(45deg) skew(-6deg, -6deg);
}
  
.acbox div{
    height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: 0.15s; /* 開閉スピードの設定 */
}
  
.acbox input:checked ~ div{
    height: auto;
    padding: .35em 4.667em 3.35em; /* 開いた部分の枠内の余白 */
    border-radius: 0px;
    background: #ffffff; /* 開いた部分の背景色 */
    opacity: 1;
}
    
.acbox-under{
    font-size: 15px; /* 開いた部分の文字サイズ */
    color: #222; /* 開いた部分の文字色 */
}

/* ---------------------
  seminarSection
  ---------------------- */
.seminarSection {
	padding-top: 50px;
}

.seminarSection .title {
	margin: 0 auto 1.25em;
	padding: .57em .5em;
	line-height: 1.3;
	background: #c10000;
	color: #fff;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	border-radius: 99999px;
}

.seminarSection .content {
	max-width: 983px;
	padding-bottom: 80px;
}

.seminarSection .box .head{
	font-weight: bold;
	font-size: 1.25em;
	text-align: center;
}

.seminarSection .box .head .idx {
    display: inline-block;
    vertical-align: middle;
	padding: 0 .25em 0 0;
	font-size: 2em;
	font-weight: normal;
	font-family: din-condensed, sans-serif;
	letter-spacing: -.04em;
	color: #c10000;
}

.seminarSection .box .img {
	margin: 0 auto 1.25em;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	height: 110px;
}

.seminarSection .box .txt {
	font-size: .9375em;
}

.seminarSection .box .button {
	background: #c10000;
	margin: 0 auto;
	padding: .75em .5em;
	width: 100%;
	color: #fff;
	font-weight: 500;
	font-size: 1.125em;
	line-height: 1.3;
	border-radius: 5px;
	text-align: center;
	transition: opacity .3s ease-out;
}

.seminarSection .box .button.line {
	padding: .85em .5em;
	background: #1AAC36;
	max-width: 236px;
}

.seminarSection .box .button:hover {
	opacity: .7;
}

@media (min-width: 768px){
	.seminarSection .box {
		width: calc(33.33% - 15px);
		max-width: 260px;
	}
}

/* ---------------------
  applySection
  ---------------------- */
#form {
  padding: 60px 0;
  text-align: center;
}

.form_btn{
  position: relative;
  display: block;
  width: 378px;
  height: 100px;
  background: url(../img/btn_apply.png) no-repeat center 0;
  background-size: contain;
  margin: 0 auto 1.5em;
  transition: opacity .3s ease-out;
}

.form_btn .label {
  display: block;
  padding: 9.5px 0 0;
  width: calc(100% - 67px);
  position: absolute;
  top: 10px;
  left: 66px;
  font-size: 26px;
  font-weight: bold;
  background: #fff;
  color: #c10000;
  text-align: left;
}

.form_btn:hover {
  opacity: .7;
}

#form .txt {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.6667;
}

#form .note {
  margin: .35em auto 0;
  font-size: 10px;
  font-weight: 500;
}

/* line */
#line{
  background: #00B900;
  padding: 55px 0 45px;
}

.line_btn{
  position: relative;
  display: block;
  margin: 30px auto 0;
  max-width: 350px;
}

.line_btn:before{
  content: url(../img/line_free.svg);
  position: absolute;
  top: -51px;
  left: -5px;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
}

.line_btn__p {
  background: #FFC226;
  padding: 22px 35px;
  border-radius: 5px;
  color: #ffffff;
  font-size: 22px;
  font-weight: 600;
  box-shadow: 0px 8px 10px -6px rgb(0 0 0 / 40%);
  text-align: center;
}

.line_h5{
  font-size: 19px;
  font-weight: 500;
  color: #ffffff;
  margin-top: 25px;
  line-height: 2em;
}

.line_span{
  border-bottom:solid;
  border-color:#FFC226;
  border-width:2px;
  font-size: 21px;
}

.line_p{
  font-size: 13px;
  font-weight: 300;
  color: #ffffff;
}

/* index footer */
footer{
    background: #fff;
    padding: .7em 0;
    margin-bottom: 88px;
}

footer a {
	color: inherit;
}

footer .head {
	color: #c10000;
	font-size: 1.1538em;
	font-size: 15px;
	line-height: 1.3;
}

footer p{
    font-size: 13px;
    text-align: center;
}


.form_span{
  border-bottom:solid;
  border-color:#FFC226;
  border-width:3px;
}



/* *******************************************
   tb
 ******************************************* */
@media (max-width: 991px){
	/* ---------------------
	  aboutSection
	  ---------------------- */
	.aboutSection .content-sp {
        padding: 0 30px;;
	}
	
	.aboutSection .title {
		max-width: 770px;
	}
	
	.aboutSection .pointList li {
		font-size: 1.765em;
		max-width: 670px;
		margin-left: auto;
		margin-right: auto;
	}
	
	/* ---------------------
	  meritSection
	  ---------------------- */
	.meritSection .img {
		width: 25.261%;
	}
	
	.meritSection .txt {
		width: 74.839%;
	}
	
	.meritSection .head {
		font-size: 1.46em;
	}

	/* ---------------------
	  programSection
	  ---------------------- */
	.programSection .comparisonTbl {
		font-size: 13px;
	}

	.programSection .comparisonTbl colgroup {
		width: 28%;
	}

	.programSection .comparisonTbl .col_head {
		width: 16%;
	}

	.programSection .comparisonTbl th,
	.programSection .comparisonTbl td {
		padding: .7em .5em;
	}
	
	/* ---------------------
	  concernsSection
	  ---------------------- */
	.concernsSection .title {
		font-size: 2.31em;
	}
	
	.concernsSection .colWrap {
		margin-left: auto;
		margin-right: auto;
		max-width: 676px;
	}
	.concernsSection .box {
	    width: calc(33.33% - 8.3px);
	}
	
	.concernsSection .txt {
		font-size: 1.035em;
	}
	

	/* ---------------------
	  co-opMeritSection
	  ---------------------- */
	.co-opMeritSection .box.colWrap .img {
		width: 34.896%;
	}

	.co-opMeritSection .box.colWrap .txt {
		width: 65.104%;
	}
	
	.co-opMeritSection .box .txt {
		/* font-size: 18px; */
		font-size: 1.095em;
	}
	
	.co-opMeritSection .txt .note {
		font-size: .667em;
	}
	
	.co-opMeritSection .txt li {
		/* font-size: 18px; */
		font-size: 1em;
		margin-right: -1em;
	}
	
	.co-opMeritSection .txtFrame {
	    font-size: 1.095em;
	 }
	
	/* ---------------------
	  coursesSection
	  ---------------------- */
	.coursesSection .ttl_m {
		line-height: 1.1;
	}
	
	.coursesSection .exampleFrame ul {
		margin: 0 auto;
		justify-content: space-between;
	}
	
	.coursesSection .exampleFrame li {
		margin: 0 0 5px;
		width: calc(25% - 5px);
	}
	
	.coursesSection .article .img {
		width: 45.053%;
	}
	
	.coursesSection .article .txt {
	    width: 54.915%;
	}
	
	.coursesSection .ttl_m {
		font-size: 2.13em;
		line-height: 1.3;
	}
	
	.coursesSection .article .txt p {
	}
	
	.coursesSection .pointBox .txt {
		padding-right: 1.8em;
		width: 64.232%;
	}
	
	.coursesSection .pointBox .img {
		width: 35.768%;
	}

	/* ---------------------
	  voiceSection
	  ---------------------- */
	.voiceSection .tb {
	      display: block !important;
	}
	
	.voiceSection .sp {
	      display: none !important;
	}
	
	.voiceSection .content {
		max-width: 908px;
		padding: 0 70px;
	}
	
	.voiceSection .slick-prev {
		left: -20px;
	}
	
	.voiceSection .slick-next {
		right: -20px;
	}
	
	.voiceSection .slick-prev:before {
	    border: 38px solid transparent;
	    border-right: 36px solid #c10000;
	}

	.voiceSection .slick-next:before {
	    border: 38px solid transparent;
	    border-left: 36px solid #c10000;
	}
	
	/* ---------------------
	  applySection
	  ---------------------- */
	#form {
		padding: 48px 0;
	}
}

@media (max-width: 991px) and (min-width: 920px) {
	.coursesSection .pointBox .content {
		padding-right: 0;
	}
}

/* *******************************************
   sp
 ******************************************* */
@media (max-width: 767px){
	/* ---------------------
	  aboutSection
	  ---------------------- */
	.aboutSection {
		padding: 25px 0 40px;
	}
	 
	.aboutSection .content-sp {
        /* padding: 0 33px; */
        padding: 0 7.7102%;
	}
	
	.aboutSection .title {
        padding: 10px 0 12px;
        line-height: 1.12;
        font-size: 2em;
        /* font-size: 30px; */
        border-width: 3px;
	}
	
	.aboutSection .title .sub {
        display: block;
        font-size: .8333em;
	}
	
	.aboutSection .title:after {
		border-width: 0.9em;
		border-top-width: 0.733em;
    }
    
	.aboutSection .inner {
		margin: 0 auto;
		padding: 0;
		box-shadow: none;
	}
	
	.aboutSection .pointList li {
		font-size: 1.333em;
		/* font-size: 20px; */
		line-height: 1.55;
		text-align: center;
	}
	
	.aboutSection .pointList li .txt {
		display: inline-block;
		margin: 25px auto 0;
		width: auto;
		text-align: left;
	}
	
	.aboutSection .pointList li .txt:before {
		font-size: 2.25em;
	}
	
	.aboutSection .pointList img {
		margin: 0 auto;
		width: 132px;
	}
	
	.aboutSection .programFrame .txtFrame {
		margin:  35px auto 0;
	}

	.aboutSection .programFrame .txtFrame li {
		font-size: 1em;
		/* font-size: 15px; */
	}
	.aboutSection .programFrame .txtFrame .noteTxt {
		font-size: .7333em;
	}
	
	.aboutSection .programFrame .txtFrame li + li .txt {
	    margin-right: -.8em;
	}

	/* ---------------------
	  meritSection
	  ---------------------- */
	.meritSection .ttl_m {
		text-align: center;
	}
	
	.meritSection .colWrap {
		display: flex;
		flex-direction: column-reverse;
	}
	
	.meritSection .img,
	.meritSection .txt {
		width: auto;
	}
	
	.meritSection .img {
		margin: 20px auto 30px;
		width: auto;
		display: block;
		text-align: center;
	}
	
	.meritSection .txt {
		padding: 0;
		font-size: 1.0667em;
		/* font-size: 16px; */
	}
	
	.meritSection .head {
		margin: 0 0 1em;
		/* font-size: 20px; */
		font-size: 1.25em;
	}
	
	.meritSection .merit01 .img img {
		width: 230px;
	}
	
	.meritSection .merit02 .img img {
		width: 152px;
	}
	
	.meritSection .merit03 .img img {
		width: 182px;
	}
	
	/* ---------------------
	  concernsSection
	  ---------------------- */
	.concernsSection {
		margin: 0 0 40px;
		padding: 35px 0 20px;
	}
	
	.concernsSection:after {
		border-top-width: 60px;
	}
	
	.concernsSection .title {
	    margin: 0 auto 1.5em;
		font-size: 1.333em;
		/* font-size: 20px; */
	}
	
	.concernsSection .box {
		width: auto;
		max-width: 324px;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		align-items: center;
		align-content: center;
	}
	
	.concernsSection .box img {
		width: 92px;
		height: 92px;
	}
	
	.concernsSection .box + .box {
		margin-top: 15px;
	}
	
	.concernsSection .box .txt {
		flex-grow: 1;
		margin: 0;
		padding: 0 0 0 15px;
		text-align: left;
		font-size: 1.2em;
		/* font-size: 18px; */
	}
	
	/* ---------------------
	  co-opMeritSection
	  ---------------------- */
	.co-opMeritSection .title {
		padding-bottom: 0.65em;
		/*font-size: 2em;
		font-size: 30px; */
		font-size: 6.8vw;
	}
	
	.co-opMeritSection .title .sub {
		font-size: .6667em;
	}
	
	.co-opMeritSection .title .sub .em {
		font-size: 1.2em;
	}
	
	.co-opMeritSection .title .sub .txt {
		margin: 0 -0.5em 0 -0.125em;
	}
	
	.co-opMeritSection .article {
		text-align: center;
	}
	
	.co-opMeritSection .ttl_m {
		display: inline-block;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
	
	.co-opMeritSection .ttl_m .idx {
		top: .175em;
	}
	
	.co-opMeritSection .box .colWrap .img,
	.co-opMeritSection .box.colWrap .txt {
		width: auto;
		padding: 0;
	}
	
	.co-opMeritSection .box .img,
	.co-opMeritSection .box.colWrap .img {
		margin: 20px auto 30px;
		padding: 0;
		width: auto;
		text-align: center;
	}
	
	.co-opMeritSection .box .img img {
		margin: 0 auto;
	}
	
	.co-opMeritSection .merit01 .box img {
		width: 199px;
	}
	
	.co-opMeritSection .box .txt {
		text-align: left;
	}
	
	.co-opMeritSection .txt li:before {
		content: counter(idx)".";
	}
	
	.co-opMeritSection .txt li {
		margin-right: 0;
		font-size: 1.06667em;
		/* font-size: 16px; */
		text-indent: -1.25em;
		padding-left: 1em;
	}
	
	.co-opMeritSection .txtFrame .head {
		font-size: 18px;
	    padding: 0.52em 0.25em;
    }
    
	.co-opMeritSection .txtFrame .txtItem {
		padding: 1em;
		text-align: left;
	}
	
	/* ---------------------
	  courseSection
	  ---------------------- */
	.coursesSection .article .img {
		width: auto;
	}
	
	.coursesSection .article:not(.course01) .img:before {
		content: "";
		display: block;
		padding: 32.37% 0 0;
	}
	
	.coursesSection .article:not(.course01) .img img {
	    position: absolute;
	    left: 50%;
	    top: 50%;
	    width: 100%;
	    height: 100%;
	    transform: translate(-50%, -50%);
	}
	
	.coursesSection .article .txt {
	    width: auto;
		font-size: 1em;
		padding: 0;
	}

	.coursesSection .pointBox .txt,
	.coursesSection .pointBox .img {
	    width: auto;
		font-size: 1em;
		padding: 0;
	}
	
	.coursesSection .pointBox .img {
		position: relative;

	}
	
	/* ---------------------
	  programSection
	  ---------------------- */
	.programSection .content {
		padding: 0 3.5%;
	}
	.programSection .tblWrap {
		margin-top: 5px;
	}
	
	.programSection .comparisonTbl {
		/* font-size: 10px; */
		font-size: 1.86vw;
		border-spacing: 6px;
		min-width: 510px;
	}
	
	.programSection .comparisonTbl th {
		font-size: 1.3em;
	}

	.programSection .comparisonTbl .font_l {
		font-size: 1.4em;
	}
	
	.programSection .comparisonTbl .price .ico {
		transform: scale(0.8);
	}

	.programSection .comparisonTbl .price .font_l {
		 padding: 0;
	}
	
	.programSection .comparisonTbl .innerList li .num {
		font-size: 2em;
	}
	
	
	/* ---------------------
	  scheduleSection
	  ---------------------- */
	.scheduleSection .scheduleFrame {
		font-size: .9em;
		/* max-width: 343px; */
		margin: 0 auto;
	}
	
	.scheduleSection .box {
		display: flex;
		width: 100%;
		min-height: 92px;
		line-height: 1.4;
	}

	.scheduleSection .box .head {
		flex: 0 0 auto;
		margin: -1px 0;
		height: auto;
		width: 85px;
		font-size: 1em;
	}
	
	.scheduleSection .box .head:before,
	.scheduleSection .box .head:after {
		top: 100%;
		left: 50%;
		border: 7px solid transparent;
		border-top: 8px solid #c10000;
		transform: translate(-50%, 0);
	}
	
	.scheduleSection .box .head:after {
		margin: 1px 0 0 0;
		border-top-color: #fff;
	}
	
	.scheduleSection .box .txt {
		display: flex;
		align-items: center;
		align-content: center;
		width: 100%;
	}
	
	.scheduleSection .box ul {
		writing-mode: initial;
		padding: .5em .5em .5em 1.5em;
		width: 100%;
	}
	
	.scheduleSection .box li {
		position: relative;
		text-indent: 0;
		padding: 0 0 0 1.175em;
	}
	
	.scheduleSection .box li:before {
		position: absolute;
		left: 0;
		top: .125em;
	}
	
	.scheduleSection .box.apply {
		writing-mode: initial;
		padding: .725em 0;
		width: auto;
		min-height: auto;
		border-width: 4px;
	}

	.scheduleSection .box:nth-child(1) .head:before {
		border-color: transparent;
		border-top-color: #ff7b7b;
	}

	.scheduleSection .box:nth-child(2) .head:before {
		border-color: transparent;
		border-top-color: #f36363;
	}

	.scheduleSection .box:nth-child(3) .head:before {
		border-color: transparent;
		border-top-color: #e74c4c;
	}

	.scheduleSection .box:nth-child(4) .head:before {
		border-color: transparent;
		border-top-color: #de3838;
	}

	.scheduleSection .box:nth-child(5) .head:before {
		border-color: transparent;
		border-top-color: #d62c2c;
	}

	.scheduleSection .box:nth-child(6) .head:before {
		border-color: transparent;
		border-top-color:  #CD1919;
	}

	.scheduleSection .box:last-child .head {
		background-size: 74px auto;
	}
	
	/* ---------------------
	  courseSection
	  ---------------------- */
	.coursesSection .article + .article {
		margin-top: 4em;
	}
	
	.coursesSection .article .colWrap {
		text-align: center;
	}
	
	.coursesSection .article .img {
		margin: 0 auto;
	}
	
	.coursesSection .article .img img {
		margin: 0 auto;
	}
	
	.coursesSection .ttl_m,
	.coursesSection .course01 .ttl_m {
   	 	display: inline-block;
		margin: .9em auto .6em;
		font-size: 1.8667em;
		/* font-size: 28px; */
		text-align: center;
	}
	
	.coursesSection .ttl_m .idx,
	.coursesSection .course01 .ttl_m .idx {
		font-size: 1.53571em;
	}
	
	.coursesSection .ttl_m .font_s {
		display: block;
		font-size: 1em;
		text-align: left;
	}
	
	.coursesSection .article .txt p {
		font-size: 1.0667em;
		/* font-size: 16px; */
		text-align: left;
	}
	
	.coursesSection .article .txt .note {
		margin: 2.5em 0 0;
		font-size: .7333em;
	}
	
	.coursesSection .exampleFrame .head {
		text-align: left;
		font-size: 18px;
	}
	
	.coursesSection .pointBox .colWrap {
		position: relative;
		padding-top: 6.25em;
		display: flex;
		flex-direction: column-reverse;
	}
	
	.coursesSection .pointBox .head {
		position: absolute;
		top: 0;
		left: 50%;
		width: 264px;
		font-size: 1.333em;
		/*font-size: 20px; */
		text-align: center;
		transform: translate(-50%, 0);
	}
	
	.coursesSection .pointBox .head .em {
		display: block;
		font-size: 1.9em;
	}
	
	.coursesSection .pointBox .head .em:after {
		margin: .125em 0 0;
		height: 5px;
	}
	
	.coursesSection .pointBox .img {
		margin: 30px auto;
		max-width: 289px;
	}
	
	/* ---------------------
	  voiceSection
	  ---------------------- */
	.voiceSection .content {
        padding: 0 7.7102%;
	}

	.voiceSection .slick-prev,
	.voiceSection .slick-next {
		width: 20px;
		height: 50px;
		display: none;
	}
	
	.voiceSection .slick-prev {
		left: -20px;
	}
	
	.voiceSection .slick-next {
		right: -20px;
	}

	.voiceSection .slick-prev:before {
		border: 25px solid transparent;
	    border-right: 20px solid #c10000;
	    margin-left: -25px;
	}
	
	.voiceSection .slick-next:before {
		border: 25px solid transparent;
	    border-left: 20px solid #c10000;
	    margin-right: -25px;
	}
	
	.voiceSection .slick-dots li ,
	.voiceSection .slick-dots li button,
	.voiceSection .slick-dots li button:before,
	.voiceSection .slick-dots li.slick-active button:before {
		width: 15px;
		height: 15px;
	}
	
	.voiceSection .slick-dots li button:before,
	.voiceSection .slick-dots li.slick-active button:before {
		font-size: 40px;
		left: -3px;
		top: -2px;
	}
	
	/* ---------------------
	  faqSection
	  ---------------------- */
    .acbox_wrap {
        margin-top: 70px;
    }
    
    .acbox {
    	margin-left: 15px;
    }

    .acbox label{
        padding: .7em 3.25em .7em 2.25em;
        font-size: 15px;
        line-height: 30px;
        line-height: 1.6;
    }

    .acbox label:before {
    	left: -20px;
        font-size: 1.2em;
        width: 2.167em;
        height: 2.167em;
        line-height: 2.167em;
    }
    
    .acbox-under {
    	font-size: 14px;
    }

    .acbox input:checked ~ div{
        padding: 0 20px 40px;
    }

	
	/* ---------------------
	  seminarSection
	  ---------------------- */
	.seminarSection .content {
		padding-bottom: 50px;
	}

	.seminarSection .title {
		font-size: 1.333em;
		font-size: 20px;
	}
	
	.seminarSection .box + .box {
		margin-top: 40px;
	}
	
	.seminarSection .box .head {
	    font-size: 1.333em;
	    font-size: 20px;
	}
	
	.seminarSection .box .head .idx {
		font-size: 1.5em;
	}
	
	.seminarSection .box .img {
		margin: 0 auto 1.5em;
		height: auto;
	}
	
	.seminarSection .box:last-of-type .img img {
	    width: 300px;
	}
	
	.seminarSection .box  .txt p {
		font-size: 1.0667em;
		/* font-size: 16px; */
	}
	
	/* ---------------------
	  applySection
	  ---------------------- */
	#form {
		padding: 35px 0 30px;
		background: #00B900;
	}
	
    #form .content {
    	padding: 0 15px;
    }
    
	#form .txt {
		font-size: 1.0667em;
		/* font-size: 16px; */
	}
	
	#form .note {
		margin: 25px 0 0;
		font-size: 10px;
	}
	
	.form_btn {
		width: 309px;
		height: 82px;
		background-image: url(../img/btn_apply_sp.png);
	}
	
	.form_btn .label {
		font-size: 21.4px;
		top: 5px;
		left: 52px;
	}

	/* index footer */
    footer{
      margin: 0;
    }
   
    footer p {
      font-size: 11px;
    }
    
    footer .head {
      font-size: 13px;
	}
	
	.line_btn:before {
	    content: url(../img/line_free.svg);
	    position: absolute;
		top: -38px;
		left: -10px;
	    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
	    /* width: 126px;
	    height: 83px; */
		width: 100px;
	}
}

@media (max-width: 575px){
	/* ---------------------
	  programSection
	  ---------------------- */
	.programSection .comparisonTbl {
		font-size: 10px;
	}
	
	/* ---------------------
	  voiceSection
	  ---------------------- */
	.voiceSection .slick-prev {
		left: -15px;
	}
	
	.voiceSection .slick-next {
		right: -15px;
	}
}

@media (max-width: 480px){

	/* ---------------------
	  voiceSection
	  ---------------------- */
	.voiceSection .tb {
	      display: none !important;
	}
	
	.voiceSection .sp {
	      display: block !important;
	}
	
	#form .sp2 {
		display: inline !important;
	}
}
	
@media (max-width: 374px){
	.voiceSection .content {
        padding: 0 15px;
	}
	.programSection .content {
		padding: 0 15px;
	}
	
	.form_btn {
		width: 100%;
	}
	
	.form_btn .label {
		top: 8%;
		left: 50px;
		text-align: center;
	    width: calc(100% - 85px);
	    font-size: 1.45em;
    }
}