@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville&family=Noto+Serif+JP:wght@400;500&display=swap');
body {
    font-family: 'Noto Serif JP', serif;
    color: #333;
}

.page-header {
    display: none;
}

.site-body {
    padding-bottom: 0;
}

.en {
    font-family: 'Libre Baskerville', serif;
}

strong,
.bold {
    font-weight: 500;
}

/* P・COSH　TOP */
.mv {
    position: relative;
    max-width: 100vw;
    height: 50rem;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .mv {
        height: 70vh;
    }
}
.mv .swiper-slide {
    background-size: cover;
    background-position: center center;
}
.mv .mvInner {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    height: 100%;
    z-index: 1;
}
.mv .container {
    width: 100%;
}
.mv h1 {
    margin: 4rem 0 0 -7%;
    width: 40rem;
}
@media screen and (max-width: 767px) {
    .mv h1 {
        width: 100%;
        margin-left: -40px;
    }
}
.mv .slide1 {
    background-image: url('/imgs/p-cosh/slide1.jpg');
}
.mv .slide2 {
    background-image: url('/imgs/p-cosh/slide2.jpg');
}
.mv .slide3 {
    background-image: url('/imgs/p-cosh/slide3.jpg');
}
.mv .slide4 {
    background-image: url('/imgs/p-cosh/slide4.jpg');
}
.mv .slide5 {
    background-image: url('/imgs/p-cosh/slide5.jpg');
}
.mv .slide6 {
    background-image: url('/imgs/p-cosh/slide6.jpg');
}

.sctWhat {
    text-align: center;
    padding-top: 6rem;
    padding-bottom: 13rem;
}
@media screen and (max-width: 767px) {
    .sctWhat {
        padding-top: 0;
        padding-bottom: 8rem;
    }
}
.sctWhat h2 {
    margin: 0 0 4.25rem;
}
.sctWhat .tate {
    display: inline-block;
    margin: 0 auto;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    line-height: 4.5;
    font-weight: 500;
    margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
    .sctWhat .tate {
        line-height: 3;
    }
}
.sctWhat .waku {
    font-size: 0.88rem;
    line-height: 2.14;
    padding: 2.07em 2em 2.43em;
    width: 58.79em;
    max-width: 100%;
    border: solid 1px #333;
    margin: 0 auto;
}

.sctFeature {
    background: url('/imgs/p-cosh/featureBg.jpg') center/cover;
    text-align: center;
    padding-top: 11.63rem;
    padding-bottom: 14.88rem;
}
@media screen and (max-width: 767px) {
    .sctFeature {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
}
.sctFeature h2 {
    color: #fff;
    font-size: 5.63rem;
    line-height: 1;
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .sctFeature h2 {
        font-size: 3rem;
    }
}
.sctFeature h2 .s {
    font-size: 0.22em;
    line-height: 1;
    display: block;
    margin-bottom: 3.5em;
}
@media screen and (max-width: 767px) {
    .sctFeature h2 .s {
        font-size: 0.4em;
        margin-bottom: 1.5em;
    }
}

#featureSwiper {
    width: 1109px;
    margin: 0 auto;
    max-width: 100%;
    position: relative;
}

@media screen and (max-width: 767px) {
    #featureSwiper {
        width: 100%;
    }
}
#featureSwiper .swiper-slide {
    background: #fff;
    clip-path: polygon(0 22%, 50% 0, 100% 22%, 100% 100%, 0 100%);
    text-align: center;
    padding: 4.31rem 17.22%;
}

