@charset "UTF-8";
/* CSS Document */
/*--------------
ALL
---------------*/
* {
	box-sizing: border-box;
	}
	
img{
	max-width: 100%;
	}

.pc{
	display: none;
	}
	
.inner{
	width: 100%;
	padding: 0 4%;
	text-align: center;
	}
	
#contents{
	padding: 50px 0 0 0;
	background:#f5fbfa url(../images/bg.jpg) top center no-repeat;
	background-size: 125% auto;
	}
	
.contentInner{
	padding: 0 5% 5% 5%;
	}	
	
.contentInner p{
	font-size: 14px;
	margin: 0 0 4% 0;
	line-height: 2.0em;
	}

.paper{
	background: #fff;
}
	
h2{
	padding: 4% 0;
	font-size: 22px;
	color:  #004ea2;
	font-weight: bold;
	}
	
h2 span{
	display: block;
	font-size: 14px;
	}	


.orange{
	background: rgb(218,90,36);
	}

.rightblue{
	background: rgb(0, 159,163);
	}
	
.blue{
	background: rgb(0,78,162);
	}
	
.green{
	background: #43b149;
	}

/*-----------
second-lead
-----------*/
.second-lead p{
	margin: 0 0 5% 0;
	color: #004ea2;
	font-size: 1.2rem;
}


/*-----------
second-center
-----------*/
.second-center h2{
text-align: center;
}

	
/*-----------
loader
-----------*/
#loader {
	text-align: center;
    width: 60px;
    height: 60px;
    display: block;
    position: fixed;
    _position: absolute; /* IE6対策 */
    top: 50%;
    left: 50%;
    margin-top: -30px; /* heightの半分のマイナス値 */
    margin-left: -30px; /* widthの半分のマイナス値 */
    z-index: 100;
}

#loader p{
	margin: 50px 0 0 0;
	text-align: center;
	color: #696969;
	font-size: 14px;
	}
 
#fade {
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(255,255,255,0.7);
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 50;
}

#circle
{
    position: absolute;
    width: 30px; /*ローディングアイコンの横サイズ*/
    height: 30px; /*ローディングアイコンの縦サイズ*/
    border-radius: 50%;  /*CSS3で円を書く*/
    border: 8px solid #696969;  /*円に○の白枠をつける*/
    border-right-color: transparent; /*円の右にC状の空きをつける*/
	animation: spin 1s linear infinite;
	-webkit-animation: spin 1s linear infinite;
}

@keyframes spin
{
    0% { transform: rotate(0deg);   opacity: 0.2; } /*0%の時は20％の透明度*/
    50%  { transform: rotate(180deg); opacity: 1.0; } /*50%の時は透明度なし*/
    100%   { transform: rotate(360deg); opacity: 0.2; } /*100%の時に20％の透明度に戻る*/
 
}

@-webkit-keyframes spin
{
    0% { transform: rotate(0deg);   opacity: 0.2; } /*0%の時は20％の透明度*/
    50%  { transform: rotate(180deg); opacity: 1.0; } /*50%の時は透明度なし*/
    100%   { transform: rotate(360deg); opacity: 0.2; } /*100%の時に20％の透明度に戻る*/
 
}
	
	
/*-----------
header
-----------*/
header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 4;
	width: 100%;
	height: 50px;
	background: rgba(0,0,0,0.8);
	display: -webkit-box;
  	display: -moz-box;
  	display: -ms-flexbox;
  	display: -webkit-flex;
  	display: flex;
	align-items:center;
	-webkit-align-items:center;
	box-align:center;
	-webkit-box-align:center;
	-moz-box-align:center;
	}
	
	
h1{
	width: 105px;
	height: 50px;
	padding: 10px 15px 0 15px;
	margin-right: auto;
	background: #fff;
	border-bottom-right-radius: 16px;
	}	

nav#child{
	display: none;
	}	
	
#menuBtn{
		cursor: pointer;
		width: 50px;
		margin: 0 4% 0 0;
		}	
		
#menuBtn span{
	display: block;
	width: 45px;
	height: 2px;
	background: #fff;
	margin: 0 0 12px 0;
	transition: 0.2s ease-in;
	-webkit-transition: 0.2s ease-in;
		}	
		
#menuBtn span:last-child{
	margin: 0;
	}
	
	
#menuBtn.close span:first-child{
	margin: 3px 0 0 0;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	}	
		
#menuBtn.close span:nth-child(2){
	margin: -2px 0 0 0;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	}	
		
#menuBtn.close span:last-child{
	display:none;
	}		
		
