@charset "UTF-8";
/*----------------------------------------------
formatting styles
----------------------------------------------*/
body {
	font-family: "Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	color: #333;
	font-size: 1.3em;/* =13px */
	line-height: 1.6;
}
@media screen and (max-width:767px) {
	body {
		word-break: break-all;
		-webkit-text-size-adjust: 100%;
	}
	th, td {
		word-break: break-all;
	}
}

/*----------------------------------------------
box-sizing
----------------------------------------------*/
html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}

/* ----------------------------------------------
他既存ページとの調整
----------------------------------------------*/
/* mainのfont-sizeを元に戻す */
main {
    font-size: 100%;
}
/* #news関連 */
#news {
    margin-bottom: 0;
}
#news h2 {
    color: #9e0e84;
    background: transparent;
    padding-left: 20px;
    min-height: 0;
    line-height: 120%;
}
#news li .date {
    font-weight: normal;
}

/* ----------------------------------------------
header
----------------------------------------------*/
header {
	position:relative;
	padding-bottom: 61px;
}
.langSelect {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}
@media all and (min-width: 768px) {
	header {
		padding-bottom: 0;
		min-width: 1000px;
	}
	.langSelect {
		width: 297px;
		position: relative;
		left: auto;
		bottom: auto;
	}
}

/* ----------------------------------------------
nav
----------------------------------------------*/
#pcNav {
	border-bottom: 1px solid #B3B3B3;
	background: url(../img/nav-menu-back@2x.png) center top repeat;
	background-size: 56px auto;
}
#pcNav ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	#pcNav {
		border-top: 1px solid #B3B3B3;
	}
	#pcNav li {
		width: 33%;
		width: calc( 100% / 3);
		border-right: 1px solid #cccccc;
	}
	#pcNav li:nth-last-child(n+4) {
		border-bottom: 1px solid #cccccc;
	}
	#pcNav li:nth-child(3n) {
		border-right: none;
	}
	#pcNav li a {
		width: 100%;
		height: 100%;
		min-height: 60px;
		display: block;
		padding: 13px 7px 11px 7px;
		color: #333;
		font-size: 1.3rem;
		line-height: 140%;
		text-decoration: none;
		text-align: center;
		display: -webkit-flex;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
