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

body{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", Osaka, "ＭＳ Ｐゴシック", sans-serif;
}
@media screen and (max-width: 768px){
}

@media screen and (min-width: 601px) and (max-width: 1080px) {
}

@media screen and (min-width: 769px){

body{
	width:100%;
	overflow-x:hidden;
	position:relative;
}


.main_bg{
	width:30%;
	height:450px;
	position:absolute;
	top:0;
	left:0;
	background:#3f3b3a;
	z-index:998;
}
.main_bg02{
	width:12px;
	display:block;
	height:450px;
	position:absolute;
	top:0;
	left:30%;
	background:#3f3b3a;
	z-index:998;
}
.main_bg02:before{
	content:"";
	display:block;
	width:1px;
	height:450px !important;
	background:#fff;
}
}

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

}

	
/*==========================================
 ヘッダー
===========================================*/


@media screen and (min-width: 769px){
header{
	width:100%;
	background:#fff;
	z-index:997;
	position:relative;
	height:70px;
}


.head_content{
	width:92%;
	max-width:1400px;
	margin: 0 auto;
	display:flex;
	justify-content:space-between;
	align-items: center;
}

.head_logo{
	position:absolute;
	top:-3px;
	left:5%;
	z-index:999;
	width:200px;
}
.head_logo a:hover{
	opacity:0.7;
}
.head_logo img{
	width:200px;
	position:relative;
	z-index:999;
}

#nav{
	position:absolute;
	right:5%;
	top:18px;
}

#nav li{
	display:inline-block;
}
}

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

body{
	width:100%;
	overflow-x:hidden;
	position:relative;
}


.main_bg{
}
.main_bg02{
}
.main_bg02:before{
}

header{
	width:100%;
	background:#3f3b3a;
	z-index:997;
	position:relative;
	height:70px;
}


.head_content{
	width:92%;
	max-width:1400px;
	margin: 0 auto;
	display:flex;
	justify-content:space-between;
	align-items: center;
}

.head_logo{
	position:absolute;
	top:0px;
	left:5%;
	z-index:999;
}
.head_logo a:hover{
	opacity:0.7;
}
.head_logo img{
	width:200px;
	position:relative;
	z-index:999;
}

.head_navi_wrap{
	position:absolute;
	right:5%;
	top:18px;
}


.menu_text{
	color: #fff;
}
.menu span {
	background-color: #fff;
}

}

/*==========================================
 共通
===========================================*/


@media screen and (min-width: 769px){
.common_title_bg{
	width:100%;
	height:200px;
	background:url(../images/slide01.jpg) no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
	z-index:9999;
	margin-top:5px;
}

.title_bg{
	width:30%;
	height:200px;
	position:absolute;
	top:0;
	left:0;
	background:rgba(63,59,58,.5);
	z-index:998;
}
.title_bg02{
	width:12px;
	display:block;
	height:200px;
	position:absolute;
	top:0;
	left:30%;
	background:rgba(63,59,58,.5);
	z-index:998;
}
.title_bg02:before{
	content:"";
	display:block;
	width:1px;
	height:200px !important;
	background:#fff;
}

.common_title_inner{
	width:92%;
	height:200px;
	max-width:1400px;
	margin: 0 auto;
	display:flex;
	justify-content:space-between;
	align-items: center;
	position:relative;
	z-index:999999;
}

.common_title_inner_wrap{
	align-items: center;
}

.common_title_inner_wrap p{
	font-size:50px;
	font-family: 'Marcellus', serif;
	color:#fff;
	font-weight:normal;
}
.common_title_inner_wrap h2 {
  display: flex;
  align-items: center;
	font-size:16px;
	font-weight:normal;
	color:#fff;
	padding-bottom:10px;
}
.common_title_inner_wrap h2:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em;
}
.common_title_inner_wrap h2:before {
  margin-right: .5em;
}

.common_title_inner_wrap h1 {
  display: flex;
  align-items: center;
	font-size:16px;
	font-weight:normal;
	color:#fff;
	padding-bottom:10px;
}
.common_title_inner_wrap h1:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em;
}
.common_title_inner_wrap h1:before {
  margin-right: .5em;
}



