@charset "utf-8";


/* 基本要素	---------------- */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}
html{
	position: relative;
}
body {
	margin:0 0;
	width:100%;
	color: #000;
	position: relative;
	background: #fff;
	-webkit-text-size-adjust: none;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
ol,ul{
    list-style-type: none;
}
#main ol{
    list-style-type: decimal;
	margin-left: 1.5em;
	margin-bottom:1em;
}
#main ul {
    list-style-type: none;
	margin-bottom:1em;
}
li {
}
img {
	border: 0;
	vertical-align:bottom;
}
table {
	font-size: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
th, td {
	vertical-align: top;
	line-height: 150%;
}
caption, th {
	text-align: left;
}
address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}
p {
	line-height: 160%;
	line-break: strict;
	word-break: normal;
	margin:0 0 1em;
	text-indent: 1em;
}
a:link {
	color: #0071c5;
	text-decoration: none;
}
a:visited {
	color: #3c379e;
	text-decoration: none;
}
a:hover {
	color: #900;
	text-decoration: underline;
}

input, textarea, select {
	padding: 3px;
	boder: 1px solid #999;
}
input:focus, textarea:focus, select:focus {
	background-color: #ffe;
	border: 1px solid #999;
}
label {
	cursor: pointer;
}

a img:hover{
	opacity:0.6;
	transition:0.6s;
}
.clfx:after {
	display: block;
	clear: both;
	height: 0px;
	visibility: hidden;
	content: ".";
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}
.clfx {
	min-height: 1px;
}
* html .clfx {
	height: 1px;
	/*¥*//*/ /*MAC IE5.x対策*/
	height: auto;
	overflow: hidden;
	/**/
}
.center{
	text-align:center;
}
.right{
	text-align:right;
}
.f-left{
	float:left;
}
.f-right{
	float:right;
}
.middle{
	vertical-align:middle; align-items: center;
}
.flex-box{
	display:flex;
}
.flex-end{
	-webkit-justify-content: flex-end;
	justify-content:flex-end;
}
.flex-between{
	-webkit-justify-content: space-between;
	justify-content:space-between;
}

.flex-around{
	-webkit-justify-content: space-around;
	justify-content:space-around;
}
.bottom{
	vertical-align:bottom; align-items: flex-end;
}
.nowrap{
	white-space:nowrap;
}

/* 基本レイアウト---------------- */
#skip {
	position: absolute;
	left: -9999em;
}
.wrapper {
	width: 900px;
	margin: 0 auto;
	position:relative;
}

#main{
	position:relative;
}
#top-main{
	position:relative;
	background: url(../images/main-bg.png);
}
.bg-gray{
	background: #EFEFEF;
}
.bg-blue{
	background: #E8EFF9;
}
.main01{
	padding: 30px 0;
}
.main02{
	padding: 40px 0;
}
/* メイン---------------- */

h2{
	font-size:1.5em;
	font-weight:normal;
	margin-bottom: 5px;
	line-height:1.4;
	margin: 45px auto 30px;
}
#footer h2{
	font-size:1.5em;
	font-weight:normal;
	margin-bottom: 5px;
	line-height:1.4;
}
/* ヘッダー---------------- */

#header{
	border-top:30px solid #2A4198;
}
#header-logo{
	float: left;
	margin: 30px 0 20px;
}
#header-navi{
	float: right;
	margin: 50px 0 20px;
}

#header-navi ul{
	margin: 0 0 5px;
    list-style-type: none;
}
#header-navi a{
	color:#000;
}
#header-navi li{
	float:left;
	line-height:1;
	font-size: 0.65em;
	padding:0 0.8em;
	margin-right: 20px;
}
#header-navi li:last-child{
	border-right:none;
	padding-right: 0;
	margin-right: 0;
}
nav#g-navi{
	background: url(../images/navi-bg.png) top center repeat-x;;
	margin-bottom: 0;
}
#g-navi{
	display:block;
	width:100%;
	padding: 0 0;
	z-index:10;
	border-bottom:8px solid #fff;
}
#g-navi a{
	color:#fff;
}
#g-navi a:hover{
	color:#fff;
	text-decoration: none;
}
#g-navi ul{
	display: -webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items:center;
	border-left:solid 1px #fff;
    list-style-type: none;
}
#g-navi ul > li{
	width: calc(33.3% - 1px);
	border-right: solid 1px #fff;
	height: 74px;
	text-align: center;
	position: relative;
}
#g-navi ul > li > a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
#g-navi ul > li > a > div.text{
	display: block;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
/* フッター---------------- */
footer{
	position: relative;
}
#footer{
	position:static;
	bottom: 0;
}
#footer-link{
	position:static;
	bottom: 0;
}
#footer-copy{
	background:#000;
	color:#fff;
	padding: 10px 0;
	position:static;
	bottom: 0;
}

#footer-copy p{
	text-align :center;
	margin-bottom:0;
}
#footer a{
	color:#000;
}

