@charset "utf-8";
/* [keyv] メインイメージ ----------*/
#keyv {
	position: relative;
	max-height: 600px;
	overflow: hidden;
	background: rgba(86,166,227,0.4);
}
#keyv > div {
	max-width: 1360px;
	margin: auto;
	text-align: center;
}
/* [swiper] ----------*/
#keyv .swiper-container {
	z-index: 1;
}
#keyv .swiper-pagination .swiper-pagination-bullet {
	margin: 0 10px !important;
	opacity: 1;
	border: 1px solid #FFF;
	background: none;
}
#keyv .swiper-pagination .swiper-pagination-bullet-active {
	background: #FFF;
}
/**/
#keyv .bg-swiper-container {
	position: absolute;
	top: 50%;
	z-index: 0;
	width: 100%;
	max-width: 100%;
	transform: translateY(-50%);
}
#keyv .bg-swiper-container img {
	width: 100%;
}
/* [sectInner] ----------*/
.sectInner {
	width: 100%;
	max-width: 1120px;
}
/* [newsBox] ----------*/
#newsBox {
	width: 100%;
	background: #FFF;
}
#newsBox .sectInner {
	display: flex;
	padding: 30px 0;
}
#newsBox .sectInner > div {
	min-width: 284px;
	padding: 0 30px;
	vertical-align: top;
	box-sizing: border-box;
}
/* [newsTtlBox] */
#newsBox .sectInner > div.newsTtlBox {
	position: relative;
	width: 270px;
	min-width: 270px;
	text-align: center;
	vertical-align: middle;
	border-right: 1px solid #DDD;
}
#newsBox .sectInner > div.newsTtlBox div {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	transform: translateY(-50%);
}
/**/
.newsTtlBox .btnMore01 span {
	display: none;
}
.newsTtlBox .btnMore01 a::before {
	content: "\f03a";
	font-family: FontAwesome;
}
/* [date] */
#newsBox .date {
	margin-bottom: 8px;
	line-height: 1.5;
}
/* [category] */
#newsBox .category {
	color: #FFF;
	display: inline-block;
	margin-right: 10px;
	padding: 0 20px;
	font-size: 1.2rem;
}
/**/
#newsBox .category.cat0 {
	background: #999;
}
#newsBox .category.cat1 {
	background: #83C470;
}
#newsBox .category.cat2 {
	background: #756BAF;
}
#newsBox .category.cat3 {
	background: #DB7CAB;
}
/* [sectCheckPoint] ----------*/
#sectCheckPoint {
	padding: 50px 0 30px;
}
/* [sectTtl_checkPt01] */
.sectTtl_checkPt01 {
	margin-bottom: 50px;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}
