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

body{
	font-size:1.0rem;
	line-height:1.75em;
}

a{
	color:#000;
	text-decoration: none;
}

a:hover{
	color:#444;
	text-decoration: underline;
}

img{
	max-width: 100%;
	max-height: 100%;
}

/*//////////----- HEADER -----//////////*/

#header{
	width:100%;
	
	background-color:#fff;
	color:#000;
}

#header div.navigation{
	width:100%;
	
	background-color:#000;
	color:#fff;
}

#header div.navigation div.content{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:0 10px;
}

#header div.navigation h1{
	width:100%;
	
	font-size:0.8rem;
	line-height:40px;
	
	text-align: center;
}

#header div.navigation ul.btn{
	display:none;
}

@media only screen and (min-width: 760px){
	
	#header div.navigation h1{
		width:calc(100% - 480px);
		
		text-align: left;
	}
	
	#header div.navigation ul.btn{
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: flex-start;
		
		width:480px;
	}
	
	#header div.navigation ul.btn li{
		display:block;
		width:120px;
		
		font-size:0.8rem;
		line-height:40px;
		font-weight:bold;
	}
	
	#header div.navigation ul.btn li a{
		display:block;
		
		color:#fff;
		
		transition:0.25s;
		
		box-sizing: border-box;
		padding-left:30px;
		
		position: relative;
	}
	
	#header div.navigation ul.btn li a:before{
		display:block;
		content:"";
		
		width:10px;
		height:10px;
		
		position: absolute;
		top:0;
		bottom:0;
		left:10px;
		
		margin:auto 0;
		
		background-image: url("../images/icon-sample-white.png");
		background-repeat: no-repeat;
		background-size: 10px;
		background-position: center;
	}
	
	#header div.navigation ul.btn li:nth-child(1) a:before{
		background-image: url("../images/icon-sample-white.png");
	}
	
	#header div.navigation ul.btn li:nth-child(2) a:before{
		background-image: url("../images/icon-sample-white.png");
	}
	
	#header div.navigation ul.btn li:nth-child(3) a:before{
		background-image: url("../images/icon-sample-white.png");
	}
	
	#header div.navigation ul.btn li:nth-child(4) a:before{
		background-image: url("../images/icon-sample-white.png");
	}
	
	#header div.navigation ul.btn li a:hover{
		background-color:#444;
		color:#fff;
		
		text-decoration: none;
	}
	
}

#header div.container{
	display:none;
	width:100%;
}

@media only screen and (min-width: 760px){
	
	#header div.container{
		display:block;
		width:100%;
		
		background-color:#fff;
		color:#000;
	}
	
	#header div.container div.content{
		display:flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: flex-start;
		
		width:100%;
		margin:0 auto;
		max-width: 1080px;
		
		box-sizing: border-box;
		padding:15px;
	}
	
	#header div.container p.logo{
		width:240px;
	}
	
	#header div.container p.logo a{
		display:block;
		
		transition:0.25s;
	}
	
	#header div.container p.logo a:hover{
		opacity: 0.8;
		
		text-decoration: none;
	}
	
	#header div.container p.logo img{
		width:100%;
		vertical-align: bottom;
	}
	
	#header div.container p.btn-login{
		width:calc(100% - 240px);
		
		text-align: right;
	}
	
	#header div.container p.btn-login a{
		display:inline-block;
		
		transition:0.25s;
	}
	
	#header div.container p.btn-login a:hover{
		opacity: 0.8;
		
		text-decoration: none;
	}
	
	#header div.container p.btn-login img{
		width:100%;
		vertical-align: bottom;
	}
	
}

#header div.cover{
	width:100%;
	
	background-color:#fff;
	color:#000;
	
	position: relative;
}

#header div.cover div.content{
	box-sizing: border-box;
	padding:20px;
	
	background-image: url("../images/img-cover-sample.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#header div.cover p.logo{
	margin-bottom:20px;
	
	text-align: center;
}

