/*----------------------------------------------------
共通設定
----------------------------------------------------*/
:root {
    --main-color: #001F53;
    --black: #000;
    --white: #fff;
    --gray: #F4F4F4;
    --blue: #4165A3;
    --light-blue: #DCE3EF;
    --gold: #BC862D;
    --light-gold: #D7A122;
    --purple: #7E7EC0;
    --line-color: #03C754;
    --gradation-color: linear-gradient(to right, #7E7EC0, #4165A3);

    --content-width: 1080px;
    --spacer-l: clamp(5.6rem, calc(1.2rem + 7.333vw), 10rem); /* min: 56px, max: 100px */
    --spacer-m: clamp(3.2rem, calc(2.4rem + 1.333vw), 4rem); /* min: 32px, max: 40px */
    --spacer-s: clamp(1.6rem, calc(0.8rem + 1.333vw), 2.4rem); /* min: 16px, max: 24px */
    --radius-l: 20px;
    --radius-s: 5px;
    --text-height: 1.6;
    --header-height: 145px;
}
.grecaptcha-badge {
    visibility: hidden;
}
html {
    font-size: 62.5%;
    scroll-padding-top: calc(var(--header-height) + 20px);
    scroll-behavior: smooth;
}
* {
  box-sizing: border-box;
}
body {
    font-size: 1.6rem;
    color: var(--black);
    background-color: var(--white);
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
}
/* p, h1, h2, h3, h4, h5, li, blockquote {
    text-wrap: pretty;
} */
img {
    display: block;
    width: 100%;
}
.tx-bold {
    font-weight: 600;
}
.tx-height {
    line-height: var(--text-height);
}
.content-wrapper {
    margin: 0 auto;
    max-width: var(--content-width);
    padding-inline: 40px;
}
@media (max-width: 767px) {
    .content-wrapper {
        padding-inline: 24px;
}
}
.br--sp {
    display: none;
}
@media (max-width: 767px) {
    .br--sp {
    display: inline;
}
}
.tx--pc {
    display: inline;
}
@media (max-width: 767px) {
.tx--pc {
    display: none;
}
}
.title {
    font-size: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */
    color: var(--main-color);
    font-weight: 600;
}
.sec-title--center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-bottom: var(--spacer-m);
}
.sec-title--center::before, .sec-title--center::after {
    content: "";
    width: clamp(4rem, calc(2rem + 3.333vw), 6rem); /* min: 40px, max: 60px */
    height: 2px;
    background-color: var(--gold);


}

.btn {
    display: inline-block;
    width: 260px;
    height: 68px;
    padding: 10px;
    border-radius: 60px;
    background: var(--gradation-color);
    color: var(--white);
    text-align: center;
    font-size: clamp(1.8rem, calc(1.6rem + 0.333vw), 2rem); /* min: 18px, max: 20px */
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.25);
}
@media (max-width: 767px) {
    .btn {
        width: 100%;
        max-width: 340px;
    }
}
.btn--back {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: clamp(1.6rem, calc(1.4rem + 0.333vw), 1.8rem); /* min: 16px, max: 18px */
}
.btn--back span {
    display: inline-block;
    background: var(--gradation-color);
    border-radius: var(--spacer-l);
    width: 20px;
    height: 20px;
    position: relative;
}
.btn--back span::after {
    pointer-events: none;
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-26%, -30%);
    background: url(../images/arrow-back.svg);
    background-repeat: no-repeat;
}
.under-line {
    background-image: linear-gradient(var(--light-gold), var(--light-gold));
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0% 4px;
    transition: background-size 0.8s ease;
}

.link-border {
    text-decoration: underline;
}
.icon-access {
    width: 20px;
    height: 20px;
}
/* 下層ページタイトル */
.top-sec-spacer {
    padding-top: clamp(12.5rem, calc(11.75rem + 10vw), 15rem); /* min: 200px, max: 240px (お知らせバー分の余白込み・要目視調整) */
}
.sec-title {
    margin-bottom: var(--spacer-m);
}
.sec-title--sub {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
    margin-bottom: var(--spacer-m);
}
.sec-title--sub::before {
    content: "";
    width: clamp(4rem, calc(2rem + 3.333vw), 6rem);
    height: 2px;
    background-color: var(--gold);
}

/*--------
物件情報パーツ
--------*/
.properties__list .property .property__name {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
}
.property__img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.property__info-access {
    margin-bottom: clamp(0.8rem, calc(0rem + 1.333vw), 1.6rem); /* min: 8px, max: 16px */
    line-height: 1.2;
}
.property__info-access-address {
    margin-bottom: 0.8rem;
}
.property__info-access-address, .property__info-access-trn {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 0.4rem;
    font-size: clamp(1.2rem, calc(1rem + 0.333vw), 1.4rem); /* min: 12px, max: 14px */
}
.property__info-access-address img, .property__info-access-trn img {
    width: 18px;
    height: 18px;
}

/*----------------------------------------------------
アニメーション
----------------------------------------------------*/
/* リンクホバー */
@media (hover: hover) {
    .anime-hover {
        opacity: 1;
        transition: opacity 0.2s ease;
    }
    .anime-hover:hover {
        opacity: 0.7;
    }
}
/* ボタン */
@media (hover: hover) {
    .btn {
        transition: transform 0.6s ease, box-shadow 0.3s ease;
        opacity: 0;
        transform: translateX(-5%);
    }
    .btn:hover {
        box-shadow: 0px 0px 0px rgba(0,0,0,0.25);
        transform: translateY(2px);
    }
    .btn.is-active {
        transform: translateX(0);
        opacity: 1;
    }
}
/* フェードアップ */
.anime-fade-up {
    transition: transform 0.8s ease, opacity 0.8s ease;
    transform: translateY(10%);
    opacity: 0;
}
.anime-fade-up.is-active {
    transform: translateY(0);
    opacity: 1;
}

