@charset "utf-8";

/************/
/*切り替え用*/
/************/
.pc{
	display:block;
}

.sp{
	display:none;
}

.pc1{
	display:inline-block;
}

.sp1{
	display:none;
}

/************************/
/**  SPメニューCSS     **/
/************************/
.menu-button-right {
	position: fixed;
    right: 10px;
	top: 10px;
	cursor: pointer;
	z-index: 102;
	display: none;
}

.h_menu{
	position:fixed;
	left:15px;
	top:40px;
	z-index:101;
	display:none;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger {
	position: relative;
	width: 24px;
	height: 24px;
	cursor:pointer;
}

.notclick{
	pointer-events : none;
}

.menu-trigger span {
	position: absolute;
	right: 0%;
	width: 100%;
	height: 4px;
	background-color: #333;
	border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger span:nth-of-type(2) {
	top: 10px;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(11px) rotate(-45deg);
	transform: translateY(11px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
}

div.sp_menu{
	display:none;
	position:fixed;
	width:100%;
	max-height:100%;
	height:100%;
	left:50%;
	transform:translateX(-50%);
	top:0px;
	margin-bottom:10px;
	z-index:101;
	overflow-y:auto;
	background: rgba(0,0,0,0.8);
}

div.sp_menu p.h{
	padding-top:20px;
	padding-bottom:10px;
	margin:0 auto;
	text-align:center;
}

div.sp_menu p.h img{
	width:230px;
}

div.sp_menu p.ch {
	margin: 0 auto;
	text-align: center;
	padding-bottom: 10px;
}

div.sp_menu p.ch img{
	width:90%;
}

div.sp_menu p.sp_tel{
	margin: 0 auto;
	text-align:center;
	padding-top: 14px;
	padding-bottom: 17px;
	border-top:1px dotted #ccc;
	border-bottom:1px dotted #ccc;
}


div.sp_menu ul{
	padding-top:100px;
	text-align:center;
	padding-bottom:74px;
	padding:0px;
	overflow:hidden;
	margin-bottom:0px;
}

div.sp_menu ul a{
	font-weight:normal;
	color: #fff !important;
	border-bottom: 1px dashed #fff;
}

div.sp_menu ul li:first-child a{	
}

div.sp_menu ul li{
	list-style:none;
	width:94%;
	text-align: center;
	margin: 0 auto;
}

div.sp_menu ul li ul{
	padding-bottom:0px;
}

div.sp_menu ul li.parent ul{
	padding-top:0px;
	display:none;
	background:rgba(255,255,255,0.2);
}

div.sp_menu ul li:first-child{
	border-top:none;
}

div.sp_menu ul li a {
	display:block;
	width:100%;
	padding:15px 0px 15px 0px;
	/*color:#fff;*/
	font-size:110%;
	cursor:pointer;
	background: url(../image/common/f_navbg.png) 10px center no-repeat;
}

div.sp_menu ul li.parent span{
	background:url(../image/common/sp_plus.png) right center no-repeat;
	display:block;
	width:100%;
	padding:15px 0px 15px 0px;
	color:#000;
	cursor:pointer;
	/*background: url(../image/common/f_navbg.png) 10px center no-repeat;*/
	font-size:1.4em;
	border-bottom: 1px dashed #000;
}

div.sp_menu ul li a{
		font-size:16px;
		color:#fff !important;
		text-decoration:none;
}

div.sp_menu ul li.parent ul li a{
		color:#fff !important;
}



/*===============================================
  画面の横幅が640px以下に適用
===============================================*/
@media screen and (max-width: 640px){

/************/
/*切り替え用*/
/************/

.sp{
	display:block;
}
.pc{
	display:none;
}

.pc1{
	display:none
}

.sp1{
	display:inline-block;
}

/****メニューを出す****/

.menu-button-right {
    		display: block;
		background:#fff;
		height:33px;
		border-radius:5px;
		padding:4px 4px 0px 4px;
}


/****パンくず****/
	
	div.bread{
		width:100%;
		margin:0 auto;
		padding-top:10px;
		padding-bottom:10px;
		font-size:1.4rem;
	}
	
	

	div.bread ul.breadcrumbs{
		width:94%;
		text-align: left;
	}
	
	/**100%**/
	header,
	header div.header ,
	header nav ul ,
	address div,
	.container img,
	footer img,
	#wrapper{
		width: 100%;
	}
	
	#wrapper{
		overflow:hidden;
	}	

	/****header*****/

	div.h1box{
		display: none;
	}

	#header{
		height: auto;
	}
	
	.head{
		width: 100%;
	}
	
	.h1box{
		width: 100%;
	}
	
	.siteTitle{
		position: static;
		padding-top: 10px;
		padding-left: 10px;
		text-align: left;
	}
	
	.siteTitle img{
		width: 200px;
	}
	
	.tel{
		position: static;
		display: none;
	}
	
	#visual{
		background-size: cover;
	}
	
	#visual img{
		width: 90%;
	}

   	/**********/

	.paginated-link{
        	width:100%;

	}



	.paginated-link li.prev-link{
        	    overflow: hidden;

	}

	.paginated-link li.prev-link a{
    		    text-overflow: ellipsis;
		    width:80px;
		    white-space: nowrap;
	}

	.paginated-link li a{
        	font-size:1.4rem;

	}

	.paginated-link li.prev-link a::after{
        	display:none;
	}

	.paginated-link li.return-link{
 			/*width:30%;*/
	}

	.paginated-link li.next-link{
        	    overflow: hidden;
    		    text-overflow: ellipsis;
		    width:30%;
	}

	.paginated-link li.next-link a{
    		    text-overflow: ellipsis;
		    width:80px;
		    white-space: nowrap;
	}

	.paginated-link li.next-link a::after{
        	display:none;
	}

	
	/******共通*****/
	
	
	#wrap-content{
		line-height:1.8;
		font-size: 15px;
		padding-bottom: 50px;
	}
	
	/*******/

	div.gnav{
		display: none;
	}
	
	
	#container{
		
	}
		
	.location table,
	.location table tbody,
	.location table th,
	.location table tr,
	.location table td{
		display: block !important;
		width: 100% !important;
		line-height:1.6;
		height: auto;
	}
	
	.location table th,
	.location table td{
		padding-top: 5px;
		padding-bottom: 5px;
	}
	
	.location table td{
		padding-left: 0px;
	}
	
	.location tr:nth-child(7) th{
		padding-top: 0px;
	}
	
	/********/
	
	table.def,
	table.def tbody,
	table.def th,
	table.def tr,
	table.def td{
		display: block !important;
		width: 100% !important;
		line-height:1.6;
		height: auto;
	}
	
	table.def{
		margin-bottom: 0px;
		width: 94% !important;
	}
	
	table.def th,
	table.def td{
		padding-top: 5px;
		padding-bottom: 5px;
	}
	
	table.def th{
		background: #00255e;
		color: #fff;
	}
	
	table.def td{
		padding-left: 0px;
	}
	
	input[type="text"].wm{
		width: 100%;
	}
	
	input[type="text"].wml{
		width: 100%;
	}
	
	input[type="text"].wss{
		width: 60px;
	}

	#contact textarea{
		width: 100%;
		height: 180px;
	}
	
	/********/
	
	section{
		width: 90%;
	}
	
	#strength{
		height: auto;		
	}
	
	.strength{
		padding-top: 20px;
		height: auto;
	}
	
	.strength p.txt01{
		text-align: left;
		font-size: 15px;
		margin-bottom: 20px;
	}
	
	.strength p.txt01 br{
		display: none;
	}
	
	.strength h3{
		text-align: center;
		margin-bottom: 20px;
	}
	
	.strength li{
		width: 100%;
		float: none;
		height: auto;
		padding-bottom: 20px;
	}
	
	.strength li p{
		width: 90%;
	}
	
	.strength li:nth-child(2n){
		height: auto;
		float: none;
		padding-bottom: 20px;
	}

	.strength li:nth-child(3), .strength li:nth-child(4){
		height: auto;		
	}
	
	.strength li h4{
		width: 90%;
		margin: 0 auto 10px;
	}
	
	#ourworks{
		background-size: contain;
		padding-bottom: 20%;
		height: auto;
		margin-bottom: 30px;
	}
	
	.ourworks h3{
		margin-top: -50px;
	}
	
	.ourworks h3 img{
		width: 200px;
	}
	
	/***********/
	
	.bnr_contact{
		background: #011f51;
		height: auto;
	}
	
	.bnrcontact{
		padding-top: 20px;

	}
	
	.bnrcontact h3{
		margin-bottom: 20px;
	}
	
	.bnrcontact ul{
		float: none;
		margin-right: 0px;
		width: 100%;
	}
	
	#work{
		background: #eee;
		height: auto;
	}
	
	.work{
		padding-top: 30px;
		
	}
	
	.work h3{
		margin: 0 auto 10px;
	}
	
	.work p.txt01{
		padding: 5px;
		background: #eed45b;
		margin: 0px auto 10px;
	}
	
	.work p.txt02{
		width: 100%;
		line-height: 1.8;
		margin: 0 auto 10px;
		font-size: 15px;
	}
	
	.work p.txt02 br{
		display: none;
	}
	
	.maintenance{
		padding: 10px;
		background: #000;
		height: auto;
	}
	
	.maintenance .m_txt{
		width: 100%;
		float: none;
		margin: 0px;
	}
	
	.maintenance ul{
		width: 100%;
		float: none;
		margin-right: 0px;
	}
	
	.maintenance .m_txt p{
		margin-left: 0px;
		margin-bottom: 10px;
		font-size: 15px;
	}
	
	.maintenance .m_txt p br{
		display: none;

	}
	
	.maintenance li{
		float: none;
		
	}

	.maintenance li:last-child{
		float: none;
		
	}
	
	.work01{
		padding: 0px;
	}
	
	.work02{
		padding: 0px;
	}
	
	.work03{
		padding: 0px;
	}
	
	.btn{
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
	.btn a{
		background: #c00;
		display: block;
		color: #fff;
		width: 90%;
		margin: 0 auto;
		padding-top: 5px;
		padding-bottom: 5px;
		border-radius: 5px;
	}

	#area{
		padding-top: 10px;
		padding-bottom: 10px;
		background:url(../images/bg_area.jpg) no-repeat left top #eafcff;
		background-size: 560px;
		height: auto;
		margin-bottom: 20px;
	}
	
	.area{
		padding-top: 63px;
		text-align: center;

	}
	
	.area h3{
		width: 120px;
	}
	
	.bnr{
		height: auto;
		padding-top: 27%;
		padding-bottom: 7px;
		margin: 0 auto;
		background-size: contain;
	}
	
	.bnr img{
		display: block;
		width: 88px;
		margin: 0 auto 10px;
	}
	
	/************/
	
	#location{
		padding-top:20px; 
	}

	#location h3{
		margin-bottom: 20px;

	}
	
	#location h3 img{
		width: 150px;
	}
	
	#location iframe{
		height: 230px;
	}

	.location{
		padding-top: 20px;
		margin-bottom: 30px;
	}
	
	/*******/
	
	#contact{
		padding-top: 20px;
			padding-bottom: 1px;
	}
	
	.contact h3{
		margin-bottom: 10px;
	}

	.contact p{
		font-size: 12px;
		margin-bottom: 20px;
	}
	
	.tbl_contact{
		padding-top: 20px;
		padding-bottom: 20px;
		margin-bottom: 10px;
	}
	
	.contact p.cen{
		margin: 20px auto 20px;
		width: 80%;
		text-align: center;
		line-height: 1px;
	}
	

