
@charset "utf-8";
/* CSS Document */

/*---- frexible grid system ----*/



	

.off .grid_1_12,
.off .grid_1_6,
.off .grid_1_4,
.off .grid_1_3,
.off .grid_1_2,
.off .grid_7_12,
.off .grid_2_3,
.off .grid_3_4,
.off .grid_5_6,
.off .grid_11_12,
.off .grid_1_1 { 
	display: block;
	float: none;
	margin-left: 0;
}


.off .grid_1_12,
.off .grid_1_6,
.off .grid_1_4,
.off .grid_1_3,
.off .grid_5_12,
.off .grid_1_2,
.off .grid_7_12,
.off .grid_2_3,
.off .grid_3_4,
.off .grid_5_6,
.off .grid_11_12,
.off .grid_1_1 { width: auto; }


/* index setting :
--------------------------------------------*/

/*-- main_visual --*/

#index #main_visual {
	padding: 2% 0 0.1%;
}

#main_visual .wrapper {padding: 0;}



/* outline setting :
--------------------------------------------*/

.outline {
	padding: 0px;
}


#left_col {
	float: none;
	margin-left: 0;
	padding: 0 0 2%;
	width: 100%;
}

#contents {
	float: none;
	padding: 1% 0%;
	width: auto;
}

#index #contents {
	padding: 0%;
	margin: 0;
	width: 100%;
}


/*---- header setting ----*/


/*-- logo --*/

#header #logo img {
	width: 234px;
	height: 46px;
	margin: 4px 0 8px 8px;
}


/*-- header navi --*/


#header .grid_1_4,
#header .grid_3_4 {
	width: auto;
}

#header .grid_2_3 {float: none;}


.pc {display: none !important;}
.sp {display: block !important;}

.search.sp {
	float: right;
}

#header .nav .txt_box {width: 260px;}

#header .nav {
	padding: 5px;
}



/*---- grobal navigation setting ----*/


ul.bar {
	display: block;
	clear: both;
}

ul.bar a {
	display: block;
	padding: 12px 10px;
}

ul.bar a.menu {
	background: #403b95;
	color: #fff;
}

ul.bar a.close {
	background: #f9dc5f;
	color: #403b95;
}

ul.bar a img {
	margin-right: 10px;
	vertical-align: middle;
}

#glnav ul.grid_3_4 {
	margin: 0;
	border: none;
	display: none;
}

#glnav ul.grid_3_4 img {display: none;}
#glnav ul.grid_3_4 span {display: block;}
#glnav ul.grid_3_4 span span {display: inline;}

#glnav {clear: both;}

#glnav li {
	width: 100%;
	border-right: none;
	margin: 0;
}



#glnav ul.grid_3_4 span img {
	display: inline-block;
	width: 33px;
	height: 32px;
	margin: 0 10px;
}


#glnav ul.grid_3_4 a {
	display: block;
	width: 100%;
	color: #444;
	background: #fff url(../img/common/arrow04.png) no-repeat right 10px center;
	background-size: 28px 28px;
	padding: 20px 0px;
	border-bottom: 2px solid #efefef;
}

#glnav ul.grid_3_4 #gl1 a {
	background: #fff url(../img/common/arrow15.png) no-repeat right 10px center;
	background-size: 28px 28px;
}
#index #glnav ul.grid_3_4 #gl1 img.pc {display: none!important;}
#index #glnav ul.grid_3_4 #gl1 a {
	color: #fff;
	background: #403b95 url(../img/common/arrow03.png) no-repeat right 10px center;
	background-size: 28px 28px;
}

#glnav ul.grid_3_4 > li > a span {font-size: 130%;}
#glnav ul.grid_3_4 > li > a span span {font-size: 70%;}

#glnav ul.grid_3_4 a.on {
	color: #fff;
	background: #403b95 url(../img/common/arrow03.png) no-repeat right 10px center;
	background-size: 28px 28px;
}

#glnav ul.grid_3_4 a.open {
	color: #fff;
	background: #403b95 url(../img/common/arrow05.png) no-repeat right 10px center;
	background-size: 28px 28px;
}

#glnav ul.grid_3_4 a.close {
	color: #444;
	background: #fff url(../img/common/arrow04.png) no-repeat right 10px center;
	background-size: 28px 30px;
}

#glnav ul.grid_3_4 ul li a,
#glnav ul.grid_3_4 ul li span {
	color: #403b95;
	font-size: 100%;
	padding: 16px 16px 16px 10px;
	border-bottom: 2px solid #fff;
}

#glnav ul.grid_3_4 ul li a {
	background: #f1f0f6 url(../img/common/arrow07.png) no-repeat right 5px center;
	background-size: 16px 16px;
}
#glnav ul.grid_3_4 ul li span {
	background: #f1f0f6 url(../img/common/arrow06.png) no-repeat right 7px center;
	background-size: 16px 16px;
}

