@charset "utf-8";


/******************************
       トップ用ナビ
******************************/

.bg-slider {
	width: 100vw;
	height: 100vh;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bg-slider_title{
	margin:auto;
	max-width:200px;
}


/******************************
       下層用ナビ
******************************/
.bg-slider2 {
}
.bg-slider_title2 button{
	color:#888;
	font-size:0.8rem;
}


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

.content{
	width:100%;
	max-width:1000px;
	margin:0 auto;
}

@media screen and (max-width: 1024px) {
.content{
	width:96%;
	margin:2% auto;
}
}
@media screen and (max-width: 768px) {
.content{
	width:90%;
	margin:5% auto;
}	
}


h1 span{
	font-size:0.8rem;
}

.content h2{
	margin:1rem 0;
}
.content h3{
	margin: 3rem 0 0.5rem;
	font-size: 1.3rem;
	text-align:left;
}




footer{
	text-align:center;
	padding:5rem;
}



/******************************
      about us
******************************/

.introduction{
	padding-bottom:3rem;
	text-align:center;
}
.introduction img{
	margin:0 auto;
}
.introduction p{
	padding-bottom:2rem;
	text-align:left;
}
#map {text-align:center;}
#map iframe{
	max-width:800px;
}
@media screen and (max-width: 768px) {
.introduction img{
	max-width:none;
	width:100%;
}
}

.summary{
	padding-bottom:3rem;
}
.summary dl {
zoom: 100%;
width: 100%;
margin: 0;
padding: 0;
background: #efefef;
border-top: solid 1px #ccc;
}

.summary dl:last-child{
border-bottom: solid 1px #ccc;
}
.summary dl:after {
height: 0;
visibility: hidden;
content: ".";
display: block;
clear: left;
}
.summary dl dt,
.summary dl dd {
float: left;
margin: 0;
padding: 0;
}
.summary dl dt {
width: 25%;
padding:1rem 2rem;
text-align:center;
}
.summary dl dd {
width: 75%;
padding:1rem 2rem;
background: #fff;
}

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

.summary dl dt {
width: 100%;
padding:0.5rem 1rem;
text-align:left;
}
.summary dl dd {
width: 100%;
padding:0.5rem 1rem 1rem 1rem;
background: #fff;
}

}


#map iframe{
	width:100%;
	height:600px;
}

@media screen and (max-width: 1024px) {
#map iframe{
	height:400px;
}
}
@media screen and (max-width: 600px) {
#map iframe{
	height:200px;
}
}


/******************************
      aging
******************************/

.aging{
	padding-bottom:3rem;
	text-align:center;
}
.aging img{
	margin:0 auto;
}
.aging h3{
	text-align:center;
}
.aging p{
	padding-top:1rem;
}
.w500{
	max-width:500px;
}
@media screen and (max-width: 768px) {
.w500{
	max-width:none;
	width:100%;
}
}

/******************************
      works
******************************/

#works h3{
	margin: 3rem 1rem 0.5rem !important;
}
#works ul{
	overflow:hidden;
}
#works .navi li a{
	float:right;
	text-align:center;
	padding:0 2%;
}

#works section{
	overflow:hidden;
	padding-bottom:2rem;
	border-bottom:1px solid #f1f1f1;
	margin-bottom:2rem;
}

#works section strong,
#works section ol li,
#works section a {
	overflow: hidden;
	width:46%;
	float:left;
	margin:2%;
	height: 300px;
}
@media screen and (max-width: 1024px) {
#works section strong,
#works section ol li,
#works section a {
	height: 200px;
}
}
@media screen and (max-width: 600px) {
#works section strong,
#works section ol li,
#works section a {
	height: 100px;
}
}
@media screen and (max-width: 400px) {
#works section strong,
#works section ol li,
#works section a {
	height: 90px;
}
}
#works section .link_list img {
 	width:100%;
	display: block;
	transition: 0.5s;
}
#works section .link_list img:hover {
	transform: scale(1.1, 1.1);
}

.box_load_inner img{
	width:46%;
	margin: 4% 2% 0;
	float:left;
}
.box_load_inner .img_area{
	overflow:hidden;
}
.box_load_inner p {
    padding: 0 2%;
}
.box_load_inner .img_area .left{
	width:48%;
	float:left;
}
.box_load_inner .img_area .right{
	width:48%;
	float:right;
}
.box_load_inner .img_area .left img{
	width:100%;
	margin-bottom:2.1rem;
}
.box_load_inner .img_area .right img{
	width:100%;
	margin-bottom:2.1rem;
}