@media screen and (max-width: 767px) {
    #featureSwiper .swiper-slide {
        padding-left: 15px;
        padding-right: 15px;
    }
}
#featureSwiper .img {
    margin-bottom: 1.75rem;
}
@media screen and (max-width: 767px) {
    #featureSwiper .img {
        height: auto;
    }
}
#featureSwiper .img img {
    display: block;
}
#featureSwiper .num {
    margin-bottom: 2.38rem;
}
#featureSwiper .num span {
    display: inline-block;
    padding-bottom: 0.81rem;
    border-bottom: solid 1px #3f6634;
}
#featureSwiper .num img {
    width: auto;
    height: 4.81rem;
}
@media screen and (max-width: 767px) {
    #featureSwiper .num img {
        height: 3rem;
    }
}
#featureSwiper .txt1 {
    font-size: 1.38rem;
    margin: 0 0 2.09em;
}
#featureSwiper .pager {
    width: 4.13rem;
    height: 4.13rem;
    position: absolute;
    top: 29.13rem;
    background: url('/imgs/p-cosh/prev.png') center/99% no-repeat;
    left: 5.75rem;
    z-index: 1;
    cursor: pointer;
}
@media screen and (max-width: 1139px) {
    #featureSwiper .pager {
        left: 1rem;
    }
}
@media screen and (max-width: 767px) {
    #featureSwiper .pager {
        width: 3rem;
        height: 3rem;
        top: auto;
        bottom: 0.5em;
    }
}
#featureSwiper .pager.feature-next {
    left: auto;
    right: 5.75rem;
    transform: scaleX(-1);
}
@media screen and (max-width: 1139px) {
    #featureSwiper .pager.feature-next {
        right: 1rem;
    }
}

.feature-wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 20px;
}
.feature-item {
    width: 33%;
    background: #fff;
    clip-path: polygon(0 20%, 50% 0, 100% 20%, 100% 100%, 0 100%);
    text-align: center;
    padding: 4rem 1rem;
}
.feature-item .img {
    margin-bottom: 1.75rem;
}
.feature-item .num {
    margin-bottom: 2.38rem;
}
.feature-item .num span {
    display: inline-block;
    padding-bottom: 0.81rem;
    border-bottom: solid 1px #3f6634;
}
.feature-item .num img {
    width: auto;
    height: 3.6rem;
}
.feature-item .txt1 {
    font-size: 1.3rem;
    margin: 0 0 2em;
}
@media all and (max-width: 1199px) {
    .feature-wrap {
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }
    .feature-item {
        width: 100%;
        max-width: 960px;
        padding: 4rem;
    }
}
.sctWhy {
    text-align: center;
    padding-top: 16.63rem;
    background: url('/imgs/p-cosh/lettersPcosh.png') center top 31rem no-repeat;
}
@media all and (max-width: 1600px) {
    .sctWhy {
        background-size: 90%;
    }
}
@media screen and (max-width: 767px) {
    .sctWhy {
        padding-top: 8rem;
        background-position: center top 25rem;
    }
}
.sctWhy h2 {
    margin: 0 0 5.63rem;
}
.sctWhy .txt {
    font-size: 1.5rem;
    line-height: 2.71;
    font-weight: 500;
    width: 28.17em;
    height: 19.67em;
    background: url('/imgs/p-cosh/frame01.png') center/contain no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 3.44rem;
}
@media screen and (max-width: 767px) {
    .sctWhy .txt {
        font-size: 1rem;
        width: 100%;
        height: 70vw;
    }
}
.sctGrBg {
    background: #f2f2f2;
}
.sctProperty {
    /* padding-top: 22.56rem; */
    padding-top: 6em;
    padding-bottom: 6rem;
}

.sctProperty .btnWrap {
    text-align: center;
    margin-top: 3.44rem;
}
@media screen and (max-width: 767px) {
    .sctProperty {
        padding-top: 8rem;
    }
}
.sctProperty .h2Wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 0 0 8.06rem;
}
@media screen and (max-width: 767px) {
    .sctProperty .h2Wrap {
        margin-bottom: 4rem;
    }
}
.sctProperty h2 {
    font-size: 5.6rem;
    line-height: 1;
    font-weight: 400;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .sctProperty h2 {
        font-size: 2.1rem;
    }
}
.sctProperty h2 .s {
    font-size: 1.244375rem;
}
@media screen and (max-width: 767px) {
    .sctProperty h2 .s {
        font-size: 1rem;
        line-height: 2;
    }
}

