
@charset "utf-8";
/********************
  based
********************/

img{border:none;}
img.mar{vertical-align: bottom;}

.clear{clear:both;}


a:link{text-decoration:none;color:#333;}
a:visited{text-decoration:underline;color:#333;}
a:hover{text-decoration:none;color:#186af3;}
a:active{text-decoration:none;color:#186af3;}

a.foot:link{text-decoration:none;color:#fff;}
a.foot:visited{text-decoration:none;color:#fff;}
a.foot:hover{text-decoration:underline;color:#fff;}h1{
	margin:0;
	padding:0;
	font-size:120%;
}

/********************
  枠（共通）
********************/
body{
	position: relative;
	margin: 0;
	padding: 0;
	/*line-height: 150%;*/
	line-height: 216%;
	color: #333;
	font-family: Meiryo, Verdana, "メイリオ", "ＭＳ Ｐゴシック", Hiragino Kaku Gothic Pro, Osaka;
	text-align: center;
	border-top: 7px solid #1d2088;
	/*font-size: 120%;*/
	min-width: 1000px;

	background: url(../images/index/bg.png) repeat;
	/*background-position: 0 60px;*/

}

/* 横幅を1000pxに */
div.wrap_w1000{
	position: relative;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 1000px;
}

/********************
  ヘッダブロック
********************/

div#header{
	margin: 5px 0 5px;
	padding: 0;
	width: 100%;
	/*height:50px;*/
	position: relative;
	text-align: left;
}

/* メインメニュー
--------------------------- */

div.tm_wrapper{
	position: relative;
	display: inline-block;
	border-right: 1px solid #dddddd;
}

div.tm_wrapper:first-child{
	border-left: 1px solid #dddddd;
}

div.tm_wrapper a{
	position: relative;
	display: block;
	margin: 5px 5px;
	padding: 0 5px;
	cursor: pointer;
	color: #1d2088;
}

div.tm_wrapper:hover a{
	margin: 5px 5px 1px;
	border-bottom: 4px solid #1d2088;
}

input#tsm1:checked ~ div a#tm1,
input#tsm2:checked ~ div a#tm2,
input#tsm3:checked ~ div a#tm3,
input#tsm4:checked ~ div a#tm4,
input#tsm5:checked ~ div a#tm5,
input#tsm6:checked ~ div a#tm6{
	margin: 5px 5px 1px;
	/*border-bottom: 4px solid #1d2088;*/
	border-bottom: 4px solid #00d2ff;
}

div#fs_box{
	position: relative;
	display: inline-block;
	float: right;
	padding: 2px 0 0 10px;
	border: 1px solid #dddddd;
	background: #f3f3f3;
	height: 34px;
	vertical-align: middle;
}

div#fs_box::after{
	content:"";
	position: relative;
	display: inline-block;
	width: 100px;
	height: 36px;
	vertical-align: middle;
}

div.fs_button{
	position: absolute;
	width: 26px;
	height: 26px;
	top: 5px;
	z-index: 1;
}


div#fs_large {
	right: 67px;
}

div#fs_middle {
	right: 36px;
}

div#fs_small {
	right: 5px;
}

div#nojs_navi {
	position: absolute;
	top: 8px;
	right: 0px;
	background: #666666;
	color: #ffffff;
	line-height: 150%;
	padding: 3px 10px 3px 50px;
	border: 1px solid #333333;
}

div#nojs_navi::before{
	content:"";
	position: absolute;
	display: block;
	width: 34px;
	height: 30px;
	top: 8px;
	left: 7px;
	background: url(../images/index/attention.png) no-repeat;
}


/* ラジオボタンとラベル
--------------------------- */
input{
	display: none;
}

label{
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	cursor: pointer;
	background: url(../images/index/block_link_bg.png) repeat;
}

input#tsm1:not(:checked) ~ div a#tm1 + label,
input#tsm2:not(:checked) ~ div a#tm2 + label,
input#tsm3:not(:checked) ~ div a#tm3 + label,
input#tsm4:not(:checked) ~ div a#tm4 + label,
input#tsm5:not(:checked) ~ div a#tm5 + label,
input#tsm6:not(:checked) ~ div a#tm6 + label{
	width: 100%;
	height: 100%;
}

input#tsm1:checked ~ div a#tm1 ~ label[for="non_tsm"],
input#tsm2:checked ~ div a#tm2 ~ label[for="non_tsm"],
input#tsm3:checked ~ div a#tm3 ~ label[for="non_tsm"],
input#tsm4:checked ~ div a#tm4 ~ label[for="non_tsm"],
input#tsm5:checked ~ div a#tm5 ~ label[for="non_tsm"],
input#tsm6:checked ~ div a#tm6 ~ label[for="non_tsm"]{
	width: 100%;
	height: 100%;
}

