@charset "utf-8";

/*=====================================================
COMMON-LAYOUT
======================================================*/

.wrap {
	padding:100px 0 0 0;
}

header{
	background:url(../images/common/h_bg01.jpg) left top repeat;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height:100px;
	padding:0 10px;
	z-index:999;
}

div.header{
	margin:0 auto;
	position:relative;
	max-width:1280px;
	height:80px;
	box-sizing: content-box;
	color:#fff;
}

div.header h1 {
	position:absolute;
	font-size:12px;
	line-height:1.4;
	top:15px;
	left:0;
	max-width:600px;
}

div.header h2{
	position:absolute;
	bottom:0;
	left:0;
	line-height:0;
	font-size:0;
}

ul.headnavi{
	position:absolute;
	top:0px;
	right:270px;
	max-width:280px;
	height:40px;
	padding:10px 15px;
	background:#04853b;
	font-size:17px;
	line-height:1.4;
	display:flex;
	justify-content: space-between;
}
ul.headnavi li {
	position:relative;
/*	padding:0 0 0 30px;*/
	padding: 0 0 0 25px;
}
ul.headnavi li:before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:20px;
	height:100%;
	background:url(../images/common/h_icon01.png) center center no-repeat;
}
.header_login ul.headnavi {
	width:140px;
	right:168px;
}

