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

#wrap {
	width:100%;
	margin:0 auto;
	overflow:hidden;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

body {
	font-family: "Yu Gothic", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック";
	font-size: 14px;
}

.sp,.sp02,.none {display: none;}

a {
	transition: 0.8s;
	-webkit-transition: 0.8s;
	-ms-transition: 0.8s;
}

a:hover {
	opacity: 0.6;
	transition: 0.8s;
	-webkit-transition: 0.8s;
	-ms-transition: 0.8s;
}


/**********************************************************************************

	header

**********************************************************************************/
header {
	position: relative;
	z-index: 2;
}

header .box {
	width: 100%;
	background-color: #cc0000;
}

header .box div {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	justify-content: space-between;
	align-items: center;
}

header .box div h1 a {
	width: 333px;
	padding-top: 80px;
	background: url(../img/common/h1_pc.png) no-repeat;
	background-size: 100%;
	height: 0;
	overflow: hidden;
}

a.pdf{
	color: #fff;
	font-weight: bold;
    font-size: 18px;
	margin-left: 180px;
}

@media screen and (max-width: 1030px) {
	header .box div {width: 90%;}
	a.pdf{margin-left: 70px;}
	
}

@media screen and (max-width: 730px) {
	header .box div h1 a {
		width: 243px;
		padding-top: 80px;
		background: url(../img/common/h1_sp.png) no-repeat;
		background-size: 100%;
		height: 0;
		overflow: hidden;
	}
}

@media screen and (max-width: 640px) {
	header .box div h1 {width: 40%;}
		
	header .box div h1 a {
		width: 100%;
		padding-top: 32%;
	}
	
	header .box div a{ width: 50%; float: left;}
	header .box div a img{ width: 100%; float: left;  text-align: left;}
	
	header .box div img {width: 40%;}
	a.pdf{display: none;}
	
	
}

/**********************************************************************************

	nav

**********************************************************************************/
/*PCのスタイル*/
nav {
	width: 100%;
	position: absolute;
	top: 86px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}
header nav ul{
	position: relative;
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	align-items: center;
	margin: 0 auto;
	max-width: 995px;
}

header nav ul li{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
	background-color: #FFF;
	margin-right: -1px;
	height: 80px;
}

header nav ul li.sp{display: none;}
header nav ul li:first-child,header nav ul li:last-child {
	padding: 0;
	background-color: transparent;
}

header nav ul li p {
	padding: 25px 39px;
	opacity: 0.4;
	height: 80px;
}

header nav ul li a{
	padding: 24px 39px;
	text-decoration: none;
	height: 80px;
}
header nav ul li a:hover {
	border-bottom: solid 3px #cc0000;
	opacity: 1;
	transition: 0s;
	-webkit-transition: 0s;
	-ms-transition: 0s;
}

#nav_toggle{display: none;}

.nav_sc {
	position: fixed;
	top: 0;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.6));
	background-color: #FFF;
}

@-moz-document url-prefix() {
	nav {top: 87px;}
}


@media all and (-ms-high-contrast: none){
	nav {top: 89px;}
	
	.nav_sc {
		box-shadow: 0 0 10px gray;
	}
}

@media screen and (max-width: 1030px) {
	header nav ul{max-width: 808px;}
	header nav ul li:first-child,header nav ul li:last-child {width: 5%;}
	header nav ul li img {width: 100%;}
	header nav ul li,header nav ul li a{height: 64px;}
	header nav ul li a,header nav ul li p{padding: 16px 25px;}
}


