@charset "utf-8";


/*--------------------------------------------------------------------------
	共通部分
--------------------------------------------------------------------------*/

.top_topics h2,
.top_event h2,
.top_works h2,
.top_land h2,
.top_other h2 {
	margin: 0 0 40px 0;
	color: #27447a;
	font-size: 35px;
	font-family: 'Teko', sans-serif;
	font-weight: 500;
	text-align:center;
	letter-spacing: 0.1em;
}

.top_other h2 {
	margin: 0;
}

.top_topics h2 a:link,.top_topics h2 a:visited,
.top_event h2 a:link,.top_event h2 a:visited,
.top_works h2 a:link,.top_works h2 a:visited,
.top_land h2 a:link,.top_land h2 a:visited,
.top_other h2 a:link,.top_other h2 a:visited {
	color: #27447a;
}

.top_topics h2 a:active,.top_topics h2 a:hover,
.top_event h2 a:active,.top_event h2 a:hover,
.top_works h2 a:active,.top_works h2 a:hover,
.top_land h2 a:active,.top_land h2 a:hover,
.top_other h2 a:active,.top_other h2 a:hover {
	color: #999999;
}

/*文字の折り返し---------------*/
.top_topics section .entry dl dd,
.top_event section a.entry .post .info h3,
.top_event section a.entry .post .info div dl {
	word-break: break-all;
}

/*--------------------------------------------------------------------------
	topimg
--------------------------------------------------------------------------*/
#topimg_one {
	margin: 0 auto;
	/*max-width: 1280px;*/
    max-width: 1700px;
}

#topimg_one img {
	/* -webkit-backface-visibility: visible;
	-ms-backface-visibility: visible;
	backface-visibility: visible;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges; */
}

#topimg_one .sp,
#topimg_one .run {
	display: none;
}
 
#topimg_one .run.open {
	display: block;
}

/*--------------------------------------------------------------------------
	メイン表示部分
--------------------------------------------------------------------------*/

/*TOPICS---------------*/
.top_topics {
	margin: 30px 0 70px 0;
	padding: 0 10px 50px 10px;
	border-bottom: 1px solid #000000;
	box-sizing: border-box;
}

.top_topics section {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}

.top_topics section .entry a {
	display: block;
	width: 100%;
}

.top_topics section .entry a:hover,
.top_topics section .entry:hover  {
	background: #d7e1f2;
}

.top_topics section .entry a:link,
.top_topics section .entry a:visited,
.top_topics section .entry a:active,
.top_topics section .entry a:hover {
	color: #000000;
}

.top_topics section .entry dl {
	padding: 10px;
	display: table;
	width: 100%;
	box-sizing: border-box;
}

.top_topics section .entry dl dt {
	display: table-cell;
	width: 280px;
	vertical-align: top;
}

.top_topics section .entry dl dd {
	display: table-cell;
	vertical-align: top;
}

.top_topics section .entry dl dt span {
	margin: 0 0 0 30px;
	display: inline-block;
	width: 140px;
	color: #ffffff;
	background: #abb838;
	font-size: 13px;
	text-align: center;
}

/*イベント情報---------------*/
.top_event {
	margin: 0 auto 70px auto;
	padding: 0 10px;
	width: 100%;
	box-sizing: border-box;
	max-width: 1000px;
}

.top_event section a.entry {
	padding: 30px 20px;
	display: block;
	border: 1px solid #000000;
	width: 100%;
	box-sizing: border-box;
}

.top_event section a.entry:hover {
	background: #d7e1f2;
}

.top_event section a.entry:link,
.top_event section a.entry:visited,
.top_event section a.entry:active,
.top_event section a.entry:hover {
	border: 1px solid #27447a;
	color: #000000;
}

.top_event section a.entry + a.entry {
	border-top: none;
}

.top_event section a.entry .post {
	display: table;
	width: 100%;
}

.top_event section a.entry .post .ph {
	display: table-cell;
	width: 120px;
	vertical-align: top;
}

.top_event section a.entry .post .ph .frm {
	position: relative;
	width: 120px;
	overflow: hidden;
}

.top_event section a.entry .post .ph .frm img {
	position: absolute;
}

