@charset 'UTF-8';
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css?family=Montserrat:400,300,100,500,700);
@import url("//fonts.googleapis.com/css?family=Roboto:400,300,100,500,700");
@import url("//fonts.googleapis.com/css?family=Alata");

body {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Helvetica,Arial,sans-serif;
  color: #000;
  font-size: 16px;
  line-height:1.6;
  position:relative;
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

h1,h2,h3,h4,h5,
ol,ul,li,dl,dd,
form,figure,section,table,tr,td
div,img{
	margin		: 0;
	padding		: 0;
	}

ol,ul,li,
dl,dd{
	list-style	: none;
	}
	
article, aside, details, figure, figcaption, footer, header, main, nav, section {
  display: block;
}

h1,h2,h3,h4,h5{
	font-size		: 100%;
	}

p {margin:0;padding:0;}

table{
	border-collapse: collapse;
	border-spacing: 0;
	}

img{
	border: none;
	margin:0;
	padding:0;
	vertical-align:middle;
	}

/* link
-------------------------------------------------- */
a {
	text-decoration: none;
	outline:none;
	color:#5C5B5C;
	}

a:hover {  
	color		: #5C5B5C;
	text-decoration	: none;
	}
	

/* .line
-------------------------------------------------- */
hr {
	display		: none;
	}
	
.clr {
	height		: 0;
	clear		: both;
	}

/* header
------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}

.header_area {
  width: 100%;
  display:block;
  position: relative;
  padding:0;
  float:left;
  transition: 0s;
  background: rgba(255, 255, 255, 1);
}

.header_area h1{
  position: absolute;
  top:10px;
  left:10px;
  font-size:14px;
  color:#767676;
  font-weight:normal;
}

@media screen and (max-width: 810px) {
.header_area h1{
  display:none;
}
}

.h_logo{
  width:170px;
  height:50px;
  margin:15px auto 20px;
  text-align: center;
}

.h_logo img{ width:100%;height:auto;}

@media screen and (max-width: 568px) {
header .h_logo{
  width:136px;
  height:40px;
  margin:10px auto;
}
}

/* wavett
================================================== */
.wavet {
    background-image: url(../images/top/wavet.png);
    bottom: -29px;
    left: 0;
    width: 100%;
    height: 30px;
    background-repeat: repeat-x;
    background-size: 1920px 30px;
    position: absolute;
    z-index: 1;
    -webkit-animation: waveAnimet 4s linear infinite;
    animation: waveAnimet 4s linear infinite;
}
@-webkit-keyframes waveAnimet {
0% {background-position: 0px 50%;}
100% {background-position: 1920px 50%;}
}
@keyframes waveAnimet { 
0% {background-position: 0px 50%;}
100% {background-position: 1920px 50%;}
}

@media screen and (max-width: 568px) {
.wavet {
  height: 10px;
  bottom: -9px;
  background-size: 640px 10px;
}
@-webkit-keyframes waveAnimet {
0% {background-position: 0 0}
100% {background-position: 640px 50%;}
}
@keyframes waveAnimet { 
0% {background-position: 0px 50%;}
100% {background-position: 640px 50%;}
}
}

/* wave2t
================================================== */
.wave2t {
    background-image: url(../images/top/wave2t.png);
    bottom: -29px;
    left: 0;
    width: 100%;
    height: 30px;
    background-repeat: repeat-x;
    background-size: 1920px 30px;
    position: absolute;
    z-index: 2;
    -webkit-animation: waveAnime2t 4s linear infinite;
    animation: waveAnime2t 4s linear infinite;
}
@-webkit-keyframes waveAnime2t {
0% {background-position: 0px 50%;}
100% {background-position: 1920px 50%;}
}
@keyframes waveAnime2t { 
0% {background-position: 0px 50%;}
100% {background-position: 1920px 50%;}
}

@media screen and (max-width: 568px) {
.wave2t {
  height: 10px;
  bottom: -9px;
  background-size: 640px 10px;
}
@-webkit-keyframes waveAnime2t {
0% {background-position: 0 0;}
100% {background-position: 640px 50%;}
}
@keyframes waveAnime2t { 
0% {background-position: 0px 50%;}
100% {background-position: 640px 50%;}
}
}

/* wave3t
================================================== */
.wave3t {
    background-image: url(../images/top/wave3t.png);
    bottom: -29px;
    left: 0;
    width: 100%;
    height: 30px;
    background-repeat: repeat-x;
    background-size: 1920px 30px;
    position: absolute;
    z-index: 2;
    -webkit-animation: waveAnime3t 3.5s linear infinite;
    animation: waveAnime3t 3.5s linear infinite;
}
@-webkit-keyframes waveAnime3t {
0% {background-position: 0px 50%;}
100% {background-position: 1920px 50%;}
}
@keyframes waveAnime3t { 
0% {background-position: 0px 50%;}
100% {background-position: 1920px 50%;}
}

@media screen and (max-width: 568px) {
.wave3t {
  height: 10px;
  bottom: -9px;
  background-size: 640px 10px;
}
@-webkit-keyframes waveAnime3t {
0% {background-position: 0 0;}
100% {background-position: 640px 50%;}
}
@keyframes waveAnime3t { 
0% {background-position: 0px 50%;}
100% {background-position: 640px 50%;}
}
}

/* #wrapper
------------------------------------------------- */
#wrapper {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  position: relative;
}

.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  opacity: 0;
  transition: opacity .5s;
}

.overlay.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}

/* .container
------------------------------------------------- */
.container {
	width: 100%;
	max-width:1200px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 2%;
	position:relative;
}

/* footer
------------------------------------------------- */
footer {
	width: 100%;
	margin: 0 auto 0;
	float:left;
	padding:8px 0;
	background	:#FFF;
}

.copy {
	font-size:11px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
}

footer a{color:#000;text-decoration:none}
footer a:hover{color:#61BECA;text-decoration:none;}

/* page_top
------------------------------------------------- */
#page_top {
position: fixed;
bottom: 1.8%;
right: 1.5%;
z-index:3;
}

#page_top img {
 width:50px;
 height:auto;
}

/* .デスクトップ
------------------------------------------------- */
.pcHide{display: none;}

/* タブレット
------------------------------------------------- */
@media screen and (max-width: 800px) {
.pcHide{display: block;}
.tbHide{display: none;}
}

/* スマホ
------------------------------------------------- */
@media screen and (max-width: 568px) {
.pcHide{display: block;}
.spHide{display: none;}
}