.sectTtl_checkPt01 span {
	color: #FFF;
	display: inline-block;
	width: 187px;
	margin-bottom: 0.3em;
	margin-left: 10px;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 2;
	vertical-align: middle;
	border-radius: 1em;
	background: #0E73D9;
}
/* [listCheck01] ----------*/
.listCheckPoint01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 1120px;
}
.listCheckPoint01 li {
	counter-increment: count-number;
	position: relative;
	width: calc(25% - 10px);
	max-width: 250px;
	margin-bottom: 30px;
	overflow: hidden;
	text-align: center;
}
/*----*/
.listCheckPoint01 a {
	display: block;
}
/* [ttl] */
.listCheckPoint01 li .ttl {
	color: #FFF;
	position: absolute;
	right: 0;
	left: 0;
	height: 100%;
	max-height: 182px;
}
.listCheckPoint01 li:nth-of-type(2n+1) .ttl {
	bottom: 0;
}
.listCheckPoint01 li:nth-of-type(2n) .ttl {
	top: 0;
}
/**/
.listCheckPoint01 li .ttl::before {
	color: rgba(255,255,255,0.5);
	content: counter(count-number, decimal-leading-zero);
	position: absolute;
	z-index: 2;
	font-family: "Oswald", sans-serif;
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1.3;
}
.listCheckPoint01 li:nth-of-type(2n+1) .ttl::before {
	top: 20px;
	left: 10px;
}
.listCheckPoint01 li:nth-of-type(2n) .ttl::before {
	right: 10px;
	bottom: 20px;
}
/* [ttlBg] */
.listCheckPoint01 li .ttlBg {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	z-index: 0;
	min-height: 300px;
	overflow: hidden;
	background: #0E73D9;
	transform: skewY(20deg);
}
.listCheckPoint01 li:nth-of-type(2n+1) .ttlBg {
	top: 0;
	transform-origin: 0 100%;
}
.listCheckPoint01 li:nth-of-type(2n) .ttlBg {
	bottom: 0;
	transform-origin: 100% 0;
}
/**/
.listCheckPoint01 li .ttlBg::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 50px;
	background: #0D5FB9;
	transform: skewY(-20deg) rotate(-20deg);
}
.listCheckPoint01 li:nth-of-type(2n+1) .ttlBg::before {
	top: 0%;
	left: -100px;
	transform-origin: 50% 0;
}
.listCheckPoint01 li:nth-of-type(2n) .ttlBg::before {
	bottom: 0%;
	right: -100px;
	transform-origin: 50% 100%;
}
/**/
.listCheckPoint01 li .ttlBg::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 0;
	background: #0D5FB9;
	transition: width 0.3s;
}
.listCheckPoint01 li a:hover .ttlBg::after {
	width: 100%;
}
/*----*/
.listCheckPoint01 li .ttl span {
	position: absolute;
	top: 45%;
	left: 0;
	z-index: 1;
	width: 100%;
	font-size: 2rem;
	line-height: 1.3;
}
.listCheckPoint01 li:nth-of-type(2n) .ttl span {
	top: 13%;
}
.listCheckPoint01 li .ttl span::before,
.listCheckPoint01 li .ttl span::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	transition: all 0.3s;
}
.listCheckPoint01 li .ttl span::before {
	width: 74px;
	margin-bottom: 3px;
	margin-left: -37px;
	border-bottom: 2px solid #FFF;
}
.listCheckPoint01 li .ttl span::after {
	margin-left: 33px;
	border: 4px solid transparent;
	border-left: 8px solid #FFF;
}
.listCheckPoint01 li a:hover .ttl span::before {
	margin-left: -27px;
}
.listCheckPoint01 li a:hover .ttl span::after {
	margin-left: 43px;
}
/* [sectWorks] ----------*/
#sectWorks {
	width: 100%;
	padding: 70px 0;
	background: #FFF;
}
/* [lead] */
#sectWorks .lead {
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	font-feature-settings: "palt" 1;
}
#sectWorks .lead + p {
	margin-bottom: 40px;
	text-align: center;
}
/* [sectTtl_works] ----------*/
.sectTtl_works01 {
	position: relative;
	margin-bottom: 50px;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}
