@charset "utf-8";

/*--------------------------
main-fv
--------------------------*/
#main-fv {
    position: relative;
}
.video-wrap {
	position: relative;
    max-height: 100vh;
	overflow: hidden;
}
.video-wrap #fv-movie {
	display:block;
	width: 100%;
}



/* news */
.news-in {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}
.news-in .title {
    font-size: 19px;
    width: 180px;
}
.news-in .title h2 {
	font-size: 39px;
    font-family: "Laine";
	font-weight: normal;
    line-height: 1;
}
.news-in .contents {
    width: calc(100% - 180px);
}

.news-list li {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: dashed 1px #ccc;
}
.news-list li a {
	display: block;
	color: #000;
	font-size: 20px;
	font-weight: 500;
}
.news-list li p {
	display: inline-block;
	vertical-align: middle;
}
.news-list li .news-date {
    margin-right:10px;
    font-family: 'Oswald', sans-serif;
}
.news-list li .news-category {
	background: #ddd;
	padding: 1px 10px 3px;
    margin-right:10px;
}
.news-list li .news-title {
    width: calc(100% - 240px);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
#news .more {
    text-align: right;
}


/* program */
.program-main a {
    color: #000;
    display: flex;
    flex-wrap: wrap;
}
.program-main .img {
    width: 50%;
}
.program-main .info {
    width: 50%;
    padding-top: 15px;
    text-align: center;
    background: #fbdbdb;
}
.program-main .info h3 {
    font-size: 28px;
}
.program-main .info p {
    font-size: 24px;
    font-weight: 500;
}
.program-main .info .text02 {
    font-size: 30px;
    color: #cd0000;
}
.program-main .info .text02 span {
    font-size: 46px;
}
.program--list {
    display: flex;
    flex-wrap: wrap;
}
.program--list > li {
    width: 48%;
    margin: 30px 0 0 4%;
}
.program--list > li:nth-child(2n+1) {
    margin-left: 0;
}
.program--list > li a {
    display: block;
    color: #000;
    text-align: center;
}
.program--list > li .info {
	margin-top: 10px;
}
.program--list > li .info h3 {
	font-size: 23px;
}
.program--list > li .info p {
}


/* about */
#about {
    text-align: center;
    background: #ffe5e5;
}
#about .img {
    margin-bottom: 30px;
}
.about-info {
    margin-top: 70px;
}
.about-info--list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
	margin-top: -4%;
}
.about-info--list li {
    width: 48%;
    border: solid 1px #000;
    margin: 4% 0 0 4%;
}
.about-info--list li:nth-child(2n+1) {
    margin-left: 0;
}
.about-info--list li h3 {
    font-size: 33px;
    background: #000;
    color: #fff;
    padding: 5px 10px;
}
.about-info--list li p {
    padding: 20px 20px 40px;
    text-align: left;
    font-size: 19px;
    line-height: 1.7;
}

/* facility */
#facility {
    background: #dcdcdc;
}
.facility--list > li{
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
	font-size: 17px;
}
.facility--list > li:nth-child(even){
    flex-direction: row-reverse;
}
.facility--list > li .img {
	width: 50%;
}
.facility--list > li .info {
	width: 50%;
	padding: 5%;
}
.facility-title {
	text-align:center;
	margin-bottom: 30px;
}
.facility-title h3 {
	font-size: 48px;
    font-family: "Laine";
	font-weight: normal;
}
.facility-title p {
}
.facility--desc {
    line-height: 1.7;
}

/* trainer */
.trainer-main--list >li {
    margin-bottom: 50px;
}
.trainer-main .trainer-detail {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.trainer-main .trainer-detail .img {
    width: 45%;
	text-align:center;
}
.trainer-main .trainer-detail .info {
    width: 55%;
    padding-left: 5%;
}
.trainer-main .trainer-name {
    text-align: center;
    margin-bottom: 50px;
}
.trainer-main .trainer-name h3 {
    font-size: 53px;
    line-height: 1;
}
.trainer-main .trainer-name p {
    font-size: 24px;
}
.trainer-main .trainer-info p {
    font-size: 24px;
    line-height: 2;
	margin-bottom: 20px;
}
.trainer-main .trainer-info p:last-child {
	margin-bottom:0;
}
.trainer-main .trainer-info p .trainer-info-opt {
    display: block;
    font-weight: bold;
}
.trainer-main .trainer-desc p {
    line-height: 2;
}
.trainer-sub--list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
	margin-top: -4%;
}
.trainer-sub--list li {
	width: 48%;
	margin: 4% 0 0 4%;
	text-align:center;
}
.trainer-sub--list li:nth-child(2n+1) {
	margin-left: 0;
}
.trainer-sub--list li .img {
	margin-bottom: 10px;
}
.trainer-sub--list li .info h3 {
	font-size: 27px;
	font-weight:normal;
}
.trainer-sub--list li .info h4 {
	font-size: 47px;
}
.trainer-sub--list li .info .desc {
    line-height: 2;
    margin-top: 30px;
    text-align: left;
}


