@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.2
*/
 
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    font-weight: normal;
    vertical-align:baseline;
    background:transparent;
	font-family: kozuka-gothic-pro, sans-serif;
font-weight: 700;
font-style: normal;
    line-height: 100%;
}
 
b{
    font-weight: bold;
}

/*行の高さをフォントサイズと同じにしています*/
body {
    line-height:160%;
	font-size:14px;
	color: #333;
	min-width: 1200px;
}

@media (max-width: 1200px) {
   /* 横幅が1200px以下の場合に適用するスタイル */

img{
    max-width: 1200px!important;
}
	
}


 
/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,aside,details,figcaption,figure,main,
footer,header,hgroup,menu,nav,section {
    display:block;
	margin:0;
	padding:0;
}
 
/*ulのマーカー（行頭記号）を表示しないようにしています*/
ul,ol {
    list-style:none;
}
 
/*引用符の表示が出ないようにしています*/
blockquote, q {
    quotes:none;
}
 
/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
 
/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
 
/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
 
/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}
 
/*テキストに打ち消し線が付くようにしています*/
del {
    text-decoration: line-through;
}
 
/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
 
/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
    border-collapse:collapse;
    border-spacing:0;
}
 
/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
 
/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
    vertical-align:middle;
}

/*画像の下に微妙なスペースが空かなくしています*/
img{
	vertical-align:top;
	font-size:0;
	line-height:0;
}

address{
	font-style: normal;
	font-weight: normal;
}

/***************************************************************************/
.hidden{
	display:none;
}
.center{
	text-align:center;
}
.right{
	text-align:right;
}
.left{
	text-align:left;
}

.f10{
	font-size:10px!important;
}
.f11{
	font-size:11px!important;
}
.f12{
	font-size:12px!important;
}
.f13{
	font-size:13px!important;
}
.f14{
	font-size:14px!important;
}
.f15{
	font-size:15px!important;
}
.f16{
	font-size:16px!important;
}
.f17{
	font-size:17px!important;
}
.f18{
	font-size:18px!important;
}
.f19{
	font-size:18px!important;
}
.f20{
	font-size:20px!important;
}
.f25{
	font-size:25px!important;
}
.f30{
	font-size:30px!important;
}
.red{
	color:#F00;
}
.green{
	color:#85B200;
}
.blue{
    color:#0066E5;
}

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


#pan{
    display: flex;
    width: 1100px;
    margin: auto;
    padding-top: 15px;
    padding-bottom: 15px;
}

#pan li a{
    text-decoration: none;
    color: #0059B2;
}

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

#pan li{
    color: #525252;
}

ol#pan > li:before{
    content: "»";
    padding-right: 10px;
    padding-left: 10px;
}

ol#pan > li:first-child:before {
  content: none;
}

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

header{
    min-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
	padding-top: 25px;
}



header #titile{
	margin-left: 35px;
	background: url("../img/top_titile.jpg") left top no-repeat;
	padding-left: 150px;
	display: flex;
	justify-content: space-between;
}

header #titile p#h1 a,
header #titile h1{
	font-size: 50px;
	color: #003485;
	line-height: 75px;
	margin-right: 30px;
}

header #titile p#h1 a{
	text-decoration: none;
}

header #titile p#h1 a b,
header #titile h1 b{
	font-size: 30px;
	padding-right: 15px;
}


header #titile .f13{
	font-family: kozuka-gothic-pro, sans-serif;
font-weight: 400;
font-style: normal;
}

header #titile .text{
	text-align: center;
	color: #003485; 
	line-height: 25px;
	font-size: 16px;
	padding-top: 10px;
}

header #top_btns ul{
	display: flex;
	padding-right: 25px;
}

header #top_btns ul li{
	margin-left: 10px;
}

@media (max-width: 1380px) {
   /* 横幅が1200px以下の場合に適用するスタイル */

header #top_btns ul{
    display: block;
}

	header #top_btns ul li{
		margin-bottom: 10px;
	}
	
}