.top_event section a.entry .post .info {
	padding: 0 0 0 20px;
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
}

.top_event section a.entry .post .info p.type span {
	padding: 2px 5px 3px 5px;
	display: inline-block;
	width: 100%;
	line-height: 1.4;
	color: #ffffff;
	background: #abb838;
	font-size: 14px;
	text-align: center;
	box-sizing: border-box;
	max-width: 250px;
}

.top_event section a.entry .post .info h3 {
	margin: 10px 0 0 0;
	line-height: 1.2;
	font-size: 18px;
	font-weight: 500;
}

.top_event section a.entry .post .info .time {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.top_event section a.entry .post .info .time div {
	display: table-cell;
	vertical-align: top;
}

.top_event section a.entry .post .info .time div dl {
	margin: 10px 0 0 0;
	display: table;
	width: 100%;
	line-height: 1.6;
	font-size: 14px;
}

.top_event section a.entry .post .info .time div dl dt {
	display: table-cell;
	width: 80px;
	vertical-align: top;
}

.top_event section a.entry .post .info .time div dl dt span {
	padding: 2px 5px 3px 5px;
	border: 1px solid #000000;
	display: inline-block;
	width: 80px;
	line-height: 1.2;
	background: #eeeeee;
	font-weight: 500;
	text-align: center;
	box-sizing: border-box;
}

.top_event section a.entry .post .info .time div dl dd {
	padding: 0 20px 0 15px;
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
}

.top_event section a.entry .post .info .time div dl dd span.reservation {
	color: #27447a;
	font-weight: 700;
}

/*-----WORKS-----*/
.top_works #works_area {
	margin: 0 auto;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	max-width: 1920px;
}

.top_works #works_area div.post {
	position: relative;
	float: left;
	width: 20%;
	height: 100%;
	line-height: 1.4;
	overflow: hidden;
	text-align: center;
}

.top_works #works_area div.post a {
	display: block;
	width: 100%;
	height: 100%;
}

.top_works #works_area div.post a .mask {
	padding: 10px;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;	
	top: 0;
	left: 0;
	opacity: 0;	/* マスク非表示 */
	background-color: rgba(0,0,0,0.4);	/* mask color */
	-webkit-transition:	all 0.2s ease;
	transition: all 0.2s ease;
	color: #ffffff;
	box-sizing: border-box;
}

.top_works #works_area div.post a .mask:hover {
	opacity: 1;	/* マスク表示 */
}

.top_works #works_area div.post a .mask .cap {
	display: table;
	width: 100%;
	height: 100%;
}

.top_works #works_area div.post a .mask .cap p {
	display: table-cell;
	vertical-align: middle;
	line-height: 1.4;
	text-align: center;
}

.top_works #works_area div.post a .ph_works {
	position: relative;
	overflow: hidden;
}

.top_works #works_area div.post a .ph_works img {
	position: absolute;
}

.top_works #works_area div.post a:hover .ph_works img {
	-webkit-animation:animation-hanabi 0.3s forwards linear;
    animation:animation-hanabi 0.3s forwards linear;
	position: absolute;
}

@keyframes animation-hanabi {
     
    from{
        -ms-transform:scale(1,1);
        -webkit-transform:scale(1,1);
        transform:scale(1,1);
    }
    to{
        -ms-transform:scale(1.2,1.2);
        -webkit-transform:scale(1.2,1.2);
        transform:scale(1.2,1.2);
    }
}



/*土地情報---------------*/
.top_land {
	box-sizing: border-box;
	margin: 70px auto 0;
	padding: 0 10px 0;
	width: 100%;
	max-width: 1000px;
}

.top_land a:hover, .top_land a:active {
	opacity: 0.7;
}



/*CONTENTS---------------*/
.top_land + .top_other,
.top_works + .top_other {
	margin-top: 70px;
}

.top_other section {
	margin: 0 auto;
	width: 100%;
	overflow: hidden;
	text-align: center;
	max-width: 1000px;
}

.top_other section .item {
	margin: 40px 0 0 0;
	padding: 0 15px;
	float: left;
	width: 50%;
	box-sizing: border-box;
}

