@charset "utf-8";

/* -------------------------------------------------
     common
 --------------------------------------------------- */
body {
	color:#fff;
	font-size:14px;
	width:100%;
}

#container {
	width: 100%;
	height:auto;
	z-index:1;
}

/* clear both -------------------------- */
.cl{
	clear:both;
	margin:0 auto;
}


/* PC/SP切り替え -------------------------- */

.title_bar{
	width: 100%;
	margin-top: 10px !important;
} 

.title_bar img{
	width: 100%;
}

.pc_view{
	display:block !important;
	margin:0 auto;
}

.sp_view{
	display:none !important;
	margin:0 auto;
}

@media screen and (max-width: 770px) {
	.pc_view{
		display:none !important;
		margin:0 auto;
	}
	
	.sp_view{
		display:block !important;
		margin:0 auto;
	}
	.sp_view img{
		width:100%
		height:auto;
	}
}

/* 間隔用 -------------------------- */
.interval60 {
    clear:both;
    width:100%;
    height: 60px;
}

.interval40 {
	clear:both;
	width:100%;
	height: 40px;
}

.interval20 {
	clear:both;
	width:100%;
	height: 20px;
}

/* -------------------------------------------------
     header
 --------------------------------------------------- */

#logo {
	width:24%;
	height:auto;
        margin:0 1% 0 auto;
        max-width:250px;
}

#logo img {
	width:100%;
	height:auto;
}

#menu_area {
	clear:both;
    width: 72%;
    height: auto;
    margin: 0 auto;
	max-width:750px;
}

#menu_navi {
	width:100%;
	height:auto;
	margin:0 auto;
}
#menu_navi ul {
	list-style: none;
	overflow: hidden;
}

#menu_navi ul li {
	width: calc(100% / 7);
	height:auto;
	text-align: center;
	float: left;
    position: relative;
}

#menu_navi li img {
    width: 100%;
    height:auto;
}

#menu_navi ul li::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    border-left:4px solid #fff; 
    transform-origin: left top;
    transform: scale(1, 0);
    transition: transform .3s;
}
#menu_navi ul li:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

#menu_area_rec ul{
    clear:both;
    width:100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap:wrap;
    padding: 0 0 10px 0;
}
#menu_area_rec ul li {
    width: calc(16.6% - 1px);
    border-left:1px solid #7f8eff; 
    height:auto;
    text-align: center;
    font-size: 0.8em;
}
#menu_area_rec ul li a {
    display: block;
    color: #fff !important;
}
#menu_area_rec ul li:last-child {
    width: calc(16.8% - 2px);
    border-right:1px solid #7f8eff; 
}
#menu_area_rec ul li span {
    display: block;
    font-size: 1.5em;
    font-weight: bold;
}

@media screen and (max-width: 770px) {
	header{
		height:auto;
	}
	
	#logo {
		width:50%;
		height:auto;
        margin-right: 50%;
	}
	
	#logo img {
		width:100%;
		height:auto;
	}

	#menu_area {
		height:0px;
	}

}


/* -------------------------------------------------
     contents
 --------------------------------------------------- */
#contents {
	max-width:1100px;
	margin:0 auto;
}

@media screen and (max-width: 770px) {
	#contents {
		width:100%;
	}
}

/* -------------------------------------------------
     breadcrumb
 --------------------------------------------------- */
#breadcrumb {
	clear:both;
	float:left;
	width:100%;
	height:auto;
    margin: 10px 0;
}
#breadcrumb li {
	font-size:10px;
	float:left;
	margin:5px;
}
#breadcrumb li a{
	-webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
	text-decoration:none;
}

/* -------------------------------------------------
     top_titlebar
 --------------------------------------------------- */
.top_titlebar {
	clear:both;
	float:left;
    width:100%;
	height:100px;
	margin-top:30px;
	text-align: center;
}

/*
.top_titlebar img {
	width:1100px;
	height:100px;
}
*/

@media screen and (max-width: 770px) {
	.top_titlebar {
		width:100%;
		height:auto;
		margin-top:15px;
	}
	
	.top_titlebar img{
		max-width: 100%;
	}
	
	/*
	.top_titlebar img {
		width:100%;
		height:auto;
	}
	*/
}

/* -------------------------------------------------
     group_link
 --------------------------------------------------- */
#group_link {
	clear:both;
	float:left;
    width:100%;
	height:auto;
	margin:10px auto;
}

#group_link .group_list {
	float:left;
	width: 260px;
	height:130px;
	margin: 5px 7px;
	text-align:center;
}

#group_link .group_list img {
	width: 260px;
	height:130px;
}

#group_link .group_list a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
}

@media screen and (max-width: 770px) {
	#group_link {
		width:100%;
		height:auto;
	}
	
	#group_link .group_list {
		width: 33.333%;
		height:auto;
		margin: 0 0px;
	}

	#group_link .group_list img {
		width: 98%;
		height:auto;
	}

}

/* -------------------------------------------------
     contact_bnr
 --------------------------------------------------- */
#contact_bnr {
	clear:both;
	float:left;
    width:100%;
	height:auto;
	margin:40px auto 10px auto;
}

#contact_bnr .bnr_area {
	clear:both;
    width:90%;
	height:200px;
	margin:0 auto;
}

#contact_bnr .bnr_area img {
    width: 100%;
	height:auto;
}