.sectTtl_works01 span {
	position: absolute;
	bottom: -2em;
	left: 50%;
	font-size: 1.4rem;
	font-weight: normal;
	transform: translateX(-50%);
}
.sectTtl_works01 span::before,
.sectTtl_works01 span::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 70px;
	height: 2px;
	background: #333;
	transform: translateY(-50%);
}
.sectTtl_works01 span::before {
	right: calc(100% + 10px);
}
.sectTtl_works01 span::after {
	left: calc(100% + 10px);
}
/* [listWorks] ----------*/
#sectWorks .listWorks01 {
	display: flex;
	justify-content: space-between;
}
#sectWorks .listWorks01 li {
	width: 31%;
}
/**/
#sectWorks .listWorks01 a {
	display: block;
}
/**/
#sectWorks .listWorks01 img {
	transition: opacity 0.3s;
}
#sectWorks .listWorks01 a:hover img {
	opacity: 0.8;
}
/**/
#sectWorks .listWorks01 p + p {
	position: relative;
	margin-top: 20px;
	font-size: 2.4rem;
	text-align: center;
}
#sectWorks .listWorks01 p + p::before,
#sectWorks .listWorks01 p + p::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	transition: all 0.3s;
}
#sectWorks .listWorks01 p + p::before {
	width: 74px;
	margin-bottom: 3px;
	margin-left: -37px;
	border-bottom: 2px solid #0E73D9;
}
#sectWorks .listWorks01 p + p::after {
	margin-left: 33px;
	border: 4px solid transparent;
	border-left: 8px solid #0E73D9;
}
#sectWorks .listWorks01 a:hover p + p::before {
	margin-left: -27px;
}
#sectWorks .listWorks01 a:hover p + p::after {
	margin-left: 43px;
}
/* [sectLecture] ----------*/
#sectLecture {
}
/* [leadBox] */
#sectLecture .leadBox {
	width: 100%;
	padding: 80px 0;
	background: url(/img/index/bg_lecture01.jpg) no-repeat 0 0;
	background-size: cover;
}
/* [sectTtl_lecture] ----------*/
.sectTtl_lecture01 {
	margin-bottom: 20px;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}
.sectTtl_lecture01 + p {
	text-align: center;
}

#sectLecture .leadBox + li {
	font-size: 2rem;
}

.kasen_move a{
	display: inline-block;
	position: relative;
	color: #555;
 	text-decoration: none;
}

.kasen_move a:before{
	content: "";
	position: absolute;
	 left: 0;
	bottom: -4px;
	width: 100%;
	height: 3px;
	background: #555;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}

.kasen_move a:hover:before {
	transform: scale(1);
}



/* [lectureContactBox] ----------*/
.lectureContactBox_base {
	position: relative;
	background: rgb(145, 144, 144);
}
.lectureContactBox {
	color: #FFF;
	position: absolute;
	top: 50%;
	z-index: 1;
	width: 100%;
	text-align: center;
	transform: translateY(-50%);
}
.lectureContactBox > * {
	display: inline-block;
	vertical-align: top;
}
.lectureContactBox div {
	margin-left: 20px;
	line-height: 1.3;
}
.lectureContactBox .tel {
	font-size: 3.3rem;
	font-weight: bold;
	letter-spacing: 0.5rem;
}
.lectureContactBox .btnType01 {
	font-size: 1.8rem;
	line-height: 50px;
}
/* [loopSlider] ----------*/
.loopSliderWrap {
	top: 0;
	left: 0;
	height: 227px;
	overflow: hidden;
	position: absolute;
}
.loopSlider {
	margin: 0 auto;
	width: 100%;
	height: 227px;
	text-align: left;
	position: relative;
	overflow: hidden;
}
.loopSlider ul {
	height: 227px;
	float: left;
	overflow: hidden;
}
.loopSlider ul li {
	width: 227px;
	height: 227px;
	float: left;
	display: inline;
	overflow: hidden;
}
/* [sectWelfare] ----------*/
#sectWelfare {
	padding: 50px 0;
	background: #FFF;
}
/* [sectTtl_welfare] ----------*/
.sectTtl_welfare01 {
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 2.7rem;
	font-weight: bold;
	text-align: center;
}
.sectTtl_welfare01 + p {
	margin-bottom: 30px;
	font-size: 1.7rem;
	text-align: center;
}
/* [sectOthers] ----------*/
#sectOthers {
	padding-bottom: 80px;
	background: #FFF;
}
/* [otherBox01] ----------*/
.otherBox01 + .otherBox01 {
	margin-top: 60px;
}
/* [sectInner] */
.otherBox01 .sectInner {
	position: relative;
	z-index: 0;
	display: flex;
	padding: 35px 0;
}
.otherBox01 .sectInner::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: -1;
	width: 62.5%;
	background: #EEE;
}
.otherBox01:nth-of-type(2n) .sectInner::before {
	right: 0;
}
/* [txtBox] */
.otherBox01 .txtBox {
	max-width: 500px;
}
.otherBox01:nth-of-type(2n+1) .txtBox {
	padding: 0 50px 0 40px;
}
.otherBox01:nth-of-type(2n) .txtBox {
	order: 1;
	padding: 0 40px 0 50px;
}
/* [ttl] */
.otherBox01 .ttl {
	color: #0E73D9;
	margin-bottom: 30px;
	font-family: "Oswald", sans-serif;
	font-size: 5.8rem;
	font-weight: 300;
	line-height: 0.8;
	text-transform: uppercase;
}
/* [lead] */
.otherBox01 .lead {
	margin-bottom: 10px;
	font-size: 2rem;
	font-weight: bold;
}
.otherBox01 .lead + p {
	margin-bottom: 20px;
	line-height: 1.8;
}
/* [loading] ----------*/
#pageHome #container {
	opacity: 0;
}
#pageHome #container.active {
	opacity: 1;
}
/**/
#loadingBox {
	position: fixed;
	top: -50%;
	right: -50%;
	bottom: -50%;
	left: -50%;
	z-index: 1000;
	background: #FFF;
}
#loadingBox .loading {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	width: 50vw;
	max-width: 468px;
	margin: auto;
	opacity: 0;
	transform: translateY(-50%);
	-webkit-animation: fadeIn 5s linear 0s 1 forwards;
	animation: fadeIn 5s linear 0s 1 forwards;
}
@-webkit-keyframes fadeIn {
	0% { opacity: 0; }
	40% { opacity: 1; }
	100% { opacity: 1; }
}
@keyframes fadeIn {
	0% { opacity: 0; }
	40% { opacity: 1; }
	100% { opacity: 1; }
}
/*
#loadingBox .loading::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	width: 100%;
	height: calc(100% - 28%);
	background: rgba(255,255,255,0.8);
}
*/
@media only screen and (min-device-width:768px) and (max-device-width:1120px) {
/* [sectInner] ----------*/
	.sectInner {
		padding-right: 15px;
		padding-left: 15px;
		box-sizing: border-box;
	}
/* [newsBox] ----------*/
	#newsBox .sectInner > div {
		min-width: 25%;
	}
