@charset "UTF-8";

/* //////////////////////////////////////////////////

　サイト共通部分や汎用的に使うモジュールのスタイル

////////////////////////////////////////////////// */


/* Font
-------------------------------------------------- */
body {
	color: #373737;
	font-family: "游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E",serif;
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: 1;
}
input, select, textarea {
	font-size: 15px;
	font-family: "游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E",serif;
}
p, li, dd, th, td {
	line-height: 1.8;
}
dt {
	line-height: 1.3;
}
a {
	color: #000;
}
a:hover {
	text-decoration: none;
}
i, em {
	font-style: normal;
}
.fcG {
	color: #247380;
}
@media screen and (min-width: 1260px) {
    .wsNowrap { display: block; white-space: nowrap;}
}

@media screen and (max-width: 768px) {
	body {
		font-size: 85%;
	}
	input, select, textarea {
		font-size: 16px;
	}
}
@media screen and (max-width: 640px) {
	body {
		font-size: 75%;
	}
}




/* Layout
-------------------------------------------------- */
.container {
	margin: auto;
	width: 980px;
}
@media screen and (max-width: 768px) {
	#wrapper {
		overflow: hidden;
	}
	.container {
		width: auto;
		padding: 0 10px;
	}
}
@media screen and (max-width: 640px) {
}



/* Module
-------------------------------------------------- */
/*ぱんくず*/
#breadcrumb {
}

/*page title*/
#pagetit {
	background-size: cover;
	background-position: center;
}
#pagetit h2 {
	position: relative;
	min-height: 400px;
}

/*title*/
.tit01 {
	margin-bottom: 35px;
	color: #247380;
	font-size: 1.875em;
	line-height: 1.3;
}
.tit02 {
	margin-bottom: 30px;
	color: #247380;
	font-size: 1.5em;
	line-height: 1.3;
}
.tit_line {
	position: relative;
	overflow: hidden;
	margin-bottom: 1em;
}
.tit_line::after {
	position: absolute;
	top: 48%;
	content: "";
	width: 100%;
	height: 1px;
	background: #247380;
}
.tit_line .txt {
	display: inline-block;
	padding-right: 1em;
	color: #247380;
	font-size: 1.125em;
}

/*table*/
.table {
	width: 100%;
}

/*注釈*/
.note_btm {
	margin: 30px 0;
	font-size: 0.68em;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#pagetit h2 {
		min-height: 300px;
	}
	.tit01 {
		margin-bottom: 25px;
	}
	.tit02 {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 640px) {
	#pagetit h2 {
		min-height: 200px;
	}
	#pagetit h2 img {
		zoom: .5;
	}
	.tit01 {
		margin-bottom: 15px;
	}
	.tit02 {
		margin-bottom: 15px;
	}
	/*注釈*/
	.note_btm {
		margin: 20px 0;
	}
}





/* header
-------------------------------------------------- */
#header {
	padding: 15px 0;
	margin-bottom: 0;
}

#header .site_logo {
	float: left;
	margin: 0 0 0 20px;
}
#header .site_logo img {
	width: 201px;
}
#header h1 {
	float: left;
	margin: 2px 0 0 25px;
	color: #888;
	font-size: 11px;
	line-height: 1.2;
}
.header_menu {
	float: right;
	margin: 0 15px 0 0;
}
.header_menu li {
	float: left;
	margin: 0 0 0 25px;
}
.header_menu .request a {
	display: block;
	padding: 4px 45px;
	text-align: center;
	border: 1px solid #247380;
	background: #66b2bf;
	line-height: 1;
}

@media screen and (max-width: 960px) {
	#header h1 {
		margin: 4px 0 0 15px;
		font-size: 10px;
	}
	.header_menu .request a {
		padding: 4px 30px;
	}
}
@media screen and (max-width: 768px) {
	#header {
		padding: 10px 0;
	}
	#header .site_logo {
		margin: 0 0 0 10px;
	}
	.header_menu li {
		display: none;
	}
	.header_menu .request {
		display: block;
		margin: 0 50px 0 0;
	}
	.header_menu .request a {
		padding: 4px 20px;
	}
	.header_menu .request img {
		zoom: .81;
	}
}
@media screen and (max-width: 640px) {
	#header .site_logo img {
		width: 140px;
	}
	#header h1 {
		display: none;
	}
	.header_menu .request a {
		padding: 4px 5px;
	}
}



