@charset "UTF-8";

/* reset */
@import url(reset.css);

/* web font*/
@import url(//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css);


/* common --------------------------------------------------------------- */
body {
	overflow-y: scroll;
	/* IE7 */
	*overflow-y: auto;
	}
	
body, a,
input {
	color: #515151;
	font-size: 14px;
	line-height: 1.5;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", 'MS PGothic', sans-serif;
	-webkit-appearance: none;
	}

* {
	border-color: #dddddd !important;
	}
	
a {
	color: #ec8743;
	font-weight: bold;
	}

a.link {
	text-align: center;
	line-height: 2.4;
	}

h2 {
	margin-bottom: 28px;
	}

body,
#header,
#wrapper {
	background-image: url(/wp-content/themes/e-sohko/img/common/body_bg.gif);
	background-position: center top;
	background-repeat: repeat-y;
	}
	
.rotate {
	width: 160px;
	display: block;
	perspective: 400px;
	-webkit-perspective: 400px;
	position: relative;
	top: 30px;
	}

.rotate span {
	width: 160px;
	height: 160px;
	margin-top: -30px;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transition: 0.5s;
	position:absolute;
	top: 0;
	}
	
.rotate .back {
	transform:rotateY(180deg);
	-webkit-transform:rotateY(180deg);
	}

.rotate:hover .front {
	transform:rotateY(180deg);
	-webkit-transform:rotateY(180deg);
	}

.rotate:hover .back {
	transform:rotateY(360deg);
	-webkit-transform:rotateY(360deg);
	}

.tip {
	position: relative;
	}

.tip,
.tip span {
	width: 160px;
	height: 160px;
	}

.tip span {
	position: absolute;
	left: 0;
	bottom: 0;
	}

.tip span.hov {
	display: none;
	bottom: 188px;
	}
	
		
/* body --------------------------------------------------------------- */
body {
	width: 100%;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	}
	
.opacity {
	-ms-filter: "alpha(opacity=50)";
	filter: alpha(opacity=50);
	opacity: 0.5;
	}


/* wrapper --------------------------------------------------------------- */
#wrapper {
	width: 1180px;
	margin: 0 auto;
	padding-top: 28px;
	overflow: hidden;
	position: relative;
	}


/* nav --------------------------------------------------------------- */
#nav {
	float: left;
	width: 240px;
	}

#nav .nav {
	width: 180px;
	padding: 28px 30px;
	background-color: #ffffff;
	position: fixed;
	top: 0;
	}

#nav .nav h1 {
	width: 72px;
	margin: 0 auto;
	padding-top: 32px;
	text-align: center;
	margin-bottom: 30px;
	}
	
#nav .nav ul#gnav {
	margin-bottom: 30px;
	}

#nav .nav ul#gnav li {
	margin: 7px 0;
	}

#nav .nav ul#gnav li a {
	height: 30px;
	text-indent: -9999px;
	background-image: url(/wp-content/themes/e-sohko/img/nav/nav.jpg);
	}

#nav .nav ul#gnav li .sub {
	display: none;
	padding-bottom: 15px;
	}

#nav .nav ul#gnav li .sub a {
	height: auto;
	padding: 5px;
	line-height: 1;
	text-indent: inherit;
	background-image: none;
	font-weight: normal;
	font-size: 12px;
	color: #515151;
	text-align: center;
	}

#nav .nav ul#gnav li a.service {
	background-position: 0 0;
	}
	
	#nav .nav ul#gnav li a.service:hover,
	body#body-service #nav .nav ul#gnav li a.service {
		background-position: -180px 0;
		}

#nav .nav ul#gnav li a.company {
	background-position: 0 -45px;
	}
	
	#nav .nav ul#gnav li a.company:hover,
	body#body-company #nav .nav ul#gnav li a.company {
		background-position: -180px -45px;
		}

#nav .nav ul#gnav li a.press {
	background-position: 0 -90px;
	}
	
	#nav .nav ul#gnav li a.press:hover,
	body#body-press #nav .nav ul#gnav li a.press {
		background-position: -180px -90px;
		}