/* [newsTtlBox] */
	#newsBox .sectInner > div.newsTtlBox {
		width: 220px;
		min-width: 220px;
	}
}
@media screen and (max-width:768px) {
/* [keyv] メインイメージ ----------*/
	#keyv {
		position: relative;
		height: 300px;
		overflow: hidden;
		background: rgba(86,166,227,0.4);
	}
	#keyv > div {
		max-width: 1360px;
		height: 300px;
		margin: auto;
	}
	#keyv img {
		height: 300px;
	}
/* [swiper] ----------*/
	#keyv .swiper-container {
		z-index: 1;
	}
	#keyv .swiper-pagination .swiper-pagination-bullet {
		margin: 0 10px !important;
		opacity: 1;
		border: 1px solid #FFF;
		background: none;
	}
	#keyv .swiper-pagination .swiper-pagination-bullet-active {
		background: #FFF;
	}
/**/
	#keyv .bg-swiper-container {
		position: absolute;
		top: 50%;
		z-index: 0;
		width: 100%;
		max-width: 100%;
		transform: translateY(-50%);
	}
	#keyv .bg-swiper-container img {
		width: 100%;
	}
/* [sectInner] ----------*/
	.sectInner {
		width: 100%;
		max-width: 1120px;
	}
/* [newsBox] ----------*/
	#newsBox {
		width: 100%;
		background: #FFF;
	}
	#newsBox .sectInner {
		display: flex;
		padding: 15px 0;
	}
	#newsBox .sectInner > div {
		min-width: calc(100vw - 75px);
		padding: 0 15px;
		vertical-align: top;
		box-sizing: border-box;
	}
	#newsBox .sectInner > div.newsTtlBox ~ div {
		display: none;
	}
	#newsBox .sectInner > div.newsTtlBox + div {
		display: block;
	}
