/*
----------------------------------------
schedule
----------------------------------------
*/

.page-header {
	background: url( ../img/schedule/2x/header-bg.png ) center center / cover no-repeat;
}

#contents .search-box {
	margin-top: 62px;
}

#contents .sec {
	margin: 39px 0;
}

#contents .bnr-l {
	margin: 60px 0 100px;
}

/* single */

.about-box {
	padding: 30px 0 60px;
}

.about-box .ttl {
	padding-bottom: 23px;
	border-bottom: solid 1px #e5e5e5;
	margin-bottom: 20px;
}

.about-box .ttl h1 {
	margin: 10px 0 20px;
	letter-spacing: 1.2px;
}

.about-box .about-cont {
	position: relative;
	padding: 20px 0 44px;
	margin: 48px 0 10px;
}

.about-box .about-cont.img {
	min-height: 470px;
}

.about-box .about-cont.img .img-box {
	position: absolute;
	top: 0;
	right: 0;
	left: calc( 50% - 10px );
	max-height: 100%;
	overflow: hidden;
}

.about-box .about-cont.img .img-box img {
	display: block;
	width: 100%;
	max-height: 100%;
	object-fit: cover;
	object-position: center;
}

.about-box .about-cont.img .txt {
	margin-right: 55%;
	position: relative;
	z-index: 99;
}

.about-box .about-cont .txt .read {
	margin-top: 40px;
	letter-spacing: 1.2px;
}

.about-box .curriculum-header .img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}


.reason-box .ttl-01 {
	margin-bottom: -30px;
}

.reason-box .ttl-01.ttl-2l {
	margin-bottom: -25px;
}

.reason-box .ttl-01 h2 {
	letter-spacing: .8px;
}

.reason-box .ttl-01.ttl-2l h2 {
	line-height: 1.2;
	margin-top: 15px;
}

.reason-box .reason-list {
	background: #fff8cc;
	padding: 80px 0 60px;
	margin-bottom: 50px;
}

.reason-box .ttl-01.ttl-2l + .reason-list {
	padding: 120px 0 60px;
}

.reason-box .reason-list .flex {
	justify-content: center;
}

.reason-box .reason {
	width: calc( ( 100% - 80px ) / 3 );
	background: #fff;
	margin-right: 40px;
	position: relative;
}

.reason-box .reason:after{
	content: '';
	position: absolute;
	top: -10px;
	left: -10px;
	border-bottom: 12rem solid #CE9B00;
	border-left: 12rem solid transparent;
	z-index: 1;
}

.reason-box .reason:last-child {
	margin-right: 0;
}

.reason-box .reason .reason_str_wrapper { 
    position: absolute;
    left: 0;
    top: 0;
    z-index: 20;
}
.reason-box .reason .reason_str_wrapper .reason_str { 
	color: #CE9B00;
}
.reason-box .reason .reason_str_wrapper .reason_num { 
	color: #FFFFFF;
    font-size: 3rem;
    line-height: 1.5rem;
    font-weight: bold;
}

.reason-box .reason .num { 
    position: absolute;
    top: -10px;
    left: -10px;
    border-left: 12rem solid #FFC000;
    border-bottom: 12rem solid transparent;
    z-index: 15;
}

.reason-box .reason .num div {
	font-size: 1rem;
	text-transform: uppercase;
}


.reason-box .reason figure {
	text-align: center;
	line-height: .5;
    background-color: #fff;
    position: inherit;
    z-index: 10;
}

.reason-box .reason .txt {
    padding: 30px;
    z-index: 10;
    position: inherit;
    height: 60%;
	text-align: center;
}

.reason-box .reason .txt.reason_01 {
	height: 100%;
	background: url(../img/curriculum/reason_item_bg01.png) bottom 10px right 10px no-repeat;
	background-size: 70%;
	background-color: #ffffff;
}

.reason-box .reason .txt.reason_02 {
	height: 100%;
	background: url(../img/curriculum/reason_item_bg02.png) bottom 10px right 10px no-repeat;
	background-size: 70%;
	background-color: #ffffff;
}

.reason-box .reason .txt.reason_03 {
	height: 100%;
	background: url(../img/curriculum/reason_item_bg03.png) bottom 10px right 10px no-repeat;
	background-size: 70%;
	background-color: #ffffff;
}

.reason-box .reason h3 {
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: center;
    display: inline-block;
    position: relative;
    margin: 0 auto 45px auto ;
    width: 86%;
}