/* サブメニュー
--------------------------- */

div#sub_menu_wrapper{
	position: relative;
	overflow: hidden;
	background: #1d2088;
	max-height: 3px;
	height: auto;
	margin-top: 2px;
	transition: max-height .5s ease 0s;
	/*border-top: 3px solid #1d2088;*/
}

div#top_sub_menu{
	position: relative;
	overflow: hidden;
	text-align: right;
	/*bottom: 0;*/
	margin-bottom: 3px;
}

div#top_sub_menu:after{
	content: "YSK";
	position: relative;
	display: inline-block;
	visibility: hidden;
	line-height: 216%;
	margin: 3px 0;
}

div.tsm_inner{
	position: absolute;
	top: -100%;
	left: 0;
	display: inline-block;
	text-align: left;
	transition: top .5s ease 0s, opacity .5s ease-out 0s;
	opacity:0.0;
}

div.tsm_wrapper{
	position: relative;
	display: inline-block;
}

div.tsm_wrapper a{
	position: relative;
	display: inline-block;
	margin: 3px 8px;
	padding: 0 8px;
	cursor: pointer;
	color: #ffffff;
}

div.tsm_wrapper a:hover{
	background: #ffffff;
	color: #1d2088;
}

input.tsm_disp:checked ~ div#sub_menu_wrapper{
	max-height: 50px;
	/*border-top: 0px solid #1d2088;*/
}

input#tsm1:checked ~ div#sub_menu_wrapper div#top_sub_menu_1{
	top: 0%;
	opacity:1.0;
}

input#tsm2:checked ~ div#sub_menu_wrapper div#top_sub_menu_2{
	top: 0%;
	opacity:1.0;
}

input#tsm3:checked ~ div#sub_menu_wrapper div#top_sub_menu_3{
	top: 0%;
	opacity:1.0;
}

input#tsm4:checked ~ div#sub_menu_wrapper div#top_sub_menu_4{
	top: 0%;
	opacity:1.0;
}

input#tsm5:checked ~ div#sub_menu_wrapper div#top_sub_menu_5{
	top: 0%;
	opacity:1.0;
}

input#tsm6:checked ~ div#sub_menu_wrapper div#top_sub_menu_6{
	top: 0%;
	opacity:1.0;
}


/********************
  TOP画像ブロック
********************/

div#top_img_wrap{
	position: relative;
	margin: 0 auto 20px;
	padding: 7px 0px;
	text-align: center;
	width: 100%;
	height: 410px;
	background: #ffffff;
	overflow: hidden;
	/*border-top: 3px solid #1d2088;*/
	border-bottom: 3px solid #1d2088;
}


div#img_inner_wrap{
	position: relative;
	width: 1000px;
	height: 410px;
	margin: 0 auto;
}

img.top_img{
	position: relative;
	width: 1000px;
	height: 410px;
	margin: 0 auto;
}

a.top_img_link > img.top_img{
	cursor: pointer;
}

a.top_img_link > img.top_img{
	cursor: pointer;
}

a.top_img_link:after{
	content: "▲ クリックで詳細を開きます ▲";
	position: absolute;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	max-height: 0rem;
	color: #ffffff;
	background: #333333;
	left: 0;
	bottom: 0;
	opacity: 0.9;
	transition: .2s;
}

a.top_img_link:hover:after{
	max-height: 3rem;
}

div#img_bg_l{
	background: url(../images/index/img_bg.png) repeat;
	position: absolute;
	margin: 0px 502px 0px 0px;
	height: 410px;
	width: 100%;
	right: 50%;
	background-position: right;
}

div#img_bg_r{
	background: url(../images/index/img_bg.png) repeat;
	position: absolute;
	margin: 0px 0px 0px 502px;
	height: 410px;
	width: 100%;
	left: 50%;
	background-position: left;
}


/********************
  solutionブロック
********************/

div#solu_wrap{
	position: relative;
	margin: 0px 0px 40px;
	padding: 90px 0 0;
	text-align: center;
	width: 100%;
	height: 190px;
	background: #f3f3f3;
	overflow: hidden;
}

div#solu_title{
	position: absolute;
	height: 40px;
	width: 100%;
	top: 0;
	left: 0;
	border-bottom: 2px solid #1d2088;
	text-align: center;
}