/* [newsTtlBox] */
	#newsBox .sectInner > div.newsTtlBox {
		position: relative;
		width: 75px;
		min-width: 75px;
	}
/**/
	.newsTtlBox .btnMore01 span {
		display: none;
	}
	.newsTtlBox .btnMore01 a::before {
		content: "\f03a";
		font-family: FontAwesome;
	}
/* [date] */
	#newsBox .date {
		margin-bottom: 5px;
		font-size: 1rem;
		line-height: 1.5;
	}
/* [category] */
	#newsBox .category {
		padding: 0 10px;
		font-size: 1rem;
	}
/* [sectCheckPoint] ----------*/
	#sectCheckPoint {
		padding: 25px 0 15px;
	}
/* [sectTtl_checkPt01] */
	.sectTtl_checkPt01 {
		margin-bottom: 20px;
		font-size: 1.8rem;
	}
	.sectTtl_checkPt01 span {
		width: auto;
		margin-bottom: 0.3em;
		margin-left: 10px;
		padding: 0 20px;
		font-size: 1rem;
	}
/* [listCheck01] ----------*/
	.listCheckPoint01 {
		width: 100%;
		max-width: 100vw;
		padding: 0 15px;
		box-sizing: border-box;
	}
	.listCheckPoint01 li {
		width: calc(50% - 10px);
		max-width: none;
		margin-bottom: 20px;
	}
/*----*/
	.listCheckPoint01 a {
		display: block;
		overflow: hidden;
	}
/* [ttl] */
	.listCheckPoint01 li .ttl {
		z-index: 1;
		height: 50%;
		max-height: 182px;
	}
/**/
	.listCheckPoint01 li .ttl::before {
		font-family: "Oswald", sans-serif;
		font-size: 1rem;
	}
	.listCheckPoint01 li:nth-of-type(2n+1) .ttl::before {
		top: 10px;
		left: 5px;
	}
	.listCheckPoint01 li:nth-of-type(2n) .ttl::before {
		right: 5px;
		bottom: 10px;
	}
/* [ttlBg] */
	.listCheckPoint01 li .ttlBg::before {
		height: 30px;
	}
/**/
	.listCheckPoint01 li .ttlBg::after {
		content: none;
	}
/*----*/
	.listCheckPoint01 li .ttl span {
		font-size: 1.3rem;
	}
	.listCheckPoint01 li .ttl span::before,
	.listCheckPoint01 li .ttl span::after {
		bottom: -15px;
		left: 50%;
		transition: none;
	}
	.listCheckPoint01 li .ttl span::before {
		width: 36px;
		margin-bottom: 2px;
		margin-left: -18px;
		border-bottom: 2px solid #FFF;
	}
	.listCheckPoint01 li .ttl span::after {
		margin-left: 17px;
		border: 3px solid transparent;
		border-left: 6px solid #FFF;
	}
	.listCheckPoint01 li a:hover .ttl span::before {
		margin-left: -18px;
	}
	.listCheckPoint01 li a:hover .ttl span::after {
		margin-left: 17px;
	}
/* [sectWorks] ----------*/
	#sectWorks {
		width: 100%;
		padding: 25px 0 40px;
		background: #FFF;
	}
	#sectWorks .sectInner {
		padding: 0 15px;
		box-sizing: border-box;
	}
/* [lead] */
	#sectWorks .lead {
		margin-bottom: 10px;
		font-size: 1.4rem;
	}
	#sectWorks .lead + p {
		margin-bottom: 20px;
		text-align: left;
	}
/* [sectTtl_works] ----------*/
	.sectTtl_works01 {
		position: relative;
		margin-bottom: 25px;
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
	}
	.sectTtl_works01 span {
		bottom: -1.5em;
		font-size: 1rem;
	}
	.sectTtl_works01 span::before,
	.sectTtl_works01 span::after {
		width: 35px;
		height: 1px;
	}
