@charset "utf-8";

/* WEBフォント */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
.nsj {
    font-family: 'Noto Sans Japanese', serif;
}

body {
	width:100%;
	background:url("../img/back.png?0") repeat-y 0 0/100%;
    color: #282828;
    font-size: 14px;
    line-height: 1;
    overflow-x: hidden;
    font-family: 'Noto Sans Japanese','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight:normal;
}
input, select {
    font-size: 14px;
    font-family: 'Noto Sans Japanese','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #989898;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.gothic {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
.ms_gothic {
	font-family: "ＭＳ ゴシック", sans-serif;
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
/*	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","游明朝", YuMincho,"HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;*/
}
.h_mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","游明朝", YuMincho, "HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}
a {
    color: #054B64;
    text-decoration:none;
}
a:hover {
    color: #054B64;
/*	opacity: 0.7;
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
*/
}
a:hover .image,
a:hover p,a:hover ul li {
    opacity: 0.7;
}
a:visted {
    color: #054B64;
}
:placeholder-shown {
    color: red;
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color: #999999;
}
/* Firefox 18- */
:-moz-placeholder {
    color: #999999;
    opacity: 1;
}
/* Firefox 19+ */
::-moz-placeholder {
    color: #999999;
    opacity: 1;
}
/* IE 10+ */
:-ms-input-placeholder {
    color: #999999;
}
*::before, *::after {
    box-sizing: border-box;
}
*::before, *::after {
    box-sizing: border-box;
}

/* 回り込み解除 */
.clr::after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
.clr_b::before {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
.clearfix::after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
.clearfix::before {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
/* 回り込み解除 */
#sp {
	display: none;
}
.sp {
	display: none;
}
img {
  width: 100%;
  display: block;
	object-fit: contain;
}

/** ヘッダー */
header {
    position: relative;
}
#header {
    margin: 0 auto;
    max-width: 960px;
	padding: 3% 0 0;
}
p.mainlogo.und img.pc {
    max-width: 225px;
    margin: 0 auto;
}
.n_navi li.navilogo {
    width: 195px;
	border: medium none;
	margin-right: 20px;
	margin-top: 0px;
}
/*
.n_navi li:last-child {
	border: medium none;
	margin-top: 0px;
    width: 15px;
}
*/
.n_navi li img {
    width: 100%;
}
.n_navi li  {
/*    float: left;*/
    margin-top: 18px;
	display:inline-block;
	vertical-align: middle;
}
ul.n_navi {
    padding: 20px 0 10px;
    text-align:center;
	max-width: 820px;
	margin: 0 auto;
}
.dpage .n_navi li img {
    padding-top: 9%;
}
.n_navi li a {
    color: #000000;
    padding: 0 15px;
    display: block;
    font-size: 1em;
    font-weight:bold;
    width: 100%;
}
.n_navi li:first-child a {
	border: medium none;
}
/*
.n_navi li:last-child a {
	border: medium none;
	display: inline;
}
*/
/* ヘッダー **/
/** フッター */
/*トップへ戻るボタン*/
.topBtn {
    bottom: 20px;
    display: block;
    height: 60px;
    line-height: 22px;
    padding-top: 30px;
    position: fixed;
    right: 80px;
    text-align: center;
    text-decoration: none;
    width: 60px;
}
.topBtn:before {
  position:absolute;
  top:10px;
  left:0;
  width:100%;
  text-align:center;
  font-size:20px;
}
.topBtn:hover {
  opacity:0.7;
}
.topBtn {
    z-index: 200;
}
footer {
	position: relative;
	width:100%;
	z-index: 0;
}
footer .foot_top {
    height: auto;
	margin:0px auto 3%;
	
}
footer .foot_top .foot_top_box {
    margin: 0 auto;
    max-width: 770px;
    padding: 0px 0 0;
}
.btn_area {
   margin-bottom: 5%;
    padding: 0% 0 0;
    width: 100%;
}
.btn_area li {
    width: auto;
    max-width: 305px;
    text-align: center;
    margin: 0 auto;
}
.btn_area li:first-child {

}
p.f_tel_box {
    max-width: 507px;
    text-align: center;
    margin: 0 auto;
}
.foot_bottom {
    background: #a4a899 none repeat scroll 0 0;
    width: 100%;
	padding: 0 0 50px;
	position: relative;
}
.btn_bottom_area {
    margin: 0 auto;
    max-width: 590px;
	text-align: center;
}
.btn_bottom_area li {
    /* float: left; */
    width: 48%;
    max-width: 246px;
    display: inline-block;
    margin:0 3%;
}
.btn_bottom_area li:first-child {

}
.ec_pint {
    max-width: 590px;
    margin: 0 auto;
    position: relative;
}
p.point_img_f {
    position: absolute;
    right: -90px;
    top: -60px;
}
.copr {
    margin: 0 auto;
    text-align: right;
    width: 770px;
    display: none
}
.copr > a {
    display: block;
    float: right;
    margin: 2% auto;
    position: relative;
    right: 0;
    text-align: right;
    width: 30%;
}
.f_navi {
	text-align: center;
    margin: 0 auto 50px;
    width: 820px;
    padding: 20px 0 10px;
}
.f_navi li {
    margin: 18px auto 0;
	display: inline-block;
}

