@charset "utf-8";
/*
Theme Name: イトーリーガル コーポレートサイト
Author: 司法書士法人・行政書士事務所イトーリガル
Author URI: http://www.ito-legal.co.jp/
*/

/* #home HOME
=========================================== */
/* #mainSlide
----------------------- */
#home #mainSlideWrap {
	position: relative;
	/* padding: 0 0 50px; */
	background: url(../images/common/bg_ptn02.png) 50% 100%;
	z-index: 100;
}

#home #mainSlide {
	height: 447px;
	background: url(../images/common/bg_ptn01.png) 50% 0;
	box-shadow: 0 1px 2px #306585;
}
#home #mainSlideIn {
	position: relative;
	top: -20px;
	width: 1000px;
	height: 467px;
	margin: 0 auto;
}
/* #about
----------------------- */
#home #about {
	position: relative;
	padding: 0 0 105px;
	box-shadow: 0 1px 2px #b6b6b6;
	z-index: 90;
}
#home #about h1 {
	text-align: center;
}
#home #about ul {
	position: relative;
	margin: -11px 0 0;
	overflow: hidden;
	z-index: 100;
}
#home #about ul li {
	float: left;
	width: 215px;
}
#home #about ul li + li {
	margin: 0 0 0 53px;
}
#home #about ul li h2 {
	margin: 0 0 7px;
}
#home #about ul li p {
	padding: 0 8px;
}
/* #service
----------------------- */
#home #service {
	position: relative;
	padding: 0 0 105px;
	background: url(../images/common/bg_ptn03.png) 50% 100%;
}
#home #service:after {
	position: absolute;
	bottom: -29px;
	left: 50%;
	display: block;
	content: "";
	width: 172px;
	height: 29px;
	margin: 0 0 0 -86px;
	/* background: url(../images/home/bg_service02.png) no-repeat; */
}
#home #serviceIn {
	overflow: hidden;
}
#home #service h1 {
	text-align: center;
}
#home #service ul {
	margin: 0 -16px 0 0;
}
#home #service ul li {
    position: relative;
    top: 0;
    float: left;
    width: 275px;
    margin: 0 91px 16px 0;
    background: #33bfb8;
    background-image: url(../images/home/bg_service01.gif);
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    transition: all .1s linear;
    height: 318px;
    border: solid 1px #00948d;
}
#home #service ul li:hover {
	top: 2px;
	box-shadow: 0 0 0 0 rgba(0,0,0,.1);
	color: #000;
}
#home #service ul li a {
    position: relative;
    display: block;
    padding: 6px 16px 8px 14px;
    /* border: 1px solid #75b6dc; */
    /* background: url(../images/home/bg_service01.gif); */
    text-decoration: none;
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    transition: all .1s linear;
    height: 92px;
}

