@charset "utf-8";

/* ========== topページ ========== */
/* PC用 */

/*---------------------------------
	 swiper 	
---------------------------------*/
.swiper-container {
	height: 40vw;
	min-height: 600px;
	position: relative;
}
.swiper-slide{
	background: no-repeat center center;
	background-size: cover;
	position: relative;
}
.swiper-slide:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
}
.swiper-pagination-bullet{
	background: #a6a4a5;
}
.swiper-pagination-bullet-active{
	background: #fff;
}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
	text-align: right;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 10px 0 0; 
}
/*--------------------------------------
	 main 	
--------------------------------------*/
main{
	padding: 0;
	position: relative;
}
main nav.pagetopnav{
	position: absolute;
	z-index: 10;
	top: 20px;
	right: 20px;
}
main nav.pagetopnav ul li a{
	color: #fff;
}
main nav.pagetopnav ul li:after{
	color: #fff;
}
main .top{
	position: relative;
}
main .top p.logo{
	padding: 35px 0 0 60px;
	position: absolute;
	z-index: 5;
}
main .top .catchcopy{
	font-weight: bold;
	border: 3px solid #fff;
	padding: 30px 40px;
	width: 80%;
	max-width: 800px;
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
/*
	text-shadow:black 2px 0px 2px, black -2px 0px 2px,
							black 0px -2px 2px, black -2px 0px 2px,
							black 2px 2px 2px, black -2px 2px 2px,
							black 2px -2px 2px, black -2px -2px 2px,
							black 1px 2px 2px, black -1px 2px 2px,
							black 1px -2px 2px, black -1px -2px 2px,
							black 2px 1px 2px, black -2px 1px 2px,
							black 2px -1px 2px, black -2px -1px 2px,
							black 1px 1px 2px, black -1px 1px 2px,
							black 1px -1px 2px, black -1px -1px 2px;
*/
}
main .top .catchcopy.new:before{
	display: block;
	content: "";
	background: url(../images/icon_new.png) no-repeat;
	background-size: contain;
	width: 55px;
	height: 60px;
	position: absolute;
	top: -45px;
	left: 58px;
}
main .top .catchcopy p{
	font-size: 24px;
	color: #fff;
	line-height: 1.4em;
}
main .top .catchcopy02 p.category,
main .top .catchcopy02 p.date{
	font-size: 16px;
	text-align: left;
	display: inline-block;
	margin: 10px 0 0;
}
main .top .catchcopy02 p.date{
	margin: 0 0 0 20px;
}
main .breadcrumbs{
	padding: 10px 0;
	font-weight: 600;
}
main .breadcrumbs a:hover{
	border-bottom: 1px solid #000;
}
main .news .newsWrapper{
	overflow: hidden;
	position: relative;
}
main .news .newsWrapper h2{
	width: 100px;
	height: 50px;
	float: left;
	background: #f305eb;
	line-height: 50px;
	text-align: center;
	position: relative;
}
main .news .newsWrapper h2:after{
	content: "";
	width: 10px;
	height: 10px;
	background: #f305eb;
	position: absolute;
	bottom: 20px;
	right: -5px;
	transform: rotate(45deg);
}
main .news > ul.main{
	width: calc(100% - 170px);
	padding: 0 0 0 20px;
	float: left;
	list-style-type: none;
}
main .news > ul.main li{
	height: 50px;
	line-height: 50px;
	text-align: left;
}
main .news > ul.main li span{
	margin: 0 20px;
}
main .news > ul li > ul.sub{
	position: absolute;
}
main .news .newsWrapper ul li a time{
 	margin: 0 20px;
	font-weight: 600;
}
main .news .newsWrapper p.btn{
	width: 50px;
	float: right;
}
main .news .newsWrapper ul li a{
	display: block;
	height: 50px;
	line-height: 50px;
	padding: 0 0 0 130px;
}
main .news ul.menu > li > a{
	border-bottom: 1px solid #ccc;
}
/*--------------------------------------
	 sp 	
--------------------------------------*/
/* SP用 */
@media screen and (max-width: 960px) {
	main .top p.logo{
		top: 54px;
		left: 28%;
		padding: 0;
	}
	main .top p.logo img{
		width: 65%;
	}
	main .top .catchcopy{
		padding: 10px;
	}
	main .top .catchcopy p{
		font-size:0.8rem;
	}
	main .top .catchcopy02 p.date{
		margin: 0;
	}
	main .top .catchcopy02 p.category, main .top .catchcopy02 p.date{
		font-size: 0.6rem;
	}
	main .news .newsWrapper h2{
		width: 60px;
	}
  main .news .newsWrapper ul li a{
    padding: 0 0 0 0px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
/*

	main .news ul{
		width: calc(100% - 130px);
	}
	main .news ul li{
		line-height: 26px;
		margin: 0 20px;
	}
	main .news ul li time{
		display: block;
		font-size: 0.8rem;
	}
*/
	main nav.pagetopnav{
		position: static;
		padding: 10px 0 10px 40px;
	}
	.swiper-container {
		min-height: 280px;
	}
	main nav.pagetopnav ul li a{
		color: #000;
	}
	main nav.pagetopnav ul li:after{
		color: #000;
	}
	main .top .catchcopy:before{
		left: 10px;
		width: 40px;
		height: 45px;
		top: -38px;
	}
	.drawer-hamburger:hover{
		background-color: #fff;
	}
	.drawer--left.drawer-open .drawer-hamburger{
		background-color: transparent;
	}
}
/*--------------------------------------
	 banner 	
--------------------------------------*/

main .banner{
	margin: 50px 0 0;
}
main .banner ul{
	overflow: hidden;
	list-style-type: none;
}
main .banner ul li{
	float: left;
	background-size: cover;
	width: calc(50% - 2px);
	height: 147px;
	position: relative;
	box-sizing: border-box;
}
main .banner ul li.about{
	margin: 0 2px 0 0;
}
main .banner ul li.recruit{
	margin: 0 0 0 2px;
}
main .banner ul li a{
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 18px;
	position: relative;
	overflow: hidden;
}
main .banner ul li a:hover:before{
	background: rgba(0,0,0,0.6);
}
main .banner ul li a figure img{
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}
/*
main .banner ul li a:hover figure img{
	transform: scale(1.1);
	-webkit- transform: scale(1.1);
}
*/
main .banner ul li a figure figcaption{
	display: block;
	width: 260px;
	height: 44px;
	border: 5px solid #fff;
	text-align: center;
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
	-webkit- transform: translateY(0%) translate(-50%);
	z-index: 5;
}
main .banner ul li a figure figcaption span{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	left: 0;
}
/*--------------------------------------
	 sp 	
--------------------------------------*/
/* SP用 */
@media screen and (max-width: 960px) {
	main .banner ul li{
		height: 130px;
	}
	main .banner ul li.about{
		width: 100%;
	}
	main .banner ul li.recruit{
		width: 100%;
	}
	main .banner ul li a figure figcaption{
		border: 3px solid #fff;
	}
}



/*--------------------------------------
	 content 	
--------------------------------------*/

main .content{
	padding: 30px 20px;
}
main .content .blog_top{
	margin: 0 0 40px;
}
main .content .blog_top ul{
	overflow: hidden;
}
main .content .blog_top ul li{
	width: calc(50% - 20px);
	float: left;
	box-sizing: border-box;
	margin: 40px 10px 0;
	list-style-type: none;
	position: relative;
}
main .content .blog_top ul li a.new:before{
	content: url(../images/icon_new.png);
	position: absolute;
	z-index: 1;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}
main .content .blog_top ul li figure{
	max-height: 320px;
}
main .content .blog_top ul li .category{
	font-weight: 600;
}
main .content .blog_top ul li .timeandname{
	font-weight: 600;
	font-size: 13px;
	text-align: right;
}

main .content .blog_top ul li h2{
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2em;
	padding: 20px 0;
}
main .content .blog_top ul li iframe{
	max-height: 320px;
	top: 0;
	padding: 0;
}

main .content p.btn-more{
	width: 300px;
	height: 50px;
	margin:90px auto 0;
}
main .content p.btn-more a{
	display: block;
	font-size: 18px;
	color: #fff;
	background: #000;
	height: 100%;
	width: 100%;
	line-height: 50px;
	text-align: center;
	font-weight: 600;
}
main .content .blog_lists ul li{
	position: relative;
}
main .content .blog_lists ul li a.new:before{
	content: url(../images/icon_new_mini.png);
	position: absolute;
	z-index: 1;
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}
/*--------------------------------------
	 sp 	
--------------------------------------*/
/* SP用 */
@media screen and (max-width: 960px) {
	main .content{
		padding: 0;
	}
	main .content .blog_top ul li{
	}
	main .content .blog_top ul li h2{
		font-size: 1rem;
	}
	main .content .blog_top ul li .category{
		font-size: 0.8rem;
		text-align: left;
	}
}

@media screen and (max-width: 480px) {
	main .content .blog_top ul li{
		width: 100%;
		margin: 40px 0 0;
	}
}