@charset "UTF-8";
/* CSS Document */


/* =================================

   reset

==================================== */

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, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
	color: rgba(102,102,102,1);
    vertical-align: bottom;
    background:transparent;
	font-weight: normal;
}

body {
    line-height:1.6;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 0.9em;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}
ul,
nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align: bottom;
    background:transparent;
}


/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}


a,
a img {
	-webkit-transition: all  0.5s ease!important;
	transition: all  0.5s ease!important;
}
a:hover,
a::hover img {
	-webkit-transition: all  0.5s ease!important;
	transition: all  0.5s ease!important;
}

/*----- links color -----*/
a:link {
	color: rgba(0,153,255,1) ;
	text-decoration:none;
}
a:visited {
	color: rgba(0,153,255,1) ;
	text-decoration:none;
}
a:hover {
	color: rgba(0,153,255,1) ;
	text-decoration: underline;
}


a:hover img {
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
}

.clear {
	clear: both;
}

/* Clearfix */  
.clearfix:after {  
    content: ".";   
    display: block;   
    height: 0;   
    clear: both;   
    visibility: hidden;  
}  
.clearfix {  
    display: inline-block;  
    min-height: 1%;  
}  
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
.spOnly{
	display: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}



/*-------------------------
トップページ
--------------------------*/
body {
	border-top: solid 8px #132057;
}

header {
	width: 100%;
	height: 508px;
	background-image: url(img/main_bg.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-color: #132057;
}

div.inner {
	width: 980px;
	margin: auto;
}

header .inner {
	position: relative;
}
header .logo {
	position: absolute;
	top: 10px;
	right: 0;
}
header h1 {
	position: absolute;
	top: 90px;
	left: 218px;
}
header .officialBanner {
	position: absolute;
	top: 250px;
	right: 0px;
}
header .comment {
	width: 938px;
	position: absolute;
	padding: 20px;
	top: 330px;
	border-radius: 5px;
	border: solid 1px #bfceee;
	background: rgba(232,236,237,0.7) ;
}
header .comment h2 {
	font-size: 115%;
	color: #0e1b50;
}
header .comment p {
	margin-top: 1em;
	color: #0e1b50;
}



nav {
	width: 100%;
	background-color: #e2e5ea;
	padding: 50px 0;
}
nav:after {
	content: "";
	display: block;
	clear: both;
}
nav .inner {
	width: 950px;
	margin: auto;
	padding: 0 15px;
}
nav li {
	float: left;
	margin-right: 126px;
}
nav li:last-child {
	margin-right: 0 !important;
}





div.wh {
	width: 100%;
	background-color: #FFF;
	padding: 50px 0 70px 0;
}
div.lime {
	width: 100%;
	background-color: #daeef6;
	padding: 50px 0 70px 0;
}
div.blue {
	width: 100%;
	background-color: #385e9d;
	padding: 50px 0 50px 0;
}
div.blueContent {
	width: 980px;
	background: #FFF;
	border-radius: 10px;
	padding: 30px 0 30px 0;
	margin: auto;
}

div.blue h2,
div.lime h2,
div.wh h2 {
	text-align: center;
	margin-bottom: 25px;
}
div.blue h3,
div.lime h3,
div.wh h3 {
	width: 946px;
	border: solid 2px #101d54;
	background-color: #e2e5ea;
	text-align: center;
	padding: 8px 0 5px 0;
	font-size: 120%;
	color: #101d54;
	font-weight: bold;
	margin: auto;
	margin-bottom: 35px;
}
div.cont {
	width: 900px;
	margin: auto;
	margin-bottom: 20px;
}
div.cont p {
	margin-bottom: 20px;
}
div.cont:after {
	content: "";
	display: block;
	clear: both;
}
div.cont h4 {
	font-size: 130%;
	margin-bottom: 30px;
}
div.wh .cont .left,
div.lime .cont .left {
	float: left;
	width: 335px;
	margin-right: 50px;
}
div.wh .cont .left {
	position: relative;
}
div.wh .cont .right,
div.lime .cont .right {
	float: left;
	width: 515px;
	position: relative;
}
div.lime .cont .right p a {
	position: absolute;
	bottom: 0;
	background: #012d50;
	color: #FFF;
	font-size: 115%;
	padding: 20px 40px;
}
div.lime .cont .right p a:hover {
	text-decoration: none;
	background:rgba(1,45,80,0.6);
}
div.lime .cont .right p.text a {
	position: inherit !important;
	background: none;
	color: #06f;
	font-size: 100%;
	padding: inherit;
}
div.lime .cont .right p.text a:hover {
	text-decoration: underline;
	background: none;
}



div.wh .cont .left img {
	margin-bottom: 3px;
}
div.wh .cont .left p {
	margin-bottom: 50px;
}
div.wh .cont .left p a {
	background: #012d50;
	color: #FFF;
	font-size: 115%;
	padding: 15px 35px;
}
div.wh .cont .left p a:hover {
	text-decoration: none;
	background:rgba(1,45,80,0.6);
}
div.wh .cont .right dl {
	border-bottom: dotted 1px #999;
	padding-bottom: 5px;
	margin-bottom: 10px;
}
div.wh .cont .right dt {
	float: left;
	width: 130px;
}
div.wh .cont .right dd {
	margin-left: 130px;
}


div.blue h4 {
	margin-bottom: 15px !important;
}
p.h4area {
	font-size: 110%;
}

div.cont2 {
	width: 840px;
	margin: auto;
}
div.cont2:after {
	content: "";
	display: block;
	clear: both;
}
div.cont2 .left {
	float: left;
	width: 170px;
}
.caption {
	font-size: 75%;
}
.caption2 {
	font-size: 50%;
	text-align: right;
}
.caption2 span {
	font-size: 180%;
	line-height: 1;
}
div.cont2 .right {
	float: left;
	width: 670px;
}
div.cont2 .right .spirit_02 {
	background:url(img/spirit_02on.gif) no-repeat;
}
div.cont2 .right .spirit_02 a:hover img {
	filter: alpha(opacity=10);
	-moz-opacity:0.1;
	opacity:0.1;
}

div.cont2 .left2 {
	float: left;
	width: 260px;
}
div.cont2 .right2 {
	float: left;
	width: 580px;
}
div.cont2 .right2 li {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}

div.cont2 h5 {
	margin-bottom: 20px;
}

div.cont2 .left2 .topMessage {
	background:url(img/top_messagebton.gif) no-repeat;
	line-height: 1;
}
div.cont2 .right2 .sp_btn01 {
	background: url(img/sp_btn01_on.gif) no-repeat;
	line-height: 1;
}
div.cont2 .right2 .sp_btn02 {
	background: url(img/sp_btn02_on.gif) no-repeat;
	line-height: 1;
}
div.cont2 .right2 .sp_btn03 {
	background: url(img/sp_btn03_on.gif) no-repeat;
	line-height: 1;
}
div.cont2 .right2 .sp_btn04 {
	background: url(img/sp_btn04_on.gif) no-repeat;
	line-height: 1;
}
div.cont2 .right2 .sp_btn05 {
	background: url(img/sp_btn05_on.gif) no-repeat;
	line-height: 1;
}


div.cont2 .right2 .sp_btn01 a:hover img,
div.cont2 .right2 .sp_btn02 a:hover img,
div.cont2 .right2 .sp_btn03 a:hover img,
div.cont2 .right2 .sp_btn04 a:hover img,
div.cont2 .right2 .sp_btn05 a:hover img,
div.cont2 .left2 .topMessage a:hover img {
	filter: alpha(opacity=0);
	-moz-opacity:0;
	opacity:0;
}





div.footer {
	background-color: #132057;
	padding: 20px;
	font-size: 80%;
	text-align: center;
}
div.footer p {
	color: #FFF;
}


#page-top {
	position: fixed;
	bottom: 100px;
	right: 50px;
	margin: 0;
	padding:0;
}