.reason-box .reason .txt h3:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -30px;
	display: inline-block;
	width: 30px;
	height: 3px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #FFC000;
	border-radius: 2px;
}

.reason-box .reason .read {
	font-size: 1.5rem;
	text-align: left;
	letter-spacing: 2px;
	margin-top: 10px;
}

.online-box {
	margin-bottom: 70px;
}

.online-box .heading-03 {
	margin-bottom: 30px;
}

.online-box .info {
	font-size: 2.2rem;
	text-align: center;
	margin-bottom: 25px;
}

.online-box .info strong {
	font-weight: bold;
}

.online-box h4 {
	text-align: center;
	font-size: 2.8rem;
	margin-bottom: -28px;
	position: relative;
	z-index: 99;
}

.online-box .box > .flex {
	background: #ebf7ff;
	padding: 60px 50px 50px;
	margin-bottom: 20px;
	flex-direction: row-reverse;
}

.online-box .box + .box > .flex {
	padding-bottom: 40px;
}

.online-box .box .img {
	text-align: center;
}

.online-box .box figure.flex {
	width: 400px;
	height: 150px;
	justify-content: center;
	align-items: center;
	background: #fff;
	margin: 10px 0;
}

.online-box .box .btn-link {
	margin-top: 20px;
}

.online-box .box .txt {
	width: calc( 100% - 400px );
	padding-right: 50px;
}

.online-box .box .txt .note {
	font-size: 1.4rem;
	margin-top: 10px;
}

.benefit-box {
	padding-bottom: 75px;
}

.benefit-box .info {
	font-size: 2.2rem;
	letter-spacing: 1px;
	text-align: center;
	margin: 30px 0;
}

.benefit-box .info strong {
	font-weight: bold;
}

.teacher-box {
	margin-bottom: 70px;
}

.teacher-box .wrap > .flex {
	margin: 40px 0 0;
	align-items: center;
}

.teacher-box .flex figure {
	width: 50%;
}

.teacher-box .flex figure + .txt {
	width: 50%;
	padding: 0 0 10px 60px;
}

.teacher-box .heading-01 {
	padding-top: 5px;
	padding-bottom: 8px;
	line-height: 1.6;
	margin-bottom: 30px;
}

.teacher-box .heading-01 .sub {
	font-size: 1.6rem;
	font-weight: normal;
}

.teacher-box .flex .txt .read {
	letter-spacing: 1.2px;
}

.sample-box {
	padding: 0 0 100px;
}

.sample-box .heading-03 {
	margin-bottom: 60px;
}


.sample-box .yt-wrap {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

.sample-box .yt-wrap::after {
	content: '';
	display: block;
	width: 100%;
	padding: 56.25% 0 0;
}

.sample-box .yt-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

section.price-box {
	margin-top: 0;
}

section.price-box .heading-03 {
	margin-bottom: 40px;
}

.price-box .table-01 {
	font-family: 'Lato', sans-serif;
}

.price-box .table-01.price {
	margin: 0 0 30px;
	align-items: center;
}

.price-box .table-01.price th,
.price-box .table-01.price td {
	height: 127px;
}

.price-box .table-01.set-price th,
.price-box .table-01.set-price td {
	height: 161px;
}

.price-box .table-01 .note {
	font-size: 1.4rem;
}

.price-box .table-01 .limit {
	font-size: 1.4rem;
	color: #1da1f2;
}

.price-box .cmp {
	padding-top: 20px;
}

.price-box .cmp > .flex {
	justify-content: center;
	margin: 50px 0 55px;
}

.price-box .cmp .box {
	width: calc( ( 100% - 80px ) / 3 );
	background: #fff8cc;
	text-align: center;
	padding: 0 30px 40px;
	margin-right: 40px;
}

.price-box .cmp .box:last-child,
.price-box .cmp .box:nth-child( 3n ) {
	margin-right: 0;
}

.price-box .cmp figure {
	width: 150px;
	height: 150px;
	background: #fff;
	line-height: .5;
	border: solid 3px #fff8cc;
	border-radius: 50%;
	margin: -10px auto 25px;
}

.price-box .cmp h4 {
	font-size: 2rem;
	font-weight: normal;
	line-height: 1.5;
}

.price-box .cmp .price {
	font-size: 2.6rem;
	line-height: 1.4;
	font-weight: bold;
	color: #ff9100;
	margin-bottom: 15px;
}

.price-box .cmp .box:nth-child( 3 ) .price {
	margin-top: 10px;
}

.price-box .cmp .price .num {
	font-size: 3.8rem;
}

.price-box .notice {
	margin: 50px 0 80px;
}

.cases-box {
	padding: 52px 0 91px;
}

.cases-box .ttl-01 .en {
	letter-spacing: .06em;
    padding: 0 79px;
}

.cases-box .ttl-01 h2 {
	letter-spacing: .04em;
	padding-top: 4px;
}

.cases-box .cases-list {
	margin-top: 36px;
	justify-content: space-between;
}

.cases-box .cases-item {
	width: 31.1667%;
}

.cases-box .cases-item figure {
	justify-content: center;
	margin-bottom: 4px;
}

.cases-box .cases-item .ttl {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .04em;
	text-align: center;
}

.cases-box .cases-item .txt {
	position: relative;
	margin-top: 30px;
    padding: 35px 40px;
	border-radius: 20px;
	background-color: #f7f7f7;
}

.cases-box .cases-item .txt::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-bottom: 25px solid #f7f7f7;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
}

