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


/* -------------------------------------------------

header

------------------------------------------------- */
/* PC */
@media print, screen and (min-width:769px) {
header{
	display: none;
}
}
/* Tablet */
@media screen and (max-width:768px) {
header{
	background-color: #fff;
}
header > p{
	border-bottom: 1px solid #004c8e;
	text-align: right;
	margin: 0 0 8px;
}
header > p img{
	width: 80px!important;
	padding: 8px 10px 3px;
}
header > h1{
	width: 100px;
	margin: 0 auto;
}
}


/* -------------------------------------------------

nav

------------------------------------------------- */
/* PC */
@media print, screen and (min-width:769px) {
nav{
	background-image: url("../images/bg_wave.png") , url(../images/mainimg.jpg);
	background-repeat: repeat-x, no-repeat;
	padding: 780px 0 40px;
	animation: moveWave 20s infinite linear;
}
nav > dl{
	width: 1000px;
	height: auto;
	margin: 0 auto;
}
nav > dl dt{
	display: none;
}
nav > dl dd a{
	width: 150px;
	float: left;
	display: block;
	background-color:#fff;
	padding: 10px 0 7px;
	transition: 0.5s;
}
nav > dl dd a span{
	display: block;
	font-weight: 700;
	font-size: 0.9em;
	color:#222;
	text-align: center;
}
nav > dl dd a img{
	display: block;
	margin: 0 auto 5px;
}
nav > dl dd a:hover{
	transform: translateY(-5px);
}
nav > dl dd:nth-of-type(n+2) a{
	margin-left: 20px;
}
}
@keyframes moveWave{
    0%    { background-position: 0 bottom, center top -50px; }
    100%  { background-position: -873px bottom, center top -50px; }
}
/* Tablet */
@media screen and (max-width:768px) {
nav{
	background: url(../images/mainimg.jpg) no-repeat center top;
	background-size:auto 400px;
	padding-top: 400px;
}
nav > dl{
	position: relative;
}
nav > dl dt:before{
	content: "\f0c9";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-size: 30px;
	line-height:40px;
	display: block;
	position: absolute;
	width:50px;
	top:8px;
	left: 20px;
	background-color: #fff;
	text-align: center;
}
nav > dl dt.spMenuOpen:before{
	content: "\f00d";
}
nav > dl dd:not(:first-of-type){
	display:none;
	border-top: 1px solid #555;
}
nav > dl dd a{
	display: block;
	text-align: center;
	color:#fff;
	background-color: #1b1b1b;
	padding: 16px 0;
	font-size: 1.2em;
}
nav > dl dd a img{
	display: none;
}
}


/* -------------------------------------------------

gotop

------------------------------------------------- */
.gotop {
	position: fixed;
	bottom:0;
	padding-top: 10px;
}
.gotop a {
	color: #fff;
	display: block;
	text-align: center;
	background-color: #1b1b1b;
	transition: 0.5s;
	transform: translate(0,0);
}
.gotop a:hover {
	transform: translate(0,-5px);
	background-color: #333;
}
.gotop a:before{
	font-family: "Font Awesome 5 Free";
	content: "\f0d8";
}
/* PC */
@media print, screen and (min-width:769px) {
.gotop {
	right: 20px;
	padding-bottom: 20px;
}
.gotop a {
	width: 60px;
	line-height: 60px;
	font-size: 25px;
}
}
/* Tablet */
@media screen and (max-width:768px) {
.gotop {
	right: 10px;
	padding-bottom:10px;
}
.gotop a {
	width: 40px;
	line-height: 40px;
	font-size: 20px;
}
}


