@charset "UTF-8";
/* CSS Document */

html, 
body {
	height: 100%;
	min-height: 100%;
}

body {
	background:#fff;
	position: relative;
	margin:0;
	padding:0;
	text-align: center;
	font-size: 14px;
	line-height: 1.6;
	color: #4d4d4d;
	font-family: '游ゴシック', YuGothic, 'メイリオ', 'Mairyo', sans-serif;
}

a {
	color:#6ba983;
	outline:none;
	text-decoration: none;
	-webkit-transition: 0.1s ease-in-out;  
	-moz-transition: 0.1s ease-in-out;  
	-o-transition: 0.1s ease-in-out;  
	transition: 0.1s ease-in-out;
}

a:hover {
	opacity:0.4;
	filter:alpha(opacity=40);
}

a.bt {
    display: block;
    width: 270px;
    height: 70px;
    margin: 0 auto;
    font-size: 19px;
	letter-spacing: 0.05em;
    line-height: 3.6;
	color: #1a1a1a;
	background: #ffffff;
    border: 1px solid #6ba983;
	opacity:0.7;
	filter:alpha(opacity=70);
}

a.bt:hover {
	background: #999999;
	color: #ffffff;
	opacity:0.95;
	filter:alpha(opacity=95);
}

img {
	border:0;
}

p {
	margin:0;
}

ul {
	margin:0;
	padding:0;
	list-style:none;
}

ul li {
	margin:0;
	padding:0;
}

dl, dl dt, dl dd {
	margin:0;
	padding:0;
}

h1, h2, h3, h4, h5 {
	margin:0;
	padding:0;
	line-height:1;
	font-weight: normal;
	color: #595959;
}

.min {
	font-family: YuMincho, "Yu Mincho", "serif" ;
}

#wrapper {
	width:1100px;
	margin: 0 auto;
	padding-top: 110px;
}

/* top */
div.mv {
	width: 1100px;
	height: 550px;
	background: url("../image/top/main.jpg") center center;
	background-size: cover;
	display: flex;
	-webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
	align-items: center;
}

div.mv p {
	font-size: 26px;
	line-height: 1.9;
	letter-spacing: 0.15em;
	color: #ffffff;
}

#about {
	margin-top: 75px;
}

#about h2 {
	font-size: 28px;
	letter-spacing: 0.1em;
	margin-bottom: 45px;
}

#about h2 span{
	display: inline-block;
	position: relative;
	padding-bottom: 16px;
}

#about h2 span::after {
	content: '';
    width: 100%;
    height: 1px;
    background: #333333;
    position: absolute;
    left: 0;
    bottom: 0;
}

#about ul{
	width: 1100px;
}

#about ul li {
	float: left;
	text-align: left;
	padding-right: 5px;
}

#about ul li.end {
	padding-right: 0;
}

#about ul li p {
	line-height: 1;
}

#about ul li p img {
	width: 271px;
	height: 175px;
}

#about ul li dl {
	width: 271px;
	margin-top: 3px;
}

#about ul li dl dt {
	text-align: center;
	font-size: 27px;
	color: #595959;
	letter-spacing: 0.05em;
	padding: 10px 0 12px;
	background: url("../image/top/frame.png") no-repeat left top;
	background-size: 20px 16px;
}

#cat {
	margin-top: 75px;
}

#cat h2 {
	font-size: 24px;
	letter-spacing: 0.1em;
}

#cat h2 span{
	display: inline-block;
	position: relative;
	padding-bottom: 16px;
}

#cat h2 span::after {
	content: '';
    width: 100%;
    height: 1px;
    background: #333333;
    position: absolute;
    left: 0;
    bottom: 0;
}

#cat ul li {
	float: left;
	text-align: left;
	padding-right: 5px;
	margin-bottom: 5px;
}

#cat ul li.end {
	padding-right: 0;
}

#cat ul li div {
	width: 216px;
	height: 200px;
	text-align: center;
	background: #f2f2f2;
	display: flex;
	-webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
	align-items: center;
	line-height: 1;
}

#cat ul li div article img {
	height: 40px;
	width: auto;
	margin-bottom: 10px;
}

