@charset "utf-8";


/**
 * スマホ用設定
 */
@media ( max-width: 768px ) {

    .mv {
        margin: 0 auto;
        padding: 4.0vw 20px;
        width: 100%;
    }
    .mv h1 {
        margin: 0 auto 0.5em;
        padding: 0;
        width: 100%;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
    }
    .mv .mv-sp-area {
        margin: 1.5vw auto;
        padding: 1.2vw 4.0vw;
        width: 100%;
        border: 1px solid #e4e4e4;
        border-radius: 1.0vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 3.2vw;
        gap: 0;
        cursor: pointer;
    }
    .mv .mv-sp-area::before {
        content: "";
        width: 1.5em;
        height: 1.0em;
        background: url(../images/icon-map-orange.svg) no-repeat center / contain;
    }
    .mv .mv-sp-area span:nth-child(1) {
        display: block;
        flex: 0 0 calc( 100% - 26% - 3.0em );
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    .mv .mv-sp-area span:nth-child(2) {
        color: #eea121;
        flex: 0 0 26%;
        text-align: right;
    }
    .mv .mv-sp-railway {
        margin: 1.5vw auto;
        padding: 1.2vw 4.0vw;
        width: 100%;
        border: 1px solid #e4e4e4;
        border-radius: 1.0vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 3.2vw;
        gap: 0;
        cursor: pointer;
    }
    .mv .mv-sp-railway::before {
        content: "";
        width: 1.5em;
        height: 1.0em;
        background: url(../images/icon-map-orange.svg) no-repeat center / contain;
    }
    .mv .mv-sp-railway span:nth-child(1) {
        display: block;
        flex: 0 0 calc( 100% - 26% - 3.0em );
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    .mv .mv-sp-railway span:nth-child(2) {
        color: #eea121;
        flex: 0 0 26%;
        text-align: right;
    }
    .mv .mv-sp-school {
        margin: 1.5vw auto;
        padding: 1.2vw 4.0vw;
        width: 100%;
        border: 1px solid #e4e4e4;
        border-radius: 1.0vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 3.2vw;
        gap: 0;
        cursor: pointer;
    }
    .mv .mv-sp-school::before {
        content: "";
        width: 1.5em;
        height: 1.0em;
        background: url(../images/icon-map-orange.svg) no-repeat center / contain;
    }
    .mv .mv-sp-school span:nth-child(1) {
        display: block;
        flex: 0 0 calc( 100% - 26% - 3.0em );
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    .mv .mv-sp-school span:nth-child(2) {
        color: #eea121;
        flex: 0 0 26%;
        text-align: right;
    }
    .mv .mv-sp-type {
        margin: 1.5vw auto;
        padding: 1.2vw 4.0vw;
        width: 100%;
        border: 1px solid #e4e4e4;
        border-radius: 1.0vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 3.2vw;
        gap: 0;
        cursor: pointer;
    }
    .mv .mv-sp-type::before {
        content: "";
        width: 1.5em;
        height: 1.0em;
        background: url(../images/icon-check-orange.svg) no-repeat center / contain;
    }
    .mv .mv-sp-type span:nth-child(1) {
        display: block;
        flex: 0 0 calc( 100% - 22% - 3.0em );
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    .mv .mv-sp-type span:nth-child(2) {
        color: #eea121;
        flex: 0 0 22%;
        text-align: right;
    }
    .mv :is(.mv-sp-area,.mv-sp-railway,.mv-sp-school,.mv-sp-type)::after {
        display: block;
        margin: 0;
        content: "";
        width: 0.6em;
        height: 0.6em;
        border-right: 2px solid #eea121;
        border-bottom: 2px solid #eea121;
        rotate: -45deg;
    }
    .mv .mv-flex {
        margin: 4.0vw 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 4.0vw 0;
    }
    .mv .hit-num {
        margin: 0;
        color: var(--fg-color);
        font-size: 4.0vw;
    }
    .mv .hit-num span:nth-child(1) {
        display: inline-block;
        margin: 0 1.0em 0 0;
    }
    .mv .hit-num #hit-num {
        color: #bf2228;
        font-size: 130%;
    }
    .mv .sort-list {
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 2.0vw 2.0vw;
    }
    .mv .sort-list > span:nth-child(1) {
        width: 100%;
        color: var(--fg-color);
        font-size: 3.6vw;
    }
    .mv .sort-list > .sort-item {
        margin: 0;
        padding: 0.2em 1.5em;
        color: #6e6e6e;
        font-size: 3.6vw;
        background: #e2e2e2;
        border-radius: 4.0em;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
        cursor: pointer;
        transition: color 0.25s ease-out, background 0.25s ease-out;
    }
    .mv .sort-list > .sort-item.selected {
        color: #fff;
        background: #eea121;
    }

    main {
        margin: 0 auto;
        padding: 8.0vw 3.0vw 4.0vw;
        width: 100%;
    }
    main.archive {
        padding: 8.0vw 3.0vw;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.contents {
        margin: 0 auto;
        padding: 8.0vw 3.0vw 16.0vw;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.contents-search {
        margin: 0 auto;
        padding: 8.0vw 3.0vw 16.0vw;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.contents-full {
        margin: 0 auto;
        padding: 0 3.0vw;
        width: 100%;
        max-width: 100%;
    }

    main.archive .archive-flex {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    main.archive .archive-flex .archive-contents {
        margin: 0;
        padding: 0;
        width: 100%;
    }

    #archive-list .custom-post-list {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.0vw;
    }
    #archive-list .custom-post-list .post-item {
        margin: 0;
        padding: 2.0vw;
        width: 100%;
        background: #fff;
        border-radius: 2.0vw;
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
        gap: 0;
    }
    #archive-list .custom-post-list .post-item .pic {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    #archive-list .custom-post-list .post-item .pic.member {
        position: relative;
    }
    #archive-list .custom-post-list .post-item .pic.member::before {
        position: absolute;
        content: "会員専用物件";
        top: 50%;
        left: 50%;
        margin: 0;
        padding: 0.5em 1.0em;
        width: max-content;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        background: #bf2228;
        translate: -50% -50%;
        z-index: 2;
    }
    #archive-list .custom-post-list .post-item .pic:empty {
        background: #eee;
        border-radius: 2.0vw;
    }
    #archive-list .custom-post-list .post-item .pic.member:empty {
        background: #ccc;
    }
    #archive-list .custom-post-list .post-item .pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 2.0vw;
        z-index: 0;
    }
    #archive-list .custom-post-list .post-item .pic.member img {
        filter: blur( 8px );
        z-index: 0;
    }
    #archive-list .custom-post-list .post-item .title {
        display: block;
        margin: 2.0vw 0 0;
        font-size: 3.6vw;
        line-height: calc( 23 / 16 );
    }
    #archive-list .custom-post-list .post-item .attr {
        margin: 2.0vw 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 1.0vw 0;
    }
    #archive-list .custom-post-list .post-item .attr span:nth-child(2) {
        display: block;
        padding: 0.2em 1.0em;
        width: max-content;
        font-size: 3.2vw;
        line-height: 1.0;
        border: 1px solid var(--fg-color);
        border-radius: 2.0em;
    }
    #archive-list .custom-post-list .post-item .desc {
        margin: 2.0vw 0 0;
        font-size: 3.6vw;
        line-height: calc( 23 / 16 );
    }
    #archive-list .custom-post-list .post-item .price {
        margin: 2.0vw 0 0;
        color: #bf2228;
        font-size: 4.8vw;
    }
    #archive-list .custom-post-list .post-item .price::after {
        content: "万円";
        color: var(--fg-color);
        font-size: 60%;
    }

    #archive-sidebar {
        margin: 0;
        padding: 3.0vw;
        width: 100%;
        background: #fff;
        border-radius: 2.0vw;
    }
    #archive-sidebar h3 {
        position: relative;
        margin: 2.0em 0 0.5em;
        padding: 0 0 0.2em;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
        border-bottom: 1px solid #ccc;
    }
    #archive-sidebar h3:first-of-type {
        margin-top: 0;
    }
    #archive-sidebar h3::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.6em );
        right: 0;
        width: 1.2em;
        height: 1.2em;
        background: #999;
        clip-path: polygon( 0 42%, 42% 42%, 42% 0, 58% 0, 58% 42%, 100% 42%, 100% 58%, 58% 58%, 58% 100%, 42% 100%, 42% 58%, 0 58% );
        transition: clip-path 0.25s ease-out, transform 0.25s ease-out;
    }
    #archive-sidebar h3.open::after {
        clip-path: polygon( 0 42%, 42% 42%, 42% 42%, 58% 42%, 58% 42%, 100% 42%, 100% 58%, 58% 58%, 58% 58%, 42% 58%, 42% 58%, 0 58% );
        transform: rotate( 180deg );
    }
    #archive-sidebar p {
        margin: 0;
        padding: 0;
        font-size: 3.2vw;
        text-align: left;
    }
    #archive-sidebar > div {
        margin: 1.0vw 0;
    }
    #archive-sidebar .already-checked {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0 1.0vw;
    }
    #archive-sidebar .already-checked label {
        /* white-space: nowrap; */
    }
    #archive-sidebar button[type="button"]#ws-sidebar-open-popup {
        position: relative;
        bottom: auto;
        display: block;
        margin: 2.0vw 0 0;
        padding: 0.5em 3.0em 0.5em 1.0em;
        width: max-content;
        aspect-ratio: auto;
        font-size: 3.2vw;
        font-family: inherit;
        line-height: 1.0;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 4.0em;
        box-shadow: none;
    }
    #archive-sidebar button[type="button"]#ws-sidebar-open-popup::after {
        position: absolute;
        content: "+";
        top: 50%;
        right: 0.5em;
        color: #eea121;
        font-size: 200%;
        font-weight: 700;
        translate: 0 -52%;
    }
    #archive-sidebar label {
        font-size: 3.6vw;
    }
    #archive-sidebar label:has(:is(input[type="checkbox"],input[type="radio"])) {
        cursor: pointer;
    }
    #archive-sidebar .range-flex {
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #archive-sidebar .range-flex select {
        margin: 0;
        padding: 0.2em 0.4em;
        width: calc( 100% - 20px - 20px );
        padding: 0.1em 0.1em;
        font-size: 16px;
        font-family: inherit;
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    #archive-sidebar .range-flex select option {
        padding: 0.1em 0.1em;
        background: #fff;
    }
    #archive-sidebar .range-flex span {
        width: 20px;
    }
    #archive-sidebar .check-flex {
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }
    #archive-sidebar .check-flex > div {
        width: 50%;
    }
    #archive-sidebar button[type="submit"] {
        position: sticky;
        bottom: 2.0vw;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 6.0vw auto 0;
        width: 144px;
        height: auto;
        aspect-ratio: 144 / 52;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        background: #bf2228;
        border: 0;
        border-radius: 1.0vw;
        box-shadow: 0 0 1.0vw #0008;
    }
    #archive-sidebar .search-popup button[type="submit"] {
        width: 280px;
        aspect-ratio: 280 / 52;
    }
    #archive-sidebar button[type="button"] {
        position: sticky;
        bottom: 2.0vw;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 6.0vw auto 0;
        width: 5.0em;
        height: auto;
        aspect-ratio: 90 / 40;
        color: var(--fg-color);
        font-size: 4.0vw;
        font-weight: 700;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 1.0vw;
        box-shadow: 0 0 1.0vw #0008;
    }
    #archive-sidebar .btns {
        position: sticky;
        bottom: 1.0vw;
        margin: 4.0vw auto 0;
        padding: 4.0vw 0 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 4.0vw;
    }
    #archive-sidebar .btns button {
        position: relative;
        bottom: auto;
        margin: 0;
    }
    #archive-sidebar h3 + div {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.25s ease-out;
    }
    #archive-sidebar h3 + div > div {
        overflow: hidden;
    }
    #archive-sidebar h3.open + div {
        grid-template-rows: 1fr;
    }

    #archive-sidebar .sidebar-back-btn {
        margin: 0.5em auto 0 0;
        width: 80%;
    }
    #archive-sidebar .sidebar-back-btn > a {
        position: relative;
        bottom: auto;
        display: block;
        margin: 2.0vw 0 0;
        padding: 0.5em 3.0em 0.5em 1.0em;
        width: max-content;
        aspect-ratio: auto;
        font-size: 3.2vw;
        font-family: inherit;
        line-height: 1.0;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 4.0em;
        box-shadow: none;
    }
    #archive-sidebar .sidebar-back-btn > a::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.5em );
        right: 1.0em;
        width: 1.0em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-return.svg) no-repeat center / contain;
    }

    .mv .railway-sel {
        margin: 4.0vw auto 0;
        width: 100%;
    }
    .mv .railway-sel .railway-sel-tabs {
        margin: 0;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        gap: 0 1.0vw;
    }
    .mv .railway-sel .railway-sel-tabs .railway-sel-tab {
        margin: 0;
        padding: 0.5em 2.0em;
        font-size: 3.6vw;
        line-height: 1.0;
        background: #fff;
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-radius: 5px 5px 0 0;
        cursor: pointer;
        transition: color 0.25s ease-out, background 0.25s ease-out;
    }
    .mv .railway-sel .railway-sel-tabs .railway-sel-tab.selected {
        color: #fff;
        background: #eea121;
        border: 1px solid #ccc;
    }
    .mv .railway-sel .railway-sel-map {
        position: relative;
        margin: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 800 / 589;
        border: 1px solid #ccc;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img {
        position: absolute;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 800 / 589;
        opacity: 0;
        z-index: 1;
        transition: opacity 0.5s ease-out;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img figure {
        width: 100%;
        height: 100%;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img.selected {
        opacity: 1;
        z-index: 2;
    }

    .contents-search .ws-head {
        margin: 8.0vw auto 0;
        padding: 0.8em 1.0em;
        width: 100%;
        background: #fff;
        box-shadow: 0 4px 4px rgba( 0, 0, 0, 0.25 );
    }
    .contents-search .ws-head:first-of-type {
        margin-top: 0;
    }
    .contents-search .ws-head a {
        font-size: 3.6vw;
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .contents-search .ws-head-list a {
        display: inline-block;
        margin-left: 0.5em;
        font-size: 3.6vw;
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .contents-search .ws-head label {
        font-size: 3.6vw;
    }
    .contents-search .ws-head-list {
        margin: 4.0vw auto 0;
        padding: 0 2.0vw;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 4.0vw 0;
    }
    .contents-search .ws-head-list > span {
        display: inline-block;
        width: calc( 50% - 5.0vw );
    }
    .contents-search .ws-head-list > span label {
        position: relative;
        display: inline-block;
        padding-left: 0.5em;
        width: calc( 100% - 1.3em );
        font-size: 3.6vw;
    }
    .contents-search :is(.ws-head,.ws-head-list) input[type="checkbox"] {
        width: 1.3em;
        height: 1.3em;
    }
    .contents-search .ws-head-list label .search-area-map {
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        margin: 0;
        padding: 0.4em 0.2em 0.4em 1.4em;
        color: #bf2228;
        font-size: 2.8vw;
        font-weight: 400;
        line-height: 1.0;
        border: 1px solid #bf2228;
        cursor: pointer;
        translate: 0 -50%;
    }
    .contents-search .ws-head-list label .search-area-map::before {
        position: absolute;
        content: "";
        top: calc( 50% - 0.5em);
        left: 0.2em;
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-map.svg) no-repeat center / contain;
    }
    .contents-search .ws-head-list label.search-area-detail {
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
        cursor: pointer;
    }
    .contents-search .ws-head-list label .search-area-detail {
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        margin: 0;
        padding: 0.4em 0.4em;
        color: #999;
        font-size: 2.8vw;
        font-weight: 400;
        line-height: 1.0;
        border: 1px solid #999;
        cursor: pointer;
        translate: 0 -50%;
    }
    .contents-search .btns {
        position: sticky;
        bottom: 1.0vw;
        margin: 0 auto;
        padding: 4.0vw 0 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 4.0vw;
    }
    .search-popup .contents-search .btns {
        bottom: 0;
    }
    .contents-search button[type="submit"] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.0em;
        margin: 0;
        width: 65%;
        height: auto;
        aspect-ratio: 300 / 52;
        color: #fff;
        font-size: 3.2vw;
        background: #bf2228;
        border: 0;
        border-radius: 1.0vw;
        box-shadow: 0 0 8px #0008;
    }
    .contents-search button[type="submit"]::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-search-white.svg) no-repeat center / contain;
    }
    .contents-search button[type="button"].close-popup {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.0em;
        margin: 0;
        width: 30%;
        height: auto;
        aspect-ratio: 150 / 52;
        color: var(--fg-color);
        font-size: 3.2vw;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 1.0vw;
        box-shadow: 0 0 8px #0008;
    }

    .search-popup {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        background: rgba( 0, 0, 0, 0.2 );
        z-index: 99;
        opacity: 0;
        transform-origin: center bottom;
        transform: scaleY( 0 );
        transition: opacity 0.5s ease-out, transform 0.01s ease-out 0.5s;
    }
    .search-popup.open {
        opacity: 1;
        transform: scaleY( 1 );
        transition: opacity 0.5s ease-out, transform 0.01s;
    }
    .search-popup .contents-search {
        position: absolute;
        top: 5%;
        left: 5%;
        width: 90%;
        height: 90%;
        padding: 3.0vw;
        background: #f7f8fc;
        box-shadow: 0 0 2.0vw #0008;
        overflow-y: auto;
    }
    #archive-sidebar .search-popup .contents-search {
        padding-bottom: 0;
    }
    .search-popup .contents-search.search-map {
        overflow-y: hidden;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
    }
    .search-popup .contents-search .ws-head {
        margin: 0 auto;
        width: 100%;
        max-width: 100%;
    }
    .search-popup .contents-search .ws-head a {
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .search-popup .contents-search .ws-head-list a {
        display: inline-block;
        margin-left: 0.5em;
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .search-popup .contents-search .ws-head-list {
        width: 100%;
        max-width: 100%;
        gap: 4.0vw 0;
    }
    .search-popup .contents-search .ws-head-map {
        position: relative;
        margin: 2.0vw 0 0;
        width: 100%;
        max-width: 100%;
        height: calc( 100% - 16.0vw );
        gap: 0;
        flex: 1 0 auto;
    }
    .search-popup .contents-search button[type="submit"] {
        box-shadow: 0 0 2.0vw #0008;
    }
    .search-popup .ws-head-map figure {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .search-popup .ws-head-map figure img {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .search-popup .ws-head-map figure svg {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .search-popup .ws-head-map label {
        position: absolute;
        display: block;
        border: 1.0vw solid #fff;
    }
    .search-popup .ws-head-map label input[type="checkbox"] {
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 1px;
        opacity: 0;
    }
    .search-popup .ws-head-map label:has(input[type="checkbox"]:checked) {
        border: 1.0vw solid #f00;
    }
    .search-popup .ws-head-map label:has(input[type="checkbox"]:checked)::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba( 255, 0, 0, 0.2 );
    }
    .search-popup #ws-map-chigasaki label:nth-child(1) {
        top: 5%;
        left: 5%;
        width: 45%;
        height: 90%;
        background: #ccffcc;
    }
    .search-popup #ws-map-chigasaki label:nth-child(2) {
        top: 5%;
        left: 50%;
        width: 45%;
        height: 90%;
        background: #ffccff;
    }
    .search-popup #ws-map-fujisawa label:nth-child(1) {
        top: 5%;
        left: 5%;
        width: 45%;
        height: 90%;
        background: #ccffcc;
    }
    .search-popup #ws-map-fujisawa label:nth-child(2) {
        top: 5%;
        left: 50%;
        width: 45%;
        height: 90%;
        background: #ffccff;
    }
    .search-popup #ws-map-ebina label:nth-child(1) {
        top: 5%;
        left: 5%;
        width: 45%;
        height: 90%;
        background: #ccffcc;
    }
    .search-popup #ws-map-ebina label:nth-child(2) {
        top: 5%;
        left: 50%;
        width: 45%;
        height: 90%;
        background: #ffccff;
    }

    .sell-mv {
        margin: 0;
        padding: 0;
        width: 100%;
        height: calc( 100vh - 80px );
        height: calc( 100dvh - 80px );
        min-height: 800px;
        overflow-y: auto;
    }
    .sell-mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .sell-mv-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness( 40% );
    }
    .sell-mv-wrap {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        translate: 0 -50%;
    }
    .sell-h1 {
        width: 100%;
        color: #fff;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 65 / 48 );

        text-decoration-color: #ec9300;
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .sell-mv-box {
        margin: 4.0vw auto 0;
        padding: 3.0vw 5.0vw 4.0vw;
        width: 90%;
        height: auto;
        background: #f5f1e9;
        border-radius: 2.0vw;
    }
    .sell-mv-box h2 {
        margin: 2.0vw 0 0;
        padding: 0;
        width: 100%;
        color: #424242;
        font-size: 4.0vw;
        font-weight: 700;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
    }
    .sell-mv-box h2::after {
        content: "カンタン60秒入力";
        margin: 0;
        padding: 0.2em 0.8em;
        width: max-content;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 700;
        background: #ec9300;
    }
    .sell-mv-box .sell-form {
        margin: 2.0vw 0 0;
    }
    .sell-mv-box .sell-flex2 {
        margin: 2.0vw 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0 2.0vw;
    }
    .sell-mv-box .sell-flex2 input[type="text"] {
        width: calc( 100% - 2.0vw - 40.0vw );
    }
    .sell-mv-box .sell-flex2 button {
        padding: 0.5em 1.0em;
        width: 40.0vw;
        font-size: 3.6vw;
        font-family: inherit;
    }
    .sell-mv-box .sell-flex3 {
        margin: 2.0vw 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2.0vw 0;
    }
    .sell-mv-box .sell-flex3 :is(select,input[type="text"]) {
        width: 100%;
    }
    .sell-mv-box :is(select,input[type="text"]) {
        margin: 0;
        padding: 0.5em 1.0em;
        width: 100%;
        font-size: 16px;
        font-family: inherit;
        background: #fff;
        border: 0;
        border-radius: 1.0vw;
    }
    .sell-mv-box input[type="text"]::placeholder {
        color: #939393;
    }
    .sell-mv-box input[type="submit"] {
        margin: 0;
        padding: 0.8em 0;
        width: 100%;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        font-family: inherit;
        background: #bf2228;
        border: 0;
        border-radius: 1.0vw;
    }

    .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 1.0vw;
    }
    .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 1.0vw;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }

    .contents-shop {
        max-width: 100%;
    }
    .contents-shop .subtitle {
        color: #515151;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
    }
    .contents-shop .shop-section {
        margin: 0 auto;
        padding: 8.0vw 0;
        width: 100%;
    }
    .contents-shop h1 + .shop-section {
        padding-top: 0;
    }
    .contents-shop .access-section {
        margin: 0 auto;
        padding: 8.0vw 0;
        width: 100%;
        background: #f7f8fc
    }
    .contents-shop h2 {
        margin: 0;
        color: #515151;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
    }
    .contents-shop .shop-flex {
        margin: 8.0vw auto 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .contents-shop .shop-flex .shop-pic {
        width: 100%;
        height: auto;
        aspect-ratio: 585 / 390;
    }
    .contents-shop .shop-flex .shop-pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 4.0vw 4.0vw 0 0;
    }
    .contents-shop .shop-flex .shop-info {
        width: 100%;
        padding: 4.0vw 3.0vw;
        background: linear-gradient( to bottom, #f2dede, #ebe0e3, #ecddf8, #f9f7eb );
        border-radius: 0 0 4.0vw 4.0vw;
    }
    .contents-shop .shop-flex .shop-info .shop-box {
        width: 100%;
        padding: 4.0vw;
        background: #fff;
        border-radius: 3.0vw;
    }
    .contents-shop .shop-flex .shop-info .shop-box .shop-table {
        display: grid;
        grid-template-columns: 28.0vw 1fr;
        gap: 1.0vw 0;
    }
    .contents-shop .shop-flex .shop-info .shop-box .shop-table dt {
        color: #666;
        font-size: 3.6vw;
    }
    .contents-shop .shop-flex .shop-info .shop-box .shop-table dd {
        font-size: 3.6vw;
    }
    .contents-shop .access-map {
        margin: 8.0vw auto 0;
        padding: 3.0vw;
        width: 100%;
    }
    .contents-shop .access-map iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        border: 0;
    }
    .contents-shop .access-box {
        margin: 8.0vw auto 0;
        padding: 2.0vw 4.0vw;
        width: 100%;
        height: auto;
        background: #fff;
        border-top: 3.0vw solid #bf2228;
        border-radius: 1.0vw 1.0vw 0 0;
        box-shadow: 0 0.5vw 1.0vw rgba( 0, 0, 0, 0.25 );
    }
    .contents-shop .access-box h3 {
        margin: 0 0 1.0em;
        padding: 0;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: center;
    }
    .contents-shop .access-box .tel-info {
        margin: 2.0vw 0 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    .contents-shop .access-box .tel-info > .btn-tel {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #bf2228;
        font-size: 8.0vw;
        font-weight: 700;
        line-height: 1.0;
    }
    .contents-shop .access-box .tel-info > .btn-tel::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-tel.svg) no-repeat center / contain;
    }
    .contents-shop .access-box .tel-info > .btn-reservation {
        width: 100%;
        padding: 0.4em 0;
        flex: 0 0 100%;
    }
    .contents-shop .access-box > p {
        margin: 1.0em 0 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
    }

    #company-info {
        margin: 0 auto;
        padding: 8.0vw 0;
    }
    #company-info .subtitle {
        color: #515151;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
    }
    #company-info h2 {
        margin: 0;
        color: #515151;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
    }
    #company-info .company-table {
        margin: 8.0vw auto 0;
        width: 96%;
        padding: 5.0vw 4.0vw;
        background: #f7f8fc;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }
    #company-info .company-table dt {
        margin: 0 auto;
        padding: 1.0em 0 0.2em;
        width: 100%;
        color: #282828;
        font-size: 3.6vw;
        font-weight: 300;
    }
    #company-info .company-table dd {
        margin: 0 auto;
        padding: 0.2em 0 1.0em;
        width: 100%;
        color: #000;
        font-size: 3.6vw;
        font-weight: 500;
        border-bottom: 1px solid #cecece;
    }

    .build-mv {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1512 / 847;
    }
    .build-mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .build-mv-bg img {
        width: 100%;
        height: 100%;
        object-position: 50% 10%;
        object-fit: cover;
        filter: brightness( 70% );
        clip-path: polygon( 0 15%, 50% 0, 100% 15%, 100% 100%, 0 100% );
    }
    .build-h1 {
        position: absolute;
        top: 8%;
        left: 50%;
        width: max-content;
        color: #fff;
        font-size: 4.4vw;
        font-weight: 900;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: 2.0;
        letter-spacing: 0.1em;
        writing-mode: vertical-rl;
        translate: -50% 0;
    }
    .build-h1 span {
        display: block;
    }
    .build-h1 span:nth-child(2) {
        translate: 0 20%;
    }
    .build-txt1 {
        position: absolute;
        bottom: 5%;
        right: 5%;
        width: 100%;
        color: #fff;
        font-size: 3.6vw;
        text-align: right;

        text-decoration-color: #fff;
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .contents-build {
        padding: 0;
        max-width: 100%;
    }
    .contents-build #thought {
        margin: 0 auto;
        padding: 8.0vw 0;
        max-width: 100%;
    }
    .contents-build #thought h2 {
        color: #1c1c1c;
        font-size: 4.8vw;
        text-align: center;
        line-height: calc( 30 / 25 );
    }
    .contents-build #thought p {
        margin: 8.0vw 0 0;
        color: #1c1c1c;
        font-size: 3.6vw;
        text-align: center;
        line-height: calc( 40 / 18 );
    }
    .contents-build .btn-works {
        display: block;
        margin: 6.0vw auto 0;
        padding: 0.9em 0;
        width: 222px;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        line-height: 1.0;
        background: #000;
    }
    .contents-build #works {
        margin: 0 auto;
        padding: 8.0vw 0;
        max-width: 100%;
    }
    .contents-build #works::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/build-works-bg.jpg) no-repeat center / cover;
        z-index: -2;
    }
    .contents-build #works::after {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb( 255, 255, 255, 0.7 );
        z-index: -1;
    }
    .contents-build #works h2 {
        color: #1c1c1c;
        font-size: 6.0vw;
        text-align: center;
        font-family: var(--font-alphabet);
        line-height: 1.0;
    }
    .contents-build #works .subtitle {
        margin: 2.0vw 0 0;
        color: #1c1c1c;
        font-size: 3.6vw;
        text-align: center;
        line-height: 1.0;
    }
    .contents-build #works .works-list {
        margin: 6.0vw auto 0;
        width: 80%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    .contents-build #works .works-list .works-item {
        display: block;
        width: 100%;
        background: #fff;
    }
    .contents-build #works .works-list .works-item figure {
        width: 100%;
        height: auto;
        aspect-ratio: 373 / 224;
    }
    .contents-build #works .works-list .works-item figure:empty {
        background: #eee;
    }
    .contents-build #works .works-list .works-item figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .contents-build #works .works-list .works-item figure figcaption {
        position: relative;
        margin: 0;
        padding: 0.4em 0.4em;
        width: 100%;
        height: auto;
        color: #1c1c1c;
        font-size: 3.6vw;
        line-height: calc( 30 / 18 );
    }
    .contents-build #works .works-list .works-item figure figcaption::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.3em );
        right: 0.8em;
        width: 0.6em;
        height: 0.6em;
        border-right: 3px solid #1c1c1c;
        border-bottom: 3px solid #1c1c1c;
        rotate: -45deg;
    }

    main.contents-member {
        margin: 0 auto;
        padding: 8.0vw 0;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
    }
    .contents-member .member-wrap {
        margin: 0 auto;
        padding: 4.0vw 5.0vw 6.0vw;
        width: 96%;
        background: #fff;
        border-radius: 4.0vw;
    }
    .contents-member .member-wrap h1 {
        margin: 0 0 1.0em;
        font-size: 4.8vw;
        text-align: center;
    }
    .swpm-login-form-inner {
        margin: 0 auto;
        width: 100%;
    }
    :is(.swpm-form-label-wrap,.swpm-login-form-inner,.swpm-pw-reset-widget-inside) label {
        font-size: 20px;
        font-weight: 700;
    }
    :is(.swpm-form-input-wrap,.swpm-login-form-inner,.swpm-pw-reset-widget-inside) :is(input[type="text"],input[type="password"]) {
        padding: 0.5em 1.0em;
        width: 100%;
        font-size: 16px;
        font-family: inherit;
        font-weight: 500;
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    .swpm-form-membership-level-value {
        padding: 0.5em 0 0 2.0em;
        font-size: 16px;
        font-weight: 500;
    }
    :is(.swpm-login-form-inner,.swpm-pw-reset-widget-inside) input[type="submit"] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.0em;
        margin: 0;
        width: 300px;
        height: auto;
        aspect-ratio: 300 / 52;
        color: #fff;
        font-size: 16px;
        font-family: inherit;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
    }

    main.contents-contact {
        margin: 0 auto;
        padding: 8.0vw 0;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
    }
    .contents-contact h1 {
        margin: 0 0 1.0em;
        font-size: 4.8vw;
        text-align: center;
    }
    .contents-contact h2 {
        margin: 0 0 1.0em;
        padding: 0 0 0.8em;
        font-size: 4.8vw;
        text-align: left;
        border-bottom: 1px solid #9a9a9a;
    }
    .contents-contact .contact-wrap {
        margin: 0 auto;
        padding: 4.0vw;
        width: 96%;
        background: #fff;
        border-radius: 4.0vw;
    }
    .contents-contact .contact-wrap .input-form + h2 {
        margin-top: 8.0vw;
    }
    .contents-contact .contact-wrap p.memo {
        margin: 0 0 1.5em;
        color: #bf2228;
        font-size: 2.8vw;
        text-align: right;
    }
    .contents-contact .contact-wrap .input-label {
        margin: 8.0vw 0 1.0em;
        padding: 0;
        font-size: 16px;
        text-align: left;
    }
    .contents-contact .contact-wrap .input-label.required::after {
        display: inline-block;
        content: "*";
        margin-left: 0.5em;
        color: #bf2228;
    }
    .contents-contact .contact-wrap .input-form {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 16px;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],select,textarea) {
        margin: 0;
        padding: 0.5em 1.0em;
        width: auto;
        font-size: 16px;
        font-family: inherit;
        background: #f2f2f2;
        border: 1px solid #f2f2f2;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],textarea):read-only {
        background: transparent;
        border: 1px solid transparent;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],textarea) {
        width: 100%;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],select,textarea)::placeholder {
        color: #949494;
    }
    .contents-contact .contact-wrap .input-submit {
        position: relative;
        margin: 8.0vw auto 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 2.0vw;
    }
    .contents-contact .contact-wrap .input-submit input[type="submit"] {
        margin: 0;
        padding: 0.8em 2.0em;
        color: #fff;
        font-size: 16px;
        font-family: inherit;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
        cursor: pointer;
    }
    .contents-contact .contact-wrap .input-submit input[type="button"] {
        margin: 0;
        padding: 0.8em 2.0em;
        color: #bf2228;
        font-size: 16px;
        font-family: inherit;
        background: #fff;
        border: 1px solid #bf2228;
        border-radius: 5px;
        cursor: pointer;
    }
    .contents-contact .contact-wrap .input-submit .wpcf7-spinner {
        position: position;
        top: 105%;
    }
    .contents-contact .contact-wrap .contact-table {
        margin: 8.0vw 0 0;
        width: 100%;
        display: grid;
        grid-template-columns: 200px 1fr;
        gap: 0;
    }
    .contents-contact .contact-wrap .contact-table > dt {
        margin: 0;
        padding: 1.0em 0;
        color: #949494;
        font-size: 14px;
        line-height: calc( 25 / 14 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 1px solid #cecece;
    }
    .contents-contact .contact-wrap .contact-table > dt.required::after {
        display: inline-block;
        content: "*";
        margin-left: 0.5em;
        color: #bf2228;
    }
    .contents-contact .contact-wrap .contact-table > dd {
        margin: 0;
        padding: 1.0em 0;
        color: var(--fg-color);
        font-size: 14px;
        line-height: calc( 25 / 14 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 1px solid #cecece;
    }
    .contents-contact .property-flex {
        margin: 0 auto 8.0vw;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    .contents-contact .property-flex .property-pic {
        width: 100%;
        height: auto;
        aspect-ratio: 405 / 218;
    }
    .contents-contact .property-flex .property-pic:empty {
        background: #eee;
    }
    .contents-contact .property-flex .property-pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .contents-contact .property-flex .property-info {
        width: 100%;
    }
    .contents-contact .property-flex .property-info .property-table {
        display: grid;
        grid-template-columns: min( 96px, 21.6vw ) 1fr;
        gap: 1.0vw 0;
    }
    .contents-contact .property-flex .property-info .property-table > dt {
        color: #727272;
        font-size: 3.6vw;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .contents-contact .property-flex .property-info .property-table > dd {
        font-size: 3.6vw;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

}


/**
 * PC用設定
 */
@media ( min-width: 768.01px ) {

    .mv {
        margin: 0 auto;
        padding: 20px 20px;
        width: 100%;
        max-width: 1200px;
    }
    .mv h1 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
    }
    .mv .mv-sp-area {
        display: none;
    }
    .mv .mv-sp-railway {
        display: none;
    }
    .mv .mv-sp-school {
        display: none;
    }
    .mv .mv-sp-type {
        display: none;
    }
    .mv .mv-flex {
        margin: 20px 0 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 8px 60px;
    }
    .mv .hit-num {
        margin: 0;
        color: var(--fg-color);
        font-size: 20px;
    }
    .mv .hit-num span:nth-child(1) {
        display: inline-block;
        margin: 0 1.0em 0 0;
    }
    .mv .hit-num #hit-num {
        color: #bf2228;
        font-size: 130%;
    }
    .mv .sort-list {
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 16px;
    }
    .mv .sort-list > span:nth-child(1) {
        color: var(--fg-color);
        font-size: 18px;
    }
    .mv .sort-list > .sort-item {
        margin: 0;
        padding: 0.2em 1.5em;
        color: #6e6e6e;
        font-size: 16px;
        background: #e2e2e2;
        border-radius: 4.0em;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
        cursor: pointer;
        transition: color 0.25s ease-out, background 0.25s ease-out;
    }
    .mv .sort-list > .sort-item.selected {
        color: #fff;
        background: #eea121;
    }

    main {
        margin: 0 auto;
        padding: 40px 20px;
        width: 100%;
        max-width: 1100px;
    }
    main.archive {
        padding: 40px 0;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.contents {
        margin: 0 auto;
        padding: 40px 0 80px;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.contents-search {
        margin: 0 auto;
        padding: 40px 0 80px;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.contents-full {
        margin: 0 auto;
        padding: 0 20px;
        width: 100%;
        max-width: 100%;
    }

    main.archive .archive-flex {
        margin: 0 auto;
        padding: 0 20px;
        width: 100%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    main.archive .archive-flex .archive-contents {
        margin: 0;
        padding: 0;
        width: calc( 100% - 20px - 300px );
    }

    #archive-list .custom-post-list {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    #archive-list .custom-post-list .post-item {
        margin: 0;
        padding: 20px;
        width: 100%;
        background: #fff;
        border-radius: 10px;
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
        gap: 0;
    }
    #archive-list .custom-post-list .post-item .pic {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    #archive-list .custom-post-list .post-item .pic.member {
        position: relative;
    }
    #archive-list .custom-post-list .post-item .pic.member::before {
        position: absolute;
        content: "会員専用物件";
        top: 50%;
        left: 50%;
        margin: 0;
        padding: 0.5em 1.0em;
        width: max-content;
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        text-align: center;
        background: #bf2228;
        translate: -50% -50%;
        z-index: 2;
    }
    #archive-list .custom-post-list .post-item .pic:empty {
        background: #eee;
        border-radius: 10px;
    }
    #archive-list .custom-post-list .post-item .pic.member:empty {
        background: #ccc;
    }
    #archive-list .custom-post-list .post-item .pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 10px;
        z-index: 0;
    }
    #archive-list .custom-post-list .post-item .pic.member img {
        filter: blur( 8px );
        z-index: 0;
    }
    #archive-list .custom-post-list .post-item .title {
        display: block;
        margin: 10px 0 0;
        font-size: 16px;
        line-height: calc( 23 / 16 );
    }
    #archive-list .custom-post-list .post-item .attr {
        margin: 10px 0 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0 8px;
    }
    #archive-list .custom-post-list .post-item .attr span:nth-child(2) {
        display: block;
        padding: 0.2em 1.0em;
        width: max-content;
        font-size: 12px;
        line-height: 1.0;
        white-space: nowrap;
        border: 1px solid var(--fg-color);
        border-radius: 2.0em;
        flex-shrink: 0;
    }
    #archive-list .custom-post-list .post-item .desc {
        margin: 10px 0 0;
        font-size: 16px;
        line-height: calc( 23 / 16 );
    }
    #archive-list .custom-post-list .post-item .price {
        margin: 10px 0 0;
        color: #bf2228;
        font-size: 24px;
    }
    #archive-list .custom-post-list .post-item .price::after {
        content: "万円";
        color: var(--fg-color);
        font-size: 60%;
    }

    #archive-sidebar {
        margin: 0;
        padding: 20px;
        width: 300px;
        background: #fff;
        border-radius: 10px;
    }
    #archive-sidebar h3 {
        position: relative;
        margin: 2.0em 0 0.5em;
        padding: 0 0 0.2em;
        font-size: 18px;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
        border-bottom: 1px solid #ccc;
    }
    #archive-sidebar h3:first-of-type {
        margin-top: 0;
    }
    #archive-sidebar h3::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.6em );
        right: 0;
        width: 1.2em;
        height: 1.2em;
        background: #999;
        clip-path: polygon( 0 42%, 42% 42%, 42% 0, 58% 0, 58% 42%, 100% 42%, 100% 58%, 58% 58%, 58% 100%, 42% 100%, 42% 58%, 0 58% );
        transition: clip-path 0.25s ease-out, transform 0.25s ease-out;
    }
    #archive-sidebar h3.open::after {
        clip-path: polygon( 0 42%, 42% 42%, 42% 42%, 58% 42%, 58% 42%, 100% 42%, 100% 58%, 58% 58%, 58% 58%, 42% 58%, 42% 58%, 0 58% );
        transform: rotate( 180deg );
    }
    #archive-sidebar p {
        margin: 0;
        padding: 0;
        font-size: 16px;
        text-align: left;
    }
    #archive-sidebar > div {
        margin: 5px 0;
    }
    #archive-sidebar .already-checked {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0 8px;
    }
    #archive-sidebar .already-checked label {
        /* white-space: nowrap; */
    }
    #archive-sidebar button[type="button"]#ws-sidebar-open-popup {
        position: relative;
        bottom: auto;
        display: block;
        margin: 10px 0 0;
        padding: 0.5em 3.0em 0.5em 1.0em;
        width: max-content;
        aspect-ratio: auto;
        font-size: 14px;
        font-family: inherit;
        line-height: 1.0;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 4.0em;
        box-shadow: none;
    }
    #archive-sidebar button[type="button"]#ws-sidebar-open-popup::after {
        position: absolute;
        content: "+";
        top: 50%;
        right: 0.5em;
        color: #eea121;
        font-size: 200%;
        font-weight: 700;
        translate: 0 -52%;
    }
    #archive-sidebar label {
        font-size: 16px;
    }
    #archive-sidebar label:has(:is(input[type="checkbox"],input[type="radio"])) {
        cursor: pointer;
    }
    #archive-sidebar .range-flex {
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #archive-sidebar .range-flex select {
        margin: 0;
        padding: 0.2em 0.4em;
        width: calc( 100% - 20px - 20px );
        padding: 0.1em 0.1em;
        font-size: 16px;
        font-family: inherit;
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    #archive-sidebar .range-flex select option {
        padding: 0.1em 0.1em;
        background: #fff;
    }
    #archive-sidebar .range-flex span {
        width: 20px;
    }
    #archive-sidebar .check-flex {
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }
    #archive-sidebar .check-flex > div {
        width: 50%;
    }
    #archive-sidebar button[type="submit"] {
        position: sticky;
        bottom: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 30px auto 0;
        width: 144px;
        height: auto;
        aspect-ratio: 144 / 52;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
        box-shadow: 0 0 8px #0008;
    }
    #archive-sidebar .search-popup button[type="submit"] {
        width: 320px;
        aspect-ratio: 320 / 52;
    }
    #archive-sidebar button[type="button"] {
        position: sticky;
        bottom: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 30px auto 0;
        width: 90px;
        height: auto;
        aspect-ratio: 90 / 52;
        color: var(--fg-color);
        font-size: 18px;
        font-weight: 700;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 5px;
        box-shadow: 0 0 8px #0008;
    }
    #archive-sidebar .btns {
        position: sticky;
        bottom: 20px;
        margin: 30px auto 0;
        padding: 30px 0 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 20px;
    }
    #archive-sidebar .btns button {
        position: relative;
        bottom: auto;
        margin: 0;
    }
    #archive-sidebar h3 + div {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.25s ease-out;
    }
    #archive-sidebar h3 + div > div {
        overflow: hidden;
    }
    #archive-sidebar h3.open + div {
        grid-template-rows: 1fr;
    }

    #archive-sidebar .sidebar-back-btn {
        margin: 0.5em auto 0 0;
        width: 80%;
    }
    #archive-sidebar .sidebar-back-btn > a {
        position: relative;
        bottom: auto;
        display: block;
        margin: 10px 0 0;
        padding: 0.5em 3.0em 0.5em 1.0em;
        width: max-content;
        aspect-ratio: auto;
        font-size: 14px;
        font-family: inherit;
        line-height: 1.0;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 4.0em;
        box-shadow: none;
    }
    #archive-sidebar .sidebar-back-btn > a::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.5em );
        right: 1.0em;
        width: 1.0em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-return.svg) no-repeat center / contain;
    }

    .mv .railway-sel {
        margin: 40px auto 0;
        width: 100%;
        max-width: 800px;
    }
    .mv .railway-sel .railway-sel-tabs {
        margin: 0;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        gap: 0 8px;
    }
    .mv .railway-sel .railway-sel-tabs .railway-sel-tab {
        margin: 0;
        padding: 1.0em 2.0em;
        font-size: 16px;
        line-height: 1.0;
        background: #fff;
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-radius: 5px 5px 0 0;
        cursor: pointer;
        transition: color 0.25s ease-out, background 0.25s ease-out;
    }
    .mv .railway-sel .railway-sel-tabs .railway-sel-tab.selected {
        color: #fff;
        background: #eea121;
        border: 1px solid #ccc;
    }
    .mv .railway-sel .railway-sel-map {
        position: relative;
        margin: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 800 / 589;
        border: 1px solid #ccc;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img {
        position: absolute;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 800 / 589;
        opacity: 0;
        z-index: 1;
        transition: opacity 0.5s ease-out;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img figure {
        width: 100%;
        height: 100%;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .mv .railway-sel .railway-sel-map .railway-sel-img.selected {
        opacity: 1;
        z-index: 2;
    }

    .contents-search .ws-head {
        margin: 40px auto 0;
        padding: 0.8em 1.0em;
        width: 90%;
        max-width: 980px;
        background: #fff;
        box-shadow: 0 4px 4px rgba( 0, 0, 0, 0.25 );
    }
    .contents-search .ws-head label {
        font-size: 18px;
    }
    .contents-search .ws-head a {
        font-size: 18px;
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .contents-search .ws-head-list a {
        display: inline-block;
        margin-left: 0.5em;
        font-size: 18px;
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .contents-search .ws-head-list {
        margin: 20px auto 0;
        padding: 0 20px;
        width: 90%;
        max-width: 980px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 20px 30px;
    }
    .contents-search .ws-head-list > span {
        display: inline-block;
        font-size: 18px;
        min-width: 9.0em;
        white-space: nowrap;
    }
    .contents-search .ws-head-list > span label {
        position: relative;
        display: inline-block;
        padding-left: 0.5em;
        width: calc( 100% - 1.3em );
        font-size: 18px;
    }
    .contents-search :is(.ws-head,.ws-head-list) input[type="checkbox"] {
        width: 1.3em;
        height: 1.3em;
    }
    .contents-search .ws-head-list label .search-area-map {
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        margin: 0;
        padding: 0.4em 0.2em 0.4em 1.4em;
        color: #bf2228;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.0;
        border: 1px solid #bf2228;
        cursor: pointer;
        translate: 0 -50%;
    }
    .contents-search .ws-head-list label .search-area-map::before {
        position: absolute;
        content: "";
        top: calc( 50% - 0.5em);
        left: 0.2em;
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-map.svg) no-repeat center / contain;
    }
    .contents-search .ws-head-list label.search-area-detail {
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
        cursor: pointer;
    }
    .contents-search .ws-head-list label .search-area-detail {
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        margin: 0;
        padding: 0.4em 0.4em;
        color: #999;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.0;
        border: 1px solid #999;
        cursor: pointer;
        translate: 0 -50%;
    }
    .contents-search .btns {
        position: sticky;
        bottom: 20px;
        margin: 0 auto;
        padding: 30px 0 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 20px;
    }
    .search-popup .contents-search .btns {
        bottom: 0;
    }
    .contents-search button[type="submit"] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.0em;
        margin: 0;
        width: 300px;
        height: auto;
        aspect-ratio: 300 / 52;
        color: #fff;
        font-size: 16px;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
        box-shadow: 0 0 8px #0008;
    }
    .contents-search button[type="submit"]::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-search-white.svg) no-repeat center / contain;
    }
    .contents-search button[type="button"].close-popup {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.0em;
        margin: 0;
        width: 160px;
        height: auto;
        aspect-ratio: 160 / 52;
        color: var(--fg-color);
        font-size: 16px;
        background: #fff;
        border: 1px solid var(--fg-color);
        border-radius: 5px;
        box-shadow: 0 0 8px #0008;
    }

    .search-popup {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        background: rgba( 0, 0, 0, 0.2 );
        z-index: 99;
        opacity: 0;
        transform-origin: center bottom;
        transform: scaleY( 0 );
        transition: opacity 0.5s ease-out, transform 0.01s ease-out 0.5s;
    }
    .search-popup.open {
        opacity: 1;
        transform: scaleY( 1 );
        transition: opacity 0.5s ease-out, transform 0.01s;
    }
    .search-popup .contents-search {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 80%;
        max-width: 1100px;
        height: auto;
        max-height: 80%;
        padding: 40px;
        background: #f7f8fc;
        box-shadow: 0 0 8px #0008;
        translate: -50% -50%;
        overflow-y: auto;
    }
    #archive-sidebar .search-popup .contents-search {
        padding: 20px 20px 0;
    }
    #archive-sidebar .search-popup .contents-search.search-map {
        width: min( 100%, calc( 100% - 340px ) ); 
        left: calc( 50% - 150px );
    }
    .search-popup .contents-search.search-map {
        top: 50%;
        height: 80%;
        max-height: 1000px;
        overflow-y: hidden;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        max-width: 840px;
        left: 50%;
    }
    .search-popup .contents-search .ws-head {
        margin: 0 auto;
        width: 100%;
        max-width: 100%;
    }
    .search-popup .contents-search .ws-head a {
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .search-popup .contents-search .ws-head-list a {
        display: inline-block;
        margin-left: 0.5em;
        text-decoration-color: var(--fg-color);
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .search-popup .contents-search .ws-head-list {
        width: 100%;
        max-width: 100%;
        gap: 16px 24px;
    }
    .search-popup .contents-search .ws-head-map {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        max-width: 100%;
        height: calc( 100% - 120px );
        gap: 0;
        flex: 1 0 auto;
    }
    .search-popup .contents-search button[type="submit"] {
        box-shadow: 0 0 8px #0008;
    }
    .search-popup .ws-head-map figure {
        width: 100%;
        height: 100%;
    }
    .search-popup .ws-head-map figure img {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .search-popup .ws-head-map figure svg {
        display: block;
        margin: 0 auto;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .search-popup .ws-head-map label {
        position: absolute;
        display: block;
        border: 4px solid #fff;
    }
    .search-popup .ws-head-map label input[type="checkbox"] {
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 1px;
        opacity: 0;
    }
    .search-popup .ws-head-map label:has(input[type="checkbox"]:checked) {
        border: 4px solid #f00;
    }
    .search-popup .ws-head-map label:has(input[type="checkbox"]:checked)::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba( 255, 0, 0, 0.2 );
    }
    .search-popup #ws-map-chigasaki label:nth-child(1) {
        top: 5%;
        left: 5%;
        width: 45%;
        height: 90%;
        background: #ccffcc;
    }
    .search-popup #ws-map-chigasaki label:nth-child(2) {
        top: 5%;
        left: 50%;
        width: 45%;
        height: 90%;
        background: #ffccff;
    }
    .search-popup #ws-map-fujisawa label:nth-child(1) {
        top: 5%;
        left: 5%;
        width: 45%;
        height: 90%;
        background: #ccffcc;
    }
    .search-popup #ws-map-fujisawa label:nth-child(2) {
        top: 5%;
        left: 50%;
        width: 45%;
        height: 90%;
        background: #ffccff;
    }
    .search-popup #ws-map-ebina label:nth-child(1) {
        top: 5%;
        left: 5%;
        width: 45%;
        height: 90%;
        background: #ccffcc;
    }
    .search-popup #ws-map-ebina label:nth-child(2) {
        top: 5%;
        left: 50%;
        width: 45%;
        height: 90%;
        background: #ffccff;
    }

    .sell-mv {
        margin: 0;
        padding: 0;
        width: 100%;
        height: calc( 100vh - 100px );
        height: calc( 100dvh - 100px );
        min-height: 800px;
        overflow-y: auto;
    }
    .sell-mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .sell-mv-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness( 40% );
    }
    .sell-mv-wrap {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        translate: 0 -50%;
    }
    .sell-h1 {
        width: 100%;
        color: #fff;
        font-size: 48px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 65 / 48 );

        text-decoration-color: #ec9300;
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .sell-mv-box {
        margin: 80px auto 0;
        padding: 20px 60px 40px;
        width: 90%;
        max-width: 1100px;
        height: auto;
        background: #f5f1e9;
        border-radius: 20px;
    }
    .sell-mv-box h2 {
        margin: 20px 0 0;
        padding: 0;
        width: 100%;
        color: #424242;
        font-size: 32px;
        font-weight: 700;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0 16px;
    }
    .sell-mv-box h2::after {
        content: "カンタン60秒入力";
        margin: 0;
        padding: 0.2em 0.8em;
        width: max-content;
        color: #fff;
        font-size: 20px;
        font-weight: 700;
        background: #ec9300;
    }
    .sell-mv-box .sell-form {
        margin: 20px 0 0;
    }
    .sell-mv-box .sell-flex2 {
        margin: 20px 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0 24px;
    }
    .sell-mv-box .sell-flex2 input[type="text"] {
        width: calc( 100% - 24px - 200px );
    }
    .sell-mv-box .sell-flex2 button {
        padding: 0.5em 1.0em;
        width: 200px;
        font-size: 18px;
        font-family: inherit;
    }
    .sell-mv-box .sell-flex3 {
        margin: 20px 0 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0 24px;
    }
    .sell-mv-box .sell-flex3 :is(select,input[type="text"]) {
        width: calc( ( 100% - 24px - 24px ) / 3 );
    }
    .sell-mv-box :is(select,input[type="text"]) {
        margin: 0;
        padding: 0.5em 1.0em;
        width: 100%;
        font-size: 18px;
        font-family: inherit;
        background: #fff;
        border: 0;
        border-radius: 5px;
    }
    .sell-mv-box input[type="text"]::placeholder {
        color: #939393;
    }
    .sell-mv-box input[type="submit"] {
        margin: 0;
        padding: 0.8em 0;
        width: 100%;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        font-family: inherit;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
    }

    .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 5px;
    }
    .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }

    .contents-shop {
        max-width: 100%;
    }
    .contents-shop .subtitle {
        color: #515151;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
    }
    .contents-shop .shop-section {
        margin: 0 auto;
        padding: 40px 0;
        width: 100%;
    }
    .contents-shop h1 + .shop-section {
        padding-top: 0;
    }
    .contents-shop .access-section {
        margin: 0 auto;
        padding: 40px 0;
        width: 100%;
        background: #f7f8fc
    }
    .contents-shop h2 {
        margin: 0;
        color: #515151;
        font-size: 32px;
        font-weight: 700;
        text-align: center;
    }
    .contents-shop .shop-flex {
        margin: 40px auto 0;
        width: 90%;
        max-width: 1100px;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    .contents-shop .shop-flex .shop-pic {
        width: 50%;
        height: auto;
        aspect-ratio: 585 / 390;
    }
    .contents-shop .shop-flex .shop-pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px 0 0 20px;
    }
    .contents-shop .shop-flex .shop-info {
        display: flex;
        align-items: center;
        width: 50%;
        padding: 20px 30px;
        background: linear-gradient( to bottom, #f2dede, #ebe0e3, #ecddf8, #f9f7eb );
        border-radius: 0 20px 20px 0;
    }
    .contents-shop .shop-flex .shop-info .shop-box {
        width: 100%;
        padding: 30px;
        background: #fff;
        border-radius: 15px;
    }
    .contents-shop .shop-flex .shop-info .shop-box .shop-table {
        display: grid;
        grid-template-columns: 120px 1fr;
        gap: 4px 0;
    }
    .contents-shop .shop-flex .shop-info .shop-box .shop-table dt {
        color: #666;
        font-size: 16px;
    }
    .contents-shop .shop-flex .shop-info .shop-box .shop-table dd {
        font-size: 16px;
    }
    .contents-shop .access-map {
        margin: 40px auto 0;
        width: 100%;
        max-width: 800px;
    }
    .contents-shop .access-map iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 2 / 1;
        border: 0;
    }
    .contents-shop .access-box {
        margin: 60px auto 0;
        padding: 20px 40px;
        width: 100%;
        max-width: 800px;
        height: auto;
        background: #fff;
        border-top: 16px solid #bf2228;
        border-radius: 5px 5px 0 0;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .contents-shop .access-box h3 {
        margin: 0 0 1.0em;
        padding: 0;
        font-size: 18px;
        font-weight: 700;
        text-align: left;
    }
    .contents-shop .access-box .tel-info {
        margin: 20px 0 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0 40px;
    }
    .contents-shop .access-box .tel-info > .btn-tel {
        width: 48%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 0.5em;
        color: #bf2228;
        font-size: 40px;
        font-weight: 700;
        line-height: 1.0;
    }
    .contents-shop .access-box .tel-info > .btn-tel::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-tel.svg) no-repeat center / contain;
    }
    .contents-shop .access-box .tel-info > .btn-reservation {
        width: 48%;
        padding: 0.4em 0;
        flex: 0 0 48%;
    }
    .contents-shop .access-box > p {
        margin: 1.0em 0 0;
        font-size: 14px;
        font-weight: 500;
    }

    #company-info {
        margin: 0 auto;
        padding: 40px 0;
    }
    #company-info .subtitle {
        color: #515151;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
    }
    #company-info h2 {
        margin: 0;
        color: #515151;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
    }
    #company-info .company-table {
        margin: 40px auto 0;
        width: 90%;
        max-width: 1172px;
        padding: 50px 40px;
        background: #f7f8fc;
        display: grid;
        grid-template-columns: 280px 1fr;
        gap: 0;
    }
    #company-info .company-table dt {
        margin: 0 auto;
        padding: 1.0em 0;
        width: 100%;
        color: #282828;
        font-size: 18px;
        font-weight: 300;
        border-bottom: 1px solid #cecece;
    }
    #company-info .company-table dd {
        margin: 0 auto;
        padding: 1.0em 0;
        width: 100%;
        color: #000;
        font-size: 18px;
        font-weight: 500;
        border-bottom: 1px solid #cecece;
    }

    .build-mv {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1512 / 847;
    }
    .build-mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    .build-mv-bg img {
        width: 100%;
        height: 100%;
        object-position: 50% 10%;
        object-fit: cover;
        filter: brightness( 70% );
        clip-path: polygon( 0 15%, 50% 0, 100% 15%, 100% 100%, 0 100% );
    }
    .build-h1 {
        position: absolute;
        top: 27%;
        left: 50%;
        width: max-content;
        color: #fff;
        font-size: calc( 36 * 100vw / 1512 );
        font-weight: 900;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: 2.0;
        letter-spacing: 0.1em;
        writing-mode: vertical-rl;
        translate: -50% 0;
    }
    .build-h1 span {
        display: block;
    }
    .build-h1 span:nth-child(2) {
        translate: 0 50%;
    }
    .build-txt1 {
        position: absolute;
        bottom: 5%;
        right: 5%;
        width: 100%;
        color: #fff;
        font-size: 25px;
        text-align: right;

        text-decoration-color: #fff;
        text-decoration-thickness: 1px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-underline-offset: 0.3em;
    }
    .contents-build {
        padding: 0;
        max-width: 100%;
    }
    .contents-build #thought {
        margin: 0 auto;
        padding: 80px 0 50px;
        max-width: 100%;
    }
    .contents-build #thought h2 {
        color: #1c1c1c;
        font-size: 25px;
        text-align: center;
        line-height: calc( 30 / 25 );
    }
    .contents-build #thought p {
        margin: 40px 0 0;
        color: #1c1c1c;
        font-size: 18px;
        text-align: center;
        line-height: calc( 40 / 18 );
    }
    .contents-build .btn-works {
        display: block;
        margin: 30px auto 0;
        padding: 0.9em 0;
        width: 222px;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        line-height: 1.0;
        background: #000;
    }
    .contents-build #works {
        margin: 0 auto;
        padding: 70px 0 50px;
        max-width: 100%;
    }
    .contents-build #works::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/build-works-bg.jpg) no-repeat center / cover;
        z-index: -2;
    }
    .contents-build #works::after {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb( 255, 255, 255, 0.7 );
        z-index: -1;
    }
    .contents-build #works h2 {
        color: #1c1c1c;
        font-size: 30px;
        text-align: center;
        font-family: var(--font-alphabet);
        line-height: 1.0;
    }
    .contents-build #works .subtitle {
        margin: 10px 0 0;
        color: #1c1c1c;
        font-size: 18px;
        text-align: center;
        line-height: 1.0;
    }
    .contents-build #works .works-list {
        margin: 60px auto 0;
        width: 90%;
        max-width: 1100px;
        display: flex;
        align-items: stretch;
        justify-content: center;
        gap: 0 26px;
    }
    .contents-build #works .works-list .works-item {
        display: block;
        width: calc( ( 100% - 26px - 26px ) / 3 );
        background: #fff;
    }
    .contents-build #works .works-list .works-item figure {
        width: 100%;
        height: auto;
        aspect-ratio: 373 / 224;
    }
    .contents-build #works .works-list .works-item figure:empty {
        background: #eee;
    }
    .contents-build #works .works-list .works-item figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .contents-build #works .works-list .works-item figure figcaption {
        position: relative;
        margin: 0;
        padding: 0.4em 0.4em;
        width: 100%;
        height: auto;
        color: #1c1c1c;
        font-size: 18px;
        line-height: calc( 30 / 18 );
    }
    .contents-build #works .works-list .works-item figure figcaption::after {
        position: absolute;
        content: "";
        top: calc( 50% - 0.3em );
        right: 0.8em;
        width: 0.6em;
        height: 0.6em;
        border-right: 3px solid #1c1c1c;
        border-bottom: 3px solid #1c1c1c;
        rotate: -45deg;
    }

    main.contents-member {
        margin: 0 auto;
        padding: 40px 0;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
    }
    .contents-member .member-wrap {
        margin: 0 auto;
        padding: 20px 40px 40px;
        width: 100%;
        max-width: 800px;
        background: #fff;
        border-radius: 20px;
    }
    .contents-member .member-wrap h1 {
        margin: 0 0 1.0em;
        font-size: 24px;
        text-align: center;
    }
    .swpm-login-form-inner {
        margin: 0 auto;
        width: 100%;
        max-width: 800px;
    }
    :is(.swpm-form-label-wrap,.swpm-login-form-inner,.swpm-pw-reset-widget-inside) label {
        font-size: 20px;
        font-weight: 700;
    }
    :is(.swpm-form-input-wrap,.swpm-login-form-inner,.swpm-pw-reset-widget-inside) :is(input[type="text"],input[type="password"]) {
        padding: 0.5em 1.0em;
        width: 100%;
        font-size: 18px;
        font-family: inherit;
        font-weight: 500;
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    .swpm-form-membership-level-value {
        padding: 0.5em 0 0 2.0em;
        font-size: 18px;
        font-weight: 500;
    }
    :is(.swpm-login-form-inner,.swpm-pw-reset-widget-inside) input[type="submit"] {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 1.0em;
        margin: 0;
        width: 300px;
        height: auto;
        aspect-ratio: 300 / 52;
        color: #fff;
        font-size: 16px;
        font-family: inherit;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
    }

    main.contents-contact {
        margin: 0 auto;
        padding: 40px 0;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
    }
    .contents-contact h1 {
        margin: 0 0 1.0em;
        font-size: 24px;
        text-align: center;
    }
    .contents-contact h2 {
        margin: 0 0 1.0em;
        padding: 0 0 0.8em;
        font-size: 24px;
        text-align: left;
        border-bottom: 1px solid #9a9a9a;
    }
    .contents-contact .contact-wrap {
        margin: 0 auto;
        padding: 40px 40px 40px;
        width: 100%;
        max-width: 800px;
        background: #fff;
        border-radius: 20px;
    }
    .contents-contact .contact-wrap .input-form + h2 {
        margin-top: 40px;
    }
    .contents-contact .contact-wrap p.memo {
        margin: 0 0 16px;
        color: #bf2228;
        font-size: 12px;
        text-align: right;
    }
    .contents-contact .contact-wrap .input-label {
        margin: 40px 0 16px;
        padding: 0;
        font-size: 14px;
        text-align: left;
    }
    .contents-contact .contact-wrap .input-label.required::after {
        display: inline-block;
        content: "*";
        margin-left: 0.5em;
        color: #bf2228;
    }
    .contents-contact .contact-wrap .input-form {
        margin: 16px 0 0;
        padding: 0;
        font-size: 16px;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],select,textarea) {
        margin: 0;
        padding: 0.5em 1.0em;
        width: auto;
        font-size: 16px;
        font-family: inherit;
        background: #f2f2f2;
        border: 1px solid #f2f2f2;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],textarea):read-only {
        background: transparent;
        border: 1px solid transparent;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],textarea) {
        width: 100%;
    }
    .contents-contact .contact-wrap .input-form :is(input[type="text"],input[type="tel"],input[type="email"],input[type="date"],select,textarea)::placeholder {
        color: #949494;
    }
    .contents-contact .contact-wrap .input-submit {
        position: relative;
        margin: 60px auto 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 20px;
    }
    .contents-contact .contact-wrap .input-submit input[type="submit"] {
        margin: 0;
        padding: 0.8em 2.0em;
        color: #fff;
        font-size: 16px;
        font-family: inherit;
        background: #bf2228;
        border: 0;
        border-radius: 5px;
        cursor: pointer;
    }
    .contents-contact .contact-wrap .input-submit input[type="button"] {
        margin: 0;
        padding: 0.8em 2.0em;
        color: #bf2228;
        font-size: 16px;
        font-family: inherit;
        background: #fff;
        border: 1px solid #bf2228;
        border-radius: 5px;
        cursor: pointer;
    }
    .contents-contact .contact-wrap .input-submit .wpcf7-spinner {
        position: absolute;
        top: 105%;
    }
    .contents-contact .contact-wrap .contact-table {
        margin: 40px 0 0;
        width: 100%;
        display: grid;
        grid-template-columns: 200px 1fr;
        gap: 0;
    }
    .contents-contact .contact-wrap .contact-table > dt {
        margin: 0;
        padding: 16px 0;
        color: #949494;
        font-size: 14px;
        line-height: calc( 25 / 14 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 1px solid #cecece;
    }
    .contents-contact .contact-wrap .contact-table > dt.required::after {
        display: inline-block;
        content: "*";
        margin-left: 0.5em;
        color: #bf2228;
    }
    .contents-contact .contact-wrap .contact-table > dd {
        margin: 0;
        padding: 16px 0;
        color: var(--fg-color);
        font-size: 14px;
        line-height: calc( 25 / 14 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 1px solid #cecece;
    }
    .contents-contact .property-flex {
        margin: 0 auto 40px;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .contents-contact .property-flex .property-pic {
        width: 58%;
        height: auto;
        aspect-ratio: 405 / 218;
    }
    .contents-contact .property-flex .property-pic:empty {
        background: #eee;
    }
    .contents-contact .property-flex .property-pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .contents-contact .property-flex .property-info {
        width: 38%;
    }
    .contents-contact .property-flex .property-info .property-table {
        display: grid;
        grid-template-columns: 84px 1fr;
        gap: 8px 0;
    }
    .contents-contact .property-flex .property-info .property-table > dt {
        color: #727272;
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .contents-contact .property-flex .property-info .property-table > dd {
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

}


/**
 * PC大画面用設定
 */
@media ( min-width: 1080px ) {
    #archive-list .custom-post-list {
        grid-template-columns: 1fr 1fr 1fr;
    }
}



/**
 * For Ultimate Member
 */

.contents-member .um input[type="submit"].um-button {
    background: #bf2228;
}


/**
 * For Map SVG
 */
.chigasaki-cls-1 {
    fill: #ed6c00;
}
.chigasaki-cls-2 {
    fill: #231815;
}
.chigasaki-cls-3 {
    fill: #fff;
}
.chigasaki-cls-4, .chigasaki-cls-5 {
    isolation: isolate;
}
.chigasaki-cls-5 {
    mix-blend-mode: multiply;
    opacity: .75;
}
.chigasaki-cls-6 {
    fill: none;
    stroke: #ed6c00;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 5px;
}
.chigasaki-cls-7 {
    fill: #e6e6e6;
}
.fujisawa-cls-1 {
    fill: #ed6c00;
}
.fujisawa-cls-2 {
    fill: #231815;
}
.fujisawa-cls-3 {
    fill: #fff;
}
.fujisawa-cls-4 {
    stroke: #e6e6e6;
    stroke-width: 6px;
}
.fujisawa-cls-4, .fujisawa-cls-5 {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.fujisawa-cls-6, .fujisawa-cls-7 {
    isolation: isolate;
}
.fujisawa-cls-7 {
    mix-blend-mode: multiply;
    opacity: .75;
}
.fujisawa-cls-5 {
    stroke: #ed6c00;
    stroke-width: 5px;
}
.fujisawa-cls-8 {
    fill: #e6e6e6;
}
.ebina-cls-1, .ebina-cls-2 {
    fill: #e6e6e6;
    stroke: #ed6c00;
}
.ebina-cls-1, .ebina-cls-2, .ebina-cls-3, .ebina-cls-4 {
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ebina-cls-1, .ebina-cls-2, .ebina-cls-4 {
    stroke-width: 5px;
}
.ebina-cls-5 {
    fill: #fff;
}
.ebina-cls-2 {
    filter: url(#drop-shadow-1);
}
.ebina-cls-3 {
    stroke: #fff;
    stroke-width: 3px;
}
.ebina-cls-3, .ebina-cls-4 {
    fill: none;
}
.ebina-cls-4 {
    stroke: #231815;
}
.ebina-cls-6 {
    fill: #231815;
}
.ebina-cls-7 {
    fill: #ed6c00;
}

svg a:hover {
    opacity: 1;
}
.area-hover {
    cursor: pointer;
    transition: all 0.25s ease-out;
}
.area-hover:hover {
    fill: #ffc;
}


.um-field-label .um-req::after {
  content: "必須項目";
}