@media all and (min-width: 768px) {
	#pcNav {
		background: url(../img/nav-menu-back.png) center top repeat;
	}
	#pcNav ul {
		width: 980px;
		margin: 0 auto;
		flex-wrap: nowrap;
	}
	#pcNav li {
		width: 143px;
		position: relative;
		padding: 5px 0;
	}
	#pcNav li:nth-child(2) {
		width: 208px;
	}
	#pcNav li:nth-child(3) {
		width: 164px;
	}
	#pcNav li:nth-child(4) {
		width: 178px;
	}
	#pcNav li:nth-child(6) {
		width: 144px;
	}
	#pcNav li::before {
		content: "";
		width: 1px;
		height: 30px;
		margin: auto;
		display: block;
		background-color: #CCCCCC;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
	}
	#pcNav li:last-child::before {
		display: none;
	}
	#pcNav li a {
		width: 100%;
		height: 100%;
		min-height: 54px;
		padding: 12px 5px 10px 5px;
		justify-content: center;
		display: -webkit-flex;
		display: flex;
		align-items: center;
		color: #333;
		font-size: 1.6rem;
		line-height: 120%;
		text-align: center;
		text-decoration: none;
		position: relative;
	}
	#pcNav li a:hover {
		color: #fff;
		z-index: 1;
	}
	#pcNav li a:hover::before {
		content: "";
		width: 94%;
		height: 100%;
		margin: auto;
		display: block;
		background-color: #9E0E84;
		opacity: 0.5;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: -1;
	}
	#pcNav li br.spOn {
		display: none;
	}
}
/* ----------------------------------------------
header News
----------------------------------------------*/
.headerNews {
	margin-top: 8px;
	border-top: 1px solid #9e0e84;
	border-bottom: 1px solid #9e0e84;
	position: relative;
}
.headerNews a {
	width: 100%;
	display: block;
	color: #333;
	text-decoration: none;
}
.headerNews span {
	display: block;
}
.headerNews .newIcon {
	width: 48px;
	position: absolute;
	z-index: 1;
	top: -3px;
	left: 3px;
}
.headerNews .newBox {
	width: 100%;
	height: auto;
	margin: 0 auto;
	border: none;
	position: relative;
	padding: 3px 0;
	display: flex;
	background-color: #fff;
}
.headerNews .left {
	width: 128px;
	border-right: 1px dashed #9e0e84;
}
.headerNews .date {
	width: 118px;
	text-align: right;
	font-size: 1.1rem;
	line-height: 100%;
	font-weight: normal;
	padding: 3px 0 3px 0;
}
.headerNews .cate {
	width: 74px;
	height: 19px;
	padding-top: 5px;
	margin-left: 44px;
	text-align: center;
	color: #fff;
	font-size: 1.1rem;
	line-height: 100%;
	font-weight: bold;
}
.headerNews .info {
	background-color: #A0399F;
}
.headerNews .event {
	background-color: #00A89C;
}
.headerNews .kaigofukushi {
	background-color: #FF9744;
}
.headerNews .kouku {
	background-color: #F682AD;
}
.headerNews .shinkyu {
	background-color: #00A551;
}
.headerNews .jyusei {
	background-color: #00ADCE;
}
.headerNews .jpn {
	background-color: #FE6A66;
}
.headerNews .int {
	background-color: #92425A;
}
.headerNews .text {
	width: auto;
	width: calc(100% - 125px);
	padding: 2px 5px 0 7px;
	font-size: 1.4rem;
	line-height: 130%;
	display: flex;
	align-items: center;
	word-break: break-all;
}

@media all and (min-width: 768px) {
	.headerNews {
		width: 292px;
		margin-top: 0;
		position: absolute;
		top: 12px;
		right: 494px;
		border-top: none;
		border-bottom: none;
	}
	.headerNews a:hover {
		opacity: 0.7;
	}
	.headerNews .newIcon {
		top: -6px;
		left: -12px;
	}
	.headerNews .newBox {
		width: 280px;
		height: 64px;
		border: 1px solid #9e0e84;
	}
	.headerNews .newBox::before {
		content:"";
		position: absolute;
		top: 22px;
		right: -13px;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 13px solid #9e0e84;
	}
	.headerNews .newBox::after {
		content:"";
		position: absolute;
		top: 23px;
		right: -12px;
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 12px solid #fff;
	}
	.headerNews .left {
		width: 87px;
	}
	.headerNews .date {
		width: 82px;
		text-align: center;
		padding: 16px 0 5px 6px;
	}
	.headerNews .cate {
		height: 20px;
		margin-left: 6px;
	}
	.headerNews .text {
		width: 180px;
		font-size: 1.4rem;
		line-height: 130%;
		
	}
}


/* ----------------------------------------------
mainVisual
----------------------------------------------*/
#mainVisual {
	height: 390px;
	background: url(../top-img/main-sp.jpg) center center no-repeat;
	background-size: 780px auto;
}
#mainVisual img {
	display: none;
}
@media all and (min-width: 768px) {
	#mainVisual {
		min-width: 980px;
		height: 460px;
		background: url(../top-img/main.jpg) center center no-repeat;
		background-size: 100% auto;
	}
}

#main-visual .swiper-slide{
	height: 390px;
	background: url(../top-img/main-sp.jpg) center center no-repeat;
	background-size: cover;
}
#main-visual .swiper-slide.slide01{background-image: url("../top-img/main01.jpg");}
#main-visual .swiper-slide.slide02{background-image: url("../top-img/main02.jpg");}
#main-visual .swiper-slide.slide03{background-image: url("../top-img/main03.jpg");}

@media all and (min-width: 768px) {
	#main-visual .swiper-slide{
		height: 460px;
		background: url(../top-img/main-sp.jpg) center center no-repeat;
		background-size: cover;
	}
}