/* タイトル */
.title {
    transform: translateY(10%);
    transition: transform 0.8s ease, opacity 0.8s ease;
    opacity: 0;
}
.title.is-active  {
    transform: translateY(0);
    opacity: 1;
}

.sec-title--center::before, .sec-title--center::after, .sec-title--sub::before  {
    transform: scaleX(0);
    transition: transform 0.6s ease;
}
.sec-title--center::before {
    transform-origin: right;
}
.sec-title--center::after, .sec-title--sub::before {
    transform-origin: left;
}
.sec-title--center.is-active::before,
.sec-title--center.is-active::after, .sec-title--sub.is-active::before {
    transform: scaleX(1);
}

/* アンダーラインが伸びる */
.under-line.is-active {
    background-size: 100% 4px;
}

/*----------------------------------------------------
header
----------------------------------------------------*/
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    background-color: var(--main-color);
    transition: padding 0.3s ease;
}
.header__logo {
    /* width: auto;
    height: 44px; */
    transition: height 0.3s ease;
}
.header__logo--compact {
    display: none;
}
header.is-compact .header__logo--default {
    display: none;
}
header.is-compact .header__logo--compact {
    display: block;
}
header.is-compact .header__logo {
    width: 150px;
}
header.is-compact .open-hour {
    display: none;
}
header.is-compact .header__contact {
    padding-block: 6px;
}
header.is-compact .header__tel img,
header.is-compact .header__cta img {
    width: 20px;
    height: 20px;
}
header.is-compact .tel-number {
    font-size: 18px;
}
header.is-compact .header__cta__btn {
    gap: 8px;
}
.site-notice {
    background-color: var(--light-gold);
    padding: 8px 16px;
    text-align: center;
}
.site-notice p {
    color: var(--main-color);
    font-size: clamp(1.1rem, calc(0.9rem + 0.5vw), 1.3rem);
    font-weight: 600;
    line-height: 1.5;
}
.header__content {
    display: flex;
    justify-content: space-between;
}
@media (max-width: 767px) {
    .header__content {
        display: block;
}
}
.header__content h1 {
    margin-left: 40px;
    width: clamp(17.4rem, calc(-1.2rem + 31vw), 36rem); /* min: 174px, max: 360px */
    display: flex;
    align-items: center;
}
@media (max-width: 767px) {
    .header__content h1 {
        padding-block: 8px;
        margin-left: 24px;
}
}
.header__wrapper {
    display: flex;
    gap: 24px;
}
.header__contact {
    width: 100%;
    max-width: 262px;
    text-align: right;
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    color: var(--white);
    padding-block: 10px;
    justify-content: center;
}
@media (max-width: 767px) {
    .header__contact{
        display: none;
}
}
.header__tel {
    display: flex;
    gap: 4px;
    margin-bottom: 4px;
}

.header__tel img {
    width: 24px;
    height: 24px;
}
.tel-number {
    font-size: 24px;
}
.open-hour {
    font-size: 1rem;
    margin-bottom: 8px;
}
.header__contact_btn {
    color: var(--main-color);
    background-color: var(--white);
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-block: 2px;
}
.header__contact_btn img {
    width: 24px;
}
.header__cta {
    display: flex;
    justify-content: center;
    text-align: center;
    width: 240px;
    font-size: 1.4rem;
    color: var(--white);
    flex-shrink: 0; 
}
@media (max-width: 767px) {
    .header__cta {
        width: 100%;
}
}
.header__cta img {
    width: 40px;
    margin: 0 auto;
}
@media (max-width: 767px) {
    .header__cta  img {
        display: none;
}
}
.header__cta__btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    gap: 16px;
}
@media (max-width: 767px) {
    .header__cta__btn{
        padding-block: 1rem;
}
}
.btn--line {
    background-color: var(--line-color);
}
.btn--rsv {
    background-color: var(--purple);
}

/*--------
ナビゲーション　（PC)
--------*/
.nav--pc {
    background-color: var(--white);
    width: 100%;

}
@media (max-width: 767px) {
    .nav--pc {
        display: none;
}
}
.nav--pc ul {
    color: var(--main-color);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    text-align: center;
}
.nav--pc li a {
    display: block;
    width: 100%;
    padding-block: 12px;
}
.nav--pc li a.is-current {
    border-bottom: 3px solid var(--gold);
}
/*--------
ハンバーガーメニュー
--------*/
.hamburger {
    display: none;
    pointer-events: none;
    width: 38px;
    height: 24px;
    position: absolute;
    right: 14px;
    top: 14px;
    cursor: pointer;
    z-index: 10;
}
.hamburger span {
    background-color: var(--white);
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    z-index: 100;
}
.hamburger span:nth-of-type(1){
    top: 0;
}
.hamburger span:nth-of-type(2){
    top: 12px;
}
.hamburger span:nth-of-type(3){
    top: 24px;
}
.hamburger.open span:nth-of-type(1){
    transform: translateY(12px) rotate(45deg);
}
.hamburger.open span:nth-of-type(2){
    opacity: 0;
}
.hamburger.open span:nth-of-type(3){
    transform: translateY(-12px) rotate(-45deg);
}
/* nav */
.nav--sp {
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    transform: translateX(100%);
    transition:  transform 0.5s ease, opacity 0.5s ease;
    color: var(--white);
    background-color: var(--main-color);
    width: 100%;
    height: 100dvh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2dvh;
}
.nav--sp.active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}
.logo--nav {
    width: 240px;
    margin-top: 14px;
}
.nav--sp ul {
    padding-top: 8vh;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 5.6rem;
}
.nav--sp li {
    margin-bottom: 2.4rem;
    font-size: 2.2rem;
}
@media (max-width: 767px) {
    .hamburger {
    display: block;
    pointer-events: auto;
}
}
.nav--sp__cta {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    margin-bottom: 2.4rem;
}
.nav--sp__cta__btn  {
    padding: 8px;
    text-align: center;
    font-size: 1.4rem;
}
.nav--sp__cta__btn img {
    margin: 0 auto;
    width: 40px;
    margin-bottom: 0.4rem;
}
.nav--sp__contact_btn {
    background-color: var(--white);
    color: var(--main-color);
    display: flex;
    gap: 4px;
    justify-content: center;
    align-items: center;
    padding-block: 0.4rem;
}
.nav--sp__contact_btn img {
    width: 24px;
}
.nav--sp__tel {
    display: flex;
    gap: 4px;
    font-size: 22px;
    margin-bottom: 0.4rem;
}
.nav--sp__tel img {
    width: 22px;
    height: 22px;
}
.nav--sp__open-hour {
    font-size: 1.2rem;
}