#nav .nav ul#gnav li a.contact {
	background-position: 0 -135px;
	}
	
	#nav .nav ul#gnav li a.contact:hover,	
	body#body-contact #nav .nav ul#gnav li a.contact {
		background-position: -180px -135px;
		}
	
#nav .nav #info {
	}

#nav .nav #info .ticker {
	font-size: 11px;
	overflow: hidden;
	padding: 15px 3px 15px 3px;
	border-top: dotted 1px;
	border-bottom: dotted 1px;
	position: relative;
	}

#nav .nav #info .ticker ul, 
#nav .nav #info .ticker ul li {
	width: 100%;
	}
	
#nav .nav #info .ticker ul {
	position: relative;
	}
 
#nav .nav #info .ticker ul li {
	display: none;
	}

#nav .nav #info .ticker ul li a {
	color: #515151;
	font-size: 11px;
	font-weight: normal;
	}

#nav .nav #footer {
	width: 180px;
	margin: 50px auto 0 auto;
	height: 110px;
	}
	
#nav .nav #footer ol {
	margin-bottom: 10px;
	text-align: center;
	}

#nav .nav #footer ol li {
	display: inline-block;
	margin: 0 10px;
	}
	
#nav .nav #footer p {
	font-size: 10px;
	line-height: 1.4;
	text-align: center;
	}

	
/* content --------------------------------------------------------------- */
#content {
	float: right;
	width: 724px;
	margin-right: 134px;
	}

#content .gray {
	background-color: #f3f3f3;
	}

#content h3,
#content h4,
#content p {
	text-align: center;
	}
	
#content h3,
#content h4 {
	font-weight: bold;
	letter-spacing: 3px;
	margin-bottom: 10px;
	}
	
#content h3 {
	font-size: 22px;
	}

#content h4 {
	font-size: 14px;
	}

#content p {
	line-height: 2.1;
	}
	
#content .under_nav {
	}

#content .under_nav ul {
	margin-right: -28px;
	overflow: hidden;
	}

#content .under_nav ul li {
	float: left;
	width: 160px;
	height: 160px;
	margin: 0 28px 28px 0;
	background-color: #ffffff;
	}


/* SERVICE --------------------------------------------------------------- */
#service {
	overflow: hidden;
	margin-bottom: 188px;
	}

/* service-1-1 */
.service-1-1 {
	height: 270px;
	margin: 28px 0;
	padding: 39px;
	}

.service-1-1 dl {
	}

.service-1-1 dl dt,
.service-1-1 dl dd {
	height: 270px;
	}
	
.service-1-1 dl dt {
	float: left;
	width: 270px;
	}

.service-1-1 dl dd {
	margin-left: 300px;
	position: relative;
	}

.service-1-1 dl dd h3 {
	margin-bottom: 20px !important;
	}
	
.service-1-1 dl dd p {
	text-align: left !important;
	font-size: 14px;
	line-height: 1.7 !important;
	}

	
/* service-1-2 */
.service-1-2 {
	float: left;
	width: 458px;
	height: 270px;
	margin: 0 28px 28px 0;
	padding: 39px;
	position: relative;
	}
	
.service-1-2 h3 {
	margin-bottom: 20px !important;
	}

.service-1-2 p {
	text-align: left !important;
	font-size: 14px;
	line-height: 1.8 !important;
	}

.service-1-2 p span {
	text-align: center;
	}

	
/* service-1-3 */
.service-1-3 {
	clear: both;
	width: 646px;	
	height: 834px;
	margin-bottom: 28px;
	padding: 39px;
	overflow: hidden;
	position: relative;
	}

.service-1-3 h3 {
	margin-bottom: 30px !important;
	}

.service-1-3 p {
	font-size: 14px;
	text-align: left !important;
	line-height: 1.7 !important;
	margin-bottom: 45px;
	}

.service-1-3 p span {
	font-size: 11px;
	padding-top: 1em;
	}