/* ----------------------------------------------
course
----------------------------------------------*/
#course {
	padding-top: 60px;
}
#course ul {
	list-style: none;
}
#course li {
	padding: 6px 0;
	border-bottom: 1px dashed #ccc;
}
#course li:last-child {
	border-bottom: none;
}
#course li a {
	width: 100%;
	display: block;
	border-top: 5px solid #FE5953;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	line-height: 130%;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-decoration: none;
}
#course li:nth-child(2) a {
	border-top: 5px solid #92425A;
}
#course li:nth-child(3) a {
	border-top: 5px solid #FF9744;
}
#course li .photo {
	width: 100%;
	display: block;
}
#course li .photo img {
	max-width: 100%;
}
#course li .text {
	width: 100%;
	display: block;
	padding: 16px 10px 14px 10px;
	background: url(../top-img/course-jap-back@2x.png) center top repeat;
	background-size: 56px auto;
}
#course li:nth-child(2)  .text {
	background: url(../top-img/course-int-back@2x.png) center top repeat;
}
#course li:nth-child(3)  .text {
	background: url(../top-img/course-kaigo-back@2x.png) center top repeat;
}
@media screen and (max-width: 340px) {
	#course li a {
		letter-spacing: 0;
	}
}
@media all and (min-width: 768px) {
	#course {
		padding-top: 20px;
		padding-bottom: 0;
	}
	#course ul {
		width: 980px;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
	}
	#course li {
		width: 329px;
		padding: 0 5px 0 4px;
		border-bottom: none;
		border-left: 1px dashed #ccc;
	}
	#course li:first-child {
		width: 325px;
		padding-left: 0;
		border-left: none;
	}
	#course li .text {
		padding: 20px 10px 18px 10px;
		background: url(../top-img/course-jap-back.png) center top repeat;
	}
	#course li:nth-child(2)  .text {
		background: url(../top-img/course-int-back.png) center top repeat;
		font-size: 1.9rem;
		letter-spacing: 0;
	}
	#course li:nth-child(3)  .text {
		background: url(../top-img/course-kaigo-back.png) center top repeat;
	}
	#course a:hover {
		opacity: 0.7;
	}
}

/* ----------------------------------------------
news&News
----------------------------------------------*/
#news {
	padding: 60px 0 70px 0;
	border-bottom: 1px solid #B3B3B3;
}
#news h2 {
	width: 100%;
	padding-left: 20px;
	padding-bottom: 27px;
	color: #9e0e84;
	font-size: 2.8rem;
	line-height: 120%;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
}
#news h2 .en {
	width: 100%;
	display: block;
	padding-top: 10px;
	padding-bottom: 7px;
	font-size: 1.2rem;
	line-height: 100%;
	font-weight: normal;
	letter-spacing: 0.03em;
	position: relative;
}
#news h2 .en::before {
	width: 60px;
	height: 2px;
	content: "";
	background-color: #9e0e84;
	position: absolute;
	left: 0;
	bottom: 0;
}
#news ul {
	list-style-type: none;
	padding-bottom: 33px;
}
#news li {
	border-bottom: 1px dashed #cccccc;
}
#news li:last-child {
	border-bottom: none;
}
#news li a {
	width: 100%;
	padding-top: 20px;
	padding-bottom: 18px;
	display: flex;
	flex-wrap: wrap;
	text-decoration: none;
}
#news li .date {
	width: 120px;
	padding-top: 8px;
	padding-left: 20px;
	color: #333;
	font-size: 1.3rem;
	line-height: 100%;
	letter-spacing: 0.03em;
}
#news li .cate {
	width: 80px;
	height: 26px;
	padding-top: 8px;
	padding-bottom: 7px;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	line-height: 100%;
	letter-spacing: 0.03em;
	font-weight: bold;
	overflow: hidden;
}
#news li .info {
	background-color: #A0399F;
}
#news li .event {
	background-color: #00A89C;
}
#news li .kaigofukushi {
	background-color: #FF9744;
}
#news li .kouku {
	background-color: #F682AD;
}
#news li .shinkyu {
	background-color: #00A551;
}
#news li .jyusei {
	background-color: #00ADCE;
}
#news li .jpn {
	background-color: #FE6A66;
}
#news li .int {
	background-color: #92425A;
}
#news li .entryTitle {
	width: 100%;
	padding: 13px 20px 0px 20px;
	color: #1a1a1a;
	font-size: 1.5rem;
	line-height: 150%;
}
#news .moreBtn {
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
}
#news .moreBtn a {
	width: 100%;
	height: 60px;
	padding-top: 21px;
	display: block;
	border: 1px solid #e6d2f0;
	background-image: url(../top-img/news-more-arrow@2x.png);
	background-size: 24px auto;
	background-repeat: no-repeat;
	background-position: right center;
	color: #9e0e84;
	font-size: 1.8rem;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
}