#footer a:hover{
	text-decoration: underline;;
}
#footer-link .wrapper{
	position: relative;
	padding: 35px 0 25px;
	background:url(../images/footer-link-bg.png) center top no-repeat;
}
#footer-text{
	float:left;
}
#footer h2{
	font-size:1.5em;
	font-weight:normal;
	margin-bottom: 5px;
	line-height:1.4;
}
#footer p{
	text-indent:0;
}

#footer-link ul{
	display: -webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items:center;
	flex-wrap:wrap;
    list-style-type: none;
}
#footer-link ul li{
	border-right:1px solid #000;
	width:calc(33.3% - 1px);
	float: left;
	text-align :center;
	margin-bottom: 10px;
}
#footer-link ul li a{
	display:block;
}
#footer-link ul li:nth-child(3n+1){
	border-left:1px solid #000;
	border-right:1px solid #000;
	width:calc(33.3% - 2px);
}

#footer-link ul li:nth-child(3n){
	border-right: none;
}



/* TOP---------------- */

#top-menu{
	padding-top: 40px;
}
#top-menu ul{
	margin: 0px auto 5px;
	width: 100%;
	-webkit-display:flex;
	display:flex;
	-webkit-justify-content: space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    list-style-type: none;
}
#top-menu ul::after{
  content:"";
  display: block;
	width: 290px;
}
#top-menu ul > li{
	width: 290px;
	height: 260px;
	text-align: center;
	position: relative;
	margin-bottom: 25px;
	overflow:hidden;
	font-weight: bold;
	font-size: 1.33em;
	z-index:2;
	transition: 0.5s;
}
#top-menu ul > li.wide{
	width: 595px;
}
#top-menu ul > li > a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	z-index:4;
}
#top-menu ul > li > a:hover{
	text-decoration:none;
}