/*----------------------------------------------------
footer
----------------------------------------------------*/
footer {
    background-color: var(--white);
    border-top-left-radius: var(--radius-l);
    border-top-right-radius: var(--radius-l);
    box-shadow: 0px -2px 4px rgba(0,0,0,0.25);
    padding-block: 4rem;
    font-size: 1.4rem;
}
.page--top footer {
    margin-top: -16px;
}
.footer__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
@media (max-width: 767px) {
    .footer__content {
        flex-direction: column;
        align-items: flex-start;
    }
}
@media (max-width: 767px) {
    .footer__info {
        margin-bottom: 2.4rem;
    }
}
.footer__info .logo--footer {
    display: inline-block;
    width: clamp(24rem, calc(8rem + 26.667vw), 40rem); /* min: 240px, max: 400px */
    margin-bottom: 2.4rem;
}
.footer__info address {
    margin-bottom: 0.8rem;
}
.sns-list--pc {
    display: flex;
    gap: 16px;
    justify-content: flex-end;
    margin-bottom: 1.6rem;
}
.sns-list--sp {
    display: none;
}
@media (max-width: 767px) {
    .sns-list--sp {
        display: flex;
        gap: 32px;
        justify-content: center;
        margin-bottom: 4rem;
    }
    .sns-list--pc {
    display: none;
}
}
footer .sns-list li {
    width: 60px;
}
@media (max-width: 767px) {
    footer .sns-list li {
        width: 70px;
    }
}
footer .link--privacy-policy {
    display: block;
    margin-bottom: 0.8rem;
    text-align: right;
}
footer small {
    display: block;
    text-align: right;
}
@media (max-width: 767px) {
    footer .link--privacy-policy {
        text-align: left;
    }
    footer small {
        text-align: left;
    }
}
/*----------------------------------------------------
fv
----------------------------------------------------*/
.fv {
    min-height: 100svh;
    position: relative;
    background: url(../images/mv_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
@media (max-width: 767px) {
    .fv {
        background: url(../images/mv_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center right;
    }
}
.fv__text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 40px;
    color: var(--white);
}
@media (max-width: 767px) {
    .fv__text {
        left: 24px;
    }
}
.fv__text h2 {
    font-size: clamp(4rem, calc(0.8rem + 5.333vw), 7.2rem); /* min: 40px, max: 72px */
    margin-bottom: 0.8rem;
    letter-spacing: 0.1em;
    text-shadow: 0 5px 5px rgba(0,0,0,0.3);
}
.fv__text h3 {
    font-size:  clamp(1.6rem, calc(1rem + 1vw), 2.2rem); /* min: 16px, max: 22px */
    text-shadow: 0 2px 2px rgba(0,0,0,0.3);
    letter-spacing: 0.1em;
}
.fv__bar {
    width: 100%;
    background: linear-gradient(to bottom, #4165a3ce, #001F53);
    color: var(--white);
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    padding-block: 24px;
}
@media (max-width: 767px) {
    .fv__bar {
        text-align: left;
    }
    .fv__bar::after {
        content: "※要予約";
        font-size: 1rem;
        position: absolute;
        right: 10vw;
        bottom: 10px;
    }
}
.fv__bar h4 {
    padding-inline: 4rem;
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: clamp(1.4rem, 2vw,  1.8rem); /* min: 14px, max: 18px */
    margin-bottom: 1.6rem;
}
@media (max-width: 767px) {
    .fv__bar h4{
        display: none;
    }
}
.fv__bar h4::before, .fv__bar h4::after {
    content: "";
    flex: 1;
    height: 2px;
    background-color: var(--gold);
}
.fv__bar h4::before {
    left: -5px;
}
.fv__bar h4::after {
    right: 0;
}
.fv__bar-caution {
    font-size: 1.2rem;
}
.fv__bar__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    justify-content: center;
    padding-inline: 16px;
}
.fv__bar__list li {
    font-size: clamp(1.2rem, calc(0rem + 2vw), 2.4rem); /* min: 12px, max: 24px */
    padding-inline: 8px;
}
.fv__bar__list li .fv__bar__list-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
 @media (max-width: 767px) {
    .fv__bar__list li .fv__bar__list-content {
        gap: 8px;
    }
}
.fv__bar__list img {
    width: clamp(3rem, calc(1rem + 3.333vw), 5rem); /* min: 30px, max: 50px */
}
.fv__bar__list li:nth-of-type(2) {
    position: relative;
}
.fv__bar__list li:nth-of-type(2):before, .fv__bar__list li:nth-of-type(2)::after {
    content: "";
    width: 1px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    background-color: var(--white);
}
.fv__bar__list li:nth-of-type(2):before {
    left: 0;
}
.fv__bar__list li:nth-of-type(2):after {
    right: 0;
}

/*----------------------------------------------------
対応エリア
----------------------------------------------------*/
 .area {
    padding-block: clamp(2.4rem, calc(0.8rem + 2.667vw), 4rem); /* min: 24px, max: 40px */
    background-color: var(--gray);
 }
 .area__title {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 1.6rem;
 }
 @media (max-width: 767px) {
    .area__title {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 0.8rem;
    }
}
 .text--point {
    display: inline-block;
    color: var(--gold);
    padding: 8px;
    border: 2px solid currentColor;
    border-radius: var(--radius-s);
 }
  @media (max-width: 767px) {
    .text--point  {
        font-size: 1.4rem;
    }
}
 .area__list {
    background-color: var(--white);
    border-radius: var(--radius-s);
    position: relative;
    margin-bottom: 8px;
    display: grid;
    grid-template-rows: 1fr 1fr;
 }
 .area__list::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--gold);
 }
 .area__list__content {
    display: grid;
    grid-template-columns: 1fr 4fr;
    font-size: clamp(1.6rem, calc(1.2rem + 0.667vw), 2rem); /* min: 16px, max: 20px */
 }
