@media screen and (max-width: 600px){
@charset "utf-8";

/* for smartphone */
html {
    position: relative;
    overflow-x: hidden;
}
/*////////////////////////////*/

body {
	font: 100%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	background-color: #fff;
	margin: 0;
	padding: 0;
	color: #000;
	
	min-width:360px;
	
	font-size:14px;
	
/* for smartphone */
    position: relative;
    left: 0;
    overflow-x: hidden;
/*////////////////////////////*/
}

/* for smartphone */
img{
max-width: 100%;
height: auto;
width /***/:auto;　
}
/*////////////////////////////*/


/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
}
a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}
/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color: #42413C;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #6E6C64;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}

#slideshow {
   position: relative;
   width:  360px; /* 画像の横幅に合わせて記述 */
   height: 115px; /* 画像の高さに合わせて記述 */
   margin-left:0px;
}
#slideshow img {
   position: absolute;
   top: 0;
   left:0;
   z-index: 8;
   opacity: 0.0;
}
#slideshow img.active {
   z-index: 10;
   opacity: 1.0;
}
#slideshow img.last-active {
   z-index: 9;
}

/* ドロワーメニュー */
.ul_open_h{
	    background: gray;
	    color: #fff;
	    margin: 0;
	    padding: 0;
	    list-style: none;
	    top: 0;

	    height: 100%;
	    -webkit-transition: .35s ease-in-out;
	    -moz-transition: .35s ease-in-out;
	    transition: .35s ease-in-out;
	    overflow-y: scroll; 
	    position: fixed;
		
		z-index:50;
		padding-top:50px;

		background-color:#8b6c4d;
		
		
}
.ul_open_h li{
	    padding: 7px;
	    width: 220px;
		border-bottom:1px #fff solid;
		
		font-size:0.85em;
}
.ul_open_h li.bottom{	margin-bottom:100px; }

.ul_open_h li a:link {
	color: #fff;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
.ul_open_h li a:visited {
	color: #fff;
	text-decoration: underline;
}

.open-sub{ margin:0 0 0 10px; list-style-position:inside; list-style-type:disc; }
.open-sub li{ font-size:1.0em;
	border-bottom:none; 
	padding:5px; 
}

.dmenu{ padding:0 0 0 10px; }

.open-1{
	    right : -100%;
}
.open-1.active{
    right : 0px;
}

.move-1.on.btn{
    position: fixed;
    right: 25px;
    top: 10px;
}

.btn{
    width: 50px;
    height: 50px;
    position: absolute;
    right :0;
    top: 5px;
    background: #fff;

		z-index:90;
}
.btn:before,
.btn:after,
.btn span{
    display: block;
    width: 80%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.btn span{
    height: 3px;
    background-color: #000;
    top: calc(50% - 1.5px);
}

.btn:before{
    content: "";
    top: calc(25% - 3px);
    border-top: 3px solid #000;
}
.btn:after{
    content: "";
    bottom: calc(25% - 3px);
    border-bottom: 3px solid #000;
}
.btn.on span{
    display: none;
}

.btn.on:before{
    top: calc(50% - 1.5px);
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}
.btn.on:after{
    bottom: calc(50% - 1.5px);
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}

.btnlink{
    width: 90%;
    display: block;
    margin: auto;
    border: 1px solid #0060ff;
    border-radius: 5px;
    background: #4285F4;
    height: 35px;
    line-height: 35px;
    text-align: center;
    margin-bottom: 35px;
    color: #fff;
}
.linkbox a{
    text-decoration: none;
}

/* ~~ この固定幅コンテナが他の div を囲みます。~~ */
.container {
	width: 100%;

	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。 */

/*	border:1px #ccc solid;*/
}

/* ~~ ヘッダーには幅は指定されません。ヘッダーはレイアウトの幅全体まで広がります。ヘッダーには、ユーザー独自のリンクされたロゴに置き換えられるイメージプレースホルダーが含まれます。~~ */
.copy-wrap {	display:none; }
.copyarea {	display:none; }
	
.header-wrap {
	width:100%;
	min-height:60px;
}
	
.header {
	width:360px;
	margin:0 auto;
	
	min-height:60px;
	height:auto;
	position:relative;
	
}
.h-img, .h-logo, .h-zeh{ display:none; }

.ss-h-logo{ margin-left:10px; margin-top:10px; width:260px;}

/* sub*/
.s-header-wrap {
	width:100%;
	min-height:60px;
}
	
.s-header {
	width:360px;
	margin:0 auto;
	
	min-height:60px;
	height:auto;
	position:relative;
	
}
.s-h-logo{ display:none; }
.ss-s-h-logo{ margin-left:10px; margin-top:20px; width:260px;}


/* ~~ これはレイアウト情報です。~~ 

1) 余白は、div の上部または下部にのみ配置されます。この div 内のエレメントには、それ自体に余白があるので、ボックスモデル計算を行う必要がありません。ただし、div 自体に両側の余白やボーダーを指定した場合、その値が加算されたものが合計幅になることに注意してください。div 内のエレメントの余白を削除し、さらにその div 内に、全体のデザインに必要な幅や余白を指定していない 2 つ目の div を追加することもできます。

*/

.content {
	width: 100%;
	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。 */
	
}

.pc{ display: none; }

/* top page */
.menu2-wrap, .s-menu2-wrap{ display:none; }

.menu2{ display:none;}
.mhome{ display:none;}
.mbuild{ display:none; }
.mreform{ display:none; }
.mfurniture{ display:none; }
.mexterior{ display:none;}
.mmail{ display:none; }
.mabout{ display:none;}
.mhouse{ display:none; }
.mzeh{ display:none; }
.mnews{ display:none; }

.s-menuarea{ width:360px; min-height:195px; margin: 0 auto; position:relative;
    text-align: center; padding:10px 0;}
.s-menuarea img{ padding: 5px 0;}


.top-wrap{ width:100%;	 display:block; min-width:360px; text-align:center;
	position:relative; margin-top:10px; 	 }
.toparea{ display-none;}
.s-toparea{ width:360px; height:195px; margin: 0 auto; position:relative;}

.zeh-bnr{ margin: 0 auto; margin-top:10px; margin-bottom: 10px;}

/* 1column */
.main-area{ width:360px; margin:0 auto; margin-top:20px; position:relative;
	padding-bottom:80px;
	 min-height:300px; }

.s-main-area{ width:360px; margin:0 auto; margin-top:20px; position:relative;
	 min-height:300px; padding-bottom:30px;  }

.main-area2{ width:360px; margin:0 auto; margin-top:0; position:relative;
	 min-height:300px;   }
	 


.square:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	color:#333;
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}
.w-square:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	color:#fff;
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}