#navWrap{
	display: none; 
	position: fixed;
	top: 50px;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.8);
	-webkit-overflow-scrolling:touch;
	overflow: scroll;
	z-index: 100;
		}
		
/*-----------
navigation
-----------*/
#navWrap li a:link,#navWrap li a:visited{
	color: #fff;
	text-decoration: none;
	}

#navWrap nav>ul>li:first-child{
	border: none;
	}


#navWrap nav>ul>li{
	position: relative;
	color: #fff;
	background: #004ea2;
	border-top: 1px solid #fff;
			}
			
#navWrap nav ul li a{
	display: block;
	padding: 2% 4%;
	font-size: 20px;
	}			
	
#navWrap a.toggleNext:after{ 
 position: absolute;
 right: 4%;
 top: 10px;
 display: inline-block;
 width: 10px; 
 height:10px; 
 border-top: 2px solid #fff; 
 border-right: 2px solid #fff; 
 -webkit-transform: rotate(135deg);
 transform: rotate(135deg);
 content: ""; 
 transition: 0.2s ease-in;
 -webkit-transition: 0.2s ease-in;
	}	
	
#navWrap a.toggleNext.on:after{
 top: 15px;
 -webkit-transform: rotate(315deg);
 transform: rotate(315deg);
 transition: 0.2s ease-in;
 -webkit-transition: 0.2s ease-in;
	}	
		
#navWrap nav>ul>li>ul{
	display: none;
	}

#navWrap nav>ul>li>ul>li{
	background: #009fa3;
	border-top: 1px solid #fff;
	}


/*-----------
bottomNavi
-----------*/
.bottomNavi{
	padding: 10% 0 0 0;
}

.line-side{
	display: table;
  	text-align: center;
  	white-space: nowrap;
}

.line-side:before,.line-side:after{
  content: '';
  display: table-cell;
  width: 50%;
  background: -webkit-linear-gradient(transparent 50%, #009fa3 50%, #009fa3 -webkit-calc(50% + 1px), transparent -webkit-calc(50% + 1px));
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, #009fa3), color-stop(#009fa3 calc(50% + 1px)), to(transparent calc(50% + 1px))); 
  background: linear-gradient(transparent 50%, #009fa3 50%, #009fa3 calc(50% + 1px), transparent calc(50% + 1px));
  -webkit-background-clip: padding;
  background-clip: padding;
}

.line-side:after{
	border-left: 1em solid transparent;
}
.line-side:before{
	border-right: 1em solid transparent;
}

h3.line-side{
	font-weight: bold;
	font-style: italic;
	font-size: 1.8rem;
	color: #009fa3;
}

.bottomNavi a{
	display: block;
	width: 100%;
	margin: 0 0 3% 0;
	text-decoration: none;
	color: #fff;
	
}

.bottomNavi ul{
	margin: 5% 0 0 0;
}

.bottomNavi li{
	position: relative;
	width: 100%;		
}


.bottomNavi li p{
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 15px 30px;
	background: rgba(0,78,162,0.9);
	font-size: 1.6rem;
	font-weight: bold;
	border-top-left-radius: 20px;
}

.bottomNavi a:nth-child(2) p{
	padding: 8px 30px;
	line-height: 1.5em;
}

.bottomNavi a:last-child p,.bottomNavi a:first-child p{
	background: rgba(180,90,36,0.9);
}

.bottomNavi li p span{
	display: block;
	font-size: 1.1rem;
}


/*-----------
footer
-----------*/	
footer{
	margin: 30% 0 0 0;
	padding: 5% 0;
	background: #004ea2;
	color: #fff;
	}
	
footer a:link,footer a:visited{
	color: #fff;
	text-decoration: none;
	}
	
footer ul{
	text-align: center;
	}

footer li{
	margin: 0 2% 4% 0;
	}	
	
footer li:first-child{
	padding: 0  2% 0 0;
	border-right: 1px solid #fff;
	}
	
footer ul li{
	display: inline-block;
	}
	
	
/*-----------
topへ戻るボタン
-----------*/	
#back{
	position: fixed;
	width: 50px;
	height: 30px;
	bottom: 5%;
	right: 5%;
	border: 2px solid #004ea2;
	background: rgba(255,255,255,0.8);
	cursor: pointer;
	}
	
.bd{
	display: inline-block;
	width: 2px;
	height: 80%;
	background: #004ea2;
	text-align: center;
	}
	
.bd:first-child{
	margin: 3px 0 0 14px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}

.bd:last-child{
	margin: 3px 0 0 8px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	}