@charset "UTF-8";

/*　共通設定--------------------------------　*/

html, body, header, section, article, nav, footer,
div, span, p, h1, h2, h3, h4, ul, ol, li, dl, dt, dd,
table, tr, th, td, tbody, thead, tfoot {
	margin: 0;
	padding: 0;}

img { border: 0; vertical-align:bottom }

body {
	width: 100%;
	background-color: #fff;
/*	font: 14px/1.231 'ヒラギノ角ゴ pro W3', "Hiragino KaKu Gothic Pro", Osaka, sans-serif; */
	font-size: 14px;
	line-height: 2em;
	-webkit-text-size-adjust: 100%;
	}
.sp-only{
	display: block;
}
.pc-only{
	display: none;
}

/*　ヘッダー・スライドバー--------------------------------　*/
#head {
	display: none;
}
#navi-box-sp{
	display:block;
	width: 100%;
	z-index: 100;
}

/* slimmenu.js内の .menu-collapseに上書き */
.menu-collapser {
	height:50px;
	text-align:left; /* ロゴの位置 */
	background-color:#fff;
	line-height: 50px;
	color: #fff;
	font-size: 130%;
    padding-left: 15px;
	position: relative;
}
ul.slimmenu{
	position: absolute;
    background: #fff;
	text-align: center;
}
ul.slimmenu li a {
    display: block;
    padding: 12px 0;
}

.collapse-button {
    height: 40px;
}
.collapse-button .icon-bar {
    height: 3px;
    width: 20px;
    margin: 4px 0;
}
/* menu内のロゴ画像設定 */
.menu-collapser img#spHeadLogo{
	margin: 6px 20px 0 auto;
    max-height: 36px;
    width: auto;
    vertical-align: baseline;
}

#navi-tel span img{
	vertical-align: sub;
	margin-right: 3px;
}






table td {
	line-height:1.8em }

table td hr {
	margin:0 0 1em 0;
    border: 0;
    height: 1px;
    background: url(../img/hr.gif) repeat-x ;
}

body.index .theme-default .nivoSlider {
    margin-bottom: 0 !important;
}


/*　ヘッダー--------------------------------　*/
body.index #head h1 a {
	display: block;
}


/*　ナビ表示--------------------------------　*/

/*　背景　*/
.sb-slidebar {
	border-left:1px solid #999;/* 左側にborder */
	background:#fff !important; /* slideber.cssの設定を上書き */
	}

#navi-box {
	width:100%;
	height:60px;/* naviの高さ */
	position:fixed;
	top: 0;
	left:0;
	z-index:2 ;
	}

#navi {
	text-decoration: none;
	width: 100%;
	height:60px;
	margin: 0 0 0px 0;
	background:none;
	z-index:2 ;
	}

#navi h1 {
	display:none;}

#navi ul {
	display: block;
	width: 100%;
	height:auto;
	background:none;
	border-bottom: 1px solid #999;
	margin: 0 auto 10px;
	} /* ナビ下のborder */

#navi li {
	float:none;
	list-style: none;
	text-align: left;
	width: 100%;
	max-width: inherit;
}

#navi li a {
	text-decoration: none;
	padding: 5px;
	height:auto;
	width:100%;
	display: block;
	font-weight: normal;
	border-top: solid 1px #999;/* li上のborder */
	color: #333 !important;/* 文字色 */
	background:#fff;/* リンク背景 */
}

#navi li a span{
	display:none;
	}


/* スマホ用ナビを表示 */
#navi li.spnavi {
	display:inline;
}

/* hover時の設定 */
#navi li a:hover ,
body.index li a#navi-index ,
body.teacher li a#navi-teacher ,
body.lesson li a#navi-lesson ,
/* スマホ用ナビ */
body.contact li a#navi-contact {
	background:none;
	color:#fff !important;
	background-color:#bbb;
}

li a#navi-index {
	margin-left:0px;
}

/*　スクロール時のナビ固定　jquery連動*/
.fixed {
	position: fixed;
	top: 0px;}

.pc-only{
	display: none;
}

.sp-only{
	display: block;
}







/*　パンくずリスト--------------------------------　*/
#bread {
	width:96%;
	}

