@charset "UTF-8";
/* CSS Document */
/*-----------
color:
blue --  #004ea2
rightblue -- #009fa3
green -- #43b149
orange-- #d2801e; 
-----------*/


/*-----------
all
-----------*/
img{
	max-width: 100%;
}

#wrapper{
	position: relative;
	width: 100%;
	}

.inner{
	margin: 0 auto;
	max-width: 1000px;
	text-align: center;
	}
	
.tb{
	display: none;
	}
	
.sp{
	display: none;
	}		
	
@media(max-width: 999px){
	.tb{
		display: block;
		}	
		
	.inner{
	width: 94%;
	margin: 0 auto;
	box-sizing: border-box;
		}
		
	img{
		max-width: 100%;
		}	
	}
	
.sp{
	display: none;
	}
	
#contents{
	padding: 70px 0 0 0;
	background:#f5fbfa url(../images/bg.jpg) top left no-repeat;
	background-size: 100% auto;
	}
	
.paper{
	padding: 0 0 4% 0;
	background: #fff;
	-moz-box-shadow:4px 4px 3px 0px rgba(0,0,0,0.05);
	-webkit-box-shadow:4px 4px 3px 0px rgba(0,0,0,0.05);
	box-shadow:4px 4px 3px 0px rgba(0,0,0,0.05);	
	}
	
.contentInner{
	padding: 0 7%;
	}
	
.contentInner p{
	font-size: 16px;
	margin: 0 0 2% 0;
	line-height: 2.0em;
	letter-spacing: 0.05em;
	}

.inner > h2{
	padding: 5% 0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 42px;
	font-weight: bold;
	color: #004ea2;
	letter-spacing: 0.1em;
	}
	
.inner > h2 span{
	display: block;
	font-size: 28px;
	}


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

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

.blank:after{
	display: inline-block;
	content:"";
	width: 1.3em;
	height: 1.3em;
	background: url(../images/icon_blank.png) top left no-repeat;
	background-size: cover;
}

/*-----------
second-lead
-----------*/
.second-lead h2{
	padding: 5% 0 1% 0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 42px;
	font-weight: bold;
	color: #004ea2;
	letter-spacing: 0.1em;
}

.second-lead p{
	width: 50%;
	margin: 0 0 5% 0;
	color: #004ea2; 
}

/*-----------
second-center
-----------*/
.second-center h2{
	padding: 5% 0;
	text-align: center;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 42px;
	font-weight: bold;
	color: #004ea2;
	letter-spacing: 0.1em;
}

	
/*-----------
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: 10;
	width: 100%;
	height: 70px;
	background: rgba(0,0,0,0.8);
	display: -webkit-box;
  	display: -moz-box;
  	display: -ms-flexbox;
  	display: -webkit-flex;
  	display: flex;
	-js-display: flex;	
	align-items:center;
	box-align:center;
	-webkit-box-align:center;
	-moz-box-align:center;
	}

/*-----------
navigation
-----------*/	
	
header nav#parent{
	width: 80%;
	}	
	
header #parent ul{
	position: relative;
	width: 95%;
	padding: 0 0 0 0;
	display: flex;
	display: -webkit-box;
  	display: -moz-box;
  	display: -ms-flexbox;
  	display: -webkit-flex;
	-js-display: flex;	
	justify-content: flex-end;
	box-pack:end;
	-webkit-box-pack:end;
	-moz-box-pack:end;
	-webkit-align-items: center; /* Safari */
  	align-items:         center;
	}
	
nav ul li a{
	color: #fff;
	transition: 0.4s ease;
	}
	
nav ul li{
	color: #8A8A8A;
	}
	
nav#parent ul li{
	margin: 0 0 0 20px;
	font-size: 1.3rem;
	}
@media screen and (max-width: 1190px){
	nav#parent ul li{
	font-size: 1.2rem;
	}
}
	
nav#parent>ul li:last-child{
	position: relative;
	width: 140px;
	height: 33px;
	}	
	
nav#parent ul>li:last-child div{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	background:  #004ea2;
	text-align: center;
	}

nav#parent>ul>li:last-child:after{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
    background: #43b149;
	right: -5px;
	top:5px;
	z-index: 0;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	}
	
nav#parent>ul>li:last-child:hover:after{
	right: -10px;
	top: 10px;
	}
	
nav#parent>ul>li:last-child a{
	box-sizing: border-box;
	display: block;
	padding: 5px 0 0 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-weight: bold;
	}
	

nav ul li a:link,nav ul li a:visited{
	text-decoration: none;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
	}
nav#parent ul li a:link,nav#parent ul li a:visited
	{
	color: #fff;		
	}

nav ul li a:hover{
	color:#B8B8B8;
	opacity: 0.7;
	}
	
h1{
	box-sizing: border-box;
	width:210px;
	height: 69px;
	padding: 7px 30px;
	background: #fff;
	border-bottom: 1px solid #B8B8B8;
	border-bottom-right-radius: 16px;
	}
	