.top_other section .item a {
	display: block;
	color: #ffffff;
	
	box-sizing: border-box;
	background-size: 50% auto;
	background-position: right center;
	background-repeat: no-repeat; 
}

.top_other section .c_method a { background-image: url("../../img/img_contents01_02.jpg"); }
.top_other section .c_price a { background-image: url("../../img/img_contents01_04.jpg"); }
.top_other section .c_concept a { background-image: url("../../img/img_contents01_01.jpg"); }
.top_other section .c_greeting a { background-image: url("../../img/img_contents01_03.jpg"); }

.top_other section .item a .frm {
	/*display: table;
	width: 100%;
	table-layout: fixed;*/
	box-sizing: border-box;
	width: 235px;
}

.top_other section .item a .frm h3 {
	padding: 30px 15px 60px;
	/*display: table-cell;
	vertical-align: middle;*/
	font-family: 'Teko', sans-serif;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	background-color: #27447a;
	background-color: #555555;
	background-image: url(../img/icon_circle01_r.png);
	background-size: 26px 26px;
	background-position: center bottom 20px;
	background-repeat: no-repeat;
}

.top_other section .item a:hover .frm h3 {
	background-color: #111f37;
}

.top_other section .item a .frm h3 span {
	margin: 5px 0 0 0;
	display: block;
	font-family: 'Noto Sans JP',"メイリオ",Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','MS Pゴシック',sans-serif;
	font-size: 16px;
	box-sizing: border-box;
	letter-spacing: 0.1em;
}

.top_other section .item a .frm .ph {
	display: table-cell;
	vertical-align: middle;
}

.top_other section .blog_list {
	margin: 70px 0 0 0;
	display: table;
	width: 100%;
	table-layout: fixed;
}

.top_other section .blog_list .blog {
	padding: 0 20px;
	display: table-cell;
	box-sizing: border-box;
}

.top_other section .blog_list .blog a {
	display: block;
	width: 100%;
	color: #ffffff;
	background: #111f37;
}

.top_other section .blog_list .blog a:hover {
	background: #27447a;
}

.top_other section .blog_list .blog a .post {
	display: table;
	width: 100%;
}

.top_other section .blog_list .blog a .post .ph {
	display: table-cell;
	width: 200px;
	vertical-align: middle;
}

