/*--------------------------------------------------------------
# 検索ページ
--------------------------------------------------------------*/
.page_search .page_title {
  padding-bottom: 6.5rem;
}
.search_intro_text {
  font-size: var(--fs-18);
  width: fit-content;
  margin: 0 auto 5rem;
}
.searchform .content_block {
  max-width: 120rem;
  margin: 0 auto 4rem;
}
.searchform .content_block.area {
  margin-bottom: 0;
  padding-bottom: 9rem;
  .flex_box {
    display: flex;
    flex-direction: column;
    @media (min-width:768px) {
      flex-direction: row-reverse;
      justify-content: space-between;
    }
    .right {
      margin-bottom: 5rem;
      @media (min-width:768px) {
        width: 45%;
        margin: 4rem 0 0; 
      }
    }
    .left {
      @media (min-width:768px) {
        width: 48%;
      }
    }
  }
}
.searchform .choices_wrap {
  max-width: 65rem;
  padding-left: 1rem;
  &:not(:last-child) {
    margin-bottom: 4rem;
  }
}
.searchform .choices_category {
  display: flex;
  font-size: var(--fs-20);
  font-weight: 500;
  align-items: center;
  line-height: 1;
  margin-bottom: 0.6em;
  &::before {
    display: block;
    content: "";
    width: 0.8em;
    aspect-ratio: 1 / 1;
    margin: 0 0.5rem -0.1rem 0;
    border: 0.4rem solid var(--ac-orange);
    border-radius: 50%;
  }
}
.searchform .check_area {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2em;
}
.searchform .checkbox_wrap {
  font-size: var(--fs-20);
  margin-bottom: 0.5em;
}
.searchform .select_wrap {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
  gap: 0 0.5em;
}
.searchform details {
  & summary {
    display: block; /* ★Safariのデフォルト矢印を消すために追加 */
    list-style: none;
    cursor: pointer;
    position: relative;

    /* ★古いSafariや特定の挙動対策として、擬似要素も非表示にする */
    &::-webkit-details-marker {
      display: none;
    }

    &::before {
      content: "";
      font-size: inherit;
      width: 1.6rem;
      height: 1.7rem;
      background: linear-gradient(to right, #000) no-repeat center / 0.4rem;
      position: absolute;
      top: 50%;
      right: 1em;
      transform: translateY(-50%);
      transform-origin: top;
      transition: 0.4s all ease;
    }
    &::after {
      content: "";
      font-size: inherit;
      width: 1.6rem;
      height: 0.4rem;
      background: #000;
      position: absolute;
      top: 50%;
      right: 1em;
      transform: translateY(-50%);
    }

    .section_title_bar {
      margin-bottom: 0;
      border-bottom-left-radius: 1rem;
      border-bottom-right-radius: 1rem;
    }
  }
  .acordion_area {
    padding: 1.5rem;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    background: #F5F5F5;
    @media (min-width:768px) {
      padding: 2rem;
    }
  }
}
.searchform details[open] summary {
  &::before {
    rotate: 90deg;
  }
  .section_title_bar {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
input,input[type=checkbox],select {
  font-size: inherit;
  appearance: none;
  -webkit-appearance: none;
  padding: 0.5em;
  border-color: #C7C7C7;
  border-style: solid;
  border-width: 0.2rem 0.2rem 0.3rem;
  border-radius: 0.3rem;
  @media (min-width:768px) {
    border-width: 0.3rem 0.3rem 0.4rem;
  }
}
input[type=checkbox] {
  width: 0.95em;
  aspect-ratio: 1 / 1;
  accent-color: #C7C7C7;
  margin: 0rem 0.2rem -0.1em 0;
  padding: 0;
  background: #FFFFFF;
  box-shadow: 0 0 0 0 transparent;
  position: relative;

  &::before {
    display: block;
    content: "";
    width: 0.7rem;
    height: 1rem;
    opacity: 0;
    border-right: 0.3rem solid var(--fc-black2);
    border-bottom: 0.3rem solid var(--fc-black2);
    rotate: 45deg;
    position: absolute;
    top: 55%;
    left: 43%;
    transform: translate(-50%, -50%);
    transform-origin: top;
  }
  &:checked {
    background: #C7C7C7;
    &::before {
      opacity: 1;
    }
  }
}
label {
  font-size: inherit;
  line-height: 1;
}
.select {
  position: relative;
  > select {
    padding-right: 3rem;
  }
  &::after {
    display: block;
    content: "";
    width: 1.4rem;
    height: 1rem;
    background: #C7C7C7;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
  }
}
.searchform .btn_wrap {
  width: fit-content;
  margin: 0 auto 7rem;
  position: relative;
  &::before {
    display: inline-block;
    content:"";
    width: 1.3em;
    aspect-ratio: 1 / 1;
    background: url(/assets/img/icon_arrow.png) no-repeat center / contain;
    position: absolute;
    top: 50%;
    left: 1.5rem;
    transform: translateY(-50%);
  }
  .link_btn {
    padding-left: 5.5rem;
  }
}
/*--------------------------------------------------------------
# 一覧ページ
--------------------------------------------------------------*/
.archive_link_wrap {
  display: flex;
  justify-content: center;
  margin: -5rem 0 5rem;
  gap: 0 2rem;

  .btn {
    text-align: center;
    width: 15rem;
  }
  .current {
    color: var(--ac-orange);
    font-size: 150%;
    border-color: var(--ac-orange);
    &::after {
      display: none;
    }
  }
}
.archive_contents_wrap {
  @media (min-width:996px) {
    display: flex;
    gap: 0 3%;
  }
}
aside {
  width: max(30rem,85%);
  flex-shrink: 0;
  margin: 0 auto;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  @media (min-width:996px) {
    width: 30rem;
    margin: 0;
  }
  .sidebar_title {
    list-style: none;
    color: #FFF;
    margin-bottom: 0;
    background: var(--ac-orange);
    cursor: pointer;
    position: relative;
    z-index: +1;
    &::before {
      content: "";
      font-size: inherit;
      width: 1.6rem;
      height: 1.7rem;
      background: linear-gradient(to right, #FFF) no-repeat center / 0.4rem;
      position: absolute;
      top: 50%;
      right: 1em;
      transform: translateY(-50%);
      transform-origin: top;
      transition: 0.4s all ease;
    }
    &::after {
      content: "";
      font-size: inherit;
      width: 1.6rem;
      height: 0.4rem;
      background: #FFF;
      position: absolute;
      top: 50%;
      right: 1em;
      transform: translateY(-50%);
    }
  }
  > details[open] .sidebar_title::before  {
    rotate: 90deg;
  }
  .acordion_area.sidebar {
    margin-top: -2rem;
    padding: 4rem 2rem 2rem;
    background: var(--bg-orange);
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
  .searchform details {
    margin-bottom: 1.6rem;
  }
  .searchform details .section_title_bar {
    font-size: 1.7rem;
  }
  .searchform .area_title {
    font-size: 1.7rem;
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .searchform .area_choices {
    margin-bottom: 1.6rem;
    padding: 1rem 0 0.7rem;
    background: #FFF;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    .choices_wrap {
      padding: 0 1.5rem;
      &:not(:last-child) {
        margin-bottom: 1.5rem;
      }
    }
    .choices_category {
      font-size: 1.7rem;
    }
  }
  .searchform .room_choices .check_area,
  .searchform .year_choices .check_area {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(6em,1fr));
    gap: 0 0.5em;
  }
  .searchform .acordion_area {
    padding: 1rem 1.5rem;
    background: #FFF;
  }
  .searchform .select_wrap {
    font-size: 1.5rem;
    > span {
      font-size: 1.1rem;
    }
    .select::after {
      width: 1rem;
      height: 0.8rem;
    }
    .select > select {
      padding-right: 1.7rem;
    }
  }
  .searchform .checkbox_wrap {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
  }
  .searchform .content_block {
    margin: 0;
  }
  .searchform .btn_wrap {
    margin: 0 auto;
    .link_btn {
      font-size: 1.8rem;
    }
  }
}
.main_contents {
  padding-top: 2rem;
  @media (min-width:996px) {
    flex-grow: 1;
    padding-top: 0;
  }
}
.main_contents .pagenation_wrap {
  margin-bottom: 4rem;
  @media (min-width:996px) {
    display: flex;
    justify-content: space-between;
  }
  .wp-pagenavi {
    text-align: center;
    margin: 2rem auto 0;
  }
  .wp-pagenavi a, .wp-pagenavi span {
    padding: 0 1.5rem;
  }
  .wp-pagenavi a {
    text-decoration: underline;
    &:hover {
      text-decoration: none;
    }
  }
  .wp-pagenavi span.current {
    color: #939393;
  }
  .wp-pagenavi a:not(:last-child),.wp-pagenavi span:not(:last-child) {
    border-right: 0.1rem solid #939393;
  }
}
@media (min-width:768px) {
  .main_contents .pagenation_wrap.property_top .wp-pagenavi {
    margin: 0 0 0 auto;
  }
}
.main_contents .total {
  display: flex;
  font-weight: 700;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding: 0.5em 1em;
  background: #F5F5F5;
  .number {
    display: inline-block;
    color: var(--ac-orange);
    font-size: 180%;
    margin: 0 0.3em;
  }
}
.main_contents .current_page {
  text-align: center;
  @media (min-width:768px) {
    text-align: left;
  }
  .number {
    display: inline-block;
    color: var(--ac-orange);
    font-weight: 700;
    margin: 0 0.3em;
  }
  .bold {
    display: inline-block;
    font-weight: 700;
    font-size: 110%;
    margin: 0 0.3em;
  }
}
.main_contents .item {
  margin-bottom: 5rem;
  padding-bottom: 5rem;
  @media (min-width:768px) {
    display: grid;
    grid-template-columns: repeat(2, 25% 70%);
    grid-template-rows: repeat(4, auto);
    grid-column-gap: 5%;
  }
  &:not(:last-child) {
    border-bottom: 0.1rem dotted #939393;
  }
  .property_title {
    color: var(--fc-black2);
    font-size: var(--fs-20);
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 0.5em;
    @media (min-width:768px) {
      grid-area: 1 / 2 / 2 / 3; 
    }
  }
  .img_wrap {
    margin-bottom: var(--fs-18);
    @media (min-width:768px) {
      grid-area: 1 / 1 / 3 / 2;
    }
    & img {
      aspect-ratio: 500 / 350;
      object-fit: contain;
      @media (min-width:768px) {
        aspect-ratio: 1 / 1;
      }
    }
    .no_image {
      display:flex;
      text-align:center;
      justify-content:center;
      align-items:center;
      width:100%;
      aspect-ratio: 500 / 350;
      background:#D9D9D9;
      @media (min-width:768px) {
        aspect-ratio: 1 / 1;
      }
    }
  }
  .detail_wrap {
    margin-bottom: var(--fs-18);
    @media (min-width:768px) {
      grid-area: 2 / 2 / 3 / 3;
    }
    .price {
      display: flex;
      color: var(--fc-black2);
      font-size: var(--fs-40);
      font-weight: 700;
      align-items: center;
      line-height: 1;
      margin-bottom: 0.5em;

      & span {
        display: inline-block;
        color: #FFF;
        font-size: 60%;
        margin-right: 0.5em;
        padding: 0.5em;
        background: var(--ac-orange);
        border-radius: 0.5rem;
      }
    }
    .cost {
      display: flex;
      flex-wrap: wrap;
      color: var(--fc-black2);
      line-height: 1.6;
      margin-bottom: 0.5em;
      gap: 0 1em;
    }
    .deposit_detail {
      display: flex;
      margin-bottom: 0.5em;
      > * {
        color: var(--fc-black2);
        line-height: 1.6;
      }
      & dt::after {
        content: "：";
      }
      & dd + dt {
        margin-left: 1em;
      }
    }
    .room_detail {
      margin-bottom: 0.5em;
      > * {
        color: var(--fc-black2);
        line-height: 1.6;
      }
      > div {
        display: flex;
        > dt {
          flex-shrink: 0;
        }
      }
      & dt.type::after {
        content: "/";
      }
      & dt.room::after {
        content: "：";
      }
    }
    .area_detail {
      margin-bottom: 0.5em;
      > * {
        color: var(--fc-black2);
        line-height: 1.6;
      }
      > div {
        display: flex;
      }
      & dt::after {
        content: "：";
      }
    }
    .address,.information {
      color: var(--fc-black2);
    }
  }
  .property_point {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--fs-18);
    padding: 1em;
    gap: 0 2.5%;
    background: var(--bg-orange);
    border-radius: 1rem;
    @media (min-width:768px) {
      grid-area: 3 / 1 / 4 / 3;
    }
    &::before {
      display: block;
      content: "";
      width: min(15vw,11.2rem);
      height: min(15vw,11.2rem);
      margin: 0;
      flex-shrink: 0;
      background: url(/assets/img/point.png) no-repeat center / contain;
    }
  }
  .btn {
    @media (min-width:768px) {
      grid-area: 4 / 1 / 5 / 3;
      padding: 0.5em 4%;
    }
  }
}
.archive_contents_wrap .deposit_detail + .deposit_detail {
  margin: -0.5em 0 0.5em;
}
.page_single .deposit_detail + .deposit_detail {
  margin: -1.5em 0 1.5em;
}
.main_contents .search {
  margin-top: 2rem;
}
.free_search.content_block li {
  display: block;
}
/*--------------------------------------------------------------
# 詳細ページ
--------------------------------------------------------------*/
.property_content {
  max-width: 120rem;
  margin: 0 auto;
}
.property_content .property_title {
  color: var(--fc-black2);
  font-size: var(--fs-20);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2em;
  padding: 0.5em 1em;
  background: var(--hl-orange);
  border-radius: 1rem;
  @media print {
     margin-bottom: 1em;
  }
}
.property_content .section_title {
  color: var(--fc-black2);
  font-size: var(--fs-20);
  font-weight: 700;
  padding-bottom: 0.3em;
  border-bottom: 0.2rem solid var(--hl-orange);
}
.property_content .data_table {
  width: 100%;
  border-right: 0.1rem solid #939393;
  border-bottom: 0.1rem solid #939393;
  & tr {
    display: flex;
    flex-wrap: wrap;
    @media (min-width:768px) {
      display: table-row;
    }
  }
  & th {
    display: block;
    font-weight: 400;
    text-align: left;
    width: 46%;
    padding: 1em;
    background: #F4F4F4;
    border: 0.1rem solid #939393;
    border-bottom: none;
    @media (min-width:768px) {
      display: table-cell;
      width: 23%;
      padding: 1em 1.5em;
    }
     @media print {
      padding: 0.2em 1.0em;
    }
  }
  & td {
    display: block;
    width: 54%;
    padding: 1em;
    background: #FFF;
    border-top: 0.1rem solid #939393;
    @media (min-width:768px) {
      display: table-cell;
      width: auto;
      padding: 1em 1.5em;
    }
     @media print {
      padding: 0.1em 1.0em;
    }
  }
  
  .property_content .data_table {
  width: 100%;
  border-right: 0.1rem solid #939393;
  border-bottom: 0.1rem solid #939393;
  }
  
  
  .wrap.ml {
    margin-left: 1em;
  }
}

.print_flex {
  @media print {
    display: flex;
    justify-content: space-between;
  }
  }
  .print_flex>div {
  @media print {
   width:48% !important;
  }
  }


.property_content .property_head {
  @media (min-width:768px) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .left {
    padding-left: var(--fs-18);
    margin-bottom: 3rem;
    @media (min-width:768px) {
      width: 100%;
      margin-bottom: 0;
      padding-left: 0;
    }
    /* ▼▼ 印刷時の設定を追記 ▼▼ */
    @media print {
      width: 100%;
    }
    /* ▲▲ 印刷時の設定を追記 ▲▲ */
    .price {
      display: flex;
      color: var(--fc-black2);
      font-size: var(--fs-40);
      font-weight: 700;
      align-items: center;
      line-height: 1;
      margin-bottom: 0.5em;

      & span {
        display: inline-block;
        color: #FFF;
        font-size: 60%;
        margin-right: 0.5em;
        padding: 0.5em;
        background: var(--ac-orange);
        border-radius: 0.5rem;
      }
    }
    .cost {
      display: flex;
      flex-wrap: wrap;
      color: var(--fc-black2);
      margin-bottom: 1em;
      gap: 0 1em;
    }
    .deposit_detail {
      display: flex;
      margin-bottom: 1.5em;
      > * {
        color: var(--fc-black2);
      }
      & dt::after {
        content: "：";
      }
      & dd + dt {
        margin-left: 1em;
      }
    }
    .room_detail {
      margin-bottom: 1.5em;
      > * {
        color: var(--fc-black2);
      }
      > div {
        display: flex;
        > dt {
          flex-shrink: 0;
        }
      }
      & dt.type::after {
        content: "/";
      }
      & dt.room::after {
        content: "：";
      }
    }
    .area_detail {
      margin-bottom: 1.5em;
      > * {
        color: var(--fc-black2);
      }
      > div {
        display: flex;
      }
      & dt::after {
        content: "：";
      }
    }
    .address,.information {
      color: var(--fc-black2);
    }
  }
  .print_link {
    display: inline-block;
    color: #008CFF;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin-top: 0.5em;
    border: none;
    background: none;
    cursor: pointer;
  }
  .right {
    display: flex;
    justify-content: right;
    flex-wrap: wrap;
    gap: 0 6%;
    @media (min-width:768px) {
      width: 53%;
    }
  }
}

.property_content .property_image {
  width: calc(100% - 9rem);
  margin: 3rem auto 5rem;
  @media (min-width:768px) {
    margin-top: 1.8rem;
  }
   /* ▼▼ 印刷時の設定を追記 ▼▼ */
    @media print {
      display: none;
    }
}

.property_content .print_img {
  margin-bottom: 2rem;
  display: none;
   /* ▼▼ 印刷時の設定を追記 ▼▼ */
    @media print {
        width: 30% !important;
      display: block;
    }
}



.property_content .slick-track {
  display: flex;
  margin-left: 0;

  .slick-slide {
    height: auto;
  }
}
.property_content .slick-arrow {
  width: 3.6rem;
  height: 100%;
  &.slick-prev {
    left: -4.5rem;
  }
  &.slick-next {
    right: -4.5rem;
  }
  &::before {
    display: block;
    content: "";
    width: 47%;
    aspect-ratio: 55 / 91;
    margin: 0 auto;
  }
}
.property_content .main_slider {
  .slick-slide {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .photo_group {
    width: 100%;
  }
  .photo_group .img_wrap {
    background: #FFF;
    & img {
      aspect-ratio: 1200 / 562;
      margin: 0 auto;
      object-fit: contain;
    }
  }
  .photo_group .text {
    text-align: center;
  }
  .slick-arrow {
    background: #E2E2E2;

    &.slick-prev::before {
      background: url(/assets/slick/main_prev.png) no-repeat center / contain;
    }
    &.slick-next::before {
      background: url(/assets/slick/main_next.png) no-repeat center / contain;
    }
  }
}
.property_content .thumbnail_slider {
  margin-top: 1.7rem;

  .slick-slide {
    .inner {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      margin: 0 0.5rem;
      padding: 1.9rem 0;
      cursor: pointer;
      position: relative;
      &::after {
        content: "";
        width: 100%;
        height: 100%;
        border: 0.1rem solid #C7C7C7;
        position: absolute;
        top: 0;
        left: 0;
      }
    }
    &.slick-current .inner::after {
      border-color: var(--ac-orange);
    }
    & img {
      aspect-ratio: 1200 / 562;
      margin: 0 auto;
      object-fit: contain;
    }
  }
  .slick-arrow {
    background: var(--ac-orange);

    &.slick-prev::before {
      background: url(/assets/slick/thumb_prev.png) no-repeat center / contain;
    }
    &.slick-next::before {
      background: url(/assets/slick/thumb_next.png) no-repeat center / contain;
    }
  }
  &.no_move .slick-track {
    transform: unset !important;
  }
}
@media print {
.property_content .thumbnail_slider {
display: none;
}
}
.property_content .property_point {
  display: flex;
  align-items: center;
  margin-bottom: 6rem;
  padding: 1em;
  gap: 0 2.5%;
  background: var(--bg-orange);
  border-radius: 1rem;

  &::before {
    display: block;
    content: "";
    width: min(15vw,11.2rem);
    height: min(15vw,11.2rem);
    margin: 0;
    flex-shrink: 0;
    background: url(/assets/img/point.png) no-repeat center / contain;
  }

  /* ▼▼ 印刷時の設定 ▼▼ */
  @media print {
    margin-bottom: 1.0rem;
    padding: 0.5em;

    /* 追加：印刷時にbefore要素（アイコン画像など）を非表示にする */
    &::before {
      display: none;
    }
  }
}
.property_content .property_equipment {
  margin-bottom: 6rem;
  @media (min-width:768px) {
    margin-bottom: 8.5rem;
     @media print {
      margin-bottom: 3.0rem;    }
  }
/* ▼▼ 印刷時の設定を追記 ▼▼ */
    @media print {
      margin-bottom: 2rem;
    }
  .equipment_list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0.2em;
    gap: 0 0.7em;
    & li {
      font-size: var(--fs-16);
      margin-top: 0.8em;
      padding: 0 0.5em;
      background: var(--bg-orange);
      border: 0.2rem solid var(--hl-orange);
      border-radius: 0.5rem;
    }
  }
}
.property_content .property_data {
  margin-bottom: 6rem;
  @media (min-width:768px) {
    margin-bottom: 13rem;
  }
  /* ▼▼ 印刷時の設定を追記 ▼▼ */
    @media print {
      margin-bottom: 3rem;
    }
}
.property_content .management_head {
  margin: 3.3rem 0 4.8rem;
  @media (min-width:768px) {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 2%;
  }
  .company_name {
    color: var(--fc-black2);
    font-size: clamp( 2.2rem, calc( 1.857142857142857rem + 0.9523809523809524vw ), 3rem );
    font-weight: 700;
    line-height: 1.3;
    text-decoration: underline;
    width: 100%;
    margin-bottom: 0.5em;
  }
  .company_catchcopy {
    width: 100%;
    margin: 1em 0 2em;
  }
  .left {
    margin-bottom: 3rem;
    @media (min-width:768px) {
      width: 48%;
      margin-bottom: 0;
    }
  }
  .right {
    @media (min-width:768px) {
      width: 48%;
    }
  }
}
@media print {
.shop_data,.map,.office {
display: none !important;
}
}
.property_content .property_management .office_data_list.inline {
  display: flex;
  flex-wrap: wrap;
  & li + li::before {
    content: "・";
  }
}
.property_content .property_management .office_catchcopy {
  width: 100%;
  margin-bottom: 2em;
}
.property_content .property_contact {
  display: flex;
  justify-content: center;
  margin: 6rem 0 3rem;
  gap: 0 6%;
  @media (min-width:768px) {
    margin: 13.2rem 0 8rem;
  }
}
 @media print {
     .map_link, button.print_link {
      display: none !important;
    } 
    }

