@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
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,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
	font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
text-align:center;
}

.inner {
	position: relative;
	width: 90%;
	margin: 0 auto;
}

a {
	color: #fff;
	list-style:none;
	text-decoration:none;
}
a:hover {
	color: #fd505e;
	list-style:none;
}

h1 {
	font-size: 28px;
}


#section1 {
	background-image:url('../image/bg04.png');
  background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;color: #333;font-size:14px;font-weight:900;text-align:center;
	 
}

#section2 {
  background: #effbff;
  color: #333;
  height: 100%;
  font-size: 24px;
  font-weight:300;
	 text-align:center;
	 
}
#section3 {
	background:#FFF;
	width:100%;
  color: #333;
  font-size: 16px;
text-align:center;
}
#section4 {
  margin:0 auto;
  background:#effbff;
width:80%;
  height: 100%;
  color: #fff;
  top: 0;
     left: 0;
	  background-repeat: no-repeat; /* 背景画像を繰り返し表示しません。 */
}

 
h2 {
margin-top: 0.25em;
	margin-bottom: 0.25em;
	font-size: 38px;
	line-height:60px;
	font-weight: bold;
}


@media screen and (max-width:768px) {

h2 {
	margin:5% 3% 2% 3%;
	line-height:40px;
	font-size: 32px;
	color: #ggg;
	text-align: left;
	
}

}

h3 {
	margin-bottom: 0.25em;
	font-size: 34px;
	line-height:60px;
}
@media screen and (max-width:768px) {
h3 {
	
	font-size: 24px;
	line-height:40px;
}	
	
}

	
h4 {
	margin-bottom: 0.25em;
	padding-left: 5px;
	font-size: 21px;
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}

h5 {
	margin-bottom: 0.25em;
	padding-left: 5px;
	font-size: 14px;
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	color:#41a29c;
}

p {
	margin:0 0 1em 0;
	color:#666;
	font-weight:100;
	font-size:18px;
}
@media screen and (max-width:768px) {
p {
	margin:0 0 1em 0;
	color:#666;
	font-weight:100;
	font-size:16px;
}}


img {
	max-width: 100%;
	vertical-align: bottom;
}

em {
	font-weight: bold;
}


/*================================================
 *  汎用クラス
 ================================================*/
/* 中央寄せ */
.center {
	text-align: center;
}


/* 左寄せ */
.left {
	text-align: left;
}

/* 右寄せ */
.right {
	text-align: right;
}



/* 写真右寄せ */
.imgR {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
	text-align:left;
	font-size:24px;
	line-height:40px;
	background-color:fff;
	
	
}
.imgR img {
	float:right;
	
	width:50%;
	
}

@media screen and (max-width:768px) {
	.imgR {
		clear:both;
		overflow:hidden;
		margin:0 10% 0% 10%;
	}
	.imgR img {
		float:right;
		margin:0 0 10px 0;
		width:100%;
	}
}


/* 2カラム（スマートフォンでは1カラム) */
.twoCol {
	overflow:hidden;
	margin-bottom:100px;
	width:90%;
	margin:0 auto;
}
.twoColInner {
	overflow:hidden;
	margin-right:0%;
	
}
.twoColInner div {
	width:50%;
	float:left;
	text-align:left;
	
	
}
.twoColInner div:nth-child(2n+1) {
	clear:both;
	margin-left:3%;
	width:45%;
}
.twoColInner div:nth-child(2n+2) {

	margin-left:5%;
	width:45%;
	margin-bottom:100px;

}
.twoColInner img {
	width:100%;
	margin-bottom:0.5em;
}
@media screen and (max-width:768px) {
	.twoCol {
		margin-right:0;
		margin-bottom:10px;
		width:100%;
	}
	.twoColInner {
		margin-right:0;
	}
	.twoColInner div {
		float:none;
		width:100%;
	}
	.twoColInner div:nth-child(2n+1) {
	clear:both;
	margin-left:0%;
width:100%;
}
	.twoColInner div:nth-child(2n+2) {

	margin:0 auto;
	width:80%;
margin-bottom:50px;
	}

.twoColInner img {
	width:100%;
	margin-bottom:0em;

	
}
}
	