@media screen and (max-width:834px){
	/*メニュー部分*/
	nav{
		display: none;
		position: absolute;
		width: 100%;
		height: 100vh;
		background: rgba(204,0,0,0.8);
		top: 99%;
	}
	header nav ul{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-56%);
		display: block;
		width: 100%;
	}
	header nav ul li.sp{display: block;}
	header nav ul li:first-child,header nav ul li:last-child {display: none;}
	header nav ul li{
		margin: 0 auto;
		height: auto;
		text-align: center;
		background-color: transparent;
		font-size: 40px;
	}
	header nav ul li a{display: block;}
	
	header nav ul li a:hover {
		border-bottom: none;
		opacity: 0.6;
		transition: 0.8s;
		-webkit-transition: 0.8s;
		-ms-transition: 0.8s;
	}
	
	header nav ul li a,header nav ul li p{color: #FFF;}
	
	.nav_sc {background: rgba(204,0,0,0.8);}
	
	.nav_sc ul {transform: translate(-50%,-50%);}
	
	
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 70px;
		height: 70px;
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 100;
		background-color: #FFF;
	}
	#nav_toggle div {
		position: relative;
		width: 40px;
		margin: 17px auto;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background-color: #cc0000;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){top:0px;}
	#nav_toggle span:nth-child(2){top:14px;}
	#nav_toggle span:nth-child(3){top:28px;}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle div {margin: 19px auto;}
	
	.open #nav_toggle span:nth-child(1) {
		top: 12px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_toggle span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	
	.toggle_sc{
		position: fixed !important;
		top: 0 !important;
		box-shadow: 0 0 8px gray;
	}

}

@media screen and (max-width:480px){
	header nav ul li{font-size: 36px;}
	
	#nav_toggle{
		width: 60px;
		height: 60px;
	}
	#nav_toggle div {
		width: 30px;
		margin: 16px auto;
	}
	#nav_toggle span:nth-child(2){top:12px;}
	#nav_toggle span:nth-child(3){top:24px;}
	
	.open #nav_toggle div {margin: 16px auto;}
}

@media screen and (max-width:375px){
	header nav ul li{font-size: 20px;}
}

@media screen and (max-width:320px){
	header nav ul li a,header nav ul li p{padding: 10px 25px;}
	
	#nav_toggle{
		width: 50px;
		height: 50px;
	}
	#nav_toggle div {
		width: 24px;
		margin: 13px auto;
	}
	#nav_toggle span:nth-child(2){top:10px;}
	#nav_toggle span:nth-child(3){top:20px;}
	
	.open #nav_toggle div {margin: 11px auto;}
}

@media screen and (max-height: 1024px) and (max-width: 768px) {
	header nav ul li,header nav ul li a{height: auto;}
}

/**********************************************************************************

	パンくず

**********************************************************************************/

#pnkz {
	width: 100%;
	max-width: 1000px;
	padding-top: 30px;
	margin: 0 auto;
}

#pnkz a {text-decoration: underline;}

@media screen and (max-width:1060px){
	#pnkz {width: 90%;}
}

@media screen and (max-width:480px){
	#pnkz {font-size: 12px;}
}


/**********************************************************************************

	pagetop

**********************************************************************************/

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
}

@media screen and (max-width: 640px) {
	#page-top {display: none !important;}
}


/**********************************************************************************

	footer

**********************************************************************************/

footer {
	width: 100%;
	margin: 0 auto;
	background-color: #cc0000;
	padding: 50px 0 30px;
	text-align: center;
}

footer ul.menu {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto;
}

footer ul.menu li {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding-right: 50px;
}
footer ul.menu li:last-child {padding-right:0;}

footer ul.menu li a,footer ul li p {color: #FFF;}
footer ul.menu li p {opacity: 0.4;}

footer .home {margin: 50px auto;}

footer ul.bnr {text-align:center; margin-bottom: 50px;}
footer ul.bnr li{
	display: inline-block;
	margin: 0 10px ;
}


footer .box {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .box small {
	display: block;
	color: #FFF;
	margin-left: 35px;
	font-size: 12px;
}

@media screen and (max-width:680px){
	
	footer .box {display: block;}
	footer .box small {
		margin-left: 0;
		margin-top: 20px;
	}
	
	footer ul.bnr{margin-bottom: 30px;}
	
	footer ul.bnr li{margin: 15px 0;}
	
}

@media screen and (max-width:630px){
	footer ul.menu {width: 90%;}
	
	footer ul.menu li {line-height: 2.5em;}
	
	footer ul.menu li:first-child {padding-left: 50px;}
}

@media screen and (max-width:480px){
	footer {
		padding: 20px 0 30px;
	}
}

@media screen and (max-width:375px){
	footer ul.menu li {
		font-size: 16px;
		padding-right: 40px;
	}
	footer ul.menu li:first-child {padding-left: 40px;}
	
	footer .home img {width: 80%;}
}