/*　コンテンツ外枠--------------------------------　*/
#contents {
	margin-top: 50px;
}


/*　コンテンツ　メインカラム--------------------------------　*/

#contents-main{
	width:100%;
	padding: 30px 0 30px 0;
	margin:0px auto 0px auto;
}
#contents-main .inner {
    padding: 30px 0;
}
#contents .inner02 {
    padding: 30px 0 30px;
}

#contents h2 {
	margin-bottom: 1em;
}


/*　コンテンツ　サブカラム--------------------------------　*/

#contents-sub ul li {
    margin-bottom: 25px;
}

#contents-main h2 {
	margin: 0 auto 1em;
	font-size: 170%;
}

#contents h2.page-mds {
    padding: 10px;
    margin: 0 0 20px;
    font-size: 160%;
    position: relative;
	background: url(../img/page_mds.png) no-repeat top left 46%;
    background-size: 260px auto;
}
#contents h2.page-mds span{
	font-size: 10px;
}

#contents-main h3 {
	font-size:120% ;
	padding: 0 0;
	margin-bottom: 1em;
}


/* 行間設定 */
#contents-main p {
	line-height:1.9em;
}

#contents-main p img {
	max-width: 100%;
	height:auto;
	margin:0 0 1em 0;
	}

/* フッター--------------------------------　*/
.address img {
	max-width: 260px;
	width: 30%;
}
#footer p.pagetop {
    bottom: 70px;
}

#footer {
	margin-bottom: 62px;
}
/*footernavi*/
.footernavi{
	height: inherit;
}
.footernavi > div a{
	padding: 10px 5px;
	line-height: 1.5;
	font-size: 100%;
	white-space: nowrap;
}

#visual {
	margin-top: 50px;
}



/* ★トップページのみ--------------------------------　*/
body.index #contents {
	margin-top: 0px;
}


body.index #contents-main {
	width:100%;
	padding: 0;
	margin-right: 0;
}
/*ABOUT*/
#contents-main .about {
    padding: 0;
}
#contents-main .about .leftObject {
    width: 28%;
}
#contents-main .about .rightObject {
    top: 60%;
    right: -17%;
    width: 26%;
}
/*PLAN*/
#contents-main #tabArea {
	margin-top: 90px;
	padding: 0 0 20px;
}
#tabArea .tab {
    position: absolute;
    top: -70px;
}
#tabArea .tab li {
    transform: translateY(38px);
	padding: 5px;
	height: 70px;
}
#tabArea .tab li.active {
    transform: translateY(0);
}
#tabArea .tab li .flex01 {
    display: block;
	line-height: 1.2;
	text-align: center;
}
#tabArea .tab li .flex01 span{
    font-size: 80%;
}
#tabArea .tab li .flex01 .room{
    display: block;
	white-space: nowrap;
}
#tabArea .area .ct h3 {
    font-weight: 800;
    padding-top: 20px;
}

#tabArea .tab li.active .num {
    margin-bottom: 5px;
	font-size: 10px;
}
#tabArea .area .ct {
    padding: 10px 3% 0;
}
.area .flex01{
	display: block;
	text-align: center;
}
#tabArea .area .ct h3 {
    padding-top: 20px;
}

#contents-main .ctTtl {
    margin-bottom: 1em;
}
#contents-main .ctTtl img{
    width: 30%;
    max-width: 150px;
}
#contents-main .ctImg {
	margin: 0 auto 1em;
	width: 85%;
}
#contents-main .mds{
	display: inline-block;
	margin-bottom: 10px;
}

#contents-main .ctText {
    width: 100%;
}
#contents-main .checkPoint {
	width: 100%;
    padding: 16% 5% 7%;
    margin: -10px auto 1em;
    display: block;
	background: url(../img/top_plan_tab_cp_spbg.png) no-repeat top left;
    background-size: 100% 100%;
	text-align: left;
}

.area .flex02{
	display: block;
}

