@charset "utf-8";

/* 初期設定
---------------------------------------------------- */
* {
	font-size: 100%;
	}
body, div, dl, dt, dd, li, h1, h2, h3, h4, h5, h6, pre,
p, blockquote, th, td, form, fieldset {
	margin: 0; 
	padding: 0;
	}
body {
	background: #ff8;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	font-size: 100%;
	line-height: 1.5;
	color: #000;
	-webkit-text-size-adjust: 100%;
}
section, article, aside, nav, header, main, footer, address {
	display: block;
}
img {
	max-width: 100%;
	border: none;
	vertical-align: top;
}
table {
	border-collapse: collapse; 
	border-spacing: 0;
	border: none;
}
table th,
table td {
	border: none;
}
address, em {
	font-style: normal;
}
fieldset {
	border: none;
}

/* リンク設定
---------------------------------------------------------- */
a {
	text-decoration: none;
	outline: none;
}
a:visited {
}
#toTop {
	display: none;
	position: fixed;
	bottom: 0;
	right: 5px;
	width: 150px;
	height: 41px;
	background-image: url(images/up.png);
	background-repeat: no-repeat;
	opacity: 0.5;
	filter: alpha(opacity=50); /* For IE8 and earlier */
}
#toTop:hover {
	opacity: 1.0;
	filter: alpha(opacity=100); /* For IE8 and earlier */
}
* html #toTop {
	float: right;
}

/* リンクボタン
---------------------------------------------------------- */
#contact-link button,
#content #main .wp-pagenavi a.nextpostslink {
	display: inline-block;
	width: 9em;
	height: 40px;
	padding: 0;
	text-align: center;
	text-decoration: none;
	line-height: 36px;
	cursor: pointer;
	outline: none;
	background-color: #333;
	border: 2px solid #333;
	color: #fff;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	behavior: url(border-radius.htc);
}
#contact-link button:hover,
#content #main .wp-pagenavi a.nextpostslink:hover {
	background-color: #fff;
	border-color: #333;
	color: #333;
}
#contact-link button::before,
#contact-link button::after,
#content #main .wp-pagenavi a.nextpostslink::before,
#content #main .wp-pagenavi a.nextpostslink::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#contact-link button,
#contact-link button::before,
#contact-link button::after,
#content #main .wp-pagenavi a.nextpostslink,
#content #main .wp-pagenavi a.nextpostslink::before,
#content #main .wp-pagenavi a.nextpostslink::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* ヘッダー
---------------------------------------------------- */
#header {
	padding: 0.75em 10px 0;
}
#header #hd-wrapper {
	position: relative;
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	font-size: 125%;
	line-height: 1.3;
}
#header #site-title {
	float: left;
	width: 47.65%;
}
#header #freedial {
	float: right;
	margin-bottom: 0.5em;
	padding-top: 1.2%;
	width: 47.65%;
	text-align: right;
}
#header #freedial .eigyou {
	margin-top: 0.5em;
}
#header #address {
	float: left;
	clear: both;
	width: 47.65%;
}
#header #address .address span {
	display: inline-block;
	margin-right: 1em;
	white-space:  nowrap;;
}
#header ul.links {
	float: right;
	max-width: 47.65%;
	margin: 0; 
	padding: 0;
	text-align: right;
	list-style-type: none;
}
#header ul.links li {
	display: table-cell;
	padding-left: 0.5em;
}
#header ul.links li img {
	width: 100%;
	height: auto;
}
#header p#chiiki-michaku {
	padding-top: 0.5em;
	text-align: center;
}
#header #attention {
	clear: both;
	margin: 1em -10px 30px;
	padding: 16px 0;
	background: #f00;
	line-height: 1.3;
}
#header #attention p {
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 10px;
	color: #fff;
	font-size: 300%;
	text-align: center;
}
#header #attention p span {
	display: inline-block;
}
#header #attention p.taisyo-chiiki {
	font-size: 275%;
}
#header #attention p.taisyo-chiiki strong {
	display: block;
	color: #ff0;
	font-size: 145%;
}

/* ［Drawer］
---------------------------------------------------- */
#header .drawer-nav {
	background-color: #ffc973;
}
#header .drawer-hamburger {
	display: none;
	position: absolute;
	top: -10px;
	right: 0;
}
#header .drawer-hamburger .drawer-menu-text {
	position: relative;
	top: 10px;
	font-size: 11px;
	text-align: center;
}
#header ul.drawer-menu {
	margin: 18px 12px;
	padding: 0;
	padding-bottom: 2em;
	list-style-type: none;
}
#header ul.drawer-menu li {
	margin-bottom: 12px;
}
#header ul.drawer-menu li.logo {
	padding-bottom: 6px;
	text-align: center;
}
#header ul.drawer-menu li.cat-item a {
	font-size: 125%;
}