/* process */
.process-main {
	margin-bottom: 30px;
}
.process-main--list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
	margin-top: -60px;
}
.process-main--list li {
	width: 49%;
	margin: 60px 0 0 2%;
	border: solid 3px;
}
.process-main--list li:nth-child(2n+1) {
	margin-left: 0;
}
.process-main--list li .img img {
	width: 100%;
}
.process-main--list li .info h3 {
	font-size: 32px;
	font-weight:normal;
	color: #fff;
    line-height: 1;
    padding: 5px 0 10px;
	background: #000;
	text-align:center;
}
.process-main--list li .info .info-in {
	padding: 15px;
}
.process-main--list li .info .info-in h4 {
	font-size: 28px;
	font-weight:500;
	text-align:center;
	margin-bottom:10px;
}
.process-main--list li .info .info-in p {
    font-size: 18px;
    line-height: 1.7;
}
.process-sub--list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
	margin-top: -15px;
}
.process-sub--list li {
	width: 49%;
	margin: 15px 0 0 2%;
	text-align:center;
}
.process-sub--list li:nth-child(2n+1) {
	margin-left: 0;
}
.process-sub--list li a {
	display: block;
	color: #fff;
	font-size: 32px;
	background: #000;
	padding: 10px 0 15px;
}


/* blog */
.blog-slide .swiper-slide a {
    display: block;
    color: #000;
    background: #eee;
    padding: 10px;
    height: 100%;
}
.blog-slide .swiper-slide .thumb {
	margin-bottom:10px;
}
.blog-slide .swiper-slide .blog-title {
	font-size: 20px;
}
.blog-slide .swiper-slide .blog-desc {
	font-size: 12px;
}


/* access */
#access {
	padding-bottom:0;
}
#access ul {
    display: table;
    margin: 0 auto 50px;
}
#access ul li {
    padding: 0 15px 10px;
    margin-bottom: 10px;
    font-size: 19px;
    letter-spacing: 1px;
    background-image: linear-gradient(to right, #000 2px, transparent 2px);
    background-size: 10px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
.access-map iframe {
    display:block;
}


	
/* -----------------------------------

media query

------------------------------------- */

/* 815px 以下 */
@media (max-width: 815px) {

	.main-fv--info {
		padding-top: 100px;
		padding-bottom: 30px;
		position: relative;
		background-size: cover;
		margin-top: -90px;
	}
	.main-fv--img {
		background-size: auto 300px;
	}
	
	.news-in {
		display: block;
	}
	.news-in .title {
		display: block;
	    font-size: 14px;
		width: auto;
		text-align: center;
		margin-bottom: 30px;
	}
	.news-in .contents {
		display: block;
		width: 100%;
	}
	.news-list li a {
		font-size: 16px;
	}
	.news-list li .news-title {
		width: 100%;
		white-space: initial;
		text-overflow: unset;
		margin-top: 10px;
	}
	#news .more {
		text-align: center;
	}

	.program-main a {
		display: block;
	}
	.program-main .img {
		width: 100%;
	}
	.program-main .img img {
		width: 100%;
	}
	.program-main .info {
		width: 100%;
		padding: 15px;
	}
	.program-main .info h3 {
		font-size: 20px;
	}
	.program-main .info p {
		font-size: 16px;
	}
	.program-main .info .text02 {
		font-size: 20px;
	}
	.program-main .info .text02 span {
		font-size: 32px;
	}
	.program--list > li a {
		text-align: left;
	}
	.program--list > li .info h3 {
		font-size: 14px;
		margin-bottom: 5px;
	}

	#about .img {
		padding: 0 50px;
	}
	.about-info--list li h3 {
		font-size: 18px;
	}
	.about-info--list li p {
		padding: 15px 15px 30px;
		font-size: 13px;
	}

	.facility--list > li {
		font-size: 14px;
		display: block;
	}
	.facility--list > li .img {
		width: 100%;
		text-align: center;
	}
	.facility--list > li .info {
		width: 100%;
		padding: 30px 0 50px;
	}
	.facility-title h3 {
		font-size: 36px;
	}

	.trainer-main .trainer-detail {
		display: block;
	}
	.trainer-main .trainer-detail .img {
		width: 100%;
		margin-bottom: 30px;
	}
	.trainer-main .trainer-detail .info {
		width: 100%;
		padding-left: 0;
	}
	.trainer-main .trainer-name {
		margin-bottom: 30px;
	}
	.trainer-main .trainer-name h3 {
		font-size: 36px;
	}
	.trainer-main .trainer-name p {
		font-size: 18px;
	}
	.trainer-main .trainer-info p {
		font-size: 18px;
	}
	.trainer-main .trainer-info p .trainer-info-opt {
		background: #222;
		color: #fff;
		padding: 2px 20px 5px;
	}
	.trainer-main .trainer-info p .trainer-info-text br {
		display: none;
	}
	.trainer-sub--list li .info h3 {
		font-size: 18px;
	}
	.trainer-sub--list li .info h4 {
		font-size: 30px;
	}

	.process-main--list {
		margin-top: -20px;
	}
	.process-main--list li {
		width: 100%;
		margin: 20px 0 0 0;
	}
	process-main--list li .info h3 {
		font-size: 24px;
	}
	.process-main--list li .info .info-in h4 {
		font-size: 21px;
		margin-bottom: 10px;
	}
	.process-main--list li .info .info-in p {
		font-size: 13px;
	}
	.process-sub--list li {
		width: 100%;
		margin: 15px 0 0 0;
	}
	.process-sub--list li a {
		font-size: 20px;
	}

	#access ul li {
		font-size: 14px;
	}

}

@media (max-width: 480px) {

	#about .img {
		padding: 0;
	}


}