#glnav ul.grid_3_4 ul span.open {
	background: #f1f0f6 url(../img/common/arrow08.png) no-repeat right 7px center;
	background-size: 16px 16px;
}

#glnav ul.grid_3_4 ul ul a {
	color: #444;
	font-size: 90%;
	background: #fff url(../img/common/arrow09.png) no-repeat right 10px center;
	background-size: 6px 14px;
	padding: 14px 18px 14px 10px;
	border-bottom: 1px solid #efefef;
}



/*---- main visual setting ----*/


#main_visual {
	background: #f9dc5f;
	padding: 2% 0% 0;
}

#main_visual img {
	margin: 0% 2% 2%;
	max-width: 96%;
}


#main_visual #sean {
	display: none;
}

#main_visual #sean img {
	max-width: 100%;
	height: auto;
}




/*---- menu area setting ----*/

#menu {
	padding: 2% 2% 0%;
}

#menu img {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin-bottom: 2%;
}


/*---- banner area setting ----*/


#bnr {margin: 0% 2%;}
#index #bnr {margin: 2% 2% 0;}


#bnr .grid_1_4 {
	width: 49.0%;
	margin-bottom: 2%;
}
#bnr .grid_1_4:nth-child(3) {
	clear: both;
	margin-left: 0; 
}

/*-- 3 banner --*/


#bnr ul.outline {margin: 0 auto;}

#contents > #bnr .grid_1_3 {
	width: 49.0%;
	margin-bottom: 2%;
}

#contents > #bnr .grid_1_3:nth-child(odd) {
	clear: both;
	margin-left: 0;
}

#contents > #bnr .grid_1_3.mgl0 {margin-left: 2%!important;}


/*---- news area setting ----*/

.news .list li a {
	padding: 2% 5% 2% 2%;
}


/*---- footer setting ----*/


#footer {
	margin-top: 60px;
}

#footer .nav1 {
	padding: 0;
}

#footer .nav1 a {
	color: #444;
	display: block;
	text-align: left;
	background: #f9dc5f url(../img/common/arrow09.png) no-repeat right 10px center;
	background-size: 10px;
	border-bottom: 1px solid #fff;
	padding: 16px;
}

#footer .nav1 li {
	border-right: none;
	padding: 0px;
}


#footer .nav2 ul {padding: 0px;}
#footer .nav2 ul ul {padding: 0;}
#footer .nav2 li {margin-bottom: 0;}

#footer .nav2 .grid_1_4 {
	float: none;
	width: 100%;
	margin: 0;
}

#footer .nav2 a,
#footer .nav2 a:hover {
	display: block;
	color: #fff;
	background: #403b95 url(../img/common/arrow03.png) no-repeat right center;
	background-size: 28px 28px;
	padding: 20px 10px;
	border-bottom: 2px solid #efefef;
}


#footer .nav2 ul ul {display: none;}




/*-- panav setting --*/

#panav {
	margin-bottom: 2%;
	padding-left: 1%;
}


/*---- component setting ----*/

/*-- H1 --*/

#contents h1 {
	font-size: 130%;
	padding: 5px 0;
	margin: 0 1% 1em;
}

#contents h1 span {
	padding: 10px 0.5em;
}


/*-- H2 --*/

#contents h2 {
	padding: 10px 0.5em;
	margin: 0 1% 1em;
}


/*-- H3 --*/

#contents h3 {
	margin: 0 1% 1em;
}


#contents h3 span {
	padding: 0px 0.8em 7px;
}


/*-- H4 --*/

#contents h4 {
	font-size: 110%;
	border-left: 3px solid #403b95;
	padding: 5px 5px 5px 15px;
	margin: 0 0 1em 5px;
}


/*-- H5 --*/

#contents h5 {
	font-size: 105%;
	background: url(../img/common/h5.gif) no-repeat 0 50%;
	padding: 0px 5px 0px 17px;
	margin: 0 0 1em 10px;
}

/*-- list setting --*/

ul.list1 li {
	background: none;
	position: relative;
	padding-left: 10px;
}

ul.list1 li:before {
	display: block;
	content: "";
	position: absolute;
    top: 0.8em;
    left: 0px;
    width: 0;
    height: 0;
    margin-top: -4px;
	border-radius: 0%;
    border: 4px solid transparent;
	/*border-left: 4px solid #413b94;*/
}


/*-- Definition List --*/


.dl2 dt {
	padding: 0px 0px 0px 10px;
	background: none;
	position: relative;
}

.dl2 dt:before {
	display: block;
	content: "";
	position: absolute;
    top: 0.8em;
    left: 0px;
    width: 0;
    height: 0;
    margin-top: -4px;
	border-radius: 0%;
    border: 4px solid transparent;
	border-left: 4px solid #413b94;
}



