
@charset "UTF-8";

html{
	font-size: 10px;
}

body{
	padding: 0;
	margin: 0;
	font-family: "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	overflow-x: hidden;
	/*letter-spacing: 1.5px;*/
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	/*font-feature-settings: "palt";*/ /* 文字詰め（フォントにカーニング情報が含まれる場合） */
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

h1{
	font-weight: 500;
	margin: 50px 0;
}

h2{
	font-size: 1.8rem;
	font-weight: 500;
	margin: 0;
}

h3{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5rem;
	font-weight: 500;
	margin: 90px 0 50px;
	background-image: url(/img/common/h3_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	height: 178px;
}

h4{
	font-size: 1.2rem;
	font-weight: 500;
	margin: 15px 0;
}

p{
	text-align: justify;
}

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

a{
	color: #005bab;
}

a,
a:link,
a:visited{
	text-decoration: none;
}

a:hover{
	text-decoration: underline;
}

/* IE6,7 対策 */
a img{
	border-style: none;
}

a.fade{
	display: inline-block;
	text-decoration: none;
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;
	     -o-transition: 0.2s ease-in-out;
	        transition: 0.2s ease-in-out;
}

a.fade:hover{
	opacity: 0.6;
	filter: alpha(opacity=60);
	text-decoration:none;
}

.ib{
	display: inline-block;
	white-space: nowrap;
}

.blue{ color: #005bab; }

p.blue{
	font-size: 2.5rem;
}

.header_height{
	height: 90px;
}
header{
	display: flex;
	position: fixed;
	width: 100%;
	background-color: #fff;
	z-index: 1000;
}
html.sp header{
	flex-wrap: wrap;
}
header .left{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-basis: 300px;
	padding: 0 0 0 20px;
}
html.sp header .left{
	/* justify-content: space-between; */
	flex-basis: 100%;
	/* flex-wrap: wrap; */
	padding: 30px 0;
}
html.sp header .left a img{
	width: 330px;
	margin: 0 50px 0 65px;
}
header .left label{
	display: none;
}
html.sp header .left label{
	display: inline-block;
	/* text-align: center; */
	/* width: 100%; */
	padding: 3px 0;
	/* margin: 30px 0 0; */
	/* border-top: 1px solid #ccc; */
	/* background-color: rgba(0,102,182,1); */
}
html.sp #gnav_open:checked ~ .left label img{
	transform: scaleY(-1);
}
#gnav_open{
	display: none;
}
nav.global{
	display: flex;
	/* display: flex; */
	flex-grow: 1;
	/* background-color: #1c79c1; */
	background-color: rgba(0,102,182,1);
}
html.sp nav.global{
	display: none;
	justify-content: center;
	flex-wrap: wrap;
	flex-basis: 100%;
	background-color: rgba(0,102,182,1);
}
html.sp body.loaded nav.global{
	display: flex;
}
nav.global a{
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 90px;
	color: #fff;
	background-image: url(/img/common/header/nav/b.png);
	background-repeat: no-repeat;
	background-position: 100% 50%;
	/* background-color: rgba(0,102,182,1); */
	/* background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0)); */
	/* transition: background-color 0.2s linear; */
}
html.sp nav.global a{
	flex-grow: 0;
	flex-direction: row;
	width: 80%;
	height: 0;
	background-image: none;
	overflow: hidden;
}
html.sp body.loaded nav.global a{
	transition: height 0.4s ease-in-out;
}
html.sp #gnav_open:checked ~ nav.global a{
	display: flex;
	height: 60px;
	border-bottom: 1px solid rgba(255,255,255,0.6);
}
nav.global a svg path,
nav.global a svg polygon,
nav.global a svg rect{
	fill: #fff;
	transition: fill 0.2s linear;
	/* transition: filter 0.2s linear; */
	/* filter: sepia(99%) saturate(0%) hue-rotate(166deg) brightness(95%); */
}
nav.global a.current svg path,
nav.global a.current svg polygon,
nav.global a.current svg rect,
nav.global a:hover svg path,
nav.global a:hover svg polygon,
nav.global a:hover svg rect{
	fill: #7ECEF4;
	/* filter: sepia(99%) saturate(3000%) hue-rotate(166deg) brightness(95%); */
}
html.sp nav.global a svg{
	height: 20px;
	width: auto;
}
nav.global a svg[data-src*="/nav/4_1."]{
	margin-bottom: 7px;
}
html.sp nav.global a svg[data-src*="/nav/4_1."]{
	margin: 0 4px 0;
}
nav.global a:last-child{
	background-image: none;
}
nav.global a:hover{
	/* background-color: rgba(0,102,182,0); */
	/* background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0.1)); */
}

.footer1{
	text-align: center;
	margin: 200px 0 40px;
}
.footer2{
	text-align: center;
	color: #fff;
	background-color: #015bab;
	padding: 80px 0;
}
.footer2 .text1{
	display: inline-block;
	letter-spacing: 2.5px;
	margin: 18px 0 30px 13px;
}
.footer2 .address{
	display: inline-block;
	text-align: left;
	letter-spacing: 1px;
}
.footer2 .links{
	display: inline-block;
	width: 460px;
	margin: 30px 0;
}
.footer2 .links .row{
	display: flex;
	justify-content: center;
	margin: 15px 0;
}
.footer2 .links .row a{
/*	flex-grow: 1;*/
	color: #fff;
	padding: 5px 20px;
	border-right: 1px solid rgba(255,255,255,0.7);
}
.footer2 .links .row a:first-child{
	border-left: 1px solid rgba(255,255,255,0.7);
}
.footer2 .copyright{
	font-size: 1.2rem;
	letter-spacing: 3px;
}
.footer2 .copyright .c{
	vertical-align: -3px;
	font-size: 2rem;
}

.page_width{
	max-width: 90%;
	width: 980px;
	margin: 0 auto;
}

.main_image{
	background-size: cover;
	background-position: center;
}
.main_image img{
	width: 100%;
}

table.type1{
	border-collapse: collapse;
	margin: 0 auto;
}
table.type1 th,
table.type1 td{
	vertical-align: top;
	text-align: left;
	font-size: 2rem;
	letter-spacing: 1px;
	padding: 16px 50px 13px 0;
	border-bottom: 1px solid rgba(0,0,0,0.6);
}
table.type1 th{
	color: #005bab;
	font-weight: 500;
}
html.sp table.type1 th{
	min-width: 90px;
	width: 90px;
	padding-right: 30px;
}
html.sp table.type1 td{
	padding-right: 0px;
}

table.type2{
	border-collapse: collapse;
	margin: 0 auto;
}
table.type2 th,
table.type2 td{
	vertical-align: top;
	text-align: left;
	font-size: 2rem;
	letter-spacing: 1px;
	padding: 16px 0 13px 0;
	/* border-bottom: 1px solid rgba(0,0,0,0.6); */
}
html.sp table.type2 th,
html.sp table.type2 td{
	font-size: 1.9rem;
	letter-spacing: 0px;
}
table.type2 th{
	font-weight: 500;
	color: #005bab;
	padding-right: 50px;
}
html.sp table.type2 th{
	padding: 16px 10px 13px 0;
}


ul.type1{
	padding: 0;
	margin: 5px 0;
	list-style: none;
}
ul.type1 > li{
	display: flex;
	margin: 5px 0;
	text-indent: 0;
}
ul.type1 > li:before{
	content: "・";
	white-space: nowrap;
	font-feature-settings: normal;
}