.bnr-m {
	margin-bottom: 75px;
}

.outline-box {
	padding: 0 0 80px;
	padding-top: 5px;
}

.outline-box .ttl-01 {
	margin-bottom: 30px;
}

.outline-box .table-01 th {
	vertical-align: top;
}

.outline-box th {
	padding: 35px 30px;
}

.outline-box td {
	padding: 35px 40px;
}

.outline-box td .school {
	margin: 5px 0;
}

.outline-box tr:first-child td {
	padding: 25px 40px;
}

.outline-box td .right {
	padding-right: 80px;
}

.outline-box td .list-01 li {
	line-height: 2;
}

.outline-box td .more-link {
	margin-left: 8px;
}

.outline-box td ol .note-list {
	transform: translateY( -2px );
}

.outline-box td .txt-name {
	line-height: 2;
}

.outline-box td .txt-name + ul.note-list {
	letter-spacing: .6px;
}

.recommended-box .schedule-wrap {
	padding: 65px 0 75px;
	margin-top: -30px;
}

#floating-bnr {
	position: fixed;
	right: 20px;
	bottom: 0;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	border: solid 1px #ebf7ff;
	border-radius: 8px 8px 0 0;
	transform: translateY( calc( 100% - 60px ) );
	transition: all .4s;
}

#floating-bnr.show {
	opacity: 1;
	visibility: visible;
	z-index: 9999;
}

#floating-bnr.active {
	transform: translateY( 0 );
}

.fix-bnr h2 {
	border-bottom: solid 1px #ebf7ff;
}

.fix-bnr h2 a {
	display: block;
	background: #1da1f2;
	color: #fff;
	padding: 16px;
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
	border-radius: 8px 8px 0 0;
}

.fix-bnr h2 a::before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 19px;
	background: url( ../img/schedule/2x/icon-mail.png ) center center / contain no-repeat;
	vertical-align: middle;
	margin-right: 10px;
	transform: translateY( -2px );
}

.fix-bnr .bnr-set .bnr {
	padding: 14px 20px 10px 125px;
}

.fix-bnr .bnr-set .fix-bnr-course {
	border: solid 4px #1da1f2;
	background: url( ../img/schedule/2x/fix-bnr-course.png ) center left / cover no-repeat;
}

.fix-bnr .bnr-set .fix-bnr-online {
	border: solid 4px #ff9100;
	background: url( ../img/schedule/2x/fix-bnr-online.png ) center left / cover no-repeat;
}

.fix-bnr-course h3,
.fix-bnr-online h3 {
	font-size: 1.9rem;
	text-align: left;
	line-height: 27px;
	padding-left: 1.5rem;
	margin-bottom: 12px;
}

.fix-bnr-course h3 {
	background: url( ../img/schedule/2x/fix-bnr-course-h.png ) left center / 9px no-repeat;
}

.fix-bnr-online h3 {
	background: url( ../img/schedule/2x/fix-bnr-online-h.png ) left center / 9px no-repeat;
}

.fix-bnr .btn-01 {
	margin-top: 8px;
}

.fix-bnr .btn-01 a {
	display: inline-block;
	width: 150px;
	font-size: 1.5rem;
	line-height: 1.75;
	padding: 5px;
}

.fix-bnr-course .btn-01 a {
	color: #fff;
	background: #1da1f2 url( ../img/common/2x/arrow-06.png ) right 10px center / 7px no-repeat;
}