@media screen and (max-width: 600px) {
.box_load_inner img{
	width:96%;
	margin: 4% 2% 0;
}
.box_load_inner .img_area .left,
.box_load_inner .img_area .right{
	width:96%;
	float:left;
}
.box_load_inner .img_area .left img,
.box_load_inner .img_area .right img{
	margin-bottom:0;
}
}



.box_load_contents {
	width:90%;
	max-width:800px;
	margin: 5rem auto 1rem auto;
	font-size: 0.85rem;
	color: #555;
}
@media screen and (max-width: 600px) {
.box_load_contents {
	margin: 2rem auto;
}
}
.box_load_inner .img_area a{
	width:100%!important;
	float:none!important;
	margin:0 !important;
}




/******************************
      works pop + pop
******************************/

#popup{
  width:100%;
  box-sizing:border-box;
  display:none;
  position:absolute;
  top:50%;
  left:50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
#popup{
  width:150%;
   position:fixed;
}
}
.box_load_inner #popup img{
width: 100%;
margin:0;
}

label{
  display:block;
  z-index:1000;
}
label span:hover{
  cursor:pointer;
}
input[type="checkbox"]{
  display:none;
}

input[type="checkbox"]:checked + #popup{
  display:block;
  transition:.2s;
  background:#fff;
  z-index:1000;
}

/******************************
      works pop
******************************/

.box_inner {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1260px;
    margin: 0 auto;
}

.arrows {
	display: table;
	width: 96%;
	position: absolute;
	margin: 0 0 0 2%;
	padding: 0;
	list-style-type: none;
	top: 50%;
	font-size: 1.8rem;
}

.arrow_left {
	display: table-cell;
	width: 50%;
	padding-left: 5px;
	box-sizing: border-box;
}

.box_load_inner {
	display: block;
}

.arrow_rigth {
	display: table-cell;
	width: 50%;
	text-align: right;
	padding-right: 5px;
	box-sizing: border-box;
}

.arrow_span {
	font-weight: bold;
	cursor: pointer;
	-webkit-transition: .3s;
	transition: .3s;
}

.arrow_span:hover {
	color: #f00;
}

.close {
	position: absolute;
	right: 35px;
	top: 20px;
	cursor: pointer;
	font-size: 1.8rem;
}

.box_cover {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.2);
	z-index: -1;
	opacity: 0;
	-webkit-transition: .3s;
	transition: .3s;
}

.box_cover.active {
	z-index: 10;
	opacity: 1;
}

.box {
	position: fixed;
	width: 90%;
	height: 90%;
	top: 50%;
	left: 50%;
	padding: 10px;
	box-sizing: border-box;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: .3s;
	transition: .3s;
	transform: translate(-50%, -50%);
	overflow: hidden;
}
@media screen and (max-width: 600px) {
.box {
	padding: 0;
}
}

.box.active {
	z-index: 15;
	opacity: 1;
	visibility: visible;
}

.box_load>li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
}

.box_load_inner {
	padding: 10px 30px;
	box-sizing: border-box;
}

.box_load_cover {
	width: 100%;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

.link_list li{
	cursor: pointer;
	-webkit-transition: .3s;
	transition: .3s;
}

.link_list li:hover{
	background: #ddd;
	cursor: pointer;
}




/******************************
      contact
******************************/
.contact .form{
	padding:1rem 0;
}
.contact dl{
	margin-top:1rem;
}
.contact dd input,
.contact dd textarea{
	border:#ccc 1px solid;
	min-height:20px;
	padding:0.1rem 0.3rem;
}
.contact .submit{
	text-align:center;
	padding-top:2rem;
}
.contact .submit input{
	margin:0.5rem;
	background:#bbb;
	color:#fff;
	border:none;
	padding:0.3rem 1rem;

}
.contact .submit input:hover{
	background:#ccc;
}

.contact dd textarea{
	min-height:100px!important;
	width:100%!important;
}


@media screen and (max-width: 768px) {
	
.contact .name input,
.contact .address input,
.contact .tel input,
.contact .mail input{	
	width:100% !important;		
	
}
}




.sp{
	display:none;
}



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

	
.pc{
	display:none;
}
.sp{
	display:block;
}

}