@media all and (min-width: 768px) {
	#news {
		padding: 58px 0 70px;
	}
	#news .inner {
		width: 980px;
		margin: 0 auto;
	}
	#news h2 {
		font-size: 3.2rem;
		line-height: 120%;
	}
	#news h2 .en {
		font-size: 1.3rem;
		line-height: 100%;
	}
	#news li a {
		padding-top: 18px;
		padding-bottom: 14px;
		flex-wrap: nowrap;
	}
	#news li .date {
		padding-left: 22px;
	}
	#news li .entryTitle {
		width: 740px;
		padding: 3px 0px 0px 60px;
	}
	#news li a:hover {
		opacity: 0.7;
	}
	#news .moreBtn {
		width: 355px;
		padding-left: 0;
		padding-right: 0;
		margin-right: auto;
		margin-left: auto;
	}
	#news .moreBtn a {
		width: 355px;
		height: 60px;
		background-image: url(../top-img/news-more-arrow.png);
	}
	#news .moreBtn a:hover {
		opacity: 0.7;
	}
}
/* ----------------------------------------------
sns
----------------------------------------------*/
#sns {
	border-bottom: 1px solid #B3B3B3;
	padding: 3px 0;
}
#sns h2 {
	display: block;
	height: 100px;
	padding-top: 22px;
	background: url(../top-img/sns-back@2x.png) center top repeat; 
	background-size: 56px auto;
	text-align: center;
	color: #8C50AA;
	font-size: 2.8rem;
	line-height: 120%;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
}
#sns h2 .en {
	display: block;
	padding-top: 8px;
	padding-bottom: 7px;
	font-size: 1.2rem;
	line-height: 100%;
	font-weight: normal;
	letter-spacing: 0.03em;
}
#sns h2::before {
	content: "";
	display: block;
	width: 50%;
	height: 36px;
	background:
		linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}
#sns h2::after {
	content: "";
	display: block;
	width: 50%;
	height: 36px;
	background:
		linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
	position: absolute;
	right: 0;
	bottom: 0;
}
#sns ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	justify-content: center;
	padding: 25px 7px 15px 8px;
}
#sns li {
	width: 33%;
	width: calc(100% / 3);
	text-align: center;
	padding: 0 3px 15px 2px;
}
#sns li img {
	max-width: 100%;
}

@media all and (min-width: 768px) {
	#sns {
		padding: 8px 0;
	}
	#sns .inner {
		width: 980px;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
	}
	#sns h2 {
		width: 280px;
		height: auto;
		padding-top: 40px;
		padding-right: 32px;
		background: url(../top-img/sns-back.png) center top repeat;
		font-size: 3.2rem;
		line-height: 120%;
	}
	#sns h2 .en {
		font-size: 1.3rem;
		line-height: 100%;
	}
	#sns h2::before {
		width: 78px;
		height: 50%;
		background:
			linear-gradient(to top right, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
		position: absolute;
		left: auto;
		right: 0;
		top: 0;
	}
	#sns h2::after {
		width: 78px;
		height: 50%;
		background:
			linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#sns ul {
		width: 667px;
		padding: 25px 0;
		justify-content: flex-start;
	}
	#sns li {
		width: 236px;
		padding-right: 10px;
		padding: 0;
		text-align: left;
	}
	#sns li:nth-child(3n) {
		width: 186px;
	}
	#sns a:hover {
		opacity: 0.7;
	}
}

