@charset "UTF-8";
 @import url('https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i');
/*font-family: 'Roboto', sans-serif;*/
/* ------ Reset ------ */

html {
	overflow-y : scroll;
	font-size : 100%;
}
body,
div,
dl,
dt,
dd,
ul,
ul li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
a,
blockquote,
th,
td,
section,
nav,
article,
aside,
hgroup,
header,
address,
figure,
figcaption,
table {
	margin : 0;
	padding : 0;
	-webkit-box-sizing : border-box;
	-moz-box-sizing : border-box;
	-ms-box-sizing : border-box;
	box-sizing : border-box;
}
address,
caption,
cite,
code,
dfn,
th,
var {
	font-style : normal;
	font-weight : normal;
}
table {
	border-collapse : collapse;
	border-spacing : 0;
}
caption,
th {
	text-align : left;
}
q:before,
q:after {
	content : '';
}
object,
embed {
	vertical-align : top;
}
legend {
	display : none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size : 100%;
	font-weight : 400;
}
img,
abbr,
acronym,
fieldset {
	border : 0;
}
img {
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
	text-align: center;
}
ul:after {
	content : "";
	display : block;
	clear : both;
}
ul li {
	list-style-type : none;
}
strong {
	font-weight : bold;
}
/* ------ Body ------ */

html {
	height : 100%;
}
body {
	font-family : "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-xolor : #fff;
	color: #000;
	font-size : 18px;
	line-height : 1.8;
	text-align: justify;
}
/* ----- [link] --------------------------------------------------- */

a {
	outline : none;
	color : #1d8900;
	cursor: pointer;
	display: inline-block;
}
a:hover,
a:active {
	text-decoration : underline;
}
.btn a:hover,
a:hover img {
	-ms-filter : "alpha(opacity=50)";
	filter : alpha(opacity=50);
	-khtml-opacity : .5;
	-moz-opacity : .5;
	opacity : .5;
}
a:hover img.btn {
	-ms-filter : "alpha(opacity=100)";
	filter : alpha(opacity=100);
	-khtml-opacity : 1;
	-moz-opacity : 1;
	opacity : 1;
}
/* ----- [wrap] --------------------------------------------------- */

.wrap {	
	/*
	margin:auto;
	width:1366px;
	-webkit-margin:auto;
	-webkit-width:1366px;
	*/
	}
/* ----- [layout] --------------------------------------------------- */

.container {
	width: 980px;
	position: relative;
	margin: 0 auto;
	z-index: 1000;
	top: 0px;
}
.row {
	margin-right: -10px;
	margin-left: -10px;
}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.row:before,
.row:after {
	display: table;
	content: " ";
}
.clearfix:after,
.container:after,
.row:after {
	clear: both;
}
/* ----- [header] --------------------------------------------------- */

h1 {
	font-weight: 400;
	text-align: left;
}
#header .header-line {
	background-color: #f8f1e6;
	color: #6d421c;
	font-size: 10px;
	height: 25px;
	line-height: 25px;
}
#header p.caption,
#header p.tel,
#header p.mail,
#header p.primary,
#header p.address {
	position: absolute;
}
#header p.address {
	text-align: right;
	top: 0;
	right: 95px;
}
#header p.primary {
	top: 0;
	right: 0;
}
#header p.caption,
#header p.tel,
#header p.mail {
	top: 43px;
}
#header p.caption {
	right: 423px;
}
#header p.tel {
	right: 189px;
}
#header p.mail {
	right: 0;
	margin-left: 10px;
}
/* ----- [navi] --------------------------------------------------- */

#header .navigation ul li {
	height: 60px;
	float: left;
	background: url(../img/nav-line.png) right top no-repeat;
	position: relative;
}
#header .navigation ul li:first-child:before {
	content: url(../img/nav-line.png);
	position: absolute;
	top: 0;
	left: 0;
}
/* ----- [footer] --------------------------------------------------- */