h1 img{
	width: 95%;
	height: auto;
	}	
	
nav#child{
	 position: fixed;
	 top: 70px;
	 width: 100%;
	 background: #fff;
	 z-index: 5;
	display: none;
	}
		
#child ul li{
	-webkit-transition:0.4s ease;
	transition: 0.4s ease;
}

#child ul li:hover{
	opacity: 0.7;
}

#child ul#fivepoints li{
	width:20%;
	padding: 0 1%;
	text-align: center;
	}
#child ul#fivepoints li:not(:first-child){
		font-size: 1.4rem;	
}
#child ul#fivepoints li img{
	margin: 0 0 10px 0;
}

#child ul#crosstalk li{
	width:35%;
	padding: 0 1%;
	text-align: center;
	font-weight: bold;
	}
#child ul#crosstalk li:not(:first-child){
	font-size: 1.4rem;
}


#child ul#crosstalk li a span{
	margin: 2% 0 0 0;
	display: block;
	text-align: center;
}

nav#child ul li:not(:first-child) a:link,nav#child ul li:not(:first-child) a:visited
	{
	color: #009498;		
	}

.child-title{
	margin: 0 30px 0 0;
	box-sizing: border-box;
	border-right: 1px solid #464646;
}

.child-title a:link,.child-title a:visited{
	display: block;
	padding: 10px 0 0 0;
	color: #464646;
	font-weight: bold;
	font-size: 2.2rem;
}



#navWrap{
	display: none;
	}	

/*---- メガメニュー -----*/

.menu_mega{
}
ul.menu__second-level {
    box-sizing: border-box;
    padding: 20px 2%;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	display: -webkit-box;
  	display: -moz-box;
  	display: -ms-flexbox;
  	display: -webkit-flex;
  	display: flex;
	-js-display: flex;	
	box-pack:justify;
	-webkit-box-pack:justify;
	-moz-box-pack:justify;
}

li.menu__mega:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}
/*for tablet*/

@media  screen and (max-width:999px){
	h1{
		margin-right: auto;
		}
	
	nav#parent{
	display:none;
		}
		
	#menuBtn{
		cursor: pointer;
		width: 50px;
		margin: 0 6% 0 0;
		}	
		
	#menuBtn span{
		display: block;
		width: 50px;
		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: 12px 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{
	position: fixed;
	top: 70px;
	left: 0;
	width: 100%;
	height: 100vh;
	height: -webkit-calc(100% + 70px);
	background: rgba(255,255,255,0.8);
	-webkit-overflow-scrolling:touch;
	overflow-y: scroll;
	z-index: 5;
		}
		
	#navWrap nav{
		height: 200%;
		}
		
/*----------
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;
	text-align: center;
	}			
	
#navWrap a.toggleNext:after{ 
 position: absolute;
 right: 4%;
 top: 20px;
 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: 25px;
 -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;
	}
	
	}

	
/*-----------
contents
-----------*/	

#back{
	position: fixed;
	width: 80px;
	height: 50px;
	bottom: 10%;
	right: 5%;
	border: 2px solid #004ea2;
	cursor: pointer;
	}
	
.bd{
	display: inline-block;
	width: 2px;
	height: 80%;
	background: #004ea2;
	text-align: center;
	}
	
.bd:first-child{
	margin: 5px 0 0 25px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}

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

/*-----------
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;
	margin: 0 0 1.5% 0;
	text-decoration: none;
	color: #fff;
	width: 325px;
}

.bottomNavi ul{
	margin: 5% 0 0 0;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	-o-flex-wrap:wrap;
	flex-wrap:wrap;
	-o-justify-content: space-between;
	-ms-justify-content: space-between;
	-moz-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

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

.bottomNavi li img{
	-webkit-transition: 0.6s ease;
	transition: 0.6s ease;
}

.bottomNavi li:hover img{
	-webkit-transform:scale(1.1,1.1); 
	transform:scale(1.1,1.1); 		
}

@media screen and (max-width:999px){
	.bottomNavi a{
		width: 48%;
		margin: 0 0 4% 0;
	}
}

.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{
	padding: 20px 0;
	margin: 20% 0 0 0;
	width: 100%;
	background: #004ea2;
	color: #fff;
	}
	
footer .inner{
	display: -webkit-box;
  	display: -moz-box;
  	display: -ms-flexbox;
  	display: -webkit-flex;
  	display: flex;
	-js-display: flex;	
	-webkit-justify-content: space-between; /* Safari */
 	justify-content: space-between;
	}
	
footer ul{
	display: -webkit-box;
  	display: -moz-box;
  	display: -ms-flexbox;
  	display: -webkit-flex;
  	display: flex;
	-js-display: flex;	
	}
	
footer ul li:first-child{
	padding: 0 10px 0 0;
	margin: 0 15px 0 0;
	border-right: 1px solid #fff;
	}

footer a:link,footer a:visited{
	text-decoration: none;
	color: #fff;
	}