/* コンテンツ領域
---------------------------------------------------- */
#content {
	clear: both;
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 10px;
}
/* clearfix */
#content:before,
#content:after {
    content: " ";
    display: table;
}
 
#content:after {
    clear: both;
}
/* For IE 6/7 only */
#content {
    *zoom: 1;
}

/* サイドバー
---------------------------------------------------- */
#side-bar {
	float: left;
	max-width: 310px;
	width: 24.5%;
	padding-bottom: 1.5em;
}
#side-bar ul {
	margin: 0; 
	padding: 0;
	font-size: 0;
	list-style-type: none;
}
#side-bar ul li {
	margin-bottom: 12px;
	font-size: 14px
}

/* リフォーム カテゴリー ナビ
---------------------------------------------------- */
.reform-category {
	margin-bottom: 32px;
}
.reform-category ul li.cat-item a {
	display: block;
	padding: 6px 12px;
	border: 1px solid #7f7f7f;
	border-bottom: 2px solid #000;
	color: #930;
	font-size: 175%;
	line-height: 1.2;
	background-color: #fff;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.reform-category ul li.cat-item a:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #930;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.reform-category ul li.cat-item a:hover,
.reform-category ul li.cat-item a:focus,
.reform-category ul li.cat-item a:active {
	color: #fff;
}
.reform-category ul li.cat-item a:hover:before,
.reform-category ul li.cat-item a:focus:before,
.reform-category ul li.cat-item a:active:before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

/* フッター
---------------------------------------------------- */
footer {
	clear: both;
	width: 100%;
	margin-top: 1em;
	border-top: 1px solid #000;
	color: #444;
	text-align: center;
}
footer a {
	color: #444;
}
footer #copyright {
	max-width: 1260px;
	margin: 0 auto;
	padding: 1em;
	font-size: 87.5%;
}

/* メインコンテンツ
---------------------------------------------------- */
#content #main {
	float: right;
	max-width: 940px;
	width: 73.5%;
}

/* トップページ
---------------------------------------------------- */
#top-content p {
	margin-bottom: 1.5em;
}

/* スライダー
---------------------------------------------------- */
#slider-test #content {
	max-width: none;
	margin-top: 10px;
	padding: 0 10px;
}
#slider-test #content #main {
	float: none;
}
#news h2 {
	line-height: 1;
}
#news ul {
	margin: 0; 
	padding: 0;
}

/* スライダー本体
---------------------------------------------------- */
#content #main #news {
	margin-bottom: 38px;
}
#slide-container {
	border: 4px solid #f00;
	border-top: none;
}
#slide-container ul {
	list-style-type: none;
}
#slide-container li img {
	width: 100%;
	height: auto;
}
#slide-container li.pattern1 {
	position: relative;
	font-weight: bold;
	line-height: 1.25;
	text-shadow: 1px 1px 2px #666;
}
#slide-container li.pattern1 p.text1 {
	position: absolute;
	top: 16px;
	left: 20px;
	color: #ff0;
	font-size: 225%;
}
#slide-container li.pattern1 p.text2 {
	position: absolute;
	bottom: 14px;
	left: 20px;
	color: #fff;
	font-size: 175%;
	font-weight: bold;
	line-height: 1.25;
	text-shadow: 1px 1px 2px #666;
}
#slide-container li.pattern2 {
	position: relative;
	background: #fff;
	font-weight: bold;
	line-height: 1.25;
}
#slide-container li.pattern2 p.image {
	position: absolute;
	top: 8.25%;
	left: 3.875%;
	width: 39.69%;
}
#slide-container li.pattern2 p.text1 {
	position: absolute;
	top: 8%;
	left: 47%;
	color: #00f;
	font-size: 200%;
}
#slide-container li.pattern2 p.text2 {
	position: absolute;
	bottom: 7.5%;
	left: 47%;
	color: #000;
	font-size: 150%;
}
#slide-container .slick-dots {
	bottom: -35px;
}
#slide-container .slick-dots li button:hover:before {
    color: #f00;
}
#slide-container .slick-dots li button:before {
    font-size: 16px;
    line-height: 16px;
    opacity: 1;
    color: #888;
}
#slide-container .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #f00;
}