#footer {
	margin-top: 65px;
	border-bottom: 8px solid #6d421c;
	width: 100%;
}
#footer .navigation {
	background-color: #6d421c;
	width: 100%;
	height: 55px;
	line-height: 55px;
}
#footer .navigation ul li {
	display: inline-block;
	padding-left: 40px;
}
#footer .navigation ul li.pagetop {
	position: absolute;
	top: 0;
	right: 0;
	padding-left: 0;
	width: 60px;
	height: 55px;
}
#footer .navigation ul li:first-child {
	padding-left: 5px;
}
#footer .navigation ul li a {
	font-size: 15px;
	color: #fff;
	text-decoration: none;
}
#footer .navigation ul li a:hover {
	text-decoration: underline;
}
#footer div.container {
	margin-top: 65px;
}
#footer p.address {
	color: #6d421c;
	font-size: 10px;
}
#footer p.tel {
	position: absolute;
	top: 0;
	right: 0;
}
#footer address {
	text-align: center;
	font-size: 10px;
	color: #48382f;
	padding-top: 40px;
	padding-bottom: 40px;
	border-top: 1px solid #e2dad3;
	margin-top: 60px;
}
/* ----- [contents] ------------------------------------------------- */

#contents {
	float: left;
}
#sidebar {
	float: right;
}
body.home #contents {
	width: 645px;
}
body.home #sidebar {
	width: 310px;
}
body.under #contents {
	width: 660px;
}
body.under #sidebar {
	width: 260px;
}
/* ---- [pagetitle] ---- */

.page-header {
	overflow: hidden;
	text-align: center;
	margin-bottom:30px;
	background-color:#f8f1e6;
	background: url(../img/pageheader.jpg) top center no-repeat;
	position: relative;
	padding:110px 0 50px;
}
.page-header h2 {
	text-indent:0.35em;
	font-family: "Times New Roman", 游明朝, "Yu Mincho", 游明朝体, YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, HGS明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 30px;
	color: #000;	font-weight: 400;
	letter-spacing: 0.35em;
}
.page-header p {
	text-indent:0.35em;
	font-family: "Times New Roman", 游明朝, "Yu Mincho", 游明朝体, YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, HGS明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 12px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
}

/* ---- [contents] ---- */