.fix-bnr-course .btn-01 + .btn-01 a {
	color: #1da1f2;
	background: #fff url( ../img/common/2x/arrow-05.png ) right 10px center / 7px no-repeat;
}

.fix-bnr-online .btn-01 a {
	color: #fff;
	background: #ff9100 url( ../img/common/2x/arrow-06.png ) right 10px center / 7px no-repeat;
	border: solid 2px #ff9100;
}

.fix-bnr-online .btn-01 + .btn-01 a {
	color: #ff9100;
	background: #fff url( ../img/common/2x/arrow-10.png ) right 10px center / 7px no-repeat;
}


/*
----------------------------------------
1600
----------------------------------------
*/

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

	.fix-bnr .bnr-set .bnr {
		padding: 12px 10px 10px 100px;
	}

}


/*
----------------------------------------
1200
----------------------------------------
*/

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

	.about-box .about-cont {
		padding: 0;
	}

	.about-box .about-cont.img {
		min-height: initial;
	}

	.about-box .about-cont.img .txt {
		margin-right: 45%;
	}

	.about-box .about-cont .txt .read {
		margin-top: 20px;
	}

	.about-box .about-cont.img .img-box {
		left: calc( 55% + 15px );
	}

	.online-box .box > .flex {
		padding: 60px 30px 40px;
	}

	.online-box .box figure.flex {
		width: 300px;
	}

	.online-box .box .txt {
		width: calc( 100% - 300px );
		padding-right: 30px;
	}

	.teacher-box .flex figure + .txt {
		padding: 0 0 10px 30px;
	}

	.price-box .cmp .box {
		width: calc( ( 100% - 30px ) / 3 );
		margin-right: 15px;
		padding: 0 10px 40px;
		font-size: 1.4rem;
	}

	.price-box .cmp h4 {
		font-size: 1.5rem;
	}

	.price-box .cmp .price {
		font-size: 2rem;
	}

	.price-box .cmp .price .num {
		font-size: 2.4rem;
	}

	.price-box .cmp .txt .sp {
		display: inline;
	}

	.cases-box .cases-item .txt {
		padding: 20px;
	}

	.outline-box td .right {
		padding-right: 0;
	}

	.online-box .box > .flex {
		flex-direction: column;
		position: relative;
	}

	.online-box .box figure.flex {
		margin: 0 auto 20px;
	}

	.online-box .box .btn-link {
		position: absolute;
		right: 0;
		bottom: 40px;
		left: 0;
	}

	.online-box .box .txt {
		width: 100%;
		padding: 0;
		margin-bottom: 60px;
	}

	.online-box .box + .box .txt {
		margin-bottom: 0;
	}

	.benefit-box .info .sp {
		display: inline;
	}

	.teacher-box .wrap > .flex {
		flex-direction: column;
	}

	.teacher-box .flex figure {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	.teacher-box .flex figure img {
		width: 450px;
	}

	.teacher-box .flex figure + .txt {
		width: 100%;
		padding: 0;
	}

	.fix-bnr-course h3, .fix-bnr-online h3 {
		font-size: 1.6rem;
	}

	.fix-bnr .btn-01 a {
		width: 130px;
	}

	.fix-bnr .bnr-set .bnr {
		padding: 10px 10px 10px 80px;
	}

	.reason-box .reason h3 {
		font-size: 2rem;
	}

	.reason-box .reason {
		width: calc( ( 100% - 40px ) / 3 );
		margin-right: 20px;
	}
}