/* 2カラム（スマートフォンでは1カラム左写真用) */
.two3Col {
	overflow:hidden;
	margin-bottom:100px;
	width:90%;
	margin:0 auto;
}
.two3ColInner {
	overflow:hidden;
	margin-right:0%;
	
}
.two3ColInner div {
	width:50%;
	float:left;
	text-align:left;
	
	
}
.two3ColInner div:nth-child(2n+1) {
	clear:both;
	margin-left:3%;
	width:45%;
}
.two3ColInner div:nth-child(2n+2) {

	margin-left:5%;
	width:45%;
	margin-bottom:100px;

}
.two3ColInner img {
	width:100%;
	margin-bottom:0.5em;
}
@media screen and (max-width:768px) {
	.two3Col { 
		clear:both;
		margin-right:0;
		width:100%;
	}
	.two3ColInner {
		display: flex;
  flex-direction: column-reverse;
		margin-right:0;
		position: relative;
	}
	.two3ColInner div {
		float:none;
		width:100%;	
	}
	.two3ColInner div:nth-child(2n+1) {
margin:0 auto;
width:80%;
	
}
	.two3ColInner div:nth-child(2n+2) {
margin-left:0%;
width:100%;
margin-bottom:10px;

	}

.two3ColInner img {
	width:100%;
	
	}

}
	

/* 2カラム（スマートフォンでは1カラム) */
.two2Col {
	overflow:hidden;
	margin-bottom:0px;
}
.two2ColInner {
	overflow:hidden;
	margin-right:-2%;

	
}
.two2ColInner div {
	width:50%;
	float:left;	
	text-align:center;
	
}
.two2ColInner div:nth-child(2n+1) {
	clear:both;
}
.two2ColInner div:nth-child(2n+2) {
	margin-left:2%;
	margin-top:8%;
	width:40%;
	display: table-cell;
vertical-align: middle;
	
}

.two2ColInner img {
	
	margin-bottom:0em;
	margin:0 auto;
	
	
}
@media screen and (max-width:768px) {
	.two2Col{margin-bottom:10px;}
	.two2ColInner {margin:0 auto;}
	.two2ColInner div {float:none;width:100%;margin-left:-1%;}
	.two2ColInner div:nth-child(2n+1) {clear:both;margin-bottom:5em;}
	.two2ColInner div:nth-child(2n+2) {margin:5% auto;font-size:14px;width:80%;}
	.two2ColInner img {margin-bottom:0em;}
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
	position:absolute;
	margin-top:0px;
	top: 0px;
	left: 0;
	width: 100%;
	background: rgba(255,255,255,0);
	z-index: 100;
}

header:after {
	content: ""; 
	display: block;
	clear: both;
	margin-top:0px;
}

header h1 {
	float: left;
	height: 100px;
	font-size: 34px;
	line-height: 100px;
	color: rgba(255,255,255,0);
	margin-top:0px;
}

header h1 img {
	vertical-align: middle;
	margin-top:0px;
	width:90%;
}

@media screen and (max-width:768px) {
	
	header {
	position:absolute;
	margin-top:-20px;
	
	left: 0;
	width: 70%;
	background: rgba(255,255,255,0);
	z-index: 100;
}

	header h1 {
		padding: 0px 0 0 5px;
		margin-top:0px;
		margin-left:5px;
	}
	header h1 img {
	vertical-align: middle;
	margin-top:-5px;
	margin-left:-5px;
	width:90%;
}
}



/*================================================
 *  フッター
 ================================================*/
footer {
	clear: both;
	margin-top: 80px;
	background: #1749C8;
	color: #fff;
	
}

.fnav {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	margin: 0 50px;
	padding: 20px 0;
}

.fnav > ul {
	width: 33%;
	margin-bottom: 0;
	font-size: 12px;
	color: #fff;
}
.fnav > ul li {
	text-align: left;
}

.copyright {
	padding: 20px 0;
	color: #fff;
	font-size: 11px;
	text-align: center;
	background: #1749C8;
}

@media screen and (max-width:768px) {
	footer {
		margin-top: 40px;
	}

	.fnav {
		display: block;
		margin: 0;
	}
	.fnav > ul {
		width: 100%;
	}
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom:15px;
	right:15px;
	z-index:1;
	border-radius:50%;
	box-shadow:
	0 4.8px 2.2px rgba(0,0,0,.02),
	0 6.7px 5.3px rgba(0,0,0,.028),
	0 2.5px 10px rgba(0,0,0,.035),
	0 2.3px 17.9px rgba(0,0,0,.042),
	0 4.8px 33.4px rgba(0,0,0,.05),
	0 20px 80px rgba(0,0,0,.07);
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	background:#0C3EAF;
	border-radius:30px;
}
.totop img:hover {
	background:#222;
}


/*================================================
 *  スライドショー
 ================================================*/
.slide {
	overflow: hidden;
	position: relative;
	margin:0;
	padding:0px;
	

}




	
	
	
.iphone{
	position:absolute;
    top:58%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index:1;
	 /* アニメーション */
  animation: fadeIn 4s linear;
  animation-fill-mode: both;
  width:16%;
  margin:0 auto;
  padding:0;
 
  -webkit-box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
  -moz-box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
  border-radius: 20px;
 
}