.service-1-3 p a {
	display: inline;
	}


	



/* service-2 --------------------------------------------------------------- */
#service-2 {
	clear: both;
	}
	
/* service-2-1 */
.service-2-1 {
	width: 458px;
	height: 270px;
	margin: 0 0 28px auto;
	padding: 39px;
	}

.service-2-1 h3 {
	margin-bottom: 30px !important;
	}

.service-2-1 p {
	text-align: left !important;
	}

/* service-2-2 */
.service-2-2 {
	height: 120px;
	margin: 28px 0;
	padding: 20px;
	}

.service-2-2 dl {
	}

.service-2-2 dl dt,
.service-2-2 dl dd {
	height: 120px;
	}
	
.service-2-2 dl dt {
	float: left;
	width: 170px;
	}

.service-2-2 dl dd {
	margin-left: 170px;
	padding-left: 180px;
	background-image: url(/wp-content/themes/e-sohko/img/service/service-2-2_bg.jpg);
	background-position: 50px center;
	}

.service-2-2 dl dd p {
	font-size: 13px;
	line-height: 1.9 !important;
	text-align: left !important;
	}
	
	
	
/* service-3-1 */
.service-3-1,
.service-3-2 {
	height: 348px;
	margin: 28px 0;
	}

.service-3-1 h3,
.service-3-2 h3 {
	margin-bottom: 30px !important;
	}
	
.service-3-1 dl,
.service-3-2 dl {
	overflow: hidden;
	}

.service-3-1 p,
.service-3-2 p {
	text-align: left !important;
	}

.service-3-2 p {
	line-height: 2 !important;
	}

.service-3-1 p a,
.service-3-2 p a {
	display: inline;
	}

.service-3-1 dl dt {
	float: left;
	width: 120px;
	padding: 20px;
	}

.service-3-1 dl dd {
	width: 458px;
	height: 298px;
	margin-left: 188px;
	padding: 30px 39px 20px 39px;
	}

.service-3-1 dl dd p {
	line-height: 1.8 !important;
	}
	
.service-3-2 dl dt {
	float: left;
	width: 458px;
	height: 298px;
	padding: 30px 39px 20px 39px;
	}

.service-3-2 dl dd {
	width: 120px;
	margin-left: 564px;
	padding: 20px;
	}
	
.service-3-2 dl dd p {
	line-height: 2.2 !important;
	}

/* service-4-1 */
#service-4 {
	margin-bottom: 28px;
	}
	
.service-4-1 {
	height: 348px;
	margin: 28px 0;
	}

.service-4-1 h3 {
	margin-bottom: 20px !important;
	}
	
.service-4-1 dl {
	width: 646px;
	padding: 39px;
	overflow: hidden;
	}
	
.service-4-1 dl dt {
	float: left;
	width: 27em;
	height: 270px;
	}

.service-4-1 dl dt p {
	text-align: left !important;
	line-height: 1.6 !important;
	}

.service-4-1 dl dt p a {
	display: inline;
	}
	
.service-4-1 dl dd {
	width: 200px;
	margin-left: 446px;
	}

/* service-4-2 */
.service-4-2 {
	width: 664px;
	height: 664px;
	margin: 28px 0;
	padding: 30px;
	}

.service-4-2 h3 {
	margin-bottom: 30px !important;
	}

.service-4-2 h3 span {
	font-size: 17px;
	font-weight: bold;
	padding-bottom: 10px;
	}
	
.service-4-2 ul {
	overflow: hidden;
	}
	
.service-4-2 li {
	float: left;
	width: 302px;
	padding: 15px;
	}

.service-4-2 p {
	line-height: 1.8 !important;
	}

/* service-4-3 */
.service-4-3 {
	height: 308px;
	margin-bottom: 28px;
	padding: 20px 29px;
	}

.service-4-3 dl {
	width: 646px;
	overflow: hidden;
	margin-bottom: 10px;
	}
	
.service-4-3 dl dt {
	float: left;
	width: 290px;
	}
	