.f_navi li:first-child {
    border: medium none;
    margin-right: 15px;
    margin-top: -26px;
    width: 4%;
}

.f_navi li:last-child {
	border: medium none;
}
.f_navi li img {
    width: 100%;
}
.f_navi li a {
    color: #ffffff;
    display: block;
    font-size: 0.9em;
	padding: 0 10px;
}
.f_navi li:first-child a {
	border: medium none;
}
.f_navi li:nth-child(2) a {
	border: medium none;

}
.f_navi li:last-child a {
/*	border: medium none;*/
}
/* フッター **/

li.n_top.active a,li.n_top.on a {
	background:url(../img/hover/n_top.png) no-repeat center center/100%;
}
li.n_concept.active a,li.n_concept.on a {
	background:url(../img/hover/n_concept.png) no-repeat center center/100%;
}
li.n_landplan.active a,li.n_landplan.on a {
	background:url(../img/hover/n_landplan.png) no-repeat center center/100%;
}
li.n_location.active a,li.n_location.on a {
	background:url(../img/hover/n_location.png) no-repeat center center/100%;
}
li.n_plan.active a,li.n_plan.on a {
	background:url(../img/hover/n_plan.png) no-repeat center center/100%;
}
li.n_fithouse.active a,li.n_fithouse.on a {
	background:url(../img/hover/n_fithouse.png) no-repeat center center/100%;
}
li.n_access.active a,li.n_access.on a {
	background:url(../img/hover/n_access.png) no-repeat center center/100%;
}
li.n_facility.active a,li.n_facility.on a {
	background:url(../img/hover/n_facility.png) no-repeat center center/100%;
}
li.n_property.active a,li.n_property.on a {
	background:url(../img/hover/n_property.png) no-repeat center center/100%;
}
div#header.dpage {
    max-width: 1000px;
}
.dpage ul.n_navi {
    max-width: 1000px;
}

/** サイドナビ */
.tab_ban {
	width: 51px;/* 最初に表示されるバナーの幅 */
	height: 151px;/* バナーの高さ */
	position: fixed !important;/* バナーを固定します */
	position: absolute;
	right: 0;/* 右から0pxの位置に指定 */
	z-index:10;
}
.tab_ban a {/* リンクするエリアをバナー全体に広げる設定 */
	display: block;
	width: 100%;
	height: 100%;
}
/* カーソルが乗った時の動きを指定 
.tab_ban:hover {
	width: 200px; バナーが伸びた時の幅 

	以下アニメーションの設定 
	-webkit-transition: width ease-in-out 0.5s;
	-moz-transition: width ease-in-out 0.5s;
	-ms-transition: width ease-in-out 0.5s;
	-o-transition: width ease-in-out 0.5s;
	transition: width ease-in-out 0.5s;
}
*/
/*
.tab_ban a:hover {
	 IE9用 
	width: 200px\9;
}*/
#tab01 {
	background: url("../img/side_navi1.png") 0 0 no-repeat;
	top: 150px;
}
#tab02 {
	background: url("../img/side_navi2.png") 0 0 no-repeat;
	top: 320px;
}

