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


/* ----------------------------------------------------
   common setting
------------------------------------------------------- */


/* basic setting:
--------------------------------------------*/

* {
	margin: 0;
	padding: 0;
}


body {
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-size: 100%;
	line-height: 1.6em;
	color: #434343;
	letter-spacing: 0.3px;
	box-sizing: border-box;
}

em,address {font-style: normal;}
hr {display: none;}
hr.hr {display: block;margin: 15px;}
img {border: none;vertical-align: middle;}
ul,ol {list-style: none;}
.clear {clear: both;}
.left {float: left;}
.right {float: right;}
.bold {font-weight: bold;}
.normal{font-weight:normal;}
.align_r {text-align: right!important;}
.align_l {text-align: left!important;}
.center {text-align: center!important;}
.valign_m{ vertical-align:middle!important;}
*+html .clear_fix {display: inline-block;}
* html .clear_fix {display: inline-block;}
.clear_fix:after {
	content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}

#header,
#glnav,
#main,
#right_col,
#footer {font-size: 100%;}


/* link color setting :
--------------------------------------------*/


a {color:#202d3d;text-decoration:none;}
a:hover {text-decoration: underline;}


#main a {text-decoration:underline;}
#main a:hover {text-decoration: none;}


/* outline setting :
--------------------------------------------*/

.outline {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	padding: 0px 10px;
}

.outline:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.pc {display: block;}
.sp {display: none;}



/*---- block_skip setting ----*/

#block_skip a {
	display:block;
	height: 0;
	overflow: hidden;
	text-align: center;
	background:#3F3F40;
	font-size: 95%;
	color:#ffffff;
}

#block_skip a:focus {
	height: auto;
	line-height: 3em;
}



/*---- header setting ----*/


#header,
#nav{
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	padding: 0;
}

#header h1{
	width:50%;
}

#header .right{
	float:right;
	margin-top:15px;
	z-index:1000;
	width: 50%;
}


#header #lang{
	text-align:right;
	margin:0 0 15px 0;
}

#header #lang ul li{
	display:inline-block;
	margin-left: 5px;
}

#header #lang ul li a{
	display:block;
	padding:5px 30px;
	background:#F8C635 url(../img/common/arrow01.png) no-repeat 15px center;
}

#header #lang ul li a:hover{
	text-decoration:none;
}

#header #font_size{ margin-right:10px;}

#header #font_size,
#header #search{
	float: right;
}

/*--Googleカスタム検索のデフォルトcssに勝つ---*/

#header #search {
	margin-bottom:20px;
/*	width:50%;*/
}


#header #search input[value="検索"]{
	background:#3b3b54 url(../img/common/search.png) no-repeat 4px 50%;
	color:#ffffff;
	border:none;
	padding:7px 7px 6px 22px;
	min-height: 34px;
	vertical-align: middle;
	margin-top: -2px;
	cursor: pointer;
	border-radius: 0;
}

#header #search input[alt="検索オプション"]{
	margin:10px 0 0 0;
	display: block;
	position: absolute;
	right: 0;
	cursor: pointer;
}

#header #search input[type="text"]{
	border:none;
	background:#F3EEE8;
	height:28px;
	padding:3px;
	border-radius: 0;
}



#header #font_size li{
	display:inline-block;
}

#header #font_size li:first-child{
	margin-right:15px;
}

#header:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}


/*-- logo --*/

#header #logo {
	padding: 30px 10px 0;
	float: left;
	box-sizing: border-box;
}

#header #logo img {
	max-width: 100%;
}


@media screen and (max-width: 1100px) {
	#header h1{
		width:45%;
	}
	
	#header .right{
		width: 55%;
	}
}


@media screen and (max-width: 980px) and (min-width: 768px) {
	#header h1{
		width:50%;
	}
	
	#header .right{
		width: 50%;
		padding-right: 5px;
		box-sizing: border-box;
	}

	#header #lang ul li a{
		padding:3px 10px 3px 22px;
		background:#F8C635 url(../img/common/arrow01.png) no-repeat 10px center;
	}
	#header #font_size,
	#header #search{
		clear: both;
		float: right;
		margin-bottom: 10px;
	}
	#header #search input[value="検索オプション"]{
		margin: 0px 0px 0px 10px;
		display: inline-block;
		position: relative;
	}
	
	#header #font_size {
		margin-right: 0px;
	}

}


/*---- grobal navigation setting ----*/