#contents-main .afterImg {
    width: 100%;
	margin-bottom: 2em;
}
#contents-main .afterImg .fmImg {
    position: absolute;
    right: 0;
	margin-bottom: 0;
    width: auto;
    height: 60px;
}
#contents-main .plan03 .fmImg {
    margin-bottom: -6px;
    height: 50px;
}
#contents-main .theme {
    font-size: 120%;
	margin-bottom: 5px;
	margin-top: 2em;
}
#contents-main .theme span {
    padding: 0 0 8px;
}

#contents-main .fmImg img {
    width: auto;
    height: 100%;
}


/*事例*/
body.index #contents-main .example ul {
	display: block;
	padding-bottom: 0;
}
body.index #contents-main .example li {
    width: 100%;
	margin-bottom: 1em;
	display: block;
	max-width: inherit;
}
body.index #contents-main .article_text {
    padding: 10.81% 8% 0;
}
body.index #contents-main .example li .img_box {
    max-height: 50vw;
}

#contents-main .showmore a {
    padding: 10px;
    width: 50%;
	font-size: 100%;
}
body.index #contents-main .example li .img_box:before {
    background: url(../img/top_zirei_rokuwaku_sp.png) no-repeat top center;
    background-size: 101% 100%;
}
body.index #contents-main .example .thumb {
    width: 46%;
    position: relative;
    z-index: 2;
    margin: 0 auto;
}
body.index #contents-main .article_text {
	width: 100%;
    padding: 12% 4% 3%;
    border: 1px solid #aaa;
    margin-top: -15%;
}
body.index #contents-main .article_text p{
	position: relative;
    z-index: 3;
}
body.index #contents-main .article_text:before,
body.index #contents-main .article_text:after,
body.index #contents-main .article_text_inner:before,
body.index #contents-main .article_text_inner:after{
	display: none;
}

/*できること・できなこと*/
#contents-main .dekiru {
	padding-bottom: 20px;
}

/* #contents-main .modal_trigger li {
    min-width: 2em;
} */
#contents-main  .modal_trigger li .pc-only{
	display: none;
}

#contents-main .dekiru-setsumei span {
	margin-left: 1em;
}
.modal_inner {
	width: 90%;
	padding: 25px;
}
.modal_close {
	top: 5px;
	font-size: 2.2rem;
}
#contents-main  .modal_trigger .maru span:before{
	width: 20px;
	height: 20px;
	vertical-align: text-top;
	margin-right: 1px;
}
#contents-main  .modal_trigger .san span:before{
	width: 20px;
	height: 20px;
	vertical-align: text-top;
	margin-right: 1px;
}
#contents-main  .modal_trigger .batsu span:before{
	width: 20px;
	height: 20px;
	vertical-align: text-top;
	margin-right: 1px;
}
#contents-main .modal_trigger .m03 {
    top: 10%;
}
#contents-main .modal_trigger .m05 {
    top: 45%;
}
#contents-main .modal_trigger .m07 {
    top: 63%;
}

#contents-main .modal_trigger .m09 {
    top: 4%;
}




/*流れ*/
#contents-main .nagare{
	padding-bottom: 30px;
}

#contents-main .nagare .stepText h3 {
    margin-bottom: 10px;
    font-size: 130%;
}

.allStep{
	overflow: hidden;
	padding-bottom: 10px;
}

#contents-main .nagare {
    width: 90%;
}
#contents-main .nagare .stepText {
    width: 250px;
    height: 265px;
    padding: 60px 4% 40px;
	position: relative;
}
#contents-main .nagare .step01 .stepText{
	background-size: 100% 100%;
}

#contents-main .nagare .step02 .stepText{
	background: url(../img/top_nagare_step02.png) no-repeat top left;
	background-size: 100% 100%;
	position: relative;
	top: inherit;
	right: inherit;
	margin-left: auto;
}

#contents-main .nagare .step03 .stepText{
	background: url(../img/top_nagare_step03.png) no-repeat top left;
	background-size: 100% 100%;
	position: relative;
	top: inherit;
	left: inherit;
}

#contents-main .nagare .step04 .stepText{
	background: url(../img/top_nagare_step04.png) no-repeat top left;
	background-size: 100% 100%;
	position: relative;
	top: inherit;
	right: inherit;
	margin-left: auto;
}