.service-4-3 dl dd {
	width: 290px;
	margin-left: 346px;
	padding-top: 40px;
	}

.service-4-3 p {
	text-align: left !important;
	line-height: 1.8 !important;
	}

/* service-4-4 */
.service-4-4 {
	height: 348px;
	margin: 28px 0;
	}

.service-4-4 h3 {
	margin-bottom: 10px !important;
	}

.service-4-4 h3 span {
	font-size: 17px;
	font-weight: bold;
	}
	
.service-4-4 dl {
	width: 664px;
	padding: 39px 30px;
	overflow: hidden;
	}
	
.service-4-4 dl dt {
	float: left;
	width: 300px;
	}

.service-4-4 dl dt p,
.service-4-4 dl dd p {
	line-height: 1.6 !important;
	}
	
.service-4-4 dl dd {
	margin-left: 320px;
	}

.service-4-4 dl dd p {
	text-align: left !important;
	}

/* service-4-5 */
.service-4-5 {
	height: 348px;
	margin: 28px 0;
	}

.service-4-5 h3 {
	margin-bottom: 10px !important;
	}
	
.service-4-5 dl {
	overflow: hidden;
	}

.service-4-5 p {
	text-align: left !important;
	}

.service-4-5 dl dt {
	float: left;
	width: 120px;
	margin-top: 188px;
	padding: 20px;
	}

.service-4-5 dl dd {
	width: 458px;
	height: 298px;
	margin-left: 188px;
	padding: 30px 39px 20px 39px;
	}

.service-4-5 dl dd p {
	line-height: 1.6 !important;
	}

/* service-4-6 */
.service-4-6 {
	width: 724px;
	height: 536px;
	margin: 28px 0;
	}

.service-4-6 h3 {
	margin-bottom: 20px !important;
	}

.service-4-6 p {
	font-weight: bold;
	margin-bottom: 18px;
	}
	
.service-4-6 p span {
	font-size: 12px;
	font-weight: normal;
	}
	
.service-4-6 ul {
	overflow: hidden;
	margin-right: -28px;
	background-image: url(/wp-content/themes/e-sohko/img/service/service-4-6.jpg);
	background-position: 188px bottom;
	}
	
.service-4-6 li {
	float: left;
	width: 288px;
	height: 476px;
	margin-right: 28px;
	padding: 30px;
	}


/* service-5 --------------------------------------------------------------- */
#service-5 {
	}

/* service-5-1 */
.service-5-1 {
	float: left;
	width: 290px;	
	height: 102px;
	margin-bottom: 28px;
	padding: 29px;
	position: relative;
	}

.service-5-1 a.link {
	bottom: 28px;
	}
	
/* service-5-2 */
.service-5-2 {
	float: right;
	width: 290px;	
	height: 239px;
	margin-bottom: 28px;
	padding: 80px 29px 29px 29px;
	position: relative;
	}

/* service-5-3 */
.service-5-3 {
	float: left;
	width: 290px;	
	height: 269px;
	margin-bottom: 28px;
	padding: 50px 29px 29px 29px;
	position: relative;
	}
	
/* service-5-4 */
.service-5-4 {
	float: right;
	width: 290px;
	height: 110px;
	margin-bottom: 28px;
	padding: 50px 29px 0 29px;
	position: relative;
	}

.service-5-4 dl {
	}

.service-5-4 dl dt {
	width: 160px;
	height: 160px;
	margin: 0 0 28px 188px;
	}
	
.service-5-4 dl dd {
	width: 348px;
	height: 268px;
	padding: 80px 0 0 0;
	}

/* service-5-5 */
.service-5-5 {
	clear: both;
	width: 478px;	
	height: 102px;
	margin: 0 0 28px auto;
	padding: 29px;
	position: relative;
	}

.service-5-5 dl dd p {
	/*line-height: 1.65 !important;*/
	}

.service-5-5 p {
	line-height: 1.8 !important;
	}

.service-5-5 p a {
	display: inline;
	}