#nav #glnav {
	position:relative;
	z-index: 2;
	margin-top: 15px;
}

#nav:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

#nav #glnav > li {
	vertical-align: middle;
    float: left;
}


#nav li:last-child span{
	border-right:solid 1px #cccccc;
}

#nav li>a {
	display: block;
    overflow: hidden;
    text-decoration: none;
	text-align:center;
}

#nav li ul {
	background:rgba(59,59,84,0.95);
	display: none;
	position: absolute;
	width: 20%;
	text-align:center;
	z-index:2;
}


#nav li li {
	display:block;
	float:none;
    border-bottom: solid 1px #9B9BA7;
	background:url(../img/common/arrow02.png) no-repeat 20px 50%;
}


#nav #glnav li li a{
	color:#ffffff;
    padding: 15px 10px 15px 38px;
    text-align: left;
}

#nav #glnav li li:last-child{
    border-bottom:none;
}

@media screen and (max-width: 1440px) {
	#nav #glnav li#gl6 ul {
		right: 0!important;
	}
}

#nav #glnav li li a:hover{
	background:rgba(59,59,84,1.0) url(../img/common/arrow02.png) no-repeat 20px 50%;
	text-decoration:none;
}


#nav li a span{
	border-left:solid 1px #cccccc;
}

#nav li a span:last-child {display: none;}


#nav li a span {
    cursor: pointer;
    display: block;
    z-index: 1;
	margin:20px auto;
}

#nav li#gl1{width:11%;}
#nav li#gl2{width:18%;}
#nav li#gl3{width:20%;}
#nav li#gl4{width:15%;}
#nav li#gl5{width:25%;}
#nav li#gl6{width:11%;}



#nav li li a:hover {
	border:none;
	text-decoration:underline;
}

@media screen and (max-width: 1100px) and (min-width: 768px){
	#nav #glnav li li{
		font-size: 95%;
		background:url(../img/common/arrow02.png) no-repeat 10px 50%;
	}
	
	#nav #glnav li li a{
		padding: 12px 10px 12px 28px;
	}
	
	#nav #glnav li li a:hover{
		background:rgba(59,59,84,1.0) url(../img/common/arrow02.png) no-repeat 10px 50%;
	}
}

@media screen and (max-width: 980px) and (min-width: 768px){
	#nav li#gl1{width:10%;}
	#nav li#gl2{width:18%;}
	#nav li#gl3{width:22%;}
	#nav li#gl4{width:14%;}
	#nav li#gl5{width:26%;}
	#nav li#gl6{width:10%;}
	
}


/*---- main visual setting ----*/

#main_v img {
	width: 100%;
	height: auto;
}


/*---- footer setting ----*/


#footer {
	background:#EEEEF3;
}


#footer h1 {
	margin-bottom: 30px;
}

#footer h1 img {
	width:100%;
}


/*-- footer navi --*/

#footer .nav {
	text-align: center;
	padding: 0px 0px 40px;
}

#footer .nav a {
	color: #fff;
	margin: 0 1.5em;
}

#footer .nav li {
	display: inline;
	border-right: 1px solid #d2d5da;
}

#footer .nav li:last-child {border: none;}


#footer #footer01{
	padding:25px 0;
}



#footer #footer01 li:after{
	content:"|";
	margin:0 25px;
}
#footer #footer01 li:last-child:after{
	content:"";
	margin:0;
}
#footer #footer01 ul{
	text-align:center;
}

#footer #footer01 ul li{
	display:inline-block;
}


#footer #megafooter{
	background:#424259;
}

#footer #megafooter #footer02:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

#footer #megafooter #footer02{
	color:#ffffff;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	padding:30px 0;
}




#footer #megafooter #footer02 a{
	color:#ffffff;
}


#footer #megafooter #footer02 #left{
	float:left;
	padding: 0 30px 0 5px;
	width:30%;
	box-sizing: border-box;
}



#footer #megafooter #footer02 #right{
	float:left;
	width:69%;
}

#footer #megafooter #footer02 #right>ul>li{
	float:left;
	margin-right:1%;
	margin-bottom: 20px;
	width:19%;
}

#footer #megafooter #footer02 #right>ul>li:nth-child(3){
	width:14%;
}


#footer #megafooter #footer02 #right>ul>li>a{
	display:inline-block;
	margin-bottom:10px;
}


#footer #megafooter #footer02 #right li li{
	margin-left:10px;
	font-size:90%;
}