#contents-main .nagare .step05 .stepBg{
	width: 100%;
	height: auto;
	background: none;
	margin-top: 0;
}
#contents-main .nagare .step05 .stepText{
	background: url(../img/top_nagare_step05.png) no-repeat top left;
	background-size: 100% 100%;
}

#contents-main .nagare .step06 .stepText{
	background: url(../img/top_nagare_step06.png) no-repeat top left;
	background-size: 100% 100%;
	position: relative;
	top: inherit;
	right: inherit;
	margin-left: auto;
}
#contents-main .nagare .step01,
#contents-main .nagare .step02,
#contents-main .nagare .step03,
#contents-main .nagare .step04,
#contents-main .nagare .step05,
#contents-main .nagare .step06 {
    position: relative;
    height: 216px;
}
#contents-main .nagare .step01 .stepImg {
    position: absolute;
    bottom: 15px;
    top: inherit;
    left: 73%;
    width: 52%;
}
#contents-main .nagare .step02 .stepImg {
	position: absolute;
	top: inherit;
	bottom: 30px;
	left: -48%;
	width: 60%;
}
#contents-main .nagare .step03 .stepImg {
    position: absolute;
    top: 13%;
    left: 90%;
    width: 45%;
}
#contents-main .nagare .step04 .stepImg {
    position: absolute;
    top: inherit;
    bottom: 18%;
    left: -38%;
    width: 45%;
}
#contents-main .nagare .step05 .stepImg {
    position: absolute;
    top: inherit;
    left: 103%;
    bottom: 20%;
    width: 30%;
}
#contents-main .nagare .step05 .stepImg.sp-only {
	width: 70%;
    left: 40%;
    bottom: 10%;
}

#contents-main .nagare .step06 .stepImg {
    position: absolute;
    top: inherit;
    left: -25%;
    bottom: -10%;
    width: 32%;
}
#contents-main .nagare .stepText .comment p{
	padding: 5px;
	font-size: 90%;
}
/*footeraddress*/
#contents-main .ftAddress h2 {
    margin: 0 auto 1em;
    font-size: 120%;
}



/* ★施工事例--------------------------------　*/

body.reform3 #contents-main {
	float: none;
    width: 100%;
	margin: 0 0;
}
body.reform3 #contents-banner {
    width: 100%;
	float: none;
	margin: 30px 0;
}


body.reform3 #contents-main .flex02 {
    display: block;
	margin: 30px 0;
}
body.reform3 #contents-main #article .comment {
    padding: 5%;
    width: 100%;
	margin-bottom: 2em;
}
body.reform3 #contents-main #article .dataTable {
    width: 100%;
}
body.reform3 #contents-main .madori {
    margin: 0px 0 30px;
}
body.reform3 #contents-main .madori-before,
body.reform3 #contents-main .madori-after {
    width: 100%;
	margin-bottom: 2em;
	padding: 10%;
}
body.reform3 #contents-main .m-before,
body.reform3 #contents-main .m-after {
    font-size: 90%;
    width: 50px;
    height: 55px;
    top: -20px;
    left: 10px;
}
body.reform3 #contents-main .madori-before{
	margin-top: 40px;
}
body.reform3 #contents-main .madori-before:after {
    width: 30px;
    height: 10px;
    padding: 10px;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    -webkit-transform: translateX(-50%) rotate(90deg);
}

body.reform3 #contents-main .photoGallery {
    margin-bottom: 0px;
}
body.reform3 #contents-main #article .article-img {
    width: auto;
    height: 100%;
}
body.reform3 #contents-main #article #subImg {
	-webkit-box-pack: inherit;
	-ms-flex-pack: inherit;
	justify-content: inherit;
}

body.reform3 #contents-main #article #subImg li {
    width: 18%;
    height: 60px;
    margin: 0 2% 10px 0;
}
body.reform3 #contents-main #article #subImg li:nth-child(5n){
	margin-right: 0;
}
body.reform3 #contents-main .photoGallery {
    margin-bottom: 0px;
}
body.reform3 #contents-main #article h3{
	display: block;
}
body.reform3 #contents-main #article h3 .category {
    float: none;
    display: block;
    margin-top: 10px;
	margin-left: 0;
}
body.reform3 #contents-main #list .list-img {
    max-height: inherit;
}
body.reform3 #contents-main #list .list-img img {
    height: auto;
	max-height: inherit;
}
/* ★設備--------------------------------　*/