.propertyLoop {
    display: flex;
    justify-content: center;
    margin: 0 0 0 -46px;
}
@media screen and (max-width: 767px) {
    .propertyLoop {
        display: block;
    }
}
.propertyLoop a {
    display: block;
    width: calc(33.33% - 46px);
    margin-left: 46px;
    padding-top: 19px;
}
@media screen and (max-width: 767px) {
    .propertyLoop a {
        width: auto;
        padding-bottom: 3rem;
        border-bottom: solid 1px #333;
        margin-bottom: 3rem;
    }
}
.propertyLoop .imgWrap {
    padding: 0 8px 8px;
    position: relative;
    margin-bottom: 34px;
}
.propertyLoop .imgWrap:after {
    content: '';
    display: block;
    position: absolute;
    top: 33%;
    bottom: 0;
    left: 18.95%;
    right: 0;
    border-style: solid;
    border-color: #333;
    border-width: 0 1px 1px 0;
    pointer-events: none;
}
.propertyLoop .imgWrap img.new {
    width: 70px;
    height: auto;
    position: absolute;
    bottom: 2px;
    right: 2px;
}
.propertyLoop .img {
    background-size: cover;
    background-position: center center;
    padding-bottom: 85.8%;
    clip-path: polygon(0 33%, 50% 0, 100% 33%, 100% 100%, 0 100%);
}
.propertyLoop .ttl {
    font-size: 1rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    line-height: 3.44;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 90%;
    position: absolute;
    background: #fff;
    box-shadow: 0px 3px 2.91px 0.09px rgba(51, 51, 51, 0.35);
    top: 0;
    left: 18px;
    padding: 1.25em 0 1em;
}
.propertyLoop .labels {
    list-style: none;
    margin: 0 0 0.4rem;
    padding: 0;
}
.propertyLoop .labels li {
    display: inline-block;
    margin: 0 8px 0 0;
}
.propertyLoop .labels img {
    display: block;
    width: 2.61rem;
    height: 2.61rem;
}
.propertyLoop .adress {
    line-height: 1.5;
    margin: 0 0 1.56em;
}
.propertyLoop .price {
    font-size: 3rem;
    color: #0f4001;
    line-height: 1;
}
.propertyLoop .price .s {
    font-weight: 500;
    font-size: 0.75em;
}
.propertyLoop .old-price {
    font-size: 2rem;
    color: #0f4001;
    line-height: 1;
    margin-bottom: 10px;
}
.propertyLoop .old-price .s {
    font-weight: 500;
    font-size: 0.55em;
}
.propertyLoop .old-price .s.h {
    position: relative;
}
.propertyLoop .old-price .s.h::before {
    content: '⇒';
    color: #0f4001;
    font-size: 1em;
    position: absolute;
    top: 4px;
    right: -30px;
}
.propertyLoop .old-price .s.r {
    margin-right: 5px;
}
.propertyLoop .old-price .en {
    position: relative;
}
.propertyLoop .old-price .en::before {
    content: '';
    height: 10px;
    border-top: 2px solid red;
    border-bottom: 2px solid red;
    position: absolute;
    top: 15px;
    left: 0;
    width: 100%;
}
.sctSupport {
    padding-top: 18.25rem;
}
@media screen and (max-width: 767px) {
    .sctSupport {
        padding-top: 8rem;
    }
}
.sctSupport .frame {
    border: solid 1px #333;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .sctSupport .frame {
        display: block;
    }
}
.sctSupport .txtWrap {
    padding: 79px 0 88px 87px;
}
@media screen and (max-width: 767px) {
    .sctSupport .txtWrap {
        padding: 30px 15px;
    }
}
.sctSupport .ttlEn {
    font-size: 1.13rem;
    line-height: 1em;
    margin-bottom: 1em;
}
.sctSupport .h2Wrap h2 {
    display: inline-block;
    font-size: 2.25rem;
    line-height: 1.33;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .sctSupport .h2Wrap h2 {
        font-size: 1.6rem;
    }
}
.sctSupport .h2Wrap h2:after {
    content: '';
    display: block;
    height: 1px;
    background: #333;
    margin: 32px 1.5em 32px 0;
}
.sctSupport .txt {
    line-height: 2;
}
.sctSupport .img {
    width: 31.53%;
    flex-grow: 0;
    flex-shrink: 0;
    background: url('/imgs/p-cosh/supportImg01.jpg?0321') center center/cover;
    align-self: stretch;
    border-left: solid 1px #333;
    margin-left: 5.25rem;
}

