@charset "utf-8";

/*---------------------------------------
    リセットCSS（編集不要）
----------------------------------------*/
html{overflow-y:scroll;}body,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;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}table{border-collapse:collapse;border-spacing:0;}caption,th{text-align:left;}q:before,q:after{content:'';}object,embed{vertical-align:top;}hr,legend{display:none;}h1,h2,h3,h4,h5,h6,small{font-size:100%;}img,abbr,acronym,fieldset{border:0;}ul li{list-style-type:none;}a,label{cursor:pointer;}img{vertical-align:bottom;margin:0;padding:0;}
a img{vertical-align:bottom;}


/*--------------------------------
    共通
---------------------------------*/

/*  clearfix
----------------------------------------*/
#footer .inner:after,
#content:after,
#nav_global .nav_global_sub ul li:after,
#nav_global .nav_global_sub ul:after,
#nav_global:after {
	content: "."; display: block; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; clear: both;
}

/*  背景画像
----------------------------------------*/
.pagetop a,
#nav_side li a,
#nav_global > li > a,
#nav_utility li a,
#form_site_search span {
	display:block;
	height:0;
	overflow:hidden;
	background:no-repeat 0 0;
}

/*  ボックス
----------------------------------------*/
body {
	background:#f3f2e8;
	font-size:76%;
	min-width:767px;
}
body.sp {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}
#footer .inner,
#content,
#header .inner {
	position:relative;
	max-width:960px;
	margin:auto;
	padding:0 5px;
}

/*  リンク ロールオーバー
----------------------------------------*/
#nav_side li a:hover,
#form_site_search .btn:hover,
#nav_utility li a:hover,
img.hover {
	opacity:.6;
	filter: alpha(opacity=60); /* ie 6 7 */
	-ms-filter: "alpha(opacity=60)"; /* ie 8 */
	zoom:1;
}
#footer .pagetop:hover {
	top:-30px;
	border-bottom:solid 2px #E62D2D;
}
#nav_utility li.global a:hover {
	border-top:solid 2px #E62D2D;
	opacity:1;
	filter: alpha(opacity=100); /* ie 6 7 */
	-ms-filter: "alpha(opacity=100)"; /* ie 8 */
}


/*--------------------------------
    ヘッダー
---------------------------------*/
#header {
	padding-top:58px;
	border:solid 4px #e62d2d;
	border-left:none;
	border-right:none;
	background:url(../img/bg-header.png) repeat-x 0 0 #fff;
	color:#2c2c2c;
}
#header .inner {
	position:relative;
	max-width:960px;
	margin:auto;
}

#header #logo {
	position:absolute;
	top:-38px;
	left:25px;
	width:58px;
}
#header #logo a {
	display:block;
	margin:auto;
}
#header #logo img {
	width:100%;
}

/*  グローバルメニュー
----------------------------------------*/
#nav_global {
	margin-left:109px;
	border-right:solid 1px #e5e5e5;
}
#nav_global > li {
	float:left;
	width:20%;
}
#nav_global > li > a {
	padding-top:52px;
	border-left:solid 1px #e5e5e5;
	background-image:url(../img/btn-menu_header_off.png);
}
#nav_global > li:hover > a {
	background-color:#e60012;
	background-image:url(../img/btn-menu_header_on.png);
}
#nav_global > li.products > a {
	background-position:center 9px;
}
#nav_global > li.medical > a {
	background-position:center -51px;
}
#nav_global > li.corporate > a {
	background-position:center -111px;
}
#nav_global > li.ir > a {
	background-position:center -171px;
}
#nav_global > li.fun > a {
	background-position:center -231px;
}