.bre_wrap{
	width:80%;
	max-width:1200px;
	margin: 20px auto;
	position:relative;
	z-index:9999999;
	color:#fff;
	font-size:14px;
}

.bred_list a{
	color:#fff;
	text-decoration:none;
}
.bred_list a:hover{
	color:#aaa;
}

.common_content_wrap{
	width:80%;
	max-width:1200px;
	margin: 70px auto 0;
	background:#fff;
	position:relative;
	z-index:9999999;
}


.common_content_inner{
	width:80%;
	max-width:900px;
	margin: 0 auto;
	padding:50px 0 ;
	position:relative;
}


.common_content_inner02{
	width:80%;
	max-width:900px;
	margin: 0 auto;
	padding:50px 0 0;
	position:relative;
}
}
@media screen and (max-width: 768px){
.common_title_bg{
	width:100%;
	height:200px;
	background:url(../images/slide01.jpg) no-repeat;
	background-position:center;
	background-size:cover;
	position:relative;
	z-index:9;
}

.common_title_inner{
	width:92%;
	height:200px;
	margin: 0 auto;
	display:flex;
	justify-content:space-between;
	align-items: center;
	position:relative;
	z-index:99;
}

.common_title_inner_wrap{
	align-items: center;
}

.common_title_inner_wrap p{
	font-size:40px;
	font-family: 'Marcellus', serif;
	color:#fff;
	font-weight:normal;
}
.common_title_inner_wrap h2 {
  display: flex;
  align-items: center;
	font-size:16px;
	font-weight:normal;
	color:#fff;
	padding-bottom:10px;
}
.common_title_inner_wrap h2:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em;
}
.common_title_inner_wrap h2:before {
  margin-right: .5em;
}

.common_title_inner_wrap h1 {
  display: flex;
  align-items: center;
	font-size:16px;
	font-weight:normal;
	color:#fff;
	padding-bottom:10px;
}
.common_title_inner_wrap h1:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em;
}
.common_title_inner_wrap h1:before {
  margin-right: .5em;
}

.bre_wrap{
	width:90%;
	margin: 20px auto;
	position:relative;
	z-index:9;
	color:#333;
	font-size:14px;
}

.bred_list a{
	color:#333;
	text-decoration:none;
}
.bred_list a:hover{
	color:#aaa;
}

.common_content_wrap{
	width:90%;
	margin: 0 auto;
	position:relative;
	z-index:9999999;
}

.common_content_inner{
	width:100%;
	margin: 0 auto;
	padding:7vw 0 ;
	position:relative;
}

.common_content_inner02{
	width:100%;
	margin: 0 auto;
	padding:7vw 0 ;
	position:relative;
}
}
/*==========================================
 会社概要
===========================================*/

.table_box{
	width:100%;
	margin-bottom:50px;
}

.table_th {
  position: relative;
  width: 100%;
  padding: 20px 0;
  color: #3f3b3a;
  border-bottom: 1px solid #ccc;
}
    
.table_th:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 150px;
  height: inherit;
  border-bottom: 1px solid #3f3b3a;
}
.table_td{
  width: 100%;
  padding: 20px 0;
	font-size:16px;
	line-height:26px;
	color:#333;
}

.company_map iframe{
	width:100%;
	height:400px;
}

.company_text{
	color:#333;
	line-height:28px;
	padding-top:50px;
}


@media screen and (max-width: 768px){
	
.table_box{
	margin-bottom:4vw;
}
	
}

/*==========================================
 実績紹介
===========================================*/