/* global navi
-------------------------------------------------- */
#gnavi {
	clear: both;	
	border-top: 1px solid #6db3bf;
	border-bottom: 1px solid #6db3bf;
}
#gnavi .main {
	display: table;
	table-layout: fixed;
	width: 100%;
}
#gnavi .main li {
	position: relative;
	display: table-cell;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
}
#gnavi li + li .noLink,
#gnavi li + li a {
	border-left: 1px solid #e5e5e5;
}
#gnavi li .noLink,
#gnavi li a {
	display: block;
	padding: 17px 0 14px;
	color: #247380;
	text-decoration: none;
	line-height: 1.3;
}
#gnavi li span {
	display: none;
}
#gnavi li img {
	max-width: 100%;
}
#gnavi li img:nth-of-type(2) {
	display: none;
}
#gnavi li .noLink img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: .3;
}

#gnavi li small {
	color: #000;
	font-size: 11px;
}
#gnavi li .noLink,
#gnavi li .noLink small {
	color: #bbb;
}

/* current */
/*.home #gnavi .nav1,
.concept #gnavi .nav2,
.location3 #gnavi .nav3,
.location #gnavi .nav4,
.access #gnavi .nav5,
.plan #gnavi .nav6,
.developer #gnavi .nav7,
.equipment #gnavi .nav8,
.landplan #gnavi .nav9,
.developer #gnavi .nav10 {
	background: #69b3c0;
}
.home #gnavi .nav1 img:nth-of-type(1),
.concept #gnavi .nav2 img:nth-of-type(1),
.location3 #gnavi .nav3 img:nth-of-type(1),
.location #gnavi .nav4 img:nth-of-type(1),
.access #gnavi .nav5 img:nth-of-type(1),
.plan #gnavi .nav6 img:nth-of-type(1),
.developer #gnavi .nav7 img:nth-of-type(1),
.equipment #gnavi .nav8 img:nth-of-type(1),
.landplan #gnavi .nav9 img:nth-of-type(1),
.developer #gnavi .nav10 img:nth-of-type(1) {
	display: none;
}
.home #gnavi .nav1 img:nth-of-type(2),
.concept #gnavi .nav2 img:nth-of-type(2),
.location3 #gnavi .nav3 img:nth-of-type(2),
.location #gnavi .nav4 img:nth-of-type(2),
.access #gnavi .nav5 img:nth-of-type(2),
.plan #gnavi .nav6 img:nth-of-type(2),
.developer #gnavi .nav7 img:nth-of-type(2),
.equipment #gnavi .nav8 img:nth-of-type(2),
.landplan #gnavi .nav9 img:nth-of-type(2),
.developer #gnavi .nav10 img:nth-of-type(2) {
	display: inline-block;
}*/
#gnavi li.currentNav {
	background: #69b3c0;
}
#gnavi li.currentNav img:nth-of-type(1) {
	display: none;
}
#gnavi li.currentNav img:nth-of-type(2) {
	display: inline-block;
}

/* new */
#gnavi .new::after {
	position: absolute;
	top: 5px;
	left: 50%;
	content: "";
	width: 43px;
	height: 9px;
	margin-left: -21px;
	background: url(../img/common/mrk_new.png) no-repeat;
	background-size: 43px;
}

#gnavi .sub {
	display: none;
}
/* button */
#menu_btn {
	display: none;
}

@media screen and (max-width: 1260px) {
	#gnavi .main {
		table-layout: inherit;
	}
}
@media screen and (min-width: 769px) {
	#gnavi {
		display: block !important;
	}
}
@media screen and (max-width: 768px) {
	#gnavi {
		display: none;
		padding: 0;
	}
	#gnavi .main,
	#gnavi .sub {
		display: block;
	}
	#gnavi .sub {
		border-top: 1px solid #e5e5e5;
	}
	
	#gnavi .main li {
		display: block;
		text-align: left;
	}
	#gnavi li + li .noLink,
	#gnavi li + li a {
		border: none;
		border-top: 1px solid #e5e5e5;
	}
	#gnavi li .noLink,
	#gnavi li a {
		margin: 0;
		padding: 14px 10px;
	}
	#gnavi li span {
		display: block;
	}
	#gnavi li br {
		display: none;
	}
	#gnavi li small {
		padding-left: 1em;
	}
	#gnavi li img {
		display: none !important;
	}
	
	/* new */
	#gnavi .main li::after {
		display: none;
	}
	#gnavi .new span::after {
		display: inline-block;
		content: "";
		margin-left: 10px;
		width: 43px;
		height: 9px;
		background: url(../img/common/mrk_new.png) no-repeat;
		background-size: 43px;
	}
	
	/* button */
	#menu_btn {
		display: block;
		position: absolute;
		z-index: 100;
		top: 10px;
		right: 10px;
		padding: 9px 7px 4px;
		background: #257380;
	}
	#menu_btn div {
		transition: all 0.4s ease-out;
	}
	#menu_btn span {
		display: block;
		width: 24px;
		height: 3px;
		background: #fff;
		margin: 0 0 5px;
		transition: all 0.4s ease-out;
	}
	#menu_btn.active div {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#menu_btn.active .bar1 {
		transform: rotate(0deg) translateY(8px);
	}
	#menu_btn.active .bar2 {
		opacity: 0;
	}
	#menu_btn.active .bar3 {
		transform: rotate(-90deg) translateX(8px);
	}
}
@media screen and (max-width: 640px) {
}



