@charset "utf-8";
/*==================================================
cmn
==================================================*/

html {
	font-size: 62.5%;
}
body {
	overflow: auto;
	color: #444;
	font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt" 1;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 2.75em;
	letter-spacing: 1px;
	position: relative;
	margin: 0px;
	padding: 0px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
header, nav, div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, img, table, tr, td, th, input, textarea, select, a, figure, span {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	list-style: none;
	margin: 0px;
	padding: 0px;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.8em;
	font-weight: 700;
	font-size: 100%;
	font-weight: normal;
}
p {
	margin-bottom: 1em;
}
p:last-child {
	margin: 0;
}
a, input[type="submit"] {
	text-decoration: none;
	color: inherit;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	outline: none;
}
a:hover, input[type="submit"]:hover {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
.wrap {
	margin: 0 auto;
	box-shadow: none;
	width: 100%;
	max-width: 1400px;
	overflow: hidden;
}
.wrap-m {
	margin: 0 auto;
	box-shadow: none;
	width: 100%;
	max-width: 1200px;
	overflow: hidden;
}
.wrap-ml {
	margin: 0 auto;
	box-shadow: none;
	width: 100%;
	max-width: 1100px;
	overflow: hidden;
}
.wrap-ms {
	margin: 0 auto;
	box-shadow: none;
	width: 100%;
	/*max-width: 880px;*/
	max-width: 660px;
	overflow: hidden;
}
.wrap-s {
	margin: 0 auto;
	box-shadow: none;
	width: 100%;
	max-width: 920px;
	overflow: hidden;
}
.sp {
	display: none;
}
b {
	font-weight: bold;
}

/*==================================================
head
==================================================*/
.site-header {
	vertical-align: middle;
	position: fixed;
	z-index: 999;
	width: 100%;
	background: #fff;
	height: 180px;
	top: 0;
}
.site-header:after {
	content: " ";
	display: block;
	clear: both;
}
.site-header h1 {
	margin: 0 0 0 30px;
	float: left;
	font-weight: bold;
	display: table;
	height: 90px;
}
.site-header h1 img{
	width: auto;
	height: 128px;
	margin-top: 26px;
}
.site-header h1 a {
	vertical-align: middle;
	display: table-cell;
}
.site-header h1 span {
	margin-left: 1em;
}
.site-header .gnavi {
	float: right;
	letter-spacing: -.4em;
	width: 80%;
	line-height: 2.4;
}
.site-header .gnavi ul li {
	display: table;
	float: left;
	letter-spacing: 1px;
	vertical-align: middle;
	height: 90px;
	margin: 43px 0.6%;
	text-align: center;
}
.site-header .gnavi .other{
	float: right;
    letter-spacing: 1px;
    margin: 0 0 0 0.6%;
    padding: 15px 0;
    width: 300px;
    height: 180px;
    background: #9D8D59;
}
.site-header .gnavi .other ul li{
	display: block;
    height: 20px;
    text-align: center;
    float: none;
    margin: 11px 14px;
	line-height: 2.0;
}
.site-header .gnavi .other ul li a{
	color: #fff;
	font-size: 1.3rem;
    display: block;
}
.site-header .gnavi .other .homeslink{
	line-height: 2.4;
}
.site-header .gnavi .other .homeslink a{
	border: 1px solid #fff;
    margin: 10px auto;
    padding: 0 10%;
    display: table;
}
.site-header .gnavi ul li span,.site-header .gnavi-s ul li span {
	position: relative;
	font-weight: bold;
	font-size: 1.6rem;
}
.site-header .gnavi ul li.current span:after, .site-header .gnavi ul li:hover span:after {
	content: "";
	width: 100%;
	height: 1px;
	background: #9D8D59;
	display: block;
	position: absolute;
	left: 0;
	bottom: -10px;
}
.site-header .gnavi-s ul li.current span:after{
	content: "";
	width: 100%;
	height: 3px;
	background: #fff;
	display: block;
	position: absolute;
	left: 0;
	bottom: -10px;
}
.site-header .gnavi ul li a {
	vertical-align: middle;
	display: table-cell;
	padding: 0 10px;
}
.site-header .gnavi ul li a:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}
.site-header .gnavi ul li li a:hover {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
.site-header .gnavi li:hover ul {
	opacity: 1;
	visibility: visible;
	top: 90px;
	left: 0;
}
.site-header .gnavi li ul {
	position: absolute;
	top: 80px;
	left: 0;
	width: inherit;
	z-index: 9999 !important;
	height: inherit;
	display: block;
	opacity: 0;
	visibility: hidden;
	clip: inherit;
	width: 100%;
	height: auto;
	text-align: center;
	background: #eb9b22;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	padding: 35px 0;
}
.site-header .gnavi li ul li {
	height: inherit;
	display: inline-block;
	float: none;
}
.site-header .gnavi li ul li a {
	color: #fff;
}
.gnavi-s, .button-toggle {
	display: none;
}

.menu-en {
	text-align: center;
	font-size: 1.0rem;
	color: #9D8D59;
	margin-top: 12px;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

.site-header .gnavi ul li:hover .menu-en {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

/*==================================================

foot
==================================================*/
.site-footer {
	text-align: center;
	background: #F3F3F3;
}
.site-footer section {
	padding: 50px 0;
}
.site-footer h2 {
	margin: 0 auto 1.5em;
}
.site-footer h2 a {
	display: block;
}
.site-footer h2 span {
	display: block;
	font-weight: bold;
	margin: 1em 0 0;
}
.site-footer .fnavi {
	letter-spacing: -.4em;
}
.site-footer .fnavi li {
	display: inline-block;
	letter-spacing: 1px;
	vertical-align: middle;
	margin: 0 10px;
}
.site-footer .fnavi .other {
	font-size: 1.4rem;
}
.site-footer .mark-area {
	margin-bottom: 30px;
}
footer address {
	clear: both;
	font-size: 80%;
	letter-spacing: 0;
	font-style: normal;
	background: #F3F3F3;
	border-top: 1px solid #E3E3E3;
}
.foot-box {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    width: 500px;
    margin: 0 auto;
}
.foot-box span {
	font-weight: bold;
	margin-top: 10px;
}
.foot-box h2{
	margin-top: 5px;
}
/*==================================================
content
==================================================*/
.main-content {
	margin-top: 180px;
	margin-bottom: 100px;
}
section {
	padding: 174px 0 0;
	position: relative;
}
.txt-center {
	text-align: center;
}
.bg-orange-l {
	background: #fff8f0;
}
/*タイトル*/
h2.tit01 {
    text-align: center;
    font-size: 34px;
    font-size: 3.4rem;
    margin: 0 0 0.6em;
    font-weight: bold;
    line-height: 3.0em;
}
h2.tit01.txt-en {
	font-size: 30px;
  font-weight: 500;
  line-height: 1;
  color:#8bc2d5;  
  margin-bottom:16px;
}
.page-title {
	background: url(../img/cmn/title_bg.jpg);
	background-size: cover;
	background-position: top center;
	height: 140px;
	padding: 0;
	text-align:center;
}
.page-title h1{
	line-height: 140px;
	color: #fff;
	font-weight: bold;
	font-size: 2.4rem;
}

h2.tit02 {
	text-align: center;
	font-size: 36px;
	margin: 0 0 35px;
  letter-spacing: 0.02em;
	display: block;
	color: #fff;
}
h2.tit02 span {
	display: block;
    position: absolute;
    left: 0;
    right: 0;
    font-size: 1.4rem;
}
h3.tit01 {
	font-size: 130%;
	margin: 0 0 0.3em;
}
h3.tit02 {
	font-size: 32px;
	text-align: center;
	margin: 0 auto 13px;
  font-weight: 700;
  color:#333;
}
h3.catch-copy {
	font-size: 3.4rem;
	margin: 0 0 3em;
	text-align: center;
}
h4 {
	font-size: 16px;
    font-weight: bold;
}
.mb {
	margin-bottom: 30px;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.pb0 {
	padding-bottom: 0 !important;
}
.tc {
	text-align: center !important;
}
/*カラム*/
.col-2, .col-3, .col-4 {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.col-2 .col-box {
	width: 47.619047619%;
	margin: 5% 0 0;
}
.col-3 .col-box {
	width: calc(100% / 3) ;
	margin: 5% 0 0;
}
.col-3 .col-box:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: calc(100% / 3) ;
}
.col-4 .col-box {
	width: calc(100% / 4) ;
	margin: 5% 0 0;
}
.col-4 .col-box:nth-child(4n+2):last-child,
.col-4 .col-box:nth-child(4n+3):last-child{
    margin-left: auto;
    margin-right: calc(100% / 4) ;
}
/*ボタン*/
.detail-link {
	text-align: right;
	margin: 1.2em 0 0;
}
.detail-link p {
	display: inline-block;
}
.detail-link a {
	display: inline-block;
	color: #9D8D59;
	font-weight: bold;
	font-size: 1.6rem;
	text-align: right;
}
.detail-link a p span::after {
	content: '';
	background: url(../img/cmn/btn-arrow.png) no-repeat top right;
	width: 40px;
	height: 5px;
	background-size: 40px 5px;
    position: absolute;
    right: 0;
    top: 7px;
}
.detail-link span {
    position: relative;
    padding-right: 50px;
}
.detail-link_w {
	text-align: center;
	margin: 1.2em 0 0;
}
.detail-link_w p {
	display: inline-block;
}
.detail-link_w a, .detail-link_w span {
	display: block;
	padding: 10px 45px;
	border-radius: 40px;
	border: 2px solid #eb9b22;
	color: #fff;
}

.square-link {
	text-align: left;
	margin: 2.4em 0 0;
}
.square-link p {
	display: inline-block;
}
.square-link a {
	display: inline-block;
	color: #9D8D59;
	font-weight: bold;
	font-size: 1.6rem;
	text-align: right;
	border: 1px solid #9D8D59;
	padding: 0 30px;
}
.square-link a p span::after {
	content: '';
	background: url(../img/cmn/btn-arrow.png) no-repeat top right;
	width: 40px;
	height: 5px;
	background-size: 40px 5px;
    position: absolute;
    right: 0;
    top: 7px;
}
.square-link span {
    position: relative;
    padding-right: 50px;
}
/*slick*/
.slick-arrow {
	display: none !important;
}
.slick-dots {
	display: none !important;
}

.bg-gray {
	background: #F3F3F3;
}
/*==================================================
index
==================================================*/
.main-img {
	padding: 0;
	background: #F3F3F3;
}
.main-img .slider li {
	height: 950px;
	width: 100%;
	display: table;
	text-align: center;
}
.vegas-slide, .vegas-slide-inner {
	-webkit-transform: translateZ(0) rotate(0.1deg) !important;
	transform: translateZ(0px) rotate(0.1deg) !important;
}
.main-img .slider li .txt {
	display: table-cell;
	vertical-align: middle;
}
/*.main-img .slider li.slide01 {
	background: url(../img/top/main_img01.jpg) no-repeat center;
	background-size: cover;
}
.main-img .slider li.slide02 {
	background: url(../img/top/main_img02.jpg) no-repeat center;
	background-size: cover;
}
.main-img .slider li.slide03 {
	background: url(../img/top/main_img03.jpg) no-repeat center;
	background-size: cover;
}
.main-img .slider li.slide04 {
	background: url(../img/top/main_img04.jpg) no-repeat center;
	background-size: cover;
}*/
.main-img .slider li.slide01 h2,
.main-img .slider li.slide02 h2,
.main-img .slider li.slide03 h2,
.main-img .slider li.slide04 h2 {
	font-size: 42px;
	font-size: 4.2rem;
	color: #fff;
	text-shadow: 0 0 30px #333;
	letter-spacing: 10px;
	margin: 250px 0 0 100px;
	text-align: left;
}

.main-img .slider li.slide01 h2 img {
    margin-top: -6rem;
    width: 480px;
}
.main-img .slider li .txt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	margin-top: 368px;
}
.main-img .scroll {
	position: relative;
    text-align: center;
    color: #fff;
    margin-top: -43px;
}
.main-img .scroll a {
  padding-top: 60px;
}
.main-img .scroll a span {
  position: absolute;
  top: -43px;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #fff;
  border-radius: 50px;
  box-sizing: border-box;
}
.main-img .scroll a span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.concept-sec {
    position: relative;
    min-height: 780px;
}
.concept-sec .concept-img {
	position: absolute;
	left: 0;
	top: 60px;
	z-index: 10;
	width: 54%;
}
.concept-sec .concept-txt {
	background: #fff;
    margin: 60px 0 0 48%;
    padding: 60px 30px 60px 56px;
    width: 48%;
    z-index: 11;
    position: absolute;
}
.concept-sec .concept-txt h2 {
	font-size: 2.8rem;
	margin-bottom: 2.8rem;
	line-height: 2;
}
.concept-sec .concept-txt p {
	line-height: 3;
}

.map-sec {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
}
.map-sec .map-bg {
    
}
.map-sec a {
    width: 138px;
    height: 25px;
}
.map-sec .hanshinkobe {
    position: absolute;
    left: 80px;
    bottom: 360px;
}
.map-sec .hokusetsu {
    position: absolute;
    left: 270px;
    bottom: 312px;
}
.map-sec .osaka {
    position: absolute;
    left: 255px;
    bottom: 250px;
}
.map-sec .kyotoshiga {
    position: absolute;
    right: 150px;
    bottom: 410px;
}
.map-sec .other {
    position: absolute;
    left: 310px;
    bottom: 165px;
}
.apart-box .col-box:nth-child(3n+1),
.apart-box .col-box:nth-child(3n+2){
	border-right: 1px solid #F3F3F3;
}

.apart-box.col-3 .col-box {
	margin: 0 0 0;
}
.apart-box.col-3 .col-box img {
	width: 100%;
	object-fit: cover;
    height: 400px;
}
.apart-txtbox {
	background: #fff;
	padding: 40px;
	min-height: 410px;
}
.apart-txtbox .catch {
	font-size: 1.5rem;
	margin-bottom: 0.2rem;
	font-weight: bold;
}
.apart-txtbox .tit01 {
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 1rem !important;
	vertical-align: middle;
}
.apart-txtbox .desc-tit {
	width: 16%;
	margin-bottom: 1rem !important;
}
.apart-txtbox .desc-txt {
	width: 81%;
	margin-bottom: 1rem !important;
}
.apart-txtbox .new {
	color: #B20000;
	font-size: 1.6rem !important;
	font-weight: bold;
}
.apart-txtbox .finished {
	background: #B20000;
	color: #fff;
	font-size: 1.6rem !important;
	padding: 6px 12px;
    vertical-align: bottom;
	word-break: keep-all;
}

.apart-txtbox .col-box:nth-child(3n+1),
.apart-txtbox .col-box:nth-child(3n+2){
	border-right: none;
}
.search .consale-sec {
    margin-top: -160px;
    padding-top: 160px;
}
.search .consale-box .col-box:nth-child(4n+1),
.search .consale-box .col-box:nth-child(4n+2),
.search .consale-box .col-box:nth-child(4n+3){
	border-right: 1px solid #F3F3F3;
}
.search .consale-box .col-box.noboder {
	border-right: none;
}

.search .consale-box.col-4 .col-box {
	margin: 0 0 0;
}
.consale-txtbox {
	background: #fff;
	padding: 30px 20px;
	min-height: 315px;
}
.consale-txtbox .tit01 {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 1rem !important;
	vertical-align: middle;
}
.consale-txtbox .desc-tit {
	width: 14%;
    margin-bottom: 1rem !important;
    font-size: 1.3rem;
    line-height: 1.5;
}
.consale-txtbox .desc-txt {
	width: 81%;
    margin-bottom: 1rem !important;
    font-size: 1.3rem;
    line-height: 1.5;
}
.consale-txtbox .new {
	color: #B20000;
	font-size: 1.6rem !important;
	font-weight: bold;
}
.consale-txtbox .finished {
	background: #B20000;
	color: #fff;
	font-size: 1.2rem !important;
	padding: 6px 12px;
    vertical-align: bottom;
	word-break: keep-all;
}
.consale-txtbox .col-box:nth-child(4n+1),
.consale-txtbox .col-box:nth-child(4n+2),
.consale-txtbox .col-box:nth-child(4n+3){
	border-right: none;
}
.consale-txtbox .col-box {
	margin-right: 0 !important;
}
.consale-txtbox .detail-link a {
    font-size: 1.2rem;
}
.consale-txtbox .detail-link a p span::after {
    top: 4px;
}

.service-box a, .company-box a {
	display: block;
}
.service-box figure {
	margin: 0 0 1em;
}

.news-txtbox {
	background: #fff;
	padding: 30px 20px;
	min-height: 315px;
}
.news-txtbox .tit01 {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 1rem !important;
	vertical-align: middle;
}
.news-txtbox .desc-tit {
	width: 14%;
    margin-bottom: 1rem !important;
    font-size: 1.3rem;
    line-height: 1.5;
}
.news-txtbox .desc-txt {
	width: 81%;
    margin-bottom: 1rem !important;
    font-size: 1.3rem;
    line-height: 1.5;
}
.news-txtbox .new {
	color: #B20000;
	font-size: 1.6rem !important;
	font-weight: bold;
}
.news-txtbox .finished {
	background: #B20000;
	color: #fff;
	font-size: 1.2rem !important;
	padding: 6px 12px;
    vertical-align: bottom;

}
.news-txtbox .col-box:nth-child(4n+1),
.news-txtbox .col-box:nth-child(4n+2),
.news-txtbox .col-box:nth-child(4n+3){
	border-right: none;
}
.news-txtbox .col-box {
	margin-right: 0 !important;
}
.news-box {
	height: 40px;
	margin-top: 0 !important;
	margin-bottom: 20px;
	display: block;
}
.news-area {
	margin-top: 0 !important;
	margin-bottom: 30px;
	display: block;
	border: 1px solid #9D8D59;
	padding: 20px 30px;
}
.news-sec .wrap-ms {
    margin: 0 auto;
    box-shadow: none;
    width: 100%;
    max-width: 820px !important;
    overflow: hidden;
}
.news-box .txt-box{
	width: 100%;
	line-height: 1.4;
}
.news-box .txt-box .news-date{
	width: 120px;
	display: inline-block;
	vertical-align: top;
	font-size: 1.2rem;
	padding-top: 3px;
}
.news-box .txt-box .news-tit{
	font-weight: bold;
	width: 280px;
	display: inline-block;
	vertical-align: top;
	line-height: 1.4;
}
.news-box .txt-box .news-txt{
	display: inline-block;
	width: calc(100% - 420px);
	vertical-align: top;
}
.news-box .txt-box .news-txt.no-tit{
	display: inline-block;
	width: calc(100% - 140px);
	vertical-align: top;
}
.news-box .txt-box .news-txt .new{
	background: #9D8D59;
    padding: 0 5px;
    color: #fff;
}
.news-sec .square-link {
	text-align: center !important;
	margin-top: 60px;
}
.news-sec .square-link a {
	text-align: center !important;
	padding: 5px 60px !important;
}
.movie-sec {
	padding-bottom: 160px;
	border-top: 1px solid #9D8D59;
}
.movie-sec .movie-block {
	text-align: center;
}
.news-borderbox {
	border: 1px solid #204C3B;
	padding: 30px;
	text-align: center;
	margin-top: 30px;
}

/*==================================================
about
==================================================*/
.about-sec01-img {
	margin-bottom: 60px;
}
.about-sec01-slide {
	padding: 0;
	margin-top: 100px;
	width: 100% !important;
}
/*.about-sec01-slide .about-slider {
	height: 200px;
	display: flex;
}
.about-sec01-slide .about-slider .slide{
	width: 200px !important;
}
.about-sec01-slide .about-slider .slide img{
	width: 100%;
}
.about-sec01-slide .exterior-slider {
	height: 200px;
	display: flex;
}
.about-sec01-slide .exterior-slider .slide{
	width: 200px !important;
}
.about-sec01-slide .exterior-slider .slide img{
	width: 100%;
}
.slick-slider div { transition: none; }*/
#loopslider {
    margin: 0 auto;
    width: 100%;
    height: 200px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
 
#loopslider ul {
    height: 200px;
    float: left;
    display: inline;
    overflow: hidden;
}
 
#loopslider ul li {
    width: 200px;
    height: 200px;
    float: left;
    display: inline;
    overflow: hidden;
}
#loopslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
#loopslider ul {
    display: inline-block;
    overflow: hidden;
	width: 1200px !important;
}
#loopslider2 {
    margin: 0 auto;
    width: 100%;
    height: 200px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
#loopslider2 ul {
    height: 200px;
    float: left;
    display: inline;
    overflow: hidden;
}
#loopslider2 ul li {
    width: 200px;
    height: 200px;
    float: left;
    display: inline;
    overflow: hidden;
}
#loopslider2 ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
#loopslider2 ul {
    display: inline-block;
    overflow: hidden;
}
.about-sec02 .catch-copy {
	margin-bottom: 30px;
}
.about-sec02-txt {
	margin-bottom: 60px;
}
.about-sec02-block {
	padding-left: 25%;
	background: url(../img/about/consistent.png) no-repeat top 53% left;
	background-size: 25%;
}
.about-sec02-block .col-2 .txt-box{
	width: 62%;
}
.about-sec02-block .col-2 .img-box{
	width: 36.36363636%;
}
.about-sec02-block .col-2 .col-box:first-child::after,
.about-sec02-block .col-2 .col-box:nth-child(3)::after{
	content: '';
	background: url(../img/about/arrow.png) no-repeat top center;
	background-size: 50px;
	width: 100%;
	height: 52px;
	display: block;
    margin-top: 30px;
}
.sys-tit {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
.sys-tit span {
	font-size: 1.4rem;
}
/*==================================================
design
==================================================*/
.design-sec01 {
    padding: 80px 0;
}
.design-sec01-txt {
	margin: 4em 0 0 0;
    line-height: 2.75;
}
.design-sec01 .col-3 .col-box {
    margin: 0 0 0;
}
.design-sec01 .col-3 .col-box img {
	width: 100%;
}
/*==================================================
interior
==================================================*/
.interior-sec01-txt {
	margin: 4em 0 0 0;
    line-height: 2.75;
}
.interior-sec02 {
	padding: 0;
}
.interior-sec02-box .col-box .img-box {
	width: 55.555556%
}
.interior-sec02-box .col-box .txt-box {
	width: 43%;
	padding: 40px 30px 20px;
}
.interior-sec02-box .col-box .txt-box h4 {
	font-size: 2.8rem;
	margin: 0 0 0.5em;
}
.interior-sec02-box .col-box .txt-box p {
	line-height: 2.4;
}
.interior-sec03-img {
	text-align: center;
	margin-bottom: 60px;
}
.interior-sec03 .col-2 .col-box .img-box {
	width: 47.619047619%;
    margin: 5% 0 0;
}
.interior-sec03 .col-2 .col-box .txt-box {
	width: 47.619047619%;
    margin: 5% 0 0;
	padding: 0 10px;
}
.interior-sec03 .col-2 .col-box .txt-box .hplus-tit {
	font-size: 2.4rem;
}
.interior-sec03 .col-2 .col-box .txt-box .hplus-tit-jp {
	
}
.interior-sec03 .col-2 .col-box .txt-box p {
	line-height: 1.8;
}
.interior-sec03-txt .ex-txt {
    font-size: 1.3rem;
}
.interior-sec04 .col-2 .img-box {
	width: 38.910506%;
}
.interior-sec04 .col-2 .txt-box {
	width: 56.51751%;
}
.interior-sec04 .col-2 .txt-box p {
	line-height: 2;
}
.interior-sec04 .col-2 .hplus-tit {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;	
	font-size: 2.4rem;
}
.interior-sec04 .col-2 .hplus-tit-jp {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;	
}
.interior-sec04 .col-2 .col-box {
    margin: 2.5% 0 0;
}
.interior-sec04 .border-t {
	margin-top: 2.5%;
	border-top: 1px solid #9D8D59;
}
.interior-sec04-txt {
	margin-bottom: 60px;
}

/*==================================================
performance
==================================================*/
.performance-sec .sys-tit {
    text-align: center;
    margin-bottom: 2.5rem;
}
.performance-sec .list-area {
	font-size: 1.3rem;
    width: 100%;
	line-height: 1.4;
}
.performance-sec .photo-area {
    width: 86%;
	margin: 30px 7% 80px;
}
.performance-sec .photo-area.col-2 {
    width: 56%;
	margin: 30px 22% 80px;
}
.performance-sec .photo-area img {
	width: auto;
	height: auto !important;
}
.performance-sec .list-area dl {
	display: block;
	padding: 2.2rem 0;
	border-bottom: 1px solid #9D8D59;
}
.performance-sec .list-area dl:first-child {
	border-top: 1px solid #9D8D59;
}
.performance-sec .list-area dl.tit-line dt,
.performance-sec .list-area dl.tit-line dd {
    font-weight: bold;
}
.performance-sec .list-area dl.tit-line dt::before {
	content: none;
}
.performance-sec .list-area dl dt {
	display: inline-block;
	width: 40%;
	padding-left: 1.5rem;
	text-indent: -1.5rem;
}
.performance-sec .list-area dl dt::before {
	content: '■';
	margin-right: 0.3rem;
}
.performance-sec .list-area dl dd {
	display: inline-block;	
	vertical-align: top;
}
.performance-sec .list-area dl dd:nth-child(2) {
	width: 30%;
}
.performance-sec .list-area dl dd:nth-child(3) {
	width: 11.5%;
	text-align: right;
}
.performance-sec .list-area dl dd:nth-child(4) {
	width: 11.5%;
	text-align: right;
}
.performance-sec .list-area dl dd:nth-child(5) {
	width: auto;
	min-width: 38px;
	text-align: right;
}
/*==================================================
outline
==================================================*/
.outline-sec .list-area dl {
	display: block;
	padding: 1.6rem 0;
	border-bottom: 1px solid #9D8D59;
}
.outline-sec .list-area dl:first-child {
	border-top: 1px solid #9D8D59;
}
.outline-sec .list-area dl dt {
	display: inline-block;
	width: 14%;
    vertical-align: top;
	line-height: 2;
}
.outline-sec .list-area dl dd {
	display: inline-block;	
	width: 84%;
	line-height: 2;
}
/*==================================================
company
==================================================*/
.company-dl {
	display: block;
}
.company-dl dt {
	display: inline-block;
	width: 16%;
	vertical-align: top;
	margin-bottom: 20px;
}
.company-dl dd {
	display: inline-block;
	width: 82%;
	vertical-align: top;
	margin-bottom: 20px;
}
#maps,#maps2,#maps3 {
	height: 450px;
	width: 100%;
}