@media screen and (max-width: 768px){
div.inner {
	width: 98%;
	margin: auto;
	padding: 0;
}
header .logo {
	width: 25%;
}
header h1 {
	position: absolute;
	top: 70px;
	left:10%;
	width: 80%;
	text-align: center !important;
}
header .officialBanner {
	position: absolute;
	top: 180px;
	width: 40%;
	left: 30%;
}
header .comment {
	width: 94%;
	padding: 20px 3%;
	top: 250px;
}


nav .inner {
	width: 100%;
	text-align: center;
}
nav ul {
	width: 70%;
	margin: auto;
}
nav li {
	float: none;
	margin-right: 0;
	margin-bottom: 30px;
}
nav li img {
	width: 100%;
	
}

div.blue h3, div.lime h3, div.wh h3 {
    width: 98%;
    border: solid 2px #101d54;
    background-color: #e2e5ea;
    text-align: center;
    padding: 8px 0 5px 0;
    font-size: 120%;
    color: #101d54;
    font-weight: bold;
    margin: auto;
    margin-bottom: 35px;
}

div.cont {
    width: 100%;
    margin: auto;
    margin-bottom: 20px;
}

div.wh .cont .left, div.lime .cont .left {
    float: none;
    width: 86%;
	margin:auto;
}

div.wh .cont .right, div.lime .cont .right {
    float: none;
    width: 100%;
    position: relative;
}
div.wh .cont .left p a {
	width: 100%;
    background: #012d50;
    color: #FFF;
    font-size: 115%;
    padding: 15px;
}

}