ul.headbtn {
	position:absolute;
	top:0;
	right:0;
	background:#c0c0c0;
	width:250px;
	padding:10px;
	display:flex;
	justify-content: space-between;
}
ul.headbtn li a {
	display:block;
	padding:10px 19px;
	text-align:center;
	color:#fff;
	font-size:18px;
	line-height:1.2;
	position:relative;
	font-weight: 900;
}
ul.headbtn li a span {
	position:relative;
	z-index:2;
}
ul.headbtn li a small {
	display:block;
	font-size:0.8em;
	position:relative;
	z-index:2;
	font-weight: 400;
}
ul.headbtn li:nth-child(1) a {
	background: linear-gradient(#005f28, #00441e);
	/*background: #007030;*/
}
ul.headbtn li:nth-child(1) a:after {
	background:#00441e;
}
ul.headbtn li:nth-child(2) a {
	background: linear-gradient(#ff8400, #d36e00);
/*	background: #ff8400;*/
}
ul.headbtn li:nth-child(2) a:after {
	background:#d36e00;
}
ul.headbtn li a:after {
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:0;
	transition: all 0.3s ease-in-out;
}
ul.headbtn li a:hover:after {
	height:100%;
}
.header_login ul.headbtn {
	width:auto;
}
.header_login ul.headbtn li a {
	height:58px;
	display:flex;
	align-items:center;
}

.head_team_navi {
	position:absolute;
	top:5px;
	right:318px;
	display:flex;
	align-items:center;
}
.head_team_navi li {
	padding:0 10px;
	font-size:16px;
	position:relative;
	line-height:1.4;
}
.head_team_navi li:after {
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:100%;
	background:#fff;
}
.head_team_navi li:first-child {
	padding:0 0 0 0;
}
.head_team_navi li:first-child:after, .head_team_navi li:last-child:after {
	display:none;
}
.head_team_navi li a {
	transition:all 0.5s ease-in-out;
}
body:not(.mobile) .head_team_navi li a:hover {
	color:#ccc;
}




.nav_btn{
	position:fixed;
	top: 9px;
	right: 10px;
	cursor: pointer;
	z-index: 9999;
	width:40px;
	height:40px;
	transition:all 0.5s ease-in-out;
	display: none;
}
.nav_btn hr{
	width: 34px;
	background:#fff;
	height:3px;
	position:absolute;
	border:none;
	transform-origin:center center;
	left:0;
	right:0;
	margin:0 auto;
	transition:top 0.2s ease-in-out 0.3s,transform 0.2s ease-in-out 0s;
}
body.nav_open .nav_btn hr{
	transition:top 0.2s ease-in-out 0s,transform 0.2s ease-in-out 0.3s;
}
.nav_btn hr:nth-child(1){
	top: 5px;
}
.nav_btn hr:nth-child(2){
	top: 13px;
}
.nav_btn hr:nth-child(3){
	top: 21px;
}
body.nav_open .nav_btn hr:nth-child(1){
	transform:rotate(45deg);
	top: 13px;
	background:#000;
}
body.nav_open .nav_btn hr:nth-child(2){
	transform:scaleX(0);
	top: 13px;
	background:#000;
}
body.nav_open .nav_btn hr:nth-child(3){
	transform:rotate(-45deg);
	top: 13px;
	background:#000;
}
.nav_btn .hamb_txt {
	position:absolute;
	top: 27px;
	left:0;
	width:100%;
	height:20px;
	font-size: 12px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	transition:all 0.5s ease-in-out;
}
.nav_btn .hamb_txt.close {
	opacity:0;
	color:#000;
}
body.nav_open .nav_btn .hamb_txt.open {
	opacity:0;
}
body.nav_open .nav_btn .hamb_txt.close {
	opacity:1;
}




nav.gnavi_wrap{
	position:absolute;
	bottom:0;
	right:270px;
}
.header_login nav.gnavi_wrap {
	right:168px;
}
ul.gnavi{
	display:flex;
}
ul.gnavi li {
	padding:0 10px;
	border-right:1px solid #fff;
}
ul.gnavi li.ls {
	border-right:0px;
}
ul.gnavi li.ds {
	display:none;
}
ul.gnavi li.ts {
	display:none;
}
ul.gnavi li a {
	display:block;
	font-size:16px;
	color:#fff;
	line-height:1.4;
	transition:all 0.5s ease-in-out;
}
body:not(.mobile) ul.gnavi li a.cr,ul.gnavi li a:hover {
	color:#ccc;
}



div.contents_wrap{
	width:100%;
}

ul.breadlist{
	max-width:960px;
	margin:0 auto ;
	padding:10px 10px;
	box-sizing: content-box;
}

ul.breadlist li{
	display: inline-block;
}

ul.breadlist li:after{
	content: "> ";
}

ul.breadlist li:last-child:after{
	content: none;
}

ul.breadlist li a{
	text-decoration: underline;
}

body:not(.mobile) ul.breadlist li a:hover{
	text-decoration: none;
}

div.container{
	max-width:960px;
	margin:0 auto;
	padding:30px 10px 50px;
	box-sizing: content-box;
}

footer{
	width:100%;
	background:url(../images/common/f_bg.jpg) center center repeat;
	padding:30px 0 0;
	color:#fff;
}

.footer {
	max-width:1280px;
	margin:0 auto;
	padding:0 20px 40px 20px;
	box-sizing:content-box;
}
.footer h3 {
	text-align:center;
	line-height:0;
	margin:0 0 20px;
	padding: 0 50px;
}
.footer .btn {
	/*max-width:700px;*/
	max-width:500px;
	margin:0 auto;
}
.footer .btn a {
	display:block;
	/*background:#ff8400;*/
	background: linear-gradient(#ff8400, #d36e00);
	border:3px solid #ff8400;
	/*padding:25px 20px 20px 20px;*/
	padding:15px 10px 12px 10px;
	text-align:center;
	/*font-size:36px*/;
	font-size:30px;
	line-height:1.4;
	font-weight: 900;
	color:#fff;
	transition: all 0.5s ease-in-out;
}
.footer .btn a:hover {
	background: linear-gradient(#fff, #fff);
	border:3px solid #ff8400;
	color:#ff8400;
}
.footer .btn a span {
	display:block;
	font-size:0.7em;
	font-weight: 400;
}
.site_map_wra {
	width:100%;
	padding:20px 0 10px 0;
	background:rgba(0,0,0,0.3);
}
.site_map_inner {
	max-width:1280px;
	margin:0 auto;
	padding:0 20px;
	box-sizing:content-box;
}
.site_map {
	display:flex;
	align-items: center;
	justify-content: start;
	flex-wrap: wrap;
	font-size:16px;
}
.site_map a {
	margin:0 30px 10px 0;
	padding:0 0 0 20px;
	position:relative;
	min-width:130px;
}
.site_map a:nth-child(4) {
	/*margin:0 24% 10px 0;*/
	margin:0 36% 10px 0;
}
.site_map a:before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:11px;
	height:100%;
	transition: all 0.3s ease-in-out;
	background:url(../images/common/f_arrow.png) center center no-repeat;
}
.site_map a:hover:before {
	left:5px;
}


.copyright{
	background:#fff;
	color:#000;
	padding:10px 0;
}
address{
	max-width:960px;
	margin:0 auto;
	box-sizing: content-box;
	padding:0 10px;
	text-align:center;
	font-style:normal;
	font-size:16px;
}

.img_cap{
	position: relative;
}

.img_cap span{
	background: rgba(0,0,0,0.6);
	font-size:10px;
	display: block;
	padding:3px 5px;
	line-height: 1.5;
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: right;
}

.img_cap.white span{
	background: rgba(255,255,255,0.6);
	color: #333333;
}

.pagetop{
	position: fixed;
	bottom: 20px;
	right: -60px;
	transition: all 0.5s ease-in-out 0s;
}

.pagetop.scrolled{
	right: 20px;
}

.pagetop2{
	position: fixed;
	bottom: 30px;
	right: -100px;
	transition: all 0.5s ease-in-out 0s;
	z-index:99;
}

.pagetop2.scrolled{
	right: 20px;
}

.pager {
	display:flex;
	align-items:center;
	justify-content: center;
}
.pager li {
	margin:0 20px 0 0;
	height:30px;
	line-height:30px;
	font-size:18px;
	text-align:center;
}
.pager li.back, .pager li.next {
}
.pager li a, .pager li span {
	display:block;
	width:100%;
	position:relative;
	color:#fff;
	padding:0 10px;
}
.pager li.back a, .pager li.next a {
	color:#000;
}
.pager li:not(.next,.back) a:after, .pager li:not(.next,.back) span:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:-1;
	border-radius: 100%;
}
.pager li:not(.next,.back) a:after {
	background:#333;	
	transition: all 0.3s ease-in-out 0s;
}
.pager li:not(.next,.back) a:hover:after {
	background:#009e41;
}
.pager li:not(.next,.back) span:after {
	background:#009e41;	
}


.pager2 {
	display:flex;
	align-items:center;
	justify-content: center;
}
.pager2 li {
	margin:0 20px 0 0;
	height:30px;
	line-height:30px;
	font-size:18px;
	text-align:center;
}
.pager2 li.back, .pager2 li.next {
}
.pager2 li a, .pager2 li span {
	display:block;
	width:100%;
	color:#fff;
	padding:0 10px;
	border-radius: 100%;
}
.pager2 li.back a, .pager2 li.next a {
	color:#000;
}
.pager2 li span {
	background:#009e41;	
}
.pager2 li:not(.next,.back) a {
	background:#333;
	transition: all 0.3s ease-in-out 0s;
}
.pager2 li:not(.next,.back) a:hover {
	background:#009e41;
}


@media screen and (max-width: 1140px){
	.site_map a {
		min-width:auto;
	}
	.site_map a:nth-child(4) {
		/*margin:0 30px 10px 0;*/
		margin:0 0 10px 0;
	}
	.pagetop2{
		bottom: 10px;
	}
}

@media screen and (max-width: 1080px){

	header.login{
		height:60px;
	}
	div.header {
		height:100%;
	}

	div.header h1{
		display:none;
	}
	div.header h2 {
		bottom:auto;
		top:16px;
	}

	ul.headbtn {
		position:absolute;
		top:auto;
		bottom:0;
		right:-10px;
		width:calc(100% + 20px);
		padding:0;
		background:none;
	}
	ul.headbtn li {
		width:50%;
	}
	ul.headbtn li a {
		display:block;
/*		padding:10px 19px;*/
		padding: 15px 19px;
		text-align:center;
		color:#fff;
		font-size:18px;
		line-height:1.2;
		position:relative;
		letter-spacing:0.1em;
	}
	ul.headbtn li a small {
		display:inline;
	}
	.header_login ul.headbtn {
		display:none;
	}

	ul.headnavi{
		display:none;
	}
	.nav_btn{
		display:block;
	}
	.head_team_navi {
		display:none;
	}

	nav.gnavi_wrap{
		position:fixed;
		top:0;
		right:-50%;
		width:50%;
		height:100%;
		background:rgba(255,255,255,0.95);
		overflow:hidden;
		transition:all 0.5s ease-in-out;
		display:flex;
		align-items: flex-start;
		padding:60px 0 0 0;
	}
	.header_login nav.gnavi_wrap {
		right:-50%;
	}
	body.nav_open nav.gnavi_wrap{
		right:0;
	}
	ul.gnavi {
		margin-top: 32%;
		flex-wrap:wrap;
		width:100%;
	}
	ul.gnavi li {
		width:48%;
		box-sizing: border-box;
		padding:0;
		margin:0 1%;
		border-right:0;
		display:flex;
	}
	/*ul.gnavi li:first-child {
		width:96%;
	}*/
	ul.gnavi li.ds {
		display:block;
	}
	ul.gnavi li.ts {
		width:98%;
		display:block;
	}
	ul.gnavi li.team {
		margin:30px 2% 0 2%;
		position:relative;
	}
	ul.gnavi li.team:before {
		content:"";
		position:absolute;
		top:15px;
		left:10px;
		width:36px;
		height:36px;
		background:url(../images/common/team_icon01.png) center center no-repeat;
	}
	
	ul.gnavi li a {
		display:block;
		width:100%;
		margin:0 0 10px;
		color:#000;
		padding:25px 10px;
		text-align:center;
		border:2px solid #000;
		letter-spacing:-0.05em;
	}
	body:not(.mobile) ul.gnavi li a.cr,ul.gnavi li a:hover {
		text-decoration:none;
		background:rgba(0,0,0,0.9);
		color:#fff;
	}
	ul.gnavi li.team a {
		background:#009e41;
		color:#fff;
	}
	ul.gnavi li.logout a {
		background:#00471e;
		color:#fff;
		
	}
}

@media screen and (max-width: 767px){


	header{
/*		height:98px;*/
		height:106px;
	}
	div.header h2 {
		bottom:auto;
		top:16px;
		width: 215px;
	}
	header.login {
		height:60px;
	}
	nav.gnavi_wrap{
		right:-100%;
		width:100%;
	}
	.header_login nav.gnavi_wrap {
		right:-100%;
	}
	ul.gnavi li a {
		font-size:14px;
	}
	ul.headbtn li a {
		font-size:5.5vw;
		letter-spacing: -0.03em;
		padding: 8px 10px;
		
	}
	ul.headbtn li a small {
		font-size:0.6em;
	}

	.footer {
		padding:0 20px 30px 20px;
	}
	.footer .btn  {
		width: 85%;
	}
	.footer .btn a {
		font-size:22px;
		padding: 12px 15px 10px;
	}
	.site_map {
		font-size:14px;
	}
	address{
		font-size:12px;
	}

	.pagetop2{
		width:60px;
		right:-50px;
		bottom: 15px;
	}
	.pagetop2.scrolled{
		right: 10px;
	}

	.pager li {
		margin:0 10px 0 0;
		font-size:14px;
		height:28px;
		line-height:28px;
	}
	.pager li.back, .pager li.next {
		letter-spacing:-0.1em;
	}
	
	
}


@media screen and (max-width: 640px){
	.site_map {
		justify-content: start;
	}
	.site_map a {
		width:50%;
		margin:0 0 10px 0;
	}
}

@media screen and (max-width: 600px){

	.sp_nav li {
		width:50%;
	}
	.sp_nav li.inq {
		width:100%;
	}
	
}

@media screen and (max-width: 480px){
	.footer .btn a {
		letter-spacing:-0.05em;
	}
}

.sec_inner {
	max-width:1280px;
	margin:0 auto;
	padding:0 20px;
	box-sizing:content-box;
}

.read {
	font-size:16px;
	line-height:2;
}
.read2 {
	font-size:18px;
	line-height:2;
}
.t_bold {
	font-weight:900;
}

.team_menu {
	width:100%;
	background:#333333;
}
.team_menu .team_menu_col {
	max-width:1280px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	position:relative;
}
.team_menu .team_menu_col:before {
	content:"";
	position:absolute;
	top:10%;
	left:0;
	width:1px;
	height:80%;
	background:#666;
}
.team_menu .team_menu_col li {
	width:16.6666%;
}
.team_menu .team_menu_col li a {
	position:relative;
	padding:0 10px;
	display:flex;
	overflow:hidden;
	justify-content: center;
	align-items:center;
	text-align:center;
	height:98px;
}
.team_menu .team_menu_col li a:after {
	content:"";
	position:absolute;
	top:10%;
	right:0;
	width:1px;
	height:80%;
	background:#666;
}
.team_menu .team_menu_col li a:before {
	content:"";
	position:absolute;
	bottom:1px;
	height:4px;
	width:0;
	left:0;
	transition:all 0.2s ease-in-out;
	background:#009f42;
}
.team_menu .team_menu_col li a:hover:before {
	width:100%;
}
.team_menu .team_menu_col li a.cr:before {
	width:100%;
}
.team_menu .team_menu_col li:nth-child(1) a { padding:0 23.4375%; }
.team_menu .team_menu_col li:nth-child(3) a { padding:0 12.5%; }
.team_menu .team_menu_col li:nth-child(4) a { padding:0 8.59375%; }
.team_menu .team_menu_col li:nth-child(5) a { padding:0 19.921875%; }
.team_menu .team_menu_col li:nth-child(6) a { padding:0 20.3125%; }
.team_menu .team_menu_col li:nth-child(7) a { padding:0 36.71875%; }

@media screen and (max-width: 767px){
	.team_menu .team_menu_col li:nth-child(1) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(2) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(3) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(4) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(5) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(6) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(7) a { padding:0 6%; }
	/*.team_menu .team_menu_col li:nth-child(1) a { padding:0 8.53%; }
	.team_menu .team_menu_col li:nth-child(2) a { padding:0 7.92%; }
	.team_menu .team_menu_col li:nth-child(3) a { padding:0 6%; }
	.team_menu .team_menu_col li:nth-child(4) a { padding:0 12.19%; }
	.team_menu .team_menu_col li:nth-child(5) a { padding:0 6.09%; }
	.team_menu .team_menu_col li:nth-child(6) a { padding:0 8.53%; }
	.team_menu .team_menu_col li:nth-child(7) a { padding:0 30.48%; }*/
}
@media screen and (max-width: 480px){
	.team_menu .team_menu_col li a {
		height:70px;
	}
}

.swipe {
	position: relative;
}
.swipe:before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:60px;
	height:44px;
	background:url(../images/common/swipe.png) left 50% no-repeat;
	background-size:auto 100%;
	display:none;
	-webkit-animation: sp_swipe 2s infinite ease-in-out;
	animation: sp_swipe 2s infinite ease-in-out;	
}
@-webkit-keyframes sp_swipe {
	0% {left: 0;}
	50% {left: 2%;}    
	100% {left: 0px;}
}
@keyframes sp_swipe {
	0% {left: 0;}
	50% {left: 2%;}    
	100% {left: 0px;}
}
@media screen and (max-width: 700px){
	.swipe {
		padding:50px 0 0 0;
	}
	.swipe:before {
		display:block;
	}
}



.parallax {
	transition:all 0.2s ease-in-out;
	opacity: 0;
}
.parallax.p-view {
	opacity: 1;
}