@media screen and (min-width: 769px){
h2.works_title{
	font-size:40px;
	line-height:60px;
	color:#3f3b3a;
	font-weight:normal;
	text-align:justify;
	padding-top:100px;
}

.cate_wrap{
	position:absolute;
	background:#3f3b3a;
	top:62px;
	right:0;
	color:#fff;
	padding:10px 50px;
}

.case_wrap{
	position:relative;
}
.case_wrap_inner{
	position:absolute;
	left:0;
	text-align:center;
}

.case{
	font-family: 'Marcellus', serif;
	color:#999;
	font-size:50px;
	text-align:right;
	padding-bottom:15px;
}


.works_arrow{
    position: relative;
    display: inline-block;
    padding: 20px 0 0 0;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 20px;
}
.works_arrow::before,
.works_arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.works_arrow02{
    left: 0;
    box-sizing: border-box;
    width: 20px;
    height: 40px;
    border: 20px solid transparent;
    border-top: 20px solid #3f3b3a;
}

.works_thum{
	padding:20px 0;
}
.works_thum img{
	width:100%;
}

.works_content_wrap{
	padding-bottom:100px;
}
h3.works_subtitle {
  position: relative;
  padding: 5px 5px 5px 42px;
  background: #3f3b3a;
  font-size: 20px;
  color: white;
  margin-left: -33px;
  line-height: 1.3;
  z-index:-1;
	margin-top:50px;
	font-weight:normal;
}

h3.works_subtitle:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index:-2
}

.works_content_text{
	font-size:16px;
	line-height:36px;
	padding-top:30px;
	text-align:justify;
}

.works_content_text p{
	padding-bottom:10px;
}
}

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

h2.works_title{
	font-size:20px;
	line-height:30px;
	color:#3f3b3a;
	font-weight:normal;
	text-align:justify;
}

.cate_wrap{
	background:#3f3b3a;
	color:#fff;
	padding:10px 0;
	text-align:center;
}

.case{
	font-family: 'Marcellus', serif;
	color:#999;
	font-size:40px;
	text-align:left;
	padding-bottom:10px;
}

.works_arrow{
    position: relative;
    display: inline-block;
    padding: 0;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 20px;
}
.works_arrow::before,
.works_arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.works_arrow02{
    left: 0;
    box-sizing: border-box;
    width: 20px;
    height: 40px;
    border: 20px solid transparent;
    border-top: 20px solid #3f3b3a;
}

.works_thum{
	padding:20px 0 0;
}
.works_thum img{
	width:100%;
}

.works_content_wrap{
	padding-bottom:7vw;
}
h3.works_subtitle {
  position: relative;
  padding: 5px 5px 5px 42px;
  background: #3f3b3a;
  font-size: 20px;
  color: white;
  margin-left: -33px;
  line-height: 1.3;
  z-index:-1;
	margin-top:7vw;
	font-weight:normal;
}

h3.works_subtitle:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index:-2
}

.works_content_text{
	font-size:16px;
	line-height:28px;
	padding-top:5vw;
}

.works_content_text p{
	padding-bottom:10px;
}	
	
}

/*==========================================
 サービス
===========================================*/

.common_works_box_wrap{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	
}

.common_works_box{
	width:23%;
	margin-bottom:40px;
}
.common_works_box h3{
	text-align:center;
}

.common_works_box_icon{
	font-size:50px;
}
.service_common_title{
	font-size:60px;
	font-family: 'Marcellus', serif;
	padding-top:100px;
	color:#3f3b3a;
	font-weight:normal;
}


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

.common_works_box{
	width:48%;
	margin-bottom:3vw;
}
.common_works_box h3{
	text-align:center;
}

.common_works_box_icon{
	font-size:40px;
}

.service_common_title{
	font-size:50px;
	font-family: 'Marcellus', serif;
	padding-top:12vw;
	color:#3f3b3a;
	font-weight:normal;
}

	
	
}

/*==========================================
 プライバシーポリシー
===========================================*/

.privacy_wrap p{
	font-size:16px;
	line-height:28px;
	color:#333;
	text-align:justify;
}

.privacy_text01{
	padding-bottom:60px;
}

.privacy_list{
	padding:20px 0 0 10px;
}
.privacy_list02{
	padding:5px 0 10px 25px;
}
.privacy_list p{
  text-indent: -1em;
  padding-left: 2em;
	padding-bottom:10px;
}

p.indent{
  text-indent: -1em;
  padding-left: 1em;
}

.privacy_end{
	width:100%;
	padding-top:40px;
	text-align:right !important;
}


@media screen and (max-width: 768px){
.privacy_text01{
	padding-bottom:7vw;
}

.privacy_end{
	padding-top:4vw;
}	
}

/*==========================================
 フッター
===========================================*/





/*==========================================
 共通コンタクトボタン
===========================================*/

.common_all_contact_wrap{
	width:100%;
	padding:30px 0;
}