/****************footer*****************/
	.copyright{
		overflow: hidden;
	}
	
	.copyright address{
		line-height: 1.6;
		text-align: left;
		width: 90%;
		margin: 10px auto 10px;
	}
	
	/**************siteページ***************/
	
	.site .sitemap_box{
		padding-top:30px;
		padding-bottom:30px;
		width:100%;
	}


	.site .sitemap_box .item-box{
		width:90%;
		margin:0 auto;
	}
	

	

	/**************privacyページ***************/

	.privacy .privacy_box{
		padding-top:30px;
		padding-bottom:30px;
		width:90%;
		margin:0 auto;
	}

	.privacy .privacy_box .item-box:last-child{
		margin-bottom:0px;
	}

	div.privacy_box h3.item-title-h3{
               font-size: 1.8rem;
	}

	/**************error 404ページ***************/

	.error .contents1{
		padding-top:30px;
		padding-bottom:30px;
	}

	.error .contents1 .sec1{
		width:90%;
		margin:0 auto;
	}

	/**************contactページ***************/
        .contact{
		padding-top:0px;
		padding-bottom:0px;
	}

	.contact .contents1{
		padding-top:30px;
		padding-bottom:30px;
		width:100%;
		margin:0 auto;
	}

	.contact div.contact_box{
		width:90%;

	}

	div.contact_box table th, div.contact_box .defTable,
	div.contact_box table th, div.contact_box .defTable tbody,
	div.contact_box table th, div.contact_box table tr,
	div.contact_box table th, div.contact_box table th,
	div.contact_box table th, div.contact_box table td
	{
		display: block ;
		width:100%;
	}

	div.contact_box table th{

	}

	div.contact_box table th, div.contact_box table td{
		padding:10px;
	}

	 input.big{
		width:100%;
	}



	/**************blogページ***************/

	.blog .contents1 {
		padding-top:20px;
		padding-bottom:20px;
	}

	.blog .contents1 .sec1{
		width:94%;
	}

	.blog .contents1 .sec1 .item-box{
		padding:15px;
	}


	/**************blog_detailページ***************/

	.blog_detail .contents1 {
		padding-top:20px;
		padding-bottom:20px;
	}

	.blog_detail .contents1 .sec1{
		width:94%;
	}

	.blog_detail .contents1 .sec1 .item-box{
		padding:15px;
	}

	.blog_detail .contents1 .sec1 img{
		max-width:100% !important;
	}

		
	/**************************/
	
	/*--------------------------------------
		common
	--------------------------------------*/
	html {
		font-size: 62.5%;
	}
	
	a:link {
		text-decoration: underline;
	}
	
	/* box-sizing */
	*, *:before, *:after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	img {
		max-width: 100%;
	}
	
	body,
	#wrapper,
	/*header,*/
	footer  {
		width: auto;
		min-width: 320px;
	}
	
	body{
		background:#fff;
		}
	
	#wrapper {
		font-size: 1.0rem;
		padding:0;

	}
	