@media (max-width: 767px) {
    .area__list__content  {
        grid-template-columns: 35% 1fr;
    }
}
 .area__list__content h3 {
    padding: 16px;
    text-align: center;
    color: var(--white);
    background-color: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
 }
 .area__list__content:nth-of-type(1) h3 {
    border-top-left-radius: var(--radius-s);
 }
  .area__list__content:nth-of-type(2) h3 {
    border-bottom-left-radius: var(--radius-s);
 }
 .area__list__content p {
    padding: 16px 16px;
    align-self: center;
 }
 .area__note {
    font-size: clamp(1.2rem, calc(0.8rem + 0.667vw), 1.6rem); /* min: 12px, max: 16px */
 }

/*----------------------------------------------------
募集中の物件一覧（TOPページ）
----------------------------------------------------*/
 .properties {
    padding-block: var(--spacer-l);
 }
 .properties .btn {
    margin: 0 auto;
    margin-top: var(--spacer-m);
 }
.page--top .properties__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1.6rem, calc(0rem + 2.667vw), 3.2rem); /* min: 16px, max: 32px */
}
@media (max-width: 767px) {
    .page--top .properties__list  {
        grid-template-columns: repeat(2, 1fr);
    }
    .properties .properties__list li:nth-child(n+5) {
        display: none;
    }
}
.page--top .properties__list li.property__none {
    white-space: nowrap;
}
.page--top .property__mv {
    margin-bottom: 16px;
}
.property__category {
    display: inline-block;
    background-color: var(--main-color);
    color: var(--white);
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
    padding: 4px 20px;
}
.property__name {
    font-size: clamp(1.6rem, calc(1.4rem + 0.333vw), 1.8rem); /* min: 16px, max: 18px */
    margin-bottom: 1.6rem;
}
.property__rent {
    font-size: clamp(1.8rem, calc(1.2rem + 1vw), 2.4rem); /* min: 18px, max: 24px */
    margin-bottom: 0.8rem;
}
.property__layout {
    font-size: clamp(1.6rem, calc(1.4rem + 0.333vw), 1.8rem); /* min: 16px, max: 18px */
    margin-bottom: 1.6rem;
}
.property__access-address {
    margin-bottom: 0.4rem;
}
.property__access-address, .property__access-train {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 0.4rem;
    font-size: 1.4rem;
}

/*----------------------------------------------------
仲介手数料無料キャンペーン
----------------------------------------------------*/
 .free-offer {
    padding-block: var(--spacer-l);
    background-color: #F1EDE8;
    border-radius: var(--radius-l);
    box-shadow: 0px -2px 4px rgba(0,0,0,0.25);
    position: relative;
 }
.free-offer__title {
    position: relative;
    z-index: 1;
}
 .free-offer__title h3 {
    color: var(--main-color);
    font-size: clamp(2rem, calc(1.6rem + 0.667vw), 2.4rem); /* min: 20px, max: 24px */
    margin-bottom: 0.4rem;
 }
 .free-offer__title h2 {
    display: inline-block;
    color: var(--light-gold);
    background-color: var(--white);
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
    padding: 1rem 1.2rem;
    font-size: clamp(3.6rem, calc(2.4rem + 2vw), 4.8rem); /* min: 36px, max: 48px */
    margin-bottom: var(--spacer-m);
 }
@media (max-width: 767px) {
    .free-offer__title h2 {
        margin-bottom: 0;
    }
}
.free-offer__img {
    width: 50%;
    height: 100%;
    background: url(../images/img-free-offer.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 40%;
    position: absolute;
    top: 0;
    right: 0;
    border-top-right-radius: var(--radius-l);
    border-bottom-right-radius: var(--radius-l);
}
@media (max-width: 767px) {
    .free-offer__img  {
        position: static;
        aspect-ratio: 4 / 3;
        width: 100%;
        border-top-right-radius: 0px;
        border-bottom-right-radius: 0px;
        margin-top: -4%;
        margin-bottom: 3.2rem;
    }
}   
.free-offer__text {
    width: 48%;
    position: relative;
    z-index: 1;
}
@media (max-width: 767px) {
    .free-offer__text {
        width: 100%;
    }
}
.free-offer__text--main {
    margin-bottom: 1.6rem;
}
.free-offer__note {
    margin-bottom: var(--spacer-m);
    font-size: 1.2rem;
}
@media (max-width: 767px) {
    .free-offer .btn  {
        margin: 0 auto;
    }
}
/*----------------------------------------------------
当社が選ばれる理由
----------------------------------------------------*/
.reason {
    padding-block: var(--spacer-l);
}
.reason__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */
    text-align: center;
}
@media (max-width: 767px) {
    .reason__list  {
        max-width: 460px;
        margin: 0 auto;
        grid-template-columns: repeat(2, 1fr);
    }
}
.reason__list__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    text-wrap: pretty;
}
.reason__list__item img {
    width: clamp(8rem, calc(4rem + 6.667vw), 12rem); /* min: 80px, max: 120px */
    margin-bottom: 0.8rem;
}
.reason__list__item {
    font-size: clamp(1.2rem, calc(0.8rem + 0.667vw), 1.6rem); /* min: 12px, max: 16px */
}
.reason__list__item h3 {
    font-size: clamp(1.7rem, calc(1.4rem + 0.5vw), 2rem); /* min: 17px, max: 20px */
    color: var(--gold);
}