.sctSpec {
    padding-top: 20.19rem;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .sctSpec {
        padding-top: 8rem;
    }
}
.sctSpec .ttlFrame {
    border: solid 1px #333;
    padding: 3.75rem 0 3.94rem;
    margin-bottom: 12.06rem;
}
@media screen and (max-width: 767px) {
    .sctSpec .ttlFrame {
        margin-bottom: 4rem;
    }
}
.sctSpec .ttlFrame h2 {
    font-size: 1.25rem;
    line-height: 1;
    margin: 0 0 1.9em;
}
.sctSpec .ttlFrame .ttlEn {
    font-size: 3.731875rem;
    line-height: 1;
    margin-bottom: 2.94rem;
}
@media screen and (max-width: 1139px) {
    .sctSpec .ttlFrame .ttlEn {
        line-height: 1.25;
    }
}
@media screen and (max-width: 767px) {
    .sctSpec .ttlFrame .ttlEn {
        font-size: 2rem;
        line-height: 1.2;
    }
}

.specList {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    position: relative;
}
.specList:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: -1px;
    border: solid 1px #333;
    pointer-events: none;
}
.specList h3 {
    font-size: 1.25rem;
    width: 7.75em;
    border-bottom: solid 1px #333;
    line-height: 1;
    padding-bottom: 23px;
    margin: 0 0 23px;
}
.specList dt,
.specList dd {
    width: 25%;
    margin: 0 0 -1px;
    padding: 0;
}
@media screen and (max-width: 991px) {
    .specList dt,
    .specList dd {
        width: 33.33%;
    }
}
@media screen and (max-width: 767px) {
    .specList dt,
    .specList dd {
        width: 50%;
    }
}
.specList dt {
    padding: 69px 23px 0 23px;
    border: solid 1px #333;
    position: relative;
    z-index: 1;
    text-align: left;
}
@media all and (max-width: 1200px) {
    .specList dt {
        padding: 1em;
    }
}
@media screen and (max-width: 991px) {
    .specList dt:nth-child(3n) {
        border-right: none;
    }
}
@media screen and (max-width: 767px) {
    .specList dt {
        border-right: solid 1px #333 !important;
    }
}
@media screen and (max-width: 767px) {
    .specList dt {
        width: 100%;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}
.specList dt .txt {
    line-height: 1.5;
}
@media all and (max-width: 1200px) {
    .specList dt .txt br {
        display: none;
    }
}
.specList dd {
    position: relative;
}
.specList dd img {
    display: block;
    width: 100%;
}
.specList dd .txt {
    font-size: 1.08rem;
    position: absolute;
    width: 14.66em;
    max-width: calc(100% - 10px);
    line-height: 2.7;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    background: #fff;
    box-shadow: 0px 3px 2.91px 0.09px rgba(51, 51, 51, 0.2);
    text-align: center;
}
@media screen and (max-width: 767px) {
    .specList dd .txt {
        font-size: 0.8rem;
        bottom: 10px;
    }
}

.sctContact {
    margin-top: 24.88rem;
    padding-top: 6.88rem;
    padding-bottom: 7.88rem;
    background: url('/imgs/p-cosh/contactBg.jpg?0321') center top/cover;
    text-align: center;
    clip-path: polygon(0 100px, 50% 0, 100% 100px, 100% 100%, 0 100%);
}
@media screen and (max-width: 767px) {
    .sctContact {
        margin-top: 8rem;
    }
}
.sctContact h2 {
    margin: 0 0 5.75rem;
}
.sctContact h2 .line1 {
    display: flex;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1;
}
.sctContact h2 .line1:before,
.sctContact h2 .line1:after {
    content: '';
}
.sctContact h2 br {
    content: '';
    display: block;
    height: 1rem;
}
.sctContact h2 .en {
    font-size: 6.22rem;
    line-height: 1;
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .sctContact h2 .en {
        font-size: 3rem;
    }
}
.sctContact ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sctContact ul li {
    width: calc(50% - 14px);
    margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
    .sctContact ul li {
        width: 100%;
        margin-bottom: 10px;
    }
}
.sctContact ul a {
    display: block;
}
.sctContact ul a:hover {
    opacity: 0.9;
}
.sctContact ul img {
    display: block;
    width: 100%;
}

/* Why P・COSH */
.hasShadowColumns .wp-block-column {
    background: rgba(255, 255, 255, 0.7);
    padding: 2em !important;
    box-shadow: 6px 9px 14px -1px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
    .hasShadowColumns .wp-block-column:not(:last-child) {
        margin-bottom: 1.75em;
    }
}
.hasShadowColumns .wp-block-column img {
    width: 100%;
}
.hasShadowColumns .noShadow {
    box-shadow: none;
    padding: 0;
    background: none;
}

.post-name-contents .page-header {
    background-image: url('/imgs/p-cosh/mv.jpg');
}
.post-name-contents .hasBg1 {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background: url('/imgs/p-cosh/featureBg.jpg') center center/cover;
}
.post-name-contents .hasBg2 {
    background: #f5efe5;
    padding-top: 5rem;
    padding-bottom: 18rem;
}
.post-name-contents .anchors {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    list-style: none;
}
@media screen and (max-width: 767px) {
    .post-name-contents .anchors {
        margin: 2rem 0;
        flex-direction: column;
        height: 3rem;
        position: relative;
        z-index: 1;
        overflow: hidden;
        justify-content: flex-start !important;
        align-items: flex-end !important;
    }
    .post-name-contents .anchors.open {
        overflow: visible;
    }
}
.post-name-contents .anchors li {
    margin: 0;
}
@media screen and (max-width: 767px) {
    .post-name-contents .anchors li {
        width: 100%;
    }
}
.post-name-contents .anchors label {
    display: block;
    font-size: 1.2rem;
    border: solid 1px #333;
    color: #333;
    cursor: pointer;
    padding: 0.5em 1em;
    border-radius: 10px 10px 0 0;
    min-width: 10em;
    background: #fff;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .post-name-contents .anchors label {
        height: 3rem;
        padding: 0 15px !important;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: 0 !important;
    }
}
.post-name-contents .anchors label:after {
    content: '▼';
    display: inline-block;
    margin-left: 0.5em;
}
.post-name-contents .anchors li.selected label,
.post-name-contents .anchors li:hover label {
    background: #333;
    color: #fff;
    padding-top: 1em;
    padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
    .post-name-contents .anchors li.selected {
        order: -1;
    }
}
.post-name-contents .anchors.bottomTab {
    justify-content: flex-end;
    align-items: flex-start;
}
.post-name-contents .anchors.bottomTab label {
    border-radius: 0 0 10px 10px;
}
.post-name-contents .anchors.bottomTab label:after {
    content: '▲';
}
.post-name-contents .tabContent {
    display: none;
    padding: 4rem 15px;
    background: #fff;
}
.post-name-contents .tabContent h2 {
    border-style: solid;
    border-width: 1px 0;
    border-color: #333;
    padding: 0.4em 0;
}
.post-name-contents .tabContent h4 {
    padding-left: 0.75em;
    border-left: solid 0.25em #ccc;
}
.post-name-contents input[name='tabRadio'] {
    display: none;
}
.post-name-contents input[name='tabRadio']:checked + .tabContent {
    display: block;
}
.sctContact {
    padding-bottom: 0;
}
.post-name-contents .sctContact {
    margin-top: -100px;
}
.site-footer {
    margin-top: -1px;
}