#cat ul li div article p span {
	font-size: 16px;
    color: #ffffff;
    background: #6ba983;
    display: inline-block;
    padding: 4px 3px;
	margin-bottom: 3px;
    line-height: 1;
}

#cat ul li div article p.note {
	font-size: 13px;
	line-height: 1.5;
	padding-top: 4px;
}

#work-bt {
	width: 1100px;
	height: 210px;
	background: url("../image/top/work-bg.jpg") no-repeat center center;
	background-size: cover;
	display: flex;
	-webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
	align-items: center;
}

#more {
	margin-top: 75px;
}

#more h3 {
	font-size: 21px;
	letter-spacing: 0.05em;
	margin-bottom: 40px;
}

#more h3 span{
	display: inline-block;
	position: relative;
	padding-bottom: 16px;
}

#more h3 span::after {
	content: '';
    width: 100%;
    height: 4px;
    background: #d4e1d9;
    position: absolute;
    left: 0;
    bottom: 0;
}

#more div ul {
	float: left;
	width: 530px;
	text-align: left;
	font-size: 16px;
	line-height: 2.3;
	letter-spacing: 0.1em;
}

#more div ul li {
	background: url("../image/top/check.png") no-repeat 0 10px;
	background-size: 18px 15px;
	padding-left: 28px;
}

#more div p img {
	width: 570px;
	height: 275px;
}

#contact-bt {
	margin-top: 75px;
	padding-top: 75px;
	border-top: 1px solid #cccccc;
	line-height: 1.8;
}

#contact-bt p.cbt {
	margin-top: 17px;
}

/* in common */
h1.title {
	border: 1px solid #333333;
	height: 100px;
	font-size: 28px;
	letter-spacing: 0.1em;
	display: flex;
	-webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
	align-items: center;
	margin-bottom: 75px;
}

h2.subt {
	font-size: 22px;
	letter-spacing: 0.05em;
	margin-bottom: 60px;
}

h2.subt span{
	display: inline-block;
	position: relative;
	padding-bottom: 16px;
}

h2.subt span::after {
	content: '';
    width: 100%;
    height: 4px;
    background: #d4e1d9;
    position: absolute;
    left: 0;
    bottom: 0;
}

/* works */
#works ul {
	margin-bottom: 35px;
}

#works ul li {
	float: left;
	padding-right: 25px;
	margin-bottom: 25px;
}

#works ul li.end {
	padding-right: 0;
}

#works ul li p {
	line-height: 0;
}

#works ul li p img {
	width: 350px;
	height: 223px;
}

#works ul li p.other img {
	width: 350px;
	height: 263px;
}

#works ul li p.name {
	width: 350px;
	height: 40px;
	background: #333333;
	color: #ffffff;
	line-height: 1;
	text-align: left;
	display: flex;
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
	align-items: center;
}

#works ul li p.name span {
	display: block;
	margin-left: 10px;
}

/* company */
#company dl {
	width: 900px;
	text-align: left;
	margin: 0 auto 35px;
}

#company dl dt {
	width: 30%;
    float: left;
    padding: 30px 0 10px;
    border-bottom: 1px solid #cccccc;
}

#company dl dt span {
	padding-left: 15px;
}

#company dl dd {
	width: 70%;
    margin-left: 30%;
    padding: 30px 0 10px;
    border-bottom: 1px solid #cccccc;
}

#company ul {
	width: 900px;
	text-align: left;
	margin: 0 auto 75px;
}

#company ul li {
    float: left;
	line-height: 0;
}

#company ul li:first-child {
    padding-right: 10px;
}

#company ul li img {
	width: 445px;
	height: 280px;
}

#company iframe {
	width: 900px;
	height: 450px;
}

#company h2.subt {
	margin-bottom: 40px;
}

/* contact */
#contact div {
	width: 900px;
	margin: 40px auto 0;
}

/* footer */
footer {
	background: #9fbdaa;
	color: #ffffff;
	margin-top: 75px
}

footer ul {
	width: 1100px;
	margin: 0 auto;
	padding: 40px 0;
	display: flex;
	align-items: flex-end;
}