/*----------------------------------------------------
サービス
----------------------------------------------------*/
.service {
    background: linear-gradient(
    to bottom,
    var(--gray) 0%,
    var(--gray) 25%,
    var(--blue) 25%,
    var(--blue) 100%
    );
    padding-top: var(--spacer-l);
}
@media (max-width: 767px) {
    .service {
        background: linear-gradient(
        to bottom,
        var(--gray) 0%,
        var(--gray) 20%,
        var(--blue) 20%,
        var(--blue) 100%
        );
    }
}
.issue {
    margin: 0 auto;
    max-width: 700px;
    position: relative;
    background-color: var(--light-blue);
    border-radius: var(--radius-s);
    padding: clamp(2.4rem, calc(0.8rem + 2.667vw), 4rem); /* min: 24px, max: 40px */
    margin-bottom: clamp(1.6rem, calc(0rem + 2.667vw), 3.2rem); /* min: 16px, max: 32px */
}
.issue__content {
    position: relative;
    z-index: 1;
}
.issue::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../images/bg-issue.png);
    background-size: 200px;
    opacity: 0.1;
}
.issue h4 {
    font-size: clamp(2rem, calc(1.6rem + 0.667vw), 2.4rem); /* min: 20px, max: 24px */
    text-align: center;
    margin-bottom: clamp(1.6rem, calc(0rem + 2.667vw), 3.2rem); /* min: 16px, max: 32px */
}
.issue__list {
    background-color: var(--white);
    border-radius: var(--radius-s);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
    justify-content: center;
    padding: 2.4rem;
}
@media (max-width: 767px) {
    .issue__list  {
        grid-template-columns: 1fr;
    }
}
.issue__list li {
    font-size: 1.8rem;
    display: flex;
    gap: 0.8rem;
    align-items: center;
}
.issue__list li img {
    width: 28px;
}
.img-arrows {
    margin: 0 auto;
    width: 44px;
    margin-bottom: clamp(1.6rem, calc(0rem + 2.667vw), 3.2rem); /* min: 16px, max: 32px */
}
.service__copy {
    font-size: clamp(2rem, calc(1rem + 1.667vw), 3rem); /* min: 20px, max: 30px */
    margin-bottom: 2.4rem;
    color: var(--white);
    text-align: center;
    text-wrap: pretty;
}
.service__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
    margin-bottom: var(--spacer-m);
}
@media (max-width: 767px) {
    .service__list  {
        grid-template-columns: 1fr;
    }
}
.service__list li {
    border-radius: var(--radius-s);
    background-color: var(--white);
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
}
.service__list li h5 {
    text-align: center;
    color: var(--white);
    font-size: clamp(2rem, calc(1.6rem + 0.667vw), 2.4rem); /* min: 20px, max: 24px */
    background-color: var(--main-color);
    padding: 2.4rem;
    border-top-left-radius: var(--radius-s);
    border-top-right-radius: var(--radius-s);
}
.service__list li p {
    padding: 2.4rem;
}
.owner-wanted {
    border-top-left-radius: var(--radius-l);
    border-top-right-radius: var(--radius-l);
    box-shadow: 0px -2px 4px rgba(0,0,0,0.25);
    background-color: var(--white);
    position: relative;
    padding-block: var(--spacer-l);
}
.owner-wanted__title {
    position: relative;
    z-index: 1;
}
.owner-wanted__title h3 {
 font-size: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */
 color: var(--main-color);
 margin-bottom: 0.8rem;
}
.owner-wanted__title h4 {
    display: inline-block;
    font-size: clamp(1.8rem, calc(1.2rem + 1vw), 2.4rem); /* min: 18px, max: 24px */
    margin-bottom: var(--spacer-m);
    color: var(--main-color);
    text-wrap: pretty;
}
.owner-wanted__img {
    width: 30%;
    height: 100%;
    background: url(../images/img-owner-wanted.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
}
@media (max-width: 767px) {
    .owner-wanted__img   {
        position: static;
        width: 100%;
        aspect-ratio: 57 / 35;
        margin-bottom: var(--spacer-m);
    }
}
.owner-wanted__text {
    width: 70%;
    position: relative;
    z-index: 1;
}
@media (max-width: 767px) {
    .owner-wanted__text {
        width: 100%;
        position: relative;
        z-index: 1;
    }
}
.owner-wanted__text p {
    margin-bottom: var(--spacer-s);
}

/*----------------------------------------------------
CTA
----------------------------------------------------*/
.cta {
    padding-block: calc(clamp(5.6rem, calc(4.8rem + 1.333vw), 6.4rem) + 2%);
    background: url(../images/bg-cta.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.cta__line {
    color: var(--white);
    position: relative;
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
    margin-bottom: 3.2rem;
}
@media (max-width: 767px) {
    .cta__line {
        max-width: 560px;
        margin: 0 auto;
        margin-bottom: 3.2rem;
    }
}
.cta__line h3 {
    background-color: var(--white);
    padding: 1.6rem;
    font-size: clamp(2rem, calc(1.6rem + 0.667vw), 2.4rem); /* min: 20px, max: 24px */
    display: inline-block;
    color: var(--light-gold);
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
    margin-bottom: 2.4rem;
    position: absolute;
    top: -30px;
    left: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */;
    z-index: 1;
}
@media (max-width: 767px) {
    .cta__line h3 {
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap;
        top: -7%;
    }
}
.cta__line__content {
    background: linear-gradient(to right, #2FB064 0%, #2FB064 66%, #42C478 66%, #42C478 100%);
    display: grid;
    grid-template-columns: 66% 1fr;
    align-items: center;
    border-radius: var(--radius-s);
}
@media (max-width: 767px) {
    .cta__line__content{
        background: linear-gradient(to bottom, #2FB064 0%, #2FB064 50%, #42C478 50%, #42C478 100%);
        grid-template-columns: 1fr;
    }
}
.cta__line__text {
    padding: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */
    padding-top: 5.6rem;
    /* background-color: #2FB064; */
    border-top-left-radius: var(--radius-s);
    border-bottom-left-radius: var(--radius-s);
    position: relative;
}
@media (max-width: 767px) {
    .cta__line__text {
        padding-top: 4rem;
    }
}
.cta__line__text::after {
    content: "";
    position: absolute;
    top: 0;
    right: -59px;
    transform: translateX(-50%);
    width: 40px;
    height: 100%;
    background-color: #2FB064;
    clip-path: polygon(
        0 0,
        20% 0,
        100% 50%,
        20% 100%,
        0 100%
    );
}
@media (max-width: 767px) {
    .cta__line__text::after {
        width: 100%;
        height: 20%;
        top: 49%;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        clip-path: polygon(
        0 0,
        100% 0,
        100% 20%,
        50% 100%,
        0 20%
        );
    }
}
.cta__line__text h2 {
    font-size: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */
    margin-bottom: 2.4rem;    
}
.cta__line__text p {
    position: relative;
    z-index: 1;
}
@media (max-width: 767px) {
    .cta__line__text h2 {
        text-align: center;
    }
}
.cta__line__img {
    margin: 0 auto;
    max-width: 140px;
    position: relative;
    z-index: 1;
}
.cta__line__img--sp {
    display: none;
    max-width: none;
    width: 160px;
}
@media (max-width: 767px) {
    .cta__line__img--sp {
        display: block;
        margin-bottom: 4rem;
    }
    .cta__line__img--pc {
    display: none;
}
}
.cta__rsv {
    background-color: #EBEBF5;
    border-radius: var(--radius-s);
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
    padding: clamp(2.4rem, calc(1.6rem + 1.333vw), 3.2rem); /* min: 24px, max: 32px */
}
@media (max-width: 767px) {
    .cta__rsv {
        max-width: 560px;
        margin: 0 auto;
    }
}
.cta__rsv__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
}
@media (max-width: 767px) {
    .cta__rsv__content {
        flex-direction: column;
    }
}
.cta__rsv__content .btn {
  box-shadow: none;  
}
@media (max-width: 767px) {
    .cta__rsv__content .btn {
        width: 100%;
    }
}

/*----------------------------------------------------
物件一覧ページ（下層）
----------------------------------------------------*/
.category-bar {
    display: flex;
    justify-content: flex-start;
    gap: 4px;
    border-bottom: 1px solid var(--blue);
    margin-bottom: var(--spacer-s);
}
.category-bar .category-bar__item{
    text-align: center;
    width: 140px;
    display: inline-block;
    padding: 1.2rem;
    background-color: var(--gray);
    border-top-left-radius: var(--radius-s);
    border-top-right-radius: var(--radius-s);
    color: var(--main-color);
}
.category-bar .category-bar__item.--selected {
    background-color: var(--blue);
    color: var(--white);
    font-weight: 600;
}
.category-bar .category-bar__item a {
    display: block;
}
.page--properties .top-sec-spacer {
    margin-bottom: 6.4rem;
}
.page--properties .properties__list {
    display: flex;
    flex-direction: column;
    gap: clamp(2.4rem, calc(0.8rem + 2.667vw), 4rem); /* min: 24px, max: 40px */
}
.page--properties .properties__list .property {
    background-color: var(--gray);
    border-radius: var(--radius-s);
    box-shadow: 0px 4px 4px rgba(0,0,0,0.25);
}
.page--properties .properties__list .property__header {
    padding-left: var(--spacer-s);
    padding-top: var(--spacer-s);
}
.page--properties .property__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* grid-template-rows: 1fr 1fr; */
    gap: 1.6rem;
    margin-bottom: 2.4rem;
    align-items: center;
}
@media (max-width: 767px) {
    .page--properties .property__content {
        align-items: flex-start;
        /* grid-template-rows: 1fr 100%; */
    }
    }
.page--properties .property__img-list {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0.8rem;
    min-width: 400px;
    padding-left: var(--spacer-s);
    margin-bottom: auto;
}
@media (max-width: 767px) {
    .page--properties .property__img-list {
        grid-row: 1 / 2;
        display: block;
        min-width: 0;
    }
}
.page--properties .property__img-list li:nth-of-type(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}
@media (max-width: 767px) {
    .page--properties .property__img:not(.property__mv) {
        display: none;
    }
}
.page--properties .property__info {
    padding-right: var(--spacer-s);
}
.page--properties .property__info-rent {
    background-color: #FFFBF0;
    border-radius: var(--radius-s);
    border: 2px solid var(--gold);
    font-size: clamp(1.8rem, calc(1.2rem + 1vw), 2.4rem); /* min: 18px, max: 24px */
    padding: 1.4rem;
    text-align: center;
    line-height: 1.2;
}

.page--properties .property__info-rent-other {
    font-size: clamp(1.2rem, calc(0.8rem + 0.667vw), 1.6rem); /* min: 12px, max: 16px */;
    display: inline-block;
    margin-top: 0.8rem;
    text-align: left;
}
.property__cta{
    padding-right: var(--spacer-s);
    margin-bottom: auto;
}
@media (max-width: 767px) {
    .property__cta{
        grid-column: 1 / 3;
        padding-inline: var(--spacer-s);
    }
}

.page--properties .property__cta-btn-detail, .page--properties .property__cta-btn-contact {
    display: block;
    padding: 1.2rem;
    text-align: center;
    color: var(--white);
    border-radius: var(--radius-s);
    font-size: 1.8rem;
}
.page--properties .property__cta-btn-detail {
    background-color: var(--main-color);
    margin-bottom: 1.2rem;
}
.page--properties .property__cta-btn-contact  {
    background: var(--gradation-color);
}
.page--properties .property__detail {
    display: flex;
    width: 100%;
}
.property__detail--sp {
    display: none;
}
@media (max-width: 767px) {
    .property__detail--sp {
        display: block;
        grid-column: 1 / 3;
        padding-inline: var(--spacer-s);
        font-size: 1.4rem;
    }
    .property__detail.property__detail--pc {
    display: none;
}
}
.page--properties .property__detail li {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.page--properties .property__detail .property__detail-label {
    display: block;
    background-color: var(--main-color);
    color: var(--white);
    padding: 1rem;
    font-size: clamp(1.1rem, calc(0.8rem + 0.47vw), 1.4rem); /* min: 11px, max: 14px */
}
.page--properties .property__detail .property__detail-value {
    display: block;
    background-color: var(--white);
    padding: 1rem;
    flex: 1;
    font-size: clamp(1.1rem, calc(0.8rem + 0.47vw), 1.4rem); /* min: 11px, max: 14px */
}
.page--properties .property__detail li:not(:last-child) .property__detail-value {
    border-right: 1px solid currentColor;
}


/*----------------------------------------------------
物件詳細ページ（下層）
----------------------------------------------------*/
.page--properties-detail .top-sec-spacer {
    margin-bottom: var(--spacer-l);
}
.page--properties-detail .property__header {
    margin-bottom: 0.8rem;
}
/* サムネイルの親要素に position: relative が必要 */
.page--properties-detail .property__img-list li {
    position: relative;
    aspect-ratio: 1 / 1;
}

/* 拡大アイコンのオーバーレイ:通常時は非表示 */
.page--properties-detail .property__img-overlay {
    display: none;
}

/* 選択中のサムネイル:白カバー30% + 黒枠3px */
.page--properties-detail .property__img-list li.is-active {
    border: 3px solid #000;
}
.page--properties-detail .property__img-list li.is-active::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.3);
    pointer-events: none;
}
.page--properties-detail .property__img-list .property__img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
/* 選択中のみ拡大アイコンを中央表示 */
.page--properties-detail  .property__img-list li.is-active .property__img-overlay {
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(3rem, calc(1rem + 3.333vw), 5rem); /* min: 30px, max: 50px */
    height: clamp(3rem, calc(1rem + 3.333vw), 5rem); /* min: 30px, max: 50px */
    cursor: pointer;
    z-index: 1;
}
.property__img-enlarge {
    width: 100%; 
    height: 100%; 
}
.page--properties-detail .property__img-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
    align-items: flex-start;
    margin-bottom: var(--spacer-m);
}
@media (max-width: 600px) {
    .page--properties-detail .property__img-wrapper {
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr;
        max-width: 600px;
        align-items: center;
        margin-bottom: var(--spacer-m);
    }
}
.page--properties-detail .property__img-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8rem;
}

