.l_header_logo {
  line-height: 0;
}

.l_header_nav_text {
  color: #231815;
  font-size: 18px;
}

.l_header_nav_contact,
.l_header_nav_tel {
  border-radius: calc(50px / 2);
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  overflow-wrap: anywhere;
  transition: 0.25s ease;
}

.l_header_nav_contact {
  background: #bf1920;
  color: #fff;
}
@media (hover: hover) {
  .l_header_nav_contact:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
}

.l_header_nav_tel {
  background: #fff;
  border: 2px solid #bf1920;
  color: #bf1920;
}
@media (hover: hover) {
  .l_header_nav_tel:hover {
    background: #bf1920;
    color: #fff;
  }
}

.l_header_hamburger_bar {
  border-radius: 2px;
  background: #231815;
  transition: 0.25s ease;
}

.l_header_hamburger.is_open .l_header_hamburger_bar:nth-child(1) {
  top: 18px;
  transform: rotate(45deg);
}
.l_header_hamburger.is_open .l_header_hamburger_bar:nth-child(2) {
  opacity: 0;
}
.l_header_hamburger.is_open .l_header_hamburger_bar:nth-child(3) {
  top: 18px;
  transform: rotate(-45deg);
}

@media screen and (max-width: 896px) {
  .l_header_nav_tel {
    border-radius: 50%;
    font-size: 0;
  }
  .l_header_nav_tel i {
    font-size: 18px;
  }
}
.l_drawer_overlay {
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.l_drawer_overlay.is_open {
  opacity: 1;
  visibility: visible;
}

.l_drawer {
  background: #fff;
  transform: translateX(100%);
  transition: transform 0.25s ease;
}
.l_drawer.is_open {
  transform: translateX(0);
}

.l_drawer_close::before, .l_drawer_close::after {
  border-radius: 2px;
  background: #231815;
}
.l_drawer_close::before {
  transform: rotate(45deg);
}
.l_drawer_close::after {
  transform: rotate(-45deg);
}

.l_drawer_nav li + li {
  border-top: 1px solid #eee;
}
.l_drawer_nav a {
  font-size: 16px;
}
@media (hover: hover) {
  .l_drawer_nav a:hover {
    color: #bf1920;
  }
}

.l_drawer_tel {
  color: #bf1920;
  font-weight: 700;
}

.l_footer_deco {
  background: url("../images/footer_deco.png") no-repeat center bottom/1920px 318px;
}

.l_footer_cta {
  background: #ffe5db;
}

.l_footer_cta_card {
  background: #fff;
}
.l_footer_cta_card::after {
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
.l_footer_cta_card:first-child::after {
  background-image: url("../images/cta_left.png");
}
.l_footer_cta_card:last-child::after {
  background-image: url("../images/cta_right.png");
}

.l_footer_cta_title {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.4;
}

.l_footer_cta_lead {
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
}

.l_footer_map {
  line-height: 0;
}
.l_footer_map iframe {
  border: 0;
}

.l_footer_info {
  background: #fff;
}

.l_footer_logo {
  line-height: 0;
}

.l_footer_links a {
  color: #ca0020;
  font-size: 18px;
  line-height: 1.55;
}
@media (hover: hover) {
  .l_footer_links a:hover {
    text-decoration: underline;
  }
}

.l_footer_links_icon {
  border-radius: 50%;
  background: #ca0020;
  color: #fff;
  font-size: 16px;
}

.l_footer_address {
  font-size: 16px;
  line-height: 1.55;
}

.l_footer_copy {
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 896px) {
  .l_footer_cta_title {
    font-size: 22px;
  }
  .l_footer_cta_lead {
    font-size: min(16px, (100vw - 72px) / 22);
    white-space: nowrap;
  }
  .l_footer_deco {
    background-size: 900px 149px;
  }
  .l_footer_copy {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .l_footer_deco {
    background-image: url("../images/footer_deco_sp.png");
    background-size: 100%;
  }
}
.c_heading_01 {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.4;
  color: #231815;
}
.c_heading_01::before {
  background: url("../images/icon_heading.png") no-repeat center/42px 41px;
}

.c_heading_01--light {
  color: #231815;
}

.c_heading_01--center {
  text-align: center;
}

@media screen and (max-width: 896px) {
  .c_heading_01 {
    font-size: 22px;
    overflow-wrap: anywhere;
  }
  .c_heading_01::before {
    background-size: 32px 31px;
  }
}
.c_btn {
  border-radius: 5px;
  background: #ca0020;
  color: #fff;
  font-size: 20px;
  line-height: 1.4;
  text-align: center;
  overflow-wrap: anywhere;
  transition: 0.25s ease;
}
@media (hover: hover) {
  .c_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  }
}
.c_btn i {
  text-indent: 0;
  font-size: 0.8em;
}

.c_btn--pill {
  border-radius: calc(50px / 2);
  background: #bf1920;
}

.c_btn--gray {
  background: #b3b3b3;
}

@media screen and (max-width: 896px) {
  .c_btn {
    font-size: 16px;
  }
}
.c_area_tag {
  border-radius: 15px;
  background: #3ab483;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
}

.c_area_tag--fuji {
  background: #3ab483;
}

.c_area_tag--shinfuji {
  background: #3ab483;
}

.c_area_tag--aeontown {
  background: #ed7e8c;
}

.c_area_tag--other {
  background: #f08b4c;
}

.c_area_tag--fujinomiya {
  background: #ed7e8c;
}

.c_property_card {
  border-radius: 10px;
  background: #fff;
  transition: 0.25s ease;
}
@media (hover: hover) {
  .c_property_card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  }
}

.c_property_card_photo {
  border-radius: 4px;
  background: #f3f3f3;
}

.c_property_card_noimage {
  color: #b3b3b3;
  font-size: 14px;
}

.c_property_card_more {
  color: #e85a24;
  font-size: 14px;
}
.c_property_card_more i {
  text-indent: 0;
}

.c_property_card_title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.c_property_card_price {
  color: #14a0c0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}

.c_property_card_row dt {
  border: 1px solid #231815;
  background: #fff;
  font-size: 14px;
  line-height: 1.2;
}
.c_property_card_row dd {
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.c_property_card_badge {
  border: 2px solid #ca0020;
  border-radius: 50%;
  background: #fff;
  color: #ca0020;
  font-size: 14px;
  font-weight: 700;
}

.c_property_card.is_full {
  background: #ccc;
}
.c_property_card.is_full:hover {
  transform: none;
  box-shadow: none;
}

.c_property_card_overlay {
  background: rgba(35, 24, 21, 0.55);
  color: #fff;
  text-align: center;
}

.c_property_card_overlay_main {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}

.c_property_card_overlay_note {
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (max-width: 896px) {
  .c_property_card_overlay_main {
    font-size: 22px;
  }
}
.c_nav_search {
  border-radius: 10px;
  background: #fff;
  box-shadow: 5px 5px 5px 3px rgba(0, 0, 0, 0.1);
}

.c_nav_search_item + .c_nav_search_item::before {
  background: #d9d9d9;
}

.c_nav_search_link {
  transition: 0.25s ease;
}

.c_nav_search_label {
  font-size: 18px;
  line-height: 1.4;
  color: #808080;
}

.c_nav_search:not(.has_current) .c_nav_search_label {
  color: #231815;
}

.c_nav_search_item.is_sale .c_nav_search_label {
  color: #006ea3;
}

.c_nav_search_item.is_rent .c_nav_search_label {
  color: #b8b11f;
}

.c_nav_search_item.is_parking .c_nav_search_label {
  color: #ea5b75;
}

@media (hover: hover) {
  .c_nav_search_link:hover {
    transform: translateY(-2px);
    opacity: 0.75;
  }
  .c_nav_search_link:hover .c_nav_search_label {
    color: #231815;
  }
}

.c_nav_search_item.is_sale .c_nav_search_link:hover .c_nav_search_label {
  color: #006ea3;
}

.c_nav_search_item.is_rent .c_nav_search_link:hover .c_nav_search_label {
  color: #b8b11f;
}

.c_nav_search_item.is_parking .c_nav_search_link:hover .c_nav_search_label {
  color: #ea5b75;
}

@media screen and (max-width: 1200px) {
  .c_nav_search_link {
    text-align: center;
  }
}
@media screen and (max-width: 896px) {
  .c_nav_search_item + .c_nav_search_item {
    border-top: 1px solid #eee;
  }
  .c_nav_search_item:nth-child(2n) {
    border-left: 1px solid #eee;
  }
  .c_nav_search_item:nth-child(2) {
    border-top: 0;
  }
  .c_nav_search_label {
    font-size: 14px;
  }
}
.c_page_header {
  background-color: var(--theme, #ccc);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1920px 540px;
}

.c_page_header_title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  color: #231815;
}

@media screen and (max-width: 1200px) {
  .c_page_header {
    background-size: cover;
  }
  .c_page_header_title {
    font-size: 36px;
  }
}
@media screen and (max-width: 896px) {
  .c_page_header_title {
    font-size: 28px;
  }
}
@media screen and (max-width: 600px) {
  .c_sp_menu > a {
    border-radius: 999px;
    font-size: 3.733vw;
    line-height: 1.4;
    white-space: nowrap;
    transition: 0.25s ease;
  }
  .c_sp_menu_contact {
    background: #bf1920;
    color: #fff;
  }
  .c_sp_menu_tel {
    background: #fff;
    border: 2px solid #bf1920;
    color: #bf1920;
  }
}
.c_area_tab_item a {
  border-radius: calc(50px / 2);
  background: #ccc;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  overflow-wrap: anywhere;
  transition: 0.25s ease;
}
@media (hover: hover) {
  .c_area_tab_item a:hover {
    background: #b8b8b8;
  }
}
.c_area_tab_item.is_active a {
  background: #7e9ded;
}
@media (hover: hover) {
  .c_area_tab_item.is_active a:hover {
    background: #7e9ded;
  }
}

.c_area_tab_item--fuji.is_active a {
  background: #3ab483;
}
@media (hover: hover) {
  .c_area_tab_item--fuji.is_active a:hover {
    background: #3ab483;
  }
}

.c_area_tab_item--shinfuji.is_active a {
  background: #3ab483;
}
@media (hover: hover) {
  .c_area_tab_item--shinfuji.is_active a:hover {
    background: #3ab483;
  }
}

.c_area_tab_item--aeontown.is_active a {
  background: #ed7e8c;
}
@media (hover: hover) {
  .c_area_tab_item--aeontown.is_active a:hover {
    background: #ed7e8c;
  }
}

.c_area_tab_item--other.is_active a {
  background: #f08b4c;
}
@media (hover: hover) {
  .c_area_tab_item--other.is_active a:hover {
    background: #f08b4c;
  }
}

.c_area_tab_item--fujinomiya.is_active a {
  background: #ed7e8c;
}
@media (hover: hover) {
  .c_area_tab_item--fujinomiya.is_active a:hover {
    background: #ed7e8c;
  }
}

@media screen and (max-width: 896px) {
  .c_area_tab_item a {
    font-size: 15px;
  }
  body.is_parking .c_area_tab_item a {
    font-size: min(15px, (50vw - 42px) / 11);
  }
}
.c_pager_item .page-numbers {
  border: 2px solid #ff963b;
  border-radius: 50%;
  background: #fff;
  color: #ff963b;
  font-size: 16px;
  line-height: 1;
  transition: 0.25s ease;
}
@media (hover: hover) {
  .c_pager_item .page-numbers:hover {
    background: #ff963b;
    color: #fff;
  }
}
.c_pager_item .page-numbers.current {
  background: #ff963b;
  color: #fff;
}
.c_pager_item .page-numbers.dots {
  border-color: transparent;
  background: none;
}

.p_home_fv {
  background: #77c7ec;
}

.p_home_nav_slot,
.p_home_news--sale {
  background: #e4eef2;
}

.p_home_news--parking {
  background: #e6fbe6;
}

.p_home_news_more .c_btn {
  border-radius: 20px;
  background: #bf1920;
  font-weight: 700;
}

.p_home_news--sale::after {
  background: url("../images/home/section_parts_01.png") no-repeat right bottom/contain;
}

.p_home_deco_sea {
  background: url("../images/home/new_bottom.png") no-repeat center bottom/1920px 500px;
}

.p_home_worry {
  background: #fff;
}

.p_home_worry_photo img {
  border-radius: 4px;
}

.p_home_worry_item {
  font-size: 18px;
  line-height: 1.5;
}
.p_home_worry_item:nth-child(odd) {
  background: #fffcd1;
}
.p_home_worry_item i {
  color: #ca0020;
  font-size: 20px;
  text-indent: 0;
}
.p_home_worry_item em {
  color: #ca0020;
  font-style: normal;
}

.p_home_worry_pro {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.p_home_worry_balloon {
  border-radius: 8px;
  background: #ca0020;
  color: #fff;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
.p_home_worry_balloon::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -14px;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 14px solid #ca0020;
}

@media screen and (max-width: 896px) {
  .p_home_worry_item {
    font-size: 16px;
  }
  .p_home_worry_balloon::after {
    top: auto;
    right: auto;
    left: 50%;
    bottom: -14px;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 14px solid #ca0020;
    border-bottom: 0;
  }
}
@media screen and (max-width: 600px) {
  .p_home_fv_logo {
    background: url("../images/home/header_logo_sp.png") no-repeat center/contain;
  }
  .p_home_deco_sea {
    background-image: url("../images/home/new_bottom_sp.png");
    background-size: 100% 100%;
  }
}
.p_archive_empty {
  text-align: center;
}

.p_detail_box {
  border-radius: 25px;
  background: #fff;
}

.p_detail_price {
  color: #14a0c0;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.p_detail_no {
  background: #ca0020;
  color: #fff;
  font-size: 24px;
  line-height: 1.2;
  text-align: center;
}

.p_detail_gallery_slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.p_detail_gallery_slide.is_active {
  opacity: 1;
  visibility: visible;
}

.p_detail_gallery_slide img {
  border-radius: 4px;
}

.p_detail_gallery_thumb {
  border: 0;
  border-radius: 4px;
  background: none;
  cursor: pointer;
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition: outline-color 0.25s ease, opacity 0.25s ease;
  opacity: 0.65;
}
@media (hover: hover) {
  .p_detail_gallery_thumb:hover {
    opacity: 1;
  }
}

.p_detail_gallery_thumb img {
  border-radius: 4px;
}

.p_detail_gallery_thumb.is_active {
  outline-color: var(--theme);
  opacity: 1;
}

.p_detail_gallery_thumb:focus-visible {
  outline-color: #231815;
}

.p_detail_map iframe {
  border: 0;
}

.p_detail_lead {
  font-size: 16px;
  line-height: 1.75;
}

.p_detail_row dt,
.p_detail_note dt {
  background: #d9d9d9;
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
}
.p_detail_row dd,
.p_detail_note dd {
  background: #f3f3f3;
  font-size: 16px;
  line-height: 1.6;
}

.p_detail_contact {
  font-weight: 700;
}

.p_detail_back {
  font-weight: 700;
}

@media screen and (max-width: 896px) {
  .p_detail_contact {
    font-size: min(16px, (100vw - 92px) / 15);
  }
  .p_detail_row dt,
  .p_detail_note dt {
    text-align: left;
  }
  .p_detail_price {
    font-size: 22px;
  }
  .p_detail_no {
    font-size: 16px;
  }
}
.p_about_greeting_text {
  font-size: 20px;
  line-height: 1.8;
}

.p_about_greeting_sign {
  font-size: 18px;
  line-height: 1.8;
  text-align: right;
}

.p_about_company {
  background: #fff;
}

.p_about_company_card {
  border-radius: 10px;
  background: url("../images/about/company_bg.jpg") no-repeat center center/cover;
  color: #fff;
}

.p_about_company_row {
  border-bottom: 1px solid #231815;
  font-size: 18px;
  line-height: 1.8;
}

@media screen and (max-width: 1200px) {
  .p_about_company_card {
    background-image: linear-gradient(rgba(35, 24, 21, 0.32), rgba(35, 24, 21, 0.32)), url("../images/about/company_bg.jpg");
  }
}
@media screen and (max-width: 896px) {
  .p_about_greeting_text {
    font-size: 18px;
  }
  .p_about_greeting_sign {
    font-size: 16px;
  }
  .p_about_company_row {
    font-size: 16px;
  }
  .p_about_company_label {
    font-size: 14px;
  }
}
.p_page_body,
.p_contact_privacy_body {
  font-size: 18px;
  line-height: 1.8;
}
@media screen and (max-width: 896px) {
  .p_page_body,
  .p_contact_privacy_body {
    font-size: 16px;
  }
}
.p_page_body h2,
.p_contact_privacy_body h2 {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.4;
}
.p_page_body h3,
.p_contact_privacy_body h3 {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6;
}
.p_page_body a,
.p_contact_privacy_body a {
  color: #ca0020;
  text-decoration: underline;
}
.p_page_body ul,
.p_contact_privacy_body ul {
  list-style: disc;
}
.p_page_body ol,
.p_contact_privacy_body ol {
  list-style: decimal;
}

@media screen and (max-width: 896px) {
  .p_page_body h2,
  .p_contact_privacy_body h2 {
    font-size: 22px;
  }
  .p_page_body h3,
  .p_contact_privacy_body h3 {
    font-size: 18px;
  }
}
.p_contact_lead {
  font-size: 22px;
  line-height: 1.8;
  text-align: center;
}

.p_contact_note {
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
}

.p_contact_privacy {
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
  line-height: 1.9;
  scrollbar-color: #ca0020 #d9d9d9;
}
.p_contact_privacy::-webkit-scrollbar {
  width: 20px;
}
.p_contact_privacy::-webkit-scrollbar-track {
  background: #d9d9d9;
}
.p_contact_privacy::-webkit-scrollbar-thumb {
  background: #ca0020;
}

.p_contact_privacy_title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.p_contact_form_row {
  border-top: 1px solid #666;
}
.p_contact_form_row:not(:has(+ .p_contact_form_row)) {
  border-bottom: 1px solid #666;
}

.p_contact_form_label {
  font-size: 18px;
  line-height: 1.8;
}

.p_contact_form_required {
  color: #ca0020;
}

.p_contact_form_input input[type=text],
.p_contact_form_input input[type=tel],
.p_contact_form_input input[type=email],
.p_contact_form_input textarea {
  border: 1px solid #ccc;
  background: #fff;
  font-family: inherit;
  font-size: 18px;
  line-height: 1.8;
  color: #231815;
}
.p_contact_form_input input[type=text]:focus-visible,
.p_contact_form_input input[type=tel]:focus-visible,
.p_contact_form_input input[type=email]:focus-visible,
.p_contact_form_input textarea:focus-visible {
  outline: 2px solid var(--theme, #ca0020);
  outline-offset: 2px;
}

.p_contact_form_note {
  font-size: 14px;
  line-height: 1.5;
  color: #505050;
}

.p_contact_form_agree {
  font-size: 16px;
}
.p_contact_form_agree .wpcf7-list-item {
  margin: 0;
}

.p_contact_form_btn {
  border: 0;
  border-radius: 20px;
  background: #bf1920;
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  cursor: pointer;
}
@media (hover: hover) {
  .p_contact_form_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  }
}

.p_contact_tel_item {
  border-radius: 40px;
  background: #bf1920;
  color: #fff;
  text-decoration: none;
}

.p_contact_tel_no {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.p_contact_tel_time {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

@media (hover: hover) {
  a.p_contact_tel_item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
  }
}

@media screen and (max-width: 896px) {
  .p_contact_lead {
    font-size: 18px;
  }
  .p_contact_note,
  .p_contact_form_label,
  .p_contact_form_input input[type=text],
  .p_contact_form_input input[type=tel],
  .p_contact_form_input input[type=email],
  .p_contact_form_input textarea {
    font-size: 16px;
  }
  .p_contact_tel_item {
    border-radius: 32px;
  }
  .p_contact_tel_no {
    font-size: 24px;
  }
}
body.is_sale {
  --theme: #add6f8;
  --theme_bg: #eaf6ff;
}

body.is_rent {
  --theme: #d2f04b;
  --theme_bg: #f9ffde;
}

body.is_parking {
  --theme: #ff899f;
  --theme_bg: #fff4f6;
}

body.is_about {
  --theme: #83e476;
  --theme_bg: #effff3;
}

body.is_contact {
  --theme: #e4bcff;
  --theme_bg: #f9f0ff;
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.8;
}
@media screen and (max-width: 896px) {
  body {
    font-size: 16px;
  }
}
body {
  color: #231815;
  background: var(--theme_bg, #fff);
  -webkit-font-smoothing: antialiased;
}

a {
  transition: color 0.25s ease, background-color 0.25s ease, opacity 0.25s ease;
}

.u_nowrap {
  white-space: nowrap;
}
