body { 
    /*font-family: sans-serif;*/ 
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin: 0; 
    background: #f7f3ef; 
}
header { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    background: #fff; 
    padding: 0px 0px;
    position: fixed;
    height: 76px;
    width: 100%;
    z-index: 10;
}
.logo { 
    font-size: 28px; 
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    padding-left: 4rem; }

.logo span {
    font-size:8px;
    text-align:center;
    display: block;
        line-height: 0;
}

/*
.logo { font-size: 28px; font-family: serif; padding-left: 4rem; }
*/
.logo a { color: #333;text-decoration: none; }
.nav { display: flex; gap: 40px; align-items: center; }
.nav-links { display: flex; gap: 40px; align-items: center; }
.nav-item { 
    text-align: center;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    /*font-family: "Noto Serif", serif;*/
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.8px;
}
/*
 .nav-item { text-align: center; font-size: 14px; color: #333; text-decoration: none; }
 .nav-item span { display: block; font-size: 11px; color: #b38d48; }
*/
.nav-item span { 
    display: block; 
    font-size: 11px; 
    color: #b38d48; 
    font-family: "Noto Serif", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    padding-top: 3px;
}
.tel-section { display: flex; align-items: center; font-size: 18px; }
.tel-section .txt {
    font-size: 12px;
    color: #333;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
        padding-left: 22px;
}
.tel-section .number {
	/*
    font-size: 20px;
    color: #333;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
*/
    font-size: 24px;
    color: #333;
    /* font-weight: 500; */
    /* font-family: "Noto Sans"; */
    /* font-optical-sizing: auto; */
    /* font-style: normal; *//*
    font-family: "Noto Serif", serif;*/
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    /* font-style: normal; */
    /* font-variation-settings:
    "wdth" 100; */
        letter-spacing: 0.8px;
}
.tel-icon { color: #b38d48; margin-right: 8px; }
.nav-contact {
    display: flex; align-items: center;
}
.news-btn, .contact-btn {
    padding: 18px 20px;
    color: white;
    font-size: 14px;
    text-align: center;
    width: 100px;
    text-decoration: none;
}
.news-btn { background: #b38d48; }
.contact-btn { background: #333; }

.hero {
    padding: 0px 0px 0;
    color: white;
    text-align: left;
    font-family: serif;
    position: relative;
    background: #fff;
}
.hero img {
    width:100%;
}
.hero-detail {
    padding: 100px 0px 0;
}
.hero-detail img {
    width:100%;
}
.hero h2 {
    position: absolute;
    font-size: 128px;
    margin: 0;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.3);
    top: 100px;
    left: 110px;
        font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.hero p {
    position: absolute;
    top:60px;
    font-size: 40px;
    top: 250px;
    left: 110px;
    margin-top: 20px;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.3);
}
.hero h2.title {
    top: 170px;
    left: 32%;
}

.search-box {
    background: #f4eee9;
    padding: 60px 20px;
    text-align: center;
}
.search-box h3 {
    font-size: 24px;
    margin: 10px 0;
    color: #2e2e2e;
    letter-spacing: 0.1em;
}
.search-box span {
    font-size: 13px;
    color: #b38d48;
    display: block;
    letter-spacing: 0.05em;
}
.search-form {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #ccc;
}
.search-form input {
    flex: 1;
    padding: 20px;
    font-size: 16px;
    border: none;
    outline: none;
        font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.search-form button {
	    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    background: #b38d48;
    color: white;
    border: none;
    padding: 20px 30px;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.map-section { padding: 40px 20px; text-align: center; }
.area-list, .ranking-section { padding: 20px; background: #fff; }
.area-grid, .ranking-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.area-card, .ranking-card { width: 208px;text-align: left;    padding-bottom: 10px; }
.area-card, .ranking-card a { text-decoration: none; color: #000; }
.news-section { padding: 40px 20px; background: #fff; text-align: center; }
.inquiry { background: #eee; padding: 40px 20px; text-align: center; }



.map-section {
    background: #fff;
    padding: 80px 20px;
    text-align: center;
}
.map-section h3 {
    font-size: 24px;
    margin: 0px auto 15px;
    color: #2e2e2e;
    width: 1200px;
    /*width: 1100px;*/
    letter-spacing: 0.05em;
    text-align: center;
    display: block;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
}
.map-section h3 span {
    background-color: #b38d48;
    color: #fff;
    font-size: 14px;
    padding: 2px 4px;
    vertical-align: middle;
    display: inline-block;
    margin-bottom: 3px;
}
.map-section p {
    font-size: 14px;
    color: #888;
    margin-bottom: 40px;
}
.map-image {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}
.ranking-section {
    background: #fff;
    padding: 60px 20px;
}
.ranking-section h3 {
    font-size: 20px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 30px;
    text-align: left;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.listings {
    max-width: 1100px;
    margin: 0 auto 60px;
}

.listings .Listings-left {
    width:500px;
    display:inline-block;
    padding-right:50px;
    vertical-align: top;
}

.listings .Listings-left p span {
    font-size:13px;
    text-align:left;
    color:#b38d48;
    letter-spacing: 0.05em;
}

.listings .Listings-left h3 {
    font-size:36px;
    text-align:left;
    padding:0px 0px 40px;
    margin:0px;
    letter-spacing: 0.1em;
    border: none;
    font-weight: 500;
}

.listings .Listings-left p {
    text-align:left;
    padding:0px;
    margin:0px;
    letter-spacing: 0.05em;
}

.listings .Listings-right {
	vertical-align: top;
    width:500px;
    display:inline-block;
}

.listings .Listings-right img {
    width:100%;
}

.ranking-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    /*grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));*/
    gap: 40px;
    /*gap: 20px;*/
    max-width: 1200px;
    /*max-width: 1100px;*/
    margin: 0 auto 40px;
}
/* .ranking-card {
    text-align: center;
} */
.ranking-card img {
	/*
    width: 100%;
    height: auto;
*/
    width:208px;
    height:120px;
    object-fit: cover;

}

.ranking-card p {
    font-size: 14px;
    margin: 0;
    color: #333;
    position: relative;
}

.ranking-card p::after {
    content: " ";
    background-image: url(/images/common/right-arrow.svg) ;
    width: 12px;
    height: 12px;
    display: inline-block;
    /* text-align: right; */
    top: 5px;
    right: 0;
    position: absolute;
}

.sort-section {
    background: #f4eee9;
    padding: 60px 20px;
    text-align: center;
}
.sort-section h3 {
    font-size: 24px;
    margin: 5px 0px;
}
.sort-section span {
    font-size: 13px;
    color: #b38d48;
}
.sort-section span.notice {
    color:#333;
    display:block;
    text-align:left;
    padding:0px 0px 3px 3px;
}
.sort-dropdown {
    margin: 30px auto 50px;
    max-width: 300px;
    position: relative;
}
.sort-dropdown::after {
    content: "";
    position: absolute;
    top: 36px;
    right: 18px;
    width: 11px;
    height: 11px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
    z-index:15;
}

.sort-dropdown select {
    width: 100%;
    padding: 12px 16px;
    font-size: 16px;
    border: 1px solid #B79435;
    /*font-family: "Noto Serif JP", serif;*/
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;

    z-index: 1;
    position: absolute;
    top: 25px;
    left: 0px;

  padding:18px 16px;
  appearance: none;            /* デフォルト矢印消し */
  -webkit-appearance: none;
  -moz-appearance: none;
   /* position: relative; */
}

.sort-dropdown .underline {
    position: absolute;
    z-index: 10;
    top: 66px;
    width: 270px;
    left: 15px;
    border-bottom:1px solid #B79435;
}
/*
.sort-dropdown select:before {
    content:"";
    position: absolute;
    right: 10px;
    top: 50%;
    border-bottom:1px solid #B79435;
}
*/
.sort-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
    max-width: 1200px;
    /*max-width: 1100px;*/
    margin: 100px auto 0px;
}
.sort-card {
    background: #fff;
    border: 1px solid #ddd;
    text-align: left;
    position: relative;
}
.sort-card img {
    width: 100%;
    height: auto;
}
.sort-card img.build_image {
/*
    width: 100%;
    height: auto;
    */
    overflow: hidden;
    width: 100%;
    height: 248px;
    object-fit: cover;
}
.sort-card .rank {
    position: absolute;
    top: 0;
    left: 0;
    /*background: #e5d3aa;*/
    color: #B79435;
    font-weight: bold;
        padding: 5px;
    font-size: 25px;
    z-index:1;
}
.sort-card .traile {
        content:"";
            position: absolute;
    top: 0;
    left: 0;
    border-style: solid;
    border-top: 0px solid transparent;
  border-bottom: 80px solid transparent;
  border-left: 80px solid #EADFD4;
  border-right: 0;
}
.sort-card .info {
    padding: 10px 15px 0px;
    font-size: 14px;
}
.sort-card .info p {
    margin: 6px 0;
}
.sort-card .info p.building-name {
    padding-bottom: 10px;
    font-size:16px;
}
.sort-card .info p img {
    width: 20px;
    vertical-align: middle;
    padding-right: 5px;
}
.sort-card .list-grid {
    display: flex;
    justify-content: space-between;
    padding: 10px 15px 0px;
}
.sort-card .list-grid p {
    margin: 0px;
    width: 48%;
    font-size: 14px;
}
.sort-card .list-grid p span {
    font-size: 12px;
    color: #b38d48;
    background: #F2ECE7;
    padding: 3% 0%;
    width: 53px;
    display: inline-block;
    text-align: center;
}
.sort-card .buttons {
    display: flex;
    justify-content: space-between;
    padding: 20px 15px 25px;
}
.sort-card .buttons button {
    border: 1px solid #b38d48;
    background: white;
    color: #b38d48;
    padding: 0px 16px;
    font-size: 16px;
    cursor: pointer;
    width: 48%;
    height: 40px;
    position: relative;
        font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.05em;
}
.sort-card .buttons button::after {
    content: "〉";
    position: absolute;
    top:8px;
    right: 10px;
}
.sort-card .buttons button:last-child {
    background: #b38d48;
    color: white;
}
.news-section {
    background: #fff;
    max-width: 100%;
    margin: 0 auto;
    font-family: sans-serif;
    position: relative;
}
.news-section h3 {
    font-size: 24px;
    margin-bottom: 30px;
    padding-left: 12px;
    display: inline-block;
    vertical-align: top;
    position: absolute;
    top:20px;
    left: 170px;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
        letter-spacing: 0.1em;
}
.news-section h3 span {
    font-size: 13px;
    color: #b38d48;
    display: block;
        font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
        letter-spacing: 0.05em;
}
.news-list {
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 711px;
}
.news-list li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    font-size: 14px;
        font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.news-date {
    color: #888;
    width: 120px;
}
.news-title {
    text-align: left;
    width: 525px;
    color:#333;
}
.vacancy-banner {
    background-image: url(/images/top/sofa.svg);
    /* background: #5f5f5f; */
    color: white;
    /* padding: 60px 20px; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 60px auto;
    border-radius: 6px;
    width: 1200px;
    height: 344px;
    justify-content: center;
    align-items: center;
}
.vacancy-text {
    font-size: 18px;
    line-height: 1.6;
    text-align: left;
    width: 390px;
    border-right: 1px solid #fff;
    padding: 20px 0px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.05em;
}
.vacancy-text h4 {
    font-size: 36px;
    margin: 0 0 10px;
    text-align: left;
        font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
}
.vacancy-entry {
    text-align: center;
    width: 520px;
}
.vacancy-entry p {
    font-size: 16px; color: #fff;text-align: left;padding-left: 145px;line-height: 2;
}
.vacancy-info-btn {
    /* background: white; */
    color: #fff;
    padding: 12px 24px;
    border: none;
    font-weight: bold;
    cursor: pointer;
    border: 1px #fff solid;
    background: none;
    width: 280px;
    height: 60px;
    margin-top:10px;
    margin-left: 50px;
    position: relative;
    font-size: 16px;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.vacancy-info-btn::before {
    content: "＞";
    position: absolute;
    top: 18px;
    right: 15px;
    font-weight: 500;
}

.vacancy-entry p.pc {
    font-size: 16px;
    color: #fff;
    text-align: left;
    padding-left: 145px;
    line-height: 2;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

.vacancy-entry p.sp {
    display:none;
}

.inquiry {
    background: url('/images/footer/footer.svg') no-repeat center/cover;
    padding: 120px 20px;
    text-align: center;
    position: relative;
    font-family: serif;
}
.inquiry-box {
    background: white;
    padding: 60px 40px;
    max-width: 700px;
    margin: 0 auto;
}
.inquiry-box span {
    font-size: 14px;
    color: #b38d48;
    letter-spacing: 0.05em;
}
.inquiry-box h2 {
    font-size: 28px;
    margin: 10px 0 20px;
    color: #333;
    letter-spacing: 0.05em;
        font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.inquiry-box p {
    font-size: 18px;
    color: #444;
    margin-bottom: 30px;
        letter-spacing: 0.05em;
}
.inquiry-box button {
    background: #B79435;
    color: white;
    font-size: 16px;
    padding: 18px 88px;
    border: none;
    cursor: pointer;
        letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
        position: relative;
}

.inquiry-box button::before {
    content: "＞";
    position: absolute;
    top: 18px;
    right: 15px;
    font-weight: 500;
}

footer {
    background: #fff;
    text-align: center;
    padding: 40px 0px 0;
    font-family: serif;
}
.footer-inner {
	/*
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    */
    text-align:left;
}
.footer-inner .logo {
    font-size: 36px;
    font-weight: bold;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
        letter-spacing: 0.05em;
}
.footer-nav {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 14px;
    color: #333;
    padding: 40px 0px;
        letter-spacing: 0.05em;
}
.footer-nav a {
    text-decoration: none;
    font-size: 16px;
    color: #000;
}
.property-foooter-inner .gohome {
    border: 1px solid #333;
    margin: 20px auto 50px;
    width: 500px;
    text-align:center;
    padding: 10px 0;
}
.property-foooter-inner .gohome a {
    text-decoration: none;
}
.footer-bottom {
    background: #333;
    color: #fff;
    font-size: 13px;
    padding: 20px;
    margin-top: 40px;
        letter-spacing: 0.05em;
}