#header div.cover p.logo img{
	width:100%;
	vertical-align: bottom;
	max-width: 480px;
}

#header div.cover p.contact{
	text-align: center;
}

#header div.cover p.contact img{
	width:100%;
	vertical-align: bottom;
	max-width: 400px;
}

@media only screen and (min-width: 760px){
	
	#header div.cover div.content{
		padding:40px;
	}
	
}

@media only screen and (min-width: 960px){
	
	#header div.cover div.content{
		padding:80px 40px;
	}
	
}

#global-navi{
	display:none;
}

@media only screen and (min-width: 760px){
	
	#global-navi{
		display:block;
		
		width:100%;
		
		background-color:#000;
		color:#fff;
	}
	
	#global-navi div.content{
		width:100%;
		margin:0 auto;
		max-width: 1080px;
		
		box-sizing: border-box;
		padding:0 10px;
	}
	
	#global-navi ul{
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: flex-start;
		
		width:100%;
	}
	
	#global-navi ul li{
		width:calc(100%/6);
		
		font-size:1.0rem;
		line-height:25px;
		
		font-weight:bold;
		
		text-align: center;
	}
	
	#global-navi ul li span.note{
		display:block;
		
		font-size:0.8rem;
		line-height:25px;
		font-weight:normal;
	}
	
	#global-navi ul li a{
		display:block;
		
		box-sizing: border-box;
		padding:15px 0;
		
		background-color:#000;
		color:#fff;
		
		transition:0.25s;
	}
	
	#global-navi ul li a:hover{
		background-color:#444;
		color:#fff;
		
		text-decoration: none;
	}
	
}

/*//////////----- BREADCRUMB -----//////////*/

#breadcrumb{
	background-color:#f0f0f0;
	color:#000;
	
	width:100%;
}

#breadcrumb div.content{
	width:100%;
	margin:0 auto;
	max-width: 760px;
}

#breadcrumb ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	box-sizing: border-box;
	padding:0 10px;
}

#breadcrumb ul li{
	display:inline-block;
	
	box-sizing: border-box;
	padding-right:15px;
	
	font-size:0.6rem;
	line-height:40px;
	
	position: relative;
}

#breadcrumb ul li:after{
	display:block;
	content:"-";
	
	position: absolute;
	top:0;
	bottom:0;
	right:5px;
}

#breadcrumb ul li:last-child:after{
	display:none;
}

#breadcrumb ul li a{
	display:inline-block;
	color:#000;
}

#breadcrumb ul li a:hover{
	text-decoration: underline;
}

/*//////////----- FOOTER -----//////////*/

#footer{
	width:100%;
	
	background-color:#000;
	color:#fff;
}

#footer div.contactus{
	box-sizing: border-box;
	padding:40px 20px;
}

#footer div.contactus p.logo{
	width:100%;
	
	text-align: center;
	margin-bottom:20px;
}

#footer div.contactus p.logo a{
	display:block;
	
	transition:0.25s;
}

#footer div.contactus p.logo a:hover{
	opacity: 0.8;
}

#footer div.contactus p.logo img{
	width:100%;
	vertical-align: bottom;
	max-width: 240px;
}

#footer div.contactus p.contact{
	width:100%;
	
	text-align: center;
	margin-bottom:10px;
}

#footer div.contactus p.contact a{
	display:block;
	
	transition:0.25s;
}

#footer div.contactus p.contact a:hover{
	opacity: 0.8;
}

#footer div.contactus p.contact img{
	width:100%;
	vertical-align: bottom;
	max-width: 400px;
}

#footer div.contactus p.credit{
	width:100%;
	
	text-align: center;
	margin-bottom:10px;
}

#footer div.contactus p.credit a{
	display:block;
	
	transition:0.25s;
}

#footer div.contactus p.credit a:hover{
	opacity: 0.8;
}

#footer div.contactus p.credit img{
	width:100%;
	vertical-align: bottom;
	max-width: 400px;
}