#nav_global .nav_global_sub {
	display:none;
	position:absolute;
	top:52px;
	left:0;
	z-index:50001;
	width:100%;
}
#nav_global > li:hover .nav_global_sub {
	display:block;
}
#nav_global .nav_global_sub ul {
	margin:0 5px;
	padding:20px;
	border:solid 4px #e62d2d;
	background:#fff;
}
#nav_global .nav_global_sub ul li {
	float:left;
	width:25%;
}
#nav_global .nav_global_sub span {
	display:block;
	margin-bottom:8px;
	padding:4px 10px;
	border-right:solid 6px #fff;
	font-weight:bold;
}
#nav_global .nav_global_sub span ~ span {
	margin-top:18px;
}
#nav_global .nav_global_sub span.nostrum {
	background:#bfbfbf;
}
#nav_global .nav_global_sub span.general {
	background:#e8e8e8;
}
#nav_global .nav_global_sub ul li dl {
	padding:0 10px;
	border-left:solid 1px #e5e5e5;
}
#nav_global .nav_global_sub ul li dl.first {
	padding-left:0;
	border-left:none;
}
#nav_global .nav_global_sub ul li dl dt,
#nav_global .nav_global_sub ul li dl dd a {
	color:#555;
}
#nav_global .nav_global_sub ul li dl dt {
	margin-top:18px;
	font-weight:bold;
}
#nav_global .nav_global_sub ul li dl dt {
	line-height:20px;
}
#nav_global .nav_global_sub ul li dl dt:before {
	content:"";
	display:inline-block;
	width:.75em;
	height:.75em;
	margin-right:2px;
	background:#555;
}
#nav_global .nav_global_sub ul li dl dt:first-child {
	margin-top:0;
}
#nav_global .nav_global_sub ul li dl dd {
	margin-top:3px;
	margin-left:1em;
}
#nav_global .nav_global_sub ul li dl dd a {
	text-decoration:none;
}
#nav_global .nav_global_sub ul li dl dd a:hover {
	color:#e60012;
	text-decoration:underline;
}

#nav_global > li.menu > a {
	display:none;
}

/*  一番上のメニュー
----------------------------------------*/
#nav_utility {
	position:absolute;
	top:-58px;
	right:5px;
	width:300px;
	height:20px;
	text-align:right;
}
#nav_utility li {
	display:inline-block;
	float:none;
	width:auto;
	vertical-align:top;
}
#nav_utility li a {
	position:relative;
	margin-right:10px;
	padding-top:20px;
	background-image:url(../img/txt-utility.gif);
	color:#2c2c2c;
	font-size:92%;
	text-decoration:none;
}
#nav_utility li.home a {
	width:38px;
	background-position:0 0;
}
#nav_utility li.sitemap a {
	width:65px;
	background-position:-48px 0;
}
#nav_utility li.contact a {
	width:69px;
	background-position:-123px 0;
}
#nav_utility li.global a {
	width:69px;
	margin-right:0;
	background-image:url(../img/btn-grobal.gif);
}

/*  サイト内検索
----------------------------------------*/
#form_site_search {
	position:absolute;
	top:-27px;
	right:5px;
	overflow:hidden;
}
#form_site_search * {
	display:inline-block;
	vertical-align:bottom;
}
#form_site_search span {
	display:inline-block;
	width:61px;
	padding-top:18px;
	background-image:url(../img/txt-site_search.png);
}
#form_site_search #site_search {
	width:131px;
	height:16px;
	line-height:16px;
	margin-right:-.4em;
	border:solid 1px #d6d6d6;
}
#form_site_search .btn {
	width:39px;
	height:18px;
	border:none;
	background:url(../img/btn-search.png) no-repeat;
	text-indent:100%;
	cursor:pointer;
}

#utility .close {
	display:none;
}


/*--------------------------------
    content
---------------------------------*/
#content a {
	color:#0088dd;
}
#content a:hover {
	color:#0088dd;
	text-decoration:none;
}

/*  左カラム
----------------------------------------*/
#sidebar {
	float:left;
	width:23.44%;
}

/*  左メニュー
----------------------------------------*/
#nav_side li {
	margin-bottom:6px;
	background:url(../img/bg-menu_side.png) repeat-x right 1px #fbfbfb;
}
#nav_side li a {
	padding-top:44px;
	border:solid 1px #ccc;
	background-image:url(../img/txt-menu_side.png);
}
#nav_side li.corporate a {
	background-position:center 14px;
}
#nav_side li.recruit a {
	background-position:center -38px;
}
#nav_side li.medical a {
	background-position:center -91px;
}
#nav_side li.ir a {
	background-position:center -143px;
}
#nav_side li.products a {
	background-position:center -195px;
}
#nav_side li.step a {
	background-position:center -248px;
}
#nav_side li.auth a {
	background-position:center -300px;
}

