/*-----------------------------------------------------------------*/
/*リセット*/
/*-----------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus {/* remember to define focus styles! */ outline: 0; }
body {
	background: #fff;
	line-height: 1;
	position: relative;
}
ol, ul { list-style: none; }
table {/* tables still need 'cellspacing="0"' in the markup */
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
strong { font-weight: bold;}
a img { border: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
hr { display: none; }
main {	display: block; }

/*-----------------------------------------------------------------*/
/*初期設定*/
/*-----------------------------------------------------------------*/
a {
	color: inherit;
}
a:hover {
}
a[href^=tel]{
	color: inherit;
	text-decoration: none;
}
img {
	border-style: none;
	behavior: url(iepngfix.htc);
	-ms-interpolation-mode: bicubic;
	image-rendering: optimizeQuality;
}
.imgonly {
	font-size: 0px;
	line-height: 0px;
}
address { font-style: normal; }
nav { display: block; }
small { font-size: 80%; }
.cf:after {
	display: block;
	clear: both;
	content: "";
}
.css-att { display: none; }

.row, .rows {
	display: table;
	table-layout: fixed;
}
.row100 {
	width: 100%;
}
.rows > * {
	display: table-row;
}
.row > *, .rows > * > * {
	display: table-cell;
	vertical-align: top;
/*	box-shadow: inset 0 0 5px 5px #ccc;*/
}
.row > * + *, .rows > * > * + * {
}

/*-----------------------------------------------------------------*/
/*サイト基本規則*/
/*-----------------------------------------------------------------*/
html, body {
	min-height: 100vh;
	height: 100%;
}
body {
	background: url(/img/00001_bg.jpg) center top no-repeat fixed;
	font-family: "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 14px;
	display: flex;
	flex-direction: column;
}
body>div {
		flex: 1 0 auto;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: bold;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
	font-weight: normal;
}
img:not([width]), main img {
	width: auto;
	height: auto;
	max-width: 100%;
}
a {
	text-decoration: none;
	display: inline-block;
}
a:hover {
	text-decoration: underline;
	transition: all 0.3s ease-out;
}
a:hover img {

}

/*-----------------------------------------------------------------*/
/*サイト個別規則*/
/*-----------------------------------------------------------------*/

h1 {
	padding: 70px 13px 40px;
}
header nav {
	background: rgba(12,111,185,0.17);
	padding: 13px;	
}
header nav ul+ul {
	margin-top: 13px;
}
header nav ul li {
	background: #fff;
	margin: 1px 0;
	font-size: 17px;
	font-weight: bold;
}
header nav ul li a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 5px solid transparent;
	padding: 5px;
	background: url(/img/01201_hdr_menu_arrow_off.png) right bottom no-repeat;
	background-size: 12px;
}
header nav ul li:not(.current) a:hover {
	background: url(/img/01201_hdr_menu_arrow_off.png) right bottom no-repeat rgba(243,114,2,0.2);
	background-size: 12px;
	text-decoration: none;
}
header nav ul li.current a {
	background: url(/img/01201_hdr_menu_arrow_on.png) right bottom no-repeat rgba(12,111,185,1);
	background-size: 12px;
	color: #fff;
}
header nav ul li.current a:hover {
	text-decoration: none;
}
header nav ul li a small {
	font-size: 13px;
	font-weight: normal;
}
header nav ul li.sub a {
	font-size: 14px;
	font-weight: normal;
	padding: 6px 5px 6px 15px;
}
header nav ul.links li a {
	padding: 0;
	text-align: center;
}
header nav ul li a img {
	max-height: 28px;
}



.repair {
	margin-top: 20px;	

}

.repair div {
	background: rgba(243,114,2,0.15);
	padding: 25px 20px;
	line-height: 1.3;
}
.repair h4 {
	font-size: 170%;
	text-decoration: underline;
	font-weight: normal;
	margin-bottom: 0.3em;
}
.repair h4 strong {
	font-weight: bold;
}
.repair div>p+p {
	margin-top: 1em;	
}

footer {
	margin-top: 110px;
	background: rgba(12,111,185,1.00);
	padding: 30px 0;	
	color: #fff;
	text-align: center;
	font-size: 80%;
}
.license {
	margin-top: 50px;	
}
.license h3 {
	font-size: 170%;
	margin-bottom: 0.3em;
	text-align: center;
	letter-spacing: 1ex;
}
.license div {
	background: rgba(0,0,0,0.05);
	padding: 10px 20px;
	line-height: 1.3;
	width: 100%;
	box-sizing: border-box;
}




.sec main {
	padding: 95px 0 40px;
}

.sec h2 {
	background: rgba(12,111,185,0.17);
	margin-bottom: 50px;
}
.sec main h3 {
	font-size: 18px;
}
.sec main h3:before {
	content: '\25A0';
	color: rgba(12,111,185,1.00);
}




.cominfo main table  {
	width: 100%;
	margin: 15px 0 30px;
}
.cominfo main table tr>*  {
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	line-height: 1.4;
	padding: 12px 0;
}
.cominfo main table tr>*:nth-child(1)  {
	width: 33%;
}
.cominfo main .pc-row>*:nth-child(2) p+p {
	margin-top: 20px;
}




.products main section+section {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #aaa;
}
.products main h3 {
	font-size: 22px;
	margin-bottom: 20px;
}
.products main section p {
	text-align: center;	
}
.products main section p+p {
	margin-top: 15px;	
}
.products main section p img {
	box-shadow: 0 0 12px 1px #aaa;	
}
.products main section p img.tateimg {
	width: 70%;
}







.contact {
}
.contact h2+p {
	text-align: center;
	line-height: 1.6;
}
.contact form table {
	width: 100%;
	margin: 30px auto 0;
}
.contact tr>* {
	padding: 10px 15px;
	vertical-align: top;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.contact tr:last-child>* {
	border-bottom: none;
}
.contact th {
	padding-top: 17px;	
}
.contact td {
}
.contact table input, .contact table textarea {
	font-size: 18px;
	padding: 3px;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.contact form span {
	color: red;
}
.contact .att {
	text-align: right;
	font-size: 85%;
}
.submitbtn {
	text-align: center;
}
.submitbtn>* {
	display: inline-block;
	font-size: 20px;
	min-width: 300px;
	padding: 10px 40px;
	background: rgba(12,111,185,0.17);
	border-radius: 4px;
}
.submitbtn>*:hover {
	background: rgba(12,111,185,0.4);
	cursor: pointer;
	text-decoration: underline;
}



footer .totop {
	position: fixed;
	bottom: 0px;
	font-size: 80%;
}
footer .totop a {
	display: block;
	background: rgba(12,111,185,0.7);
}
footer .totop a:hover {
	background: rgba(12,111,185,1);
}


/*-----------------------------------------------------------------*/
/*モバイル拡張規則*/
/*-----------------------------------------------------------------*/
@media
(max-device-width: 500px) and (orientation : portrait),
(min-device-width: 501px) and (max-device-width: 900px) and (max-width: 400px),
(min-device-width: 901px) and (max-width: 500px)
{
h1 {
	padding: 180px 80px 30px;
	background: url(/img/12111_idx_kv_photo.jpg) left top no-repeat;
	background-size: 100%;
}
.sec header nav li+li, .sec header nav ul+ul {
	display: none;
}
.sec header nav li:nth-child(1) a:after {
	content: '\30DA\30FC\30B8\306B\623B\308B'	
}

main {
	padding: 10px;
}
.idx main h2 {
	margin: 30px 0;
}
.idxmain-1 nav li {
	padding: 0 50px;
}
.repair h3 {
	padding: 0 20px 0 0;
	margin-bottom: -22px;
}
.repair {
	font-size: 80%;
}
.repair h4 img {
	float: right;
	width: 100px;	
}
.sec main {
	margin-top: -50px;
}
.sec h2 img {
	background: #fff;
	padding: 3px 30px 3px 10px;
	height: 26px;
}
.sec main section {
	margin: 0 20px;
}
.contact {
	zoom: 0.7;
}
.contact textarea {
	width: 300px !important;	
}


footer .totop {
	left: 0px;
	width: 100%;	
}
footer .totop a {
	width: 100%;
	box-sizing: border-box;
	text-align: right;
}

}

/*-----------------------------------------------------------------*/
/*PC拡張規則*/
/*-----------------------------------------------------------------*/
@media
(max-device-width: 500px) and (orientation : landscape),
(min-device-width: 501px) and (max-device-width: 900px) and (min-width: 401px),
(min-device-width: 901px) and (min-width: 501px) {
* {
	max-width: 100%;	
}
.pc-row, .pc-rows {
	display: table;
	table-layout:fixed;
}
.pc-row100 {
	width: 100%;
	table-layout: fixed;
}
.pc-rows > * {
	display: table-row;
}
.pc-row > *, .pc-rows > * > * {
	display: table-cell;
	vertical-align: top;
/*	box-shadow: inset 0 0 5px 5px #ccc; */
}
.pc-row > * + *, .pc-rows > * > * + * {
}
body {
	background-size: 100%;
	min-width: 1060px;

}
body>.inr, body>*>.inr {
	width: 1000px;
	margin: 0 auto;
	padding: 0 30px;
}
header {
	width: 270px;
	padding-right: 50px;
}
header .menu {
	position: sticky;
	top: 20px;
}
h1 {
	padding: 70px 13px 40px;
}

.idx main h2 {
	background: url(/img/12111_idx_kv_photo.jpg) left top no-repeat;
	background-size: 100%;
	padding: 320px 20px 20px 20px;	
}
.idx main nav ul {
	text-align: center;
}
.idxmain-1 nav li {
	display: inline-block;
	width: 330px;
	
}
.idxmain-1 nav li:nth-child(2n) {
	margin-left: 20px;
}
.repair h3 {
	padding: 0 110px 0 0;
	margin-bottom: -32px;
}
.repair h4 img {
	float: right;
	width: 150px;	
}

.sec h2 img {
	background: #fff;
	padding: 3px 30px 3px 0;
	height: 34px;
}





.cominfo main .pc-row>*:nth-child(1) {
	padding-right: 30px;
}
.cominfo main .pc-row>*:nth-child(2) {
	width: 319px;
}

footer .totop {
	right: 50%;
	margin-right: -470px;	
}
footer .totop a {
	padding: 10px 30px;
	border-radius: 4px 4px 0 0;
	border: 1px solid #fff;
	border-bottom: none;
}
}
@media
(min-device-width: 501px) and (max-device-width: 900px) and (min-width: 401px) and (min-height: 901px),
(min-device-width: 901px) and (min-width: 501px) and (min-height: 901px) {
	header {
		position: fixed;	
	}
	body>.pc-row,
	body>.pc-row>* {
		display: block;
	}
	main {
		margin-left: 320px;	
	}
}