#home #service ul li:hover a {
    /* background-color: #75b6dc; */
    color: #000;
}
#home #service ul li a h2 {
	margin: 0 0 15px;
}
#home #service ul li a p {
    font-size: 12px;
    line-height: 2.2;
    color: #6f6f6f;
    margin-top: 17px;
}
#home #service ul li a .ico {
	position: absolute;
	right: 0px;
	bottom: -1px;
}
#home #service ul li a .ico .ico_n,
#home #service ul li a .ico .ico_o {
	position: absolute;
	right: 0;
	bottom: 0;
	-webkit-transition: all .1s linear;
	-moz-transition: all .1s linear;
	transition: all .1s linear;
}
#home #service ul li a .ico .ico_o {
	opacity: 0;
}
#home #service ul li:hover a .ico .ico_n {
	opacity: 0;
}
#home #service ul li:hover a .ico .ico_o {
	opacity: 1;
}
/* #links
----------------------- */
#home #links {
	padding: 88px 0 78px;
}
#home #links h1 {
	margin: 0 0 33px;
	text-align: center;
}
#home #links ul li {
	position: relative;
	top: 0;
	float: left;
	width: 320px;
	box-shadow: 0 3px 0 0 rgba(0,0,0,.1);
	transition: all .1s linear;
}
#home #links ul li + li {
	margin: 0 0 0 20px;
}
#home #links ul li:hover {
	top: 2px;
	box-shadow: 0 1px 0 0 rgba(0,0,0,.1);
}
/* #news
----------------------- */
#home #news {
	position: relative;
	padding: 90px 0;
	box-shadow: 0 1px 2px rgba(0,0,0,.2), inset 0 1px 1px #f4f4f4;
	z-index: 80;
	overflow: hidden;
	background-color: #fafafa;
	padding-bottom: 0;
}
#home #newsIn {
	position: relative;
}
/* .titNews */
#home #news .titNews {
	position: relative;
	margin: 0 0 15px;
}
#home #news .titNews p {
	position: absolute;
	top: 2px;
	right: 0;
}
#home #news .titNews p a {
	position: relative;
	display: block;
}
#home #news .titNews p a:before {
	position: absolute;
	top: 19px;
	left: 9px;
	content: "";
	width: 12px;
	height: 12px;
	background: url(../images/common/ico_arw01.png) no-repeat;
	-webkit-transition: all .1s linear;
	-moz-transition: all .1s linear;
	transition: all .1s linear;
	z-index: 100;
}
#home #news .titNews p a:hover:before {
	left: 11px;
}
#home #news .btn {
	position: absolute;
	top: 2px;
	left: 380px;
}
/* #blog */
#home #news #blog {
	float: left;
	width: 100%;
}
#home #news #blog article a {
	display: block;
	padding: 15px 0 18px;
	border-bottom: 1px dotted #d6d6d6;
	overflow: hidden;
}
/*
#home #news #blog article a .pic {
	float: left;
	width: 140px;
}
#home #news #blog article a .txt {
	float: right;
	width: 310px;
}
*/
#home #news #blog article a .txt time {
	display: block;
	margin: 0 0 5px;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.2;
	color: #75b6dc;
}
#home #news #blog article a .txt h1 {
	font-weight: normal;
	line-height: 2;
}
/* #twitter */
#home #news #twitter {
	float: right;
	width: 470px;
}
#home #news #twitter li {
	padding: 14px 0 13px;
	border-bottom: 1px dotted #d6d6d6;
	overflow: hidden;
}
#home #news #twitter li span {
	display: block;
	float: left;
	width: 105px;
	padding: 1px 0 0;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5;
	color: #75b6dc;
}
#home #news #twitter li a {
	display: block;
	float: left;
	width: 365px;
	font-size: 14px;
	line-height: 1.5;
}
/* #access
----------------------- */
#home #access {
    background: url(../images/bgbg.png) 163% 0;
    background-position-y: -71px;
}
#home #access .txt {
    position: relative;
    float: left;
    width: 50%;
    padding: 38px 0 38px 174px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#home #access .txt .address {
	position: absolute;
	top: 147px;
	left: 171px;
	width: 300px;
	padding: 12px 0 10px;
	border: 1px solid #c7dae5;
	border-width: 1px 0;
	font-size: 13px;
	line-height: 1.7;
	color: #fff;
}
#home #access .txt .address p + p {
	margin: 8px 0 0;
}
#home #access .txt .btn {
	position: absolute;
	top: 284px;
	left: 207px;
}
#home #access .map {
    float: right;
    width: 50%;
}
#home #access .map iframe {
	width: 100%;
}