/* infinite scroll 関連
---------------------------------------------------- */
#content #main .wp-pagenavi {
	margin-top: 2em;
	margin-bottom: 1.5em;
	text-align: center;
}
#infscr-loading {
	width: 100% !important;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	text-align: center;
}
#infscr-loading img {
	margin-bottom: 8px;
	text-align: center;
}

/* リフォーム　メニュー
---------------------------------------------------- */
#content .reform-menu h1 {
	margin-bottom: 24px;
	padding: 4px;
	background-color: #630;
	color: #fff;
	font-size: 225%;
	text-align: center;
}
#content .reform-menu .entry {
	margin-bottom: 1.5em;
	padding: 0.75em 1.5em;
	background-color: #fff;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
#content .reform-menu .entry-header h2,
#content .reform-menu .entry-content {
	padding: 0.375em;
}
#content .reform-menu h2 {
	border-bottom: 2px solid #000;
	font-size: 200%;
	line-height: 1.2;
}
#content .reform-menu .entry-content h2 {
	font-size: 160%;
	padding: 0 0 0.375em;
}
#content .reform-menu .entry-content {
	padding: 0.75em;
	font-size: 125%;
}
#content .reform-menu .entry-content h2 {
	margin-bottom: 1em;
}
#content .reform-menu .entry-content p {
	margin-bottom: 1.5em;
	line-height: 1.5;
}
#content .reform-menu .entry-content .price {
	font-size: 200%;
	font-weight: bold;
	color: #f00;
}

/* 会社案内
---------------------------------------------------------- */
#content .company #outline {
	background: #fff;
}
#content .company #outline h1 {
	padding-bottom: 1.5em;
	background: #ff8;
	text-align: center;
}
#content .company #outline h1 img {
	max-width: 820px;
	width: 88%;
}
#content .company #outline #outline-wrapper,
#content .company #access #access-wrapper {
	padding: 0 20px;
	font-size: 18px;
}
#content .company #access {
	margin-bottom: 2em;
	background: #fff;
}
#content .company #access #access-wrapper {
	margin-bottom: 1.25em;
	padding-top: 2em;
}
#content .company #access h2 {
	font-size: 40px;
}
#content .company #access #gmap {
	width: 100%;
	height: 800px;
}

/* 会社案内・お問い合わせ　table 表示設定
---------------------------------------------------------- */
.company #outline table,
.contact table.customer-form {
	width: 100%;
	border-bottom: 1px solid #7f7f7f;
	border-collapse: separate;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	behavior: url(boxsizing.htc);
}
.company #outline table th,
.company #outline table td,
.contact table.customer-form th,
.contact table.customer-form td {
	padding: 18px 20px 8px;
	border-bottom: 10px solid #fff;
	border-top: 1px solid #7f7f7f;
}
.company #outline table tr:first-child th,
.company #outline table tr:first-child td,
.contact table.customer-form tr:first-child th,
.contact table.customer-form tr:first-child td {
	border-top: none;
}
.company #outline table th,
.contact table.customer-form th {
	background: #fff url(images/bg_outline_hd.png) left 10px repeat-x;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
}
.company #outline table td span,
.contact table.customer-form td span {
	display: inline-block;
	margin-right: 1em;
}