.lineup {
    background: #f2f2f2;
    padding-bottom: 6em;
    padding-top: 6em;
}
.lineup .propertyLoop .ttl {
    color: #333;
}
.lineup h4 {
    letter-spacing: 0.1rem;
    margin-bottom: 40px;
    font-weight: normal;
    padding-left: 15px;
    padding-right: 15px;
}
.lineup .flex {
    float: left;
    margin: 18px 4em;
}

.lineup .flex span {
    display: inline-block;
    padding: 2px 20px 5px;
    background: #333;
    border-radius: 5px;
    color: #fff;
}

.lineup .tab_menu {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}

.lineup .tab_menu li {
    cursor: pointer;
    text-align: center;
    list-style: none;
    font-weight: bold;
}
.tab_menu li.none {
    display: none;
}

/*タブ実装*/
.lineup .tab_menu.step1 {
    margin: 0;
    display: -webkit-box;
    flex: 1;
    align-items: flex-end;
}

.lineup .tab_menu.step1 li {
    padding: 15px 15px;
    color: #fff;
    background: #333;
    transition: all 0.2s ease 0s;
    border-radius: 10px 10px 0 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lineup .tab_menu.step1 li:first-child,
.lineup .tab_menu.step1 li:last-child {
    width: calc(30% - 1px);
}

.lineup .tab_menu.step1 li:nth-child(2) {
    width: calc(40% - 2px);
}

.lineup .tab_menu.step1 li + li {
    margin-left: 2px;
}

.lineup .tab_menu.step1 li:hover {
    background-color: #fff;
    color: #333;
}

.lineup .tab_menu.step1 li.active {
    background: #fff;
    color: #333;
}

.tab_menu.step2,
.tab_menu.step3 {
    justify-content: center;
}

.tab_menu.step2 li,
.tab_menu.step3 li {
    width: 30%;
    margin: 2em 3% 6em;
}

.tab_menu.step2 li:hover,
.tab_menu.step3 li:hover {
    opacity: 0.8;
}

.tab_menu.step2 li span,
.tab_menu.step3 li span {
    display: inline-block;
    border-bottom: 1px solid;
    font-size: 1.3em;
    margin-top: 15px;
}
.tab_menu.step2 li span span,
.tab_menu.step3 li span span {
    display: block;
    font-size: 0.8em;
    margin-top: 0px;
}
.tab_menu.step2 li span.block,
.tab_menu.step3 li span.block {
    border: none;
    font-size: 1.1rem;
    display: block;
    margin-bottom: -15px;
}
.tab_menu.step2 li span span {
    border-bottom: none;
}

.lineup .tab_panel {
    display: none;
}

.lineup .tab_panel.active {
    display: block;
}

.lineup .tab_panel h3 {
    font-size: 1.2rem;
}

.lineup .tab_panel.step1 {
    background: #fff;
    padding: 6rem 32px 0;
    text-align: center;
}

.lineup .step2 > span {
    display: inline-block;
    padding: 2px 20px 5px;
    background: #333;
    border-radius: 5px;
    color: #fff;
    margin-bottom: 20px;
}

.lineup .step2 .tab_panel.step3 {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    background-color: #333;
    text-align: center;
    padding: 5em 0;
    border-top: solid 4em #f2f2f2;
    color: #fff;
}
.lineup .propertyLoop .price {
    color: #fff;
}
.lineup .tab_panel.step1.all {
    padding-bottom: 6em;
}
.tab_panel.all img {
    max-width: 380px;
    margin: 0 auto;
    width: 100%;
}
.lineup .tab_panel.step1.all p {
    font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
    .lineup .tab_menu.step1 {
        display: -webkit-flex;
    }
    .lineup .flex {
        float: none;
        margin-left: 0;
        margin-bottom: 15px;
    }
    .lineup .tab_panel.step1 {
        padding: 6rem 10px 0;
    }
    .tab_menu.step2 li,
    .tab_menu.step3 li {
        width: calc(50% - 10px);
        margin: 3em 5px 6em;
    }
    .tab_menu.step2 li span.block,
    .tab_menu.step3 li span.block {
        font-size: 1rem;
    }
    .lineup .tab_menu.step1 li:first-child,
    .lineup .tab_menu.step1 li:last-child,
    .lineup .tab_menu.step1 li:nth-child(2) {
        width: 100%;
        height: 60px;
    }
    .lineup .tab_menu.step1 li + li {
        margin-left: 0;
        margin-top: 2px;
    }
    .panel_area {
        border-top: 2px solid #f2f2f2;
    }
    .lineup .tab_menu.step1 li {
        border-radius: 4px;
    }
}

.propertyLoop .soldout,
.propertyLoop .negotiations {
    position: relative;
}
.propertyLoop .soldout:before,
.propertyLoop .negotiations:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    /* background: rgba(255, 255, 255, 0.8); */
    background: rgba(242, 242, 242, 0.8);
    z-index: 1;
}
.panel_area .propertyLoop .soldout:before,
.panel_area .propertyLoop .negotiations:before {
    background: rgba(51, 51, 51, 0.3);
}
.propertyLoop .negotiations::after {
    content: '商談中';
    color: #253f3f;
    padding: 1em 0.25em;
    white-space: nowrap;
    font-size: 2rem;
    border: solid 2px #253f3f;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}
.panel_area .propertyLoop .negotiations::after {
    color: #ffffff;
    border: solid 2px #ffffff;
}
.propertyLoop .soldout:after {
    content: '済';
    color: #253f3f;
    padding: 0.75em 1em;
    white-space: nowrap;
    font-size: 2rem;
    border: solid 2px #253f3f;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}
.panel_area .propertyLoop .soldout::after {
    color: #ffffff;
    border: solid 2px #ffffff;
}

.sctProperty .h3wrap {
}

.sctProperty h3 {
    border-bottom: 1px #333 solid;
    margin-bottom: 2em;
}
.specSec {
    margin-bottom: 5em;
}
.specWrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3em;
    margin-bottom: 4em;
}
.specTxt {
    max-width: 700px;
}

.specTxt .specDesc {
    word-break: keep-all;
}
.specImg {
    text-align: center;
}
.specImg img {
    display: block;
    max-width: 300px;
    margin-bottom: 1em;
    margin-inline: auto;
}

.structureExImg {
    width: 60%;
    display: block;
    margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
    .specWrap {
        display: block;
    }

    .specImg img {
        display: block;
        max-width: 90%;
    }
}

/* 追記 */
.specImgWrap {
    padding-inline: 2em;
    display: flex;
    gap: 2em;
    justify-content: space-around;
    align-items: center;
}
.specImgWrap .specImg img {
    width: 100%;
    max-width: 300px;
    margin-bottom: 0;
    margin-inline: 0;
}
.specContainer {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* 任意の余白に調整 */
}

.specWrap {
    width: calc(50% - 10px); /* gap分を調整して2列に */
    box-sizing: border-box;
}
/* ▼ SP時のレイアウト調整 */
@media screen and (max-width: 767px) {
    /* テキスト側 (.specContainer) を1列に */
    .specContainer {
        display: block; /* flex解除でもOK */
    }

    .specWrap {
        width: 100% !important;
    }

    /* 画像側 (.specImgWrap) を2列グリッドに */
    .specImgWrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1em;
        padding-inline: 1em; /* 任意 */
    }

    .specImgWrap .specImg img {
        max-width: 100%;
        margin: 0;
    }
}