/*
----------------------------------------
1000
----------------------------------------
*/

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

	#floating-bnr.show {
		opacity: 0;
		visibility: hidden;
		z-index: -9999;
	}

	.schedule-nav {
		box-shadow: 0 0 10px rgb( 0 0 0 / .1 );
	}

	.schedule-nav > div {
		width: 50%;
		text-align: center;
		padding: 1px 0 5px;
	}

	.schedule-nav.center > div {
		width: 100%;
	}

	.schedule-nav .course {
		background: #e8f5fe;
	}

	.schedule-nav .online {
		background: #fff8cc;
	}

	.schedule-nav h3 {
		font-size: 1.4rem;
		letter-spacing: -.1px;
		white-space: nowrap;
		margin-bottom: 1px;
	}

	.schedule-nav .flex {
		justify-content: space-between;
		padding: 0 3px;
	}

	.schedule-nav a {
		display: block;
		/* width: calc( ( 100% - 8px ) / 2 ); */
		flex: 1;
		margin: 0 3px;
		padding: 7px 10px 8px 0;
		font-size: 1.4rem;
	}

	.schedule-nav .course a:first-child {
		color: #fff;
		border: solid 1px #1da1f2;
		background: #1da1f2 url( ../img/common/arrow-06.png ) right 5px center / 6px no-repeat;
	}

	.schedule-nav .course a:last-child {
		color: #1da1f2;
		border: solid 1px #1da1f2;
		background: #fff url( ../img/common/arrow-05.png ) right 5px center / 6px no-repeat;
	}

	.schedule-nav .online a:first-child {
		color: #fff;
		border: solid 1px #ff9100;
		background: #ff9100 url( ../img/common/arrow-06.png ) right 5px center / 6px no-repeat;
	}

	.schedule-nav .online a:last-child {
		color: #ff9100;
		border: solid 1px #ff9100;
		background: #fff url( ../img/common/arrow-10.png ) right 5px center / 6px no-repeat;
	}

	.reason-box .reason .txt {
		padding: 15px;
	}

	.reason-box .reason h3 {
		font-size: 1.6rem;
	}

	.reason-box .reason .read {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}