/* お問い合わせ
---------------------------------------------------------- */
#content .contact {
	padding-bottom: 2em;
	background: #fff;
}
#content .contact .explanation ul {
	margin: 2em 20px 1.5em;
	padding: 0;
	list-style-type: none;
}
#content .contact span.must {
	color: #f00;
	font-weight: bold;
}
#content .contact #renrakusaki {
	margin: 0 20px;
}
#content .contact table.customer-form span.must {
	margin-left: 0.25em;
}
#content .contact table.customer-form th {
	width: 10.25em;
}
#content .contact table.customer-form td input {
	width: 100%;
}
#content .contact table.customer-form td input,
#content .contact #toiawase-naiyou textarea {
	padding: 5px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	behavior: url(boxsizing.htc);
}
p.textfieldRequiredMsg,
p.textfieldInvalidFormatMsg,
p.textfieldMinCharsMsg,
p.confirmInvalidMsg,
p.confirmRequiredMsg,
p.radioRequiredMsg,
p.selectRequiredMsg,
p.textareaRequiredMsg,
p.checkboxRequiredMsg {
	padding: 5px 0 0;
}
#content .contact #toiawase-naiyou {
	margin: 1.5em 20px;
}
#content .contact #toiawase-naiyou dl dt {
	font-size: 125%;
}
#content .contact #toiawase-naiyou textarea {
	width: 100%;
}
#content .contact .error-message {
	margin: 0 20px;
	color: #f00;
}
#content .contact-conf #confirm-header,
#content .contact-conf #input-item,
#content .contact-conf #contact-link {
	padding: 0 20px;
}
#content .contact-conf #confirm-header,
#content .contact-conf p#confirm-msg,
#contact-link {
	margin-top: 2em;
}
#content .contact-conf #input-item {
	margin-top: 25px;
}
#content .contact-conf h2 {
	margin-bottom: 1px;
	margin-left: 6px;
}
#content .contact-conf table.confirm {
	width: 100%;
}
#content .contact-conf table.confirm th,
#content .contact-conf table.confirm td {
	padding: 10px;
	border: 1px solid #7f7f7f;
	font-size: 14px;
	line-height: 1.4;
}
#content .contact-conf table.confirm th {
	width: 10em;
	background-color: #f4dda5;
	font-weight: normal;
	text-align: left;
}
#contact-link {
	position: relative;
	text-align: center;
}
#contact-link form,
#contact-link form fieldset {
	display: inline;
	margin: 0.25em 0.125em;
}
#content .contact-send #thanks-message {
	padding: 2em 20px 0;
}
#content .contact-send #thanks-message p {
	margin-top: 1.5em;
}

/* 404
---------------------------------------------------------- */
#content .error404 {
	padding: 30px 45px;
	background: #fff;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	behavior: url(boxsizing.htc);
}
#content .error404 h1,
#content .error404 p {
	line-height: 1.7;
}
#content .error404 h1 {
	font-size: 125%;
}
#content .error404 p {
	margin-top: 1.5em;
}

/* 
---------------------------------------------------- */
@media (max-width: 1299px) {
#header #attention {
	font-size: 72%;
}
#slide-container li.pattern1 {
	font-size: 85%;
}
#slide-container li.pattern2 {
	font-size: 80%;
}
#content .reform-menu {
	font-size: 85%;
}
#content .reform-menu .entry {
	padding: 12px 16px;
}
}

@media (max-width: 959px) {
#header .drawer-hamburger {
	display: block;
}
#header #hd-wrapper {
	font-size: 95%;
}
#header #freedial {
	width: 43%;
	margin-right: 45px;
}
#header #attention {
	font-size: 60%;
}
#content #main,
#side-bar {
	float: none;
	width: auto;
}
#side-bar {
	clear: both;
	max-width: none;
	position: static !important;
	margin-top: 50px;
}
#side-bar .reform-category ul li.cat-item,
.reform-image ul li {
	display: inline-block;
	width: 32.4%;
	margin-right: 1.4%;
	margin-bottom: 1.4%;
	vertical-align: top;
}
* html #side-bar .reform-category ul li.cat-item,
* html .reform-image ul li {
	display: inline;
} /* IE6 */
*:first-child+html #side-bar .reform-category ul li.cat-item,
*:first-child+html .reform-image ul li {
	display: inline;
} /* IE7 */

#side-bar .reform-category ul li.cat-item:nth-child(3n),
.reform-image ul li:nth-child(3n) {
	margin-right: 0;
}
#side-bar .reform-category ul li.cat-item a {
	font-size: 150%;
}
#slide-container li.pattern1 {
	font-size: 100%;
}
#slide-container li.pattern2 {
	font-size: 90%;
}
#content .company #access #gmap {
	height: 600px;
}
}

@media (max-width: 799px) {
#header #site-title {
	float: none;
	max-width: 609px;
	width: 100%;
	margin: 0 auto;
}
#header #hd-wrapper {
	font-size: 100%;
}
#header #freedial {
	float: none;
	max-width: 450px;
	width: 95%;
	margin: 0.75em auto;
}
#header ul.links {
	padding-top: 0.5em;
}
#header #attention {
	font-size: 50%;
}
#header #attention p.taisyo-chiiki strong {
	font-size: 150%;
}
#header #attention p.taisyo-chiiki {
	margin-top: 5px;
}
#header #attention p.taisyo-chiiki strong {
	margin-bottom: 5px;
}
#side-bar .reform-category ul li.cat-item,
.reform-image ul li {
	width: 49.3%;
}
#side-bar .reform-category ul li.cat-item:nth-child(3n),
.reform-image ul li:nth-child(3n) {
	margin-right: 1.4%;
}
#side-bar .reform-category ul li.cat-item:nth-child(2n),
.reform-image ul li:nth-child(2n) {
	margin-right: 0%;
}
#slide-container li.pattern1 {
	font-size: 80%;
}
#slide-container li.pattern2 {
	font-size: 72%;
}
#content .reform-menu {
	font-size: 75%;
}
}