#footer address{
	box-sizing: border-box;
	padding:40px 20px;
	
	text-align: center;
	
	font-size:0.6rem;
	line-height:30px;
}

/*//////////----- FOOTER-NAVI -----//////////*/

#footer-navi{
	width:100%;
	
	/*background-color:#222;*/
	color:#fff;
}

#footer-navi div.content{
	width:100%;
	margin:0 auto;
	max-width: 480px;
	
	box-sizing: border-box;
	padding:0 20px;
}

#footer-navi ul{
	width:100%;
	
	box-sizing: border-box;
	border-top:solid 1px #fff;
}

#footer-navi ul li{
	font-size:0.8rem;
	line-height:50px;
	
	font-weight:bold;
}

#footer-navi ul li a{
	display:block;
	
	box-sizing: border-box;
	border-bottom:solid 1px #fff;
	
	color:#fff;
	
	transition:0.25s;
	position: relative;
}

#footer-navi ul li a:hover{
	opacity: 0.8;
	text-decoration: none;
}

#footer-navi ul li a:after{
	display:block;
	content:"";
	
	width:15px;
	height:15px;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
	
	background-image: url("../images/icon-arrow-right.png");
	background-repeat: no-repeat;
	background-size: 10px;
	background-position: center;
}

@media only screen and (min-width: 760px){
	
	#footer-navi div.content{
		max-width: 760px;
	}
	
	#footer-navi ul{
		border-top:none;
		
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: center;
		
		width:100%;
	}
	
	#footer-navi ul li{
		width:calc(100%/8);
		
		font-size:0.6rem;
		line-height:30px;
		
		box-sizing: border-box;
		padding:0 5px;
		
		text-align: center;
	}
	
	#footer-navi ul li a{
		display:block;
		
		border-bottom:none;
	}
	
	#footer-navi ul li a:after{
		display:none;
	}
	
	#footer-navi ul li a:before{
		display:block;
		content:"-";
		
		position: absolute;
		top:0;
		bottom:0;
		right:-5px;
	}
	
	#footer-navi ul li:nth-child(8n) a:before{
		display:none;
	}
	
}

/*//////////----- PAGETOP -----//////////*/

#pagetop{
	width:80px;
	height:80px;
	
	position: fixed;
	bottom:100px;
	right:20px;
	
	z-index: 10;
}

#pagetop p.btn{
	width:100%;
}

#pagetop p.btn a{
	display:block;
	
	transition:0.25s;
}

#pagetop p.btn a:hover{
	opacity: 0.8;
}

#pagetop p.btn img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 760px){
	
	#pagetop{
		bottom:20px;
	}
	
}

/*//////////----- DRAWER-NAVI -----//////////*/

#drawer{
	position: fixed;
	top:0;
	right:-280px;
	
	width:280px;
	height:100%;
	
	background-color:#fff;
	color:#000;
	
	z-index: 20;
}

@media only screen and (min-width: 760px){
	
	#drawer{
		display:none;
	}
	
}

#drawer input[type="checkbox"]{
	display:none;
}

#drawer label{
	display:block;
	
	width:60px;
	height:60px;
	
	background-color:#004488;
	color:#000;
	
	position: absolute;
	top:0;
	left:-60px;
	
	z-index: 30;
	
	transition:0.25s;
}

#drawer input[type="checkbox"]:checked ~ label{
	left:-340px;
}

#drawer label:hover{
	cursor: pointer;
}

#drawer label:before{
	display:block;
	content:"";
	
	width:30px;
	height:2px;
	
	background-color:#fff;
	
	position: absolute;
	top:25px;
	left:0;
	right:0;
	
	margin:0 auto;
	transition:0.25s;
}

#drawer input[type="checkbox"]:checked ~ label:before{
	transform: rotate(45deg);
	
	top:28.75px;
}

#drawer label:after{
	display:block;
	content:"";
	
	width:30px;
	height:2px;
	
	background-color:#fff;
	
	position: absolute;
	bottom:25px;
	left:0;
	right:0;
	
	margin:0 auto;
	transition:0.25s;
}