/*---- adobe reader setting ----*/


.reader img.adobe {
	float: none;
	margin: 0 10px 5px 0;
}


/*---- img ----*/

/* caption img */

.img_cap {
	display: block;
	float: none;
	margin-bottom:1em;
}

.left.img_cap,
.right.img_cap {margin: 0 0 1em;}




/*-- page top --*/

#page_top {
	position: absolute;
	top: -50px;
	right: 0;
}

/*-- modal --*/

.modal table {min-width: 900px;}

#contents a.print {display: none;}

/*-- sns setting --*/

#sns {margin: 1em 1% 0;}
#sns iframe {
	width: 105px;
}

/*-- page top --*/

#page_top img {
	display: none;
}

#page_top a {
	display: block;
	width: 40px;
	height: 40px;
	background: #403b95;
}

#page_top a:after {
	display: block;
	content: "";
	position: absolute;
	top: 18px;
	left: 15px;
	width: 0;
	height: 0;
	border: 5px solid transparent;
	margin-top: -6px;
    border-bottom: 5px solid #fff;
}

/* contents list setting:
--------------------------------------------*/


/*list*/

.menu_list {
	margin-top: 1em;
	border-top: 1px solid #d9d9d9;
}

.menu_list li {font-size: 105%;}
.menu_list li li {font-size: 95%;margin-bottom: 10px;}

.menu_list > ul > li > a,
.menu_list > ul > li > span {
	display: block;
	padding: 15px 5px 15px 26px;
	border-bottom: 1px solid #d9d9d9;
	color: #444;
}

.menu_list li a {background: none;}
.menu_list li {position: relative;}


.menu_list > ul > li > a.on,
.menu_list > ul > li > a:hover {background: #fff;background-image: none !important;}
.menu_list > ul > li > span,
.menu_list > ul > li > span:hover,
.menu_list > ul > li > span.on,
.menu_list > ul > li > span:hover.on {background: #fff;background-image: none;}

.menu_list ul li a:before,
.menu_list ul li span:before {
    display: block;
    content: "";
    position: absolute;
    top: 27px;
    left: 8px;
    width: 12px;
    height: 12px;
    margin-top: -8px;
    border-radius: 50%;
	background-image: none;
    background: #413b94;
}


.menu_list ul li a:after,
.menu_list ul li span:after {
	display: block;
	content: "";
	position: absolute;
	top: 28px;
	left: 11px;
	width: 0;
	height: 0;
	border: 3px solid transparent;
}

.menu_list > ul > li > a:after {
	left: 13px;
    margin-top: -6px;
    border-left: 3px solid #ffd300;
}

.menu_list > ul > li > span:after {
    width: 2px;
    height: 2px;
    margin-top: -5px;
    border-radius: 50%;
	left: 12px;
	background-image: none;
    background: #fff;
	border: 1px solid transparent;
}


/*nest*/



.menu_list li ul {
	/*padding: 0.5em 0;*/
	border-bottom: 1px solid #d9d9d9;
}

.menu_list li li {margin:0;}

.menu_list li li a,
.menu_list li li a:hover,
.menu_list li li span {
	display: block;
	font-size: 90%;
	padding: 10px 5px 10px 30px;
	background-image: none;
	border-bottom: none;
	color: #403b94;
	position: relative;
}

.menu_list li li span {
	color: #444;
}


.menu_list li li a:before,
.menu_list li li span:before {
    top: 50%;
    left: 20px;
    width: 0;
    height: 0;
    margin-top: -4px;
	border-radius: 0%;
    border: 4px solid transparent;
	border-left: 4px solid #413b94 !important;
	background: none;
}

.menu_list li li span:before {
	left: 18px;
	border: 3px solid #413b94 !important;
}


/*-- box-sizing --*/

.pd0 {padding: 0 !important;}
.pdt0 {padding-top: 0 !important;}
.pdb0 {padding-bottom: 0 !important;}
.pdl0 {padding-left: 0 !important;}
.pdr0 {padding-right: 0 !important;}
.pd1em {padding: 1em !important;}
.pdtb1em {padding: 1em 0 !important;}
.pdt1em {padding: 1em 0 0 !important;}
.pdb1em {padding: 0 0 1em !important;}
.pdlr1em {padding: 0 1em !important;}
.pdr1em {padding: 0 1em 0 0 !important;}
.pdl1em {padding: 0 0 0 1em !important;}
.pdtl1em {padding: 1em 0 0 1em !important;}

img.flex_img {
	box-sizing: border-box;
}

.left.no,
.right.no {
	float:none;
	display: block;
}

img.left.no,
img.right.no {
	float:none;
	display: block;
}

span.mglb1em.no {
	display: block;
}