body.facility #contents-main {
    width: 100%;
    padding: 0px;
    margin: 0 0px 20px 0px;
	float: none;
}
body.facility #contents-banner {
    width: 100%;
    padding: 0px;
    margin: 0 0 30px;
	float: none;
}
body.facility section {
    padding: 5% 5%;
}

body.facility #contents-main h4.brands {
	padding: 5px;
}
body.facility #contents-banner .maker {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

body.facility #contents-banner .maker_brand {
    width: 46%;
    margin: 1px 2% 10px;
}
.faccility #contents-main .theme {
    margin-top: 0;
}



/* ★会社情報・求人--------------------------------　*/

#contents-main .recruit{
	display:block;
}
#contents-main .recruit .recruit-box{
	width: 100%;
}




/* ★公式ブログページ　個別設定-------------------------------- */





/* ブログ　一覧ページ　-----*/

/* 記事ブロック */
body.list #contents-main .entry {
	width:100%;
	float:none;
	margin:0px;
	padding:0;
	}

/* サムネイル画像 */
body.list #contents-main .entry p.thumb img {
	width:100% ;
}

/* 記事件名 */
body.list #contents-main h2 {
	font-size:14px;
	margin-bottom:0.5em;
	background:url(../img/top_info_li.jpg) no-repeat 0 6px ;
	}





/* ★お問い合わせ-------------------------------- */
body.contact #contents-main {
    padding-bottom: 0;
}
body.contact #contents .inner02,
body.company #contents .inner02{
    width: 96%;
}
/* お問い合わせ　テーブル設定 */
body #contents-main table#inquiry_form  th {
	width: auto;
    display: block;
    margin: 0px 10px 10px;
    padding: 2px 6px;
	}

/* nest table用 */
body #contents-main table#inquiry_form table{
	width:30%;
}

/* テキストボックスなどの長さ */

body #contents-main table#inquiry_form  tr.require{
	display: block;
}
body #contents-main table#inquiry_form td {
	display: block;
	padding: 0 10px 1em;
	font-size: 16px;
}
body #contents-main table#inquiry_form td input,
body #contents-main table#inquiry_form td textarea{
	font-size: 16px;
	padding: 5px;
}

body #contents-main table#inquiry_form  td input.name{
	width:100%;
	display: block;
}
body #contents-main table#inquiry_form  td input.mail{
	width:100%;
	display: block;
}
body #contents-main table#inquiry_form  td input.tel{
	width:100%;
	display: block;
}
body #contents-main table#inquiry_form  td text {
	width:100%;
	display: block;}



/* -----*/




/* ★スマホ-------------------------------- */

@media screen and (max-width:480px) {

#contents-main .nagare .stepText {
	width: 230px;
	height: 265px;
	padding: 50px 4% 40px;
	position: relative;
}
#contents-main .nagare .step01,
#contents-main .nagare .step02,
#contents-main .nagare .step03,
#contents-main .nagare .step04,
#contents-main .nagare .step05,
#contents-main .nagare .step06 {
    position: relative;
    height: auto;
	margin-bottom: 10%;
}
#contents-main .nagare .stepText h3 {
    margin-bottom: 10px;
    font-size: 120%;
}
#contents-main .nagare .stepText p {
    font-size: 95%;
}
#contents-main .nagare .step03{
	margin-top: 50px;
}
#contents-main .nagare .step02 .stepImg {
    bottom: -13%;
    left: -17%;
    width: 54%;
}
#contents-main .nagare .step03 .stepImg {
    bottom: 0;
    top: inherit;
    left: 89%;
    width: 45%;
}
#contents-main .nagare .step04 .stepImg {
    bottom: 0%;
    left: -34%;
}
#contents-main .nagare .step05 .stepImg {
    left: 95%;
}
#contents-main .nagare .allStep {
	padding-bottom: 10px;
}

}