/*  バナー
----------------------------------------*/
#banner {
	margin-top:18px;
	padding-top:18px;
	border-top:solid 1px #c2c2ba;
}
#banner li {
	margin-bottom:6px;
	border:solid 1px #ccc;
	background:#fff;
}
#banner li a {
	display:block;
}
#banner li a img {
	width:100%;
}


/*--------------------------------
    フッター
---------------------------------*/
#footer {
	margin-top:26px;
	border-top:solid 4px #e62d2d;
	border-bottom:solid 1px #3d3d3d;
	background:#333;
}
#footer .inner {
	padding-top:20px;
	padding-bottom:32px;
}
#footer .inner,
#footer .inner a {
	color:#bdbdbd;
}

#footer .pagetop {
	position:absolute;
	top:-28px;
	right:5px;
}
#footer .pagetop a {
	width:78px;
	padding-top:24px;
	background-image:url(../img/btn-pagetop.png);
	outline:none;
}

#nav_footer {
	float:left;
}
#nav_footer li {
	display:inline-block;
	margin-left:10px;
	padding-left:10px;
	border-left:solid 1px #555;
}
#nav_footer li.guide {
	margin-left:0;
	padding-left:0;
	border-left:none;
}
#nav_footer li a {
	text-decoration:none;
}
#nav_footer li a:hover {
	text-decoration:underline;
}

#footer .txt {
	float:right;
	max-width:60%;
	padding-bottom:90px;
	background:url(../img/logo-taikouyakuhin_footer.gif) no-repeat right bottom;
	text-align:right;
}
#law {
	margin-top:8px;
	color:#7d7d7d;
}


@media screen and (max-width:770px){

/*--------------------------------
    共通
---------------------------------*/

/*  clearfix
----------------------------------------*/

/*  ボックス
----------------------------------------*/
body {
	min-width:320px;
}


/*--------------------------------
    content
---------------------------------*/

/*  左カラム
----------------------------------------*/
#sidebar {
	width:31.47%;
}

}


@media screen and (max-width:540px){

/*--------------------------------
    共通
---------------------------------*/

/*  clearfix
----------------------------------------*/
#sidebar ul:after,
#nav_global > li.menu.ac #nav_utility:after {
	content: "."; display: block; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; clear: both;
}

/*  ボックス
----------------------------------------*/
#footer .inner,
#content,
#keyvisual ul,
#header .inner {
	padding:0;
}

/*  リンク ロールオーバー
----------------------------------------*/
#nav_side li a:hover,
#form_site_search .btn:hover,
#nav_utility li a:hover,
img.hover {
	opacity:1;
}
#nav_utility li.global a:hover {
	border-top:none;
}

/*  順番入れ替え
----------------------------------------*/
.direction {
	display:-moz-box;
	display:-webkit-box;
	display:-o-box;
	display:-ms-box;
	-moz-box-orient:vertical;
	-webkit-box-orient:vertical;
	-o-box-orient:vertical;
	-ms-box-orient:vertical;
	-moz-box-direction:reverse;
	-webkit-box-direction:reverse;
	-o-box-direction:reverse;
	-ms-box-direction:reverse;
}


/*--------------------------------
    ヘッダー
---------------------------------*/
#header {
	padding-top:0;
	border:none;
	background:#fff;
}

#header h1 {
	position:static;
	padding:10px 0 12px;
	text-align:center;
}
#header h1 a {
	width:58px;
}

/*  サイト内検索
----------------------------------------*/
#form_site_search {
	position:relative;
	top:auto;
	right:auto;
	margin-bottom:20px;
}
#form_site_search span {
	display:none;
}
#form_site_search #site_search {
	display:block;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	width:100%;
	height:30px;
	line-height:30px;
	margin-right:0;
	padding-left:12px;
	border:none;
	border-bottom:solid 1px #878787;
	border-radius:15px;
}
#form_site_search .btn {
	position:absolute;
	top:6px;
	right:12px;
	width:18px;
	background:url(../img/btn-search_sp.gif) no-repeat;
	-webkit-background-size:100%;
	background-size:100%;
}