@media (max-width: 657px) {
#header #address,
#header ul.links {
	float: none;
	width: 100%;
	margin: 0 auto;
}
#header #address {
	max-width: 450px;
	width: 95%;
}
#header ul.links {
	max-width: 350px;
	width: 100%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
#header ul.links li {
	margin: 0 1em;
}
#header ul.links li:first-child {
	padding-left: 0;
}
#header #attention p.taisyo-chiiki strong {
	font-size: 125%;
}
#slide-container li.pattern1 {
	font-size: 60%;
}
#slide-container li.pattern1 p.text1 {
	top: 10px;
	left: 10px;
}
#slide-container li.pattern1 p.text2 {
	bottom: 8px;
	left: 10px;
}
#slide-container li.pattern2 {
	font-size: 55%;
	line-height: 1.2;
}
#content .company #outline #outline-wrapper,
#content .company #access #access-wrapper {
	font-size: 16px;
}
#content .company #access h2 {
	font-size: 32px;
}
#content .company #access #gmap {
	height: 500px;
}
#content .contact .explanation ul {
	margin-right: 10px;
	margin-left: 10px;
}
#content .contact #renrakusaki,
#content .contact #toiawase-naiyou {
	margin-right: 0;
	margin-left: 0;
}
#content .contact-conf #confirm-header,
#content .contact-conf #contact-link {
	padding: 0 10px;
}
#content .contact-conf #input-item {
	padding: 0;
}
.contact table.customer-form,
.contact-conf table.confirm {
	width: 100%;
	border-bottom: 1px solid #7f7f7f;
	border-collapse: collapse;
}
.contact table.customer-form th,
.contact table.customer-form td,
.contact-conf table.confirm th,
.contact-conf table.confirm td {
	display: block;
	width: auto;
	padding: 0.5em 0.75em;
	border: 1px solid #7f7f7f !important;
}
#content .contact table.customer-form th,
#content .contact-conf table.confirm th {
	width: auto;
	background-mage: none;
	background-color: #f4dda5;
}
}

@media (max-width: 479px) {
#header {
	padding-top: 0.5em;
}
#header #site-title {
	max-width: none;
	margin: 0;
	padding-right: 40px;
	text-align: left;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	behavior: url(boxsizing.htc);
}
#header #attention {
	font-size: 35%;
}
#header #attention p.taisyo-chiiki strong {
	font-size: 185%;
}
#side-bar .reform-category ul li.cat-item,
.reform-image ul li {
	width: 100%;
	margin-right: 0 !important;
	margin-bottom: 10px;
}
#slide-container li.pattern1 p.text1 {
	top: 6px;
	left: 6px;
	font-size: 13px;
}
#slide-container li.pattern1 p.text2 {
	bottom: 4px;
	left: 6px;
	font-size: 11px;
}
#slide-container li.pattern2 {
	line-height: 1.2;
}
#slide-container li.pattern2 p.text1 {
	font-size: 14px;
}
#slide-container li.pattern2 p.text2 {
	font-size: 10px;
}
#content .reform-menu {
	font-size: 70%;
}
#content .reform-menu .entry-header,
#content .reform-menu .entry-content {
	padding: 0.5em 0;
}
#content .company #outline #outline-wrapper {
	padding: 0;
}
.company #outline table {
	width: 100%;
	border-bottom: 1px solid #7f7f7f;
	border-collapse: collapse;
}
.company #outline table th,
.company #outline table td {
	display: block;
	width: auto;
	padding: 0.5em 0.75em;
	border: 1px solid #7f7f7f !important;
}
.company #outline table th {
	background: none;
	background-color: #f4dda5;
}
#content .company #access #gmap {
	height: 400px;
}
}

@media (max-width: 379px) {
#slide-container li.pattern2 p.text1 {
	font-size: 11px;
}
#slide-container li.pattern2 p.text2 {
	font-size: 8px;
}
}

/* 
---------------------------------------------------- */