@media screen and (max-width: 980px) and (min-width: 768px) {
	
	#footer #megafooter #footer02 #right>ul>li{
		width: 31%!important;
		margin-right: 2%;
	}
	
	#footer #megafooter #footer02 #right>ul>li:nth-child(3n+1){
		clear:both;
		float: left;
	}
	
}


/*-- 住所 --*/

#footer .address {
	margin: 40px 0 20px;
}


/*-- copy --*/

#footer #copy {
	background: #3F3F40;
	padding: 8px 0;
	text-align: center;
	color: #fff;
	font-size: 100%;
	overflow: hidden;
}


/*== ページの先頭へ ==*/

#page_top {
	position: fixed;
	bottom: 210px;
	right: 0;
	z-index: 999;
	border-radius: 2px;
	opacity: 0.9;
}

#page_top a {
	display: block;
	position: relative;
}



/*---- frexible grid system ----*/


.grid_system:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.grid_system img {
	max-width: 100%;
	height: auto;
}

.grid_1_6,
.grid_1_5,
.grid_1_4,
.grid_1_3,
.grid_1_2,
.grid_2_3,
.grid_3_4 { 
	display: block;
	float: left;
	margin-left: 2%;
}


.grid_1_6:first-child,
.grid_1_5:first-child,
.grid_1_4:first-child,
.grid_1_3:first-child,
.grid_1_2:first-child,
.grid_2_3:first-child,
.grid_3_4:first-child {
	margin-left: 0; 
}

.grid_1_6 { width: 15%; }
.grid_1_5 { width: 18.4%; }
.grid_1_4 { width: 23.5%; }
.grid_1_3 { width: 32.0%; }
.grid_1_2 { width: 49.0%; }
.grid_2_3 { width: 66.0%; }
.grid_3_4 { width: 74.5%; }


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



/*-- ghost_btn --*/

.lnk01 {text-align: center;}

.lnk01 a {
    display: inline-block;
    margin: 30px auto 10px;
    padding: 15px 20px 15px 35px;
    text-align: center;
    text-decoration: none!important;
	min-width: 10em;
	background: #3b3b54 url(../img/common/arrow02.png) no-repeat 20px 50%;
	color: #fff;
	transition: all .3s;
}

.lnk01 a:hover {
	background: #474766 url(../img/common/arrow02.png) no-repeat 20px 50%;
}



/*-- tab_btn --*/

.tab01 {
	text-align: center;
}

.tab01 li{
	display:inline-block;
}

.tab01 a {
    display: block;
    margin: 30px auto 10px;
    padding: 15px 20px 15px 35px;
    text-align: center;
    text-decoration: none!important;
	min-width: 10em;
	background: #3b3b54 url(../img/common/arrow02.png) no-repeat 20px 50%;
	color: #fff;
	transition: all .3s;
}

.tab01 a:hover {
	background: #474766 url(../img/common/arrow02.png) no-repeat 20px 50%;
}



/*-- flexible image --*/


article img{
	width: auto;
	max-width: 400px;
	height: auto;
}


img.flex_img {
	width: 100%;
	height: auto;
}

p img {
}


/*-- icon --*/


img.icon {
	width:auto!important;
	margin-left: 0.5em!important;
	vertical-align: middle!important;
}

/*== マージン ==*/

.mg0 {margin: 0!important;}
.mg20 {margin: 20px!important;}
.mgr20 {margin-right: 20px!important;}
.mgl20 {margin-left: 20px!important;}
.mgt20 {margin-top: 20px!important;}
.mgb20 {margin-bottom: 20px!important;}
.mgrb20 {margin: 0 20px 20px 0px!important;}
.mglb20 {margin: 0 0px 20px 20px!important;}
.mgtb20 {margin: 20px 0px!important;}
.mglr20 {margin: 0 20px!important;}
.mgrbl20 {margin: 0 20px 20px!important;}

.mgt40 {margin-top: 40px!important;}


.pdlr40{ padding:0 40px 0 40px!important;}

/*== 幅 ==*/


.w20 {width: 20%;}
.w25 {width: 25%;}
.w28 {width: 28%;}
.w30 {width: 30%;}
.w40 {width: 40%;}
.w50 {width: 50%;}
.w55 {width: 55%;}
.w60 {width: 60%;}



/*== フォント ==*/

.serif {font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;}


/*== PDF blank アイコン ==*/

#main #news #article img.icon,
#main img.icon{
	margin:0 0 0 5px;
	vertical-align:middle;
}