/*  グローバルメニュー
----------------------------------------*/
#nav_global {
	margin-left:0;
	border-bottom:solid 1px #ccc;
	border-right:none;
	background:#fff;
}
#nav_global > li {
	width:33.4375%;
	background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f6f6f6));
	background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 100%);
	background: -o-linear-gradient(top, #ffffff 0%,#f6f6f6 100%);
	background: linear-gradient(to bottom, #ffffff 0%,#f6f6f6 100%);
}
#nav_global > li:nth-of-type(3n-2) {
	width:33.125%;
}
#nav_global > li.menu {
	position:relative;
	background: -moz-linear-gradient(top, #434343 0%, #1f1f1f 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#434343), color-stop(100%,#1f1f1f));
	background: -webkit-linear-gradient(top, #434343 0%,#1f1f1f 100%);
	background: -o-linear-gradient(top, #434343 0%,#1f1f1f 100%);
	background: linear-gradient(to bottom, #434343 0%,#1f1f1f 100%);
}
#nav_global > li.menu.ac {
	background:url(../img/btn-menu.gif) no-repeat center 20px #434343;
	-webkit-background-size:93px;
	background-size:93px;
}
#nav_global > li > a {
	padding-top:52px;
	border:solid 1px #ccc;
	border-right:none;
	border-bottom:none;
	background-image:url(../img/btn-menu_header_sp.png);
	-webkit-background-size:93px;
	background-size:93px;
}
#nav_global > li:nth-of-type(3n+1) > a {
	border-left:none;
}
#nav_global > li:hover > a {
	background-color:transparent;
	background-image:url(../img/btn-menu_header_sp.png);
}
#nav_global > li.products a {
	background-position:center 18px;
}
#nav_global > li.medical a {
	background-position:center -34px;
}
#nav_global > li.corporate a {
	background-position:center -85px;
}
#nav_global > li.ir a {
	background-position:center -137px;
}
#nav_global > li.fun a {
	background-position:center -189px;
}
#nav_global > li:hover .nav_global_sub {
	display:none;
}
#nav_global > li.menu > a {
	display:block;
	padding-top:52px;
	border-left:solid 1px #ccc;
	background-position:center -244px;
	outline:none;
}
#nav_global > li.menu.ac > a {
	background:none;
}

/*  MENU内
----------------------------------------*/
#nav_global > li.menu #utility {
	display:none;
}
#nav_global > li.menu.ac #utility {
	display:block;
	position:absolute;
	top:100%;
	right:0;
	z-index:10001;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	width:299.1%;
	padding:21px 20px 0;
	background: -moz-linear-gradient(top, #434343 0%, #1f1f1f 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#434343), color-stop(100%,#1f1f1f));
	background: -webkit-linear-gradient(top, #434343 0%,#1f1f1f 100%);
	background: -o-linear-gradient(top, #434343 0%,#1f1f1f 100%);
	background: linear-gradient(to bottom, #434343 0%,#1f1f1f 100%);
}
#nav_utility {
	position:static;
	width:auto;
	height:auto;
	margin-bottom:0;
	text-align:left;
}
#nav_utility li {
	display:block;
	float:left;
	width:49.64%;
	margin-bottom:12px;
}
#nav_utility li:nth-of-type(odd) {
	float:left;
}
#nav_utility li:nth-of-type(even) {
	float:right;
}
#nav_global > li.menu #nav_utility li a {
	display:block;
	position:relative;
	width:auto;
	height:45px;
	line-height:45px;
	overflow:hidden;
	margin-right:0;
	padding-top:0;
	padding-left:0;
	background:url(../img/ico-link.png) no-repeat 94% center, -moz-linear-gradient(top,  #919191 0%, #707070 100%);
	background:url(../img/ico-link.png) no-repeat 94% center, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#919191), color-stop(100%,#707070));
	background:url(../img/ico-link.png) no-repeat 94% center, -webkit-linear-gradient(top,  #919191 0%,#707070 100%);
	background:url(../img/ico-link.png) no-repeat 94% center, -o-linear-gradient(top,  #919191 0%,#707070 100%);
	background:url(../img/ico-link.png) no-repeat 94% center, linear-gradient(to bottom,  #919191 0%,#707070 100%);
	-webkit-background-size:6px, auto;
	background-size:6px, auto;
	color:#fff;
	font-weight:bold;
	font-size:117%;
	text-align:center;
	text-decoration:none;
	white-space:nowrap;
}
#nav_utility li:last-of-type a {
	width:100%;
	padding-top:0;
	background:none;
}
/* 閉じるボタン */
#utility .close {
	display:block;
	line-height:44px;
	margin-top:8px;
	border-top:solid 1px #535353;
	color:#ccc;
	text-align:center;
	cursor:pointer;
}
#utility .close:before {
	content:"×";
	margin-right:10px;
}