#keyimg .sakana{
	position: absolute;
	z-index: 1000;
	right: 20%;
	top: 35px;
}


#keyimg .waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:100px;
  max-height:76px;
transform: scale(1,-1);
	z-index: 999;
}

/* Animation */

.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 15s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 20s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 26s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 40s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
    transform: translate3d(85px,0,0);
  }
}


nav{
	position: absolute;
	left: 50%;
	margin-left: -600px;
	bottom: -40px;
	z-index: 9999;
}

nav ul{
    display: flex;
	width: 1180px;
	background: #0085B2;
	padding-left: 10px;
	padding-right: 10px;
	justify-content: space-between;

}

nav ul li{
	width: 16.6%;
}

nav ul a{
    display: block;
    text-decoration: none;
    font-size: 20px;
	letter-spacing: 2px;
    color: #fff;
    line-height: 80px;
    /*width: 230px;*/
	width: 100%;
    text-align: center;
	transition: all .5s;
}

nav ul a:hover{
    background: #006ED7;
    color: #fff;
}

#up{
	position: fixed;
	right: 5%;
	bottom: 10%;
	z-index: 100000;
}

#up a{
	background: url("../img/up_bg.png") no-repeat;
	display: block;
	width: 74px;
	height: 69px;
	position: relative;
	
}

#up a img{
	position: absolute;
	bottom: 5px;
	left: -10px;
	animation: updown 1s  infinite;
	transition: all .5s;
}

@keyframes updown {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-5px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-5px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

#up a:hover img{
	bottom: 15px;
	left: 5px;
animation-play-state: paused;
}



.btns{
	width: 1200px;
	margin: auto;
}

.btns ul{
		display: flex;
	justify-content: space-between;
}

.btns ul img:hover{
    animation: hurueru .3s  infinite;
}

@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(1px, 1px) rotateZ(1deg)}
    50% {transform: translate(0px, 1px) rotateZ(0deg)}
    75% {transform: translate(1px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}



footer  .waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:10px;
  max-height:250px;
}

footer #footer_rap{
	background: #9CF;
	padding-top: 50px;
	padding-bottom: 100px;
}

footer #footer_in_rap{
	width: 1200px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}

footer #footer_titile dl{
	margin-bottom: 45px;
}

footer #footer_titile dt{
	background: url("../img/footer_icon.jpg") left top no-repeat;
	padding-left: 140px;
	line-height: 75px;
	font-size: 50px;
	margin-bottom: 25px;
}

footer #footer_titile dt a{
	color: #003485;
	text-decoration: none;
}

footer #footer_titile dt .f30{
	font-size: 30px;
	padding-right: 10px;
}

footer #footer_titile dd{
	color: #003485;
	text-align: center;
	font-size: 16px;
}

footer #footer_titile dd .f13{
	font-family: kozuka-gothic-pro, sans-serif;
font-weight: 400;
font-style: normal;
}

footer #footer_titile p{
	font-size: 16px;
	color: #003485;
	margin-bottom: 30px;
}

footer #footer_nav ul{
	display: flex;
	justify-content: space-between;
	width: 730px;
	border-right: 1px solid #fff;
	margin-bottom: 30px;
}

footer #footer_nav ul li{
	width: 100%;
}

footer #footer_nav ul a{
	color: #fff;
	font-weight: normal;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	text-decoration: none;
	display: block;
	width: 100%;
	height: 29px;
	line-height: 29px;
	border-left: 1px solid #fff;
	text-align: center;
}

footer #footer_nav ul a:hover{
	text-decoration: underline;
}

footer #footer_nav ul a .f11{
font-weight: normal;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

footer small{
    text-align: center;
    display: block;
    background: #fff;
    line-height: 50px;
    font-size: 12px;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: normal;
    color: #000;
}