/*
----------------------------------------
768
----------------------------------------
*/

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

	#contents .search-box {
		margin-top: 54px;
	}

	#contents .bnr-l {
		margin: 0 0 40px;
	}

	.about-box {
		padding: 30px 0 40px;
	}

	.about-box .about-cont {
		margin: 25px 0 0;
		padding: 20px 0 0;
	}

	.about-box .about-cont.img .txt {
		margin: 0;
		margin-top: 40vw;
		background: #fff;
		box-shadow: 0 0 10px rgb( 0, 0, 0, .1 );
		padding: 15px;
	}

	.about-box .about-cont.img .img-box {
		height: 48vw;
		bottom: auto;
		left: 13%;
		/* background: url( ../img/schedule/2x/about-img.png ) left top / cover no-repeat; */
	}

	.about-box .about-cont .heading-01 {
		letter-spacing: -.4px;
	}

	.about-box .about-cont .txt .read {
		margin-top: 0;
		letter-spacing: .4px;
	}

	.about-box .curriculum-header {
    padding: 44vw 0 0;
	}

	.reason-box .reason .txt.reason_01 {
		background-size: 20%;
	}

	.reason-box .reason .txt.reason_02 {
		background-size: 20%;
	}

	.reason-box .reason .txt.reason_03 {
		background-size: 20%;
	}

	.online-box {
		margin-bottom: 40px;
	}

	.online-box .heading-03 {
		margin-bottom: 20px;
	}

	.online-box .info {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}

	.online-box h4 {
		font-size: 2.2rem;
		margin-bottom: -20px;
	}

	.online-box .box > .flex {
		padding: 30px 15px 25px;
	}

	.online-box .box figure.flex {
		width: 100%;
		height: 120px;
		margin: 0 0 15px;
	}

	.online-box .box .txt .note {
		font-size: 1.2rem;
	}

	.online-box .box .btn-link {
		bottom: 25px;
	}

	.online-box .box + .box > .flex {
		padding-bottom: 25px;
	}

	.benefit-box {
		padding-bottom: 40px;
	}

	.benefit-box .info {
		font-size: 1.8rem;
		letter-spacing: 0;
		margin: 20px 0;
	}

	.teacher-box {
		margin-bottom: 30px;
	}

	.teacher-box .wrap > .flex {
		margin: 20px 0 0;
	}

	.teacher-box .flex figure {
		margin-bottom: 10px;
	}

	.teacher-box .heading-01 {
		margin-bottom: 10px;
	}

	.sample-box {
		padding: 0 0 60px;
	}

	.sample-box .heading-03 {
		margin-bottom: 30px;
	}

	section.price-box .heading-03 {
		margin-bottom: 30px;
	}

	.price-box .table-01.price {
		margin: 0;
	}

	.price-box .table-01.price th,
	.price-box .table-01.price td {
		height: initial;
	}

	.price-box .table-01.price td,
	.price-box .table-01.set-price td {
		text-align: left;
	}

	.price-box tbody td:last-of-type br {
		display: inline;
	}

	.price-box .cmp > .flex {
		margin: 30px 0 10px;
		flex-direction: column;
	}

	.price-box .cmp .box {
		width: auto;
		padding: 0 10px 25px;
		margin: 0 15px 30px;
	}

	.price-box .cmp .box:last-child,
	.price-box .cmp .box:nth-child( 3n ) {
		margin-right: 15px;
	}

	.price-box .cmp figure {
		margin: -10px auto 15px;
	}

	.price-box .cmp .price {
		margin-bottom: 10px;
	}

	.price-box .cmp .txt .sp {
		display: none;
	}

	.price-box .cmp .box:nth-child( 3 ) .price {
		margin: 0;
	}

	.price-box .table-01 th,
	.price-box .table-01 td {
		border-left: solid 1px #dbdbdb !important;
		border-right: solid 1px #dbdbdb !important;
	}

	.price-box .table-01 td {
		padding: 15px !important;
		border-bottom: solid 1px #dbdbdb !important;
	}

	.price-box .table-01.set-price th,
	.price-box .table-01.set-price td {
		height: initial;
	}

	.price-box .notice {
		margin: 20px 0 40px;
		padding: 40px 20px 15px;
	}

	.cases-box {
		padding: 25px 0;
	}
	
	.cases-box .ttl-01 .en {
		padding: 0 58px;
	}

	.cases-box .cases-list {
		margin-top: 25px;
	}

	.cases-box .cases-item {
		width: 100%;
		margin-bottom: 20px;
	}

	.cases-box .cases-item img {
		max-width: 248px;
		width: 50%;
	}

	.cases-box .cases-item .ttl {
		font-size: 18px;
	}

	.cases-box .cases-item .txt {
		margin-top: 22px;
		font-size: 14px;
	}

	.bnr-m {
		margin-bottom: 40px;
	}

	.outline-box {
		padding: 0 0 10px;
	}

	.outline-box th {
		padding: 15px 20px;
	}

	.outline-box td {
		padding: 15px;
		font-size: 1.6rem;
	}

	.outline-box tr:first-child td {
		padding: 15px 20px;
	}

	.outline-box td .more-link {
		letter-spacing: 0;
	}

	.recommended-box .schedule-wrap {
		padding: 20px 0 40px;
		margin-top: -15px;
	}

	.recommended-box .wrap {
		padding: 0;
	}

	.single footer .copyright {
		padding-bottom: 85px;
	}
	
	.reason-box .ttl-01 {
		margin-bottom: -20px;
	}

	.reason-box .ttl-01.ttl-2l {
		margin-bottom: -75px;
	}

	.reason-box .ttl-01.ttl-2l h2 {
		line-height: 1.4;
		margin-top: 0;
	}

	.reason-box .ttl-01 h2 span {
		display: inline-block;
		font-size: 1.8rem;
	}

	.reason-box .reason-list {
		padding: 40px 0 15px;
		margin-bottom: 30px;
	}

	.reason-box .ttl-01.ttl-2l + .reason-list {
		padding: 95px 0 15px;
	}

	.reason-box .reason-list .flex {
		flex-direction: column;
	}

	.reason-box .reason {
		width: 100%;
		margin: 0 0 20px;
	}

	.reason-box .reason .num {
		top: -10px;
		left: -10px;
	}

	.reason-box .reason h3 {
		font-size: 1.9rem;
	}

	.reason-box .reason .txt.reason_01 {
		background-size: 20%;
	}
	.reason-box .reason .txt.reason_02 {
		background-size: 20%;
	}
	.reason-box .reason .txt.reason_03 {
		background-size: 20%;
	}
}


/*
----------------------------------------
hover
----------------------------------------
*/

@media screen and ( min-width: 768px ) {

	.fix-bnr-course .btn-01 a:hover {
		background: #45b8ff url( ../img/common/2x/arrow-06.png ) right 8px center / 7px no-repeat;
		border-color: #45b8ff;
	}

	.fix-bnr-course .btn-01 + .btn-01 a:hover {
		background: #f5f5f5 url( ../img/common/2x/arrow-05.png ) right 8px center / 7px no-repeat;
	}

	.fix-bnr-online .btn-01 a:hover {
		border: solid 2px #ffa733;
		background: #ffa733 url( ../img/common/2x/arrow-06.png ) right 8px center / 7px no-repeat;
	}

	.fix-bnr-online .btn-01 + .btn-01 a:hover {
		background: #f5f5f5 url( ../img/common/2x/arrow-10.png ) right 8px center / 7px no-repeat
	}

}