@media screen and (max-width:768px) {
	.iphone{
	position:absolute;
    top:56%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index:1;
	 /* アニメーション */
  animation: fadeIn 2s linear;
  animation-fill-mode: both;
  width:35%;
  margin:0 auto;
  padding:0;
 
}

}



@media screen and (min-width: 650px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 650px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}



.ios {
	position:absolute;
	left:35%;
	top:88%;
	z-index:1;

	
		 /* アニメーション */
  animation: fadeIn 2s linear;
  animation-fill-mode: both;
  animation-delay: 3s;
}



.andoroid{
	position:absolute;
	left:50%;
	top:88%;
	z-index:1;
	
	
	 /* アニメーション */
  animation: fadeIn 2s linear;
  animation-fill-mode: both;
  animation-delay: 3s;
}
/* ---------------------------- */
/* --- Animation --- */
/* ---------------------------- */
@keyframes fadeIn{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

@media screen and (max-width:768px) {
.ios {
	position:absolute;
	left:1%;
	top:86%;
	z-index:1;
	width:50%;
	

	
		 /* アニメーション */
  animation: fadeIn 2s linear;
  animation-fill-mode: both;
  animation-delay: 3s;
}



.andoroid{
	position:absolute;
	left:50%;
	top:86%;
	z-index:1;
	width:50%;

	 /* アニメーション */
  animation: fadeIn 2s linear;
  animation-fill-mode: both;
  animation-delay: 3s;
}
}
/* ---------------------------- */
/* --- Animation --- */
/* ---------------------------- */
@keyframes fadeIn{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}



.slideInner {
	list-style: none;
	padding: 0px;
	margin:0;
}
.slideInner li {
	position: absolute;
	width: 100%;
	margin:0;
	background-color: #fff;
	background-position: 100% 0 ;
	background-repeat: no-repeat;
}


@media screen and (max-width:768px) {
	.slide {
	padding-top: 0;
	overflow: hidden;
	position: relative;
}
.slideInner {
	list-style: none;
	margin: 0;
	padding: 0;
}
.slideInner li {
	position: absolute;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
	background-position: 50% 0;
	background-repeat: no-repeat;
}
}

/*================================================
 *  タブレット・スマートフォン向けデザイン
 ================================================*/
/* テンプレートより小さくなった場合に適用 */
@media screen and (max-width:979px) {
	.inner {
		width: 100%;
	}

	#contents {
		box-sizing: border-box;
		width: 100%;
		padding: 0 10px;
	}

	footer {
		width: 100%;
	}

	.lock {
		overflow: hidden;
	}
}


.message{
	font-size:24px;
	border:solid #1749C8 ;
	border-radius:5px;
	padding:1%;
	}


.message {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 20px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
  border-radius:5px;
}

.message:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
 
}

.message:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #555;
  z-index: 1;
  
}

.message p {
  margin: 0;
  padding: 0;
}

@media screen and (max-width:768px) {


.message{
	font-size:24px;
	border:solid #1749C8 ;
	border-radius:5px;
	padding:1%;
	width:90%;
	margin:0 5% 0 5%;
	}


.message {
  position: relative;
  display: inline-block;
  margin: 0 5% 0 5%;
  padding: 20px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #555;
  box-sizing: border-box;
  border-radius:5px;
}

.message:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
 
}

.message:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #555;
  z-index: 1;
  
}

.message p {
  margin: 0;
  padding: 0;
}
}


input[type=radio] {
display: none; /* ラジオボタンを非表示にする */

}
.label {
display: block; /* ブロックレベル要素化する */
float: left; /* 要素の左寄せ・回り込を指定する */
margin: 20px; /* ボックス外側の余白を指定する */
width: 200px; /* ボックスの横幅を指定する */
height: 45px; /* ボックスの高さを指定する */
padding-left: 5px; /* ボックス内左側の余白を指定する */
padding-right: 5px; /* ボックス内御右側の余白を指定する */
color: #1749C8;/* フォントの色を指定 */
text-align: center; /* テキストのセンタリングを指定する */
line-height: 45px; /* 行の高さを指定する */
cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
border-radius: 5px; /* 角丸を指定する */
border:2px solid #1749C8;
background: #3333;
}

.ex2 {
display: block; /* ブロックレベル要素化する */
float: left; /* 要素の左寄せ・回り込を指定する */
margin: 10px; /* ボックス外側の余白を指定する */
width: 15%; /* ボックスの横幅を指定する */
height: 45px; /* ボックスの高さを指定する */
padding-left: 5px; /* ボックス内左側の余白を指定する */
padding-right: 5px; /* ボックス内御右側の余白を指定する */
color: #1749C8;/* フォントの色を指定 */
text-align: center; /* テキストのセンタリングを指定する */
line-height: 45px; /* 行の高さを指定する */
cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
border-radius: 5px; /* 角丸を指定する */
border:2px solid #1749C8;
background: #fff;
font-size:16px;

}


