*{
text-decoration: none;

}

html{
  height: 100%;
  margin: 0 auto;
}

body{
max-width: 100%;
  word-wrap: break-word;
overflow-wrap: break-word;
}




table{
table-layout:fixed;
width: 100%;
}



br{
display: block;
}
@media screen and (max-width: 767px) {
br{
display: none;
}
}


.row:before, .row:after {
width:0px;
}


a.anchor{
    display: block;
    padding-top: 65px;
    margin-top: -65px;
}






.a_block{
	display: block;
	text-decoration: none;
	color: #333333;
	}
.a_block:hover{
text-decoration: none;
color: #333333;
}
.hover-opacity {
	transition-property: opacity;
	transition-duration: 0.5s;
  }
  .hover-opacity:hover {
	opacity: 0.7; 
  }






#wrap{
	font-size: 100%;
	color: #333535;
	line-height: 1.8;
	max-width: 100%;
	overflow: hidden;
	padding: 15px;
}




.content_box{
	max-width: 1300px;
	margin: 0 auto;
}



.content_inner{
	max-width: 1000px;
	margin: 0 auto;
}






.top_wrap{
	padding: 30px;
	line-height: 1.8;
	max-width: 100%;
	overflow: hidden;
}

.top_img{
	background-image: url('../img/top/top_img.jpg');
    background-size: cover;
}


.logo{
	background:#fff;
	padding:60px;
	max-width:200px;
	max-height:200px;
	margin-bottom: 500px;
}
.logo h1{
	line-height:1.2;
	font-weight: 600;
	font-size: 220%;
}
.logo p{
	line-height:1.2;
	font-size:80%;
}


@media screen and (max-width:767px) {
.logo{
	background:#fff;
	padding:40px 30px;
	max-width: 120px;
	margin-bottom: 220px;
}
.logo h1{
	line-height:1;
	font-weight: 600;
	font-size: 160%;
}
.logo p{
	line-height:1;
	font-size:60%;
}
}






.catch_wrap{
padding: 15px 0;
}

.catch{
color: #fff;
padding: 20px 30px;
background-color: rgba(0,0,0,0.7);
}
.catch h2{
	font-size: 250%;
	font-weight: 600;
}

@media screen and (max-width:767px) {
.catch{
color: #fff;
padding: 20px 30px;
}
.catch h2{
	font-size: 160%;
	font-weight: 600;
}
.catch p{
	font-size: 80%;
}
}








.sub_title {
	font-weight: bold;
	font-size: 120%;
	display: flex;
	align-items: center;
	width: 220px;
	margin-bottom: 30px;
}

.sub_title::after {
	content: "";
	flex-grow: 1;
	margin: 0 20px;
	height: 1px;
	background: #000;
}


.concept_bg{
	padding-bottom: 250px;
	background: url('../img/top/concept_bg.jpg') no-repeat center bottom;
	background-size: 100%;
}
@media screen and (max-width:767px) {
.concept_bg{
	padding-bottom: 100px;
	background: url('../img/top/concept_bg.jpg') no-repeat center bottom;
	background-size: 100%;
}
}

.concept_bg h2{
	font-size: 250%;
	font-weight: 600;
}
@media screen and (max-width:767px) {
.concept_bg h2{
	font-size: 200%;
	font-weight: 600;
}
}
.works{
font-weight: bold;
}


.company dl{
margin-bottom: 15px;
}
.company dt{
margin-bottom: 10px;
}
.company dd{
background: #e8e8e8;
padding: 10px;
}

.company iframe{
width: 100%;
height: 300px;
}




.contact dl{
margin-bottom: 20px;
}
.contact dt{
margin-bottom: 15px;
}
.contact dd{
}

.contact_span1{
padding: 5px 15px;
margin-right: 15px;
background: #000;
color: #fff;
border-radius:5px;
}
.contact_span2{
padding: 5px 15px;
margin-right: 15px;
background: #ccc;
color: #000;
border-radius:5px;
}




@media screen and (max-width:1024px) { 
}
@media screen and (max-width:767px) { 
}


.sm_br{
display: none;
}
@media screen and (max-width:767px) {
.sm_br{
display: block;
}
}

.f_80{
font-size: 80%;
}

.all_p10_b0{
padding: 0 10px 10px;
}

.all_p10{
padding: 10px;
}

.t_center{
text-align: center;
}
.t_right{
text-align: right;
}
.t_left{
text-align: left;
}
.p_lr30{
padding: 0 0 0 30px;
}
.ml30{
margin-left: 30px;
}
.m_auto{
margin: 0 auto;
}
.mb5{
margin-bottom: 5px;
}
.mb10{
margin-bottom: 10px;
}
.mb15{
margin-bottom: 15px;
}
.mb20{
margin-bottom: 20px;
}
.mb30{
margin-bottom: 30px;
}
.mb40{
margin-bottom: 40px;
}
.mb50{
margin-bottom: 50px;
}
.mb60{
margin-bottom: 60px;
}

