@charset "utf-8";
/* PC ================================================== */
@media all and (min-width:769px){
.sp {
	display: none;
}
*{
	margin:0;
	padding:0px;
}
body {
	margin: 0px;
	padding: 0px;
	background-color: #ffffff;
	color: #021c2a;
	font-feature-settings : "palt";
	-webkit-text-size-adjust: 100%;
	-webkit-font-feature-settings: 'pkna';
	font-feature-settings: 'pkna';
}
h1{}

h2{}

h3 {
	margin-bottom: 0;
	font-size: 38px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.075em;
}
h3.en {
	margin-bottom: 30px;
	font-size: 38px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

h4 {
	font-size: 32px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	line-height: 2.0;
	letter-spacing: 0.2em;
}
h4.en {
	font-size: 32px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	line-height: 2.0;
	letter-spacing: 0.1em;
}

h5 {
	margin-bottom: 65px;
	font-size: 24px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
}
h5.en {
	margin-bottom: 65px;
	font-size: 32px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	line-height: 1.0;
	letter-spacing: 0.05em;
	text-align: center;
}
h5 span {
	font-size: 14px;
	letter-spacing: 0.075em;
}

p{
	font-size: 14px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	letter-spacing: 0.075em;
}
p.en{
	font-size: 14px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	letter-spacing: 0.075em;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

th{}

td{}

ul,ol{}

hr{
	margin: 0px;
	padding: 0px;
}

a{
	outline:none;
	text-decoration:none;
}
img {
	vertical-align: bottom;
}
a img{
	border:none;
}
.clearfix::after{
	content: "";
	display: block;
	clear: both;
}
.follower {
  width: 40px;
  height: 40px;
  background-color: #fdfe00;
  z-index: 1000;
}
section {
	width: 100%;
	margin: auto auto 40px;
}
	.inner {
		width: 1000px;
		margin: auto;
	}
	.wave-box {
		width: 100%;
		height: 80px;
		overflow: hidden;
		position: relative;
	}
	.wave {
		background: url(../image/wave.svg) repeat-x; 
		position: absolute;
		bottom: 0px;
		width: 6400px;
		height: 198px;
		animation: wave 7s cubic-bezier( 0.36, 0.45, 0.63, 0.53) infinite;
		transform: translate3d(0, 0, 0);
		z-index: 10;
	}
	.wave:nth-of-type(2) {
		bottom: 0px;
		animation: wave 7s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.125s infinite, swell 7s ease -1.25s infinite;
		opacity: 1;
		z-index: 10;
	}
	@keyframes wave {
		0% {
			margin-left: 0;
		}
		100% {
			margin-left: -1600px;
		}
	}

	@keyframes swell {
		0%, 100% {
			transform: translate3d(0,-5px,0);
		}
		50% {
			transform: translate3d(0,5px,0);
		}
	}
.lang_switch {
	border-radius: 2px;
	border: solid 1px #043F60;
	background-color: #043F60;
	font-size: 10px;
	color: #ffffff;
	letter-spacing: 0.1em;
	position: fixed;
	top: 32px;
	right: 96px;
	z-index: 20;
}
	.lang_on {
		display: inline-block;
		padding: 0px 4px;
		color: #ffffff;
	}
	.lang_off {
		display: inline-block;
		padding: 0px 4px;
		background-color: #ffffff;
		color: #043F60;
	}
}

/* SP ================================================== */
@media all and (max-width:768px){
.pc {
	display: none;
}
*{
	margin:0;
	padding:0px;
}
body {
	margin: 0px;
	padding: 0px;
	background-color: #ffffff;
	color: #021c2a;
}
h1{}

h2{}

h3 {
	margin-bottom: 15px;
	font-size: 24px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	line-height: 1.7;
	letter-spacing: 0.15em;
}
h3.en {
	margin-bottom: 30px;
	font-size: 20px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 0.075em;
}
h4 {
	font-size: 20px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0.075em;
}
h4.en {
	font-size: 20px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.075em;
}
h5 {
	margin-bottom: 30px;
	font-size: 28px;
	font-family: source-han-serif-japanese, serif;
	font-weight: 300;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
}
h5.en {
	margin-bottom: 65px;
	font-size: 26px;
	font-family: Times New Roman, serif;
	font-weight: 400;
	line-height: 1.0;
	letter-spacing: 0.05em;
	text-align: center;
}
h5 span {
	font-size: 14px;
	letter-spacing: 0.0em;
}

p{
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.075em;
	font-family: source-han-serif-japanese, serif;
	font-style: normal;
	text-align: justify;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

th{}

td{}

ul,ol{}

hr {
	margin: 0px;
	padding: 0px;
}

a{
	outline:none;
	text-decoration:none;
}
img {
	vertical-align: bottom;
}
a img{
	border:none;
}
.clearfix::after{
	content: "";
	display: block;
	clear: both;
}
section {
	width: 100%;
	padding-top: 30px;
	margin: auto auto 60px;
}
	.inner {
		width: 90%;
		margin: auto;
	}
	.wave {
		background: url(../image/wave.svg) repeat-x; 
		position: absolute;
		bottom: 0px;
		width: 3200px;
		height: 99px;
		animation: wave 7s cubic-bezier( 0.36, 0.45, 0.63, 0.53) infinite;
		transform: translate3d(0, 0, 0);
		z-index: 10;
	}
	.wave:nth-of-type(2) {
		bottom: 0px;
		animation: wave 7s cubic-bezier( 0.36, 0.45, 0.63, 0.53) -.125s infinite, swell 7s ease -1.25s infinite;
		opacity: 1;
		z-index: 10;
	}
	@keyframes wave {
		0% {
			margin-left: 0;
		}
		100% {
			margin-left: -1600px;
		}
	}

	@keyframes swell {
		0%, 100% {
			transform: translate3d(0,-5px,0);
		}
		50% {
			transform: translate3d(0,5px,0);
		}
	}
.lang_switch {
	border-radius: 2px;
	border: solid 1px #043F60;
	background-color: #043F60;
	font-size: 10px;
	color: #ffffff;
	letter-spacing: 0.1em;
	position: fixed;
	top: 32px;
	right: 96px;
	z-index: 20;
}
	.lang_on {
		display: inline-block;
		padding: 0px 4px;
		color: #ffffff;
	}
	.lang_off {
		display: inline-block;
		padding: 0px 4px;
		background-color: #ffffff;
		color: #043F60;
	}
}