/* Module
-------------------------------------------------- */
/* layout */
.sec {
}

/* title */

/* link */

/* button */


@media screen and (max-width: 640px) {
}




/* footer
-------------------------------------------------- */
#footer {
	background: #247380;
	padding: 25px 0 40px;
	color: #fff;
}

#fnavi {
	text-align: center;
	padding-bottom: 25px;
}
#fnavi li {
	display: inline-block;
	font-size: 12px;
	padding: 0 5px;
}
#fnavi a {
	color: #fff;
	text-decoration: none;
}
#fnavi a:hover {
	text-decoration: underline;
}
#fnavi .noLink {
	color: #aaa;
}

#footer .site_logo {
	float: left;
}
#footer .site_logo img {
	width: 232px;
}

.footer_contact {
	float: right;
}
.footer_contact .tit {
	font-size: 0.875em;
	line-height: 1;
}
.footer_contact .tel {
	margin-top: -15px;
}


@media screen and (max-width: 768px) {
    .footer_contact .space {
        padding-top: 20px;
        margin-bottom: -20px;
    }
}

.footer_contact span {
	display: inline-block;
	vertical-align: middle;
	font-size: 11px;
	line-height: 1.4;
}
.footer_contact .tel span:nth-of-type(2) {
	margin-left: 5px;
}
.footer_contact .info {
	margin-top: 5px;
	color: #ffff99;
	font-size: 0.78em;
}
.footer_contact .note {
	margin-top: 5px;
	padding: 5px 10px;
	border: 1px solid rgba(255,255,255,0.2);
	font-size: 0.7em;
}

#footer .copyright {
	display: block;
	clear: both;
	float: right;
	margin-top: 20px;
	font-size: 10px;
}

@media screen and (max-width: 768px) {
	#footer {
		padding: 0 0 40px;
		text-align: center;
	}
	#fnavi {
		display: block;
		background: #fff;
		padding-bottom: 0;
		margin-bottom: 25px;
	}
	#fnavi ul {
		overflow: hidden;
		border-top: 1px solid #247380;
	}
	#fnavi li {
		float: left;
		width: 50%;
		border-bottom: 1px solid #247380;
	}
	#fnavi li:nth-child(odd) {
		border-right: 1px solid #247380;
	}
	#fnavi li:last-child {
		width: 100%;
		border-right: none;
		font-size: 1.15em;
	}
	#fnavi a {
		display: block;
		padding: 8px;
		text-align: center;
		text-decoration: none;
		color: #247380;
	}
	#fnavi .noLink {
		padding: 8px;
	}
	
	#footer .site_logo {
		float: none;
	}
	.footer_contact {
		float: none;
		display: inline-block;
		margin: 0 auto 20px;
		text-align: left;
	}
	.footer_contact .tel span {
		display: inline-block;
		margin-left: 0;
	}
	
	#footer .copyright {
		float: none;
	}
	
	.footer_contact .tel {
		text-align: center;
	}
	
	
}
@media screen and (max-width: 640px) {
	#footer {
		padding: 0 0 25px;
	}
	.footer_contact {
		margin: 0 auto 25px;
	}
}







/* Popup
-------------------------------------------------- */
#contents.popup {
	padding: 40px 0;
	border-top: 1px solid #247380;
}
#contents.popup .container {
	width: auto;
	padding: 0 10px;
}
.popup h2 {
	margin: 0 0 40px;
}

.popup .func {
	margin: 40px 0 0;
}
.popup .func li {
	margin: 0 5px;
}
.popup .func a {
	display: block;
	width: 140px;
	padding: 3px;
	border: 1px solid #d1d1d1;
	text-decoration: none;
	font-size: 14px;
}
.popup .print a {
	background: url(../img/common/ico_popup_print.png) no-repeat 15px 50%;
}
.popup .close a {
	background: url(../img/common/ico_popup_close.png) no-repeat 15px 50%;
}

#footer.popup {
	padding: 25px 10px 40px;
}