h2,
h3,
h4,
h5,
h6 {
	position: relative;
}
h3 {
	color: #124020;
	font-weight: 700;
	font-size : 28px;
	margin: 100px 0 30px;
	line-height: 1.3;
	padding: .25em 0 .25em .75em;
	border-left: 6px solid #1d8900;
}
h3::before {
	position: absolute;
	left: -6px;
	bottom: 0;
	content: '';
	width: 6px;
	height: 50%;
	background-color: #1f5c31;
}
h4 {
	color: #124020;    font-weight: bold;
    font-size: 18px;
    background-color:#E8F4EB;
    padding: .25em 1em;
    border-radius: 5px;
    margin-bottom: 20px;
}
h5 {
	font-weight: 700;
	font-size : 16px;
	margin : 30px 0 20px;
	border-bottom: 1px dotted #ccc;
}
h6 {
	font-size : 12px;
	margin : 15px 0;
	padding: 5px 10px;
	background-color: #F7EFE6;
	border-radius: 5px;
}
#contents .title:first-child h2,
.column2 h3:first-child,
#contents .title:first-child h3,
#contents .title:first-child h4 {
	margin-top: 0;
}
.rich_txt {
	font-weight: 700;
	font-size: 17px;
	font-family: "Times New Roman", 游明朝, "Yu Mincho", 游明朝体, YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, HGS明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.rich_txt strong {
	font-size: 32px;
}
#contents .title a {
	display: inline;
}
#contents p,
#contents ul,
#contents ol,
#contents dl,
table {
	margin-top: 15px;
	margin-bottom: 15px;
}
#contents p:first-child,
#contents ul:first-child,
#contents ol:first-child,
#contents dl:first-child,
#contents table:first-child {
	margin-top: 0;
}
.row {
	letter-spacing: -0.5em;
}
.column2 {
	width: 50%;
}
.column3 {
	width: 33.33333333%;
}
.column4 {
	width: 25%;
}
.column5 {
	width: 20%;
}
.column2,
.column3,
.column4,
.column5 {
	padding-left: 10px;
	padding-right: 10px;
	letter-spacing: normal;
	display: inline-block;
	vertical-align : top;
	position: relative;
}
.column2 p.alC,
.column3 p.alC,
.column4 p.alC,
.column5 p.alC {
	margin-top: 0 !important;
}
.mt15 {
	margin-top : 15px !important;
}
.mt20 {
	margin-top : 20px !important;
}
.mt40 {
	margin-top : 40px !important;
}
.mt50 {
	margin-top : 50px !important;
}
.mt60 {
	margin-top : 60px !important;
}
.mb0 {
	margin-bottom : 0px !important;
}
.mb20 {
	margin-bottom : 20px !important;
}
.mb25 {
	margin-bottom : 25px !important;
}
.mb30 {
	margin-bottom : 30px !important;
}
.mb40 {
	margin-bottom : 40px !important;
}
.mb50 {
	margin-bottom : 50px !important;
}
.mb60 {
	margin-bottom : 60px !important;
}
.mb15 {
	margin-bottom : 15px !important;
}
.ml0 {
	margin-left: 0 !important;
}
.alR {
	text-align : right;
}
.alL {
	text-align : left;
}
.alC {
	text-align : center;
}
ul.list li {
	margin-top: 5px;
	background-color: #f5f5f5;
	padding: 5px 10px;
}
ul.list li:first-child {
	margin-top: 0;
}
ol li {
	margin-top: 5px;
}
ol li:first-child {
	margin-top: 0;
}
ul.list li:before {
	content: "・";
}
table {
	width : 100%;
}
table th,
table td {
	padding : 8px 15px;
	border: 1px solid #ccc;
}
table th {
	background-color:#f8f1e6;
	font-weight: 700;
	vertical-align : top;
	white-space: nowrap;
}
table th.nowrap {
	white-space: nowrap
}
.title {
	position: relative;
}
.title p.date {
	position: absolute;
	right: 0;
	top: 0;
}
#contents p.contactbtn {
	margin-top: 50px;
	margin-bottom: 0;
}
#contents .pagetop {
	text-align: right;
	font-size: 12px;
	margin:30px 0;
}
#contents .pagetop a {
	color:#000;
}
#contents .pagetop a:hover {
	color:#1d8900;
	text-decoration: none;
}
#contents p.btn a {
	background:
		linear-gradient(45deg,  transparent 8px, #f57900 8px),
		linear-gradient(135deg, transparent 8px, #f57900 8px),
		linear-gradient(225deg, transparent 8px, #f57900 8px),
		linear-gradient(315deg, transparent 8px, #f57900 8px);
	background-position: bottom left, top left, top right, bottom right;
	background-size: 50% 50%;
	background-repeat: no-repeat;
	color:#fff;
	text-align: center;
	display: block;
	height:50px;
	line-height:50px;
	font-size: 18px;
	text-decoration: none;
	width:240px;
	margin:20px auto;
	text-shadow:1px 1px 2px #050505;
}
/* ---- [home] ---- */

.mainimages {
	border-bottom: 7px solid #6d421c;
	position: relative;
	margin: auto;
	background: url(../img/main-back.jpg) top center no-repeat;
/*
		width: 1366px;
*/
}
.front-message {
	background: url(../img/front-message-back.jpg) top center no-repeat;
	min-height: 522px;
}
.front-works {
	background: url(../img/front-works-back.jpg) top center no-repeat;
	min-height: 522px;
}
.front-works p.title {
	text-align: center;
	border-bottom:1px solid #dedede;
	font-size:1.5em;
	color:#4f2e10;
	padding:10px;
	letter-spacing: 0.07em;
}
.front-content {
	padding: 0;
	margin: 0;
	letter-spacing: -0.5em;
	text-align: center;
}
.front-content li {
	letter-spacing: normal;
	display: inline-block;
	width: 33.33333333%;
	padding: 0;
	margin: 0;
	text-align: center;
}
.front-content li img {
	width: 100%;
	max-width: 540px;
	height: auto;
}
.front-contact {
	background: url(../img/front-contact-back.jpg) top center no-repeat;
	min-height: 172px;
	margin: 30px auto 65px;
}
.front-contact p.tel,
.front-contact p.mail {
	position: absolute;
	top: 96px;
}
.front-contact p.tel {
	right: 251px;
}
.front-contact p.mail {
	right: 41px;
	margin-left: 10px;
}
#contents ul.topics {
	margin: 0;
}
ul.topics li {
	padding: 20px 15px;
	border-bottom: 1px dotted #d3d3d3;
}
ul.topics li:first-child {
	border-top: 1px dotted #d3d3d3;
}

.atarimae p.alC {
	padding-top: 50px;
	font-size: 24px;
}
.atarimae p.alC .rich_txt {
	display: block;
	font-size:36px;
	text-indent: 0.35em;
	letter-spacing: 0.35em;
	color:#f57900;
}
.bottomarrow {
	position: relative;
	min-height: 245px;
}
.bottomarrow:after {
	position: absolute;
	left: 0;
	right:0;
	margin: auto;
	bottom: 30px;
	width: 40px;
	height: 40px;
	border-bottom: 1px solid #f57900;
	border-right: 1px solid #f57900;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.catchcopybox {
	padding-top:50px;
	background: url(../../about/img/catchcopybox.jpg) left bottom no-repeat;
	min-height:300px;
}
.catchcopybox p.alC {
	font-size: 28px;
	line-height: 1.3;
}
.catchcopybox p.alR {
	font-size: 36px;
}
.catchcopybox p.alR .rich_txt {
	display: inline-block;
	font-size:52px;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}

.stepbox1 h4 {
	position: relative;
	background-color: transparent;
	padding:0;
	padding-left:2em;
}
.stepbox1 h4 small {
	position: absolute;
	left:0;
	top:-10px;
	font-size:1.5em;
}
.stepbox1 .text-description {
	padding-left:40px;
}

.photobox1 ,
.photobox2 {
	position: relative;
}
.photobox1 {
	height:586px;
}
.photobox2 {
	height:524px;
}
.photobox1 p ,
.photobox2 p {
	position: absolute;
	margin:0 !important;
}
.photobox1 p.p1 ,
.photobox2 p.p1 {
	top:0;
	left:0;
}
.photobox1 p.p2 {
	top:0;
	left:203px;
}
.photobox2 p.p2 {
	top:0;
	left:137px;
}
.photobox1 p.p3 ,
.photobox2 p.p3 {
	top:0;
	right:0;
}
.photobox1 p.p4 {
	top:137px;
	left:0;
}
.photobox2 p.p4 {
	top:203px;
	left:137px;
}
.photobox1 p.p6 {
	top:137px;
	left:269px;
}
.photobox2 p.p5 {
	top:203px;
	right:203px;
}
.photobox1 p.p5 ,
.photobox2 p.p6 {
	bottom:0;
	left:0;
}
.photobox1 p.p7 {
	top:203px;
	right:0;
}
.photobox2 p.p7 {
	bottom:0;
	left:203px;
}
.photobox1 p.p8 ,
.photobox2 p.p8 {
	bottom:0;
	right:0;
}











/* ----- [side] --------------------------------------------------- */

ul.sidefixed {
	position: fixed;
	right: 10px;
	top: 30%;
	z-index: 3000;
}
#sidebar ul.bannerarea li {
	margin-top: 20px;
}
#sidebar ul.bannerarea li:first-child {
	margin-top: 0;
}
#sidebar #table-of-contents {
	border-top: 1px dotted #0a3869;
	border-bottom: 1px dotted #0a3869;
	margin-bottom: 20px;
	padding: 8px 0;
}
#sidebar #table-of-contents ul li a {
	position: relative;
	color: #000;
	text-decoration: none;
	display: block;
	padding: 8px 10px 8px 30px;
}
#sidebar #table-of-contents ul li a:hover {
	color: #176d00;
}
#sidebar #table-of-contents ul li a::before,
#sidebar #table-of-contents ul li a::after {
	position: absolute;
	top: 15px;
	left: 10px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#sidebar #table-of-contents ul li a::before {
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #176d00;
}
#sidebar #table-of-contents ul li a::after {
	left: 13px;
	top: 19px;
	width: 3px;
	height: 3px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#sidebar #table-of-contents ul li.lv1 {
	font-size: 18px;
	line-height: 1.5;
}
#sidebar #table-of-contents ul li.lv2 {
	font-size: 16px;
	line-height: 1.6;
}