/* #office 事務所紹介
=========================================== */
/* #about
----------------------- */
#office #about {
	margin: 0 0 70px;
	overflow: hidden;
}
#office #about h1 {
	margin: 0 0 30px;
}
#office #about table {
	float: left;
	width: 640px;
}
#office #about th,
#office #about td {
	padding: 11px 17px 9px;
	font-size: 14px;
	text-align: left;
	line-height: 1.5;
}
#office #about tr:nth-child(2n+1) th,
#office #about tr:nth-child(2n+1) td {
	background: #f7f7f7;
}
#office #about th {
	width: 50px;
	font-weight: bold;
}
#office #about .pic01 {
	float: right;
	width: 330px;
}
#office #about .pic02 {
	clear: both;
	padding: 30px 0 0;
}
/* #message
----------------------- */
#office #message {
	padding: 0 30px 30px;
	background: #f0f1f2 url(img/office/bg_message01.jpg) no-repeat;
	overflow: hidden;
}
#office #message h1 {
	margin: 0 -30px 106px;
}
#office #message h1 + p {
	min-height: 343px;
	padding: 0 0 0 38px;
	font-size: 13px;
	letter-spacing: normal;
	line-height: 2.1;
}
#office #message .messageIn {
	width: 400px;
	min-height: 375px;
	padding: 0 30px 30px;
	background: #fff;
}
/* .history */
#office #message .messageIn.history {
	float: left;
}
#office #message .messageIn.history h2 {
	margin: 0 -30px 13px;
}
#office #message .messageIn.history table {
	width: 100%;
	background: url(img/office/line_message_history01.gif) repeat-y 4px 0;
}
#office #message .messageIn.history th,
#office #message .messageIn.history td {
	font-size: 12px;
	line-height: 1.5;
}
#office #message .messageIn.history th {
	width: 66px;
	padding: 8px 0 6px 26px;
	font-weight: bold;
}
#office #message .messageIn.history tr:first-child th {
	background: url(img/office/ico_message_history02.gif) no-repeat 0 0;
}
#office #message .messageIn.history tr + tr th {
	background: url(img/office/ico_message_history01.png) no-repeat 0 .9em;
}
#office #message .messageIn.history td {
	padding: 8px 0 6px;
}
/* .book */
#office #message .messageIn.book {
	float: right;
	overflow: hidden;
}
#office #message .messageIn.book h2 {
	margin: 0 -30px 23px;
}
#office #message .messageIn.book li {
	overflow: hidden;
}
#office #message .messageIn.book li + li {
	margin: 20px 0 0;
}
#office #message .messageIn.book li .img {
	float: left;
	width: 100px;
}
#office #message .messageIn.book li p {
	margin: 0 0 5px;
	padding: 0 0 0 120px;
	letter-spacing: 0;
}
#office #message .messageIn.book li p.name {
	font-size: 16px;
	font-weight: bold;
	line-height: 2;
	color: #1e4156;
}
#office #message .messageIn.book li p.txt {
	font-size: 12px;
	line-height: 1.8;
	color: #909090;
}
#office #message .messageIn.book li p.btn {
	font-size: 12px;
	line-height: 1.8;
}
#office #message .messageIn.book li p.btn a {
	color: #278bc3;
}