/* [listWorks] ----------*/
	#sectWorks .listWorks01 img {
		transition: none;
	}
	#sectWorks .listWorks01 a:hover img {
		opacity: 1;
	}
/**/
	#sectWorks .listWorks01 p + p {
		margin-top: 10px;
		font-size: 1.2rem;
		line-height: 1.3;
	}
	#sectWorks .listWorks01 p + p::before,
	#sectWorks .listWorks01 p + p::after {
		content: "";
		position: absolute;
		bottom: -15px;
		left: 50%;
		transition: none;
	}
	#sectWorks .listWorks01 p + p::before {
		width: 36px;
		margin-bottom: 2px;
		margin-left: -18px;
		border-bottom: 2px solid #0E73D9;
	}
	#sectWorks .listWorks01 p + p::after {
		margin-left: 17px;
		border: 3px solid transparent;
		border-left: 6px solid #0E73D9;
	}
	#sectWorks .listWorks01 a:hover p + p::before {
		margin-left: -18px;
	}
	#sectWorks .listWorks01 a:hover p + p::after {
		margin-left: 17px;
	}
/* [sectLecture] ----------*/
/* [leadBox] */
	#sectLecture .leadBox {
		padding: 25px 15px;
		box-sizing: border-box;
	}
/* [sectTtl_lecture] ----------*/
	.sectTtl_lecture01 {
		margin-bottom: 10px;
		font-size: 1.5rem;
		text-align: left;
	}
	.sectTtl_lecture01 + p {
		text-align: left;
	}
/* [lectureContactBox] ----------*/
	.lectureContactBox > * {
		display: block;
	}
	.lectureContactBox div {
		margin-top: 5px;
		margin-left: 0;
		line-height: 1.3;
	}
	.lectureContactBox .tel {
		font-size: 2.2rem;
		letter-spacing: 0.4rem;
	}
	.lectureContactBox .btnType01 {
		font-size: 1.2rem;
		line-height: 35px;
	}
/* [loopSlider] ----------*/
	.loopSliderWrap {
		height: 140px;
	}
	.loopSlider {
		height: 140px;
	}
	.loopSlider ul {
		height: 140px;
	}
	.loopSlider ul li {
		width: 140px;
		height: 140px;
	}
/* [sectWelfare] ----------*/
	#sectWelfare {
		padding: 20px 15px;
	}
/* [sectTtl_welfare] ----------*/
	.sectTtl_welfare01 {
		margin-top: 15px;
		margin-bottom: 10px;
		font-size: 1.5rem;
		text-align: left;
	}
	.sectTtl_welfare01 + p {
		margin-bottom: 20px;
		font-size: inherit;
		text-align: left;
	}
/* [sectOthers] ----------*/
	#sectOthers {
		padding: 0 15px 20px;
	}
/* [otherBox01] ----------*/
	.otherBox01 + .otherBox01 {
		margin-top: 20px;
	}
/* [sectInner] */
	.otherBox01 .sectInner {
		position: relative;
		z-index: 0;
		display: block;
		padding: 20px;
		box-sizing: border-box;
	}
	.otherBox01 .sectInner::before {
		bottom: 25%;
		left: 0;
		width: 100%;
		background: #EEE;
	}
	.otherBox01:nth-of-type(2n) .sectInner::before {
		right: auto;
	}
/* [txtBox] */
	.otherBox01 .txtBox {
		max-width: none;
	}
	.otherBox01:nth-of-type(2n+1) .txtBox,
	.otherBox01:nth-of-type(2n) .txtBox {
		padding: 0 0 20px;
	}
/* [ttl] */
	.otherBox01 .ttl {
		margin-bottom: 15px;
		font-size: 3rem;
	}
/* [lead] */
	.otherBox01 .lead {
		margin-bottom: 10px;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.otherBox01 .lead + p {
		margin-bottom: 20px;
		line-height: 1.5;
	}
/* [btnType01] */
	.otherBox01 .btnType01 {
		min-width: 170px;
	}
}