#outline th,
#outline td {
	padding: 5px 10px;
	border: 1px solid #d7dedf;
}
#outline th {
	background: #eff7f8;
	white-space: nowrap;
}

#map address {
	margin: 1em 0 0;
	display: inline-block;
	line-height: 1.4;
	font-size: 1.2em;
}

@media screen and (max-width: 768px) {
	.popup .site_logo {
		zoom: .75;
	}
	.popup .header_menu {
		display: block;
		zoom: .75;
	}

	#contents.popup {
		padding: 20px 0;
	}
	.popup h2 {
		margin: 0 0 20px;
	}
	.popup .func {
		margin: 20px 0 0;
	}

	#footer.popup {
		padding: 20px 10px 30px;
	}
}
@media screen and (max-width: 640px) {
}






/* 追記 */

/* タブ
-------------------------------------------------- */
.pagenavi {
	border-top: 1px solid #6db3bf;
	border-bottom: 1px solid #6db3bf;
	margin-bottom: 30px;
}
.pagenavi li {
	text-align: center;
	font-size: 16px;
	white-space: nowrap;
}
.pagenavi li.col2 {
	width: 16.6666%;
}
.pagenavi li + li a {
	border-left: 1px solid #e5e5e5;
}
.pagenavi li a {
	display: block;
	padding: 15px 0;
	color: #247380;
	text-decoration: none;
	line-height: 1.3;
}
.pagenavi li small {
	color: #000;
	font-size: 11px;
}
.pagenavi li.active a {
	background: #6ab2c0;
	color: #fff;
}
.pagenavi li.active small {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.tabs .pagenavi li {
		width: 	50%;
		text-align: center;
		font-size: 16px;
		white-space: nowrap;
	}
	.pagenavi li:last-child {
		border-right: 1px solid #e5e5e5;
	}
	.pagenavi li a {
		border-bottom: 1px solid #e5e5e5;
	}
}




/* タイトル
-------------------------------------------------- */
.h2_01 {
	margin-bottom: 30px;
	text-align: center;
}
.h2_01 span {
	display: inline-block;
	margin-bottom: 10px;
	padding: 0 20px 10px;
	color: #247380;
	font-size: 30px;
	border-bottom: 1px solid #247380;
}
.h2_01 small {
	color: #333;
	font-size: 16px;
}



/* フッター
-------------------------------------------------- */
.footer2 .container {
	width: 1250px;
	padding-top: 20px;
}
#footer.footer2 .site_logo img {
	width: inherit;
}
.c21_logo {
	float: left;
	margin-left: 30px;
}
#footer.footer2 .time {
	padding-top: 23px;
	padding-right: 20px;
}

#footer.popup.footer2 {
	padding-top: 40px;
	text-align: center;
}
.popup.footer2 .footer_contact {
	float: none;
	margin-bottom: 20px;
}
.popup.footer2 .footer_contact br {
	display: block;
}
.popup.footer2 .site_logo,
.popup.footer2 .c21_logo {
	float: none !important;
	margin: 0;
}
.popup.footer2 .site_logo {
	padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
	#footer.footer2 {
		padding-top: 40px;
	}
	.footer2 .container {
		width: auto;
	}
	#footer.footer2 .time {
		padding-top: 10px;
		padding-right: 0px;
	}
	.c21_logo {
		float: none;
		margin: 15px 0 0;
	}
}


/* 背景画像 管理画面設定
-------------------------------------------------- */
.self_bg {
	overflow: hidden;
	position: relative;
	margin-bottom: 60px;
	min-height: 500px;
	background-size: cover;
	background-position: center;
}
.self_bg img.bg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1;
}
.self_bg img.tit {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}
@media screen and (max-width: 768px) {
	.self_bg {
		min-height: 300px;
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 640px) {
	.self_bg {
		min-height: 200px;
		margin-bottom: 30px;
	}
	.self_bg img.tit {
		zoom: .5;
	}
}








/* 余白別パターン
-------------------------------------------------- */
.spaceChange .pagenavi { margin-bottom: 45px!important;}
.spaceChange .tit01,
.spaceChange .h2_01 { margin-bottom: 21px!important;}
.spaceChange .tit02 { margin-bottom: 18px!important;}
.spaceChange .indent { margin-top: 15px;}
.spaceChange .indent li { position: relative; font-size: 14px; text-align: left; padding-left: 30px;}
.spaceChange .indent li span { position: absolute; left: 0; top: 0;}
.spaceChange #location_index .grids { margin-top: 63px;}
.spaceChange .mt60 { margin-top: 60px;}