/*==================================================
recruit
==================================================*/
.recruit-dl {
	display: block;
	margin:0 0 10px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.recruit-dl dt {
	display: inline-block;
	width: 24%;
	vertical-align: top;
	margin-bottom: 20px;
	padding: 10px;
	border-top: 1px solid #fff;
	background-color: #FAFAFA;
}
.recruit-dl dd {
	display: inline-block;
	width: 74%;
	vertical-align: top;
	margin-bottom: 20px;
	padding: 10px;
}
.detail-link_w .mynavi-btn {
	width: 220px;
}

/*==================================================
privacy
==================================================*/
.privacy-sec .list-area h3 {
	margin-bottom: 0.6rem;
}
.privacy-sec .list-area dl {
	display: block;
	padding: 1.6rem 0;
	border-bottom: 1px solid #9D8D59;
}
.privacy-sec .list-area dl:first-child {
	border-top: 1px solid #9D8D59;
}
.privacy-sec .list-area dl dt {
	display: inline-block;
	width: 100%;
    vertical-align: top;
	line-height: 2;
}
.privacy-sec .indent {
	text-indent: -2em;
	padding-left: 2em;
}
.privacy-sec .tomonokai {
	max-width: 900px;
	width: 100%;
	padding: 30px;
	margin: 2rem auto;
	border: 1px solid #9D8D59;
}
.privacy-sec-txt {
	margin-bottom: 30px;
}
/*==================================================
sitemap
==================================================*/
.sitemap-sec .col-2 .col-box {
	margin: 0;
}
.sitemap-sec .square-link a {
	width: 100%;
    text-align: center;
}


@media screen and (max-width: 1230px) {
.concept-sec .concept-txt h2 {
    line-height: 1.6;
}
.concept-sec .concept-txt p {
    line-height: 1.8;
}
.apart-box.col-3 .col-box {
    width: calc(100% / 2);
}
.col-3 .col-box:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: calc(100% / 2);
}
.apart-txtbox .desc-tit {
    width: 16% !important;
	line-height: 1.8;
}
.apart-txtbox .desc-txt {
    width: 81% !important;
	line-height: 1.8;
}
.apart-txtbox .finished {
    font-size: 1.3rem !important;
}
.apart-txtbox .tit01 {
    font-size: 2.0rem;
}
.consale-txtbox .desc-tit {
    width: 100%;
    margin-bottom: 0 !important;
}
.consale-txtbox .desc-txt {
    width: 100%;
    margin-bottom: 1rem !important;
}
}