/* #pagetop */

#container #pagetop {
	display:block;
}
	
#pagetop_ret img {
	max-width:50px;
}
.pagetop_ret {
	padding: 0;
	margin: 0;
 	position: fixed;
 	right: 10px;
 	bottom: 10px;
 	z-index: 50;
 	display: none;
}

.pagetop_ret a {
	background: rgba(0, 0, 0, 0.7);
 	-moz-border-radius: 4px;
 	-webkit-border-radius: 4px;
 	border-radius: 4px;
 	width: 36px;
 	height: 36px;
 	padding: 0;
 	margin: 0;
 	display: block;
}

.pagetop_ret a img {
    display: none;
}

.pagetop_ret a:after {
    content: "";
    position: absolute;
    top: 40%;
    left: 30%;
    display: block;
    width: 15px;
    height: 15px;
    border-right: #FFF 1px solid;
    border-bottom: #FFF 1px solid;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

	


	/* datepicker */
	/* カレンダー自体を大きく */
	#container #ui-datepicker-div {
		margin-top: -100px !important;
	}
	#container .ui-datepicker {
		width: 80% !important;
		/*height: 380px;*/
		margin: auto;
		overflow: hidden;
		background: #fff;
		border: 6px solid #ccc;
		border-radius: 12px;
		box-shadow: 18px 18px 0 0 rgba(0,0,0,0.1);
	}

	/* タイトルと矢印 */
	#container .ui-datepicker .ui-datepicker-header {
		padding: 6px;
		font-size: 18px;
		border-radius: 6px 6px 0 0;
	}

	/* 矢印 */
	#container .ui-datepicker .ui-datepicker-prev,
	#container .ui-datepicker .ui-datepicker-next {
		top: auto;
	}
	#container .ui-widget-header .ui-icon {
		background-image: none !important;
	}


	#container .ui-datepicker-prev::after,
	#container .ui-datepicker-next::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		display: block;
		width: 12px;
		height: 12px;
		border: 2px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#container .ui-datepicker-prev::after {
		border-color: transparent transparent #000 #000;
	}
	#container .ui-datepicker-next::after {
		border-color: #000 #000 transparent transparent;
	}

	/* 曜日 */
	#container .ui-datepicker th {
		padding: 6px 6px;
		font-size: 18px;
		font-weight: normal;
		text-align: center;
		color: #000;
		border-bottom: 1px solid #000;
	}

	/* 日付の文字と余白を大きく */
	#container .ui-datepicker td span,
	#container .ui-datepicker td a {
		padding: 6px 6px;
	
		font-size: 18px;
		text-align: center;
	
		color: #333;
		border-radius: 4px;
	}

	/* 選択中 */
	#container .ui-datepicker td a.ui-state-active {
		color: #fff;
		background: #3366FF;
		box-shadow: inset 0 0 0 1px #fff;
	}

	/* 今日 */
	#container .ui-datepicker td a.ui-state-highlight {
		border: 2px solid #3366FF;
	}

	/* ボタンパネル */
	/*
	.ui-datepicker .ui-datepicker-buttonpane {
		position: absolute;
		left: 3px;
		right: 3px;
		bottom: 3px;
		padding: 0;
		border-top: 1px solid #000;
	}
	*/

	#container .ui-datepicker .ui-datepicker-buttonpane button {
		-webkit-appearance: none;
		min-width: 60px;
		margin: 3px 0 0;
		padding: 6px;
		font-size: 14px;
	/*
		color: #fff;
		background: #000;
		border: 0 none;
		border-radius: 6px;
	*/
	}