/* サイドナビ **/
section#main_catch {
/*    background: #fbea61 none repeat scroll 0 0;*/
    margin: 3% auto;
}
.boxCatch {
    margin: 0 auto;
    max-width: 780px;
    width: 100%;
    padding: 0px 0 0;
    position: relative;
}
#main_catch .boxCatch .Catch1 {
    border: 0 none;
    left: 0;
    margin: 0 auto;
    max-width: 330px;
    position: absolute;
    right: 0;
    top: 20px;
    width: 100%;
	z-index: 1;
}
#main_catch .boxCatch .Catch1 img{
    width: 100%;
}
.boxclass {
    background: rgba(0, 0, 0, 0) url("../img/slider_bk.png") repeat-x scroll 0 0;
    height: 200px;
}
.contents_box {
    margin: 0 auto;
    position: relative;
    width: 756px;
    z-index: 2;
}
.contents_box li {
    float: left;
    width: 242px;
}
.contents_box li img {
    width: 100%;
}
.contents_box li:nth-child(2) {
    margin: 0 15px;
}
.fakebox {
    background: rgba(0, 0, 0, 0) url("../img/fake_bk.png") repeat-x scroll 0 0;
    height: 150px;
    position: relative;
    top: -115px;
}
section.content p.read {
    font-family: 'Noto Sans Japanese', serif;
}
p.mainlogo {
    max-width: 483px;
    text-align: center;
    margin: 0 auto;
}
#bkinfo {
	background: none;
	background: none;
	background: none;
}
p.ft_pagetop {
    display: none;
}
/* タブレット */
@media (max-width: 1024px) and (min-width: 768px) {
	.n_navi li:last-child {
	    DISPLAY: NONE;
	}
}
/* タブレット 横*/
@media (max-width: 1024px) and (min-width: 768px) and (orientation: landscape) {
	.n_navi li:last-child {
	    DISPLAY: NONE;
	}

}
/* SP */
@media (max-width: 767px) {
	html{
		font-size: 62.5%;
	}
	body {
		width:100%;
		font-size: 1.4rem;
		overflow-x: hidden;
		-webkit-text-size-adjust:100%;
		word-wrap:break-word
	}
	img {
	  width: 100%;
	  display: block;
		object-fit: contain;
	}
	.pc {
	    display: none!important;
	}
	._pc {
	    display: none!important;
	}
	.sp {
	    display: block;
	}
	p.mainlogo {
	    width: 100%;
	    max-width: 100%;
	}
	p.mainlogo img {
		width: 54.3%;
		display: inline-block;
		margin: 3% auto 0;
	}
	p.mainlogo img {
	    width: 225px;
	    display: inline-block;
	}
	#header {
	    position: relative;
	}
	.tab_ban { 
		display:none;
	}
	.header_navi {
	    position: relative;
	}
	.header_navi p {
	    width: 40%;
	    padding: 3% 0;
	    margin: 0 auto;
	}
	/** ハンバーガーメニュー */
	header p.menu_btn {
		position: absolute;
		display: block;
		top:30%;
		right:20px;
		z-index:999;
		width:40px;
		height:40px;
		margin-top:-25px;
		text-align:center;
		line-height:0;
	}
	header p.menu_btn span {
		border-radius: 10px;
		background: #333;
	    display: block;
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    width: 40px;
	    height: 6px;
	    margin-top: -1px;
	    margin-left: -12.5px;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	header p.menu_btn span:before,
	header p.menu_btn span:after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		width: 40px;
		height: 6px;
		background: #333;
		border-radius: 10px;
		-webkit-transition: all 0.5s ease;
		-moz-transition: all 0.5s ease;
		-o-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	header p.menu_btn span:before {

	}
	header p.menu_btn span:after {
	
	}
	header p.menu_btn span:before {
		top:-12px;
	}
	header p.menu_btn span:after {
		top:12px;
	}
	header p.menu_btn.active span {
		width:0px;
		background:#69584d;
	}
	header p.menu_btn.active span::before {
		top: 0;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	header p.menu_btn.active span::after {
		top: 0;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#gnav {
		display:none;
		position:absolute;
		z-index:2;
		top:100%;
		left:0;
		width:100%;
		background:#69584d;
		z-index: 9999;
	}
	#gnav div.contact {
		display:none;
	}
	#gnav li {
		margin:0;
		border-bottom: solid 1px #ffffff;
		float:none;
	}
	#gnav li:last-of-type {
		border-bottom:none;
	}
	#gnav li a {
		font-size: 120%;
		display:block;
		position:relative;
		padding:1em 1em 1em 1.5em;
		color:#fff;
	    background: none;
	    text-align: left;
	}
	#gnav li a::before {
		content:"";
		display:inline-block;
		margin:-2px 1em 0 0;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 6px solid #ffffff;
		vertical-align:middle;
	}
	ul.navi li a {
		border:none;
	}
	.n_navi li:first-child {
		display:none;
	}
	.n_navi li a {
		border-left:none;
	}
	.n_navi li:last-child { 
		display:block;
	}
	ul.n_navi {
	    padding: 20px 0 0px;
	}
	#gnav li:nth-child(10) {