div#solu_title div{
	position: relative;
	display: inline-block;
	bottom: -20px;
	padding: 0 15px;
	vertical-align: middle;
	background: #f3f3f3;
	font-size: 180%;
	letter-spacing: 1px;
	color: #1d2088;
}

div#solu_title div:before,
div#solu_title div:after{
	content:"";
	position: relative;
	display: inline-block;
	height: 40px;
	width: 1px;
	vertical-align: middle;
}


div#solu_title div span{
	font-size: 80%;
	margin: 0 3px;
}

div.solu_category{
	position: relative;
	display: inline-block;
	height: 156px;
	width: 195px;
	border: 1px solid #1d2088;
	background: #ffffff;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

div#solu_cat_l{
	position: absolute;
	top: 0;
	left: 1px;
}

div#solu_cat_c{
	margin: 0 3px;
}

div#solu_cat_r{
	position: absolute;
	top: 0;
	right: 1px;
}

a.solu_clink {
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background: url(../images/index/block_link_bg.png) repeat;
}

img.solu_img{
	position: relative;
	display: block;
	height: 125px;
	width: 195px;
	background: #dddddd;
}

div.solu_cname{
	position: relative;
	display: inline-block;
	height: 30px;
	width: 195px;
	border-top: 1px solid #1d2088;
	font-size: 110%;
	text-align: center;
	background: #ffffff;
	color: #1d2088;
	white-space: nowrap;
	overflow: hidden;
}

div.solu_cname:before,
div.solu_cname:after{
	content:"";
	position: relative;
	display: inline-block;
	height: 30px;
	width: 1px;
	vertical-align: middle;
}

div.wrap_w1000 > div.solu_category > div:after{
	content:"";
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.0);
	transition: .4s;
}

div.wrap_w1000:hover > div.solu_category:not(:hover) > div:after{
	/*content:"";
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;*/
	background: rgba(0,0,0,0.4);
}

div.solu_category:hover div.solu_cname{
	background: #1d2088;
	color: #ffffff;
	transition: .2s;
}

/********************
  solution下共通
********************/

div.content_title{
	position: relative;
	display: block;
	height: 30px;
	margin: 1px 1px 1px 1px;
	padding: 4px 0 0 25px;
	color: #1d2088;
	background: url(../images/index/title_deco.png) no-repeat;
	font-size: 120%;
}

/********************
  TOPICS
********************/

div#topics_wrap{
	position: relative;
	display: inline-block;
	width: 310px;
	border: 1px solid #1d2088;
	text-align: left;
	background: #ffffff;
	vertical-align: top;
	float: left;
}

div#topics_body{
	border-top: 1px solid #1d2088;
	padding: 5px 5px 0 5px;
	font-size: 105%;
}

div#topics_body ul{
	position: relative;
	display: block;
	padding: 0;
	margin: 0;
}

div#topics_body li{
	position: relative;
	display: block;
	border-bottom: 1px solid #1d2088;
	margin-bottom: 5px;
	padding: 12px 7px 0 7px;
	list-style-type: none;
}

div#topics_body li:hover{
	background: #1d2088;
	transition: .2s;
}

div#topics_body li p{
	padding: 0;
	margin: 0;
	line-height: 1.3em;
}

div#topics_body li:hover p{
	color: #ffffff;
}

p.new:after{
	content:"";
	position: relative;
	display: inline-block;
	height: 11px;
	width: 24px;
	background: url(../images/index/new002_01.gif) no-repeat;
	vertical-align: middle;
}

p.topics_text{
	position: relative;
	margin: 5px 0 15px 0px!important;
	padding-left: 1.2em!important;
}

/* 各topics先頭に▶を追加 */
p.topics_text:before{
	content:"\25B6";
	position: absolute;
	left: 0px;
	top: 0px;
}


div#topics_body li a{
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	cursor: pointer;
	background: url(../images/index/block_link_bg.png) repeat;
}

div#topics_footer{
	position: relative;
	display: block;
	padding: 0 12px 7px 12px;
	text-align: right;
	font-size: 110%;
}

div#more_topics > a{
	color: #1d2088;
}

div#more_topics:hover > a{
	color:#186af3;
	transition: .2s;
}

div#more_topics > a:first-child{
	display: inline-block;
}

div#more_topics:hover > a:first-child + a{
	text-decoration: underline;
}

div#more_topics:hover > a:first-child{
	animation: more 0.5s ease-out 0s infinite normal both;
}

@keyframes more {
0% {padding-right: 5px;}
90% {padding-right: 0px;}
100% {padding-right: 0px;}
}