/* ----------------------------------------------
movie
----------------------------------------------*/
#movie {
	padding-top: 3px;
	border-bottom: 1px solid #B3B3B3;
}
#movie h2 {
	display: block;
	height: 100px;
	padding-top: 22px;
	background: url(../top-img/movie-back@2x.png) center top repeat; 
	background-size: 56px auto;
	text-align: center;
	color: #8C50AA;
	font-size: 2.8rem;
	line-height: 120%;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
}
#movie h2 .en {
	display: block;
	padding-top: 8px;
	padding-bottom: 7px;
	font-size: 1.2rem;
	line-height: 100%;
	font-weight: normal;
	letter-spacing: 0.03em;
}
#movie h2::before {
	content: "";
	display: block;
	width: 50%;
	height: 36px;
	background:
		linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}
#movie h2::after {
	content: "";
	display: block;
	width: 50%;
	height: 36px;
	background:
		linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
	position: absolute;
	right: 0;
	bottom: 0;
}
#movie ul {
	width: 100%;
	padding: 5px 10px;
	list-style: none;
}
#movie li {
	display: block;
	padding: 20px 0;
	border-bottom: 1px dashed #4D4D4D;
	text-align: center;
	color: #1A1A1A;
	font-size: 1.5rem;
	line-height: 130%;
}
#movie li:last-child {
	border-bottom: none;
}
#movie li img {
	max-width: 100%;
}
#movie li .caption span {
	display: none;
}
.videoWrapper {
	width: 355px;
	max-width: 100%;
	margin: 0 auto;
}
.videoContainer {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom: 10px;
}
.videoContainer iframe,  
.videoContainer object,  
.videoContainer embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media all and (min-width: 768px) {
	#movie {
		padding-top: 8px;
		padding-bottom: 8px;
	}
	#movie .inner {
		width: 980px;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
	}
	#movie h2 {
		width: 280px;
		height: auto;
		padding-top: 93px;
		padding-right: 32px;
		background: url(../top-img/movie-back.png) center top repeat;
		font-size: 3.2rem;
		line-height: 120%;
	}
	#movie h2 .en {
		font-size: 1.3rem;
		line-height: 100%;
	}
	#movie h2::before {
		width: 78px;
		height: 50%;
		background:
			linear-gradient(to top right, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
		position: absolute;
		left: auto;
		right: 0;
		top: 0;
	}
	#movie h2::after {
		width: 78px;
		height: 50%;
		background:
			linear-gradient(to bottom right, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#movie ul {
		width: 667px;
		padding: 10px 10px 3px 0;
		list-style: none;
		display: -webkit-flex;
		display: flex;
	}
	#movie li {
		padding: 0 24px 0 0;
		border-bottom: none;
	}
	#movie li br {
		display: none;
	}
	#movie li .caption span {
		display: inline;
	}
	#movie li:last-child {
		padding: 0;
	}
	.videoWrapper {
		width: 334px;
		max-width: 100%;
		margin: 0 auto;
	}
	.videoContainer {
		position: relative;
		padding-bottom: 0;
		padding-top: 0;
		height: 188px;
		overflow: hidden;
		margin-bottom: 10px;
	}
	.videoContainer iframe,  
	.videoContainer object,  
	.videoContainer embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 188px;
	}
	#movie a:hover {
		opacity: 0.7;
	}
}

/* ----------------------------------------------
footoer
----------------------------------------------*/
footer {
	padding-bottom: 30px;
}
@media all and (min-width: 768px) {
	footer {
		padding-bottom: 70px;
	}
}
#pageTop,
footer .footerMenu {
	display: none;
}