/* 共通 */
h1.pc{ display:none; }
h1.sp{ margin:0 auto; position:relative; }
h1.sp img.toptolist{ position:absolute; top:5px; right:20px; }

h2 {
	font-size:1.3em; margin:0 0 20px 0;	font-weight:normal; width:360px;
}

h2.sub {
	width:360px;
  position: relative;
  padding: 0.8em 0 0.8em 20px;
}
h2.sub::before,
h2.sub::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 6px;
  box-sizing: border-box;
}
h2.sub::before {
  top: 0;
  border-top: 2px solid #963;
  border-bottom: 1px solid #963;
}
h2.sub::after {
  bottom: 0;
  border-top: 1px solid #963;
  border-bottom: 2px solid #963;
}

.small85{ font-size:85%; }
.large11{ font-size:1.1em; }
.large12{ font-size:1.2em; }
.large14{ font-size:1.4em; }
.strong{ font-weight:bold; }

.txt, .txt30{ width:340px; margin:0 0 10px 10px; line-height:1.8em; font-size:1.0em; text-align:left;  }
.txt30{margin:0 0 10px 10px; }

.red{ color:#F00; }
.orange{ color:#F60; }
.blue{ color:#36C; }
.green{ color:#009933; }

.navi{ display:none; }

.tolist{ width:98%; text-align:right; margin-top:10px; }

.pdfarea{ width:330px; padding:15px 10px; font-size:0.9em; text-align:left; border:1px #ccc solid; 
	margin-top:20px; }


.link:after{
	font-family: FontAwesome;
	content: "\f08e";
	
	color:#F00;
	
	margin:-5px 0 0 5px;
	font-size: 1.2em;
}

.link2:after{
	font-family: FontAwesome;
	content: "\f101";
	
	color:#963;
	
	margin:-5px 0 0 5px;
	font-size: 1.4em;
}


.pdf:after{
	font-family: FontAwesome;
	content: "\f1c1";
	
	color:#F00;
	
	margin:-5px 0 0 5px;
	font-size: 1.2em;
}

dl.sub1{ list-style-type:none; width:340px; margin:0 0 40px 20px; list-style-position:inside; }
dl.sub1 dt{ margin:8px 0 8px 0; position:relative;   line-height:1.8em; }
dl.sub1 dt.w40{  }
dl.sub1 dt:after{
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #963;
	border-radius: 100%;
}
dl.sub1 dd{ margin:8px 0 8px 20px; position:relative; width:320px; line-height:1.8em;  }
dl.sub1 dd.w40{ }


/* news */
.n-title{ margin:0 0 10px 0; font-size:1.1em;  }
.n-title:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}
img.new{ vertical-align:middle; width:30px; }
.next{ width:98%; text-align:center; padding:10px 0; margin:20px 0 0 0; }

h2.news{ margin:10px 0 20px 0; }
h2.news:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}


.imgarea{ width:300px; text-align:center; font-size:1.0em; margin:0 0 0 20px; }
.kiji{ width:340px; margin:10px 0 10px 10px; text-align:left; }

.imgarea3{ width:300px; text-align:center; padding:0; margin:10px 0 10px 20px; font-size:0.9em; }
.imgarea3 img{ margin:0 0 10px 0;}

/* policy */
ul.policy{ margin:30px 0 10px 10px; list-style-position:outside; width:340px; list-style-type:none; }
ul.policy li{ margin:0 0 15px 0; line-height:1.6em;}

/* mail */
table.mail{	width:100px; margin:0 auto; margin:30px 0 30px 10px; border:none; }
table.mail th{ border:none; width:25%; text-align:center; vertical-align:top; padding:5px; font-weight:normal; 
	font-size:90%; background-color:#963; color:#fff;  }
table.mail td{ border:1px #963 solid; width:73%; padding:5px; line-height:120%; text-align:left; vertical-align:text-top; 
	 font-size:90%; }
table.mail td.confirm{ border:none; }

table.mail td.conf{ border:none; width:70%; padding:5px; line-height:120%; text-align:left; 
	vertical-align:text-top; border:solid #cccccc 1px; }

/* zeh */
.zeh-area1{ width:100%; 
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */  
	border:2px #0033FF solid;
	padding: 10px 0;
	
	color:#0033FF;
	font-size:1.2em;
	line-height:1.5em;
}

.zeh-area2, .zeh-area3, .zeh-area4{ width:100%; 
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */  
	border:2px #0033FF solid;
	padding: 10px 0;
	margin-bottom:10px;
}
.zeh-area3{ width:100%; 
	border:2px #009933 solid;
}
.zeh-area4{ width:100%; 
	border:2px #F60 solid;
}

/*/////////////////////////////////////*/
.shadow01{
    /*影を入れる*/
    -webkit-box-shadow: 0 10px 8px -6px #8d8c8c;
    -moz-box-shadow: 0 10px 8px -6px #8d8c8c;
     box-shadow: 0 10px 8px -6px #8d8c8c;
}


.kana{ ime-mode:active; }
.rome{ ime-mode:disabled; }


/*****************************************************/
p{ margin:10px 0 0 0; }

/******************************************************************/

/* ~~ フッター ~~ */
.fmenu-wrap{ display:none;}
.fmenu {  display:none;}

.ftitle{ display:none;}

.footer-wrap{ width:100%; background-color:#eee4da;  display:block; height:170px; text-align:center;
 }
.footer{ width:360px; height:170px; position:relative; margin:0 auto; 	
	text-align: center;
}

.f-logo, .f-addr, .f-mail, .f-access, .f-insta { display:none; }
.s-logo{ position:absolute; top:10px; left:40px;}
.s-addr{ position:absolute; top:70px; left:30px; }
.s-tel{ position:absolute; bottom:10px; left:70px; }
.s-mail{ position:absolute; bottom:10px; left:160px; }
.s-insta{ position:absolute; bottom:10px; right:70px; }

.fcopy{ width:100%; background-color:#fff; display:block; height:15px; text-align:center; padding:3px 0;
	font-size:0.8em; }
.fcopy div {
	width:360px;
	margin:0 auto;
	
	min-height:15px;
	height:auto;
	position:relative;
	
	text-align:center;
	
	font-size:0.85em;
	
}


/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}
}