/* swiper調整 */
.page--properties-detail .swiper {
    width: 100%;
    height: 100%;
}
.page--properties-detail .swiper-slide {
    aspect-ratio: 1 / 1;
}
.page--properties-detail .swiper-slide img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* 問い合わせボタン */
.page--properties-detail .property .btn {
    margin: 0 auto;
    width: 100%;
    max-width: 400px;
    height: 80px;
    margin-bottom: var(--spacer-m);
}

/* 各項目 */
.page--properties-detail .property__info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
}
@media (max-width: 855px) {
    .page--properties-detail .property__info {
        display: flex;
        flex-direction: column;
        gap: 2.4rem;
    }
}
.page--properties-detail .property__info-rent {
    grid-column: 1 / 2;
}
.page--properties-detail .property__info-detail {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.page--properties-detail .property__info-access {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}
.page--properties-detail .property__info-access .property__info-item li {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}
.page--properties-detail .property__info-access .property__info-access-label,
.page--properties-detail .property__info-access .property__info-access-map {
    flex-shrink: 0;
}
.page--properties-detail .property__info-access .property__info-item li .property__info-access-value {
    line-height: 1.4;
}

.page--properties-detail .property__info-header {
    padding-bottom: 0.4rem;
    border-bottom: 2px solid var(--gold);
    margin-bottom: 1.6rem;
}
.page--properties-detail .property__info-header span {
    font-size: 1.4rem;
}
.page--properties-detail .property__info-rent-main {
    font-size: 2.4rem;
    display: block;
    margin-bottom: 0.8rem;
}
.page--properties-detail .property__info-detail-label, .property__info-access .property__info-access-label {
    display: inline-block;
    background-color: var(--main-color);
    color: var(--white);
    font-size: clamp(1rem, calc(0.8rem + 0.333vw), 1.2rem); /* min: 10px, max: 12px */
    padding-block: 4px;
    width: 86px;
    text-align: center;
    margin-right: 0.4rem;
}

/* property__info-item共通 */
.property__info-item {
    display: grid;
    gap: 0.8rem;
    font-size: 1.5rem;
}

/* property__info-item各設定 */
.property__info-detail 
.property__info-item {
    grid-template-columns: 1fr 1fr;
}
@media (max-width: 420px) {
    .property__info-detail 
    .property__info-item {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
    }
}
.property__info-detail .property__info-item li {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}
.property__info-detail .property__info-detail-label {
    flex-shrink: 0;
}
.property__info-detail .property__info-item li:last-of-type {
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.page--properties-detail .property__info-detail-value,
.page--properties-detail .property__info-access-value {
    line-height: 1.4;
    font-size: clamp(1.4rem, calc(1.3rem + 0.167vw), 1.5rem); /* min: 14px, max: 15px */
}
.page--properties-detail .btn--back {
    padding-bottom: 6.4rem;
    margin-top: var(--spacer-m);
}

/* mapボタン */
.page--properties-detail .property__info-access-map {
    color: var(--main-color);
    border: 1px solid var(--main-color);
    border-radius: 20px;
    padding: 4px 8px;
    font-size: 1rem;
}


/*----------------------------------------------------
会社概要
----------------------------------------------------*/
.company {
    padding-bottom: 6.4rem;
}
.company__list {
    margin-bottom: var(--spacer-m);
}
.company__list li:nth-last-child(1) {
    padding-top: var(--spacer-m);
    text-decoration: underline;
    line-height: var(--text-height);
}
.company__item {
    display: grid;
    grid-template-columns: 20% 1fr;
    font-size: clamp(1.5rem, calc(1.2rem + 0.5vw), 1.8rem); /* min: 15px, max: 18px */
}
.company__label {
    padding-block: var(--spacer-m);
    text-align: center;
    color: var(--main-color);
    border-bottom: 2px solid currentColor;
    display: flex;
    align-items: center;
    justify-content: center;
}
.company__value {
    padding-block: var(--spacer-m);
    padding-left: var(--spacer-s);
    border-bottom: 2px solid #DCE3EF;
    display: flex;
    align-items: center;
}
.company__img-office {
    width: 100%;
    margin-bottom: var(--spacer-m);
}
.company__img-office img {
    aspect-ratio: 3 / 1;
    object-fit: cover;
}
@media (max-width: 767px) {
    .company__img-office img {
        aspect-ratio: 2 / 1;
        object-fit: cover;
    }
}
.company__access {
    display: grid;
    grid-template-columns: 1fr 60%;
    gap: var(--spacer-s);
    align-items: center;
}
@media (max-width: 767px) {
    .company__access {
        display: grid;
        grid-template-columns: 1fr;
    }
}
.company__access .sec-title--sub {
    font-size: 2.4rem;
}
.company__access-list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.company__access-item {
    display: flex;
    gap: 0.4rem;
}
.company__access-map {
    width: 100%;
    aspect-ratio: 7 / 4;
}
@media (max-width: 767px) {
    .company__access-map {
        width: 100%;
        aspect-ratio: 1 / 1;
    }
}

/*----------------------------------------------------
プライバシーポリシー
----------------------------------------------------*/
.page--privacy .privacy {
    padding-bottom: 6.4rem;
}
.privacy-policy {
    letter-spacing: normal;
}
.privacy-policy__intro {
    margin-bottom: var(--spacer-m);
}
.privacy-policy__content {
    margin-bottom: var(--spacer-m);
    font-size: 1.5rem;
}
.privacy-policy__content h3 {
    font-size: 2.4rem;
    font-weight: 600;
    color: var(--main-color);
    padding-bottom: 1.6rem;
    margin-bottom: 2.4rem;
    border-bottom: 1px solid currentColor
}
.privacy-policy__content ul ul {
    margin-left: 1.5em;
    margin-top: 0.4em;
}
.privacy-policy__content ul ul ul {
    margin-left: 1.5em;
}

/*----------------------------------------------------
お問い合わせ・来店予約フォーム(Contact Form 7)
----------------------------------------------------*/
.reservation {
    padding-bottom: 6.4rem;
}
.form-card {
    background-color: var(--light-blue);
    border-radius: var(--radius-s);
    padding: var(--spacer-s);
}
.form-card br {
    display: none;
}
.form-card__step {
    font-weight: 600;
    font-size: clamp(1.8rem, calc(1.6rem + 0.333vw), 2rem); /* min: 18px, max: 20px */
    margin-bottom: 2.4rem;
}
.form-card__row {
    display: flex;
    gap: 1.6rem;
    flex-wrap: wrap;
    margin-bottom: 1.6rem;
}
.form-card__row .form-card__group {
    flex: 1;
    min-width: 240px;
}
.form-card__group {
    margin-bottom: 1.6rem;
}
.form-card__label {
    display: block;
    font-weight: 600;
    margin-bottom: 1.6rem;
}
.form-card__required {
    color: var(--gold);
    font-size: 1.2rem;
    font-weight: 400;
}
.form-card__input,
.form-card__textarea {
    width: 100%;
    padding: 1.6rem;
    border-radius: var(--radius-s);
    background-color: var(--white);
    font-size: 1.6rem;
    font-family: inherit;
}
.form-card__textarea {
    min-height: 120px;
    resize: vertical;
}
.form-card__checkbox {
    text-align: center;
    margin-bottom: 1.6rem;
    margin-top: var(--spacer-m)
}
.form-card__checkbox label {
    cursor: pointer;
}
.form-card__checkbox input {
    width: 20px;
    height: 20px;
    background-color: var(--white);
    margin-bottom: 2px;
    cursor: pointer;
    color: var(--black);
    position: relative;
}
.form-card__checkbox input[type="checkbox"]:checked {
    background-color: var(--main-color);
    border-color: var(--main-color);
}
.form-card__checkbox input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 63%;
    width: 16px;
    height: 16px;
    background: url(../images/icon-checked.png);
    background-repeat: no-repeat;
    background-size: 100%;
    transform: translate(-50%, -50%);
}
.form-card__submit {
    margin: 0 auto;
    cursor: pointer;
}
.form-card__submit p {
    display: flex;
    justify-content: center;
    align-items: center;
}
.form-card__submit input[type="submit"] {
    text-align: center;
}
.wpcf7-list-item-label {
    font-weight: 600;
}
@media (max-width: 767px) {
    .form-card__row {
        flex-direction: column;
        gap: 0;
    }
}
.wpcf7-spinner {
    display: none;
}
/* 「入力してください」 */
.wpcf7-not-valid-tip {
    margin-top: 0.8rem;
}
/* レスポンステキスト */
.wpcf7-response-output {
    border-radius: var(--radius-s);
    background-color: var(--white);
    color: var(--main-color);
    text-align: center;
    font-weight: 600;
    padding: 1.6rem !important;
    border: none !important;
    margin: var(--spacer-s) 0 0 0 !important;
}
.top-sec-spacer.contact {
    padding-bottom: 6.4rem;
}

/* 物件問い合わせ */
.form-card__group.property-name .form-card__input {
    color: var(--black);
    -webkit-text-fill-color: var(--black);
    opacity: 1;
}