#contact_bnr .bnr_area a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
}

@media screen and (max-width: 770px) {
	#contact_bnr {
		width:100%;
		margin:20px auto 10px auto;
	}
	
	#contact_bnr .bnr_area {
		width:90%;
		height:auto;
	}
	
	#contact_bnr .bnr_area img {
		width: 100%;
		height:auto;
	}
}

/* -------------------------------------------------
     footer
 --------------------------------------------------- */
footer {
	margin-top:30px;
	width:100%;
	clear:both;
}
footer a {
	text-decoration:none;
	color:#424251;
	/*margin:0 10px;*/
}
footer a:hover {
	color:#F18B8D;
	text-decoration: underline;
}
footer section {
	max-width:1200px;
	margin:10px auto;
	position:relative;
	overflow:hidden;
}

footer ul {
	margin:10px auto;
	padding:0 20px 8px;
	text-align:left;
        width:50%;
        float:left;
        display: flex;
	flex-direction:column;
	flex-wrap:wrap;
	height:120px;
}

footer li {
	display:inline-block;
	font-size:12px;
	margin-top:9px;
}

footer div {
	background:#ffdbe5;
	color:#666;
	text-align:center;
	font-size:12px;
	padding:14px 0;
	clear:both;
}

.company{
	text-align: right;
	width: 45%; 
	display: inline-block;
}

@media screen and (max-width: 770px) {
	footer section {
		width:100%;
	}
	
	footer ul {
        	width:100%;
        	display:block;
		height:auto;
	}
	
	footer li {
		display:block;
		width:100%;
	}

	.company{
		text-align: left;
		width: 100%;
		margin-left:20px;
	}


}


/* -------------------------------------------------
     page_top
 --------------------------------------------------- */
#page_top {
	position:fixed;
    width: 80px;
    height: 40px;
    bottom: 0;
    right: 5%;
	z-index:98;
}
#page_top a {
	display:block;
}
#page_top:hover {
	cursor:pointer;
}
#page_top img {
    width: 100%;
    height: auto;
}
@media screen and (max-width: 770px) {
	#page_top {
        width: 20%;
        /* height: auto;
        bottom: calc(6.5vw / 5 * 5 + 0px); */
        right: auto;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
	}
}

/* -------------------------------------------------
recruit fut
--------------------------------------------------- */
#rec_fut {
    position:fixed;
    bottom: 0;
    left: 0;
    z-index:99;
    margin: 10px auto;
    padding: 0;
    height: auto;
    display: inline-block;
}
#rec_fut li {
    width: 48%;
    margin: 1%;
    float: left;
    text-align: center;
    font-size: 1.2em;
}
#rec_fut li a {
    display:block;
    width: 96%;
    padding: 2%;
    margin: 0;
    background-color: rgba(0,185,0,0.8);
    border-radius: 5px;
}
#rec_fut li a:hover {
    text-decoration: none;
}
#rec_fut li:first-child a {
    background-color: rgba(255, 137, 0, 0.8);
}
#rec_fut li img {
    max-width: 50px;
    width: 20%;
    height: auto;
    margin-right: 1%;
    vertical-align: middle;
}

@media screen and (max-width: 770px) {
    #page_top {
        width: 20%;
        /* height: auto;
        bottom: calc(6.5vw / 5 * 5 + 0px); */
        right: auto;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    #rec_fut {
        bottom: 0;
        left: 0;
    }
    #rec_fut li {
        font-size: 1em;
    }
}


/* -------------------------------------------------
     pager
 --------------------------------------------------- */
.page_list_box {
	clear:both;
	text-align:center;
	margin-top: 20px;
	padding:20px 0;
	width: 100%;
	height:auto;
}


.effect-fade, .effect-fade2, .effect-fade3, .effect-fade4, .effect-fade5 {
	opacity:0;
	transform:translate(0, 45px);
	transition:all 1300ms;
}

.effect-fade.effect-scroll, .effect-fade2.effect-scroll, .effect-fade3.effect-scroll, .effect-fade4.effect-scroll, .effect-fade5.effect-scroll {
	opacity:1;
	transform:translate(0, 0);
}

.effect-fade2:nth-of-type(2n+1), .effect-fade3:nth-of-type(3n+1), .effect-fade4:nth-of-type(4n+1), .effect-fade5:nth-of-type(5n+1) {
	-moz-transition-delay:0ms;
	-webkit-transition-delay:0ms;
	-o-transition-delay:0ms;
	-ms-transition-delay:0ms;
}	
	
.effect-fade2:nth-of-type(2n+2), .effect-fade3:nth-of-type(3n+2), .effect-fade4:nth-of-type(4n+2), .effect-fade5:nth-of-type(5n+2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
}
.effect-fade3:nth-of-type(3n+3), .effect-fade4:nth-of-type(4n+3), .effect-fade5:nth-of-type(5n+3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
}
.effect-fade4:nth-of-type(4n+4), .effect-fade5:nth-of-type(5n+4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
}
.effect-fade5:nth-of-type(5n+5) {
	-moz-transition-delay:800ms;
	-webkit-transition-delay:800ms;
	-o-transition-delay:800ms;
	-ms-transition-delay:800ms;
}

.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
.material-icons {
    vertical-align: text-bottom;
}

/*矢印*/
.arrow{
    position: relative;
    display: inline-block;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    margin: 1px 10px 5px 5px;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}