/*==================================================
詳細スライダー BEFIREAFTER
================================================== */
	
	#wrapper .slider_detail .contents1{
		width:85%;
	}
	
	.slider_detail .bxleft{
		width:100%;
		text-align:center;
		margin-bottom:10px;
	}
	
	.slider_detail .bx-pager {
		width:96%;
		margin:0 auto;	
	}
	
	.slider_detail .bx-pager ul {
	text-align:center;
	margin:0 auto;
	}

	.slider_detail  .bx-wrapper{
		margin-bottom:20px;
	}
	
	.slider_detail .bx-pager ul li{
		float:left;
		font:0px;
		margin-left:0px;
		padding-right:0px;
		width:46%;
	}

	.slider_detail .bx-pager ul li:nth-child(2n){
		margin-right:10px;
	}

	
	.slider_detail dl.bikou{
		font-size:0.5rem;
	}	
	
	.slider_detail dl.bikou dt{
		width:100%;
	}

/*==================================================
詳細fancy BEFIREAFTER
================================================== */

	.beforeafter_wrap{
		min-width:none !important;
		min-width:initial !important;
	}

	.beforeafter .contents1 h2{
		border-left: 5px solid #ccc;
		border-bottom: 2px solid #ccc;
		padding-left: 10px;
		color: #111;
		margin-bottom: 30px;
		overflow:hidden;
	}

	.beforeafter .contents1{
			width:85%;
	}

	.beforeafter div.before ,
	.beforeafter div.after {
		overflow:hidden;
	}

	.beforeafter .contents1 dl{
		float:left;
		width:48%;
		margin-right:0px;
		margin-bottom:8px;
	}

	.beforeafter .contents1 dl:nth-child(2n){
		float:right;
	}	

	.beforeafter .contents1 dl:nth-child(3n){
		margin-right:0px;
	}

	.beforeafter .contents1 dl dt img{
		max-width:100%;
	}

	.beforeafter .contents1 dl dd{
		font-size:0.85rem;
	}



/*==================================================
詳細fancy news_detail
================================================== */

	.news_detail .item-box{
			width:85%;
	}


}

/*===============================================
  画面の横幅が480px以下に適用
===============================================*/
@media screen and (max-width: 480px){


}