/*--------------------------------
    content
---------------------------------*/

/*  左カラム
----------------------------------------*/
#sidebar {
	float:none;
	width:100%;
}
#sidebar > * {
	padding:14px 10px;
	border-top:solid 1px #aaa9a2;
}
#sidebar ul li {
	float:left;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	width:50%;
	margin-bottom:0;
}

/*  左メニュー
----------------------------------------*/
#sidebar #nav_side li {
	background:url(../img/ico-link.png) no-repeat 94% center, -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 100%);
	background:url(../img/ico-link.png) no-repeat 94% center, -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f6f6f6));
	background:url(../img/ico-link.png) no-repeat 94% center, -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 100%);
	background:url(../img/ico-link.png) no-repeat 94% center, -o-linear-gradient(top, #ffffff 0%,#f6f6f6 100%);
	background:url(../img/ico-link.png) no-repeat 94% center, linear-gradient(to bottom, #ffffff 0%,#f6f6f6 100%);
	-webkit-background-size:6px, auto;
	background-size:6px, auto;
}
#nav_side li a {
	padding-top:54px;
	border:solid 1px #ccc;
	border-top:none;
	border-left:none;
	background-image:url(../img/txt-menu_side.png);
}
#nav_side li:nth-of-type(-n+2) a {
	border-top:solid 1px #ccc;
}
#nav_side li:nth-of-type(2n+1) a {
	border-left:solid 1px #ccc;
}
#nav_side li.corporate a {
	background-position:center 19px;
}
#nav_side li.recruit a {
	background-position:center -33px;
}
#nav_side li.medical a {
	background-position:center -86px;
}
#nav_side li.ir a {
	background-position:center -138px;
}
#nav_side li.products a {
	background-position:center -190px;
}
#nav_side li.step a {
	background-position:center -243px;
}
#nav_side li.auth a {
	background-position:center -295px;
}

/*  バナー
----------------------------------------*/
#banner {
	margin-top:0;
}
#banner li {
	margin-bottom:6px;
	border:solid 1px #ccc;
	background:#fff;
}
#banner li a {
	display:block;
}
#banner li a img {
	width:100%;
}


/*--------------------------------
    フッター
---------------------------------*/
#footer {
	margin-top:10px;
	border-top:solid 2px #e62d2d;
}
#footer .inner {
	padding-top:15px;
	padding-bottom:30px;
	text-align:center;
}

#footer .pagetop {
	display:none;
}

#nav_footer {
	float:none;
}
#nav_footer li {
	display:inline-block;
	margin-left:28px;
	padding-left:0;
	border-left:none;
}
#nav_footer li a {
	display:block;
	position:relative;
	line-height:1.2;
	padding-left:9px;
	text-decoration:underline;
}
#nav_footer li a:before {
	content:"";
	position:absolute;
	top:50%;
	left:0;
	height:0;
	margin-top:-0.2em;
	border:4px solid transparent;
	border-left:4px solid #a7a7a7;
	border-right:none;
}

#footer .txt {
	float:none;
	max-width:none;
	margin-top:30px;
	padding-bottom:0;
	background:none;
	text-align:center;
}

}