/* #service サービス案内
=========================================== */
#service #contents {
	overflow: hidden;
}
/* #navPages
----------------------- */
#service #navPages {
	margin: 0 -12px 0 0;
	padding: 0 0 30px;
	overflow: hidden;
}
#service #navPages li {
	float: left;
	width: 321px;
	margin: 0 12px 9px 0;
	border: solid 1px #cfcfcf;
	padding: 1px;
}
#service #navPages li a {
	display: block;
	padding: 9px 19px 8px;
	border-top: solid 2px #fff;
	border-bottom: solid 2px #eee;
	background: url(../images/common/ico_arw06.png) no-repeat 95% 50%;
	color: #1e4156;
	font-size: 13px;
	text-decoration: none;
	line-height: 2;
	transition: all .1s linear;
}
#service #navPages li a:hover {
	border-top-color: #eee;
	border-bottom-color: #fff;
}
/* #listPages
----------------------- */
#service #listPages section {
	position: relative;
	margin: 20px 0 0;
	padding: 40px 40px 20px;
	border: solid 1px #cfcfcf;
	box-shadow: 0 4px 0 #e5e5e5;
}
#service #listPages section::before {
	position: absolute;
	top: -1px;
	left: -1px;
	width: 1000px;
	height: 9px;
	content: '';
	background: url(../images/common/bg_ptn02.png);
}
#service #listPages section h1 {
	margin: 0 0 5px;
	color: #1e4156;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
}
#service #listPages section h1 span {
	position: relative;
	padding: 0 40px 0 0;
	color: #278bc3;
}
#service #listPages section h1 span::after {
	position: absolute;
	top: 7px;
	right: 20px;
	width: 0;
	height: 26px;
	content: '';
	border-right: dotted 2px #cfcfcf;
}
#service #listPages section .txt {
	padding: 0 0 20px 83px;
	font-size: 14px;
	line-height: 1.8;
}
#service #listPages section .list {
	margin: 0 0 20px;
	padding: 20px;
	border-left: 83px solid #fff;
	background: #f7f7f7;
}
#service #listPages section .list h2 {
	margin: 0 0 5px;
	color: #1e4156;
	font-size: 15px;
	font-weight: bold;
}
#service #listPages section .list ul {
	overflow: hidden;
}
#service #listPages section .list ul li {
	float: left;
	margin: 0 24px 0 0;
	padding: 0 0 0 22px;
	background: url(img/service/ico_list01.png) 0 45% no-repeat;
}
#service #listPages section .list ul li a {
	color: #278bc3;
}
#service #listPages section .btn {
	margin: 15px 0 0;
	padding: 20px 0 0;
	border-top: dotted 1px #b2b2b2;
}
#service #listPages section .btn a {
	position: relative;
	top: 0;
	display: block;
	width: 190px;
	margin: 0 auto;
	padding: 11px 0 10px;
	border-radius: 3px;
	background-color: #278bc3;
	box-shadow: 0 3px rgba(0,0,0,.1);
	color: #fff;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	transition: all .1s linear;
	cursor: pointer;
}
#service #listPages section .btn a:hover {
	top: 3px;
	box-shadow: none;
}
/* #singleService
----------------------- */
/* .entry */
#singleService .entry h1 {
	position: relative;
	margin: 0 0 45px;
	padding: 0 0 0 20px;
	color: #1e4156;
	font-size: 40px;
	font-weight: normal;
	line-height: 1.1;
}
#singleService .entry h1::before,
#singleService .entry h1::after {
	position: absolute;
	top: 2px;
	left: 0;
	content: '';
	width: 5px;
}
#singleService .entry h1::before {
	height: 35px;
	background: #e0e0e0;
}
#singleService .entry h1::after {
	height: 10px;
	background: #278bc3;
}
#singleService .entry h2 {
	position: relative;
	margin: 35px 0 15px;
	padding: 11px 24px 10px;
	background: url(../images/common/bg_ptn02.png);
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5;
}
#singleService .entry h2::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	border-style: solid;
	border-width: 18px 18px 0 0;
	border-color: #fff transparent transparent;
	opacity: .2;
}
#singleService .entry h3 {
	position: relative;
	margin: 25px 0 20px;
	padding: 0 0 15px;
	color: #1e4156;
	font-size: 18px;
	line-height: 1.5;
}
#singleService .entry h3::before,
#singleService .entry h3::after {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	content: '';
}
#singleService .entry h3::before {
	width: 100%;
	border-top: solid 1px #cfcfcf;
	background: #ededed;
}
#singleService .entry h3::after {
	width: 92px;
	border-top: solid 1px #5f94b3;
	background: #75b6dc;
}
#singleService .entry h4 {
	counter-reset: subtit;
	margin: 20px 0 15px;
	padding: 8px 20px 6px;
	border: dotted 1px #999;
	border-width: 1px 0;
	background: #f7f7f7;
	color: #4d5153;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}