input[type="radio"]:checked + label{

display: block; /* ブロックレベル要素化する */
float: left; /* 要素の左寄せ・回り込を指定する */
margin: 10px; /* ボックス外側の余白を指定する */
width: 15%; /* ボックスの横幅を指定する */
height: 45px; /* ボックスの高さを指定する */
padding-left: 5px; /* ボックス内左側の余白を指定する */
padding-right: 5px; /* ボックス内御右側の余白を指定する */
color: #fff;/* フォントの色を指定 */
text-align: center; /* テキストのセンタリングを指定する */
line-height: 45px; /* 行の高さを指定する */
cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
border-radius: 5px; /* 角丸を指定する */
border:2px solid #1749C8;
background: #1749C8;
}
.label:hover {
background-color: #E2EDF9; /* マウスオーバー時の背景色を指定する */
}

@media screen and (max-width:768px) {
input[type=radio] {
display: none; /* ラジオボタンを非表示にする */

}
.label {
display: block; /* ブロックレベル要素化する */
float: left; /* 要素の左寄せ・回り込を指定する */
margin: 20px; /* ボックス外側の余白を指定する */
width: 200px; /* ボックスの横幅を指定する */
height: 45px; /* ボックスの高さを指定する */
padding-left: 5px; /* ボックス内左側の余白を指定する */
padding-right: 5px; /* ボックス内御右側の余白を指定する */
color: #1749C8;/* フォントの色を指定 */
text-align: center; /* テキストのセンタリングを指定する */
line-height: 45px; /* 行の高さを指定する */
cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
border-radius: 5px; /* 角丸を指定する */
border:2px solid #1749C8;
background: #3333;
}

.ex2 {
display: block; /* ブロックレベル要素化する */
float: left; /* 要素の左寄せ・回り込を指定する */
margin: 3px; /* ボックス外側の余白を指定する */
width: 21%; /* ボックスの横幅を指定する */
height: 45px; /* ボックスの高さを指定する */
padding-left: 3px; /* ボックス内左側の余白を指定する */
padding-right: 3px; /* ボックス内御右側の余白を指定する */
color: #1749C8;/* フォントの色を指定 */
text-align: center; /* テキストのセンタリングを指定する */
line-height: 45px; /* 行の高さを指定する */
cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
border-radius: 5px; /* 角丸を指定する */
border:2px solid #1749C8;
background: #fff;
font-size:9px;
font-weight:bold;

}


input[type="radio"]:checked + label{

display: block; /* ブロックレベル要素化する */
float: left; /* 要素の左寄せ・回り込を指定する */
margin:3px; /* ボックス外側の余白を指定する */
width: 21%; /* ボックスの横幅を指定する */
height: 45px; /* ボックスの高さを指定する */
padding-left: 5px; /* ボックス内左側の余白を指定する */
padding-right: 5px; /* ボックス内御右側の余白を指定する */
color: #fff;/* フォントの色を指定 */
text-align: center; /* テキストのセンタリングを指定する */
line-height: 45px; /* 行の高さを指定する */
cursor: pointer; /* マウスカーソルの形（リンクカーソル）を指定する */
border: 2px solid #006DD9;/* ボックスの境界線を実線で指定する */
border-radius: 5px; /* 角丸を指定する */
border:2px solid #1749C8;
background: #1749C8;
}
.label:hover {
background-color: #E2EDF9; /* マウスオーバー時の背景色を指定する */
}
}
#animation {
margin: 50px 0;
font-size: 40px;
font-weight: bold;
color: #ff0000;
}
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


/* 画面外にいる状態 */
.fadein {
    opacity : 0.1;
    transform : translate(0px, 150px);
    transition : all 100ms;
    }
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }
	/* 2つ目の要素に200msのdelayをかける */
#effect2 > div .fadein:nth-of-type(2) {
    -moz-transition-delay:200ms;
    -webkit-transition-delay:200ms;
    -o-transition-delay:200ms;
    -ms-transition-delay:200ms;
    }
/* 3つ目の要素に400msのdelayをかける */
#effect2 > div .fadein:nth-of-type(3) {
    -moz-transition-delay:400ms;
    -webkit-transition-delay:400ms;
    -o-transition-delay:400ms;
    -ms-transition-delay:400ms;
    }
	

	
.box p {
  -webkit-transition: all 1s;
  -webkit-transform: translate(0, 0);
  opacity: 1;
  color:#333;
}
.box p.move {
  -webkit-transform: translate(-100px, 0);
  opacity: 0;
}

.bex p {
  -webkit-transition: all 2s;
  -webkit-transform: translate(0, 0);
  opacity: 1;
}
.bex p.move {

  -webkit-transform: translate(-500px, 0);
  opacity: 0;
}