@media screen and (max-width: 1148px) {
	.site-header h1{
		margin:0 10px;
		letter-spacing: 0;
	}
	.site-header h1 span{
		font-size:10px;
		display: block;
		margin:0;
	}
	.site-header .gnavi ul li{
		font-size:85%;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 1000px) {
.main-img .slider li {
    height: 700px;
}
.main-img .slider li .txt {
    margin-top: 150px;
}
.apart-txtbox .desc-tit {
    width: 100% !important;
	margin-bottom: 0 !important;
}
.apart-txtbox .desc-txt {
    width: 100% !important;
	margin-bottom: 1rem !important;
}
.consale-box.col-4 .col-box {
    width: calc(100% / 3);
}
.consale-txtbox .desc-tit {
    width: 16% !important;
}
.consale-txtbox .desc-txt {
    width: 81% !important;
}
}
@media screen and (max-width: 768px) {
/*==================================================
cmn
==================================================*/
html {
	overflow: auto;
	font-size: 50%;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	padding: 0;
	margin: 0;
}
body {
	font-size: 13px;
	letter-spacing: 0;
	line-height: 1.8em;
}
.wrap {
	padding: 0 5%;
}
.wrap-m {
	padding: 0 5%;
}
.wrap-ms {
	padding: 0 5%;
}
.wrap-s {
	padding: 0 5%;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
section {
	padding: 24.74% 0 0;
}
.col-2 .col-box {
	width: 100% !important;
	margin: 10% 0 0;
}
.col-3 .col-box {
	width: 100% !important;
	margin: 10% 0 0;
}
.col-4 .col-box {
    width: calc(100% / 2);
    margin: 5% 0 0;
}
/*==================================================
head
==================================================*/
.site-header {
	vertical-align: middle;
	position: fixed;
	z-index: 999;
	width: 100%;
	background: #fff;
	padding:0;
	height: 100px;
}
.site-header:after {
	content: " ";
	display: block;
	clear: both;
}
.site-header h1 {
	margin: 0;
	padding: 0px 10px 0;
	height: inherit;
}
.site-header h1 img {
	width: auto;
	height: 80px;
	margin-top: 0;
}
.site-header h1 span {
	margin-left: 3px;
	font-size: 9px;
	display: inline-block;
}
.btn-navi {
	float: right;
	margin: 30px 5px 10px 0;
}
.btn-navi li {
	float: left;
	margin: 0 5px 0 0;
}
.btn-navi li img {
	width: 40px;
}
	.btn-toggle{
		width:40px;
		height:40px;
		background: #9D8D59;
	}
	.css-bar {
	display: inline-block;
	position: relative;
	margin: 18px 0 0 12px;
	padding:0 0 0;
	background: #fff;
}
.css-bar, .css-bar:before, .css-bar:after {
	width: 16px;
	height: 2px;
}
.css-bar:before, .css-bar:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	background: #fff;
}
.css-bar:before {
	margin-top: -7px;
}
.css-bar:after {
	margin-top: 5px;
}
.gnavi-s {
	position: absolute;
	top: 100px;
	left: 0;
	width: 100%;
	text-align: center;
	background: #9D8D59;
	padding: 20px 0;
}
.gnavi-s li a {
	color: #fff;
	padding:15px 10px;
	display: block;
	font-weight: bold;
	font-size: 120%;
	letter-spacing: 1px;
}
.foot-box {
    width: 100%;
}
.site-footer h2 a img {
	height: 60px
}

}
@media screen and (max-width: 768px) {
/*==================================================
head
==================================================*/
	.site-footer section{
		padding:30px 0 15px;
	}
	.site-footer .fnavi li{
		display: block;
		margin:0 0 10px;
	}
.main-content {
	margin-top: 100px;
}
	h3.tit01{
		font-weight: bold;
	}

/*==================================================
index
==================================================*/

.main-img .slider li {
	height: 400px;
}
.main-img .slider li.slide01 h2 {
	font-size: 1.8rem;
	text-shadow: 0 0 20px #333;
	letter-spacing: 2px;
	margin: 0 0 0 4%;
}
.main-img .slider li.slide01 h2 span {
	padding: 0;
}
.main-img .slider li.slide01 h2 img {
    margin-top: 0;
    width: 55%;
}
	.news-list li {
		margin:0 0 1em;
	}
	.news-list li .data {
    float: none;
		display: block;
    width: auto;
}
.main-img .slider li .txt {
    position: absolute;
	top: auto;
    bottom: 20px;
    left: 0;
    margin-top: 0;
	width: 100%;
}
.concept-sec {
	padding-bottom: 0 !important;
	min-height: 700px;
}
.concept-sec .concept-img {
    position: absolute;
    left: 0;
	right: 0;
    top: 60px;
    z-index: 12;
    width: 70%;
	    margin: 0 auto;
}
.concept-sec .concept-txt {
    background: #fff;
    margin: 100px 5% 0;
    padding: 150px 30px 60px;
    width: 90%;
}
.concept-sec .concept-txt h2 {
	text-align: center;
	font-size: 2.4rem;
}
.square-link {
    text-align: center;
}
.apart-sec {
	padding-top: 20px;
}
.apart-sec h2.tit01 {
	margin: 0;
}
.apart-box.col-3 .col-box img {
    width: 100%;
    object-fit: cover;
    height: auto;
}
.apart-txtbox {
	min-height: auto;
	padding: 20px;
}
.apart-txtbox .desc-tit {
	width: 21%;
	margin-bottom: 0rem !important;
}
.apart-txtbox .desc-txt {
	width: 76%;
	margin-bottom: 1rem !important;
}
.consale-sec {
	padding-top: 30px;
}
.consale-sec h2.tit01 {
	margin: 0;
}
.consale-box.col-4 .col-box {
    width: calc(100% / 2);
    margin: 5% 0 0;
}
.consale-txtbox {
	padding: 10px;
	min-height: auto;
	line-height: 1.6rem;
}
.consale-txtbox .desc-tit {
	width: 100% !important;
	margin: 0 !important;
	line-height: 1.8;
}
.consale-txtbox .desc-txt {
	width: 100% !important;
	margin: 0 0 1rem 0 !important;
	line-height: 1.8;
}
.col-3 .col-box:nth-child(3n+2):last-child {
    margin-left: auto;
    margin-right: 0;
}
.interior-sec01-txt,
.interior-sec02-txt,
.interior-sec03-txt,
.interior-sec04-txt {
	text-align: left;
}
h3.catch-copy {
    font-size: 2.2rem;
    margin: 0 0 3em;
    text-align: center;
}
.news-box {
    height: auto;
}
.news-box .news-tit,
.news-box .news-txt {
	display: block !important;
	width: 100% !important;
}

.movie-sec {
	padding-bottom: 80px;
}

/*==================================================
about
==================================================*/
.about-sec01-txt.txt-center {
	text-align: left;
}
.about-sec02-block {
    background: url(../img/about/consistent_sp.png) no-repeat top 0 center;
    background-size: 60%;
	padding-top: 60%;
}
.about-sec02-block .col-2 .txt-box,
.about-sec02-block .col-2 .img-box{
    width: 100%;
}
.about-sec02-block .col-2 .col-box:first-child::after,
.about-sec02-block .col-2 .col-box:nth-child(3)::after{
	content: none;
}
.about-sec02-block .col-2 .col-box:nth-child(2)::after,
.about-sec02-block .col-2 .col-box:nth-child(4)::after{
	content: '';
	background: url(../img/about/arrow.png) no-repeat top center;
	background-size: 50px;
	width: 100%;
	height: 52px;
	display: block;
    margin-top: 30px;
}
/*==================================================
interior
==================================================*/
.interior-sec02-box .col-box .img-box {
    width: 100%;
}
.interior-sec02-box .col-box .txt-box {
    width: 100%;
    padding: 40px 30px 20px;
}
.interior-sec03 .col-2 .col-box .img-box,
.interior-sec03 .col-2 .col-box .txt-box,
.interior-sec04 .col-2 .img-box,
.interior-sec04 .col-2 .txt-box{
    width: 100%;
}
.hplus-tit,
.hplus-tit-jp{
	text-align: center;
}

.interior-sec03 .col-2 .col-box .img-box{
    width: 60%;
	margin: 0 20%;
}
.interior-sec04 .col-2 .img-box{
    width: 80%;
	margin: 10%;
}
.bg-white {
	background: #fff;
}
.bg-white.mb {
	margin-bottom: 60px;
}
.interior-sec02-box .col-box .txt-box h4 {
    font-size: 2.2rem;
    margin: 0 0 0.5em;
}
.solution h2.tit01 {
	line-height: 1.8em;
}
h2.tit01:after {
    margin: 15px auto 0px;
}
.solution .col-2 .col-box img {
	width: 100%;
}
.solution .col-2.link-box {
	margin-top: 30px !important;
}
.solution .col-2.link-box .col-box {
	margin-top: 0 !important;
}
.solution .col-2 .col-box .detail-link a, .solution .col-2 .col-box .detail-link span {
    width: 80%;
}

/*==================================================
performance
==================================================*/
.performance-sec .list-area,
.performance-sec .photo-area {
    width: 100%;
}
.performance-sec .list-area dl dt {
    width: 100%;
}
.performance-sec .list-area dl dd:nth-child(2) {
    width: 60%;
}
	
.outline-sec .list-area dl dt {
    width: 100%;
	font-weight: bold;
}
.outline-sec .list-area dl dd {
    width: 100%;
}
}


@media screen and (min-width: 1510px) {
.site-header .gnavi {
    width: 1188px;
}
}
@media screen and (max-width: 1510px) {
.site-header .gnavi {
    width: 1140px;
}
}
@media screen and (max-width: 1300px) {
.site-header .gnavi {
    width: 1098px;
}
.site-header .gnavi ul li {
    margin: 36px 0.6%;
}
.site-header .gnavi .other {
    width: 260px;
}
}
@media screen and (max-width: 1250px) {
.site-header .gnavi {
    width: 1025px;
}
.site-header .gnavi ul li {
    margin: 36px 0.4%;
}
.site-header .gnavi .other {
    width: 220px;
}
}
@media screen and (max-width: 1204px) {
.site-header .gnavi {
    width: 912px;
}
.site-header .gnavi ul li {
    margin: 36px 0.2%;
}
.site-header .gnavi .other {
    width: 200px;
}
}
@media screen and (max-width: 1130px) {
.site-header .gnavi {
    width: 844px;
}
.site-header .gnavi .other {
    width: 200px;
}
.site-header .gnavi ul li a {
    padding: 0 5px;
}
}
@media screen and (max-width: 1020px) {
.site-header .gnavi {
    width: 810px;
}
.site-header .gnavi ul li span, .site-header .gnavi-s ul li span {
    font-size: 1.4rem;
}
}
@media screen and (max-width: 965px) {
.site-header .gnavi {
    width: 680px;
}
.menu-en {
	display: none;
}
}
@media screen and (max-width: 900px) {
.site-header .gnavi {
    width: 680px;
}
.site-header .gnavi ul li span, .site-header .gnavi-s ul li span {
    font-size: 1.4rem;
}
.site-header .gnavi ul li {
    margin: 4px 0.6% 0;
}
.site-header .gnavi .other {
    padding: 0 0 5px 0;
    height: auto;
	width: 100%;
}
.site-header .gnavi .other .homeslink a {
    border: none;
    margin: 0;
    padding: 0 5px;
}
.site-header .gnavi .other ul li {
    display: block;
    height: 20px;
    text-align: center;
    float: left;
    margin: 11px 14px;
}
}

.homes-catch-inner {
    padding: 12rem 0 0;
    text-align: center;
}
.homes-catch-inner .homes-catch {
    font-size: 2.4rem;
}
.homes-catch-inner .homes-catch span {
    font-size: 1.8rem;
}
.homes-catch-inner figure {
    width: 15rem;
    margin: 1rem auto 0;
}

@media screen and (max-width: 800px) {
.homes-catch-inner {
    padding: 6rem 0 0;
    text-align: center;
}
.outline-sec {
    padding: 40px 0 0;
}
}

.password {
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
    letter-spacing: .1em
}
.intro a {
    text-decoration: underline;
}

@media screen and (max-width: 800px) {
.txt-center {
    text-align: center !important;
}
.password {
    margin-bottom: 4rem;
}
}


/* As用の調整 */

body {
	color: #000;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt" 1;




  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;

}
p, a, h1, h2, h3, h4, h5, h6 {
	color: #000;
}

footer {

	background-color: #fff;
		position: relative;
		z-index: 1;
		padding-bottom: 40px;
}
.footer_grid .footer_contact .before {
  
  margin: initial;
}
.footer_grid .footer_contact .tel .num {
  
  line-height: 1.15;
}
.company_logo {
	line-height: initial;
}


.entry-box dl dt {
	letter-spacing: normal;
}
h1 {
  margin-left: 19px;
  margin-top: 28px;
}
@media screen and (max-width: 750px) {
	h1 {
		margin-left: 1.4%;
    margin-top: 2.6vw;
	}
}