#singleService .entry h5 {
	position: relative;
	counter-increment: subtit;
	margin: 10px 0 0;
	padding: 0 20px 0 40px;
	font-weight: bold;
	color: #278bc3;
}
#singleService .entry h5::before {
	position: absolute;
	top: 0;
	left: 20px;
	content: counter(subtit);
	font-style: italic;
}
#singleService .entry p {
	line-height: 2;
}
#singleService .entry h5 + p {
	padding: 0 20px 0 40px;
	font-size: 13px;
	line-height: 1.8;
}
#singleService .entry .inBox {
	margin: 15px 0 0;
	padding: 10px 15px;
	border: solid 6px #f7f7f7;
}
#singleService .entry .inBox h5 {
	counter-increment: none;
	margin: 0;
	padding: 0;
	color: #da594b;
	font-size: 12px;
	font-weight: normal;
	line-height: 1.8;
}
#singleService .entry .inBox p {
	padding: 0;
	font-size: 12px;
}
#singleService .entry .inBox h5::before {
	display: none;
}
#singleService .entry table {
	width: 100%;
}
#singleService .entry thead th {
	padding: 10px 10px 9px;
	background: #45b8e2;
	color: #fff;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	line-height: 1.5;
	letter-spacing: 1em;
}
#singleService .entry thead th:nth-child(1) {
	border-left: solid 1px #45b8e2;
	border-right: solid 1px #fff;
}
#singleService .entry thead th:nth-child(2) {
	border-left: solid 1px #fff;
	border-right: solid 1px #fff;
}
#singleService .entry thead th:nth-child(3) {
	border-left: solid 1px #fff;
	border-right: solid 1px #45b8e2;
}
#singleService .entry tbody th,
#singleService .entry tbody td {
	padding: 15px 19px 14px;
	border: solid 1px #dfdfdf;
	vertical-align: middle;
	line-height: 1.5;
}
#singleService .entry tbody th {
	background: #f7f7f7;
	text-align: left;
}
#singleService .entry tbody td + td {
	text-align: right;
}
#singleService .entry tbody strong {
	font-weight: bold;
}
#singleService .entry tbody em {
	font-size: 11px;
	font-style: normal;
	font-weight: normal;
	white-space: nowrap;
	line-height: 1.6;
}
/* .list */
#singleService .list {
	margin: 60px 0;
	padding: 20px;
	background: #f7f7f7;
}
#singleService .list h2 {
	margin: 0 0 5px;
	color: #1e4156;
	font-size: 15px;
	font-weight: bold;
}
#singleService .list ul {
	overflow: hidden;
}
#singleService .list ul li {
	float: left;
	margin: 0 24px 0 0;
	padding: 0 0 0 22px;
	background: url(img/service/ico_list01.png) 0 45% no-repeat;
}
#singleService .list ul li a {
	color: #278bc3;
}
/* .btn */
#singleService .btn {
	width: 220px;
	margin: 60px auto 0;
}
/* #serviceLinks
----------------------- */
#serviceLinks {
	padding: 60px 0 57px;
	border-bottom: solid 1px #dedede;
	background: url(../images/common/bg_ptn03.png) 50% 0;
	box-shadow: inset 0 4px 8px -4px rgba(168,168,168,.25);
}
#serviceLinks h1 {
	margin: 0 0 22px;
}
#serviceLinks ul li {
	position: relative;
	top: 0;
	float: left;
	width: 320px;
	box-shadow: 0 3px 0 0 rgba(0,0,0,.1);
	transition: all .1s linear;
}
#serviceLinks ul li + li {
	margin: 0 0 0 20px;
}
#serviceLinks ul li:hover {
	top: 2px;
	box-shadow: 0 1px 0 0 rgba(0,0,0,.1);
}
/* #bnrContact
----------------------- */
#bnrContact {
	position: relative;
	margin-top: -40px;
	padding-bottom: 78px;
}
#bnrContact p + p {
	position: absolute;
	top: 138px;
	left: 277px;
}