/*	    border-bottom: none;*/
	}
	/* ハンバーガーメニュー **/
	
	/** フッター */
	footer .foot_top {
	    background: none;
	    height: auto;
	    margin: 0px auto 3%;
	}
	footer .foot_top .foot_top_box {
	    margin: 3% auto;
	    padding: 0;
	    width: 100%;
	}
	.btn_area {

	    margin-bottom: 5%;
	    padding: 5% 0 0;
	    width: 90%;
	    margin: 0 auto;
	}
	.btn_area li:first-child {
	    margin: 0 auto 7%;
	}
	.btn_area li {
	    float: none;
	    width: 90%;
	    margin: 0 auto 7%;
	}
	p.f_tel_box {
	    width: 80%;
	    margin: 0 auto;
	}
	.f_navi {
		display:none;
	}
	.foot_top .sns_box {
	    width: 100%;
	    margin: 0 auto;
		float: none;
	}
	.foot_top .sns_box .btn_sns{
	    width: 60%;
	    float: none;
	    margin: 10% auto;
	}
	.foot_top .sns_box .btn_sns li {
	    float: left;
	    width: 28%;
	}
	.foot_top .sns_box .btn_sns li:nth-child(2) {
	    margin: 0 6%;
	}
	.btn_bottom_area {
	    margin: 0 auto;
	    width: 100%;
	    padding: 4% 0 0;
	}
	.btn_bottom_area li:first-child {
	    margin: 5% auto 5%;
	}
	.btn_bottom_area li {
	    float: none;
	    width: 80%;
	    margin: 5% auto 5%;
	}
	.foot_bottom {
	    padding: 0 0 4%;
	}
	.copr {
	    margin: 0 auto;
	    text-align: center;
	    width: 100%;
	    display: block;
	}
	.copr > a {
	    display: block;
	    float: none;
	    margin: 2% auto;
	    position: relative;
	    right: 0;
	    text-align: center;
	    width: 60%;
	}
	/* フッター **/
	.topBtn {
	    bottom: 20px;
	    display: block;
	    height: 60px;
	    line-height: 22px;
	    padding-top: 30px;
	    position: fixed;
	    right: 4px;
	    text-align: center;
	    text-decoration: none;
	    width: 40px;
	}
	.ec_pint {
	    display: none;
	}
	p.ft_pagetop {
	    width: 50%;
	    margin: 5% auto;
	    display:block;
	}
	.n_navi li {
	    display: block;
	}
	.n_navi li:first-child {
	    display: block;
	}
	#gnavli ul.n_navi li.on a {
		background:none;
	}
	.n_navi li.navilogo {
		display:none;
	}
	header .dpage p.menu_btn {
	    top: 30px;
	}
	#bkinfo {
		background: -moz-linear-gradient(top, #FFF, rgba(255, 255, 255, 0.1));
		background: -webkit-linear-gradient(top, #FFF, rgba(255, 255, 255, 0.1));
		background: linear-gradient(to top, #FFF, rgba(255, 255, 255, 0.1));
	}
}

/* iPhone 4, 4S, 5, 5s, 5c, iPod touch 4, 5 */
@media only screen
 and (min-device-width: 320px)
 and (max-device-width: 568px)
 and (-webkit-min-device-pixel-ratio: 2) {
	html{
		font-size: 50.5%;
	}
	body {
		font-size: 1.4rem;
	}
}

@media only screen
 and (min-device-width: 375px)
 and (max-device-width: 480px)
 and (-webkit-min-device-pixel-ratio: 2) {
	html{
		font-size: 50.5%;
	}
	body {
		font-size: 1.4rem;
	}
}


/* iPhone6 */
@media only screen and (device-height: 667px),
only screen and (device-width: 667px) {
	html{
		font-size: 62.5%;
	}
	body {
		width:100%;
		font-size: 1.4rem;
		overflow-x: hidden;
		-webkit-text-size-adjust:100%;
		word-wrap:break-word
	}
}
/* iPhone6 plus */
@media only screen  and (device-height: 736px),
only screen  and (device-width: 736px) {
	html{
		font-size: 62.5%;
	}
	body {
		width:100%;
		font-size: 1.4rem;
		overflow-x: hidden;
		-webkit-text-size-adjust:100%;
		word-wrap:break-word
	}

}