.top_other section .blog_list .blog a .post h3 {
	padding: 10px 10px 35px 10px;
	display: table-cell;
	vertical-align: middle;
	background: url(../img/icon_circle01_r.png) no-repeat center bottom 15px;
	font-size: 30px;
	font-family: 'Teko', sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.top_other section .blog_list .blog .entry {
	padding: 0 0 15px 0;
	border-bottom: 3px solid #111f37;
	font-size: 15px;
	font-weight: 400;
	text-align: left;
	letter-spacing: 0.1em;
}

.top_other section .blog_list .blog .entry p {
	margin: 10px 0 5px 0;
}

.top_other section .blog_list .blog .entry.none p {
	margin: 10px 0 5px -10px;
}

.top_other section .blog_list .blog .entry a {
	padding: 3px 0 3px 15px;
	width: 100%;
	overflow: hidden;
	background: url(../img/icon_tri01_r.png) no-repeat left 3px;
	box-sizing: border-box;
	white-space: nowrap;
	text-overflow: ellipsis;
}


.top_other section .blog_list .blog .entry.none h4 {
	padding: 3px 0;
}

.top_other section .blog_list .blog .entry a:link,
.top_other section .blog_list .blog .entry a:visited {
	color: #000000;
}

.top_other section .blog_list .blog .entry a:active,
.top_other section .blog_list .blog .entry a:hover {
	color: #999999;
}

.top_other section .blog_list .blog .entry h4 {
	font-weight: 400;
}


/*バーチャル見学会---------------*/
.top_panorama{
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	padding: 0 10px;
	margin:0 auto 80px;
}

.top_panorama a:hover{
	opacity: 0.8;
}

.top_panorama a img.pc{
	
}

.top_panorama a img.sp{
	display: none;
}

/*リフォームモニター募集---------------*/
.top_monitor{
	margin: 0 auto 70px auto;
	padding: 0 10px;
	max-width: 1000px;
	box-sizing: border-box;
}

.top_monitor a{
	display: block;
}

.top_monitor a:hover, .top_monitor a:active{
	opacity: 0.8;
}


/*スーパーウォール工法---------------*/
.top_superwall{
	margin: 60px auto 0 auto;
	padding: 0 10px;
	max-width: 1000px;
}

.top_superwall ul li:hover {
	opacity: 0.7;
}

.top_superwall ul li {
	margin: 30px auto 0 auto;
}

.top_superwall ul li:first-of-type {
	margin: 0 auto;
}

/*土地情報・住宅販売共通---------------*/
.top_estate * {
	box-sizing: border-box;
}

.top_estate {
	margin: 80px auto 0 auto;
	padding: 0 10px;
	text-align: left;
	max-width: 770px;
}

.top_estate h2 {
	margin: 0 0 35px 0;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 40px;
	text-align: left;
}

.top_estate h2 a {
	padding: 0 0 0 60px;
	line-height: 0;
	font-size: 0 ;
}

.top_estate h2 a span.teko,
.top_estate h2 a span.main {
	display: inline-block;
	line-height: 1;
	vertical-align: top;
}

.top_estate h2 a span.teko {
	margin: 7px 0 0 0;
	font-size: 35px;
	font-weight: 400;
}

.top_estate h2 a span.main {
	margin: 10px 0 0 25px;
	font-size: 21px;
	font-family: 'Noto Sans Japanese',"メイリオ",Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','MS Pゴシック',sans-serif;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.top_estate h2 a:link span.main,
.top_estate h2 a:visited span.main {
	color: #222;
}

.top_estate h2 a:active span.teko,
.top_estate h2 a:hover span.teko,
.top_estate h2 a:active span.main,
.top_estate h2 a:hover span.main {
	color: #999;
}

.top_estate ul {
	display: flex;
	flex-direction: column;
}

.top_estate ul li {
	padding: 15px 0;
	border-bottom: 1px solid #d1d1d1;
	width: 100%;
}

.top_estate ul li:first-of-type{
	margin: 0 auto;
	border-top: 1px solid #d1d1d1;
}

.top_estate ul li a {
	display: flex;
	align-items: center;
}

.top_estate ul li a > span {
	display: block;
}

.top_estate ul li a > span.new {
	flex: 0 0 50px;
	width: 50px;
}

.top_estate ul li a > span.new img {
	width: 40px;
}

.top_estate ul li a > span.status {
	flex: 0 0 60px;
	width: 60px;
	line-height: 30px;
	font-size: 14px;
	text-align: center;
}

.top_estate ul li a > span.status.j_status_notice {
	font-size: 12px;
	letter-spacing: 0.02em;
}

.top_estate ul li a > span.sbj {
	margin: 0 0 0 15px;
	padding: 0 0 0 15px;
 	flex: 1 1 auto;
	min-width: 0;
	word-break: break-all;
}

/*土地情報---------------*/
.top_estate.land h2 {
	background-image: url("../img/icon_land.png");
}

.top_estate.land h2 a:link span.teko,
.top_estate.land h2 a:visited span.teko {
	color: #3c8658;
}

.top_estate.land h2 a:active span.teko,
.top_estate.land h2 a:hover span.teko {
	color: #999;
}

.top_estate.land ul li a > span.sbj {
	border-left: 5px solid #3c8658;
}

/*住宅販売情報---------------*/
.top_estate.sell h2 {
	background-image: url("../img/icon_sale.png");
}

.top_estate.sell h2 a:link span.teko,
.top_estate.sell h2 a:visited span.teko {
	color: #27447a;
}

.top_estate.sell h2 a:active span.teko,
.top_estate.sell h2 a:hover span.teko {
	color: #999;
}

.top_estate.sell ul li a > span.sbj {
	border-left: 5px solid #27447a;
}


/*バナーベース---------------*/
.top_banner{
	margin: 0 auto 70px auto;
	padding: 0 10px;
	max-width: 1000px;
	box-sizing: border-box;
}

.top_banner a{
	display: block;
}

/*pc_sp切り替え*/
.top_banner a img.sp{
	display: none;
}