#drawer input[type="checkbox"]:checked ~ label:after{
	transform: rotate(-45deg);
	
	bottom:28.75px;
}

#drawer div.content{
	width:280px;
	height:100%;
	
	background-color:#004488;
	color:#fff;
	
	box-sizing: border-box;
	padding:0 10px;
	
	transition:0.25s;
	
	position: absolute;
	top:0;
	left:0;
	
	overflow-y: scroll;
}

#drawer input[type="checkbox"]:checked ~ div.content{
	left:-280px;
}

#drawer ul{
	width:100%;
}

#drawer ul li{
	font-size:0.8rem;
	line-height:50px;
	font-weight:bold;
}

#drawer ul li a{
	display:block;
	color:#fff;
	
	box-sizing: border-box;
	border-bottom:solid 1px #fff;
	
	position: relative;
}

#drawer ul lii a:hover{
	opacity: 0.8;
	text-decoration: none;
}

#drawer ul li a:after{
	display:block;
	content:"";
	
	width:15px;
	height:15px;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
	
	background-image: url("../images/icon-arrow-right.png");
	background-repeat: no-repeat;
	background-size: 10px;
	background-position: center;
}

/*//////////----- FIXED-MENU-BOTTOM -----//////////*/

#fixed-navi-bottom{
	width:100%;
	
	position: fixed;
	bottom:0;
	left:0;
	
	z-index: 10;
	
	background-color:rgba(0,50,100,0.90);
	color:#fff;
}

@media only screen and (min-width: 760px){
	
	#fixed-navi-bottom{
		display:none;
	}
	
}

#fixed-navi-bottom div.content{
	width:100%;
	margin:0 auto;
	max-width: 480px;
}

#fixed-navi-bottom ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

#fixed-navi-bottom ul li{
	width:calc(100%/5);
	
	font-size:0.8rem;
	line-height:40px;
	font-weight:bold;
	
	text-align: center;
}

#fixed-navi-bottom ul li a{
	display:block;
	
	color:#fff;
	transition:0.25s;
	
	box-sizing: border-box;
	padding-top:40px;
	
	position: relative;
}

#fixed-navi-bottom ul li a:before{
	display:block;
	content:"";
	
	width:20px;
	height:20px;
	
	position: absolute;
	top:20px;
	left:0;
	right:0;
	
	margin:0 auto;
	
	background-image: url("../images/icon-sample-white.png");
	background-repeat: no-repeat;
	background-size:20px;
	background-position: center;
}

/*//////////----- FIXED-MENU-TOP -----//////////*/

#fixed-navi-top{
	display:none;
}

@media only screen and (min-width: 960px){
	
	#fixed-navi-top{
		display:block;
		
		width:100%;
		
		background-color:rgba(0,50,100,0.90);
		color:#fff;
		
		position: fixed;
		top:-80px;
		left:0;
		
		transition:0.5s;
		
		z-index: 10;
	}
	
	#fixed-navi-top.js-scroll-active{
		top:0;
	}
	
	#fixed-navi-top div.content{
		width:100%;
		margin:0 auto;
		max-width: 1080px;
		
		box-sizing: border-box;
		padding:0 10px;
	}
	
	#fixed-navi-top ul{
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: flex-start;
		
		width:100%;
	}
	
	#fixed-navi-top ul li{
		width:calc(100%/10);
		
		font-size:0.8rem;
		line-height:25px;
		
		font-weight:bold;
		
		text-align: center;
	}
	
	#fixed-navi-top ul li span.note{
		display:block;
		
		font-size:0.6rem;
		line-height:25px;
		font-weight:normal;
	}
	
	#fixed-navi-top ul li a{
		display:block;
		
		box-sizing: border-box;
		padding:15px 0;
		
		color:#fff;
		
		transition:0.25s;
	}
	
	#fixed-navi-top ul li a:hover{
		background-color:#004488;
		color:#fff;
		
		text-decoration: none;
	}
}