/* #price 料金表
=========================================== */
/* #navPages
----------------------- */
#price #navPages {
	margin: 0 -12px 0 0;
	padding: 0 0 30px;
	overflow: hidden;
}
#price #navPages li {
	float: left;
	width: 321px;
	margin: 0 12px 9px 0;
	border: solid 1px #cfcfcf;
	padding: 1px;
}
#price #navPages li a {
	display: block;
	padding: 9px 19px 8px;
	border-top: solid 2px #fff;
	border-bottom: solid 2px #eee;
	background: url(../images/common/ico_arw06.png) no-repeat 95% 50%;
	color: #1e4156;
	font-size: 13px;
	text-decoration: none;
	line-height: 2;
	transition: all .1s linear;
}
#price #navPages li a:hover {
	border-top-color: #eee;
	border-bottom-color: #fff;
}
/* .secPrice
----------------------- */
#price .secPrice + .secPrice {
	margin: 50px 0 0;
}
#price .secPrice h1 {
	margin: 0 0 30px;
}
#price .secPrice .unit {
	margin: 0 0 25px;
}
#price .secPrice h2 {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}
/* table */
#price .secPrice table {
	width: 100%;
	border-bottom: solid 1px #dfdfdf;
}
#price .secPrice table th,
#price .secPrice table td {
	vertical-align: middle;
	font-size: 13px;
	line-height: 1.5;
}
/* table - thead */
#price .secPrice thead th {
	padding: 10px 0 9px 1em;
	border-left: solid 1px #468cb5;
	background: #468cb5;
	color: #fff;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1em;
}
#price .secPrice thead th:nth-child(2) {
	width: 440px;
	border-left: solid 1px #fff;
}
#price .secPrice thead th:nth-child(3) {
	width: 185px;
	border-left: solid 1px #fff;
}
/* table - tbody */
#price .secPrice tbody th,
#price .secPrice tbody td {
	padding: 15px 15px 14px;
	border: solid 1px #dfdfdf;
	border-width: 1px 1px 0;
}
#price .secPrice tbody th {
	min-width: 71px;
	background: #f7f7f7;
	text-align: left;
}
#price .secPrice tbody th.subtit {
	width: 58px;
	min-width: 58px;
	padding: 15px 7px 14px;
	border: solid 1px #b9b9b9;
	background: #e4e7e9;
}
#price .secPrice tbody th span {
	position: relative;
	top: -3px;
	font-weight: normal;
	font-size: 11px;
}
#price .secPrice tbody td {
	text-align: right;
}
#price .secPrice tbody td span {
	position: relative;
	top: -3px;
	font-weight: normal;
	font-size: 11px;
}
/* table - tbody - td - dl */
#price .secPrice td dl {
	font-size: 12px;
	line-height: 1.7;
	overflow: hidden;
}
#price .secPrice td dl + dl {
	margin: 16px 0 0;
	padding: 16px 0 0;
	border-top: solid 2px #dfdfdf;
}
#price .secPrice td dl dt {
	clear: left;
	float: left;
	position: relative;
	padding: 0 1em;
	background: #fff;
	z-index: 10;
}
#price .secPrice td dl dt::before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 8px;
	height: 8px;
	content: '';
	border-radius: 4px;
	background: #278bc3;
}
#price .secPrice td dl dd {
	position: relative;
}
#price .secPrice td dl dd::before {
	position: absolute;
	bottom: 11px;
	left: 1em;
	content: '';
	width: 100%;
	height: 0;
	border-top: dotted 1px #b2b2b2;
}
#price .secPrice td dl dd b {
	position: relative;
	padding: 0 0 0 1em;
	background: #fff;
	font-weight: bold;
	white-space: nowrap;
	z-index: 10;
}
/* table - tbody - td - p */
#price .secPrice td p {
	position: relative;
	padding: 0 0 0 1em;
	line-height: 1.7;
	text-align: left;
}
#price .secPrice td p::before {
	position: absolute;
	top: 6px;
	left: 0;
	width: 8px;
	height: 8px;
	content: '';
	border-radius: 4px;
	background: #278bc3;
}
/* .note */
#price .secPrice .note {
	margin: 15px 0 0;
	font-size: 13px;
}

/* #blog スタッフブログ
=========================================== */
/* #list
----------------------- */
#blog #list article {
	margin: 0 0 16px;
	border-bottom: 3px solid #f7f7f7;
}
#blog #list article a {
	position: relative;
	padding: 40px;
	text-decoration: none;
	overflow: hidden;
}
#blog #list article a:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	border: 1px solid #dbdbdb;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .1s linear;
	-moz-transition: all .1s linear;
	transition: all .1s linear;
	z-index: 10;
}
#blog #list article a:hover:after {
	border: 3px solid #6ca6c7;
}
#blog #list article a .txt {
	float: left;
	width: 440px;
}
#blog #list article a .txt time {
	display: block;
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.1;
	color: #75b6dc;
}
#blog #list article a .txt h1 {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
#blog #list article a .txt .entry {
	margin: 0 0 15px;
	font-size: 14px;
	line-height: 1.8;
}
#blog #list article a .txt .cat {
	padding: 0 0 0 19px;
	background: url(img/blog/ico_cat01.png) no-repeat 0 40%;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
	color: #909090;
}
#blog #list article a .img {
	float: right;
	width: 210px;
}
/* #single
----------------------- */
#blog #single {
	margin: 0 0 47px;
	padding: 39px;
	border: 1px solid #dbdbdb;
	box-shadow: 0 3px 0 #f7f7f7;
}
#blog #single time {
	display: block;
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.1;
	color: #75b6dc;
}
#blog #single h1 {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
}
#blog #single .pic {
	margin: 0 0 22px;
}
#blog #single .entry {
	font-size: 14px;
	line-height: 1.8;
	overflow: hidden;
}
#blog #single .entry p,
#blog #single .entry ul,
#blog #single .entry ol {
	margin: 0 0 10px;
}
#blog #single .entry .alignleft {
	float: left;
	margin: 0 15px 15px 0;
}
#blog #single .entry .alignright {
	float: right;
	margin: 0 0 15px 15px;
}
#blog #single .entry .alignnone {
	display: block;
	margin: 0 auto 15px;
	text-align: center;
}
#blog #single .cat {
	padding: 0 0 0 19px;
	background: url(img/blog/ico_cat01.png) no-repeat 0 40%;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
	color: #909090;
}