footer ul li {
	float: left;
	text-align: left;
	width: 50%;
	letter-spacing: 0.05em;
}

footer ul li img {
	width: 251px;
	height: 29px;
	margin-bottom: 3px;
}

footer ul li.copy {
	text-align: right;
	font-size: 12px;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    zoom: 1;
}




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

#wrapper {
	width:95%;
	margin: 0 auto;
	padding-top: 60px;
}

/* top */
div.mv {
	width: 100%;
	height: 450px;
}

div.mv p {
	font-size: 21px;
}

#about {
	margin-top: 40px;
}

#about h2 {
	font-size: 22px;
	margin-bottom: 35px;
}

#about ul{
	width: 100%;
}

#about ul li {
	float: none;
	padding-right: 0;
}

#about ul li p img {
	width: 100%;
	height: auto;
}

#about ul li dl {
	width: 100%;
}

#about ul li dl dt {
	font-size: 25px;
}
	
#about ul li dl dd {
	padding-bottom: 25px
}
	
#cat {
	margin-top: 15px;
}

#cat h2 {
	font-size: 23px;
}

#cat ul li {
	width: 50%;
	padding-right: 0;
}

#cat ul li div {
	width: 98%;
	margin: 0 auto;
}

#cat ul li div article p span {
	font-size: 15px;
}
	
#work-bt {
	width: 99%;
	margin: 0 auto;
}
	
#more {
	margin-top: 40px;
}

#more h3 {
	font-size: 19px;
	line-height: 1.4;
	margin-bottom: 30px;
}

#more div ul {
	float: none;
	width: 98%;
	margin: 0 auto 25px;
	font-size: 15px;
	line-height: 2.0;
}

#more div ul li {
	background: url("../image/top/check.png") no-repeat 0 8px;
	background-size: 18px 15px;
	padding-left: 28px;
}

#more div p img {
	width: 100%;
	height: auto;
}
	
#contact-bt {
	margin-top: 40px;
	padding-top: 40px;
}

/* in common */
h1.title {
	height: 70px;
	font-size: 21px;
	margin: 25px 0 45px;
}

h2.subt {
	font-size: 20px;
	margin-bottom: 35px;
}

/* works */
#works ul {
	margin-bottom: 17px;
}

#works ul li {
	float: none;
	padding-right: 0;
	margin-bottom: 18px;
}

#works ul li p img {
	width: 100%;
	height: auto;
}

#works ul li p.name {
	width: 100%;
}
	
/* company */
#company dl {
	width: 99%;
	margin: 0 auto 25px;
}

#company dl dt {
	width: 100%;
    float: none;
    padding: 20px 0 8px;
    border-bottom: 1px dotted #cccccc;
}
	
#company dl dt.sp-fc {
    padding: 0 0 8px 0;
}

#company dl dt span {
	padding-left: 0;
}

#company dl dd {
	width: 100%;
    margin-left: 0;
    padding: 8px 0 8px;
    border-bottom: 2px solid #cccccc;
}

#company ul {
	width: 100%;
	text-align: left;
	margin: 0 auto 40px;
}

#company ul li {
    float: left;
	width: 50%;
	text-align: center;
}

#company ul li:first-child {
    padding-right: 0;
}

#company ul li img {
	width: 98%;
	height: auto;
}

#company iframe {
	width: 100%;
	height: 400px;
}

#company h2.subt {
	margin-bottom: 30px;
}
	
/* contact */
#contact div {
	width: 100%;
	margin: 30px auto 0;
}
	
#contact p {
	text-align: left;
}
	
/* footer */
footer {
	margin-top: 45px
}

footer ul {
	width: 100%;
	display: block;
	align-items: normal;
}

footer ul li {
	float: none;
	text-align: center;
	width: 100%;
	font-size: 13px;
}

footer ul li img {
	width: 210px;
	height: 24px;
}

footer ul li.copy {
	text-align: center;
	font-size: 12px;
}


.sp-dn {
    display: none !important; }
}

@media screen and (min-width: 751px) {
  .pc-dn {
    display: none !important; } }