/* service-6 --------------------------------------------------------------- */
#service-6 {
	width: 536px;
	height: 348px;
	margin-bottom: 28px;
	}

#service-6 dl {
	}

#service-6 dl dt {
	float: left;
	width: 160px;
	height: 160px;
	}
	
#service-6 dl dd {
	width: 348px;
	height: 278px;
	margin-left: 188px;
	padding-top: 70px;
	}

#service-6 dl dd p {
	margin-bottom: 50px;
	}


/* service-7 --------------------------------------------------------------- */
#service-7 {
	width: 536px;
	height: 348px;
	margin-bottom: 216px;
	}

#service-7 dl {
	}

#service-7 dl dt {
	float: left;
	width: 536px;
	height: 466px;
	padding-top: 70px;
	}
	
#service-7 dl dt p {
	margin-bottom: 50px;
	}
	
#service-7 dl dd {
	width: 160px;
	height: 160px;
	margin-left: 564px;
	}
	
		
	
	
	
/* COMPANY --------------------------------------------------------------- */
#company {
	margin-bottom: 216px;
	}

/* company-1 */
.company-1 {
	}

.company-1-1 {
	width: 724px;	
	height: 348px;
	margin: 28px 0;
	position: relative;
	
	height: 536px;
	}	

.company-1-1 .company-face {
	float: left;
	width: 270px;
	}
	
.company-1-1 .company-profile {
	float: right;
	width: 386px;
	padding: 29px 29px 29px 39px;
	position: relative;
	}

.company-1-1 .company-profile table {
	width: 100%;
	margin-bottom: 25px;
	}

.company-1-1 .company-profile table th,
.company-1-1 .company-profile table td {
	vertical-align: middle;
	}

.company-1-1 .company-profile table th {
	font-size: 22px;
	font-weight: bold;
	}

.company-1-1 .company-profile table td {
	padding-left: 10px;
	font-size: 12px;
	line-height: 1.5;
	}
	
.company-1-1 .company-profile dl {
	}

.company-1-1 .company-profile dl dt {
	float: left;
	width: 3em;
	}
	
.company-1-1 .company-profile dl dd {
	margin: 0 0 1em 3em;
	padding: 0;
	}

/* company-2 --------------------------------------------------------------- */
.company-2 {
	}

.company-2-1 {
	width: 724px;	
	height: 536px;
	margin-bottom: 28px;
	position: relative;
	}

.company-2-2 {
	width: 536px;	
	height: 348px;
	margin-bottom: 28px;
	position: relative;
	}

.company-2-2 p {
	width: 478px;	
	height: 102px;
	margin-left: 188px;
	padding: 29px;
	text-align: left !important;
	line-height: 1.8 !important;
	position: relative;
	}
	
.company-2-3 {
	width: 646px;	
	height: 530px;
	margin: 28px 0 28px 0;
	padding: 0px 39px 10px 39px;
	line-height: 2.3;
	position: relative;
	}

.company-2-3 h3 {
	margin-bottom: 30px !important;
	}
	
.company-2-3 dl {
	width: 28em;
	margin: 0 auto;
	}

.company-2-3 dl dt {
	float: left;
	width: 6em;
	text-align: right;
	}
	
.company-2-3 dl dd {
	margin-left: 7em;
	}
	
.company-2-4 {
	width: 724px;	
	height: 290px;
	margin-bottom: 28px;
	padding: 23px 0 35px 0;
	position: relative;
	}

.company-2-4 h3 {
	margin-bottom: 30px !important;
	}
	
.company-2-5 {
	width: 724px;
	height: 348px;
	margin-bottom: 28px;
	position: relative;
	}
	
.company-2-5 ul {
	margin-right: -28px;
	position: absolute;
	left: 0;
	top: 0;
	}

.company-2-5 li,
.company-2-5 li a {
	width: 160px;
	height: 160px;
	background-color: #ffffff;
	}
	
.company-2-5 li {
	float: left;
	margin: 0 28px 28px 0;
	position: relative;
	}