#top-menu ul > li   div.title{
	width: 100%;
	height: 50px;
	background: url(../images/menu-bg.png) top center repeat-x;
	color:#fff;
	position: relative;
}
#top-menu ul > li   div.title > div.text{
	display: block;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index:3;
	color:#fff;
}
#top-menu ul > li > a > div.image{
	width: 100%;
	height: 210px;
	z-index:1;
	transition: 0.5s;
	position: relative;
}
#top-menu ul > li > a > div.image.pht1{
	background: url(../images/pht-1.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht1{
	background: url(../images/pht-1-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht2{
	background: url(../images/pht-2.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht2{
	background: url(../images/pht-2-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht3{
	background: url(../images/pht-3.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht3{
	background: url(../images/pht-3-on.jpg) top center no-repeat;
}
#top-menu ul > li > div > div.image.pht4{
	background: url(../images/pht-4.jpg) top center no-repeat;
}
#top-menu ul > li > div:hover > div.image.pht4{
	background: url(../images/pht-4-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht5{
	background: url(../images/pht-5.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht5{
	background: url(../images/pht-5-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht6{
	background: url(../images/pht-6.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht6{
	background: url(../images/pht-6-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht7{
	background: url(../images/pht-7.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht7{
	background: url(../images/pht-7-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht8{
	background: url(../images/pht-8.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht8{
	background: url(../images/pht-8-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht9{
	background: url(../images/pht-9.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht9{
	background: url(../images/pht-9-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht10{
	background: url(../images/pht-10.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht10{
	background: url(../images/pht-10-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht11{
	background: url(../images/pht-11.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht11{
	background: url(../images/pht-11-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image.pht12{
	background: url(../images/pht-12.jpg) top center no-repeat;
}
#top-menu ul > li > a:hover > div.image.pht12{
	background: url(../images/pht-12-on.jpg) top center no-repeat;
}
#top-menu ul > li > a > div.image > div.text{
	display: block;
	opacity:0;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index:3;
	color:#fff;
	transition: 0.5s;
}
#top-menu ul > li > a:hover > div.image > div.text{
	opacity:1;
}



#top-menu ul > li > div > div.image > div.button{
	width:300px;
	height:140px;
	z-index:1;
	transition: 0.5s;
	position: relative;
	position: absolute;
	top: 50%;
	left: 40px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translatY( -50%);
	transform: translateY( -50%);
}

#top-menu ul > li > div > div.image{
	width: 100%;
	height: 210px;
	z-index:1;
	transition: 0.5s;
	position: relative;
}
#top-menu ul > li > div > div.image > div.button > a > div.button-med{
	width:140px;
	height:140px;
	position: absolute;
	left:0;
	top:0;
	background:url(../images/pht-4-1.png) no-repeat center center;
}
#top-menu ul > li > div > div.image > div.button > a:hover > div.button-med{
	background:url(../images/pht-4-1-on.png) no-repeat center center;
}

#top-menu ul > li > div > div.image > div.button > a > div.button-hs{
	width:140px;
	height:140px;
	position: absolute;
	right:0;
	top:0;
	background:url(../images/pht-4-2.png) no-repeat center center;
}
#top-menu ul > li > div > div.image > div.button > a:hover > div.button-hs{
	background:url(../images/pht-4-2-on.png) no-repeat center center;
}

#top-menu ul > li > div > div.image > div.button > a .jp{
	display: block;
	opacity:1;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index:3;
	color:#fff;
	transition: 0.5s;
}
#top-menu ul > li > div > div.image > div.button > a:hover  .jp{
	opacity:0;
}
#top-menu ul > li > div > div.image > div.button > a .en{
	display: block;
	opacity:0;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index:3;
	color:#fff;
	transition: 0.5s;
}
#top-menu ul > li > div > div.image > div.button > a:hover .en{
	opacity:1;
}

ul.sitemap > li{
	line-height:1.6;
	margin-left:1em;
	margin-bottom:1em;
}
ul.sitemap > li:before{
    margin-left:-1em;
	content:'■';
	color:#2A4198;
}
ul.sitemap > li a{
	color:#000;
}
/* ページ------------- */
.mb0{
	margin-bottom:0px !important;
}
.mb05{
	margin-bottom:5px;
}
.mb10{
	margin-bottom:10px;
}
.mb15{
	margin-bottom:15px;
}
.mb20{
	margin-bottom:20px;
}
.mb25{
	margin-bottom:25px;
}
.mb30{
	margin-bottom:30px;
}
.mb40{
	margin-bottom:40px;
}
.mc{
	margin-right: auto;
	margin-left: auto;
}

.mb50{
	margin-bottom:50px;
}

.mt10{
	margin-top:10px;
}
.mr20{
	margin-right:20px;
}
.ml20{
	margin-left:20px;
}

.ls01{
	letter-spacing:1em;
}
.ol01 {
	margin-left: 1.5em;
	text-indent: -1.5em;
    list-style-type: none !important;
}
.ol01 li {
    line-height: 1.6;
}
.ol02 {
	margin-left: 2.5em;
	text-indent: -2.5em;
    list-style-type: none !important;
}
.ol02 li {
    line-height: 1.6;
}
.ol03 {
	margin-left: 1em;
	text-indent: -1em;
    list-style-type: none !important;
}
.ol03 li {
    line-height: 1.6;
}
.ol04 {
	margin-left: 2em;
	text-indent: -2em;
    list-style-type: none !important;
}
.ol04 li {
    line-height: 1.6;
}
.ol-num {
	margin-left: 1.5em;
    list-style-type: decimal !important;
}
.ol-num li {
    line-height: 1.6;
}
.ul-dot{
	margin-left:1em;
    list-style-type: none !important;
}
.ul-dot > li{
	line-height:1.6;
}
.ul-dot > li:before{
    margin-left:-1em;
	content:'・';
}
.ul-tri{
	margin-left:1em;
    list-style-type: none !important;
}
.ul-tri > li{
	line-height:1.6;
}
.ul-tri > li:before{
    margin-left:-1em;
	content:' ▶';
}
.ul-cir{
	margin-left:1em;
    list-style-type: none !important;
}
.ul-cir > li{
	line-height:1.6;
}
.ul-cir > li:before{
    margin-left:-1em;
	content:'●';
}
.ul-dcir{
	margin-left:1em;
    list-style-type: none !important;
}
.ul-dcir > li{
	line-height:1.6;
}
.ul-dcir > li:before{
    margin-left:-1em;
	content:'◎';
}

.ul-squ-sky{
	margin-left:1.5em;
}
.ul-squ-sky > li{
	line-height:1.6;
}
.ul-squ-sky > li:before{
    margin-left:-1.5em;
	content:'■ ';
	color: #007DC6;
}
.dl01{
	border-top:1px solid #c8c8c8;
	margin-bottom:50px;
}
.dl01 dt{
	float:left;
	clear: left;
	width:7em;
	line-height:2.6;
	border-bottom:1px solid #c8c8c8;
}
.dl01 dd{
	float:left;
	width:calc(100% - 7em);
	line-height:2.6;
	border-bottom:1px solid #c8c8c8;
}
.table01{
	margin-bottom: 20px;
	border-collapse: collapse;
	width:100%;
}
.table01 th{
	border: 1px solid #323A45;
	padding: 5px 1em;
	line-height: 1.6;
	color: #fff;
	background: #5F9FD6;
	text-align: center;
}
.table01 td{
	border: 1px solid #323A45;
	padding: 5px 1em;
	line-height: 1.6;
	color: #000;
}
.ml01{
	margin-left:1em;
}
.ml02{
	margin-left:2em;
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.goth{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
}
.indent01{
	text-indent: 1em;
}
.indentm04{
	text-indent: -4em;
	margin-left:4em;
}
.indent0{
	text-indent: 0em !important;
}
.small01{
	font-size:0.85em;
}
.small02{
	font-size:0.7em;
}
.big01{
	font-size:1.15em;
}
.big03{
	font-size:1.3em;
}
.bold{
	font-weight:bold;
}
.blue{
	color:#291F87;
}
.sky{
	color:#007DC6;
}
.red{
	color:#E94709;
}
.sp{
	display:none;
}