@charset "UTF-8";
/* CSS Document */

/*==============================
		 mainimage設定
==============================*/


.mainimg{
    padding-top: 70px;
	position:relative;
}

.mainimg video{
	width:100%;
	vertical-align: bottom;
}

.mainimg .down a{
    position: absolute;
    bottom: -30px;
	left: 0;
	right:0;
	margin: auto;
    font-size:20px; 
    color: #fff;
    line-height: 1.4em;
    text-align: center;
    padding: 10px;
    height: 30px;
    width: 30px;
    border-radius: 50%;
	background: #3b0056;
    z-index: 100;
}

.mainimg .down a:hover{
	opacity: 1;
	background: #e95513; 
}

.mainimg .insta{
	
}

.mainimg .bnr{
	display: flex;
	justify-content: right;
	align-items: end;
    position: absolute;
    bottom: 20px;
	right: 20px;
    z-index: 100;
}
.mainimg .bnr .insta{
	height: clamp(60px,16vw,160px);
	margin-left: 20px;
}
.mainimg .bnr .recruit{
	height: clamp(60px,16vw,160px);
}
.mainimg .bnr img{
	width: auto;
	height: 100%;
}


@media screen and (max-width: 640px) {
    .mainimg .bnr {
		width: calc(100% - 20px);
		margin: 0 auto;
		justify-content: space-between;
        bottom: 10px;
        right: 10px;
    }
}

    

    
#contents {
    margin: 0 0 120px;
	overflow: hidden;
}

/*-----ポイント-----*/

#contents .point {
	position: relative;
	margin-bottom: 440px;
}

#contents .point .point_box {
	margin-bottom: 160px;
}

#contents .point .point_box:first-child{
	 padding-top: 270px;
}
   

#contents .point .point_box .img_box{
	flex: 0 0 40%;
	-ms-flex: 0 0 40%;
}

#contents .point .point_box .img_box img{
	/*width: 390px;*/
	/*height: auto;*/
}

#contents .point .point_box .txt_box{
	flex: 0 0 55%;
	-ms-flex: 0 0 55%;
}

#contents .point .point_box .txt_box h3{
	font-weight: bold;
	margin-bottom: 20px;
}

/*#contents .point .point_box .txt_box h3 span{
	font-weight: bold;
	background: linear-gradient(transparent 60%, #ffff66 60%);
}
*/

#contents .point .point_box .txt_box h3 p{
	display: inline;
	position: relative;
	font-weight: bold;
    width: 100%;
    height: 100vh;
}

#contents .point .point_box .txt_box h3 p .marker{
	content: "";
    position: absolute;
    top: 20px;
    left: 0;
    bottom: 0;
    z-index: -1;
    margin: auto;
    width: 0;
    height: 10px;
    background: #ffff66;
}

#contents .point #line{
    position: absolute;
    z-index: -1;
    top: 0;
    width: 426px;
    left: -213px;
    right: 0;
    margin: auto;
}

#contents .point #circle{
    width: 100px;
    position: absolute;
    left: -25px;
    right: 0;
    bottom: -380px;
    margin: auto;
}


/*-----メインコピー-----*/

#contents .copy h2{
	text-align: center;
}


/*-----メインコンテンツ-----*/

#contents .main ul li{
	flex:0 0 30%;
	-ms-flex:0 0 30%;
	text-align: center;
}

#contents .main ul li img{
	margin-bottom: 20px;
	width: 300px;
	height: auto;
}

#contents .main ul li p{
	font-size: 16px;
	font-weight: bold;
	color:#4D4D4D;
}

#contents .main ul li .btn a{
	width: auto;
}



/*-----コラム・お知らせ-----*/

#contents #info.info {
	background: #F2F2F2;
    padding: 60px 0;
}

#contents #info.info ul{
	margin-bottom: 40px;
}

#contents .info ul li .news_box{
	justify-content: left;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dotted #858585;
}

#contents .info ul li .news_box .date{
	flex:0 0 10%;
	-ms-flex:0 0 10%;
}

#contents .info ul li .news_box .txt{
	flex:0 0 80%;
	-ms-flex:0 0 80%;
	margin:0 2%;
}

#contents .info ul li .news_box .btn_more{
	flex:0 0 6%;
	-ms-flex:0 0 6%;
	font-weight: bold;
}

#contents .info ul li .news_box .btn_more:hover{
	color: #3b0056;
}

#contents .info ul li .news_box .btn_more:after{
	font-family: "Font Awesome\ 5 Free";
	content: "\f105";
    padding-left: 10px;
    line-height: 1.5em;
}


.new_tag{
    margin-left: 15px;
    color: #fff;
    padding: 0 8px;
    background: #e60303;
    display: inline-block;
}

#contents .column ul li .news_box .date{
    flex: 0 0 16%;
	-ms-flex: 0 0 16%;
}

#contents .column ul li .news_box .txt {
    flex: 0 0 72%;
    -ms-flex: 0 0 72%;
    margin: 0 2%;
}


/*==============================
		tablet設定
==============================*/

@media screen and (max-width:960px) {
	#contents .info ul li .news_box .txt{
		flex:0 0 77%;
		-ms-flex:0 0 77%;
	}
	
	#contents .point {
		margin-bottom: 120px;
	}
	
	#contents .point #line{
		display: none;
	}

	#contents .point #circle{
		display: none;
	}
	#contents .point .point_box {
		margin-bottom: 60px;
	}
	#contents .point .point_box:first-child {
		padding-top: 80px;
	}
    
    #contents .column ul li .news_box .date {
        flex: 0 0 25%;
        -ms-flex: 0 0 25%;
    }
    
    #contents .column ul li .news_box .txt {
        flex: 0 0 61%;
        -ms-flex: 0 0 61%;
    }
}

@media screen and (min-width:640px) and ( max-width:960px) {

}

/*==============================
		SP設定
==============================*/

@media screen and (max-width:640px){
	#movie{
/*
		background: url(/img/home/nonemovie_sp.jpg) no-repeat center / cover;
		height: 250px;
*/
	}
	.mainimg video{
		display: none;
	}
    
    .mainimg .insta{
        bottom: 5px;
        right: 5px;
    }
	/*-----ポイント-----*/
	#contents .point .point_box{
		display:block;
		margin-bottom: 60px;
	}
	
	#contents .point .point_box:nth-child(2){
		display: flex;
		flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
	}

	#contents .point .point_box .img_box{
		margin-bottom: 20px;
	}
	/*-----メインコンテンツ-----*/
	#contents .main ul{
		display: block;
	}
	
	#contents .main ul li{
		margin-bottom: 30px;
	}
	/*-----お知らせ-----*/
	#contents .info ul li .news_box{
		display: block;
	}
	#contents .info ul li .news_box .txt{
		margin: 0;
	}
	#contents .info ul li .news_box .btn_more {
		text-align: right;
		display: inherit;
	}
    #contents .column ul li .news_box .date {
        margin-bottom: 5px;
    }
}



