.company-2-5 li a {
	position: relative;
	color: #515151;
	}

.company-2-5 li a p {
	padding: 30px 10px 0 10px;
	font-size: 13px;
	line-height: 1.6 !important;
	}

.company-2-5 li a p span {
	color: #ec8743;
	font-weight: bold;
	padding-top: 1em;
	}

.company-2-5 li a img {
	position: absolute;
	left: 0;
	top: 0;
	}





/* PRESS --------------------------------------------------------------- */
#press {
	margin-bottom: 216px;
	}

/* press-1 */
.press-1 {
	}

.press-1 {
	width: 724px;
	margin-bottom: 28px;
	position: relative;
	}

.press-1 dl {
	height: 160px;
	margin-top: 28px;
	}

.press-1 dl dt {
	float: left;
	width: 160px;
	height: 160px;
	}
	
.press-1 dl dd {
	margin-left: 160px;
	padding: 29px 0 29px 39px;
	line-height: 2;
	}

.press-1 a {
	font-weight: normal;
	color: #515151;
	}






/* CONTACT --------------------------------------------------------------- */
#contact {
	margin-bottom: 216px;
	}
	
#contact iframe {
	width: 100%;
	min-height: 536px;
	}
	
/* contact-1 */
.contact-1,
.contact-2 {
	width: 290px;
	height: 478px;
	padding: 29px;
	margin-bottom: 28px;
	}
	
.contact-1 {
	float: left;
	background-image: url(/wp-content/themes/e-sohko/img/contact/contact-1.jpg);
	}

.contact-1 p {
	font-size: 12px;
	margin-bottom: 20px;
	padding: 35px 0 0 90px;
	line-height: 1.9 !important;
	text-align: left !important;
	}

/* contact-2 */
.contact-2 {
	float: right;
	}

.contact-1 table,
.contact-2 table {
	width: 290px;
	}

.contact-1 table th,
.contact-1 table td,
.contact-2 table th,
.contact-2 table td {
	line-height: 1.5;
	padding-top: 15px;
	font-size: 12px;
	border-bottom: solid 1px;
	}
	
.contact-1 table th,
.contact-2 table th {
	width: 110px;
	}

.contact-1 table td,
.contact-2 table td {
	width: 180px;
	}

.contact-1 input[type="text"],
.contact-1 textarea,
.contact-2 input[type="text"],
.contact-2 textarea {
	width: 174px;
	padding: 3px;
	line-height: 1.5;
	font-size: 12px;
	font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	border: 0;
	background-color: transparent;
	}
	
.contact-1 input[type="text"],
.contact-2 input[type="text"] {
	}

.contact-1 input[type="submit"],
.contact-2 input[type="submit"] {
	width: 100%;
	padding: 0;
	text-align: right;
	line-height: 1;
	font-size: 14px;
	cursor: pointer;
	}
	
/* contact-3 */
.contact-3 {
	width: 536px;
	height: 160px;
	clear: both;
	}
	
/* contact-form */
.contact-form {
	font-size: 13px;
	padding: 29px;
	}

.contact-form p {
	margin-bottom: 20px;
	}

.contact-form table {
	width: 100%;
	border-top:  solid 1px;
	}

.contact-form table th,
.contact-form table td {
	line-height: 1.5;
	padding: 10px 0;
	vertical-align: top;
	font-size: 12px;
	border-bottom: solid 1px;
	}
	
.contact-form th {
	width: 100px;
	}

.contact-form table td {
	}

.contact-form table.submit {
	width: 100%;
	margin-top: 30px;
	border: 0;
	}

.contact-form table.submit th,
.contact-form table.submit td {
	width: 50%;
	line-height: 1;
	border: 0;
	padding: 0 15px;
	}

.contact-form table.submit th {
	text-align: left;
	}

.contact-form table.submit td {
	text-align: right;
	}
	
.contact-form a {
	line-height: 1;
	display: inline-block;
	font-weight: normal;
	}

.fa {
	font-size: 17px;
	line-height: 1;
	}