/********************
  contents部分
********************/

div#contents_wrap{
	position: relative;
	display: inline-block;
	/*width: 688px;*/
	text-align: left;
	vertical-align: top;
	float: right;
}

div.contents_wrap{
	position: relative;
	display: block;
	width: 688px;
	text-align: left;
	vertical-align: top;
}

div.content_box {
	position: relative;
	display: inline-block;
	border-top: 1px solid #1d2088;
	margin: 0 0 20px 30px;
	width: 312px;
	vertical-align: top;
}

div.contents_inner_wrap > div.content_box:first-child{
	margin-left: 0px;
}

div.contents_inner_wrap_2 {
	position: relative;
	/* display: inline-block; */
	float: left;
	width: 310px;
	margin: 0;
}
div.contents_inner_wrap_2 > div.content_box{
	margin-left: 0px;
}

div.contents_inner_wrap_3 {
	position: relative;
	/* display: inline-block; */
	float: left;
	width: 310px;
	margin: 0;
}
div.contents_inner_wrap_3 > div.content_box{
	margin-left: 0px;
}

div.content_header{
	margin-bottom: 10px;
}


img.content_img{
	height: 140px;
	width: 125px;
	margin-left: 8px;
	border: 1px solid #dddddd;
}

div.content_box ul{
	position: relative;
	display: inline-block;
	list-style-type: none;
	font-size: 120%;
	margin: 0 0 0 15px;
	padding: 0;
	overflow: hidden;
}

ul.vertically{
	float: right;
	margin: 0 10px 0 0px!important;
}

ul.vertically li{
	position: relative;
	display: block;
	padding: 3px;
	top: 1px;
	width: 7.5em;
	min-width: 131.2px;
	border-bottom: 1px solid #dddddd;
}

ul.horizontally li{
	position: relative;
	display: inline-block;
	padding: 3px;
	top: 1px;
	width: 8.2em;
}

ul.horizontally li:first-child{
	margin-right: 0.8em;
}

ul#recruit_list li{
	position: relative;
	display: block;
	padding: 3px;
	top: 1px;
	width: 284px;
	border-bottom: 1px solid #dddddd;
}

div.content_box ul li a:before{
	content:"●";
	display: inline-block;
	margin-right: 2px;
	text-decoration: none!important;
}


div.content_box ul li a:hover{
	text-decoration: underline;
}


div.content_box ul li a:hover:before{
	content:"\25B7";
	display: inline-block;
	margin-right: 2px;
	text-decoration: none!important;
}


/********************
  intro_banner
********************/
#intro_banner_container {
	position: relative;
	display: block;
}

.intro_banner {
	text-align: center;
	padding: 30px 0 10px 0;
}
a.intro_banner_link{
	width: 314px;
	margin: 5px 0 0 29px;
	text-align: center;
	font-size: 120%;
}
a.intro_banner_link > div {
	margin-left:30px;
	font-size: medium;
}

a.intro_banner_link img{
	width: 300px;
	height: auto;
	border: 1px solid #999999;
}

a.intro_banner_link:hover {
	color:#ff0000;
}

a.intro_banner_link:hover img {
	margin-top: -2px;
	margin-bottom: 2px;
}
a.intro_banner_link:hover div {
	margin-top: -2px;
	margin-bottom: 2px;
}

img.banner_shadow {
	background: #e7e7e7;
	box-shadow: 3px 5px 6px 0px rgba(0,0,0,0.2);
}

img.banner_shadow:hover {
	box-shadow: 5px 7px 7px 2px rgba(0,0,0,0.2);
}

/********************
  banner
********************/

div#banner_wrap{
	position: relative;
	margin: 30px 0 0;
	padding: 15px 0;
	text-align: center;
	width: 100%;
	background: #eeeeee;
	overflow: hidden;
	line-height: 1em;
	border-top: 1px solid #999999;
}

div.banner{
	position: relative;
	display: inline-block;
	width: 186px;
	text-align: center;
	margin: 0 5px 1.5em;
}

div.banner:hover a{
	color:#186af3;
}

div.banner > a:first-child + a{
	position: absolute;
	display: inline-block;
	width: 186px;
	left: 0;
	top: 100%;
}


/********************
  footer
********************/

div#footer{
	margin:0;
	padding:20px 0 0;
	clear:both;
	height:80px;
	background:#fff url(../images/bg_foot.gif) repeat-x;
	color:#fff;
}

div#footer iFrame {
	width: 749px;
	height: 70px;
	margin-right: auto;
	margin-left: auto;
}