/* #access アクセス
=========================================== */
/* #route
----------------------- */
#access #route {
	overflow: hidden;
}
#access #route h1 {
	margin: 0 0 30px;
}
#access #route .map {
	margin: 0 0 46px;
}
#access #route .routeIn {
	float: left;
	width: 430px;
	min-height: 137px;
	padding: 23px 30px 22px;
	background: #f7f7f7;
}
#access #route .routeIn + .routeIn {
	float: right;
}
#access #route .routeIn h2 {
	margin: 0 0 12px;
}
#access #route .routeIn li,
#access #route .routeIn p {
	line-height: 1.8;
}
#access #route .routeIn li {
	background: url(img/access/dot01.gif) repeat-x 0 50%;
	overflow: hidden;
}
#access #route .routeIn li b {
	float: left;
	display: block;
	padding: 0 2px 0 0;
	background: #f7f7f7;
	font-weight: bold;
}
#access #route .routeIn li span {
	float: right;
	display: block;
	padding: 0 0 0 10px;
	background: #f7f7f7;
}

/* #contact お問い合わせ
=========================================== */
/* #about
----------------------- */
#contact #about {
	margin: 0 0 53px;
}
#contact #about h1 {
	margin: 0 0 15px;
}
#contact #about .txt {
	margin: 0 0 25px;
	line-height: 2;
}
#contact #about .bnr {
	text-align: center;
}
/* #mailform
----------------------- */
#contact #mailform h1 {
	margin: 0 0 20px;
}
#contact #mailform .txt {
	margin: 0 0 25px;
	padding: 0 20px;
}
#contact #mailform .formWrap {
	padding: 10px;
	background: url(../images/common/bg_ptn04.png);
}
#contact #mailform .form {
	padding: 16px 27px 40px;
	border: 1px solid #dfdfdf;
	background: #fff;
}
#contact #mailform .form table {
	width: 100%;
	margin: 0 0 20px;
}
#contact #mailform .form th,
#contact #mailform .form td {
	border-bottom: 1px dotted #c0c0c0;
	font-size: 14px;
	text-align: left;
}
#contact #mailform .form th {
	width: 210px;
	padding: 18px 0 16px;
	font-weight: bold;
	vertical-align: top;
	line-height: 1.5;
}
#contact #mailform .form th .cellIn {
	position: relative;
	padding: 0 95px 0 0;
}
#contact #mailform .form th .cellIn span {
	position: absolute;
	top: 0;
	right: 40px;
	display: block;
	width: 42px;
	height: 17px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#contact #mailform .form th .cellIn span.required {
	background: url(img/contact/label_mailform01.gif) no-repeat;
}
#contact #mailform .form th .cellIn span.option {
	background: url(img/contact/label_mailform02.gif) no-repeat;
}
#contact #mailform .form td {
	padding: 13px 0 12px;
	vertical-align: middle;
}
#contact #mailform .form td .wpcf7-form-control-wrap {
	display: inline-block;
}
#contact #mailform .form td input[type="text"],
#contact #mailform .form td input[type="tel"],
#contact #mailform .form td input[type="email"],
#contact #mailform .form td textarea,
#contact #mailform .form td select {
	display: inline-block;
	width: 400px;
	margin: 0;
	padding: 5px 4px 2px;
	border: none;
	border: 1px solid #dfdfdf;
	background: none;
	background: #fff;
	box-shadow: none;
	box-shadow: inset 0 2px 2px #e9e9e9;
	font-size: 14px;
	line-height: 1.5;
}
#contact #mailform .form td input[type="text"].your-post {
	width: 140px;
	margin: 0 0 6px;
}
#contact #mailform .form td input[type="text"].your-address {
	width: 531px;
}
#contact #mailform .form td textarea {
	width: 630px;
}
#contact #mailform .form td select {
	width: auto;
	height: 30px;
	margin: 0 6px 0 0;
}
#contact #mailform .form td input[type="radio"] {
	margin: -2px 0 0;
}
#contact #mailform .form td .wpcf7-list-item {
	margin: 0;
	padding: 0 15px 0 0;
}
#contact #mailform .form td input[type="text"].wpcf7c-conf,
#contact #mailform .form td input[type="tel"].wpcf7c-conf,
#contact #mailform .form td input[type="email"].wpcf7c-conf,
#contact #mailform .form td textarea.wpcf7c-conf,
#contact #mailform .form td select.wpcf7c-conf {
	background: #c2c2c2;
	color: #666;
}
#contact #mailform .btns {
	text-align: center;
}
#contact #mailform .btns input {
	position: relative;
	top: 0;
	display: inline-block;
	margin: 0 10px;
	padding: 11px 0 10px;
	width: 190px;
	border: 0;
	border-radius: 3px;
	outline: none;
	background-color: #278bc3;
	box-shadow: 0 3px rgba(0,0,0,.1);
	text-align: center;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
	-webkit-transition: all .1s linear;
	-moz-transition: all .1s linear;
	transition: all .1s linear;
	cursor: pointer;
}
#contact #mailform .btns input.wpcf7-back {
	background: #c2c2c2;
}
#contact #mailform .btns input:hover {
	top: 3px;
	box-shadow: none;
}