/* ---- [form] ---- */

form table th {
	width : 200px;
	white-space: nowrap;
}
label {
	vertical-align: middle;
	display: block;
	width: 100%;
	margin-bottom: 5px;
	padding-right: 15px;
}
.checkbox label,
.radio label {
	min-height: 20px;
	margin-bottom: 0;
	cursor: pointer;
}
.checkbox label:hover,
.radio label:hover {
	color: #666;
}
.checkbox label input,
.radio label input {
	margin-right: 10px;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="number"],
select,
textarea {
	display: inline-block;
	width: 100%;
	font-size: 14px;
	line-height: 1.42857143;
	background-image: none;
	border: none;
	border: 1px solid #ccc;
	padding : 5px 10px;
	background-color: #f5f5f5;
	outline: none;
	border-radius: 0;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="number"],
select {
	height: 34px;
}
textarea {
	resize: vertical;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus {
	border: 1px solid #5bb0c8;
}
.astreq {
	font-size : 11px;
	color: #da6272;
}
form .astreq {
	margin-left : 10px;
}
form p input[type="submit"] {
	padding : 10px 20px;
	border : #ccc 1px solid;
	cursor : pointer;
	display : inline-block;
	background : #fff;
}
/* ----- [General] --------------------------------------------------- */

.pickup-text {
	color : #1d8900;
	font-weight : bold;
	font-size : 16px;
}
#contents .thumb-right {
	float : right;
	margin-left: 20px;
}
#contents .thumb-left {
	float : left;
	margin-right: 20px;
}
.text-description {
	overflow : hidden;
}
#contents p.thumb-left {
	margin-top: 0;
	text-align: center;
}
#contents p.thumb-right {
	margin-top: 0;
	text-align: center;
}
.text-description h4,
.text-description h5,
.text-description h6,
.text-description p,
.text-description table,
.text-description ul {
	margin-top: 0;
}
#contents p.thumb-left img,
#contents p.thumb-right img {
	display: block;
}
#contents .column2 p.text,
#contents .column3 p.text,
#contents .column4 p.text {
	margin-top: 5px;
}
.comment-text {
	padding : 15px;
	background-color: #f8f1e6;
	border-radius: 8px;
}
hr {
	border : none;
	border-bottom : 1px solid #ccc;
	margin : 20px 0;
}
.comment-text p.thumb-right a img,
.comment-text p.thumb-left a img,
p.thumb-right.btn a img,
p.thumb-left.btn a img {
	padding: 0;
	border: none;
	background-color: transparent;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.home .mainimages .container02 {
	position: absolute;
	z-index: 10;
	top: 0px;
	/*
	width: 1366px;
	*/
}
