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

/*===================================================
	スマホ用CSS
===================================================*/
html,body {
	overflow-x: hidden;
}
body {
	min-width: 0; 
}
img {
	width: 100%;
}
/* --------------------------------------------------
	1. header
-------------------------------------------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	border-bottom: 2px solid #E55B72;
	z-index: 9999;
}
	header .headWrap {
		padding: 10px;
	}
		header .headWrap h1 {
			position: relative;
			float: none;
			width: 223px;
			padding-top: 0;
			z-index: 101;
		}
		header .headWrap ul {
			display: none;
		}
	header .slideBtn {
		display: block;
		position: absolute;
		top:30px;
		right: 10px;
		width: 30px;
	}
	#navToggle {
        display: block;
    }
    /* #navToggle 切り替えアニメーション */
    .open #navToggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #navToggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #navToggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
/* nav
-------------------------------------------------------------- */
nav {
	display: none;
	background: none;
}
	nav ul li {
		float: none;
		width: 100%;
		line-height: 40px;
		border-top: 1px solid #FFFFFF;
		background: url("../img/bg_nav.png") repeat-x;
		background-size: 30px auto;
	}
	nav ul li:last-child {
		display: block;
	}
		nav ul li a {
			display: block;
			padding-left: 20px;
			font-size: 14px;
		}

/* --------------------------------------------------
	2. main
-------------------------------------------------- */
article {
	margin-top: 73px;
}
section {
	margin-top: -73px;
	padding: 73px 10px 0;
}

/* 契約実績
-------------------------------------------------------------- */
#con1 table thead tr th {
	font-size: 10px;
}
	#con1 table tbody tr th {
		font-size: 12px;
	}
	#con1 table tbody tr td {
		font-size: 14px;
	}
		#con1 table tbody tr td em {
			font-size: 20px;
		}
#con1 table + p img {
	width: 232px;
}
/* 製品一覧リスト */
#con1 > div {
	height:auto;
	padding: 20px 0;
}
	#con1 > div ul li {
		width: 20%;
		max-width: 144px;
	}

/* 製品のご案内
-------------------------------------------------------------- */
#con2 dl {
	padding: 0;
}
#con2 dl dt {
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 1;
}
#con2 dl dd {
	position:relative;
	padding-top: 50px;
	z-index:10;
}
#con2 .type1 dd + dd {
	margin-top: 0px;
	padding-top: 0;
}
#con2 .type7 {
	background: url("../img/smt/frame_01.png") no-repeat;
	background-size:100% auto; 
}
	#con2 .type7 dt {
		position: relative;
		top:30px;
		left: 20px;
		width: 80%;
	}
#con2 .type8 li {
	background: url("../img/smt/frame_02.png") no-repeat;
	background-size:cover; 
}
#con2 #item7 dd {
	padding-top: 120px;
}

/* 5つの安心
-------------------------------------------------------------- */
#con4 {
}
#con4 .contBox h3 {
	padding: 0 10px;
}
#con4 .contBox dl,
#con4 .contBox dl + p {
	float: none;
	width: 100%;
}
	#con4 .contBox dl dt {
		max-width: 432px;
	}
	
	#con4 .contBox div {
		overflow: hidden;
		padding: 10px;
		border-bottom: 1px solid #000000;
	}
/* リフォーム
-------------------------------------------------------------- */
#reform {
	
}
/* お問い合わせ
-------------------------------------------------------------- */
#contact .map {
	width: 95%;
	margin: 0 auto;
}

/* ご案内
-------------------------------------------------------------- */
#guide {
	padding: 0 10px;
}
#guide h3 + div ul {
	padding: 0;
	border: none;
}
#guide h3 + div ul li {
	overflow: hidden;
	width: 100%;
	float: none;
	padding: 15px 0;
	font-size: 13px;
	border-bottom: 1px solid #000000;
}
#guide h3 + div ul:last-child li + li {
	border: none;
}
	#guide h3 + div ul li > p {
		float: left;
		width: 50%;
	}
	#guide h3 + div ul li > dl {
		float: right;
		width: 47%;
		padding-left: 2%;
	}
/* イベント
-------------------------------------------------------------- */
#event > * {
	font-size: 12px;
}
#event ul li {
	width: 48%;
}
#event .photo {
	text-align: center;
}
	#event .photo li {
		width: 30%;
	}
#event table tr th {
	width: 46%;
	padding: 3px 0 3px 10px;
}
#event table .tel1 th img {
	width: 100px;
}
#event table .tel2 th img {
	width: 115px;
}
#event table .tel3 th img {
	width: 120px;
}
#event table tr td {
	font-size: 16px;
}
/* --------------------------------------------------
	3. footer
-------------------------------------------------- */
footer .footWrap {
	position: relative;
	min-height: 340px;
}
	footer .footWrap .bnr,
	footer .footWrap .footLink {
		float: none;
		width: 100%;
	}
	footer .footWrap .bnr {
		text-align: center;
	}
		footer .footWrap .bnr li {
			width: 85px;
		}
	footer .footWrap .footLink {
		bottom: 10px;
		margin: -1% 0 0 -1%;
	}
		footer .footWrap .footLink li {
			width: 48%;
			margin: 1% 0 0 1%;
			font-size: 12px;
			border: 1px solid #CC3366;
		}
			footer .footWrap .footLink li a {
				display: block;
				padding: 2px 0 0 10px;
				color: #CC3366;
			}
	footer .footWrap .info {
		position: static;
		width: 300px;
		margin: 0 auto 10px;
		text-align: center;
	}
		footer .footWrap .info dt + dd {
			font-size: 11px;
		}
		footer .footWrap .info br {
			display: block;
		}
/* --------------------------------------------------
	ページトップボタン
-------------------------------------------------- */
#page-top-btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#page-top-btn.show {
  opacity: 1;
  visibility: visible;
}

#page-top-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: #ff7bac;
  color: #fff;
  text-decoration: none;
  border-radius: 50%;
  font-size: 16px;
  font-weight: bold;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

#page-top-btn a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 960px) {
  #page-top-btn {
    right: 15px;
    bottom: 15px;
  }

  #page-top-btn a {
    width: 50px;
    height: 50px;
    font-size: 14px;
  }
}
#page-top-btn {
  opacity: 1 !important;
  visibility: visible !important;
}