.main-page-section {
    position: relative;
    width: 100%;
    float: left;
    display: inline-block;
    margin-bottom: 0px;
    /* background-color: #f5f5f5; */
    margin-top: 32px;
}

.main-half-layout {
    background: url(../images/about-img-bg.jpg) center center no-repeat;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    /* background-position: center center; */
    /* background-size: cover; */
    /* -webkit-background-size: cover; */
    background-size: 999px;
    background-position-y: -52px;
}

.main-half-layout-container {
    position: relative;
    padding-right: 0;
    width: 40%;
    margin: 0 5%;
    padding-bottom: 0;
}

.main-half-layout-container.half_left_layout {
    float: right;
    margin-left: auto;
    padding-top: 1px;
}

.mod-form_head-text {
    font-size: 1.4em;
}
.mb40 {
    margin-bottom: 40px!important;
    width: 100%;
}

.mod-form {
    padding-bottom: 100px;
    margin-left: auto;
    margin-right: auto;
    display: table;
}

table {
    display: table;
    border-collapse: separate;
    border-spacing: 2px;
    border-color: grey;
}
.mod-form table {
    width: 930px;
    background: #d9d9d9;
}

.mod-form table th {
    width: 265px;
    padding: 22px;
    background: #f0f1f1;
    vertical-align: middle;
    text-align: left;
    font-size: 1em;
    font-weight: 400;
}

.mod-form table .mod-form_required .mod-form_required_inner {
    position: relative;
}

.mod-form table .mod-form_required .mod-form_required_inner .mod-icon-Required {
    position: absolute;
    top: 3px;
    right: 0;
    padding: 3px 5px;
    color: #fff;
    background: #cb2323;
    line-height: 1;
    font-size: 12px;
    font-weight: 400;
}

.mod-form table td {
    padding: 19px;
    padding-top: 12px;
    background: #fff;
}

.mod-form table td .mod-form_example {
    padding-bottom: 11px;
    color: #444;
    font-size: 0.8em;
}

.mod-form table td .mod-form_holder .mod-form_input-text {
    width: 622px;
    min-height: 34px;
    padding-left: 5px;
    padding-right: 5px;
    border: 1px solid #d9d9d9;
    margin-bottom: -8px;
}

.mod-form table .mod-form_required .mod-form_required_inner {
    position: relative;
}

.mod-form table th small {
    font-size: .9em;
    display: block;
}

.mod-form table td .mod-form_holder.opt-tel .mod-form_input-text {
    width: 125px;
}

.mod-btn-01 a, .mod-btn-02 a, .mod-btn-03 a {
    border: 2px solid #fff;
    font-size: 1.6em;
    color: #fff;
    padding: 16px 0 18px;
    line-height: 1;
    text-align: center;
}
a.btn_disabled {
    display: block !important;
    background-color: #ccc !important;
    margin-top: 57px;
}

.mod-btn-01, .mod-btn-02, .mod-btn-03, .mod-btn-04 {
    margin-left: auto;
    margin-right: auto;
    width: 310px;
}

.mod-btn-02 {
    display: block;
}

input#submit {
    padding: 15px 40px;
    font-size: 1.2em;
    background-color: #33bfb8;
    color: #fff;
    border-style: none;
    margin-top: 23px;
    width: 300px;
}





