@media screen and (max-width: 768px){
.works_wrap{
	background:#f1f1f1;
	margin-top:7vw;
	padding-bottom:7vw;
}

.works_title{
	font-size:40px;
	font-family: 'Marcellus', serif;
	padding-top:7vw;
	color:#3f3b3a;
	font-weight:normal;
}


.works_wrap h2{
	text-align:left;
	color:#3f3b3a;
}

p.service_sub_title{
	color:#3f3b3a;
	padding:10px 0 40px;
	font-size:20px;
}

.service_sub_title {
  display: flex;
  align-items: center;
}
.service_sub_title:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em;
}
.service_sub_title:before {
  margin-right: .5em;
}
.works_inner{
	width:90%;
	margin: 0 auto 0;
}

.works_box_wrap{
	
}

.works_box{
	width:100%;
	margin-bottom:5vw;
}

.works_thum{
	width:100%;
	overflow:hidden;
}


a .works_thum img{
	width:100%;
 transition:1s all;
}
a .works_thum:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}

.works_text_wrap{
	width:100%;
	position:relative;
	padding:25px 0;
}

.works_text_wrap h3{
	color:#3f3b3a;
	font-weight:normal;
	font-size:18px;
	line-height:26px;
}

.works_text_wrap p{
	padding-top:10px;
	font-size:16px;
	line-height:26px;
	color:#333;
}

.works_cach{
	color:#fff;
	background:#3f3b3a;
	position:absolute;
	top:-12px;
	right:10px;
	padding:6px 20px 5px;
	font-size:14px;
}

.works_box a{
	text-decoration:none;
}

a:hover .works_text_wrap h3,
a:hover .works_text_wrap p{
	opacity:0.7;
}

figure {
	width:100%;
	margin: 0;
	overflow: hidden;
	position: relative;
	text-align: center;
}

a>figure img {
	transition:1s all;
}

a:hover>figure img {
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
}

.common_works_box figure{
	border:none;
}
}

@media screen and (min-width: 769px){
.works_wrap{
	background:#f1f1f1;
	margin-top:100px;
	padding-bottom:100px;
}
.works_title{
	font-size:60px;
	font-family: 'Marcellus', serif;
	padding-top:100px;
	color:#3f3b3a;
	font-weight:normal;
}


.works_wrap h2{
	text-align:left;
	color:#3f3b3a;
}

p.service_sub_title{
	color:#3f3b3a;
	padding:20px 0 40px;
	font-size:20px;
}

.service_sub_title {
  display: flex;
  align-items: center;
}
.service_sub_title:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 2em;
}
.service_sub_title:before {
  margin-right: .5em;
}
.works_inner{
	width:90%;
	max-width:1100px;
	margin: 0 auto 0;
}

.works_box_wrap{
	display:flex;
	justify-content:space-between;
	align-items: ;
	
}

.works_box{
	width:31%;
}

.works_thum{
	width:100%;
	overflow:hidden;
}


a .works_thum img{
	width:100%;
 transition:1s all;
}
a .works_thum:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}

.works_text_wrap{
	width:100%;
	position:relative;
	padding:25px 0;
}

.works_text_wrap h3{
	color:#3f3b3a;
	font-weight:normal;
	font-size:18px;
	line-height:26px;
}

.works_text_wrap p{
	padding-top:10px;
	font-size:16px;
	line-height:26px;
	color:#333;
}

.works_cach{
	color:#fff;
	background:#3f3b3a;
	position:absolute;
	top:-12px;
	right:10px;
	padding:6px 20px 5px;
	font-size:14px;
}

.works_box a{
	text-decoration:none;
}

a:hover .works_text_wrap h3,
a:hover .works_text_wrap p{
	opacity:0.7;
}

figure {
	width:100%;
	margin: 0;
	overflow: hidden;
	position: relative;
	text-align: center;
}

a>figure img {
	transition:1s all;
}

a:hover>figure img {
	transform: scale(1.2,1.2);
	-webkit-transform:scale(1.2,1.2);
	-moz-transform:scale(1.2,1.2);
	-ms-transform:scale(1.2,1.2);
	-o-transform:scale(1.2,1.2);
}
	.common_works_box figure{
	border:none;
}
}
