@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  /* vertical-align: bottom; */
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

* {
  text-align: left;
  color: #333;
}

html {
  scroll-behavior: smooth;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  background-color: #FFF;
}

.tb {
  display: none;
}

.sp {
  display: none;
}

@media screen and (max-width: 1025px) {
  .pc {
    display: none;
  }
}
.yugothic {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

.bold {
  font-weight: bold;
}

.uppercase {
  text-transform: uppercase;
}

.no-posts p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  color: #333;
  text-align: center;
}

.member-blur {
  -webkit-filter: blur(8px);
          filter: blur(8px);
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@media screen and (min-width: 769px) {
  .header__nav-toggle {
    display: none;
  }
  .header__nav-toggle .menu-label {
    display: none;
  }
  .header__mobile-nav {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .header__nav-toggle {
    width: 18px;
    height: 21px;
    display: block;
  }
  .header__nav-toggle span:nth-child(1) {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-color: #d30b33;
    border-radius: 50px;
    width: 18px;
    height: 1px;
    cursor: pointer;
  }
  .header__nav-toggle span:nth-child(2) {
    position: absolute;
    top: 4px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #d30b33;
    border-radius: 50px;
    width: 18px;
    height: 1px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .header__nav-toggle span:nth-child(3) {
    position: absolute;
    bottom: 4px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 18px;
    height: 1px;
    background-color: #d30b33;
    border-radius: 50px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .header__nav-toggle.active span {
    background-color: transparent;
  }
  .header__nav-toggle.active span:nth-child(2) {
    background-color: #d30b33;
    -webkit-transform: translate(-50%, 6px) rotate(315deg);
            transform: translate(-50%, 6px) rotate(315deg);
  }
  .header__nav-toggle.active span:nth-child(3) {
    background-color: #d30b33;
    -webkit-transform: translate(-50%, -6px) rotate(-316deg);
            transform: translate(-50%, -6px) rotate(-316deg);
  }
  .header__nav-toggle-menu {
    text-transform: uppercase;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .header__nav {
    display: none;
  }
  /* ========================================
     Mobile Navigation
  ======================================== */
  .header__mobile-nav {
    position: fixed;
    top: 59px;
    right: -120%;
    width: 100%;
    max-width: 375px;
    height: 100%;
    background-color: #ffffff;
    -webkit-transition: right 0.3s ease;
    transition: right 0.3s ease;
    z-index: 1001;
    overflow-y: auto;
  }
  .header__mobile-nav.active {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
    visibility: visible;
    display: block;
    z-index: 999;
    background: #fff;
    height: auto;
    min-height: calc(100vh - 58px);
    margin: 0 auto;
    padding-top: clamp(7.3svh, (141vw - 450px) / 2, 10svh);
    padding: 0;
    top: 59px;
    right: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    overflow: scroll;
    width: 100%;
    min-width: 100%;
  }
  .header__mobile-nav-content {
    padding: 24px;
  }
  /* ========================================
     Mobile Search Section
  ======================================== */
  .header__mobile-search-section {
    margin-bottom: 32px;
  }
  .header__mobile-search-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px 24px 12px 0;
    background-color: #D30B33;
    border-radius: 8px;
    -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    position: relative;
  }
  .header__mobile-search-icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 40px;
    height: 40px;
  }
  .header__mobile-search-icon-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .header__mobile-search-text {
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    color: #fff;
  }
  .header__mobile-search-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 16px;
    height: 16px;
  }
  .header__mobile-search-badge-inner {
    width: 100%;
    height: 100%;
    background-color: #fffef1;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 4px;
  }
  .header__mobile-search-badge-inner img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  /* ========================================
     Mobile Navigation Sections
  ======================================== */
  .header__mobile-nav-sections {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 25px;
  }
  .header__mobile-nav-sections-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    width: 50%;
  }
  .header__mobile-nav-sections-wrapper .header__mobile-nav-section {
    width: 100%;
  }
  .header__mobile-nav-section {
    width: 50%;
  }
  .header__mobile-nav-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
    margin-bottom: 16px;
  }
  .header__mobile-nav-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 24px;
    height: 24px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .header__mobile-nav-title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.448;
    color: #333333;
    margin: 0;
  }
  .header__mobile-nav-submenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding-left: 26px;
    position: relative;
  }
  .header__mobile-nav-submenu::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #d30b33;
  }
  .header__mobile-nav-link {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.448;
    color: #333333;
    text-decoration: none;
    -webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
  }
  /* ========================================
     Mobile CTA Section
  ======================================== */
}
@media screen and (max-width: 1024px) and (any-hover: hover) {
  .header__mobile-nav-link:hover {
    color: #d30b33;
  }
}
@media screen and (max-width: 1024px) {
  .header__mobile-cta-section {
    margin-top: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 21px;
    padding: 28px 1px;
    background-color: #ffffff;
    border: 1px solid #d30b33;
    border-radius: 20px;
  }
  .header__mobile-cta-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .header__nav-toggle {
    position: relative;
    z-index: 3;
  }
  body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
  }
}
.cta__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  max-width: 486px;
  width: 100%;
  height: 100px;
  border-radius: 50px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
@media screen and (max-width: 1024px) {
  .cta__button {
    max-width: 294px;
    height: 65px;
    border-radius: 32px;
    -webkit-box-shadow: 0px 2.61px 2.61px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 2.61px 2.61px 0px rgba(0, 0, 0, 0.1);
  }
}
@media (any-hover: hover) {
  .cta__button:hover::after {
    -webkit-transform: translateY(-50%) rotate3d(1, 0, 0, 360deg);
            transform: translateY(-50%) rotate3d(1, 0, 0, 360deg);
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
.cta__button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 2.6rem;
  color: #333;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .cta__button::after {
    font-size: 1.7rem;
    right: 16px;
  }
}
.cta__button--register {
  background-color: #fbe21f;
}
.cta__button--register .cta__button-text {
  color: #333;
}
.cta__button--property-inquiry {
  background-color: #0089cd;
}
.cta__button--property-inquiry::after {
  color: #fff;
}
.cta__button--property-inquiry .cta__button-text {
  color: #fff;
  -webkit-transform: translate(13px, 0px);
          transform: translate(13px, 0px);
}
.cta__button-text {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.448;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .cta__button-text {
    font-size: 1.6rem;
  }
}
.cta__button-badge {
  position: absolute;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 80px;
  height: 80px;
  background-color: #333333;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
  .cta__button-badge {
    width: 52px;
    height: 52px;
    left: 6px;
  }
}
.cta__button-badge-text {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.448;
  color: #ffffff;
}
@media screen and (max-width: 1024px) {
  .cta__button-badge-text {
    font-size: 1.6rem;
  }
}

.more__button {
  max-width: 320px;
  width: 100%;
  background-color: #333;
  border-radius: 10px;
  margin: 0 auto;
  padding: 17.5px 12px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.more__button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .more__button:hover {
    background-color: #fff;
    outline: 1px solid #B5B5B5;
  }
  .more__button:hover::after {
    color: #333;
  }
  .more__button:hover .more__button-icon {
    -webkit-filter: invert(1);
            filter: invert(1);
  }
  .more__button:hover .more__button-text {
    color: #333;
  }
}
.more__button-icon {
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
.more__button-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .more__button-text {
    font-size: 1.3rem;
  }
}

.home__button-wrapper {
  padding: 45px 24px 61px;
}
@media screen and (max-width: 768px) {
  .home__button-wrapper {
    padding: 45px 0 61px;
  }
}
.home__button-wrapper--cream {
  background-color: #FFFCEE;
}

.home__button {
  margin: 0 auto;
}

.detail-button {
  background-color: #D30B33;
  color: #FFFFFF;
  margin-left: auto;
  padding: 5px 20px;
  border-radius: 32px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 150px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.detail-button::before, .detail-button::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.detail-button::before {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #D30B33;
  right: 11px;
  z-index: 1;
}
.detail-button::after {
  right: 8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #FFFEF1;
}
@media (any-hover: hover) {
  .detail-button:hover {
    background-color: #FFFEF1;
    color: #4A4A4A;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .detail-button:hover::before {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .detail-button:hover::after {
    background-color: #D30B33;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

.detail__buttons-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  padding: 60.5px 0;
}
@media screen and (max-width: 768px) {
  .detail__buttons-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 61px;
  }
}
.detail__buttons-wrapper .more__button {
  margin: 0;
}
.detail__buttons-wrapper .more__button::before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.detail__buttons-wrapper .more__button:first-child::after {
  display: none;
}
.detail__buttons-wrapper .more__button:last-child::before {
  display: none;
}

.inner {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  .inner {
    padding: 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .inner {
    padding: 0 24px;
  }
}

.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
}
.title-en {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .title-en {
    font-size: 1.8rem;
  }
}
.title-ja {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .title-ja {
    font-size: 2.8rem;
  }
}

.subtitle {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #333;
  margin-left: 40px;
  vertical-align: super;
}
@media screen and (max-width: 768px) {
  .subtitle {
    display: block;
    margin: 45px 0 -56px;
  }
  .subtitle .sp {
    display: inline;
  }
}

/* ページネーション */
.pagination {
  margin-top: 40px;
  /* 投稿なしの場合 */
}
.pagination__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pagination__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 31px;
  height: 31px;
  background-color: #fff;
  border: 1px solid #ffd6db;
  border-radius: 15.5px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .pagination__number:hover {
    background-color: #d30b33;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .pagination__number {
    width: 28px;
    height: 28px;
    font-size: 1.4rem;
  }
}
.pagination__number--current {
  background-color: #d30b33;
  color: #fff;
  border-color: #d30b33;
  cursor: default;
}
@media (any-hover: hover) {
  .pagination__number--current:hover {
    background-color: #d30b33;
  }
}
.pagination__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15px;
  height: 30px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.pagination__arrow--prev, .pagination__arrow--next {
  margin: 0 22px;
  border: none;
  background: none;
}
@media (any-hover: hover) {
  .pagination__arrow--prev:hover, .pagination__arrow--next:hover {
    background: none;
  }
  .pagination__arrow--prev:hover svg path, .pagination__arrow--next:hover svg path {
    stroke: #FFD6DB;
  }
}
@media (any-hover: hover) {
  .pagination__arrow--prev:hover svg path {
    stroke: #D30B33;
  }
}
@media screen and (max-width: 768px) {
  .pagination__arrow {
    width: 12px;
    height: 24px;
  }
}
@media (any-hover: hover) {
  .pagination__arrow:hover {
    opacity: 0.7;
    background: none;
  }
}
.pagination .dots {
  font-size: 16px;
  color: #b5b5b5;
  padding: 0 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 31px;
  border: none;
}
@media (any-hover: hover) {
  .pagination .dots:hover {
    background: none;
  }
}
.pagination__no-posts {
  text-align: center;
  padding: 60px 20px;
}
.pagination__no-posts p {
  font-size: 1.8rem;
  color: #666;
}

.breadcrumb {
  padding-top: 122px;
}
@media screen and (max-width: 1024px) {
  .breadcrumb {
    padding-top: 59px;
  }
}

.breadcrumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 39px;
  padding: 11px 0px;
}
@media screen and (max-width: 768px) {
  .breadcrumb-list {
    padding: 6px 0;
  }
}

.breadcrumb-item {
  font-size: 1.6rem;
  position: relative;
}
@media (max-width: 480px) {
  .breadcrumb-item {
    font-size: 1.2rem;
  }
}
.breadcrumb-item:first-child {
  text-decoration: underline;
}
.breadcrumb-item:first-child::before {
  content: "";
  position: relative;
  display: inline-block;
  margin-right: 9px;
  left: 3px;
  background-image: url(../images/icon-home_breadcrumb.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 18px;
  height: 19px;
}
@media screen and (max-width: 768px) {
  .breadcrumb-item:first-child::before {
    width: 12px;
    height: 14px;
  }
}
.breadcrumb-item .breadcrumb-separator {
  border-top: 1px solid #B5B5B5;
  border-right: 1px solid #B5B5B5;
  display: inline-block;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: -31px;
}
@media screen and (max-width: 768px) {
  .breadcrumb-item .breadcrumb-separator {
    left: -32px;
  }
}

.page-header {
  background: #D30B33;
  color: #fff;
  width: 100%;
  height: 247px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0 180px 38px;
  position: relative;
}
.page-header::after {
  content: "";
  position: absolute;
  right: 114px;
  bottom: -83px;
  width: 228px;
  height: 263px;
  background-image: url("../images/illustration.webp");
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .page-header::after {
    right: 29px;
    bottom: -23px;
    width: 79px;
    height: auto;
    aspect-ratio: 78/91;
  }
}
@media screen and (max-width: 1024px) {
  .page-header {
    padding: 0 20px 30px;
    height: 180px;
  }
}
@media screen and (max-width: 768px) {
  .page-header {
    height: 139px;
    padding: 23px 0;
  }
}

.page-header__title-ja {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.448;
  letter-spacing: 0.06em;
  color: #fff;
  margin: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page-header__title-ja {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
  }
}

.page-header__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  width: 100%;
  height: 76px;
}
@media screen and (max-width: 768px) {
  .page-header__meta {
    height: 44px;
    gap: 22px;
  }
}

.page-header__line {
  width: 27px;
  height: 0;
  border-top: 4px solid #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .page-header__line {
    width: 20px;
    border-top: 4px solid #fff;
  }
}

.page-header__title-en {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  color: #fff;
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .page-header__title-en {
    font-size: 1.6rem;
  }
}

.subtract {
  width: 100%;
  margin-top: -1px;
}
.subtract-cream {
  background-color: #FFFCEE;
}
.subtract img {
  width: 100%;
}

.parallax {
  max-width: 100%;
  width: 100%;
}
.parallax img {
  width: 100%;
  aspect-ratio: 1440/422;
  height: auto;
}
@media screen and (max-width: 768px) {
  .parallax img {
    aspect-ratio: 375/300;
  }
}

/* 共通スライダーセクション */
.pickup-section,
.new-properties-section,
.price-down-section {
  position: relative;
  padding: 48px 0px 76px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .pickup-section,
  .new-properties-section,
  .price-down-section {
    padding: 48px 0px 149px;
  }
}
.pickup-section__header,
.new-properties-section__header,
.price-down-section__header {
  margin-bottom: 77px;
}
.pickup-section__inner,
.new-properties-section__inner,
.price-down-section__inner {
  padding-left: 90px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pickup-section__inner,
  .new-properties-section__inner,
  .price-down-section__inner {
    padding-left: 0;
  }
}
.pickup-section__slider-container,
.new-properties-section__slider-container,
.price-down-section__slider-container {
  position: relative;
  margin-bottom: 20px;
  margin-left: auto;
  padding: 60px 0 31px 107px;
  border-radius: 48px 0 0 48px;
}
@media screen and (max-width: 768px) {
  .pickup-section__slider-container,
  .new-properties-section__slider-container,
  .price-down-section__slider-container {
    margin: 0 0 41px 0;
    padding: 35px 0;
    border-radius: 0px;
  }
}
.pickup-section__slider-container.gray,
.new-properties-section__slider-container.gray,
.price-down-section__slider-container.gray {
  background-color: #F1F1F1;
}
.pickup-section__slider-container.red,
.new-properties-section__slider-container.red,
.price-down-section__slider-container.red {
  background-color: #D30B33;
}
.pickup-section__slider-container.none,
.new-properties-section__slider-container.none,
.price-down-section__slider-container.none {
  background-color: transparent;
}
.pickup-section__slider,
.new-properties-section__slider,
.price-down-section__slider {
  padding: 0 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin-top: -91px;
  margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
  .pickup-section__slider,
  .new-properties-section__slider,
  .price-down-section__slider {
    margin-top: 0;
  }
}
.pickup-section__slider .slick-list,
.new-properties-section__slider .slick-list,
.price-down-section__slider .slick-list {
  margin: 0 -20px;
}
.pickup-section__card,
.new-properties-section__card,
.price-down-section__card {
  background: #FFFFFF;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  height: 435px;
  margin: 0 20px;
}
@media screen and (max-width: 768px) {
  .pickup-section__card,
  .new-properties-section__card,
  .price-down-section__card {
    margin: 0 5px;
  }
}
@media (any-hover: hover) {
  .pickup-section__card:hover .detail-button,
  .new-properties-section__card:hover .detail-button,
  .price-down-section__card:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
  }
  .pickup-section__card:hover .detail-button::before,
  .new-properties-section__card:hover .detail-button::before,
  .price-down-section__card:hover .detail-button::before {
    color: #fff;
  }
  .pickup-section__card:hover .detail-button::after,
  .new-properties-section__card:hover .detail-button::after,
  .price-down-section__card:hover .detail-button::after {
    background-color: #D30B33;
  }
}
.pickup-section__card-image,
.new-properties-section__card-image,
.price-down-section__card-image {
  width: 100%;
  height: 210px;
  overflow: hidden;
  position: relative;
}
.pickup-section__card-image img,
.new-properties-section__card-image img,
.price-down-section__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pickup-section__card-content,
.new-properties-section__card-content,
.price-down-section__card-content {
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  height: 225px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.pickup-section__card-text-content,
.new-properties-section__card-text-content,
.price-down-section__card-text-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.pickup-section__card-title,
.new-properties-section__card-title,
.price-down-section__card-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.4;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pickup-section__card-excerpt,
.new-properties-section__card-excerpt,
.price-down-section__card-excerpt {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #333333;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pickup-section__card-property-info,
.new-properties-section__card-property-info,
.price-down-section__card-property-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.pickup-section__card-property-category,
.new-properties-section__card-property-category,
.price-down-section__card-property-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  margin-bottom: 4px;
}
.pickup-section__card-property-category-label,
.new-properties-section__card-property-category-label,
.price-down-section__card-property-category-label {
  font-size: 1.4rem;
  font-weight: 500;
  color: #3F3F3F;
  padding-right: 22px;
  border-right: 1px solid #B5B5B5;
  white-space: nowrap;
}
.pickup-section__card-property-category-value,
.new-properties-section__card-property-category-value,
.price-down-section__card-property-category-value {
  font-size: 1.4rem;
  font-weight: 700;
  color: #D30B33;
}
.pickup-section__card-tags,
.new-properties-section__card-tags,
.price-down-section__card-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 8px;
}
.pickup-section__card-tags .tag,
.new-properties-section__card-tags .tag,
.price-down-section__card-tags .tag {
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #4E4E4E;
  background-color: #fff;
  border: 1px solid #B5B5B5;
}
.pickup-section__card-tags .tag--new,
.new-properties-section__card-tags .tag--new,
.price-down-section__card-tags .tag--new {
  background-color: #FFF5F6;
  border: 1px solid #D30B33;
  color: #D30B33;
}
.pickup-section__card-tags .tag--price-down,
.new-properties-section__card-tags .tag--price-down,
.price-down-section__card-tags .tag--price-down {
  background-color: #FFF5F6;
  border: 1px solid #D30B33;
  color: #D30B33;
}
.pickup-section__card-tags .tag--station,
.new-properties-section__card-tags .tag--station,
.price-down-section__card-tags .tag--station {
  background-color: #fff;
  border: 1px solid #B5B5B5;
}
.pickup-section__card-tags .tag--room,
.new-properties-section__card-tags .tag--room,
.price-down-section__card-tags .tag--room {
  background-color: #fff;
  border: 1px solid #B5B5B5;
}
.pickup-section__card-property-name,
.new-properties-section__card-property-name,
.price-down-section__card-property-name {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pickup-section__card-price,
.new-properties-section__card-price,
.price-down-section__card-price {
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.4;
  color: #D30B33;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pickup-section__card-price .price-down-icon,
.new-properties-section__card-price .price-down-icon,
.price-down-section__card-price .price-down-icon {
  display: inline-block;
  margin-left: 4px;
  font-size: 1.6rem;
  color: #D30B33;
  -webkit-animation: bounce 1s infinite;
          animation: bounce 1s infinite;
}
.pickup-section__card-detail,
.new-properties-section__card-detail,
.price-down-section__card-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.pickup-section__card-detail-label,
.new-properties-section__card-detail-label,
.price-down-section__card-detail-label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #333;
  padding-right: 8px;
  border-right: 1px solid #B5B5B5;
  white-space: nowrap;
}
.pickup-section__card-detail-value,
.new-properties-section__card-detail-value,
.price-down-section__card-detail-value {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pickup-section__slider-controls,
.new-properties-section__slider-controls,
.price-down-section__slider-controls {
  position: relative;
  bottom: 0px;
  right: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  z-index: 10;
  padding-right: 180px;
}
@media screen and (max-width: 768px) {
  .pickup-section__slider-controls,
  .new-properties-section__slider-controls,
  .price-down-section__slider-controls {
    position: absolute;
    right: auto;
    bottom: -177px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding: 0;
  }
}
.pickup-section__slider-controls .slick-dots,
.new-properties-section__slider-controls .slick-dots,
.price-down-section__slider-controls .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  position: absolute;
  left: 47%;
  top: 12px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0;
  width: auto;
}
@media screen and (max-width: 768px) {
  .pickup-section__slider-controls .slick-dots,
  .new-properties-section__slider-controls .slick-dots,
  .price-down-section__slider-controls .slick-dots {
    top: -152px;
    left: 50%;
  }
}
.pickup-section__slider-controls .slick-dots li,
.new-properties-section__slider-controls .slick-dots li,
.price-down-section__slider-controls .slick-dots li {
  width: auto;
  margin: 0;
}
.pickup-section__slider-controls .slick-dots li button,
.new-properties-section__slider-controls .slick-dots li button,
.price-down-section__slider-controls .slick-dots li button {
  font-size: 0;
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #D9D9D9;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.pickup-section__slider-controls .slick-dots li button::before,
.new-properties-section__slider-controls .slick-dots li button::before,
.price-down-section__slider-controls .slick-dots li button::before {
  display: none;
}
.pickup-section__slider-controls .slick-dots li.slick-active button,
.new-properties-section__slider-controls .slick-dots li.slick-active button,
.price-down-section__slider-controls .slick-dots li.slick-active button {
  background-color: #D30B33;
}
.pickup-section__nav-buttons,
.new-properties-section__nav-buttons,
.price-down-section__nav-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.pickup-section__nav-button,
.new-properties-section__nav-button,
.price-down-section__nav-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #333333;
  border: 2px solid #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .pickup-section__nav-button,
  .new-properties-section__nav-button,
  .price-down-section__nav-button {
    width: 58px;
    height: 58px;
  }
}
.pickup-section__nav-button.prev::before,
.new-properties-section__nav-button.prev::before,
.price-down-section__nav-button.prev::before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .pickup-section__nav-button.prev::before,
  .new-properties-section__nav-button.prev::before,
  .price-down-section__nav-button.prev::before {
    font-size: 2.4rem;
  }
}
.pickup-section__nav-button.next::before,
.new-properties-section__nav-button.next::before,
.price-down-section__nav-button.next::before {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .pickup-section__nav-button.next::before,
  .new-properties-section__nav-button.next::before,
  .price-down-section__nav-button.next::before {
    font-size: 2.4rem;
  }
}
@media (any-hover: hover) {
  .pickup-section__nav-button:hover,
  .new-properties-section__nav-button:hover,
  .price-down-section__nav-button:hover {
    border: 2px solid #B5B5B5;
    background-color: #fff;
  }
  .pickup-section__nav-button:hover::before,
  .new-properties-section__nav-button:hover::before,
  .price-down-section__nav-button:hover::before {
    color: #333;
  }
}
.pickup-section__button,
.new-properties-section__button,
.price-down-section__button {
  padding: 19.5px 12px;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
  }
  60% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
  }
  60% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
}
.line-heading {
  margin-bottom: 24px;
}

.line-heading__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.448;
  letter-spacing: 0.08em;
  color: #333333;
  padding-left: 15px;
  position: relative;
}

.line-heading__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}

/* ==========================================================================
見出しブロック
   ========================================================================== */
.wp-block-lazyblock-h2-heading .article-heading {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #333333;
  position: relative;
  margin-bottom: 38px;
  padding-bottom: 9px;
  border-bottom: 1px solid #D30B33;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-h2-heading .article-heading {
    font-size: 2.2rem;
    line-height: 1.82;
    margin-bottom: 40px;
  }
}

.article-heading--h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #333333;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .article-heading--h3 {
    font-size: 1.6rem;
    line-height: 1.8;
    padding-left: 14px;
  }
}
.article-heading--h3::before {
  content: "";
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .article-heading--h3::before {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
  }
}

.wp-block-lazyblock-h4-heading .article-heading--h4 {
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  color: #D30B33;
  margin-bottom: 18px;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-h4-heading .article-heading--h4 {
    font-size: 1.4rem;
    margin-bottom: 15px;
  }
}

/* ==========================================================================
       カスタムテキスト
       ========================================================================== */
.wp-block-lazyblock-article-text .article-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  color: #333333;
  margin-bottom: 56px;
  white-space: pre-wrap;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-article-text .article-text {
    font-size: 1.4rem;
    margin-bottom: 40px;
  }
}

.wp-block-image {
  max-width: 660px;
  width: 100%;
  height: auto;
  aspect-ratio: 660/480;
  margin-bottom: 56px;
}
@media screen and (max-width: 768px) {
  .wp-block-image {
    aspect-ratio: 327/301;
    margin-bottom: 42px;
  }
}
.wp-block-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .wp-block-image img {
    height: 100%;
  }
}

/* ==========================================================================
    ハイライトテキスト
       ========================================================================== */
.wp-block-lazyblock-highlight-text {
  margin-bottom: 21px;
}
.wp-block-lazyblock-highlight-text .highlight-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.3;
  color: #333333;
  margin-bottom: 56px;
  white-space: pre-wrap;
  position: relative;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #FBFF89), color-stop(100%, #FBFF89), color-stop(70%, transparent));
  background: linear-gradient(transparent 0%, #FBFF89 0%, #FBFF89 100%, transparent 70%);
  padding: 4px 8px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  /* Safari対応 */
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-highlight-text .highlight-text {
    font-size: 1.4rem;
  }
}

/* ==========================================================================
   WPデフォルト段落文
   ========================================================================== */
.default-paragraph {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 58px;
}
@media screen and (max-width: 768px) {
  .default-paragraph {
    font-size: 1.4rem;
    margin-bottom: 40px;
  }
}

/* ==========================================================================
    この物件の担当者
    ========================================================================== */
.wp-block-custom-real-estate-staff .staff-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 55px;
}
@media screen and (max-width: 1024px) {
  .wp-block-custom-real-estate-staff .staff-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 29px;
    margin-bottom: 40px;
  }
}
.wp-block-custom-real-estate-staff .staff-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 1024px) {
  .wp-block-custom-real-estate-staff .staff-info {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 150px;
            flex: 0 0 150px;
  }
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .staff-info {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
.wp-block-custom-real-estate-staff .staff-image {
  max-width: 150px;
  width: 100%;
  height: 200px;
}
.wp-block-custom-real-estate-staff .staff-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-custom-real-estate-staff .staff-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .staff-details {
    gap: 7px;
  }
}
.wp-block-custom-real-estate-staff .staff-label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .staff-label {
    font-size: 1.4rem;
  }
}
.wp-block-custom-real-estate-staff .staff-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.wp-block-custom-real-estate-staff .staff-name::before {
  content: "";
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}
@media (any-hover: hover) {
  .wp-block-custom-real-estate-staff .staff-name:hover {
    opacity: 0.7;
  }
}
.wp-block-custom-real-estate-staff .staff-name-text {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.45;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .staff-name-text {
    font-size: 2.2rem;
  }
}
.wp-block-custom-real-estate-staff .property-description {
  background: #ffffff;
  border: 1px solid #B5B5B5;
  border-radius: 16px;
  padding: 24px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 33px;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .property-description {
    padding: 23px;
  }
}
.wp-block-custom-real-estate-staff .property-description::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='26' height='33' viewBox='0 0 26 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0.917723L25 31.991L0.92285 16.4548L25 0.917723Z' fill='white' stroke='%23B5B5B5'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
  width: 22px;
  height: 34px;
  left: -22px;
  top: 22px;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .wp-block-custom-real-estate-staff .property-description::before {
    left: 53px;
    top: -28px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.wp-block-custom-real-estate-staff .property-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  color: #333333;
  max-width: 430px;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .property-text {
    font-size: 1.4rem;
    line-height: 1.789;
  }
}
.wp-block-custom-real-estate-staff .property-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .property-images {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.wp-block-custom-real-estate-staff .property-images .property-image img {
  max-width: 200px;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .property-images .property-image img {
    width: 100%;
  }
}
.wp-block-custom-real-estate-staff .property-images .property-image figcaption {
  font-size: 1.6rem;
  line-height: 1.8;
  padding: 10px 0 0 3px;
}
@media screen and (max-width: 768px) {
  .wp-block-custom-real-estate-staff .property-images .property-image figcaption {
    font-size: 1.4rem;
    text-align: center;
    padding: 18px 0 0 3px;
  }
}

/* ==========================================================================
    画像とテキストのリンク
    ========================================================================== */
.wp-block-lazyblock-image-text-link .image-text-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 17px;
  margin-bottom: 56px;
  padding: 18px 0px 18px 10px;
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (max-width: 1024px) {
  .wp-block-lazyblock-image-text-link .image-text-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 15px;
    margin-bottom: 40px;
    padding: 17px 17px 16px;
  }
}
.wp-block-lazyblock-image-text-link .image-text-link__image {
  max-width: 178px;
  width: 100%;
  height: auto;
}
.wp-block-lazyblock-image-text-link .image-text-link__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-lazyblock-image-text-link .image-text-link__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px 27px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .wp-block-lazyblock-image-text-link .image-text-link__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
  }
}
.wp-block-lazyblock-image-text-link .image-text-link__link {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  text-decoration: underline;
  white-space: nowrap;
  color: #333333;
  position: relative;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-image-text-link .image-text-link__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 1.4rem;
  }
}
.wp-block-lazyblock-image-text-link .image-text-link__link::before {
  content: "";
  position: absolute;
  right: -13px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background-color: #4A4A4A;
}
@media screen and (max-width: 1024px) {
  .wp-block-lazyblock-image-text-link .image-text-link__link::before {
    top: auto;
    bottom: -8px;
    left: 50%;
    width: 16px;
    height: 1px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.wp-block-lazyblock-image-text-link .image-text-link__link:last-child::before {
  display: none;
}

/* ==========================================================================
    リンクテキスト
    ========================================================================== */
.wp-block-lazyblock-link-list {
  margin-bottom: 56px;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-link-list {
    margin-bottom: 40px;
  }
}
.wp-block-lazyblock-link-list .link-list__item {
  color: #333333;
  font-size: 1.6rem;
  text-decoration: underline;
  line-height: 2;
  margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-link-list .link-list__item {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
}
.wp-block-lazyblock-link-list .link-list__item:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
    テーブルリンク
    ========================================================================== */
.text-link-table {
  width: 100%;
  margin-bottom: 55px;
}
@media screen and (max-width: 768px) {
  .text-link-table {
    margin-bottom: 39px;
  }
}
.text-link-table__row {
  border: 1px solid #d9d9d9;
}
@media screen and (max-width: 768px) {
  .text-link-table__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.text-link-table__label {
  background-color: #EAEAEA;
  width: 220px;
  padding: 16px 20px;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .text-link-table__label {
    width: 100%;
    font-size: 1.4rem;
    padding: 20px;
  }
}
.text-link-table__content {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 15px 17px;
}
@media screen and (max-width: 768px) {
  .text-link-table__content {
    font-size: 1.4rem;
    padding: 14px 17px;
  }
}
.text-link-table__link {
  text-decoration: underline;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .text-link-table__link:hover {
    opacity: 0.7;
  }
}

/* ==========================================================================
           CTA登録ボタン
           ========================================================================== */
.wp-block-lazyblock-member-cta .member-cta {
  position: relative;
  margin-bottom: 56px;
  padding-top: 215px;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-member-cta .member-cta {
    margin-bottom: 40px;
    padding-top: 156px;
  }
}
.wp-block-lazyblock-member-cta .member-cta__image {
  max-width: 369px;
  width: 100%;
  position: absolute;
  top: 0px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-member-cta .member-cta__image {
    max-width: 270px;
  }
}
.wp-block-lazyblock-member-cta .member-cta__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ==========================================================================
お客様の声
========================================================================== */
.wp-block-lazyblock-customer-voice .customer-voice {
  margin-bottom: 55px;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-customer-voice .customer-voice {
    margin-bottom: 40px;
  }
}
.wp-block-lazyblock-customer-voice .questionnaire-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 38px;
  margin-bottom: 23px;
}
.wp-block-lazyblock-customer-voice .questionnaire-image img {
  max-width: 660px;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-lazyblock-customer-voice .customer-image {
  margin: 0 auto;
  max-width: 500px;
  height: 364px;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-customer-voice .customer-image {
    height: auto;
    aspect-ratio: 327/237;
  }
}
.wp-block-lazyblock-customer-voice .customer-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ==========================================================================
枠付きコンテント
========================================================================== */
.wp-block-lazyblock-boxed-content .boxed-content-wrapper {
  border: 1px solid #B5B5B5;
  border-radius: 10px;
  margin-bottom: 40px;
  padding: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 39px;
}
.wp-block-lazyblock-boxed-content .boxed-content__text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .wp-block-lazyblock-boxed-content .boxed-content__text {
    font-size: 1.4rem;
  }
}

/* ==========================================================================
    外部リンク
        ==========================================================================*/
.external-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px;
  max-width: 800px;
  margin: 0 auto 20px;
}
.external-links__link {
  width: 100px;
  height: 100px;
  background: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.external-links__image {
  max-width: 80px;
  max-height: 40px;
  -o-object-fit: contain;
  object-fit: contain;
}

/* ==========================================================================
    関連記事カード
    ========================================================================== */
.dynamic-related-posts__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #333333;
  margin-bottom: 21px;
  padding-left: 14px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .dynamic-related-posts__title {
    font-size: 1.6rem;
  }
}
.dynamic-related-posts__title::before {
  content: "";
  width: 5px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #D30B33;
}
.dynamic-related-posts__content {
  margin-bottom: 56px;
}
@media screen and (max-width: 768px) {
  .dynamic-related-posts__content {
    margin-bottom: 40px;
  }
}
.dynamic-related-posts .related-post-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  padding: 30px 24px;
  border: 1px solid #B5B5B5;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .dynamic-related-posts .related-post-item__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    padding: 25px 19px;
  }
}
@media (any-hover: hover) {
  .dynamic-related-posts .related-post-item__link:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .dynamic-related-posts .related-post-item__link:hover .detail-button::before {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .dynamic-related-posts .related-post-item__link:hover .detail-button::after {
    background-color: #D30B33;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.dynamic-related-posts .related-post-item__image {
  max-width: 270px;
  width: 100%;
  height: 211px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .dynamic-related-posts .related-post-item__image {
    max-width: none;
    height: auto;
    aspect-ratio: 287/224;
  }
}
.dynamic-related-posts .related-post-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.dynamic-related-posts .related-post-item__content {
  padding-top: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.dynamic-related-posts .related-post-item__title {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .dynamic-related-posts .related-post-item__title {
    font-size: 1.6rem;
  }
}
.dynamic-related-posts .related-post-item__excerpt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .dynamic-related-posts .related-post-item__excerpt {
    font-size: 1.4rem;
  }
}

/* ==========================================================================
    関連物件記事カード
    ========================================================================== */
.related-property__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #333333;
  margin-bottom: 21px;
  padding-left: 14px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .related-property__title {
    font-size: 1.6rem;
  }
}
.related-property__title::before {
  content: "";
  width: 5px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #D30B33;
}
.related-property__content {
  margin-bottom: 56px;
}
@media screen and (max-width: 768px) {
  .related-property__content {
    margin-bottom: 40px;
  }
}
.related-property-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  padding: 30px 24px;
  border: 1px solid #B5B5B5;
  border-radius: 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .related-property-item__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 25px 19px;
    gap: 17px;
  }
}
@media (any-hover: hover) {
  .related-property-item__link:hover {
    opacity: 0.7;
  }
}
.related-property-item__image {
  max-width: 270px;
  width: 100%;
  height: 211px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .related-property-item__image {
    max-width: none;
    height: auto;
    aspect-ratio: 287/212;
  }
}
.related-property-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.related-property-item__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.related-property-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.related-property-item__category {
  font-weight: 700;
  font-size: 1.2rem;
  color: #D30B33;
  background-color: #FFF5F6;
  border-radius: 20px;
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.related-property-item__title {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .related-property-item__title {
    font-size: 1.6rem;
    margin-bottom: 11px;
  }
}
.related-property-item__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}
.related-property-item__tag {
  font-weight: 500;
  font-size: 1.6rem;
  color: #4E4E4E;
  border: 1px solid #B5B5B5;
  padding: 2px 10px;
  border-radius: 5px;
}
.related-property-item__station {
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .related-property-item__station {
    font-size: 1.4rem;
  }
}

/* ========================================
   サイドバー
======================================== */
.sidebar {
  width: 100%;
  max-width: 280px;
}
.sidebar br {
  display: none;
}

.sidebar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

/* ウィジェット共通スタイル */
.widget {
  background: #fff;
  overflow: hidden;
}

.widget-title {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  padding-left: 15px;
  position: relative;
}
.widget-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 100%;
  background-color: #D30B33;
}

.widget_fudo_kaiin {
  border: 1px solid #b5b5b5;
  padding: 20px 16px;
  border-radius: 8px;
}
.widget_fudo_kaiin .kaiin_login form#loginform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.widget_fudo_kaiin .kaiin_login label {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5;
  color: #333;
  margin-bottom: 3px;
}
.widget_fudo_kaiin .kaiin_login input[type=text],
.widget_fudo_kaiin .kaiin_login input[type=password] {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #C3C3C3;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.5;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  margin-bottom: 17px;
}
.widget_fudo_kaiin .kaiin_login input[type=text]:focus,
.widget_fudo_kaiin .kaiin_login input[type=password]:focus {
  outline: none;
  border-color: #D30B33;
  -webkit-box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.1);
          box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.1);
}
.widget_fudo_kaiin .kaiin_login .kaiin_register {
  font-size: 1.4rem;
}
.widget_fudo_kaiin .kaiin_login .kaiin_register_top {
  margin-bottom: 19px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.widget_fudo_kaiin .kaiin_login .kaiin_register_top span {
  font-weight: 500;
  font-size: 1.4rem;
  color: #4A4A4A;
  text-decoration: underline;
}
.widget_fudo_kaiin .kaiin_login .login_submit_wrapper {
  position: relative;
}
.widget_fudo_kaiin .kaiin_login .login_submit_wrapper:has(> input[type=submit])::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .widget_fudo_kaiin .kaiin_login .login_submit_wrapper:hover:has(> input[type=submit])::after {
    color: #D30B33;
  }
}
.widget_fudo_kaiin .kaiin_login input[type=submit] {
  width: 100%;
  background-color: #D30B33;
  text-align: center;
  color: #fff;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  padding: 12px 21px;
  border-radius: 5px;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .widget_fudo_kaiin .kaiin_login input[type=submit]:hover {
    -webkit-box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    color: #D30B33;
  }
}
.widget_fudo_kaiin .login_comment {
  font-size: 1.6rem;
}

/* ========================================
   物件条件検索ウィジェット
======================================== */
.widget_fudo_b_k {
  /* 駅徒歩検索を非表示 */
}
.widget_fudo_b_k .jsearch_caution1 {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.9;
  margin-bottom: 10px;
  color: #333;
}
.widget_fudo_b_k .shubetsu {
  font-size: 1.4rem;
  color: #757575;
  margin-bottom: 10px;
  position: relative;
}
.widget_fudo_b_k .shubetsu::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #D9D9D9;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.widget_fudo_b_k .select-wrapper {
  font-size: 1.4rem;
  color: #757575;
  margin-bottom: 10px;
  position: relative;
}
.widget_fudo_b_k .select-wrapper--route {
  margin-bottom: 10px;
}
.widget_fudo_b_k .select-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #D9D9D9;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.widget_fudo_b_k .select-wrapper--open::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.widget_fudo_b_k .hofun,
.widget_fudo_b_k #hofun,
.widget_fudo_b_k .jsearch_hofun {
  display: none;
}
.widget_fudo_b_k select {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #C3C3C3;
  border-radius: 3px;
  font-weight: 500;
  font-size: 1.4rem;
  color: #757575;
  background: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.widget_fudo_b_k .jsearch_caution2 {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 20px;
}
.widget_fudo_b_k #searchitem span {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.6;
  display: block;
  margin: 20px 0 11px;
}
.widget_fudo_b_k input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 -1px;
  border: 2px solid #C3C3C3;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  vertical-align: -4px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.widget_fudo_b_k input[type=checkbox].error {
  border-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .widget_fudo_b_k input[type=checkbox] {
    top: -4px;
  }
}
.widget_fudo_b_k input[type=checkbox]:checked {
  background-color: #D30B33;
}
.widget_fudo_b_k input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 1.33398L5.91667 9.66732L1.75 5.50065' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}
.widget_fudo_b_k label {
  margin-right: 10px;
}
.widget_fudo_b_k .property-search__button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  background: #D30B33;
  color: #fff;
  margin-top: 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.4rem;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  cursor: pointer;
}
.widget_fudo_b_k .property-search__button-wrapper::before {
  content: "";
  display: inline-block;
  background-image: url(../images/icon-search_wh.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
  position: relative;
  left: 83px;
}
.widget_fudo_b_k .property-search__button-wrapper::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  color: #D30B33;
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  width: 16px;
  height: 16px;
}
.widget_fudo_b_k .property-search__button-wrapper input[type=submit] {
  width: 100%;
  text-align: center;
  padding: 17px 32px 17px 10px;
}
@media (any-hover: hover) {
  .widget_fudo_b_k .property-search__button-wrapper:hover {
    background-color: #fff;
    color: #D30B33;
    -webkit-box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
    outline: 1px solid #D30B33;
    outline-offset: -1px;
  }
  .widget_fudo_b_k .property-search__button-wrapper:hover::before {
    -webkit-filter: brightness(0) saturate(100%) invert(20%) sepia(99%) saturate(7418%) hue-rotate(351deg) brightness(93%) contrast(93%);
            filter: brightness(0) saturate(100%) invert(20%) sepia(99%) saturate(7418%) hue-rotate(351deg) brightness(93%) contrast(93%);
  }
  .widget_fudo_b_k .property-search__button-wrapper:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}

/* ==========================================================================
   注目情報ウィジェット スタイル
   ========================================================================== */
.pickup-widget {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
}
.pickup-widget-item {
  background: #ffffff;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .pickup-widget-item:hover .detail-button {
    background-color: #fff;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
  }
  .pickup-widget-item:hover .detail-button::before {
    color: #D30B33;
  }
}
.pickup-widget-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 10px;
  width: 100%;
  height: 100%;
}
.pickup-widget-item__image {
  width: 132px;
  height: 86px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
  position: relative;
}
.pickup-widget-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pickup-widget-item__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.pickup-widget-item__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
.pickup-widget-item__title {
  margin-bottom: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.55;
  color: #333333;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.pickup-widget-item__excerpt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #333;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.pickup-widget-item__button {
  position: relative;
  width: 16px;
  height: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0;
}
.pickup-widget-item__button::before {
  color: #fff;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.pickup-widget-item__button::after {
  display: none;
}

/* ==========================================================================
   関連サイトウィジェット スタイル
   ========================================================================== */
.related-sites-widget {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.related-sites-widget .related-sites-widget__item {
  max-width: 254px;
}
.related-sites-widget .related-sites-widget__item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.header {
  background-color: #ffffff;
  border-bottom: 1px solid #d30b33;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}
.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  padding: 6px clamp(10px, (100vw - 1222px) / 2, 32px);
}
@media screen and (max-width: 1024px) {
  .header__container {
    padding: 11px;
    position: fixed;
    z-index: 1000;
    background-color: #fff;
    border-bottom: 1px solid #d30b33;
    width: 100%;
    height: 59px;
  }
}
.header__logo {
  max-width: 254px;
  height: 70px;
  display: block;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
@media (any-hover: hover) {
  .header__logo:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1024px) {
  .header__logo {
    width: 73vw;
    height: auto;
  }
}
.header__logo-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .header__right {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 1024px) {
  .header__top-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
}
.header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 31px;
  -webkit-transform: translate(0px, 6px);
          transform: translate(0px, 6px);
  margin-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .header__info {
    -webkit-transform: none;
            transform: none;
  }
}
.header__contact-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media screen and (max-width: 1024px) {
  .header__contact-info {
    display: none;
    visibility: hidden;
  }
}
.header__tel-info, .header__hours-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__tel-info {
  gap: 6px;
}
.header__hours-info {
  gap: 4px;
}
.header__label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.448;
  color: #555555;
  letter-spacing: 0.05em;
}
.header__tel-number {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
  color: #d30b33;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media (any-hover: hover) {
  .header__tel-number:hover {
    text-decoration: underline;
  }
}
.header__tel-number:focus {
  text-decoration: underline;
}
.header__hours {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
  color: #d30b33;
}
.header__closed-day {
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1;
  color: #555555;
  padding: 0 10px 1px;
  border: 1px solid #555555;
  border-radius: 5px;
}
.header__auth-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.header__auth-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  width: 72px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media (any-hover: hover) {
  .header__auth-button:hover {
    opacity: 0.762;
  }
}
@media screen and (max-width: 1024px) {
  .header__auth-button {
    width: auto;
    gap: 5px;
  }
}
.header__auth-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
  .header__auth-icon {
    width: 21px;
    height: 21px;
  }
}
.header__auth-text {
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1;
  color: #555555;
}
@media screen and (max-width: 1024px) {
  .header__auth-text {
    font-size: 1rem;
  }
}
.header__main {
  padding: 10px 0;
}
@media screen and (max-width: 1024px) {
  .header__main {
    display: none;
    padding: 0;
  }
}
.header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__nav-item {
  position: relative;
}
.header__nav-item:first-child .header__nav-link {
  border-left: 1px solid #B5B5B5;
}
.header__nav-item:first-child .header__nav-text {
  font-weight: 500;
}
.header__nav-link {
  display: block;
  padding: 8px clamp(12px, (78vw - 1025px) / 2, 32px);
  border-right: 1px solid #B5B5B5;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .header__nav-link:hover {
    outline: 2px solid #d30b33;
    outline-offset: 0px;
  }
  .header__nav-link:hover .header__nav-text {
    color: #d30b33;
  }
}
.header__nav-text {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  color: #333333;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/* ========================================
   Mobile Menu States
======================================== */
.header__menu-toggle[aria-expanded=true] ~ .header__mobile-overlay {
  opacity: 1;
  visibility: visible;
}

.header__menu-toggle[aria-expanded=true] ~ .header__mobile-nav {
  right: 0;
}

body.mobile-menu-open {
  overflow: hidden;
}

/* ========================================
   Responsive Design
======================================== */
/* Tablet and Desktop */
@media screen and (min-width: 768px) {
  .header__nav {
    display: block;
  }
  .header__main .header__container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
/* Mobile Only */
@media screen and (max-width: 767px) {
  .header__main {
    padding: 10px 0;
  }
  .header__main .header__container {
    gap: 8px;
  }
  .header__mobile-auth {
    gap: 5px;
  }
  .header__mobile-auth-button {
    min-width: auto;
  }
}
/* ========================================
   Focus States for Accessibility
======================================== */
.header__nav-link:focus,
.header__mobile-nav-link:focus,
.header__auth-button:focus,
.header__mobile-auth-button:focus,
.header__tel-number:focus {
  outline: 2px solid #d30b33;
  outline-offset: 0px;
}

/* ========================================
   Print Styles
======================================== */
@media print {
  .header__top,
  .header__auth-buttons,
  .header__mobile-auth,
  .header__menu-toggle,
  .header__mobile-nav,
  .header__mobile-overlay {
    display: none !important;
  }
  .header {
    position: static;
    border-bottom: 1px solid #000;
  }
}
/* ========================================
   High Contrast Mode Support
======================================== */
@media (prefers-contrast: high) {
  .header {
    border-bottom-width: 2px;
  }
  .header__nav-item:not(:last-child)::after {
    background-color: #000;
  }
  .header__menu-line {
    background-color: #000;
  }
}
/* ========================================
   Reduced Motion Support
======================================== */
@media (prefers-reduced-motion: reduce) {
  .header__menu-toggle,
  .header__menu-line,
  .header__mobile-overlay,
  .header__mobile-nav,
  .header__nav-link,
  .header__mobile-nav-link,
  .header__auth-button,
  .header__mobile-auth-button {
    -webkit-transition: none;
    transition: none;
  }
}
/* ================================
   KVスライダー
   ================================ */
.kv-slider {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background-color: #f5f5f5;
  margin-top: 123px;
  padding: 26px 0 50px;
}
@media screen and (max-width: 768px) {
  .kv-slider {
    margin-top: 59px;
    padding: 0 0 46px;
  }
}
.kv-slider__container {
  position: relative;
  width: 100%;
  height: 100%;
}
.kv-slider__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.kv-slider__track {
  position: relative;
  width: 100%;
  height: 100%;
}
.kv-slider__slide {
  position: relative;
  height: 100%;
  margin: 0 10px;
  overflow: hidden;
}
@media (max-width: 480px) {
  .kv-slider__slide {
    margin: 0;
  }
}
.kv-slider__link, .kv-slider__image-wrapper {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.kv-slider__image {
  width: 100%;
  height: auto;
  aspect-ratio: 980/502;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  margin: 0 auto;
}
@media (max-width: 480px) {
  .kv-slider__image {
    aspect-ratio: 375/496;
  }
}
.kv-slider__indicators {
  position: absolute;
  bottom: -24px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .kv-slider__indicators {
    bottom: -27px;
  }
}
.kv-slider__indicator {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.kv-slider__indicator-dot {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #d9d9d9;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .kv-slider__indicator-dot {
    width: 6px;
    height: 6px;
  }
}
.kv-slider__indicator--active .kv-slider__indicator-dot {
  background-color: #d30b33;
}

/* 会員登録促進フローティングボタン */
.kv-slider__cta-float {
  position: fixed;
  bottom: 48px;
  right: 21px;
  background-color: #ffffff;
  border-radius: 5px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  padding: 15px;
  z-index: 11;
  max-width: 450px;
  width: 443px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 1024px) {
  .kv-slider__cta-float {
    right: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding: 12px;
    max-width: none;
    width: 97%;
  }
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float {
    padding: 8px 30px 8px 8px;
  }
}
.kv-slider__cta-float__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 134px;
          flex: 0 0 134px;
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__img {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    max-width: 86px;
    width: 100%;
  }
}
.kv-slider__cta-float__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.kv-slider__cta-float__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2px;
  }
}
.kv-slider__cta-float__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__header {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.kv-slider__cta-float__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0px 0px 3px;
}
.kv-slider__cta-float__badge-text {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.448;
  color: #333333;
}
@media screen and (max-width: 1024px) {
  .kv-slider__cta-float__badge-text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__badge-text {
    font-size: 1.3rem;
  }
}
.kv-slider__cta-float__main-text {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.448;
  color: #d30b33;
}
@media screen and (max-width: 1024px) {
  .kv-slider__cta-float__main-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__main-text {
    font-size: 1.6rem;
  }
}
.kv-slider__cta-float__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  width: 100%;
}
.kv-slider__cta-float__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 5px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.kv-slider__cta-float__time-line {
  width: 7.44px;
  height: 13px;
  border-bottom: 1px solid #777777;
}
.kv-slider__cta-float__time-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1em;
  color: #333333;
  position: relative;
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__time-text {
    font-size: 1.5rem;
  }
}
.kv-slider__cta-float__time-text::before, .kv-slider__cta-float__time-text::after {
  content: "";
  position: absolute;
  top: 60%;
  left: -17px;
  -webkit-transform: translateY(-50%) rotate(57deg);
          transform: translateY(-50%) rotate(57deg);
  width: 14px;
  height: 1px;
  background-color: #777;
}
.kv-slider__cta-float__time-text::after {
  right: -17px;
  left: auto;
  -webkit-transform: translateY(-50%) rotate(-57deg);
          transform: translateY(-50%) rotate(-57deg);
}
.kv-slider__cta-float__time-text--highlight {
  font-size: 2rem;
  color: #d30b33;
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__time-text--highlight {
    font-size: 1.6rem;
  }
}
.kv-slider__cta-float__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 24px 10px 10px;
  background-color: #fbe21f;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  position: relative;
}
@media (any-hover: hover) {
  .kv-slider__cta-float__button:hover {
    -webkit-box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  }
}
.kv-slider__cta-float__button-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.kv-slider__cta-float__button-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0px 5px 1px;
  background-color: #ffffff;
  border-radius: 32px;
}
.kv-slider__cta-float__button-badge-text {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.448;
  letter-spacing: 0.05em;
  color: #333333;
}
.kv-slider__cta-float__button-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.448;
  letter-spacing: 0.05em;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .kv-slider__cta-float__button-text {
    font-size: 1.4rem;
  }
}
.kv-slider__cta-float__button .fa-arrow-right {
  color: #ffffff;
  position: absolute;
  top: 50%;
  right: 11px;
  font-size: 1.1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.kv-slider__cta-float__close-button {
  position: absolute;
  top: 9px;
  right: 7px;
  width: 17px;
  height: 17px;
  background: transparent;
  border: 1px solid #777;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.kv-slider__cta-float__close-button::before, .kv-slider__cta-float__close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1px;
  background: #777;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.kv-slider__cta-float__close-button::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
@media (any-hover: hover) {
  .kv-slider__cta-float__close-button:hover {
    outline: 1px solid #d30b33;
    border: none;
  }
  .kv-slider__cta-float__close-button:hover::before, .kv-slider__cta-float__close-button:hover::after {
    background-color: #d30b33;
  }
}
.kv-slider__cta-float__close-button:focus {
  outline: 1px solid #d30b33;
  border: none;
}
.kv-slider__cta-float__close-button:focus::before, .kv-slider__cta-float__close-button:focus::after {
  background-color: #d30b33;
}

/* アクセシビリティ対応 */
@media (prefers-reduced-motion: reduce) {
  .kv-slider__slide {
    -webkit-transition: none;
    transition: none;
  }
  .kv-slider__indicator-dot {
    -webkit-transition: none;
    transition: none;
  }
  .kv-slider__cta-button {
    -webkit-transition: none;
    transition: none;
  }
}
/* フォーカス対応 */
.kv-slider__indicator:focus-visible {
  outline: 2px solid #d30b33;
  outline-offset: 2px;
}

.kv-slider__cta-button:focus-visible {
  outline: 2px solid #d30b33;
  outline-offset: 2px;
}

/* ハイコントラストモード対応 */
@media (prefers-contrast: high) {
  .kv-slider__indicator-dot {
    border: 1px solid #000;
  }
  .kv-slider__indicator--active .kv-slider__indicator-dot {
    background-color: #000;
  }
  .kv-slider__cta-float {
    border: 1px solid #000;
  }
  .kv-slider__cta-button {
    border: 1px solid #000;
  }
}
.footer {
  background-color: #fff;
  padding: 57px 0 20px;
}
.footer__container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  .footer__container {
    padding: 0 24px;
  }
}
@media screen and (max-width: 1024px) {
  .footer__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 254px;
    height: 41px;
    margin: 0 auto 29px;
  }
}
.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  margin-bottom: 22px;
}
@media screen and (max-width: 1024px) {
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 57px;
  }
}
.footer__nav aside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 352px;
}
.footer__nav__button a {
  display: block;
  background-color: #333;
  color: #fff;
  padding: 20px 35px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  min-width: 200px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
}
.footer__nav__button a::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .footer__nav__button a:hover {
    background-color: #fff;
    color: #333;
    outline: 1px solid #B5B5B5;
  }
  .footer__nav__button a:hover::after {
    color: #333;
  }
}

/* ========================================
   Contact Info Section
======================================== */
.contact-info {
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 6px;
  padding: 25px 24px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .contact-info {
    padding: 25px 23px;
  }
}
.contact-info__title {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  margin-bottom: 13px;
  color: #333;
}
@media screen and (max-width: 1024px) {
  .contact-info__title {
    margin-bottom: 15px;
  }
}
.contact-info__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 13px;
}
@media screen and (max-width: 1024px) {
  .contact-info__phone {
    margin-bottom: 11px;
  }
}
.contact-info__tel-label {
  background-color: #333;
  color: #f5f5f5;
  padding: 5px 15px;
  border-radius: 16px;
  font-weight: 500;
  font-size: 1.4rem;
  text-transform: uppercase;
}
.contact-info__phone-number {
  color: #D30B33;
  font-weight: 700;
  font-size: 2.4rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .contact-info__phone-number:hover {
    opacity: 0.8;
  }
}
.contact-info__hours {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1;
  color: #333;
  margin-bottom: 19px;
}
@media screen and (max-width: 1024px) {
  .contact-info__hours {
    margin-bottom: 19px;
  }
}
.contact-info__form-button {
  display: block;
  background-color: #D30B33;
  color: #fff;
  padding: 19px 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.05em;
  width: 100%;
  text-align: center;
  position: relative;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
}
.contact-info__form-button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  right: 13px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .contact-info__form-button:hover {
    background-color: #fff;
    color: #D30B33;
    outline: 1px solid #D30B33;
  }
  .contact-info__form-button:hover::after {
    color: #D30B33;
  }
}

/* ========================================
   Main Footer Navigation
======================================== */
.footer__nav__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 50px;
  padding: 3px 0;
}
@media screen and (max-width: 1024px) {
  .footer__nav__main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 1024px) {
  .nav-section:nth-child(1) {
    grid-column: 1/-1;
    grid-row: 1;
  }
}
.nav-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.nav-section__icon {
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 1024px) {
  .nav-section__icon {
    width: 21px;
    height: 21px;
  }
}
.nav-section__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  color: #333;
}
.nav-section__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 17px;
}
.nav-section__item {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .nav-section:has(nav[aria-label=ホーム関連ページ]) .nav-section__item:first-child {
    display: none;
  }
}
.nav-section__link {
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (any-hover: hover) {
  .nav-section__link:hover {
    color: #D30B33;
  }
}

/* ========================================
   Company Info Section
======================================== */
.company-info {
  border-top: 2px dotted #e60012;
  padding-top: 13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
  .company-info {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 15px;
    padding-top: 35px;
  }
}
.company-info__brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.company-info__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 254px;
  height: 41px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
@media (any-hover: hover) {
  .company-info__logo:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1024px) {
  .company-info__logo {
    display: none;
  }
}
.company-info__logo-image {
  width: 100%;
  height: auto;
}
.company-info__links-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.company-info__link {
  color: #333;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (any-hover: hover) {
  .company-info__link:hover {
    color: #D30B33;
  }
}

/* ========================================
   Footer Copyright
======================================== */
.footer__copyright {
  text-align: center;
  padding-top: 20px;
}
.footer__copyright small {
  font-size: 1.2rem;
  color: #333;
}

@media (max-width: 768px) {
  .company-info__links-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__nav aside {
    min-width: auto;
  }
}
.wp-content {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .wp-content {
    padding: 0 24px;
  }
}

.privacy-section,
.disclaimer-section {
  padding: 71px 0px;
  background-color: #fff;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .privacy-section,
  .disclaimer-section {
    padding: 54px 0 40px;
  }
}

.privacy-intro,
.disclaimer-intro {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: 56px;
}
@media screen and (max-width: 768px) {
  .privacy-intro,
  .disclaimer-intro {
    font-size: 1.4rem;
  }
}

/* 各項目 */
.privacy-item,
.disclaimer-item {
  margin-bottom: 53.7px;
}
@media screen and (max-width: 768px) {
  .privacy-item,
  .disclaimer-item {
    margin-bottom: 57px;
  }
}

.privacy-item:last-child,
.disclaimer-item:last-child {
  margin-bottom: 0;
}

/* タイトル */
.privacy-title,
.disclaimer-title {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #333;
  margin: 0 0 24px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #d30b33;
}
@media screen and (max-width: 768px) {
  .privacy-title,
  .disclaimer-title {
    font-size: 2rem;
    margin: 0 0 13px 0;
  }
}

/* サブタイトル */
.privacy-subtitle {
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #333;
  margin: 32px 0 16px 0;
  padding-top: 31px;
}

/* 段落 */
.privacy-item p,
.disclaimer-item p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  margin: 0 0 1px 0;
}
@media screen and (max-width: 768px) {
  .privacy-item p,
  .disclaimer-item p {
    font-size: 1.4rem;
  }
}

.privacy-item p:last-child {
  margin-bottom: 0;
}

/* リスト */
.privacy-list {
  padding-left: 20px;
}

.privacy-list li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  list-style: decimal;
}
@media screen and (max-width: 768px) {
  .privacy-list li {
    font-size: 1.4rem;
    line-height: 1.76;
  }
}

.privacy-list li:last-child {
  margin-bottom: 0;
}

.privacy-contact p {
  margin: 0 0 8px 0;
}

.privacy-contact p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .privacy-section__content {
    gap: 40px;
  }
  .privacy-section__text {
    font-size: 14px;
  }
  .privacy-section__intro-text {
    font-size: 14px;
  }
  .privacy-section__subtitle {
    font-size: 16px;
  }
  .privacy-section__item {
    gap: 16px;
  }
  .privacy-section__subsection {
    margin-top: 24px;
    padding-top: 16px;
  }
}
@media screen and (max-width: 480px) {
  .privacy-section__inner {
    padding: 0 16px;
  }
  .privacy-section__content {
    gap: 32px;
  }
  .privacy-section__text {
    font-size: 13px;
  }
  .privacy-section__intro-text {
    font-size: 13px;
  }
  .privacy-section__subtitle {
    font-size: 15px;
  }
  .privacy-section__contact {
    padding: 16px;
  }
  .privacy-section__item {
    gap: 12px;
  }
}
.error-404 {
  padding: 66px 0;
}
@media screen and (max-width: 768px) {
  .error-404 {
    padding: 54px 0;
  }
}
.error-404__header {
  max-width: 1080px;
  margin: 0 auto 29px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .error-404__header {
    padding: 0 24px;
  }
}
.error-404__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.448;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .error-404__title {
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.error-404-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .error-404-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.error-404-main {
  padding-top: 31px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.error-404__description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 42px;
}
@media screen and (max-width: 768px) {
  .error-404__description {
    font-size: 1.4rem;
    margin-bottom: 52px;
  }
}
.error-404__illustration {
  width: 117px;
  height: auto;
  margin: 0 auto -7px;
}
@media screen and (max-width: 768px) {
  .error-404__illustration {
    width: 119px;
  }
}
.error-404__illustration img {
  width: 100%;
  height: auto;
}

.cta-section {
  background-color: #D30B33;
  padding: 88px 0;
}
@media screen and (max-width: 768px) {
  .cta-section {
    padding: 92px 0;
  }
}
.cta-section__container {
  max-width: 1310px;
  margin: 0 auto;
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media screen and (max-width: 1024px) {
  .cta-section__container {
    padding: 0 24px;
  }
}
.cta-section__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .cta-section__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 60px;
  }
}

.cta-card {
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 56px 32px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 17px;
  position: relative;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .cta-card {
    width: 100%;
    padding: 54px 17px 187px;
  }
}
@media screen and (max-width: 1024px) {
  .cta-card--property-inquiry {
    gap: clamp(185px, (136vw - 375px) / 2, 206px);
    padding: 54px 17px 40px;
  }
}
.cta-card__header {
  background-color: #FFEEEE;
  border-radius: 32px;
  padding: 13px 57px;
  position: absolute;
  top: -18px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 768px) {
  .cta-card__header {
    top: -28px;
    padding: 11px 48px;
  }
}
.cta-card__header-text {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .cta-card__header-text {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .cta-card__header-text .sp {
    display: inline;
  }
}
.cta-card__header-text::before, .cta-card__header-text::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 2px;
  height: 20px;
  background-color: #333;
}
@media screen and (max-width: 768px) {
  .cta-card__header-text::before, .cta-card__header-text::after {
    top: 70%;
  }
}
.cta-card__header-text::before {
  left: -14px;
  -webkit-transform: translateY(-50%) rotate(-15deg);
          transform: translateY(-50%) rotate(-15deg);
}
.cta-card__header-text::after {
  right: -14px;
  -webkit-transform: translateY(-50%) rotate(15deg);
          transform: translateY(-50%) rotate(15deg);
}
.cta-card__title {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1;
  color: #333;
  padding: 10px 48px;
}
@media screen and (max-width: 1024px) {
  .cta-card__title {
    font-size: 2.8rem;
    text-align: center;
    padding: 10px;
  }
}
.cta-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cta-card__content {
    gap: 16px;
  }
}
.cta-card__description {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  padding: 0 108px 0 48px;
}
@media screen and (max-width: 1024px) {
  .cta-card__description {
    padding: 0 130px 0 48px;
  }
}
@media screen and (max-width: 768px) {
  .cta-card__description {
    font-size: 1.4rem;
    padding: 0 4px;
  }
}
.cta-card__illustration {
  position: absolute;
}
.cta-card__illustration--property-inquiry {
  top: 66px;
  right: 25px;
  width: 109px;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .cta-card__illustration--property-inquiry {
    top: 41%;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
@media screen and (max-width: 768px) {
  .cta-card__illustration--property-inquiry {
    top: 46%;
  }
}
.cta-card__illustration--register {
  top: 47px;
  right: 40px;
  width: 118px;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .cta-card__illustration--register {
    top: auto;
    bottom: 38px;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
.cta-card__illustration-img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .illustration {
    display: none;
  }
  .header-message--top,
  .header-message--bottom {
    position: static;
    margin-bottom: 20px;
  }
}
@media (max-width: 768px) {
  .cta-button {
    height: 80px;
    font-size: 20px;
  }
  .free-badge {
    width: 60px;
    height: 60px;
    font-size: 18px;
  }
  .header-message {
    padding: 8px 20px;
  }
  .header-message__text {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .cta-description--inquiry,
  .cta-description--registration {
    width: 100%;
  }
  .cta-title {
    font-size: 24px;
  }
  .cta-button {
    height: 70px;
    font-size: 18px;
  }
}
/* ================================
   追従CTAボタンのスタイル
   ================================ */
.floating-cta {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  background-color: #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.15);
  padding: 16px;
  max-width: 400px;
  -webkit-animation: slideInUp 0.5s ease-out;
          animation: slideInUp 0.5s ease-out;
}

@-webkit-keyframes slideInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes slideInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.floating-cta__button {
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
  width: 100%;
}

.floating-cta__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}

.floating-cta__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 4px;
  text-align: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.floating-cta__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.448;
  color: #333333;
}

.floating-cta__main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.448;
  color: #d30b33;
  white-space: nowrap;
}

.floating-cta__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 100%;
}

.floating-cta__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
}

.floating-cta__time-line {
  width: 8px;
  height: 12px;
  border-bottom: 1px solid #777777;
}

.floating-cta__time-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1em;
  color: #333333;
  white-space: nowrap;
}

.floating-cta__button-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-width: 200px;
  padding: 12px 24px 12px 12px;
  background-color: #fbe21f;
  border-radius: 8px;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.floating-cta__button:hover .floating-cta__button-wrapper {
  background-color: #f0d41f;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.15);
}

.floating-cta__button-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.floating-cta__button-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 8px 3px;
  background-color: #ffffff;
  border-radius: 16px;
}

.floating-cta__button-badge-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.448;
  letter-spacing: 0.05em;
  color: #333333;
}

.floating-cta__button-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.448;
  letter-spacing: 0.05em;
  color: #333333;
}

.floating-cta__button-arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8.93px;
  height: 5.95px;
}

.floating-cta__close {
  background: none;
  border: 1px solid #777777;
  border-radius: 0;
  width: 18px;
  height: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  padding: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.floating-cta__close:hover {
  background-color: #f5f5f5;
  border-color: #555555;
}

.floating-cta__close svg {
  width: 9px;
  height: 9px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .floating-cta {
    bottom: 15px;
    right: 15px;
    left: 15px;
    max-width: none;
    padding: 12px;
  }
  .floating-cta__label {
    font-size: 13px;
  }
  .floating-cta__main {
    font-size: 16px;
  }
  .floating-cta__time-text {
    font-size: 13px;
  }
  .floating-cta__button-wrapper {
    min-width: auto;
    padding: 10px 20px 10px 10px;
  }
  .floating-cta__button-badge-text {
    font-size: 10px;
  }
  .floating-cta__button-text {
    font-size: 14px;
  }
  .floating-cta__button-arrow {
    right: 12px;
  }
}
@media (max-width: 480px) {
  .floating-cta {
    bottom: 10px;
    right: 10px;
    left: 10px;
    padding: 10px;
  }
  .floating-cta__text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .floating-cta__label {
    font-size: 12px;
  }
  .floating-cta__main {
    font-size: 15px;
  }
  .floating-cta__time-text {
    font-size: 12px;
  }
  .floating-cta__button-wrapper {
    padding: 8px 18px 8px 8px;
  }
  .floating-cta__button-badge-text {
    font-size: 9px;
  }
  .floating-cta__button-text {
    font-size: 13px;
  }
  .floating-cta__close {
    width: 16px;
    height: 16px;
  }
  .floating-cta__close svg {
    width: 8px;
    height: 8px;
  }
}
/* 非表示状態 */
.floating-cta.hidden {
  display: none;
}

/* アクセシビリティ対応 */
@media (prefers-reduced-motion: reduce) {
  .floating-cta {
    -webkit-animation: none;
            animation: none;
  }
  .floating-cta__button-wrapper {
    -webkit-transition: none;
    transition: none;
  }
  .floating-cta__close {
    -webkit-transition: none;
    transition: none;
  }
}
.floating-cta__button:focus-visible {
  outline: 2px solid #d30b33;
  outline-offset: 2px;
  border-radius: 4px;
}

.floating-cta__close:focus-visible {
  outline: 2px solid #d30b33;
  outline-offset: 2px;
}

/* ハイコントラストモード対応 */
@media (prefers-contrast: high) {
  .floating-cta {
    border: 2px solid #000;
  }
  .floating-cta__button-wrapper {
    border: 2px solid #000;
  }
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(74, 74, 74, 0.5);
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  /* モーダルコンテナ */
  /* モーダルコンテンツ */
  /* ヘッダー */
  /* 閉じるボタン */
  /* フォームコンテナ */
  /* 入力フィールドグループ */
  /* ラベル */
  /* 入力フィールド */
  /* リンクセクション */
  /* ログインボタン */
  /* エラーメッセージ */
  /* デモ用のトリガーボタン */
  /* フォーカストラップ用のスタイル */
}
.modal-overlay.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}
.modal-overlay .modal-container {
  position: relative;
  background: #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  border: 1px solid #B5B5B5;
  max-width: 718px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.modal-overlay.active .modal-container {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.modal-overlay .modal-content {
  padding: 56px 40px;
}
@media screen and (max-width: 768px) {
  .modal-overlay .modal-content {
    padding: 32px 24px;
  }
}
.modal-overlay .modal-header {
  margin-bottom: 16px;
}
.modal-overlay .modal-title {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #333333;
  padding-left: 14px;
  position: relative;
}
.modal-overlay .modal-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 100%;
  background-color: #D30B33;
}
.modal-overlay .modal-close-button {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 24px;
  height: 24px;
  background: #D30B33;
  border-radius: 12px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 6px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  z-index: 1;
}
@media (any-hover: hover) {
  .modal-overlay .modal-close-button:hover {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.modal-overlay .modal-close-button:focus {
  outline: 2px solid #333;
  outline-offset: -2px;
}
.modal-overlay .form-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.modal-overlay .input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.modal-overlay .input-label {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #333333;
}
.modal-overlay .input-field {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #C3C3C3;
  border-radius: 3px;
  background-color: #FBFBFB;
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
  -webkit-transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.modal-overlay .input-field:focus {
  outline: none;
  border-color: #D30B33;
  -webkit-box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.1);
          box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.1);
}
.modal-overlay .input-field:invalid {
  border-color: #e74c3c;
}
.modal-overlay .form-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.modal-overlay .form-link {
  color: #4A4A4A;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: underline;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
@media (any-hover: hover) {
  .modal-overlay .form-link:hover {
    color: #D30B33;
  }
}
.modal-overlay .form-link:focus {
  outline: 2px solid #333;
  outline-offset: 2px;
  border-radius: 2px;
}
.modal-overlay .login-button {
  width: 100%;
  max-width: 320px;
  margin: 10px auto 0;
  padding: 10px 21px;
  background-color: #D30B33;
  border-radius: 5px;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.448;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, -webkit-transform 0.1s ease;
  transition: background-color 0.2s ease, -webkit-transform 0.1s ease;
  transition: background-color 0.2s ease, transform 0.1s ease;
  transition: background-color 0.2s ease, transform 0.1s ease, -webkit-transform 0.1s ease;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.modal-overlay .login-button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .modal-overlay .login-button:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
}
.modal-overlay .login-button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.modal-overlay .login-button:focus {
  outline: 2px solid #333;
  outline-offset: 2px;
}
.modal-overlay .login-button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  -webkit-transform: none;
          transform: none;
}
.modal-overlay .error-message {
  color: #e74c3c;
  font-size: 1.4rem;
  margin-top: 4px;
  display: none;
}
.modal-overlay .error-message.visible {
  display: block;
}
.modal-overlay .demo-button {
  margin: 50px auto;
  display: block;
  padding: 12px 24px;
  background: #D30B33;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1.6rem;
}
.modal-overlay .modal-overlay:not(.active) {
  pointer-events: none;
}

/* ============================================
   Voice Section（お客様の声）
============================================ */
.voice-section {
  position: relative;
  padding: 95px 0px 76px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .voice-section {
    padding: 88px 0 64px;
  }
}
@media screen and (max-width: 768px) {
  .voice-section {
    padding: 88px 0 42px;
  }
}
.voice-section__header {
  margin-bottom: 48px;
  max-width: 1139px;
  position: relative;
}
.voice-section__header::before {
  content: "";
  position: absolute;
  top: -41px;
  left: -199px;
  width: 284px;
  height: 242px;
  background-image: url(../images/building_voice.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
@media (max-width: 1439px) {
  .voice-section__header::before {
    left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .voice-section__header::before {
    top: -72px;
    width: 124px;
    height: 101px;
  }
}
.voice-section__title-ja {
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.voice-section__title-ja__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .voice-section__title-ja__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 30px;
    margin: 8px 0;
  }
}
.voice-section__title-ja--subtitle {
  font-size: 1.6rem;
  line-height: 1.4;
  letter-spacing: 0;
  margin-left: 36px;
  padding-right: 63px;
}
@media screen and (max-width: 1024px) {
  .voice-section__title-ja--subtitle {
    margin-left: 0;
    padding-right: 0;
  }
}
.voice-section__bg-color {
  position: relative;
}
.voice-section__bg-color::after {
  content: "";
  position: absolute;
  border-radius: 48px 0 0 48px;
  background-color: #F1F1F1;
  width: 82.5%;
  height: 500px;
  top: 32px;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .voice-section__bg-color::after {
    display: none;
  }
}
.voice-section__inner {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .voice-section__inner {
    padding: 0;
  }
}
.voice-section__slider-container {
  position: relative;
  margin: 0 auto 33px;
  padding: 0;
  width: 100%;
  max-width: 1140px;
}
.voice-section__slider-container--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .voice-section__slider-container--sp {
    display: block;
    margin: 0 0 10px 0;
    padding: 35px 0 130px;
    border-radius: 0px;
    background-color: #F1F1F1;
  }
}
@media screen and (max-width: 768px) {
  .voice-section__slider-container--pc {
    display: none;
  }
}
.voice-section__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
  .voice-section__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    gap: 30px;
  }
}
.voice-section__slider {
  padding: 0 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin-top: -50px;
}
.voice-section__slider .slick-list {
  margin: 0 -20px;
}
.voice-section__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(25% - 30px);
          flex: 0 0 calc(25% - 30px);
  background: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 256px;
  height: 385px;
  margin: 0 13px;
}
@media screen and (max-width: 768px) {
  .voice-section__card {
    margin: 0 5px;
  }
}
@media (any-hover: hover) {
  .voice-section__card:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
  }
  .voice-section__card:hover .detail-button::before {
    color: #fff;
  }
  .voice-section__card:hover .detail-button::after {
    background-color: #D30B33;
  }
}
.voice-section__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.voice-section__card-image {
  width: 100%;
  height: 156px;
  background: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.voice-section__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice-section__card-content {
  padding: 14px clamp(8px, (88vw - 1025px) / 2, 18px) 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9px;
}
@media screen and (max-width: 768px) {
  .voice-section__card-content {
    padding: 15px;
  }
}
.voice-section__card-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.voice-section__property-info, .voice-section__customer-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.voice-section__contract-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 0 0 2px;
}
.voice-section__contract-label, .voice-section__customer-label {
  color: #3f3f3f;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.448;
  width: 75px;
}
.voice-section__separator {
  width: 0;
  height: 17px;
  border-left: 1px solid #b5b5b5;
}
.voice-section__property-type, .voice-section__customer-name {
  color: #d30b33;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.448;
}
.voice-section__customer-name {
  color: #333333;
}
.voice-section__testimonial {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .voice-section__testimonial {
    margin-bottom: 23px;
  }
}
.voice-section__testimonial-text {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.voice-section__slider-controls {
  display: none;
}
@media screen and (max-width: 768px) {
  .voice-section__slider-controls {
    display: block;
    position: relative;
    bottom: -107px;
  }
}
.voice-section__slider-controls .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  position: absolute;
  left: 58%;
  top: 12px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .voice-section__slider-controls .slick-dots {
    top: -115px;
    left: 50%;
    width: auto;
  }
}
.voice-section__slider-controls .slick-dots li {
  width: auto;
  margin: 0;
}
.voice-section__nav-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .voice-section__nav-buttons {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    bottom: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 3;
  }
}
.voice-section__nav-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #333333;
  border: 2px solid #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .voice-section__nav-button {
    width: 58px;
    height: 58px;
  }
}
.voice-section__nav-button.prev::before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .voice-section__nav-button.prev::before {
    font-size: 2.4rem;
  }
}
.voice-section__nav-button.next::before {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .voice-section__nav-button.next::before {
    font-size: 2.4rem;
  }
}
@media (any-hover: hover) {
  .voice-section__nav-button:hover {
    border: 2px solid #B5B5B5;
    background-color: #fff;
  }
  .voice-section__nav-button:hover::before {
    color: #333;
  }
}
@media screen and (max-width: 768px) {
  .voice-section__button-wrapper {
    margin-top: -106px;
    padding: 0 24px;
  }
}
.voice-section__button {
  padding: 17px 12px 17px 10px;
}
.voice-section__character {
  position: absolute;
  top: -18px;
  right: -33px;
  z-index: 3;
  width: 106px;
  height: 145px;
}
@media (max-width: 1339px) {
  .voice-section__character {
    right: 0;
  }
}
@media screen and (max-width: 1024px) {
  .voice-section__character {
    right: 45px;
    top: -40px;
  }
}
@media screen and (max-width: 768px) {
  .voice-section__character {
    top: -19px;
    width: 60px;
    height: 82px;
  }
}
.voice-section__character img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ====================================
   実績例セクション
==================================== */
.case-section {
  position: relative;
  padding: 101px 0 0px;
  background-color: #fff;
  /* タブ部分 */
  /* パネル部分 */
  /* 実績例カード */
  /* 物件種別 */
  /* 物件価格 */
  /* 仲介手数料情報 */
  /* お得金額 */
  /* 仲介手数料がお得になる理由ボタン */
}
@media screen and (max-width: 1024px) {
  .case-section {
    padding: 180px 0 0px;
  }
}
.case-section__inner {
  position: relative;
  z-index: 1;
  max-width: 1140px;
}
@media screen and (max-width: 1024px) {
  .case-section__inner {
    margin-bottom: 38px;
  }
}
@media screen and (max-width: 768px) {
  .case-section__inner {
    padding: 0 17px;
  }
}
.case-section__inner::before {
  content: "";
  position: absolute;
  top: -72px;
  left: clamp(748px, (212vw - 1025px) / 2, 1010px);
  width: 277px;
  height: 317px;
  background-image: url(../images/building_case.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .case-section__inner::before {
    width: 110px;
    height: 110px;
    left: auto;
    right: 28px;
    top: -36px;
  }
}
.case-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 62px;
}
@media screen and (max-width: 1024px) {
  .case-section__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 39px;
  }
}
.case-section__title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 352px;
          flex: 0 0 352px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .case-section__title-wrapper {
    gap: 45px;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
@media screen and (max-width: 768px) {
  .case-section__title-wrapper {
    padding: 0 10px;
  }
}
@media screen and (max-width: 1024px) {
  .case-section__title-wrapper::after {
    content: "";
    position: absolute;
    top: 60%;
    right: 10px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-image: url(../images/case-section-img.webp);
    background-size: cover;
    max-width: 91px;
    width: 100%;
    height: initial;
    aspect-ratio: 91/67;
  }
}
.case-section__title-ja {
  line-height: 1.6;
}
.case-section__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.case-section__more-button {
  margin: 0;
}
@media screen and (max-width: 1024px) {
  .case-section__more-button {
    margin: 0 auto;
    padding: 20px;
    min-width: 280px;
  }
}
.case-section__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: transparent;
  border-radius: 10px 10px 0 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin-bottom: 0;
  padding-left: 20px;
  position: relative;
}
.case-section__tabs::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 768px) {
  .case-section__tabs {
    padding-left: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.case-section__tabs::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../images/case-section-img.webp);
  background-size: cover;
  width: 123px;
  height: 91px;
}
@media (max-width: 1120px) {
  .case-section__tabs::after {
    top: -5%;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@media screen and (max-width: 1024px) {
  .case-section__tabs::after {
    display: none;
  }
}
.case-section__tab {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  padding: 10px;
  background: #b5b5b5;
  color: #fff;
  border: none;
  border-right: 1px solid #fff;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  min-width: 100px;
  white-space: nowrap;
}
.case-section__tab:first-child {
  border-radius: 10px 0 0 0;
}
.case-section__tab:last-child {
  border-radius: 0 10px 0 0;
  border-right: none;
}
.case-section__tab--active {
  background: #d30b33;
  color: #fff;
}
.case-section__tab--active::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 10px solid #d30b33;
}
@media (any-hover: hover) {
  .case-section__tab:hover:not(.case-section__tab--active) {
    background: #999;
  }
}
.case-section__tab:focus {
  outline: 2px solid #d30b33;
  outline-offset: -2px;
}
@media screen and (max-width: 768px) {
  .case-section__tab {
    padding: 10px 7px;
    min-width: clamp(57px, (134vw - 375px) / 2, 64px);
  }
}
.case-section__panels {
  background: #fff;
  border: 1px solid #b5b5b5;
  border-radius: 20px;
  padding: 32px 25px;
}
@media screen and (max-width: 768px) {
  .case-section__panels {
    border-radius: 0px 10px 20px 20px;
    padding: 31px 4px 31px 21px;
  }
}
.case-section__panel {
  display: none;
}
.case-section__panel--active {
  display: block;
}
.case-section__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .case-section__grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.case-section__card {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #b5b5b5;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.case-section__card:last-child {
  border-bottom: none;
}
@media (any-hover: hover) {
  .case-section__card:hover {
    opacity: 0.7;
  }
}
.case-section__card-content {
  padding: 15.91px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 38px;
}
@media screen and (max-width: 768px) {
  .case-section__card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.case-section__card-inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 312px;
          flex: 0 0 312px;
}
@media screen and (max-width: 768px) {
  .case-section__card-inner {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
.case-section__property-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 9px;
  padding: 8px 0;
}
.case-section__property-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  background: #fff;
  margin-bottom: 5px;
}
.case-section__property-type-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #d30b33;
}
.case-section__property-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
}
.case-section__price-label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.45;
  color: #333;
  padding-top: 3px;
}
.case-section__price-value {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333;
}
.case-section__price-value--en {
  font-size: 1.4rem;
}
.case-section__commission-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
.case-section__commission-normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 7px;
}
.case-section__commission-label {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333;
}
@media screen and (max-width: 768px) {
  .case-section__commission-label {
    font-size: clamp(1.4rem, (100vw - 375px) / 2, 1.6rem);
  }
}
.case-section__commission-value {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #333;
}
@media screen and (max-width: 768px) {
  .case-section__commission-value {
    font-size: clamp(1.7rem, (111vw - 375px) / 2, 2rem);
  }
}
.case-section__commission-value--en {
  font-size: 1.4rem;
}
.case-section__commission-arrow::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  display: inline-block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  font-size: 1.2rem;
  font-weight: 700;
}
.case-section__commission-free {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .case-section__commission-free {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.case-section__free-text {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #d30b33;
}
@media screen and (max-width: 768px) {
  .case-section__free-text {
    font-size: clamp(1.7rem, (111vw - 375px) / 2, 2rem);
  }
}
.case-section__discount {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ffeeee;
  border-radius: 10px;
  padding: 7px;
  min-height: 60px;
}
.case-section__discount-amount {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.45;
  color: #d30b33;
  text-align: center;
}
.case-section__discount-amount--en {
  font-size: 1.6rem;
  color: #d30b33;
}
.case-section__discount-label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333;
  text-align: center;
}
.case-section__subtract {
  width: 100%;
  position: absolute;
  bottom: 162px;
}
@media screen and (max-width: 1024px) {
  .case-section__subtract {
    bottom: 132px;
  }
}
.case-section__subtract img {
  width: 100%;
}
.case-section__reason-button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: -12px;
  padding: 48px 0 40px;
  background-color: #D30B33;
}
@media screen and (max-width: 1024px) {
  .case-section__reason-button-wrapper {
    padding: 15px 24px 40px;
  }
}
.case-section__reason-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 28px 21px;
  background: #fff;
  color: #4a4a4a;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.45;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  max-width: 501px;
  width: 100%;
  overflow: hidden;
}
@media (any-hover: hover) {
  .case-section__reason-button:hover {
    background-color: #333;
  }
  .case-section__reason-button:hover .case-section__reason-text {
    color: #fff;
  }
}
.case-section__reason-icon {
  position: absolute;
  left: 44.5px;
  top: -2px;
  width: 62px;
}
@media screen and (max-width: 768px) {
  .case-section__reason-icon {
    left: 5px;
    top: 7px;
    width: 43px;
  }
}
.case-section__reason-icon img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.case-section__reason-text {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .case-section__reason-text {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px);
  }
}
.case-section__reason-arrow {
  position: relative;
}
.case-section__reason-arrow::after {
  position: absolute;
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -13px;
}
.case-section__reason-character {
  position: absolute;
  right: 22px;
  top: 6px;
  width: 90px;
}
@media screen and (max-width: 768px) {
  .case-section__reason-character {
    right: 3px;
    top: 11px;
    width: 45px;
  }
}
.case-section__reason-character img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.purpose-section {
  background: #D30B33;
  margin-top: -1px;
  padding: 82px 0 32px;
  position: relative;
}
.purpose-section::after {
  content: "";
  position: absolute;
  right: 0;
  top: -175px;
  max-width: 307px;
  width: 100%;
  height: initial;
  aspect-ratio: 369/411;
  background-image: url(../images/search-rupe.svg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1024px) {
  .purpose-section::after {
    background-image: url(../images/search-rupe_sp.svg);
    max-width: 108px;
    aspect-ratio: 105/106;
    top: 9px;
  }
}
@media screen and (max-width: 1024px) {
  .purpose-section {
    padding: 26px 24px 32px;
  }
}
.purpose-section__container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 56px;
  background-color: #ffffff;
  border-radius: 20px;
}
@media screen and (max-width: 1024px) {
  .purpose-section__container {
    padding: 48px 20px 332px;
    position: relative;
  }
}
.purpose-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 10px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .purpose-section__header {
    margin-bottom: 29px;
  }
}
@media screen and (max-width: 1024px) {
  .purpose-section__title {
    gap: 11px;
  }
}
.purpose-section__illustration {
  width: 250px;
  height: 105px;
  -webkit-transform: translate(-10px, -16px);
          transform: translate(-10px, -16px);
}
@media screen and (max-width: 1024px) {
  .purpose-section__illustration {
    position: absolute;
    top: 28px;
    right: -4px;
    -webkit-transform: none;
            transform: none;
    width: 107px;
    height: auto;
  }
}
.purpose-section__illustration img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.purpose-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.purpose-section__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
}
@media screen and (max-width: 1024px) {
  .purpose-section__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    position: absolute;
    bottom: 47px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.purpose-section__card {
  position: relative;
  width: 320px;
  border-radius: 8px;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .purpose-section__card {
    width: 288px;
  }
}
.purpose-section__card-1 {
  background: #FBE21F;
}
.purpose-section__card-2 {
  background: #0089CD;
}
.purpose-section__card-3 {
  background: #D30B33;
}
@media (any-hover: hover) {
  .purpose-section__card:hover {
    -webkit-box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  }
}
.purpose-section__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 12px 10px;
  position: relative;
}
.purpose-section__card-content::before, .purpose-section__card-content::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.purpose-section__card-content::before {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #ffffff;
  right: 10px;
}
.purpose-section__card-content::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #333;
  right: 13px;
  z-index: 1;
}
.purpose-section__card:has(#card-2-desc) .purpose-section__card-content::after {
  color: #0089CD;
}
.purpose-section__card:has(#card-3-desc) .purpose-section__card-content::after {
  color: #D30B33;
}
.purpose-section__card-header {
  background: #ffffff;
  border-radius: 32px;
  padding: 0px 12px 1px;
  text-align: center;
}
.purpose-section__card-description {
  font-size: 1.2rem;
  line-height: 1.45;
  color: #333333;
  position: relative;
}
.purpose-section__card #card-1-desc::before, .purpose-section__card #card-1-desc::after {
  content: "";
  position: relative;
  display: inline-block;
  top: -5px;
  right: 0;
  -webkit-transform: translateY(-50%) rotate(115deg);
          transform: translateY(-50%) rotate(115deg);
  width: 12px;
  height: 1px;
  background-color: #333333;
}
.purpose-section__card #card-1-desc::before {
  left: 0;
  -webkit-transform: translateY(-50%) rotate(70deg);
          transform: translateY(-50%) rotate(70deg);
}
.purpose-section__card #card-2-desc {
  color: #0089CD;
}
.purpose-section__card #card-3-desc {
  color: #D30B33;
}
.purpose-section__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.purpose-section__card-icon {
  width: 28px;
  height: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transform: translateX(-8px);
          transform: translateX(-8px);
}
.purpose-section__card-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #333333;
  -webkit-transform: translateX(-10px);
          transform: translateX(-10px);
}
.purpose-section__card-2 .purpose-section__card-title, .purpose-section__card-3 .purpose-section__card-title {
  color: #ffffff;
}

/* ポータルサイト部分 */
.portal-section {
  background: #FBF7E7;
  border-radius: 8px;
  padding: 24px 40px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .portal-section {
    padding: 24px 30px;
  }
}
.portal-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
  .portal-section__header {
    padding: 0 14px;
  }
}
.portal-section__badge {
  background: #D30B33;
  border-radius: 32px;
  padding: 3px 24px;
  display: inline-block;
}
.portal-section__badge span {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.45;
  color: #ffffff;
}
@media screen and (max-width: 1024px) {
  .portal-section__badge span {
    line-height: 1.2;
    text-align: center;
    display: block;
  }
}
.portal-section__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #333333;
}
.portal-section__sites {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px;
  max-width: 800px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 1024px) {
  .portal-section__sites {
    margin: 0 auto 21px;
  }
}
.portal-section__site-link {
  width: 100px;
  height: 100px;
  background: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media (any-hover: hover) {
  .portal-section__site-link:hover {
    -webkit-box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  }
}
.portal-section__site-link img {
  max-width: 80px;
  max-height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
}
.portal-section__note {
  text-align: center;
}
.portal-section__note p {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.45;
  color: #333333;
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 1024px) {
  .portal-section__note p {
    line-height: 1.6;
  }
}
.portal-section__tract {
  width: 100%;
}
.portal-section__tract img {
  width: 100%;
}

.search-section {
  padding: 45px 0 56px;
  background: #fff;
}
@media screen and (max-width: 1024px) {
  .search-section {
    padding: 33px 0 61px;
  }
}
.search-section__inner {
  position: relative;
}
.search-section__inner::before {
  content: "";
  position: absolute;
  top: 283px;
  left: -67px;
  width: 312px;
  height: 265px;
  background-image: url(../images/building_search.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .search-section__inner::before {
    width: 139px;
    height: 118px;
    top: -19px;
    right: 22px;
    left: auto;
  }
}
.search-section__header {
  margin-bottom: 45px;
}
.search-section__title {
  gap: 14px;
}
.search-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  .search-section__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
    padding: 0 14px;
  }
}
.search-section__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transform: translateX(clamp(0px, (80vw - 1025px) / 2, 30px));
          transform: translateX(clamp(0px, (80vw - 1025px) / 2, 30px));
  max-width: 700px;
}
.search-section__sidebar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 360px;
          flex: 0 0 360px;
  -webkit-transform: translateX(clamp(0px, (80vw - 1025px) / 2, 30px));
          transform: translateX(clamp(0px, (80vw - 1025px) / 2, 30px));
}
@media screen and (max-width: 1024px) {
  .search-section__sidebar {
    padding: 0 10px;
  }
}
.search-section .search-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
  background: #fff;
}
@media screen and (max-width: 1024px) {
  .search-section .search-tabs {
    margin-bottom: 27px;
  }
}
.search-section .search-tabs__tab {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 13.5px;
  background: #B5B5B5;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-right: 1px solid #fff;
}
.search-section .search-tabs__tab:last-child {
  border-right: none;
}
.search-section .search-tabs__tab.active {
  background: #D30B33;
  color: #fff;
}
@media (any-hover: hover) {
  .search-section .search-tabs__tab:hover:not(.active) {
    background: #999;
  }
}
@media screen and (max-width: 1024px) {
  .search-section .search-tabs__tab {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    font-size: 1.5rem;
    padding: 13px 0;
  }
}
.search-section .search-tabs__content {
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 6.67px;
  min-height: 480px;
  position: relative;
  /* エリア検索（地図）*/
}
@media screen and (max-width: 1024px) {
  .search-section .search-tabs__content {
    border: none;
    min-height: auto;
  }
}
.search-section .search-tabs__content .area-search {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0px 20px;
}
@media screen and (max-width: 1024px) {
  .search-section .search-tabs__content .area-search {
    padding: 0;
  }
}
.search-section .search-tabs__content #map_area img {
  width: 450px;
}
@media screen and (max-width: 1024px) {
  .search-section .search-tabs__content #map_area img {
    width: 100%;
  }
}
.search-section .search-tabs__content #map_area #MenuBox {
  width: 90%;
  height: 270px;
  overflow-x: hidden;
  overflow-y: scroll;
  position: absolute;
  top: 23px;
  left: 50px;
  border: 1px solid #999;
  z-index: 200;
  background: #fff;
  -webkit-box-shadow: 0 0 5px #333;
          box-shadow: 0 0 5px #333;
}
@media screen and (max-width: 768px) {
  .search-section .search-tabs__content #map_area #MenuBox {
    left: 15px;
  }
}
.search-section .search-tabs__content #map_area #MenuBox .menu-close {
  background-image: url("../images/map/ttl.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 50px;
}
.search-section .search-tabs__content #map_area #MenuBox .menu-title {
  font-weight: 700;
  font-size: 1.6rem;
  padding: 10px 17px;
}
.search-section .search-tabs__content #map_area #MenuBox .menu-item {
  font-weight: 700;
  font-size: 1.4rem;
  padding: 10px 20px;
  width: 25%;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .search-section .search-tabs__content #map_area #MenuBox .menu-item {
    width: 27%;
    white-space: nowrap;
  }
}
.search-section .search-tabs__panel {
  display: none;
  text-align: center;
  height: 100%;
}
.search-section .search-tabs__panel.active {
  display: block;
}

.line-search {
  text-align: center;
}
.line-search #line-map img {
  width: 100%;
}

.school-search__map {
  width: 100%;
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px;
  color: #666;
}

/* サイドバー */
.search-sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .search-sidebar {
    gap: 35px;
  }
}

/* 掲載物件数 */
.property-count {
  background: #F1F1F1;
  border-radius: 10px;
  padding: 38px 0;
}
@media screen and (max-width: 1024px) {
  .property-count {
    padding: 35px 0;
  }
}
.property-count__title {
  font-weight: 700;
  font-size: 2.4rem;
  color: #333;
  margin-bottom: 16px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .property-count__title {
    font-size: 2rem;
    margin-bottom: 27px;
  }
}
.property-count__stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
  .property-count__stats {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 17px;
  }
}
.property-count__stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1024px) {
  .property-count__stat {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 17px;
  }
}
.property-count__label {
  font-weight: 500;
  font-size: 1.6rem;
  color: #333;
}
.property-count__number {
  font-weight: 700;
  font-size: 2.4rem;
  color: #D30B33;
}
.property-count__number--ken {
  font-size: 1.6rem;
  color: #D30B33;
}

/* 条件検索 */
.condition-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 27px;
}
.condition-search__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.condition-search__header .fa-house {
  font-size: 2.1rem;
  color: #D30B33;
}
.condition-search__title {
  font-weight: 700;
  font-size: 2rem;
  color: #333;
}
.condition-search__description {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
}
.condition-search__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  background: #D30B33;
  color: #fff;
  padding: 12px 32px 12px 10px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: 2rem;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .condition-search__button {
    padding: 10px 33px 10px 10px;
  }
}
@media screen and (max-width: 1024px) {
  .condition-search__button::before, .condition-search__button::after {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 1024px) {
  .condition-search__button::before {
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1rem;
    color: #D30B33;
    right: 11px;
    z-index: 1;
  }
}
@media screen and (max-width: 1024px) {
  .condition-search__button::after {
    right: 8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #FFFEF1;
  }
}
@media (any-hover: hover) {
  .condition-search__button:hover {
    background-color: #fff;
    -webkit-box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
    outline: 1px solid #D30B33;
    outline-offset: -1px;
  }
  .condition-search__button:hover .condition-search__button-text {
    color: #D30B33;
  }
  .condition-search__button:hover .condition-search__button-icon img {
    -webkit-filter: brightness(0) saturate(100%) invert(20%) sepia(99%) saturate(7418%) hue-rotate(351deg) brightness(93%) contrast(93%);
            filter: brightness(0) saturate(100%) invert(20%) sepia(99%) saturate(7418%) hue-rotate(351deg) brightness(93%) contrast(93%);
  }
  .condition-search__button:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}
.condition-search__button-text {
  color: #fff;
}

/* フリーワード検索 */
.freeword-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.freeword-search__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.freeword-search__title {
  font-weight: 700;
  font-size: 20px;
  color: #333;
  padding-left: 15px;
  position: relative;
}
.freeword-search__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 100%;
  background-color: #D30B33;
}
.freeword-search__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.freeword-search__input-wrapper {
  position: relative;
  width: 100%;
}
.freeword-search__input {
  width: 100%;
  height: 40px;
  padding: 0 60px 0 20px;
  border: 1px solid #C3C3C3;
  border-radius: 6px;
  font-size: 1.6rem;
  font-weight: 700;
  background: #fff;
}
.freeword-search__input::-webkit-input-placeholder {
  color: #757575;
  font-weight: 700;
  font-size: 1.6rem;
}
.freeword-search__input::-moz-placeholder {
  color: #757575;
  font-weight: 700;
  font-size: 1.6rem;
}
.freeword-search__input:-ms-input-placeholder {
  color: #757575;
  font-weight: 700;
  font-size: 1.6rem;
}
.freeword-search__input::-ms-input-placeholder {
  color: #757575;
  font-weight: 700;
  font-size: 1.6rem;
}
.freeword-search__input::placeholder {
  color: #757575;
  font-weight: 700;
  font-size: 1.6rem;
}
.freeword-search__submit {
  position: absolute;
  right: 0;
  top: 0;
  width: 48px;
  height: 40px;
  background: #333;
  border: none;
  border-radius: 0 6px 6px 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.freeword-search__submit .fa-magnifying-glass {
  color: #fff;
  font-size: 2.1rem;
}

/* ポップアップメニュー */
.area-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1000;
}

.area-popup.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.area-popup__content {
  background: #fff;
  border-radius: 10px;
  padding: 30px;
  max-width: 400px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
}

.area-popup__title {
  font-size: 20px;
  font-weight: 700;
  color: #333;
  margin-bottom: 20px;
  text-align: center;
}

.area-popup__list {
  display: grid;
  gap: 10px;
}

.area-popup__item {
  display: block;
  padding: 12px 20px;
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
}

.area-popup__item:hover {
  background: #D30B33;
  color: #fff;
}

.area-popup__close {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  font-size: 24px;
  color: #666;
  cursor: pointer;
}

.member-benefits {
  background-color: #FBF7E7;
  padding: 100px 0px 81px;
}
@media screen and (max-width: 768px) {
  .member-benefits {
    padding: 67px 0px 64px;
  }
}
.member-benefits__header {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .member-benefits__header {
    margin-bottom: 30px;
  }
}
.member-benefits__description {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .member-benefits__description {
    font-size: 1.4rem;
  }
}
.member-benefits__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 45px;
}

.benefit-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.benefit-item__badge {
  background-color: #D30B33;
  border-radius: 42.5px;
  width: 85px;
  height: 85px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  position: absolute;
  top: -21px;
  left: 0;
}
.benefit-item__badge-text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.448;
  color: #FFFFFF;
}
.benefit-item__content {
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 40px 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  z-index: 1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .benefit-item__content {
    padding: 39px 20px 37px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.benefit-item:last-child .benefit-item__content {
  padding: 25px 71px 48px;
}
@media screen and (max-width: 768px) {
  .benefit-item:last-child .benefit-item__content {
    padding: 32px 20px 36px;
  }
}
.benefit-item__illustration {
  width: 200px;
  height: 140px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.benefit-item__illustration img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .benefit-item__illustration--home {
    margin-bottom: 8px;
  }
}
.benefit-item__illustration--info {
  -webkit-transform: translateY(18px);
          transform: translateY(18px);
}
@media screen and (max-width: 768px) {
  .benefit-item__illustration--info {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
}
.benefit-item__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
}
@media screen and (max-width: 768px) {
  .benefit-item:last-child .benefit-item__text {
    gap: 12px;
  }
}
.benefit-item__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.448;
  color: #333333;
}
.benefit-item__title--highlight {
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .benefit-item__title {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .benefit-item__title .sp {
    display: inline;
  }
  .benefit-item__title .pc {
    display: none;
  }
}
.benefit-item__description {
  font-family: "Noto Sans JP", Arial, sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  color: #333333;
}
.benefit-item__description--wide {
  width: 666px;
}
@media screen and (max-width: 1024px) {
  .benefit-item__description--wide {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .benefit-item__description--wide {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .benefit-item__description {
    font-size: 1.4rem;
  }
}

.member-registration {
  background: #D30B33;
  padding: 100px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .member-registration {
    padding: 56px 0 57px;
  }
}
.member-registration__content {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 40px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .member-registration__content {
    padding: 24px 18px 36px;
  }
}
.member-registration__inner {
  padding: 0 34px;
}
@media screen and (max-width: 768px) {
  .member-registration__inner {
    padding: 0 24px;
  }
}
.member-registration__header {
  position: absolute;
  top: -16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #FFEEEE;
  border-radius: 32px;
  padding: 10px 53px;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .member-registration__header {
    padding: 10px 41px;
  }
}
@media screen and (max-width: 768px) {
  .member-registration__header {
    padding: 10px 10px;
    width: 81%;
  }
}
.member-registration__header-text {
  font-size: 2rem;
  font-weight: 600;
  color: #333333;
  line-height: 1.45;
  position: relative;
}
.member-registration__header-text--accent {
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .member-registration__header-text--accent {
    display: block;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) {
  .member-registration__header-text {
    font-size: 1.4rem;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.member-registration__header-text::before, .member-registration__header-text::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 2px;
  height: 20px;
  background-color: #333;
}
@media screen and (max-width: 768px) {
  .member-registration__header-text::before, .member-registration__header-text::after {
    top: 70%;
  }
}
.member-registration__header-text::before {
  left: -14px;
  -webkit-transform: translateY(-50%) rotate(-15deg);
          transform: translateY(-50%) rotate(-15deg);
}
.member-registration__header-text::after {
  right: -14px;
  -webkit-transform: translateY(-50%) rotate(15deg);
          transform: translateY(-50%) rotate(15deg);
}
.member-registration__title-wrapper {
  border-bottom: 1px dashed #D30B33;
  padding-bottom: 5px;
  margin-bottom: 24px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .member-registration__title-wrapper {
    padding-top: 34px;
  }
}
.member-registration__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: #D30B33;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .member-registration__title {
    font-size: 2.8rem;
  }
}
.member-registration__description {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333333;
  line-height: 1.8;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .member-registration__description {
    font-size: 1.4rem;
    padding: 0 5px;
    text-align: left;
  }
}
.member-registration__button {
  max-width: 450px;
}
.member-registration__illustration {
  position: absolute;
  right: -28px;
  bottom: 5px;
  width: 183px;
  height: 210px;
}
@media screen and (max-width: 1024px) {
  .member-registration__illustration {
    display: none;
  }
}

.thoughts-section {
  padding: 120px 0 88px;
  background: #fff;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .thoughts-section {
    padding: 67px 0 77px;
  }
}
.thoughts-section__inner {
  max-width: 1140px;
  position: relative;
}
.thoughts-section__inner::before {
  content: "";
  position: absolute;
  top: -85px;
  left: clamp(57%, (188vw - 1025px) / 2, 74%);
  width: 438px;
  height: 415px;
  background-image: url(../images/building.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .thoughts-section__inner::before {
    top: -44px;
    left: auto;
    right: 10px;
    width: 130px;
    height: 121px;
  }
}
.thoughts-section__header {
  margin-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .thoughts-section__header {
    margin-bottom: 38px;
  }
}
.thoughts-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .thoughts-section__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 38px;
    margin-bottom: 31px;
  }
}
.thoughts-section__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 527px;
          flex: 0 0 527px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .thoughts-section__text {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    font-size: 1.4rem;
  }
}
.thoughts-section__text p {
  margin-bottom: 30px;
}
.thoughts-section__text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .thoughts-section__text p {
    margin-bottom: 24px;
  }
}
.thoughts-section__images {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  max-width: 450px;
}
@media screen and (max-width: 1024px) {
  .thoughts-section__images {
    max-width: 100%;
  }
}
.thoughts-section__image-main {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 450/274;
}
.thoughts-section__image-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .thoughts-section__image-sub {
    gap: 10px;
  }
}
.thoughts-section__image-sub img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 220px;
  height: 180px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .thoughts-section__image-sub img {
    width: 100%;
    height: auto;
  }
}
.thoughts-section__button {
  padding: 19.5px 12px;
}

.new-properties-section {
  padding: 64px 0 60px;
}
@media screen and (max-width: 768px) {
  .new-properties-section {
    padding: 64px 0 159px;
  }
}
.new-properties-section__header {
  margin-bottom: 91px;
  position: relative;
}
.new-properties-section__header::after {
  content: "";
  position: absolute;
  top: -92px;
  left: clamp(695px, (205vw - 1025px) / 2, 959px);
  width: 295px;
  height: 279px;
  background-image: url(../images/building_new.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .new-properties-section__header::after {
    width: 139px;
    height: 118px;
    top: -59px;
    right: 8px;
    left: auto;
  }
}
@media screen and (max-width: 768px) {
  .new-properties-section__header {
    margin-bottom: 112px;
  }
}
.new-properties-section__inner {
  padding: 0 20px 0 0;
}
@media screen and (max-width: 768px) {
  .new-properties-section__inner {
    padding: 0;
  }
}
.new-properties-section__inner::before {
  content: "";
  position: absolute;
  width: 95%;
  height: 531px;
  background-color: #D30B33;
  border-radius: 0px 48px 48px 0;
}
@media screen and (max-width: 768px) {
  .new-properties-section__inner::before {
    width: 100%;
    border-radius: 0;
    top: -94px;
  }
}
.new-properties-section__slider-container {
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .new-properties-section__slider-container {
    margin-bottom: 44px;
  }
}
.new-properties-section__slider {
  margin-top: -101px;
  margin-bottom: 23px;
}
.new-properties-section__card {
  height: 475px;
}
@media screen and (max-width: 768px) {
  .new-properties-section__card {
    height: 425px;
  }
}
.new-properties-section__card-image {
  height: 194px;
}
@media screen and (max-width: 768px) {
  .new-properties-section__card-image {
    height: 154px;
  }
}
.new-properties-section__card-content {
  height: 280px;
  padding: 16px 20px;
}
@media screen and (max-width: 768px) {
  .new-properties-section__card-content {
    gap: 10px;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
  }
}
@media screen and (max-width: 768px) {
  .new-properties-section__card-property-name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .new-properties-section__card-details {
    margin-top: -6px;
    margin-bottom: 7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
}
.new-properties-section__slider-controls {
  bottom: 0px;
}
@media screen and (max-width: 768px) {
  .new-properties-section__slider-controls {
    bottom: -179px;
  }
}
.new-properties-section__slider-controls .slick-active button {
  outline: 1px solid #fff;
  outline-offset: -1px;
}

.price-down-section {
  padding: 48px 0 100px;
}
@media screen and (max-width: 768px) {
  .price-down-section {
    padding: 48px 0 146px;
  }
}
.price-down-section__header {
  margin-bottom: 110px;
  position: relative;
}
.price-down-section__header::after {
  content: "";
  position: absolute;
  top: -150px;
  left: clamp(625px, (190vw - 1025px) / 2, 850px);
  width: 378px;
  height: 330px;
  background-image: url(../images/building_price-down.svg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .price-down-section__header::after {
    width: 136px;
    height: 119px;
    top: -52px;
    right: 25px;
    left: auto;
  }
}
@media screen and (max-width: 768px) {
  .price-down-section__header {
    margin-bottom: 18px;
  }
}
.price-down-section__slider-container {
  padding: 24px 0 34px 107px;
  background-color: #F1F1F1;
}
@media screen and (max-width: 768px) {
  .price-down-section__slider-container {
    margin-bottom: 31px;
    padding: 27px 0 43px;
  }
}
.price-down-section__card {
  height: 475px;
}
@media screen and (max-width: 768px) {
  .price-down-section__card {
    height: 427px;
  }
}
.price-down-section__card-image {
  height: 194px;
}
@media screen and (max-width: 768px) {
  .price-down-section__card-image {
    height: 155px;
  }
}
.price-down-section__card-content {
  height: 280px;
  padding: 16px 20px;
}
@media screen and (max-width: 768px) {
  .price-down-section__card-content {
    gap: 10px;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
  }
}
@media screen and (max-width: 768px) {
  .price-down-section__card-property-name {
    font-size: 1.6rem;
  }
}
.price-down-section__card-details {
  margin-top: -4px;
  margin-bottom: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.price-down-section__slider-controls {
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .price-down-section__slider-controls {
    bottom: -170px;
  }
}
@media screen and (max-width: 768px) {
  .price-down-section__slider-controls .slick-dots {
    top: -152px;
  }
}

.pickup-section__slider-container {
  background-color: #F1F1F1;
}

.top-news {
  padding: 24px 0px 100px;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-news {
    padding: 24px 0px 72px;
  }
}
.top-news__header {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .top-news__header {
    margin-bottom: 33px;
  }
}
.top-news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-bottom: 37px;
}
@media screen and (max-width: 768px) {
  .top-news__list {
    margin-bottom: 27px;
  }
}
.top-news__item {
  border-bottom: 1px solid #B5B5B5;
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .top-news__item {
    padding: 19.42px 0;
  }
}
.top-news__link {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .top-news__link:hover {
    opacity: 0.7;
  }
}
.top-news__content-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .top-news__content-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 9px;
  }
}
.top-news__date {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.448em;
  color: #333;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.top-news__title {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.448em;
  color: #333;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.top-news__button {
  padding: 19.5px 12px;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .top-news__link,
  .top-news__button {
    -webkit-transition: none;
    transition: none;
  }
}
/* 漫画コラムセクション */
.manga-column {
  background-color: #FBF7E7;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .manga-column {
    padding: 74px 0 72px;
  }
}
.manga-column__header {
  position: relative;
  margin-bottom: 42px;
}
@media screen and (max-width: 768px) {
  .manga-column__header {
    margin-bottom: 39px;
  }
}
.manga-column__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 42px;
}
.manga-column__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 19px;
}
@media screen and (max-width: 768px) {
  .manga-column__grid {
    gap: 19px;
  }
}
.manga-column__item {
  background-color: #FFFFFF;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.06);
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (any-hover: hover) {
  .manga-column__item:hover .manga-column__detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .manga-column__item:hover .manga-column__detail-button::before {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .manga-column__item:hover .manga-column__detail-button::after {
    background-color: #D30B33;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.manga-column__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  height: 100%;
  padding: 0 16px;
}
@media screen and (max-width: 768px) {
  .manga-column__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7px;
    padding: 20px;
  }
}
.manga-column__image-wrapper {
  width: 300px;
  height: 200px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .manga-column__image-wrapper {
    max-width: 300px;
    width: 100%;
  }
}
.manga-column__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.manga-column__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 26px 21px;
}
@media screen and (max-width: 768px) {
  .manga-column__card-content {
    gap: 13px;
    padding: 0 12px 9px;
  }
}
.manga-column__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding-left: 3px;
}
.manga-column__clock-icon {
  width: 24px;
  height: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .manga-column__clock-icon {
    width: 11px;
    height: 11px;
  }
}
.manga-column__clock-icon .fa-regular {
  font-size: 2.1rem;
  color: #B5B5B5;
}
@media screen and (max-width: 768px) {
  .manga-column__clock-icon .fa-regular {
    font-size: 1.6rem;
  }
}
.manga-column__date {
  font-size: 1.6rem;
  font-weight: 500;
  color: #B5B5B5;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .manga-column__date {
    font-size: 1.4rem;
  }
}
.manga-column__card-title {
  color: #333;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.manga-column__excerpt {
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .manga-column__excerpt {
    font-size: 1.4rem;
  }
}

.access {
  padding: 24px 0 100px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .access {
    padding: 59px 0;
  }
}
.access__header {
  margin-bottom: 39px;
}
.access__address {
  margin-bottom: 33px;
}
.access__address-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
}
.access__map {
  margin-bottom: 30px;
}

/* 関連サイトセクション */
.related-sites {
  padding: 24px 0 100px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .related-sites {
    padding: 20px 0 60px;
  }
}
.related-sites__header {
  margin-bottom: 21px;
}
.related-sites__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px 39px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .related-sites__grid {
    gap: 20px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.related-sites__item {
  display: block;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (any-hover: hover) {
  .related-sites__item:hover {
    opacity: 0.8;
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
}
@media screen and (max-width: 768px) {
  .related-sites__item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.related-sites__image {
  display: block;
  max-width: 256px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* 会社ナビゲーションセクション */
.company-nav-section {
  padding: 60px 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .company-nav-section {
    padding: 45px 0;
  }
}
.company-nav-section__container {
  background-color: #fbf7e7;
  border-radius: 32px;
  padding: 25px 0 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 42px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .company-nav-section__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 33px;
    padding: 25px 24px;
    margin: 0 auto;
  }
}
.company-nav-section__item {
  width: 254px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .company-nav-section__item {
    width: 100%;
    max-width: 280px;
  }
}
.company-nav-section__link {
  display: block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .company-nav-section__link:hover {
    opacity: 0.7;
  }
}
.company-nav-section__image-wrapper {
  position: relative;
  margin-bottom: 39px;
}
@media screen and (max-width: 768px) {
  .company-nav-section__image-wrapper {
    margin-bottom: 37px;
  }
}
.company-nav-section__image {
  width: 254px;
  height: 254px;
  border-radius: 50%;
  overflow: hidden;
  outline: 7px solid #ffd6db;
  outline-offset: -7px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .company-nav-section__image {
    width: 254px;
    height: 254px;
    margin: 0 auto;
  }
}
.company-nav-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.company-nav-section__icon {
  position: absolute;
  bottom: -27px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 3.625px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #D30B33;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.company-nav-section__icon .fa-arrow-right {
  font-size: 3rem;
  color: #fff;
}
.company-nav-section__title {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.448;
  letter-spacing: 0.06em;
  color: #333;
  margin-bottom: 8px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .company-nav-section__title {
    font-size: 2.2rem;
  }
}
.company-nav-section__description {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.448;
  color: #000;
  padding: 0 7px;
}
@media screen and (max-width: 768px) {
  .company-nav-section__description {
    font-size: 1.4rem;
    padding: 0 20px;
  }
}

/* おすすめ/適さないお客様セクション */
.recommendation-section {
  background-color: #FFFFFF;
  padding: 104px 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .recommendation-section {
    padding: 80px 0;
  }
}
@media screen and (max-width: 768px) {
  .recommendation-section {
    padding: 74px 0 69px;
  }
}
.recommendation-section__pc-only {
  display: block;
}
@media screen and (max-width: 768px) {
  .recommendation-section__pc-only {
    display: none;
  }
}
.recommendation-section__sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .recommendation-section__sp-only {
    display: block;
  }
}
.recommendation-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .recommendation-section__header {
    gap: 30px;
  }
}
.recommendation-section__header-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 24px;
  padding: 24px 70px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item {
    padding: 17px 24px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-bottom: 32px;
    border-radius: 18px;
  }
}
.recommendation-section__header-item--positive {
  background-color: #D30B33;
  color: #FFFFFF;
}
@media (max-width: 1280px) {
  .recommendation-section__header-item--positive {
    padding-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item--positive {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.recommendation-section__header-item--positive .recommendation-section__header-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transform: translate(30px, -1px);
          transform: translate(30px, -1px);
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item--positive .recommendation-section__header-content {
    -webkit-transform: none;
            transform: none;
  }
}
.recommendation-section__header-item--positive .recommendation-section__character {
  position: absolute;
  width: 98px;
  height: auto;
  left: -27px;
  top: -13px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item--positive .recommendation-section__character {
    left: auto;
    right: -21px;
    width: 81px;
    -webkit-transform: none;
            transform: none;
  }
}
.recommendation-section__header-item--negative {
  background-color: #0089CD;
  color: #FFFFFF;
  padding-left: 80px;
}
@media (max-width: 1280px) {
  .recommendation-section__header-item--negative {
    padding-left: 60px;
  }
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item--negative {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 17px 24px;
  }
}
.recommendation-section__header-item--negative .recommendation-section__header-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transform: translate(-34px, 0px);
          transform: translate(-34px, 0px);
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item--negative .recommendation-section__header-content {
    -webkit-transform: none;
            transform: none;
  }
}
.recommendation-section__header-item--negative .recommendation-section__character {
  top: 46%;
  right: -11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 90px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__header-item--negative .recommendation-section__character {
    left: auto;
    right: -13px;
    width: 74px;
    top: 50%;
  }
}
.recommendation-section__en-title {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  color: #FFFFFF;
  margin-bottom: 12px;
}
@media screen and (max-width: 1024px) {
  .recommendation-section__en-title {
    font-size: 1.8rem;
  }
}
.recommendation-section__ja-title {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .recommendation-section__ja-title {
    font-size: 2.4rem;
    line-height: 1.4;
  }
}
.recommendation-section__character {
  position: absolute;
  width: 98px;
  height: auto;
  top: -37px;
}
.recommendation-section__character img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .recommendation-section__character img.recommendation-icon {
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
}
.recommendation-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .recommendation-section__content {
    gap: 30px;
  }
}
.recommendation-section__content::before, .recommendation-section__content::after {
  content: "";
  position: absolute;
  top: -500px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #B5B5B5;
  z-index: 1;
  width: 1px;
}
.recommendation-section__content::before {
  top: -220px;
  height: 220px;
}
.recommendation-section__content::after {
  top: 0;
  bottom: 0;
}
.recommendation-section__content::before, .recommendation-section__content::after {
  display: none;
}
.recommendation-section__column {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 500px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__column {
    max-width: none;
  }
}
.recommendation-section__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__items {
    gap: 17px;
  }
}
.recommendation-section__item {
  background-color: #FBF7E7;
  border-radius: 10px;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__item {
    padding: 14px;
  }
}
.recommendation-section__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .recommendation-section__item-header {
    gap: 10px;
    margin-bottom: 6px;
  }
}
.recommendation-section__item-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #FFFFFF;
  border-radius: 2px;
  border: 1px solid #B5B5B5;
  padding: 8px 3px 4px;
  position: relative;
}
.recommendation-section__item-icon svg {
  position: absolute;
  top: 4px;
  left: 3px;
  width: 13.5px;
  height: 10px;
}
.recommendation-section__item-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  color: #333333;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .recommendation-section__item-title {
    font-size: 1.8rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 768px) {
  .recommendation-section__item-title .sp {
    display: inline;
  }
}
.recommendation-section__item-content {
  width: 100%;
}
.recommendation-section__item-description {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 1024px) {
  .recommendation-section__item-description {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .recommendation-section__item-description {
    font-size: 1.4rem;
  }
}
.recommendation-section__sp-block {
  margin-bottom: 67px;
}
.recommendation-section__sp-block:last-child {
  margin-bottom: 0;
  position: relative;
}
.recommendation-section__sp-block:last-child::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #B5B5B5;
}
.recommendation-section .text-link {
  color: #D30B33;
  text-decoration: underline;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media (any-hover: hover) {
  .recommendation-section .text-link:hover {
    opacity: 0.7;
  }
}

/* お約束セクション */
.promise-section {
  background-color: #FBF7E7;
  padding: 88px 0;
}
@media screen and (max-width: 1024px) {
  .promise-section {
    padding: 60px 0;
  }
}
@media screen and (max-width: 768px) {
  .promise-section {
    padding: 54px 0;
  }
}
.promise-section__header {
  margin-bottom: 63px;
}
@media screen and (max-width: 768px) {
  .promise-section__header {
    margin-bottom: 43px;
  }
}
.promise-section__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .promise-section__cards {
    gap: 32px;
  }
}
.promise-section__card {
  position: relative;
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 40px 32px 37px;
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .promise-section__card {
    padding: 32px 24px;
  }
}
@media screen and (max-width: 768px) {
  .promise-section__card {
    padding: 36px 24px 28px;
  }
  .promise-section__card:nth-child(2) {
    padding: 29px 24px;
  }
}
.promise-section__card-badge {
  position: absolute;
  top: -21px;
  left: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 176px;
  height: 51px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .promise-section__card-badge {
    top: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 140px;
    height: 45px;
  }
}
.promise-section__card-badge img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.promise-section__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  width: 100%;
}
.promise-section__card-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  color: #333333;
}
.promise-section__card-title--highlight {
  color: #D30B33;
}
@media screen and (max-width: 1024px) {
  .promise-section__card-title {
    font-size: 1.8rem;
  }
}
.promise-section__card-description {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 1024px) {
  .promise-section__card-description {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .promise-section__card-description {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .promise-section__card-description--precautions {
    font-size: 1.2rem;
    display: block;
  }
}

.company-overview-cards {
  padding: 60px 0 92px;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .company-overview-cards {
    padding: 59px 0;
  }
}
.company-overview-cards__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  max-width: 1040px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .company-overview-cards__container {
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .company-overview-cards__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 36px;
  }
}
.company-overview-cards__card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #FBF7E7;
  border-radius: 20px;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
@media screen and (max-width: 768px) {
  .company-overview-cards__card {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 23px;
    padding: 16px 20px;
  }
}
.company-overview-cards__card__content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  position: relative;
}
.company-overview-cards__card-text {
  width: 100%;
}
.company-overview-cards__card-title {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  color: #333333;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .company-overview-cards__card-title {
    margin-bottom: 12px;
  }
}
.company-overview-cards__card-description {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .company-overview-cards__card-description {
    line-height: 1.2;
  }
}
.company-overview-cards__card-icon {
  position: absolute;
  right: 19px;
  top: -12px;
  width: 34px;
  height: 80px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.company-overview-cards__card-icon--company-building {
  background-image: url(../images/company-building.webp);
}
.company-overview-cards__card-icon--ceo-person {
  background-image: url(../images/ceo-person.webp);
  width: 49px;
  top: -17px;
}
.company-overview-cards__card-icon--staff-person {
  background-image: url(../images/staff-person.webp);
}
.company-overview-cards__button {
  margin-top: 42px;
}

/* 会社紹介セクション */
.company-intro-section {
  background-color: #ffffff;
  padding: 52px 0 0;
}
@media screen and (max-width: 768px) {
  .company-intro-section {
    padding: 56px 0 0;
  }
}
.company-intro-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .company-intro-section__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 38px;
  }
}
.company-intro-section__image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 382px;
  height: 248px;
  border-radius: 32px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .company-intro-section__image {
    height: auto;
    border-radius: 20px;
    width: 100%;
  }
}
.company-intro-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.company-intro-section__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #FBF7E7;
  border-radius: 24px;
  padding: 24px;
}
@media screen and (max-width: 768px) {
  .company-intro-section__text {
    border-radius: 24px;
    padding: 25px;
  }
}
.company-intro-section__description {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .company-intro-section__description {
    font-size: 1.4rem;
  }
}

/* 会社概要セクション */
.company-overview-section {
  background-color: #ffffff;
  padding: 60px 0;
}
.company-overview-section__header {
  margin-bottom: 39px;
}
@media screen and (max-width: 768px) {
  .company-overview-section__header {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 768px) {
  .company-overview-section {
    padding: 46px 0;
  }
}

.company-overview-list {
  width: 100%;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .company-overview-list {
    padding: 0;
  }
}
.company-overview-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 62.5px;
  border-top: 1px solid #B5B5B5;
}
@media screen and (max-width: 768px) {
  .company-overview-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.company-overview-list__term {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 230px;
          flex: 0 0 230px;
  padding: 10px;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .company-overview-list__term {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    font-weight: 500;
    font-size: 1.4rem;
    padding: 16px 20px;
  }
  .company-overview-list__term:last-child {
    border-bottom: 1px solid #B5B5B5;
  }
}
.company-overview-list__description {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 10px 10px 16px;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #333333;
  border-left: 1px solid #E9BBC1;
}
@media screen and (max-width: 768px) {
  .company-overview-list__description {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    font-size: 1.4rem;
    padding: 0px 20px 19px;
    border-left: none;
  }
}

/* 構造化データ対応 */
.company-overview-list[itemscope] {
  /* マイクロデータのスタイル調整は不要 */
}

/* 高コントラスト対応 */
@media (prefers-contrast: high) {
  .company-overview-list__item {
    border-color: #000000;
  }
  .company-overview-list__description {
    border-color: #000000;
  }
}
/* 視覚的フォーカスインジケーター */
.company-overview-list:focus-within {
  outline: 2px solid #d30b33;
  outline-offset: 2px;
}

/* いえまるギャラリーセクション */
.gallery-section {
  background-color: #ffffff;
  padding: 64px 0 48px;
}
@media screen and (max-width: 768px) {
  .gallery-section {
    padding: 60px 0 141px;
  }
}
.gallery-section__header {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .gallery-section__header {
    margin-bottom: 35px;
  }
}
.gallery-section__slider-container {
  width: 100%;
  position: relative;
}
.gallery-section__slider {
  width: 100%;
}
.gallery-section__slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.gallery-section__slider .slick-slide {
  height: auto;
}
.gallery-section__slider .slick-slide > div {
  height: 100%;
}
.gallery-section__slider .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
}
.gallery-section__slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
.gallery-section__slider .slick-dots li.slick-active button {
  background-color: #D30B33;
  border: 1px solid #fff;
}
.gallery-section__slider .slick-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  background-color: #D9D9D9;
  border-radius: 50%;
}
.gallery-section__item {
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .gallery-section__item {
    padding: 0 8px;
  }
}
.gallery-section__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  overflow: hidden;
  background-color: #ffffff;
}
.gallery-section__image-wrapper {
  width: 100%;
  height: auto;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.gallery-section__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.gallery-section__text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .gallery-section__text {
    font-size: 1.4rem;
  }
}
.gallery-section__slider-controls {
  display: none;
}
@media screen and (max-width: 768px) {
  .gallery-section__slider-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    position: absolute;
    right: auto;
    bottom: -97px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 10;
  }
}
.gallery-section__slider-controls .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  position: absolute;
  left: 58%;
  top: 12px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .gallery-section__slider-controls .slick-dots {
    top: -36px;
    left: 50%;
  }
}
.gallery-section__slider-controls .slick-dots li button {
  font-size: 0;
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #D9D9D9;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.gallery-section__slider-controls .slick-dots li.slick-active button {
  background-color: #D30B33;
}
.gallery-section__nav-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.gallery-section__nav-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #333333;
  border: 2px solid #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .gallery-section__nav-button {
    width: 58px;
    height: 58px;
  }
}
.gallery-section__nav-button.prev::before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .gallery-section__nav-button.prev::before {
    font-size: 2.4rem;
  }
}
.gallery-section__nav-button.next::before {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .gallery-section__nav-button.next::before {
    font-size: 2.4rem;
  }
}
@media (any-hover: hover) {
  .gallery-section__nav-button:hover {
    border: 2px solid #B5B5B5;
    background-color: #fff;
  }
  .gallery-section__nav-button:hover::before {
    color: #333;
  }
}
.gallery-section__button {
  padding: 19.5px 12px;
}

/* フォーカスインジケーター */
.gallery-section__nav-button:focus,
.gallery-section__dots .slick-dots li button:focus {
  outline: 2px solid #d30b33;
  outline-offset: -2px;
}

/* 高コントラスト対応 */
@media (prefers-contrast: high) {
  .gallery-section__nav-button {
    border-color: #000000;
  }
  .gallery-section__nav-button svg {
    fill: #000000;
  }
  .gallery-section__dots .slick-dots li.slick-active button {
    background-color: #000000;
  }
}
.directions-section {
  padding: 60px 0 55px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .directions-section {
    padding: 38px 0 50px;
  }
}
@media screen and (max-width: 768px) {
  .directions-section__inner {
    padding: 0 18px;
  }
}
.directions-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .directions-section__header {
    padding: 0 5px;
  }
}
.directions-section__header-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.directions-section__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  letter-spacing: 0.06em;
  color: #333;
}
.directions-section__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 31px 87px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 1024px) {
  .directions-section__steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .directions-section__steps {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.directions-section__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.directions-section__step::after {
  content: "";
  width: 24%;
  height: 7px;
  background: #FFD6DB;
  position: absolute;
  right: -40%;
  top: 35.5%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .directions-section__step::after {
    width: 55%;
    right: -58%;
  }
}
@media screen and (max-width: 768px) {
  .directions-section__step::after {
    display: none;
  }
}
.directions-section__step:nth-child(3n)::after, .directions-section__step:last-child::after {
  display: none;
}
@media screen and (max-width: 1024px) {
  .directions-section__step:nth-child(3n)::after, .directions-section__step:last-child::after {
    display: inline;
  }
}
@media screen and (max-width: 768px) {
  .directions-section__step:nth-child(3n)::after, .directions-section__step:last-child::after {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .directions-section__step:nth-child(2n)::after {
    display: none;
  }
}
.directions-section__step-image {
  width: 314px;
  height: 314px;
  border-radius: 50%;
  overflow: hidden;
  outline: 7px solid #FFD6DB;
  outline-offset: -7px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .directions-section__step-image {
    width: 250px;
    height: 250px;
  }
}
@media screen and (max-width: 768px) {
  .directions-section__step-image {
    width: 100%;
    height: auto;
    outline: 5px solid #FFD6DB;
    outline-offset: -5px;
  }
}
.directions-section__step-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.directions-section__step-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 14px;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .directions-section__step-content {
    gap: 21px;
    padding: 0 6px;
  }
}
.directions-section__step-character {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 45.48px;
  height: 96px;
  -webkit-transform: translateX(-5px);
          transform: translateX(-5px);
}
@media screen and (max-width: 768px) {
  .directions-section__step-character {
    -webkit-transform: none;
            transform: none;
  }
}
.directions-section__step-character img {
  width: 100%;
  height: 100%;
  display: block;
}
.directions-section__bubble {
  position: relative;
  background: #FFF5F6;
  border-radius: 10px;
  padding: 10px;
  max-width: 280px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .directions-section__bubble {
    max-width: 220px;
  }
}
@media screen and (max-width: 768px) {
  .directions-section__bubble {
    max-width: none;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.directions-section__bubble::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-right: 12px solid #FFF5F6;
}
.directions-section__description {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #333;
}

.staff-section {
  padding: 72px 0 60px;
}
@media screen and (max-width: 768px) {
  .staff-section {
    padding: 54px 0 40px;
  }
}
.staff-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 123px;
}
@media screen and (max-width: 768px) {
  .staff-section__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 94px;
  }
}
.staff-section__staff-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.staff-section__staff-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.staff-section__staff-name-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.staff-section__staff-name-en {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .staff-section__staff-name-en {
    font-size: 1.8rem;
  }
}
.staff-section__staff-name {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.448;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .staff-section__staff-name {
    font-size: 2.8rem;
  }
}
.staff-section__staff-content {
  display: grid;
  gap: 38px 33px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  grid-template-columns: clamp(355px, (134vw - 1025px) / 2, 450px) 1fr;
}
@media screen and (max-width: 768px) {
  .staff-section__staff-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 33px;
  }
}
.staff-section__images-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .staff-section__images-wrapper {
    gap: 8px;
  }
}
.staff-section__main-image {
  width: 100%;
  height: auto;
  border-radius: 10px;
  overflow: hidden;
}
.staff-section__main-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.staff-section__sub-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.staff-section__sub-image {
  width: 220px;
  height: 206px;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .staff-section__sub-image {
    width: 100%;
    height: auto;
  }
}
.staff-section__sub-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.staff-section__staff-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .staff-section__staff-info {
    gap: 22px;
  }
}
.staff-section__info-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.staff-section__info-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.448;
  letter-spacing: 0.08em;
  color: #333333;
  position: relative;
  padding-left: 14px;
}
@media screen and (max-width: 768px) {
  .staff-section__info-title {
    font-size: 1.8rem;
  }
}
.staff-section__info-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}
.staff-section__qualifications {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.staff-section__qualification-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
.staff-section__qualification-badge {
  background-color: #FBF7E7;
  border: 1px solid #FFD6DB;
  border-radius: 4px;
  padding: 8px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.448;
  letter-spacing: 0.08em;
  color: #333333;
}
.staff-section__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.staff-section__profile-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 13px;
}
@media screen and (max-width: 768px) {
  .staff-section__profile-items {
    gap: 15px;
  }
}
.staff-section__profile-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .staff-section__profile-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.staff-section__profile-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 15px 4px 35px;
  background-color: #D30B33;
  border: 1px solid #FFFFFF;
  border-radius: 32px;
  min-width: 100px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .staff-section__profile-label {
    padding: 2px 20px 2px 16px;
    gap: 4px;
  }
}
.staff-section__profile-label svg {
  position: absolute;
  top: 50%;
  left: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .staff-section__profile-label svg {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
  }
}
.staff-section__profile-label span {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .staff-section__profile-label span {
    font-size: 1.4rem;
  }
}
.staff-section__profile-value {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
}
.staff-section__message {
  background-color: #FFF5F6;
  border-radius: 20px;
  padding: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  grid-column: 1/-1;
}
@media screen and (max-width: 768px) {
  .staff-section__message {
    padding: 33px 32px;
  }
}
.staff-section__message .staff-section__info-title {
  letter-spacing: 0;
}
.staff-section__message-content {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
}
.staff-section__message-content p {
  margin-bottom: 29px;
}
@media screen and (max-width: 768px) {
  .staff-section__message-content p {
    margin-bottom: 23px;
    padding: 0 3px;
  }
}
.staff-section__message-content p:last-child {
  margin-bottom: 0;
}
.staff-section__message-content a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .staff-section__message-content a:hover {
    opacity: 0.7;
    color: #D30B33;
  }
}

@media (max-width: 768px) {
  .staff-section__profile-value {
    font-size: 14px;
  }
  .staff-section__message-content {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .staff-section__staff-item {
    gap: 30px;
  }
  .staff-section__sub-images {
    gap: 10px;
  }
  .staff-section__profile-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
  }
  .staff-section__qualification-list {
    gap: 6px;
  }
  .staff-section__qualification-badge {
    font-size: 14px;
    padding: 6px;
  }
}
/* Company Policy Section Styles */
.company-policy-section {
  padding: 72px 0 60px;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .company-policy-section {
    padding: 55px 0 48px;
  }
}
.company-policy-section__header {
  margin-bottom: 47px;
}
@media screen and (max-width: 768px) {
  .company-policy-section__header {
    margin-bottom: 40px;
  }
  .company-policy-section__header .sp {
    display: inline;
  }
}
.company-policy-section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .company-policy-section__content {
    gap: 31px;
  }
}
.company-policy-section__representative {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .company-policy-section__representative {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
.company-policy-section__representative-image {
  width: 100%;
  aspect-ratio: 394/262;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 394px;
          flex: 0 0 394px;
}
@media screen and (max-width: 768px) {
  .company-policy-section__representative-image {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
.company-policy-section__representative-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-policy-section__representative-info {
  background-color: #FFF5F6;
  border-radius: 20px;
  padding: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .company-policy-section__representative-info {
    padding: 31px 31px 41px;
    border-radius: 10px;
  }
}
.company-policy-section__company-name {
  color: #333333;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .company-policy-section__company-name {
    font-size: 1.4rem;
  }
}
.company-policy-section__representative-name {
  color: #333333;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.448;
  position: relative;
  padding-left: 14px;
}
@media screen and (max-width: 768px) {
  .company-policy-section__representative-name {
    font-size: 2.2rem;
  }
}
.company-policy-section__representative-name::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}
.company-policy-section__message {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #FBF7E7;
  border-radius: 24px;
  padding: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}
@media screen and (max-width: 768px) {
  .company-policy-section__message {
    padding: 48px 24px 46px;
    gap: 26px;
    border-radius: 10px;
  }
}
.company-policy-section__intro-text p, .company-policy-section__philosophy p, .company-policy-section__closing-text p {
  color: #333333;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.81;
}
@media screen and (max-width: 768px) {
  .company-policy-section__intro-text p, .company-policy-section__philosophy p, .company-policy-section__closing-text p {
    font-size: 1.6rem;
  }
  .company-policy-section__intro-text p .company-policy-section__intro-text--highlight, .company-policy-section__philosophy p .company-policy-section__intro-text--highlight, .company-policy-section__closing-text p .company-policy-section__intro-text--highlight {
    font-weight: 500;
  }
  .company-policy-section__intro-text p .sp, .company-policy-section__philosophy p .sp, .company-policy-section__closing-text p .sp {
    display: inline;
  }
  .company-policy-section__intro-text p .pc, .company-policy-section__philosophy p .pc, .company-policy-section__closing-text p .pc {
    display: none;
  }
}
.company-policy-section__intro-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 31px;
}
.company-policy-section__problems {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11.6px;
}
@media screen and (max-width: 1024px) {
  .company-policy-section__problems {
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
  }
}
@media screen and (max-width: 768px) {
  .company-policy-section__problems {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.company-policy-section__problem-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 19.34px;
}
@media screen and (max-width: 1024px) {
  .company-policy-section__problem-item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .company-policy-section__problem-item {
    max-width: 280px;
    margin: 0 auto;
  }
}
.company-policy-section__problem-image {
  width: 143.15px;
  height: 143.15px;
  overflow: hidden;
}
.company-policy-section__problem-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-policy-section__problem-text {
  background-color: #ffffff;
  border-radius: 4.84px;
  padding: 9.67px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .company-policy-section__problem-text {
    padding: 9px;
    width: 81%;
  }
}
.company-policy-section__problem-text p {
  color: #333333;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.448;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .company-policy-section__problem-text p {
    font-size: 1.4rem;
    line-height: 1.2;
  }
}
.company-policy-section__philosophy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
}
.company-policy-section__service-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
  margin-bottom: 5px;
}
@media screen and (max-width: 1024px) {
  .company-policy-section__service-flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}
.company-policy-section__service-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .company-policy-section__service-text p {
    line-height: 1.85;
  }
}
.company-policy-section__service-image {
  width: 311px;
  height: 207px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .company-policy-section__service-image {
    margin-bottom: 6px;
  }
}
.company-policy-section__service-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-policy-section__commitment--highlight {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.8;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .company-policy-section__commitment--highlight {
    font-size: 2.2rem;
    line-height: 1.9;
  }
}
.company-policy-section__closing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}
@media screen and (max-width: 1024px) {
  .company-policy-section__closing {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    text-align: center;
  }
}
.company-policy-section__closing-image {
  width: 394px;
  height: 262.67px;
  border-radius: 10px;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .company-policy-section__closing-image {
    width: 100%;
    height: auto;
    aspect-ratio: 279/186;
  }
}
.company-policy-section__closing-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-policy-section__closing-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 31px;
}

.registerform {
  padding: 71px 0;
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .registerform {
    padding: 56px 0;
  }
}
.registerform__inner {
  max-width: 1010px;
}
.registerform__header {
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .registerform__header {
    margin-bottom: 31px;
  }
}
.registerform .login_error {
  font-size: 1.6rem;
  color: #D30B33;
  margin: 20px 0;
}
.registerform__description {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0;
}
.registerform .page_register {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0;
}
.registerform .form_register {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .registerform .form_register tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.registerform .form_register th {
  background-color: #EAEAEA;
  border: 1px solid #D9D9D9;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 28px 18px;
  min-width: 228px;
}
@media screen and (max-width: 1024px) {
  .registerform .form_register th {
    padding: 18px;
  }
}
.registerform .form_register th span {
  float: right;
  white-space: nowrap;
}
.registerform .form_register td {
  border: 1px solid #D9D9D9;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  padding: 16px 18px;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .registerform .form_register td {
    padding: 28px 18px;
  }
}
.registerform .form_register td:has(.input1) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14.5px;
}
@media screen and (max-width: 1024px) {
  .registerform .form_register td:has(.input1) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.registerform .form_register .input {
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  min-width: 616px;
  padding: 15px;
}
@media screen and (max-width: 1024px) {
  .registerform .form_register .input {
    min-width: 79%;
  }
}
@media screen and (max-width: 768px) {
  .registerform .form_register .input {
    min-width: 69%;
    width: 70%;
  }
}
.registerform .form_register .input[name=user_email], .registerform .form_register .input[name=user_zip], .registerform .form_register .input[name=user_adr], .registerform .form_register .input[name=user_tel] {
  width: 100%;
}
.registerform .form_register .input1 {
  min-width: clamp(298px, (116vw - 1025px) / 2, 321px);
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  padding: 15px;
}
@media screen and (max-width: 1024px) {
  .registerform .form_register .input1 {
    min-width: auto;
    width: 100%;
  }
}
.registerform #kaiin_kiyaku {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 40px 0;
}
@media screen and (max-width: 1024px) {
  .registerform #kaiin_kiyaku {
    font-size: 1.4rem;
    margin: 32px 0;
  }
}
.registerform #registerform h3 {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  color: #fff;
  background-color: #D30B33;
  margin-bottom: 40px;
  padding: 11px 24px;
  border-radius: 8px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform h3 {
    font-size: 1.7rem;
    line-height: 1.2;
    display: block;
    text-align: center;
    margin-bottom: 32px;
    padding: 10px 55px;
  }
}
.registerform #registerform h3::before {
  content: "";
  display: inline-block;
  background-image: url(../images/icon-conditions.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 32px;
  height: 30px;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform h3::before {
    width: 30px;
    height: 28px;
    position: absolute;
    top: 50%;
    left: 25px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.registerform #registerform h3 .th_sub {
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform .form_user_register tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.registerform #registerform .form_user_register th {
  background-color: #EAEAEA;
  border: 1px solid #D9D9D9;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 28px 18px;
  min-width: 228px;
  vertical-align: middle;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform .form_user_register th {
    padding: 18px;
  }
}
.registerform #registerform .form_user_register td {
  border: 1px solid #D9D9D9;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  padding: 16px 18px;
  width: 100%;
  vertical-align: middle;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform .form_user_register td {
    padding: 23px 18px;
  }
}
.registerform #registerform .form_user_register span {
  margin: 7px 0;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform .form_user_register span {
    margin: 11px 0;
  }
}
.registerform #registerform .form_user_register input[type=checkbox] {
  width: 24px;
  height: 24px;
  margin: 0 8px 0 -1px;
  border: 2px solid #C3C3C3;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  vertical-align: -4px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.registerform #registerform .form_user_register input[type=checkbox].error {
  border-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .registerform #registerform .form_user_register input[type=checkbox] {
    top: 50%;
  }
}
.registerform #registerform .form_user_register input[type=checkbox]:checked {
  background-color: #D30B33;
}
.registerform #registerform .form_user_register input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 1.33398L5.91667 9.66732L1.75 5.50065' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}
.registerform #registerform .form_user_register label {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #4A4A4A;
}
.registerform #registerform .form_user_register h4 {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #4A4A4A;
  margin-bottom: 14px;
}
.registerform #registerform .form_user_register .annotation {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #4A4A4A;
}
.registerform #registerform .form_user_register h5 {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #D30B33;
  text-decoration: underline;
}
.registerform #registerform .form_user_register .rosen span {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #D30B33;
  text-decoration: underline;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform .form_user_register .rosen span {
    margin: 11px 0;
    display: inline-block;
  }
}
.registerform #registerform .form_user_register select {
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  max-width: 173px;
  width: 100%;
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 14px 16px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M7 7.01855L0.071797 0.268553L13.9282 0.268555L7 7.01855Z' fill='%23D9D9D9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 17px center;
}
@media screen and (max-width: 1024px) {
  .registerform #registerform .form_user_register select {
    margin-bottom: 25px;
    padding: 21px 16px;
  }
}
.registerform #registerform .submit {
  max-width: 320px;
  margin: 40px auto;
  position: relative;
}
.registerform #registerform .submit::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .registerform #registerform .submit:hover::after {
    color: #E49800;
  }
  .registerform #registerform .submit:hover .button-primary {
    background-color: #fff;
    color: #E49800;
    outline: 1px solid #E49800;
    outline-offset: -1px;
  }
}
.registerform #registerform .button-primary {
  background-color: #E49800;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  font-weight: 700;
  font-size: 1.6rem;
  color: #FFFFFF;
  width: 100%;
  padding: 26px;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.registerform #registerform #reg_passmail {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.8;
}

/* お問い合わせ */
.register-complete-page {
  background-color: #fff;
  padding: 72px 0 141px;
}
@media screen and (max-width: 768px) {
  .register-complete-page {
    padding: 55px 0 60px;
  }
}
.register-complete-page__inner {
  max-width: 857px;
}
.register-complete-page__discription {
  margin-bottom: 41px;
}
@media screen and (max-width: 768px) {
  .register-complete-page__discription {
    margin-bottom: 39px;
  }
}
.register-complete-page__discription-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .register-complete-page__discription-text {
    font-size: 1.4rem;
  }
}

.disclaimer-item p {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
  margin: 0 0 31px 0;
}

.disclaimer-item p:last-child {
  margin-bottom: 0;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .disclaimer-item {
    margin-bottom: 40px;
  }
  .disclaimer-title {
    font-size: 20px;
    letter-spacing: 0.06em;
    margin-bottom: 16px;
  }
  .disclaimer-item p {
    font-size: 14px;
  }
  .disclaimer-intro {
    font-size: 14px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 480px) {
  .disclaimer-item {
    margin-bottom: 32px;
  }
  .disclaimer-title {
    font-size: 18px;
    padding-bottom: 8px;
    margin-bottom: 12px;
  }
  .disclaimer-item p {
    font-size: 13px;
  }
  .disclaimer-intro {
    font-size: 13px;
    margin-bottom: 32px;
  }
}
/* 漫画コラム一覧セクション */
.manga-column-archive {
  padding: 72px 0 60px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .manga-column-archive {
    padding: 80px 0 40px;
  }
}
.manga-column-archive__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.manga-column-archive__item {
  background-color: #fff;
  border-top: 1px solid #b5b5b5;
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.manga-column-archive__item:last-child {
  border-bottom: 1px solid #b5b5b5;
}
@media (any-hover: hover) {
  .manga-column-archive__item:hover .manga-column-archive__detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .manga-column-archive__item:hover .manga-column-archive__detail-button::before {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .manga-column-archive__item:hover .manga-column-archive__detail-button::after {
    background-color: #D30B33;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.manga-column-archive__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 32px;
  padding: 23px 0;
  text-decoration: none;
  color: inherit;
  width: 100%;
  min-height: 200px;
}
@media screen and (max-width: 768px) {
  .manga-column-archive__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    padding: 20px;
  }
}
.manga-column-archive__image-wrapper {
  width: 300px;
  height: 200px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .manga-column-archive__image-wrapper {
    width: 100%;
    height: 250px;
  }
}
.manga-column-archive__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.manga-column-archive__card-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
  padding: 16px;
}
@media screen and (max-width: 768px) {
  .manga-column-archive__card-content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
    padding: 0;
  }
}
.manga-column-archive__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
.manga-column-archive__clock-icon {
  width: 24px;
  height: 24px;
  color: #b5b5b5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.manga-column-archive__clock-icon .fa-regular {
  font-size: 2rem;
  color: #B5B5B5;
}
.manga-column-archive__date {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #b5b5b5;
}
.manga-column-archive__card-title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.06em;
  color: #333;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 768px) {
  .manga-column-archive__card-title {
    font-size: 2rem;
  }
}
.manga-column-archive__excerpt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 768px) {
  .manga-column-archive__excerpt {
    font-size: 1.4rem;
  }
}

.manga-column-pagination {
  margin-top: 40px;
}
.manga-column-pagination__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.manga-column-pagination__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 31px;
  height: 31px;
  background-color: #fff;
  border: 1px solid #ffd6db;
  border-radius: 15.5px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .manga-column-pagination__number:hover {
    background-color: #d30b33;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .manga-column-pagination__number {
    width: 28px;
    height: 28px;
    font-size: 1.4rem;
  }
}
.manga-column-pagination__number--current {
  background-color: #d30b33;
  color: #fff;
  border-color: #d30b33;
  cursor: default;
}
@media (any-hover: hover) {
  .manga-column-pagination__number--current:hover {
    background-color: #d30b33;
  }
}
.manga-column-pagination__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15px;
  height: 30px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.manga-column-pagination__arrow--prev, .manga-column-pagination__arrow--next {
  margin: 0 22px;
  border: none;
}
@media screen and (max-width: 768px) {
  .manga-column-pagination__arrow {
    width: 12px;
    height: 24px;
  }
}
@media (any-hover: hover) {
  .manga-column-pagination__arrow:hover {
    opacity: 0.7;
    background: none;
  }
}
.manga-column-pagination .dots {
  font-size: 16px;
  color: #b5b5b5;
  padding: 0 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 31px;
  border: none;
}
@media (any-hover: hover) {
  .manga-column-pagination .dots:hover {
    background: none;
  }
}

.manga-column-single {
  padding: 56px 0;
  background-color: #FFFCEE;
}
.manga-column-single-content {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto 57px;
  padding: 81px 80px;
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .manga-column-single-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.manga-column-single__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 10px;
}
.manga-column-single__clock-icon {
  width: 24px;
  height: 24px;
  color: #b5b5b5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.manga-column-single__clock-icon .fa-regular {
  font-size: 2rem;
  color: #B5B5B5;
}
.manga-column-single__date {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #b5b5b5;
}
.manga-column-single__header {
  margin-bottom: 31px;
}
.manga-column-single__title {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.46;
  letter-spacing: 0.08em;
  color: #333333;
  padding-bottom: 23px;
  border-bottom: 1px solid #D30B33;
}
.manga-column-single-main-content .default-paragraph {
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 34px;
}
.manga-column-single-main-content .wp-block-image {
  margin: 0 auto 32px;
  max-width: 475px;
}

/* お知らせ一覧セクション */
.news-archive {
  background-color: #fffcee;
  padding: 72px 0 60px;
  /* 日付 */
  /* タイトル */
  /* 抜粋 */
}
@media screen and (max-width: 768px) {
  .news-archive {
    padding: 40px 0 60px;
  }
}
.news-archive__list {
  background-color: #fff;
  padding: 32px 80px 64px;
}
@media screen and (max-width: 768px) {
  .news-archive__list {
    padding: 24px 24px 48px;
  }
}
.news-archive__item {
  border-bottom: 1px solid #b5b5b5;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.news-archive__item:last-child {
  border-bottom: none;
}
@media (any-hover: hover) {
  .news-archive__item:hover .news-archive__detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .news-archive__item:hover .news-archive__detail-button::before {
    color: #fff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .news-archive__item:hover .news-archive__detail-button::after {
    background-color: #D30B33;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
.news-archive__link {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.news-archive__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
  padding: 49.45px 24px 23px;
}
@media screen and (max-width: 768px) {
  .news-archive__content {
    padding: 32px 12px 18px;
    gap: 8px;
  }
}
.news-archive__date-wrapper {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
.news-archive__date {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  color: #b5b5b5;
  display: block;
}
@media screen and (max-width: 768px) {
  .news-archive__date {
    font-size: 1.4rem;
  }
}
.news-archive__title {
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.45;
  color: #333;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 768px) {
  .news-archive__title {
    font-size: 1.5rem;
    line-height: 1.72;
    margin-bottom: 2px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.news-archive__excerpt {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: #333;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 768px) {
  .news-archive__excerpt {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 11px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media screen and (max-width: 768px) {
  .news-archive__detail-button {
    width: 130px;
    font-size: 12px;
    padding: 4px 20px;
  }
}

/* ページネーション */
.news-pagination {
  margin-top: 40px;
}
.news-pagination__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news-pagination__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 31px;
  height: 31px;
  background-color: #fff;
  border: 1px solid #ffd6db;
  border-radius: 15.5px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .news-pagination__number:hover {
    background-color: #d30b33;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .news-pagination__number {
    width: 28px;
    height: 28px;
    font-size: 1.4rem;
  }
}
.news-pagination__number--current {
  background-color: #d30b33;
  color: #fff;
  border-color: #d30b33;
  cursor: default;
}
@media (any-hover: hover) {
  .news-pagination__number--current:hover {
    background-color: #d30b33;
  }
}
.news-pagination__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15px;
  height: 30px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  background: none;
}
.news-pagination__arrow--prev, .news-pagination__arrow--next {
  margin: 0 22px;
  border: none;
}
@media screen and (max-width: 768px) {
  .news-pagination__arrow {
    width: 12px;
    height: 24px;
  }
}
@media (any-hover: hover) {
  .news-pagination__arrow:hover {
    opacity: 0.7;
    background: none;
  }
}
.news-pagination .dots {
  font-size: 16px;
  color: #b5b5b5;
  padding: 0 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 31px;
  border: none;
}
@media (any-hover: hover) {
  .news-pagination .dots:hover {
    background: none;
  }
}

@media (max-width: 480px) {
  .news-pagination__arrow {
    width: 12px;
    height: 24px;
  }
  .news-pagination__arrow svg {
    width: 12px;
    height: 24px;
  }
}
.news-single,
.pickup-single {
  padding: 64px 0;
}
@media screen and (max-width: 768px) {
  .news-single,
  .pickup-single {
    padding: 53px 0;
  }
}
.news-single-content,
.pickup-single-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .news-single-content,
  .pickup-single-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.news-single-main,
.pickup-single-main {
  padding-right: 20px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .news-single-main,
  .pickup-single-main {
    padding-right: 0;
  }
}
.news-single__date-wrapper,
.pickup-single__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .news-single__date-wrapper,
  .pickup-single__date-wrapper {
    margin-bottom: 23px;
  }
}
.news-single__clock-icon,
.pickup-single__clock-icon {
  width: 24px;
  height: 24px;
  color: #b5b5b5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.news-single__clock-icon .fa-regular,
.pickup-single__clock-icon .fa-regular {
  font-size: 2rem;
  color: #B5B5B5;
}
.news-single__date,
.pickup-single__date {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #b5b5b5;
}
@media screen and (max-width: 768px) {
  .news-single__date,
  .pickup-single__date {
    font-size: 1.4rem;
  }
}
.news-single__header,
.pickup-single__header {
  margin-bottom: 40px;
}
.news-single__title,
.pickup-single__title {
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .news-single__title,
  .pickup-single__title {
    font-size: 2.4rem;
    line-height: 1.21;
  }
}
.news-single-main-content p,
.pickup-single-main-content p {
  font-size: 1.6rem;
  line-height: 1.75;
  color: #333333;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .news-single-main-content p,
  .pickup-single-main-content p {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
}
@media (any-hover: hover) {
  .news-single-main-content p a:hover,
  .pickup-single-main-content p a:hover {
    text-decoration: underline;
  }
}

/* メインセクション */
.voice-archive {
  padding: 56px 0px 100px;
  background-color: #FFFCEE;
}
.voice-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .voice-archive__grid {
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .voice-archive__grid {
    grid-template-columns: 1fr;
  }
}
.voice-archive__card {
  background: #FFFFFF;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(128, 128, 128, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(128, 128, 128, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  height: 443px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (any-hover: hover) {
  .voice-archive__card:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
  }
  .voice-archive__card:hover .detail-button::before {
    color: #fff;
  }
  .voice-archive__card:hover .detail-button::after {
    background-color: #D30B33;
  }
}
.voice-archive__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
  color: inherit;
  height: 100%;
}
.voice-archive__card-image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 320/215;
  overflow: hidden;
  background: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .voice-archive__card-image {
    height: auto;
    aspect-ratio: 320/247;
  }
}
.voice-archive__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice-archive__card-content {
  padding: 16px 18px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 8px;
}
.voice-archive__card-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.voice-archive__property-info, .voice-archive__customer-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.voice-archive__customer-info {
  gap: 4px;
}
.voice-archive__contract-label, .voice-archive__customer-label {
  color: #3f3f3f;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.448;
  width: 75px;
  display: inline-block;
}
.voice-archive__separator {
  width: 0;
  height: 17px;
  border-left: 1px solid #b5b5b5;
}
.voice-archive__property-type, .voice-archive__customer-name {
  color: #d30b33;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.448;
}
.voice-archive__customer-name {
  color: #333333;
}
.voice-archive__testimonial {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.voice-archive__testimonial-text {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* アクセシビリティ対応 */
@media (prefers-reduced-motion: reduce) {
  .voice-archive__item,
  .voice-archive__image,
  .detail-button,
  .voice-pagination__number,
  .voice-pagination__arrow {
    -webkit-transition: none;
    transition: none;
  }
  .voice-archive__item:hover {
    -webkit-transform: none;
            transform: none;
  }
  .voice-archive__item:hover .voice-archive__image {
    -webkit-transform: none;
            transform: none;
  }
}
/* フォーカス状態 */
.voice-archive__link:focus {
  outline: 2px solid #D30B33;
  outline-offset: 2px;
  border-radius: 10px;
}

.voice-pagination__number:focus,
.voice-pagination__arrow:focus {
  outline: 2px solid #D30B33;
  outline-offset: 2px;
}

/* 印刷用スタイル */
@media print {
  .voice-archive {
    background-color: #FFFFFF;
    padding: 20px;
  }
  .voice-archive__item:hover {
    -webkit-transform: none;
            transform: none;
    -webkit-box-shadow: 0px 4px 4px 0px rgba(128, 128, 128, 0.1);
            box-shadow: 0px 4px 4px 0px rgba(128, 128, 128, 0.1);
  }
  .voice-pagination {
    display: none;
  }
  .detail-button {
    display: none;
  }
}
.voice-single {
  padding: 64px 0;
}
@media screen and (max-width: 768px) {
  .voice-single {
    padding: 39px 0;
  }
}
.voice-single-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .voice-single-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.voice-single-main {
  padding-right: 20px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .voice-single-main {
    padding-right: 0;
  }
}
.voice-single__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 25px;
}
.voice-single__clock-icon {
  width: 24px;
  height: 24px;
  color: #b5b5b5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.voice-single__clock-icon .fa-regular {
  font-size: 2rem;
  color: #B5B5B5;
}
.voice-single__date {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #b5b5b5;
}
@media screen and (max-width: 768px) {
  .voice-single__date {
    font-size: 1.4rem;
  }
}
.voice-single__header {
  margin-bottom: 40px;
}
.voice-single__title {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #333333;
  padding-bottom: 7px;
  border-bottom: 1px solid #D30B33;
}
@media screen and (max-width: 768px) {
  .voice-single__title {
    font-size: 2.2rem;
  }
}
.voice-single__section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #333333;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .voice-single__section-title {
    font-size: 1.6rem;
    line-height: 1.8;
    padding-left: 14px;
  }
}
.voice-single__section-title::before {
  content: "";
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .voice-single__section-title::before {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
  }
}
.voice-single__survey-image {
  max-width: 660px;
  width: 100%;
  height: auto;
  aspect-ratio: 660/139;
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .voice-single__survey-image {
    aspect-ratio: 327/301;
    margin-bottom: 42px;
  }
}
.voice-single__survey-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .voice-single__survey-image img {
    height: 100%;
  }
}
.voice-single__images-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 56px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .voice-single__images-wrapper {
    gap: 12px;
    margin-bottom: 40px;
  }
}
.voice-single__featured-image {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 8px);
          flex: 1 1 calc(50% - 8px);
  max-width: calc(50% - 8px);
  aspect-ratio: 500/364;
}
@media screen and (max-width: 768px) {
  .voice-single__featured-image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    max-width: 100%;
  }
}
.voice-single__featured-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.voice-single__featured-image:only-child {
  max-width: 500px;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 500px;
          flex: 0 1 500px;
}
.voice-single__answer-box {
  border: 1px solid #B5B5B5;
  border-radius: 10px;
  margin-bottom: 40px;
  padding: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 39px;
}
.voice-single__answer-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .voice-single__answer-text {
    font-size: 1.4rem;
  }
}

/* 注目情報一覧ページ */
.pickup-archive {
  background-color: #FFFCEE;
  padding: 72px 0 60px;
}
@media screen and (max-width: 768px) {
  .pickup-archive {
    padding: 56px 0 60px;
  }
}
@media screen and (max-width: 768px) {
  .pickup-archive__inner {
    padding: 0 27px;
  }
}
.pickup-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .pickup-archive__grid {
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .pickup-archive__grid {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 97px;
  }
}
.pickup-archive__card {
  background: #FFFFFF;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  width: 100%;
  height: 435px;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .pickup-archive__card:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
  }
  .pickup-archive__card:hover .detail-button::before {
    color: #fff;
  }
  .pickup-archive__card:hover .detail-button::after {
    background-color: #D30B33;
  }
}
.pickup-archive__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.pickup-archive__card-image {
  width: 100%;
  height: 210px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .pickup-archive__card-image {
    height: auto;
    aspect-ratio: 320/217;
  }
}
.pickup-archive__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pickup-archive__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 20px;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .pickup-archive__card-content {
    padding: 16px 20px;
    gap: 51px;
  }
}
.pickup-archive__card-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .pickup-archive__card-text {
    gap: 12px;
  }
}
.pickup-archive__card-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #333333;
  margin: 0;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pickup-archive__card-excerpt {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
  overflow: hidden;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .pickup-archive__card-excerpt {
    line-height: 1.25;
    -webkit-line-clamp: 3;
  }
}

/* ========================================
   Case Archive Header Section
======================================== */
.case-archive-header {
  padding: 73px 0 88px;
  background-color: #ffffff;
  position: relative;
  /* 諸費用一覧表 */
}
@media screen and (max-width: 768px) {
  .case-archive-header {
    padding: 56px 0 73px;
  }
}
.case-archive-header__inner {
  max-width: 740px;
  margin: 0 auto;
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 21px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__inner {
    padding: 0 24px;
  }
}
.case-archive-header__header {
  position: relative;
}
.case-archive-header__title-wrapper {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__title-wrapper {
    margin-bottom: 23px;
  }
}
.case-archive-header__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .case-archive-header__title .sp {
    display: inline;
  }
}
.case-archive-header__title-sub {
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 1.6;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .case-archive-header__title-sub {
    font-size: 3.8rem;
  }
}
.case-archive-header__title-main {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .case-archive-header__title-main {
    font-size: 2.4rem;
  }
}
.case-archive-header__sample-card {
  border-bottom: 1px solid #B5B5B5;
  padding: 16px 0;
  max-width: 630px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__sample-card {
    padding: 16.5px 0;
  }
}
.case-archive-header__sample-card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__sample-card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 17px;
  }
}
.case-archive-header__sample-card-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 312px;
          flex: 0 0 312px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__sample-card-inner {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: 100%;
    padding: 0 8px;
  }
}
.case-archive-header__property-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.case-archive-header__property-type {
  padding: 8px 0;
}
@media screen and (max-width: 768px) {
  .case-archive-header__property-type {
    padding: 5.91px 0;
  }
}
.case-archive-header__property-type-text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.45;
  color: #D30B33;
}
.case-archive-header__property-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__property-price {
    gap: 6px;
  }
}
.case-archive-header__price-label {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.45;
  color: #333333;
}
.case-archive-header__price-value {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
}
.case-archive-header__price-value--en {
  font-size: 1.4rem;
}
.case-archive-header__commission-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
}
.case-archive-header__commission-normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
.case-archive-header__commission-label {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .case-archive-header__commission-label {
    font-size: clamp(1.4rem, (109vw - 375px) / 2, 1.6rem);
  }
}
.case-archive-header__commission-value {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #333333;
}
.case-archive-header__commission-value--en {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .case-archive-header__commission-value {
    font-size: clamp(1.7rem, (111vw - 375px) / 2, 2rem);
  }
}
.case-archive-header__commission-arrow::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  display: inline-block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  font-size: 1.2rem;
  font-weight: 700;
}
.case-archive-header__free-text {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .case-archive-header__free-text {
    font-size: clamp(1.7rem, (111vw - 375px) / 2, 2rem);
  }
}
.case-archive-header__discount {
  background-color: #FFEEEE;
  border-radius: 10px;
  padding: 7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__discount {
    padding: 10px 10px 4.43px;
    max-width: 327px;
  }
}
.case-archive-header__discount-amount {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.45;
  color: #D30B33;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .case-archive-header__discount-amount {
    line-height: 1.1;
  }
}
.case-archive-header__discount-amount--en {
  font-size: 1.6rem;
  color: #D30B33;
}
.case-archive-header__discount-label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
  text-align: center;
}
.case-archive-header__illustration {
  position: absolute;
  top: 31px;
  right: 37px;
  width: 123.94px;
  height: 91px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .case-archive-header__illustration {
    top: 54px;
    right: 0;
    width: 91px;
    height: auto;
  }
}
.case-archive-header__illustration img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.case-archive-header__description-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 34px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__description-text {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
}
.case-archive-header__cost-table {
  width: 100%;
  overflow-x: auto;
}
@media screen and (max-width: 768px) {
  .case-archive-header__cost-table .sp {
    display: inline;
  }
}
.case-archive-header__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #D9D9D9;
}
.case-archive-header__table-header {
  background-color: #EAEAEA;
}
.case-archive-header__table-header-cell {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333333;
  padding: 15px 20px;
  border: 1px solid #D9D9D9;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .case-archive-header__table-header-cell {
    font-size: 1.4rem;
    padding: 17px 11px;
  }
}
.case-archive-header__table-header-cell--item {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__table-header-cell--item {
    width: 80px;
  }
}
.case-archive-header__table-header-cell--description {
  color: #4A4A4A;
  width: 400px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__table-header-cell--description {
    width: 168px;
  }
}
.case-archive-header__table-row {
  background-color: #ffffff;
}
.case-archive-header__table-cell {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #4A4A4A;
  padding: 15px 20px;
  border: 1px solid #D9D9D9;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .case-archive-header__table-cell {
    font-size: 1.4rem;
    padding: 7px 11px;
  }
}
.case-archive-header__table-cell--item {
  width: 150px;
}
@media screen and (max-width: 768px) {
  .case-archive-header__table-cell--item {
    width: 80px;
  }
}
.case-archive-header__table-cell--category {
  width: 150px;
  font-weight: 500;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .case-archive-header__table-cell--category {
    width: 80px;
  }
}

/* ========================================
   Case Archive Page
======================================== */
.case-archive {
  padding: 88px 0;
  background-color: #FBF7E7;
  /* 仲介手数料情報 */
}
@media screen and (max-width: 768px) {
  .case-archive {
    padding: 57px 0;
  }
}
.case-archive__inner {
  max-width: 740px;
}
.case-archive__title-section {
  margin-bottom: 32px;
}
.case-archive__title-wrapper {
  position: relative;
}
@media screen and (max-width: 768px) {
  .case-archive__title-en {
    display: block;
    margin-bottom: 2px;
  }
}
.case-archive__title-ja {
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .case-archive__title-ja {
    font-size: 2.8rem;
  }
  .case-archive__title-ja .sp {
    display: inline;
  }
}
.case-archive__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 26px;
  margin-bottom: 56px;
}
.case-archive__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.case-archive__card-link {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .case-archive__card-link:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
  }
  .case-archive__card-link:hover .detail-button::before {
    color: #fff;
  }
  .case-archive__card-link:hover .detail-button::after {
    background-color: #D30B33;
  }
}
.case-archive__card {
  background-color: #ffffff;
  border-radius: 20px;
  padding: 32px;
  max-width: 700px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 19px;
}
@media screen and (max-width: 768px) {
  .case-archive__card {
    padding: 19px 24px;
    gap: 23px;
  }
}
.case-archive__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  width: 100%;
}
.case-archive__card-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .case-archive__card-title {
    font-size: 1.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.case-archive__taxonomies {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .case-archive__taxonomies {
    gap: 8px;
  }
}
.case-archive__taxonomy {
  border: 1px solid #B5B5B5;
  border-radius: 5px;
  padding: 2px 10px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #4E4E4E;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .case-archive__taxonomy {
    font-size: 1.4rem;
    padding: 0 10px;
  }
}
.case-archive__case-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .case-archive__case-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
}
.case-archive__case-info-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .case-archive__case-info-inner {
    gap: 4px;
  }
}
.case-archive__property-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.case-archive__property-type {
  padding: 8px 0;
}
@media screen and (max-width: 768px) {
  .case-archive__property-type {
    padding: 5.91px 0;
  }
}
.case-archive__property-type-text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .case-archive__property-type-text {
    font-size: clamp(1.4rem, (109vw - 375px) / 2, 1.6rem);
  }
}
.case-archive__property-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
}
.case-archive__price-label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.45;
  color: #333333;
}
.case-archive__price-value {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .case-archive__price-value {
    font-size: clamp(1.4rem, (109vw - 375px) / 2, 1.6rem);
  }
}
.case-archive__price-value--en {
  font-size: 1.4rem;
}
.case-archive__commission-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  .case-archive__commission-info {
    gap: 9px;
  }
}
.case-archive__commission-normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.case-archive__commission-label {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .case-archive__commission-label {
    font-size: clamp(1.2rem, (109vw - 375px) / 2, 1.4rem);
  }
}
.case-archive__commission-value {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #333333;
}
.case-archive__commission-value--en {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .case-archive__commission-value {
    font-size: clamp(1.2rem, (109vw - 375px) / 2, 1.8rem);
  }
}
.case-archive__commission-arrow::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  display: inline-block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  font-size: 1.2rem;
  font-weight: 700;
}
.case-archive__free-text {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .case-archive__free-text {
    font-size: clamp(1.4rem, (111vw - 375px) / 2, 2rem);
  }
}
.case-archive__discount {
  background-color: #FFEEEE;
  border-radius: 10px;
  padding: 9px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 320px;
}
@media screen and (max-width: 1024px) {
  .case-archive__discount {
    max-width: none;
    padding: 13px;
  }
}
.case-archive__discount-amount {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.45;
  color: #D30B33;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .case-archive__discount-amount {
    line-height: 1;
  }
}
.case-archive__discount-amount--en {
  font-size: 1.6rem;
  color: #D30B33;
}
.case-archive__discount-label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.45;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .case-archive__discount-label {
    font-size: 1.4rem;
  }
}

.case-single {
  padding: 56px 0;
  background-color: #FFFCEE;
}
@media screen and (max-width: 768px) {
  .case-single {
    padding: 54px 24px;
  }
}
.case-single-content {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto 57px;
  padding: 57px 170px;
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .case-single-content {
    padding: 0 24px;
  }
}
@media screen and (max-width: 768px) {
  .case-single-content {
    padding: 41px 24px 34px;
  }
}
.case-single__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .case-single__date-wrapper {
    margin-bottom: 9px;
  }
}
.case-single__clock-icon {
  width: 24px;
  height: 24px;
  color: #b5b5b5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.case-single__clock-icon .fa-regular {
  font-size: 2rem;
  color: #B5B5B5;
}
.case-single__date {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #b5b5b5;
}
@media screen and (max-width: 768px) {
  .case-single__date {
    font-size: 1.4rem;
  }
}
.case-single__header {
  margin-bottom: 31px;
}
.case-single__title {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.46;
  letter-spacing: 0.08em;
  color: #333333;
  padding-bottom: 23px;
  border-bottom: 1px solid #D30B33;
}
@media screen and (max-width: 768px) {
  .case-single__title {
    font-size: 2.2rem;
    line-height: 1.2;
  }
}
.case-single-main-content .default-paragraph {
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 34px;
}
@media screen and (max-width: 768px) {
  .case-single-main-content .default-paragraph {
    margin-bottom: 30px;
  }
}
.case-single .cost-detail-wrapper {
  margin-bottom: 32px;
}
.case-single .cost-detail__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #D9D9D9;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table .sp {
    display: inline;
  }
}
.case-single .cost-detail__table-header {
  background-color: #EAEAEA;
}
.case-single .cost-detail__table-header-cell {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333333;
  padding: 15px 20px;
  border: 1px solid #D9D9D9;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-header-cell {
    font-size: 1.4rem;
    padding: 17px 9px;
  }
}
.case-single .cost-detail__table-header-cell--item {
  width: 300px;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-header-cell--item {
    width: 140px;
  }
}
.case-single .cost-detail__table-header-cell--description {
  color: #4A4A4A;
  width: 400px;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-header-cell--description {
    width: 140px;
  }
}
.case-single .cost-detail__table-row {
  background-color: #ffffff;
}
.case-single .cost-detail__table-cell {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #4A4A4A;
  padding: 15px 20px;
  border: 1px solid #D9D9D9;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell {
    font-size: 1.4rem;
    padding: 7px 10px;
  }
}
.case-single .cost-detail__table-cell--item {
  width: 150px;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--item {
    width: 70px;
  }
}
.case-single .cost-detail__table-cell--category {
  width: 71px;
  font-weight: 500;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--category {
    width: 70px;
  }
}
.case-single .cost-detail__table-cell--discount .case-archive-header__commission-info {
  margin-bottom: 9px;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__commission-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 0;
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__commission-normal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3px;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__commission-label {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__commission-value {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__commission-arrow {
    height: 11px;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__commission-arrow::after {
    top: -10px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.case-single .cost-detail__table-cell--discount .case-archive-header__discount {
  max-width: 361px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__discount {
    border-radius: 4px;
    padding: 9px 0;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__discount-amount {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .case-single .cost-detail__table-cell--discount .case-archive-header__discount-amount--en {
    font-size: 1.2rem;
  }
}
.case-single .staff-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 1024px) {
  .case-single .staff-info {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 150px;
            flex: 0 0 150px;
  }
}
@media screen and (max-width: 768px) {
  .case-single .staff-info {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    gap: 17px;
  }
}
.case-single .staff-image {
  max-width: 150px;
  width: 100%;
  height: 200px;
}
@media screen and (max-width: 768px) {
  .case-single .staff-image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.case-single .staff-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.case-single .staff-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.case-single .staff-label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .case-single .staff-label {
    font-size: 1.4rem;
    white-space: nowrap;
  }
}
.case-single .staff-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.case-single .staff-name::before {
  content: "";
  width: 5px;
  height: 29px;
  background-color: #D30B33;
}
@media (any-hover: hover) {
  .case-single .staff-name:hover {
    opacity: 0.7;
  }
}
.case-single .staff-name-text {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.45;
  color: #333333;
}

.faq-archive {
  padding: 72px 0 39px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .faq-archive {
    padding: 56px 0 34px;
  }
}
.faq-archive__inner {
  max-width: 990px;
}
.faq-archive-category__groups {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 64px;
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .faq-archive-category__groups {
    margin-bottom: 65px;
  }
}
.faq-archive .faq-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 23px;
}
.faq-archive .faq-group__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 11px 24px;
  border-radius: 8px;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}
.faq-archive .faq-group__title--red {
  background: #D30B33;
}
.faq-archive .faq-group__title--blue {
  background: #0089CD;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-group__title {
    font-size: 1.8rem;
    padding: 10px 24px;
  }
}
.faq-archive .faq-group__icon {
  margin-right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
}
.faq-archive .faq-group__icon img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.faq-archive .faq-group .faq-group__title--blue:has(.faq-group__icon) .faq-group__icon {
  width: 23px;
}
.faq-archive .faq-tabs__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-tabs__nav {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
}
.faq-archive .faq-tabs__nav-button {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 20px 15px 24px;
  border: 1px solid #b5b5b5;
  border-radius: 32px;
  background: #fff;
  color: #333;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
  position: relative;
  width: 100%;
  max-width: 219px;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-tabs__nav-button {
    max-width: none;
    padding: 18.92px 60px 18.92px 39px;
  }
}
.faq-archive .faq-tabs__nav-button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #fff;
  font-size: 0.8rem;
  position: absolute;
  right: 17px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: #D30B33;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-tabs__nav-button::after {
    width: 20px;
    height: 20px;
    right: 33px;
  }
}
@media (any-hover: hover) {
  .faq-archive .faq-tabs__nav-button:hover {
    background-color: #D30B33;
    color: #fff;
  }
  .faq-archive .faq-tabs__nav-button:hover::after {
    color: #D30B33;
    background-color: #FFFEF1;
  }
}
.faq-archive .faq-tabs__nav-button--active {
  background: #333;
  color: white;
  border-color: #333;
}
.faq-archive .faq-posts-display {
  width: 93%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 138px;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display {
    width: 100%;
    gap: 34px;
  }
}
.faq-archive .faq-posts-display .faq-group__title {
  font-size: 3.2rem;
  margin-bottom: 39px;
  padding: 17px 24px;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display .faq-group__title {
    font-size: 2.4rem;
    margin-bottom: 31px;
    padding: 11px 24px;
  }
}
.faq-archive .faq-posts-display .faq-child-category__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #333;
  margin-bottom: 40px;
  padding-bottom: 8px;
  border-bottom: 2px solid #D30B33;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display .faq-child-category__title {
    font-size: 2.2rem;
    margin-bottom: 32px;
  }
}
.faq-archive .faq-posts-display .faq-child-category .faq-child-posts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
  margin-bottom: 38px;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display .faq-child-category .faq-child-posts {
    gap: 19px;
    margin-bottom: 30px;
  }
}
.faq-archive .faq-posts-display .faq-child-category .faq-post-item {
  background: #fff;
  border: 1px solid #B5B5B5;
  border-radius: 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow: hidden;
  position: relative;
}
.faq-archive .faq-posts-display .faq-child-category .faq-post-item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 23.92px 95px 23.92px 25px;
  color: #333;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display .faq-child-category .faq-post-item__link {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 23.72px 50px 23.72px 24px;
  }
}
.faq-archive .faq-posts-display .faq-child-category .faq-post-item__link::before {
  content: "Q.";
  display: inline-block;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.8;
  color: #D30B33;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display .faq-child-category .faq-post-item__link::before {
    font-size: 2rem;
    margin-right: 8px;
  }
}
.faq-archive .faq-posts-display .faq-child-category .faq-post-item__link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 2.2rem;
  color: #D30B33;
  position: absolute;
  top: 50%;
  right: 25px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.8s ease;
  transition: all 0.8s ease;
}
@media (any-hover: hover) {
  .faq-archive .faq-posts-display .faq-child-category .faq-post-item__link:hover::after {
    -webkit-transform: translateY(-50%) rotate3d(1, 0, 0, 360deg);
            transform: translateY(-50%) rotate3d(1, 0, 0, 360deg);
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
  }
}
.faq-archive .faq-posts-display .faq-child-category .faq-post-item__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 768px) {
  .faq-archive .faq-posts-display .faq-child-category .faq-post-item__title {
    font-size: 1.4rem;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .faq-child-category-title {
    font-size: 20px;
    padding: 12px 0;
  }
  .faq-post-item__link {
    padding: 20px;
  }
}
@media (max-width: 480px) {
  .faq-tabs__button {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
  }
  .faq-post-item__link {
    padding: 16px;
  }
}
.faq-single {
  padding: 69px 0;
}
.faq-single-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .faq-single-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.faq-single-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .faq-single-main {
    padding-right: 0;
  }
}
.faq-single__header {
  margin-bottom: 42px;
}
.faq-single__title {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
  color: #333333;
  padding-bottom: 11px;
  border-bottom: 1px solid #D30B33;
}
.faq-single__question-title {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.8;
  color: #333333;
  margin-bottom: 18px;
  padding-left: 45px;
  position: relative;
}
.faq-single__question-title::before {
  content: "Q.";
  position: absolute;
  top: 0;
  left: 0px;
  display: inline-block;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  color: #D30B33;
}
.faq-single .qa-answer {
  margin-bottom: 13px;
}
.faq-single .qa-answer-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
  padding-left: 44px;
  position: relative;
}
.faq-single .qa-answer-text::before {
  content: "A.";
  position: absolute;
  top: -8px;
  left: 0;
  display: inline-block;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  color: #0089CD;
}
.faq-single .qa-answer-text a {
  text-decoration: underline;
}
.faq-single__button-wrapper {
  padding: 45px 24px 61px;
}
.faq-single__button-wrapper .more-button::after {
  display: none;
}
.faq-single__button-wrapper .more-button::before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.faq-single__related {
  padding-right: 40px;
}
.faq-single__related-title-wrapper {
  background-color: #D30B33;
  border-radius: 8px;
  margin-bottom: 19px;
  padding: 17px 24px;
}
.faq-single__related-title {
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1;
  color: #fff;
}
.faq-single__related-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.faq-single__related-item-link {
  border: 1px solid #B5B5B5;
  padding: 22.6px 24px;
  border-radius: 10px;
  display: block;
  width: 100%;
  position: relative;
}
@media (any-hover: hover) {
  .faq-single__related-item-link:hover::after {
    -webkit-transform: translateY(-50%) rotate3d(1, 0, 0, 360deg);
            transform: translateY(-50%) rotate3d(1, 0, 0, 360deg);
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
  }
}
.faq-single__related-item-link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 2rem;
  color: #D30B33;
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.8s ease;
  transition: all 0.8s ease;
}
.faq-single__related-item-title {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333333;
  padding-left: 29px;
  position: relative;
}
.faq-single__related-item-title::before {
  content: "Q.";
  position: absolute;
  top: 0;
  left: 0px;
  display: inline-block;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.3;
  color: #D30B33;
}

/* お問い合わせ */
.contact-page {
  background-color: #fff;
  padding: 72px 0 141px;
}
@media screen and (max-width: 768px) {
  .contact-page {
    padding: 55px 0 60px;
  }
}
.contact-page__inner {
  max-width: 857px;
}
.contact-page__discription {
  margin-bottom: 41px;
}
@media screen and (max-width: 768px) {
  .contact-page__discription {
    margin-bottom: 39px;
  }
}
.contact-page__discription-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .contact-page__discription-text {
    font-size: 1.4rem;
  }
}
.contact-page__contact-form-wrapper {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .contact-page__contact-form-wrapper {
    padding: 0 13px;
  }
}
.contact-page .wpcf7 form br {
  display: none;
}
.contact-page form.wpcf7-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 21.5px;
}
@media screen and (max-width: 768px) {
  .contact-page form.wpcf7-form {
    gap: 31.5px;
  }
}

/* コンタクトフォーム */
.contact-form {
  /* フィールド */
  /* ラベル */
  /* バッジ */
  /* 入力フィールド */
  /* テキストエリア */
  /* 注意事項 */
  /* プライバシーポリシーリンク */
  /* 送信ボタン */
}
.contact-form__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  /* プライバシーポリシー用のフィールド */
}
@media screen and (max-width: 768px) {
  .contact-form__field {
    gap: 9px;
  }
}
.contact-form__field--privacy {
  padding: 13px 13px 11px;
}
.contact-form__field--privacy .wpcf7-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  margin: 0;
  position: relative;
}
.contact-form__field--privacy .wpcf7-list-item input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 -1px;
  border: 2px solid #C3C3C3;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  vertical-align: -4px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.contact-form__field--privacy .wpcf7-list-item input[type=checkbox].error {
  border-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .contact-form__field--privacy .wpcf7-list-item input[type=checkbox] {
    top: -4px;
  }
}
.contact-form__field--privacy .wpcf7-list-item input[type=checkbox]:checked {
  background-color: #D30B33;
}
.contact-form__field--privacy .wpcf7-list-item input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 1.33398L5.91667 9.66732L1.75 5.50065' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}
.contact-form__field--privacy .wpcf7-list-item-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #333333;
  cursor: pointer;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .contact-form__field--privacy .wpcf7-list-item-label {
    font-size: 1.4rem;
  }
}
.contact-form__label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .contact-form__label {
    font-size: 1.4rem;
  }
}
.contact-form__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  padding: 2px 6px 3px;
  border-radius: 20px;
  min-width: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  /* 必須バッジ */
  /* 任意バッジ */
}
@media screen and (max-width: 768px) {
  .contact-form__badge {
    padding: 2px 6px;
  }
}
.contact-form__badge--required {
  background-color: #D30B33;
  color: #FFFFFF;
}
.contact-form__badge--optional {
  background-color: #FFFFFF;
  color: #D30B33;
  border: 1px solid #D30B33;
}
.contact-form__input, .contact-form__textarea {
  width: 100%;
  background-color: #FBFBFB;
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  padding: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #333333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
  margin: 0;
  /* バリデーションエラー */
}
@media screen and (max-width: 768px) {
  .contact-form__input, .contact-form__textarea {
    padding: 13px 15px;
    font-size: 1.4rem;
  }
}
.contact-form__input::-webkit-input-placeholder, .contact-form__textarea::-webkit-input-placeholder {
  color: #757575;
  opacity: 1;
}
.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder {
  color: #757575;
  opacity: 1;
}
.contact-form__input:-ms-input-placeholder, .contact-form__textarea:-ms-input-placeholder {
  color: #757575;
  opacity: 1;
}
.contact-form__input::-ms-input-placeholder, .contact-form__textarea::-ms-input-placeholder {
  color: #757575;
  opacity: 1;
}
.contact-form__input::placeholder, .contact-form__textarea::placeholder {
  color: #757575;
  opacity: 1;
}
.contact-form__input:focus, .contact-form__textarea:focus {
  outline: none;
  border-color: #D30B33;
  -webkit-box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.2);
          box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.2);
}
.contact-form__input:focus-visible, .contact-form__textarea:focus-visible {
  outline: 2px solid #D30B33;
  outline-offset: 2px;
}
.contact-form__input.wpcf7-not-valid, .wpcf7-not-valid.contact-form__textarea {
  border-color: #D30B33 !important;
  background-color: #fff5f5 !important;
}
.contact-form__textarea {
  min-height: 120px;
  aspect-ratio: 640/180;
  resize: vertical;
}
.contact-form__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .contact-form__note {
    line-height: 1.5;
    margin-bottom: -1px;
  }
}
.contact-form__privacy-link {
  -webkit-text-decoration: underline #C3C3C3;
          text-decoration: underline #C3C3C3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .contact-form__privacy-link:hover {
    color: #D30B33;
  }
}
.contact-form__submit {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.contact-form__submit::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  height: 16px;
  width: 16px;
  color: #D30B33;
  position: absolute;
  top: 36%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .contact-form__submit:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}
.contact-form__button {
  width: 100%;
  max-width: 500px;
  background-color: #D30B33;
  color: #FFFFFF;
  text-align: center;
  border-radius: 8px;
  padding: 12px 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .contact-form__button {
    font-size: 1.8rem;
    padding: 14px 24px;
  }
}
@media (any-hover: hover) {
  .contact-form__button:hover {
    background-color: #fff;
    color: #D30B33;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    -webkit-box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
  }
}
.contact-form__button:focus {
  outline: 3px solid rgba(211, 11, 51, 0.5);
  outline-offset: 2px;
}

/* Contact Form 7 スタイル */
.wpcf7 {
  /* バリデーションエラーメッセージ */
  /* レスポンス出力 */
  /* スピナー */
}
.wpcf7 .wpcf7-not-valid-tip {
  color: #D30B33;
  font-size: 14px;
  font-weight: 500;
  margin-top: 4px;
}
.wpcf7 .wpcf7-response-output {
  margin: 2em 0 1em;
  padding: 1em;
  border-radius: 8px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}
.wpcf7 .wpcf7-mail-sent-ok {
  color: #2e7d2e;
  border: 2px solid #4caf50;
  background-color: #e8f5e8;
}
.wpcf7 .wpcf7-validation-errors {
  color: #d30b33;
  border: 2px solid #d30b33;
  background-color: #fff2f2;
}
.wpcf7 .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d;
  opacity: 0.75;
  width: 20px;
  height: 20px;
  margin: 0 4px;
  border-radius: 10px;
  position: relative;
  -webkit-animation: wpcf7-spinning 1s linear infinite;
          animation: wpcf7-spinning 1s linear infinite;
}
.wpcf7.wpcf7-submitting .wpcf7-spinner {
  visibility: visible;
}

/* スピナーアニメーション */
@-webkit-keyframes wpcf7-spinning {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes wpcf7-spinning {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* アクセシビリティ強化 */
@media (prefers-contrast: high) {
  .contact-form__input, .contact-form__textarea {
    border-width: 2px;
  }
  .contact-form__badge--required, .contact-form__badge--optional {
    border-width: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-form__input, .contact-form__textarea, .contact-form__button {
    -webkit-transition: none;
    transition: none;
  }
  .wpcf7-spinner {
    -webkit-animation: none;
            animation: none;
  }
}
/* 印刷対応 */
@media print {
  .contact-form__button {
    display: none;
  }
  .wpcf7-spinner {
    display: none;
  }
}
.contact-confirm-page {
  background-color: #fff;
  padding: 72px 0 141px;
}
@media screen and (max-width: 768px) {
  .contact-confirm-page {
    padding: 55px 0 40px;
  }
}
.contact-confirm-page__inner {
  max-width: 857px;
}
.contact-confirm-page__discription {
  margin-bottom: 39px;
}
.contact-confirm-page__discription-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact-confirm-page__discription-text {
    font-size: 1.4rem;
    text-align: left;
  }
}

/* 確認画面メインコンテナ */
.contact-form__confirmation-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 23px;
  max-width: 640px;
  margin: 0 auto 64px;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-content {
    max-width: 100%;
    margin: 0 auto 75px;
    padding: 0 14px;
    gap: 32px;
  }
}
.contact-form__confirmation-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-item {
    gap: 11px;
  }
}
.contact-form__confirmation-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-label {
    font-size: 1.4rem;
  }
}
@media (prefers-color-scheme: dark) {
  .contact-form__confirmation-label {
    color: #ffffff;
  }
}
.contact-form__confirmation-label.dt {
  font-weight: 500;
}
.contact-form__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
  padding: 2px 6px 3px;
  border-radius: 20px;
  min-width: 30px;
  margin-left: 8px;
}
@media (prefers-contrast: high) {
  .contact-form__badge {
    border-width: 2px;
    font-weight: 700;
  }
}
@media print {
  .contact-form__badge {
    border: 1px solid #333333;
  }
}
.contact-form__badge--required {
  background-color: #D30B33;
  color: #FFFFFF;
}
.contact-form__badge--optional {
  background-color: #FFFFFF;
  color: #D30B33;
  border: 1px solid #D30B33;
}
.contact-form__confirmation-value {
  padding: 16px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  color: #333333;
  min-height: 20px;
  word-wrap: break-word;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-value {
    font-size: 1.4rem;
    padding: 16px 0;
  }
}
@media (prefers-contrast: high) {
  .contact-form__confirmation-value {
    border: 1px solid #333333;
    background-color: #f9f9f9;
  }
}
@media print {
  .contact-form__confirmation-value {
    border: 1px solid #333333;
    background-color: #f9f9f9;
  }
}
@media (prefers-color-scheme: dark) {
  .contact-form__confirmation-value {
    background-color: #3a3a3a;
    color: #ffffff;
  }
}
.contact-form__confirmation-value.dd {
  margin-left: 0;
}
.contact-form__confirmation-value:empty::before {
  content: "（未入力）";
  color: #999999;
  font-style: italic;
}
@media (prefers-color-scheme: dark) {
  .contact-form__confirmation-value:empty::before {
    color: #aaaaaa;
  }
}
.contact-form__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  color: #333333;
  margin: 4px 0 0 0;
  padding: 0;
}
@media (max-width: 768px) {
  .contact-form__note {
    font-size: 11px;
  }
}
@media (prefers-color-scheme: dark) {
  .contact-form__note {
    color: #cccccc;
  }
}
.contact-form__confirmation-buttons {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  position: relative;
}
.contact-form__confirmation-buttons::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  height: 16px;
  width: 16px;
  color: #D30B33;
  position: absolute;
  top: 36%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .contact-form__confirmation-buttons:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}
.contact-form__button {
  width: 500px;
  max-width: 100%;
  background-color: #D30B33;
  color: #FFFFFF;
  border-radius: 8px;
  padding: 12px 32px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
}
@media (max-width: 768px) {
  .contact-form__button {
    font-size: 18px;
    padding: 14px 24px;
    width: 100%;
    max-width: 500px;
  }
}
@media (max-width: 480px) {
  .contact-form__button {
    font-size: 16px;
    padding: 12px 20px;
  }
}
@media (prefers-contrast: high) {
  .contact-form__button {
    border: 2px solid #000000;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-form__button {
    -webkit-transition: none;
    transition: none;
  }
}
@media print {
  .contact-form__button {
    display: none;
  }
}
@media (any-hover: hover) {
  .contact-form__button:hover:not(:disabled) {
    background-color: #fff;
    color: #D30B33;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    -webkit-box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
  }
}
.contact-form__button:focus {
  outline: 3px solid rgba(211, 11, 51, 0.5);
  outline-offset: 2px;
}
.contact-form__button:focus-visible {
  outline: 2px solid #D30B33;
  outline-offset: 2px;
}
.contact-form__button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.contact-form__button:disabled {
  background-color: #C3C3C3;
  cursor: not-allowed;
  -webkit-transform: none;
          transform: none;
}
/* Contact Form 7のmultiformプラグイン対応 */
.wpcf7-form-control.multiform-output {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

/* お問い合わせ */
.contact-complete-page {
  background-color: #fff;
  padding: 72px 0 141px;
}
@media screen and (max-width: 768px) {
  .contact-complete-page {
    padding: 55px 0 60px;
  }
}
.contact-complete-page__inner {
  max-width: 857px;
}
.contact-complete-page__discription {
  margin-bottom: 41px;
}
@media screen and (max-width: 768px) {
  .contact-complete-page__discription {
    margin-bottom: 39px;
  }
}
.contact-complete-page__discription-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .contact-complete-page__discription-text {
    font-size: 1.4rem;
  }
}

/* お問い合わせ */
.fudo-contact-page {
  background-color: #fff;
  padding: 72px 0 141px;
  /* コンタクトフォーム */
}
@media screen and (max-width: 768px) {
  .fudo-contact-page {
    padding: 55px 0 60px;
  }
}
.fudo-contact-page__inner {
  max-width: 1080px;
}
.fudo-contact-page__discription {
  background-color: #FFFCEE;
  border-radius: 24px;
  margin-bottom: 40px;
  padding: 47px 32px 40px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page__discription {
    margin-bottom: 35px;
    padding: 29px 32px 30px;
  }
}
.fudo-contact-page__discription-heading {
  font-weight: 700;
  font-size: 3.2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 25px;
  padding-bottom: 10px;
  border-bottom: 2px dashed #D30B33;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page__discription-heading {
    font-size: 2.2rem;
    margin: 0 auto 18px;
  }
  .fudo-contact-page__discription-heading .sp {
    display: inline;
  }
}
.fudo-contact-page__discription-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  padding: 0 49px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page__discription-text {
    font-size: 1.4rem;
    padding: 0;
  }
  .fudo-contact-page__discription-text .sp {
    display: inline;
  }
}
.fudo-contact-page .wpcf7 form br {
  display: none;
}
.fudo-contact-page .show-br:not(.sp) {
  display: inline !important;
}
.fudo-contact-page form.wpcf7-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 21.5px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page form.wpcf7-form {
    gap: 31.5px;
  }
}
.fudo-contact-page__fudo-contact-form-wrapper {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 680px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page__fudo-contact-form-wrapper {
    padding: 0;
  }
}
.fudo-contact-page .fudo-contact-form .form-section {
  margin-bottom: 67px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  /*価格フィールド*/
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section {
    gap: 25px;
    margin-bottom: 47px;
  }
}
.fudo-contact-page .fudo-contact-form .form-section-title__wrapper {
  border-radius: 10px;
  background-color: #FFF5F6;
  margin-bottom: 8px;
  padding: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section-title__wrapper {
    padding: 16px 26px 16px 16px;
  }
}
.fudo-contact-page .fudo-contact-form .form-section-title__wrapper::after {
  content: "";
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
}
.fudo-contact-page .fudo-contact-form .form-section:nth-child(1) .form-section-title__wrapper::after {
  top: -17px;
  right: 17px;
  background-image: url(../images/form-section-title__wrapper-img01.webp);
  width: 124px;
  height: 84px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section:nth-child(1) .form-section-title__wrapper::after {
    top: -17px;
    right: 15px;
    max-width: 73px;
    width: 100%;
    height: initial;
    aspect-ratio: 73/51;
  }
}
.fudo-contact-page .fudo-contact-form .form-section:nth-child(2) .form-section-title__wrapper::after {
  top: -20px;
  right: 38px;
  background-image: url(../images/form-section-title__wrapper-img02.webp);
  width: 106px;
  height: 96px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section:nth-child(2) .form-section-title__wrapper::after {
    top: -29px;
    right: 18px;
    max-width: 63px;
    width: 100%;
    height: initial;
    aspect-ratio: 64/59;
  }
}
.fudo-contact-page .fudo-contact-form .form-section:nth-child(n+3) .form-section-title__wrapper::after {
  top: -24px;
  right: 41px;
  background-image: url(../images/form-section-title__wrapper-img03.webp);
  width: 79px;
  height: 104px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section:nth-child(n+3) .form-section-title__wrapper::after {
    top: -22px;
    right: clamp(0px, (109vw - 375px) / 2, 17px);
    max-width: 48px;
    width: 100%;
    height: initial;
    aspect-ratio: 48/63;
  }
}
.fudo-contact-page .fudo-contact-form .form-section-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section-title {
    font-size: 1.6rem;
    line-height: 1.2;
    gap: 18px;
  }
  .fudo-contact-page .fudo-contact-form .form-section-title .sp {
    display: inline !important;
  }
}
.fudo-contact-page .fudo-contact-form .form-section-title--num {
  background-color: #D30B33;
  width: 54px;
  height: 54px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .fudo-contact-form .form-section-title--num {
    width: 42px;
    height: 42px;
    font-size: 1.4rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 42px;
            flex: 0 0 42px;
  }
}
.fudo-contact-page .fudo-contact-form .form-section .price-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-width: 227px;
  gap: 10px;
  white-space: nowrap;
  font-size: 1.6rem;
}
.fudo-contact-page .contact-form {
  /* フィールド */
  /* ラベル */
  /* バッジ */
  /* 入力フィールド */
  /* セレクトタグ*/
  /* テキストエリア */
  /* 注意事項 */
  /* プライバシーポリシーリンク */
  /* 送信ボタン */
}
.fudo-contact-page .contact-form__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  /* プライバシーポリシー用のフィールド */
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__field {
    gap: 0px;
  }
}
.fudo-contact-page .contact-form__field--privacy {
  padding: 13px 13px 11px;
}
.fudo-contact-page .contact-form__field--privacy .wpcf7-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  margin: 0;
  position: relative;
}
.fudo-contact-page .contact-form__field--privacy .wpcf7-list-item input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 -1px;
  border: 2px solid #C3C3C3;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  vertical-align: -4px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.fudo-contact-page .contact-form__field--privacy .wpcf7-list-item input[type=checkbox].error {
  border-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__field--privacy .wpcf7-list-item input[type=checkbox] {
    top: -4px;
  }
}
.fudo-contact-page .contact-form__field--privacy .wpcf7-list-item input[type=checkbox]:checked {
  background-color: #D30B33;
}
.fudo-contact-page .contact-form__field--privacy .wpcf7-list-item input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 1.33398L5.91667 9.66732L1.75 5.50065' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}
.fudo-contact-page .contact-form__field--privacy .wpcf7-list-item-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #333333;
  cursor: pointer;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__field--privacy .wpcf7-list-item-label {
    font-size: 1.4rem;
  }
}
.fudo-contact-page .contact-form__label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__label {
    font-size: 1.4rem;
  }
  .fudo-contact-page .contact-form__label .sp {
    display: inline !important;
  }
}
.fudo-contact-page .contact-form__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  padding: 2px 6px 3px;
  border-radius: 20px;
  min-width: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 2px;
  /* 必須バッジ */
  /* 任意バッジ */
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__badge {
    padding: 2px 6px;
  }
}
.fudo-contact-page .contact-form__badge--required {
  background-color: #D30B33;
  color: #FFFFFF;
}
.fudo-contact-page .contact-form__badge--optional {
  background-color: #FFFFFF;
  color: #D30B33;
  border: 1px solid #D30B33;
}
.fudo-contact-page .contact-form__input, .fudo-contact-page .contact-form__textarea, .fudo-contact-page .contact-form__select {
  width: 100%;
  background-color: #FBFBFB;
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  padding: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #333333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
  margin-bottom: 10px;
  /* バリデーションエラー */
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__input, .fudo-contact-page .contact-form__textarea, .fudo-contact-page .contact-form__select {
    padding: 13px 15px;
    font-size: 1.4rem;
  }
}
.fudo-contact-page .contact-form__input::-webkit-input-placeholder, .fudo-contact-page .contact-form__textarea::-webkit-input-placeholder, .fudo-contact-page .contact-form__select::-webkit-input-placeholder {
  color: #757575;
  opacity: 1;
}
.fudo-contact-page .contact-form__input::-moz-placeholder, .fudo-contact-page .contact-form__textarea::-moz-placeholder, .fudo-contact-page .contact-form__select::-moz-placeholder {
  color: #757575;
  opacity: 1;
}
.fudo-contact-page .contact-form__input:-ms-input-placeholder, .fudo-contact-page .contact-form__textarea:-ms-input-placeholder, .fudo-contact-page .contact-form__select:-ms-input-placeholder {
  color: #757575;
  opacity: 1;
}
.fudo-contact-page .contact-form__input::-ms-input-placeholder, .fudo-contact-page .contact-form__textarea::-ms-input-placeholder, .fudo-contact-page .contact-form__select::-ms-input-placeholder {
  color: #757575;
  opacity: 1;
}
.fudo-contact-page .contact-form__input::placeholder, .fudo-contact-page .contact-form__textarea::placeholder, .fudo-contact-page .contact-form__select::placeholder {
  color: #757575;
  opacity: 1;
}
.fudo-contact-page .contact-form__input:focus, .fudo-contact-page .contact-form__textarea:focus, .fudo-contact-page .contact-form__select:focus {
  outline: none;
  border-color: #D30B33;
  -webkit-box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.2);
          box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.2);
}
.fudo-contact-page .contact-form__input:focus-visible, .fudo-contact-page .contact-form__textarea:focus-visible, .fudo-contact-page .contact-form__select:focus-visible {
  outline: 2px solid #D30B33;
  outline-offset: 2px;
}
.fudo-contact-page .contact-form__input.wpcf7-not-valid, .fudo-contact-page .wpcf7-not-valid.contact-form__textarea, .fudo-contact-page .wpcf7-not-valid.contact-form__select {
  border-color: #D30B33 !important;
  background-color: #fff5f5 !important;
}
.fudo-contact-page .contact-form__input#property-price, .fudo-contact-page #property-price.contact-form__textarea, .fudo-contact-page #property-price.contact-form__select {
  margin-bottom: 0;
}
.fudo-contact-page .contact-form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 40px;
  max-width: 375px;
}
.fudo-contact-page .contact-form__textarea {
  min-height: 120px;
  aspect-ratio: 640/180;
  resize: vertical;
}
.fudo-contact-page .contact-form__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333333;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__note {
    line-height: 1.5;
    margin-bottom: -1px;
  }
}
.fudo-contact-page .contact-form__privacy-link {
  -webkit-text-decoration: underline #C3C3C3;
          text-decoration: underline #C3C3C3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .fudo-contact-page .contact-form__privacy-link:hover {
    color: #D30B33;
  }
}
.fudo-contact-page .contact-form__submit {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.fudo-contact-page .contact-form__submit::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  height: 16px;
  width: 16px;
  color: #D30B33;
  position: absolute;
  top: 36%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .fudo-contact-page .contact-form__submit:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}
.fudo-contact-page .contact-form__button {
  width: 100%;
  max-width: 500px;
  background-color: #D30B33;
  color: #FFFFFF;
  text-align: center;
  border-radius: 8px;
  padding: 12px 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .fudo-contact-page .contact-form__button {
    font-size: 1.8rem;
    padding: 14px 24px;
  }
}
@media (any-hover: hover) {
  .fudo-contact-page .contact-form__button:hover {
    background-color: #fff;
    color: #D30B33;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    -webkit-box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
  }
}
.fudo-contact-page .contact-form__button:focus {
  outline: 3px solid rgba(211, 11, 51, 0.5);
  outline-offset: 2px;
}
.fudo-contact-page .select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 375px;
}
.fudo-contact-page .select-wrapper::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='7' viewBox='0 0 14 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7L0.071797 0.249999L13.9282 0.25L7 7Z' fill='%23D9D9D9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
  z-index: 1;
}
.fudo-contact-page .select-wrapper.open::after, .fudo-contact-page .select-wrapper.select-wrapper--open::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

/* Contact Form 7 スタイル */
.wpcf7 {
  /* バリデーションエラーメッセージ */
  /* レスポンス出力 */
  /* スピナー */
}
.wpcf7 .wpcf7-not-valid-tip {
  color: #D30B33;
  font-size: 14px;
  font-weight: 500;
  margin-top: 4px;
}
.wpcf7 .wpcf7-response-output {
  margin: 2em 0 1em;
  padding: 1em;
  border-radius: 8px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}
.wpcf7 .wpcf7-mail-sent-ok {
  color: #2e7d2e;
  border: 2px solid #4caf50;
  background-color: #e8f5e8;
}
.wpcf7 .wpcf7-validation-errors {
  color: #d30b33;
  border: 2px solid #d30b33;
  background-color: #fff2f2;
}
.wpcf7 .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d;
  opacity: 0.75;
  width: 20px;
  height: 20px;
  margin: 0 4px;
  border-radius: 10px;
  position: relative;
  -webkit-animation: wpcf7-spinning 1s linear infinite;
          animation: wpcf7-spinning 1s linear infinite;
}
.wpcf7.wpcf7-submitting .wpcf7-spinner {
  visibility: visible;
}

/* スピナーアニメーション */
@keyframes wpcf7-spinning {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* アクセシビリティ強化 */
@media (prefers-contrast: high) {
  .contact-form__input, .fudo-contact-page .contact-form__select, .fudo-contact-page .contact-form__textarea, .contact-form__textarea {
    border-width: 2px;
  }
  .contact-form__badge--required, .contact-form__badge--optional {
    border-width: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-form__input, .fudo-contact-page .contact-form__select, .fudo-contact-page .contact-form__textarea, .contact-form__textarea, .contact-form__button {
    -webkit-transition: none;
    transition: none;
  }
  .select-wrapper::after {
    -webkit-transition: none;
    transition: none;
  }
  .wpcf7-spinner {
    -webkit-animation: none;
            animation: none;
  }
}
/* 印刷対応 */
@media print {
  .contact-form__button {
    display: none;
  }
  .wpcf7-spinner {
    display: none;
  }
}
.fudo-contact-confirm-page {
  background-color: #fff;
  padding: 72px 0 141px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-confirm-page {
    padding: 55px 0 40px;
  }
}
.fudo-contact-confirm-page__inner {
  max-width: 857px;
}
.fudo-contact-confirm-page__discription {
  margin-bottom: 39px;
}
.fudo-contact-confirm-page__discription-text {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .fudo-contact-confirm-page__discription-text {
    font-size: 1.4rem;
    text-align: left;
  }
}
.fudo-contact-confirm-page .wpcf7 form br {
  display: none;
}
.fudo-contact-confirm-page .show-br:not(.sp) {
  display: inline !important;
}
.fudo-contact-confirm-page .fudo-contact-confirm-form .form-section {
  margin-bottom: 67px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-confirm-page .fudo-contact-confirm-form .form-section {
    gap: 25px;
    margin-bottom: 47px;
  }
}
.fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title__wrapper {
  border-radius: 10px;
  background-color: #FFF5F6;
  margin-bottom: 8px;
  padding: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title__wrapper {
    padding: 16px 26px 16px 16px;
  }
}
.fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title__wrapper::after {
  content: "";
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
}
.fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
@media screen and (max-width: 768px) {
  .fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title {
    font-size: 1.6rem;
    line-height: 1.2;
    gap: 18px;
  }
  .fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title .sp {
    display: inline !important;
  }
}
.fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title--num {
  background-color: #D30B33;
  width: 54px;
  height: 54px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .fudo-contact-confirm-page .fudo-contact-confirm-form .form-section-title--num {
    width: 42px;
    height: 42px;
    font-size: 1.4rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 42px;
            flex: 0 0 42px;
  }
}

/* 確認画面メインコンテナ */
.contact-form__confirmation-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 23px;
  max-width: none;
  width: 100%;
  margin: 0 auto;
  padding: 0 100px;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-content {
    max-width: 100%;
    padding: 0 14px;
    gap: 32px;
  }
}
.contact-form__confirmation-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-item {
    gap: 11px;
  }
}
.contact-form__confirmation-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-label {
    font-size: 1.4rem;
  }
  .contact-form__confirmation-label .sp {
    display: inline !important;
  }
}
@media (prefers-color-scheme: dark) {
  .contact-form__confirmation-label {
    color: #ffffff;
  }
}
.contact-form__confirmation-label.dt {
  font-weight: 500;
}
.contact-form__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
  padding: 2px 6px 3px;
  border-radius: 20px;
  min-width: 30px;
  margin-left: 8px;
}
@media (prefers-contrast: high) {
  .contact-form__badge {
    border-width: 2px;
    font-weight: 700;
  }
}
@media print {
  .contact-form__badge {
    border: 1px solid #333333;
  }
}
.contact-form__badge--required {
  background-color: #D30B33;
  color: #FFFFFF;
}
.contact-form__badge--optional {
  background-color: #FFFFFF;
  color: #D30B33;
  border: 1px solid #D30B33;
}
.contact-form__confirmation-value {
  padding: 16px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  color: #333333;
  min-height: 20px;
  word-wrap: break-word;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .contact-form__confirmation-value {
    font-size: 1.4rem;
    padding: 16px 0;
  }
}
@media (prefers-contrast: high) {
  .contact-form__confirmation-value {
    border: 1px solid #333333;
    background-color: #f9f9f9;
  }
}
@media print {
  .contact-form__confirmation-value {
    border: 1px solid #333333;
    background-color: #f9f9f9;
  }
}
@media (prefers-color-scheme: dark) {
  .contact-form__confirmation-value {
    background-color: #3a3a3a;
    color: #ffffff;
  }
}
.contact-form__confirmation-value.dd {
  margin-left: 0;
}
.contact-form__confirmation-value:empty::before {
  content: "（未入力）";
  color: #999999;
  font-style: italic;
}
@media (prefers-color-scheme: dark) {
  .contact-form__confirmation-value:empty::before {
    color: #aaaaaa;
  }
}
.contact-form__note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  color: #333333;
  margin: 4px 0 0 0;
  padding: 0;
}
@media (max-width: 768px) {
  .contact-form__note {
    font-size: 11px;
  }
}
@media (prefers-color-scheme: dark) {
  .contact-form__note {
    color: #cccccc;
  }
}
.contact-form__confirmation-buttons {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  position: relative;
}
.contact-form__confirmation-buttons::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  height: 16px;
  width: 16px;
  color: #D30B33;
  position: absolute;
  top: 36%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .contact-form__confirmation-buttons:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}
.contact-form__button {
  width: 500px;
  max-width: 100%;
  background-color: #D30B33;
  color: #FFFFFF;
  border-radius: 8px;
  padding: 12px 32px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
}
@media (max-width: 768px) {
  .contact-form__button {
    font-size: 18px;
    padding: 14px 24px;
    width: 100%;
    max-width: 500px;
  }
}
@media (max-width: 480px) {
  .contact-form__button {
    font-size: 16px;
    padding: 12px 20px;
  }
}
@media (prefers-contrast: high) {
  .contact-form__button {
    border: 2px solid #000000;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-form__button {
    -webkit-transition: none;
    transition: none;
  }
}
@media print {
  .contact-form__button {
    display: none;
  }
}
@media (any-hover: hover) {
  .contact-form__button:hover:not(:disabled) {
    background-color: #fff;
    color: #D30B33;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    -webkit-box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
  }
}
.contact-form__button:focus {
  outline: 3px solid rgba(211, 11, 51, 0.5);
  outline-offset: 2px;
}
.contact-form__button:focus-visible {
  outline: 2px solid #D30B33;
  outline-offset: 2px;
}
.contact-form__button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.contact-form__button:disabled {
  background-color: #C3C3C3;
  cursor: not-allowed;
  -webkit-transform: none;
          transform: none;
}
/* Contact Form 7のmultiformプラグイン対応 */
.wpcf7-form-control.multiform-output {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

.fudo-archive {
  padding: 70px 0;
}
@media screen and (max-width: 768px) {
  .fudo-archive {
    padding: 37px 0;
  }
}
.fudo-archive__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.448;
  color: #333333;
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .fudo-archive__title {
    font-size: 2.8rem;
    line-height: 1.3;
    margin-bottom: 13px;
  }
}
.fudo-archive-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .fudo-archive-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.fudo-archive-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .fudo-archive-main {
    padding-right: 0;
  }
}
.fudo-archive__search-info {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 61px;
}
@media screen and (max-width: 768px) {
  .fudo-archive__search-info {
    font-size: 2.2rem;
    margin-bottom: 60px;
  }
  .fudo-archive__search-info .sp {
    display: inline;
  }
}
.fudo-archive__search-info--text {
  font-weight: 500;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .fudo-archive__search-info--text {
    font-size: 1.4rem;
  }
}
.fudo-archive__search-count {
  font-weight: 700;
  color: #D30B33;
  margin-left: 18px;
}
@media screen and (max-width: 768px) {
  .fudo-archive__search-count {
    display: inline-block;
    margin: 12px 0 0 0;
  }
}
.fudo-archive__search-count--ken {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .fudo-archive__search-count--ken {
    font-size: 1.4rem;
  }
}
.fudo-archive-sort {
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .fudo-archive-sort {
    margin-bottom: 41px;
  }
}
.fudo-archive-sort__text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333;
  margin-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .fudo-archive-sort__text {
    font-size: 1.4rem;
    margin-bottom: 21px;
  }
}
.fudo-archive-sort__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
  padding: 10px 38px;
  background-color: #FBF7E7;
}
@media screen and (max-width: 768px) {
  .fudo-archive-sort__buttons {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 3px 5px;
  }
}
.fudo-archive-sort__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  color: #333;
  padding-right: 23px;
  border-right: 1px solid #B5B5B5;
}
.fudo-archive-sort__button:last-child {
  border-right: none;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .fudo-archive-sort__button {
    font-size: 1.4rem;
  }
}
.fudo-archive-sort-icon__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .fudo-archive-sort-icon__container {
    gap: 3px;
  }
}
@media screen and (max-width: 768px) {
  .fudo-archive-sort-icon__container svg {
    width: 25px;
  }
}
.fudo-archive .fudo-property-item {
  border-bottom: 1px solid #B5B5B5;
  margin-bottom: 41px;
  /*物件種別コード*/
  /*物件タイトル*/
  /*建物の構造*/
  /*会員or非会員*/
  /*物件タグ*/
  /*交通*/
  /*価格*/
  /*詳細ボタン*/
}
.fudo-archive .fudo-property-item:last-child {
  margin-bottom: 0;
}
.fudo-archive .fudo-property-item__header {
  margin-bottom: 25px;
}
.fudo-archive .fudo-property-item__cat {
  font-weight: 700;
  font-size: 1.4rem;
  color: #D30B33;
  background-color: #FFF5F6;
  border-radius: 20px;
  margin-bottom: 12px;
  padding: 5px 10px;
  display: inline-block;
}
.fudo-archive .fudo-property-item__title {
  font-weight: 500;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__title {
    font-size: 2.2rem;
  }
}
.fudo-archive .fudo-property-item__title a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .fudo-archive .fudo-property-item__title a:hover {
    opacity: 0.7;
  }
}
.fudo-archive .fudo-property-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 19px;
  }
}
.fudo-archive .fudo-property-item__gallery {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 270px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__gallery {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    max-width: none;
    width: 100%;
  }
}
.fudo-archive .fudo-property-item__main-image {
  max-width: 270px;
  width: 100%;
  height: 200px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__main-image {
    max-width: none;
    height: 242px;
  }
}
.fudo-archive .fudo-property-item__main-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fudo-archive .fudo-property-item__thumbnails {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  max-width: 270px;
  margin-bottom: 20px;
}
.fudo-archive .fudo-property-item__thumbnail {
  max-width: 100px;
  width: 100%;
  height: 100px;
  border: 1px solid #D9D9D9;
}
.fudo-archive .fudo-property-item__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fudo-archive .fudo-property-item__details-table {
  width: 100%;
}
.fudo-archive .fudo-property-item__details-table tr {
  border: 1px solid #EAEAEA;
}
.fudo-archive .fudo-property-item__details-table th,
.fudo-archive .fudo-property-item__details-table td {
  font-weight: 500;
  font-size: 1.4rem;
  padding: 12.5px 10px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__details-table th,
  .fudo-archive .fudo-property-item__details-table td {
    padding: 11.956px 10px;
  }
}
.fudo-archive .fudo-property-item__details-table th {
  padding-right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 23px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__details-table th {
    max-width: 17px;
  }
}
.fudo-archive .fudo-property-item__details-table td {
  padding-left: 0;
}
.fudo-archive .fudo-property-item__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.fudo-archive .fudo-property-item__label {
  font-weight: 500;
  font-size: 1.6rem;
  color: #fff;
  margin-bottom: 24px;
  padding: 8px 10px;
  border-radius: 32px;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__label {
    padding: 5.5px 10px;
  }
}
.fudo-archive .fudo-property-item__label--member {
  background-color: #D30B33;
}
.fudo-archive .fudo-property-item__label--member::before {
  content: "";
  display: inline-block;
  background-image: url("../images/icon-lock_wh.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 17px;
  height: 17px;
}
.fudo-archive .fudo-property-item__label--public {
  background-color: #B5B5B5;
}
.fudo-archive .fudo-property-item__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 10px;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__tags {
    gap: 9px 10px;
    margin-bottom: 21px;
  }
}
.fudo-archive .fudo-property-item__tag {
  border: 1px solid #B5B5B5;
  border-radius: 5px;
  padding: 2px 10px;
  font-weight: 500;
  font-size: 1.6rem;
  color: #4E4E4E;
}
.fudo-archive .fudo-property-item__access {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 25px;
}
.fudo-archive .fudo-property-item__map-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #4E4E4E;
  text-decoration: underline;
  position: relative;
  margin-bottom: 24px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.fudo-archive .fudo-property-item__map-link::before {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 14C14.206 14 16 12.206 16 10C16 7.794 14.206 6 12 6C9.794 6 8 7.794 8 10C8 12.206 9.794 14 12 14ZM12 8C13.103 8 14 8.897 14 10C14 11.103 13.103 12 12 12C10.897 12 10 11.103 10 10C10 8.897 10.897 8 12 8Z' fill='%23D30B33'/%3E%3Cpath d='M11.4201 21.814C11.5894 21.9346 11.7922 21.9994 12.0001 21.9994C12.208 21.9994 12.4107 21.9346 12.5801 21.814C12.8841 21.599 20.0291 16.44 20.0001 10C20.0001 5.589 16.4111 2 12.0001 2C7.58909 2 4.00009 5.589 4.00009 9.995C3.97109 16.44 11.1161 21.599 11.4201 21.814ZM12.0001 4C15.3091 4 18.0001 6.691 18.0001 10.005C18.0211 14.443 13.6121 18.428 12.0001 19.735C10.3891 18.427 5.97909 14.441 6.00009 10C6.00009 6.691 8.69109 4 12.0001 4Z' fill='%23D30B33'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
}
@media (any-hover: hover) {
  .fudo-archive .fudo-property-item__map-link:hover {
    opacity: 0.7;
  }
}
.fudo-archive .fudo-property-item__price-box {
  background-color: #EAEAEA;
  border-radius: 5px;
  margin-bottom: 25px;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__price-box {
    padding: 7px 10px;
    gap: 8px;
  }
}
.fudo-archive .fudo-property-item__price-label {
  font-weight: 500;
  font-size: 2rem;
  color: #333;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__price-label {
    font-size: 1.8rem;
  }
}
.fudo-archive .fudo-property-item__price-value {
  font-weight: 700;
  font-size: 2.4rem;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__price-value {
    font-size: 2.2rem;
  }
}
.fudo-archive .fudo-property-item__button {
  font-weight: 700;
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  padding: 21px;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
  position: relative;
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .fudo-archive .fudo-property-item__button {
    font-size: 1.4rem;
    padding: 22px;
  }
}
.fudo-archive .fudo-property-item__button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.3rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .fudo-archive .fudo-property-item__button:hover {
    background-color: #fff;
    color: #E49800;
    -webkit-box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
    outline: 1px solid #E49800;
    outline-offset: -1px;
  }
  .fudo-archive .fudo-property-item__button:hover::after {
    color: #E49800;
  }
}
.fudo-archive .fudo-property-item__button--register {
  background-color: #E49800;
}
.fudo-archive .fudo-property-item__button--details {
  background-color: #D30B33;
}
@media (any-hover: hover) {
  .fudo-archive .fudo-property-item__button--details:hover {
    color: #D30B33;
    outline: 1px solid #D30B33;
  }
  .fudo-archive .fudo-property-item__button--details:hover::after {
    color: #D30B33;
  }
}
.fudo-archive .fudo-label {
  font-size: 1.6rem;
  color: #FF7C6F;
}
.fudo-archive .fudo-label--price-down {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.fudo-archive .fudo-label--price-down::before {
  content: "";
  display: inline-block;
  background-image: url(../images/price-down-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 17.54px;
  height: 16px;
  margin-right: 4px;
}

.fudo-no-results {
  padding: 36px 0;
}
@media screen and (max-width: 768px) {
  .fudo-no-results {
    padding: 37px 0;
  }
}
.fudo-no-results__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.448;
  color: #333333;
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__title {
    font-size: 2.8rem;
    line-height: 1.3;
    margin-bottom: 13px;
  }
}
.fudo-no-results-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .fudo-no-results-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.fudo-no-results-main {
  padding-top: 31px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .fudo-no-results-main {
    padding: 0;
  }
}
.fudo-no-results__search-info {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
  color: #333333;
  margin-bottom: 61px;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__search-info {
    font-size: 2.2rem;
    margin-bottom: 60px;
  }
  .fudo-no-results__search-info .sp {
    display: inline;
  }
}
.fudo-no-results__search-info--text {
  font-weight: 500;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__search-info--text {
    font-size: 1.4rem;
  }
}
.fudo-no-results__search-count {
  font-weight: 700;
  color: #D30B33;
  margin-left: 18px;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__search-count {
    display: inline-block;
    margin: 12px 0 0 0;
  }
}
.fudo-no-results__search-count--ken {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__search-count--ken {
    font-size: 1.4rem;
  }
}
.fudo-no-results__wrapper {
  margin-top: 56px;
}
.fudo-no-results__text {
  font-weight: 400;
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__text {
    font-size: 1.4rem;
  }
}
.fudo-no-results__illustration {
  width: 117px;
  height: auto;
  margin: 0 auto -7px;
}
@media screen and (max-width: 768px) {
  .fudo-no-results__illustration {
    width: 119px;
  }
}
.fudo-no-results__illustration img {
  width: 100%;
  height: auto;
}
.fudo-no-results__button-wrapper {
  margin: 0 auto;
  max-width: 500px;
  padding: 45px 0;
}
.fudo-no-results__button {
  border-radius: 8px;
  background-color: #D30B33;
  color: #FFFFFF;
  padding: 12.5px 32px 12.5px 12px;
  font-size: 2rem;
  font-weight: 700;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.fudo-no-results__button::before {
  content: "";
  display: inline-block;
  background-image: url(../images/icon-search_wh.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
}
.fudo-no-results__button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  color: #D30B33;
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  width: 16px;
  height: 16px;
}
@media (any-hover: hover) {
  .fudo-no-results__button:hover {
    background-color: #fff;
    color: #D30B33;
    -webkit-box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
    outline: 1px solid #D30B33;
    outline-offset: -1px;
  }
  .fudo-no-results__button:hover::before {
    -webkit-filter: brightness(0) saturate(100%) invert(20%) sepia(99%) saturate(7418%) hue-rotate(351deg) brightness(93%) contrast(93%);
            filter: brightness(0) saturate(100%) invert(20%) sepia(99%) saturate(7418%) hue-rotate(351deg) brightness(93%) contrast(93%);
  }
  .fudo-no-results__button:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}

.property-search {
  padding: 74px 0;
}
@media screen and (max-width: 768px) {
  .property-search {
    padding: 53px 0;
  }
}
.property-search__title {
  font-weight: 500;
  font-size: 1.6rem;
  color: #333333;
  margin-bottom: 42px;
}
@media screen and (max-width: 768px) {
  .property-search__title {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-bottom: 34px;
  }
}
.property-search__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .property-search__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.property-search__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.property-search .search-form__section {
  padding-top: 12px;
  position: relative;
}
.property-search .search-form__section::before {
  content: "";
  width: 100%;
  height: 12px;
  background-color: #F5F5F5;
  position: absolute;
  top: 0;
  border-top: 1px solid #D9D9D9;
  border-right: 1px solid #D9D9D9;
  border-left: 1px solid #D9D9D9;
}
.property-search .search-form__section[aria-labelledby=property-type-title], .property-search .search-form__section#route-search {
  padding-top: 0;
}
.property-search .search-form__section[aria-labelledby=property-type-title]::before, .property-search .search-form__section#route-search::before {
  display: none;
}
.property-search .search-form__section-header {
  border: 1px solid #D9D9D9;
}
.property-search .search-form__section-title {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 14px 20px;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__section-title {
    padding: 17px 18px;
  }
}
.property-search .search-form__checkbox-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 1px solid #D9D9D9;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__checkbox-group {
    grid-template-columns: 1fr;
  }
}
.property-search .search-form__checkbox-item {
  padding: 11px 10px;
  border: 1px solid #D9D9D9;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__checkbox-item {
    padding: 16.5px 10px;
  }
}
.property-search .search-form input[type=checkbox],
.property-search .search-form input[type=radio] {
  width: 24px;
  height: 24px;
  margin: 0 8px 0 -1px;
  border: 2px solid #C3C3C3;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  vertical-align: -4px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .property-search .search-form input[type=checkbox],
  .property-search .search-form input[type=radio] {
    width: 20px;
    height: 20px;
  }
}
.property-search .search-form input[type=checkbox].error,
.property-search .search-form input[type=radio].error {
  border-color: #D30B33;
}
.property-search .search-form input[type=checkbox]:checked,
.property-search .search-form input[type=radio]:checked {
  background-color: #D30B33;
}
.property-search .search-form input[type=checkbox]:checked::before,
.property-search .search-form input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 1.33398L5.91667 9.66732L1.75 5.50065' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}
.property-search .search-form__checkbox-label {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #4A4A4A;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__checkbox-label {
    font-size: 1.4rem;
  }
}
.property-search .search-form__toggle-buttons {
  background-color: #F5F5F5;
  padding: 10px 12px;
  border-right: 1px solid #C3C3C3;
  border-left: 1px solid #C3C3C3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.property-search .search-form__toggle-button {
  font-weight: 500;
  font-size: 1.4rem;
  background-color: #fff;
  padding: 14px 10px;
  border: 1px solid;
  min-width: 120px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__toggle-button {
    padding: 19px 10px;
    min-width: 100px;
  }
  .property-search .search-form__toggle-button .sp {
    display: inline;
  }
}
.property-search .search-form__toggle-button--active {
  color: #A60525;
  background-color: #FFF8F5;
}
.property-search .search-form__toggle-button:first-child {
  border-radius: 5px 0 0 5px;
}
.property-search .search-form__toggle-button:last-child {
  border-radius: 0 5px 5px 0;
}
.property-search .search-form__station-line {
  border-right: 1px solid #C3C3C3;
  border-bottom: 1px solid #C3C3C3;
  border-left: 1px solid #C3C3C3;
  padding: 15.7px 20px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__station-line {
    padding: 20px 19px;
  }
}
.property-search .search-form__station-line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #D9D9D9;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.property-search .search-form__station-line--open::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
@media (any-hover: hover) {
  .property-search .search-form__station-line:hover {
    background-color: #F5F5F5;
  }
}
.property-search .search-form__station-line-name {
  font-weight: 700;
  font-size: 1.5rem;
  color: #4A4A4A;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__station-line-name {
    font-size: 1.3rem;
  }
}
.property-search .search-form__range-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
  border-right: 1px solid #C3C3C3;
  border-left: 1px solid #C3C3C3;
  padding: 18px 24px;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__range-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
    padding: 13px 24px;
  }
}
.property-search .search-form__range-select {
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  max-width: 171px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__range-select {
    max-width: 149px;
  }
}
.property-search .search-form__range-select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #D9D9D9;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.property-search .search-form__select {
  font-size: 1.5rem;
  font-weight: 500;
  padding: 14px 16px;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .property-search .search-form__select {
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  .property-search .search-form__select:hover {
    background-color: #F5F5F5;
  }
}
@media screen and (max-width: 768px) {
  .property-search .search-form__range-separator {
    -webkit-transform: rotate(90deg) translateY(-66px);
            transform: rotate(90deg) translateY(-66px);
    font-size: 16px;
  }
}
.property-search .search-form__button {
  border-radius: 8px;
  background-color: #D30B33;
  color: #FFFFFF;
  padding: 12px 32px 12px 12px;
  font-size: 2rem;
  font-weight: 700;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: relative;
  max-width: 500px;
  margin: 40px auto 0;
}
.property-search .search-form__button::before {
  content: "";
  display: inline-block;
  background-image: url(../images/icon-search_wh.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
}
.property-search .search-form__button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #D30B33;
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
}
@media (any-hover: hover) {
  .property-search .search-form__button:hover {
    opacity: 0.5;
  }
}

/* 物件詳細ページ全体 */
.property-single {
  padding-top: 64px;
  /* 物件詳細情報セクション */
  /* 地図セクション */
}
@media screen and (max-width: 768px) {
  .property-single {
    padding-top: 38px;
  }
}
.property-single-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .property-single-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 24px;
  }
}
.property-single-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .property-single-main {
    padding-right: 0;
  }
}
.property-single__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 207px;
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .property-single__number {
    margin-bottom: 22px;
  }
}
.property-single__number-label {
  background-color: #F5F5F5;
  border: 1px solid #D9D9D9;
  font-weight: 700;
  font-size: 1.4rem;
  padding: 6px 8px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 92px;
          flex: 0 0 92px;
}
@media screen and (max-width: 768px) {
  .property-single__number-label {
    font-size: 1.2rem;
    padding: 4px 8px;
  }
}
.property-single__number-value {
  border: 1px solid #D9D9D9;
  font-weight: 500;
  font-size: 1.4rem;
  padding: 6px 8px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .property-single__number-value {
    font-size: 1.2rem;
    padding: 4px 8px;
  }
}
.property-single__date-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .property-single__date-wrapper {
    margin-bottom: 17px;
  }
}
.property-single__clock-icon {
  width: 24px;
  height: 24px;
  color: #b5b5b5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.property-single__clock-icon .fa-regular {
  font-size: 2rem;
  color: #B5B5B5;
}
.property-single__date {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #b5b5b5;
}
@media screen and (max-width: 768px) {
  .property-single__date {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .property-single__date .sp {
    display: inline;
  }
}
.property-single__header {
  margin-bottom: 37px;
}
@media screen and (max-width: 768px) {
  .property-single__header {
    margin-bottom: 31px;
  }
}
.property-single__title-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .property-single__title-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 9px;
    margin-bottom: 22px;
  }
}
.property-single__title-section .property-type-badge {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 118px;
          flex: 0 0 118px;
  background-color: #FFF5F6;
  padding: 5px 10px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 1.4rem;
  color: #D30B33;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .property-single__title-section .property-type-badge {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
.property-single__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}
@media screen and (max-width: 768px) {
  .property-single__title {
    font-size: 2.4rem;
    line-height: 1.3;
  }
}
.property-single__title .fudo_kaiin_type_logo {
  display: none;
}
.property-single__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .property-single__tags {
    gap: 9px;
  }
}
.property-single__tags .property-tag {
  display: inline-block;
  padding: 4px 12px;
  font-size: 1.6rem;
  border-radius: 5px;
  border: 1px solid #B5B5B5;
}
@media screen and (max-width: 768px) {
  .property-single__tags .property-tag {
    font-size: 1.4rem;
    padding: 2px 8px;
  }
}
.property-single__image-section {
  margin-bottom: 59px;
  /* メイン画像コンテナ */
  /* ナビゲーションボタン */
  /* サムネイル画像 */
}
@media screen and (max-width: 768px) {
  .property-single__image-section {
    margin-bottom: 55px;
  }
}
.property-single__image-section .property-image-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.property-single__image-section .property-image-main-container {
  position: relative;
  width: 100%;
  height: 400px;
  padding: 10px 40px;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .property-single__image-section .property-image-main-container {
    height: 170px;
  }
}
.property-single__image-section .property-image-main {
  position: relative;
  width: 100%;
  height: 100%;
}
.property-single__image-section .property-image-main .property-main-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  /* 画像なしプレースホルダー */
}
.property-single__image-section .property-image-main .property-main-image.active {
  opacity: 1;
}
.property-single__image-section .property-image-main .property-main-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.property-single__image-section .property-image-main .property-main-image .no-image-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  color: #999;
  background-color: #f8f9fa;
}
.property-single__image-section .property-image-main .property-main-image .no-image-placeholder p {
  margin: 10px 0 0 0;
  font-size: 1.4rem;
  color: #666;
}
.property-single__image-section .property-image-nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  pointer-events: none;
}
.property-single__image-section .property-image-nav .property-nav-btn {
  background-color: rgba(217, 217, 217, 0.8);
  width: 29px;
  height: 86px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  pointer-events: all;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .property-single__image-section .property-image-nav .property-nav-btn {
    width: 24px;
    height: 68px;
  }
}
@media (any-hover: hover) {
  .property-single__image-section .property-image-nav .property-nav-btn:hover {
    background-color: rgba(0, 0, 0, 0.6);
  }
}
.property-single__image-section .property-image-nav .property-nav-btn svg {
  width: 9px;
  height: 18px;
}
.property-single__image-section .property-image-thumbnails {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* サムネイルが6個以上の場合の調整 */
  /* サムネイルが4個以下の場合の調整 */
}
@media screen and (max-width: 768px) {
  .property-single__image-section .property-image-thumbnails {
    gap: 5.4px;
  }
}
.property-single__image-section .property-image-thumbnails .property-thumbnail {
  width: 100px;
  height: 100px;
  overflow: hidden;
  border: 1px solid #d9d9d9;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .property-single__image-section .property-image-thumbnails .property-thumbnail {
    width: 50px;
    height: 50px;
  }
}
@media (any-hover: hover) {
  .property-single__image-section .property-image-thumbnails .property-thumbnail:hover {
    opacity: 1;
    border-color: #D30B33;
  }
}
.property-single__image-section .property-image-thumbnails .property-thumbnail.active {
  opacity: 1;
  border-color: #D30B33;
}
.property-single__image-section .property-image-thumbnails .property-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.property-single__image-section .property-image-thumbnails:has(> .property-thumbnail:nth-child(7)) .property-thumbnail {
  width: calc((100% - 20px) / 6);
  min-width: 80px;
}
.property-single__image-section .property-image-thumbnails:not(:has(> .property-thumbnail:nth-child(5))) {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.property-single__basic-info {
  margin-bottom: 58px;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.property-single__basic-info-table {
  width: 100%;
  border: 1px solid #d9d9d9;
}
.property-single__basic-info-table th,
.property-single__basic-info-table td {
  border: 1px solid #d9d9d9;
  padding: 9px;
  text-align: left;
  vertical-align: middle;
  font-size: 1.6rem;
  line-height: 1.448;
}
@media screen and (max-width: 768px) {
  .property-single__basic-info-table th,
  .property-single__basic-info-table td {
    font-size: 1.4rem;
    padding: 7px;
  }
}
.property-single__basic-info-label {
  width: 100px;
  background-color: #fbf7e7;
  font-weight: 700;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .property-single__basic-info-label {
    width: 24%;
  }
}
.property-single__basic-info-value {
  background-color: #ffffff;
  font-weight: 500;
  color: #333333;
}
.property-single__basic-info-row--price .property-single__basic-info-value {
  font-weight: 700;
  font-size: 2rem;
  color: #d30b33;
}
@media screen and (max-width: 768px) {
  .property-single__basic-info-row--price .property-single__basic-info-value {
    font-size: 1.8rem;
  }
}
.property-single__detail {
  /* 詳細情報テーブル */
}
.property-single__detail-section {
  margin-bottom: 93px;
}
.property-single__detail-header {
  margin-bottom: 27px;
}
@media screen and (max-width: 768px) {
  .property-single__detail-header {
    margin-bottom: 28px;
  }
}
.property-single__detail-title {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.08em;
  color: #333;
  position: relative;
  padding-left: 15px;
}
.property-single__detail-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 29px;
  background-color: #d30b33;
}
.property-single__detail-table {
  width: 100%;
  border: 1px solid #D9D9D9;
  overflow: hidden;
  background-color: #fff;
  border-collapse: collapse;
  table-layout: fixed;
  margin-bottom: 24px;
}
.property-single__detail-table--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .property-single__detail-table--pc {
    display: none;
  }
  .property-single__detail-table--sp {
    display: table;
  }
}
.property-single__detail-table th,
.property-single__detail-table td {
  border: 1px solid #D9D9D9;
  padding: 8px;
  vertical-align: middle;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .property-single__detail-table th,
  .property-single__detail-table td {
    padding: 6.3px 9px;
  }
}
.property-single__detail-table th {
  background-color: #f5f5f5;
  font-weight: 700;
  color: #333;
  font-size: 1.4rem;
  width: 22%;
  min-width: 120px;
}
@media screen and (max-width: 768px) {
  .property-single__detail-table th {
    width: 17%;
  }
}
.property-single__detail-table td {
  color: #333;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  width: 30%;
}
.property-single__detail-table td.property-single__detail--price, .property-single__detail-table td.property-single__detail-value--price {
  font-weight: 700;
  color: #d63384;
}
.property-single__inquiry-button {
  margin-right: 3px;
  margin-left: auto;
  display: block;
  max-width: 389px;
  width: 100%;
  background-color: #D30B33;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding: 21px;
  text-align: center;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.property-single__inquiry-button-section {
  margin-bottom: 88px;
}
.property-single__inquiry-button::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.property-single__inquiry-button-text {
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
}
@media (any-hover: hover) {
  .property-single__inquiry-button:hover {
    background-color: #fff;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    -webkit-box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
  }
  .property-single__inquiry-button:hover .property-single__inquiry-button-text {
    color: #D30B33;
  }
  .property-single__inquiry-button:hover::after {
    color: #D30B33;
  }
}
.property-single .wp-block-custom-real-estate-staff .staff-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 91px;
}
.property-single .wp-block-custom-real-estate-staff .staff-info {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.property-single .wp-block-custom-real-estate-staff .property-description {
  gap: 25px;
}
@media screen and (max-width: 768px) {
  .property-single .wp-block-custom-real-estate-staff .property-description {
    padding: 34px 31px;
    gap: 21px;
  }
}
.property-single .wp-block-custom-real-estate-staff .property-description::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  top: -28px;
  left: 34px;
}
.property-single .wp-block-custom-real-estate-staff .property-text {
  max-width: none;
}
.property-single .wp-block-custom-real-estate-staff .highlight-text {
  font-size: 2.2rem;
  font-weight: 700;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .property-single .wp-block-custom-real-estate-staff .highlight-text {
    font-size: 2rem;
  }
}
.property-single .wp-block-custom-real-estate-staff .highlight-text.highlight-secondary {
  color: #0089CD;
}
.property-single .wp-block-custom-real-estate-staff .highlight-text.highlight-accent {
  color: #82da56;
}
.property-single .wp-block-custom-real-estate-staff .highlight-text.highlight-warning {
  color: #FBE21F;
}
.property-single .wp-block-custom-real-estate-staff .highlight-text.highlight-info {
  color: #7cced4;
}
.property-single__map-section {
  margin: 40px 0 91px;
  overflow: hidden;
}
.property-single__map-title {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.08em;
  color: #333;
  position: relative;
  margin-bottom: 27px;
  padding-left: 15px;
}
.property-single__map-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 29px;
  background-color: #d30b33;
}
.property-single__loan-simulation-title {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.08em;
  color: #333;
  position: relative;
  margin-bottom: 27px;
  padding-left: 15px;
}
.property-single__loan-simulation-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 29px;
  background-color: #d30b33;
}
.property-single__loan-simulation-table {
  width: 100%;
  margin-bottom: 25px;
}
.property-single__loan-simulation tr {
  border: 1px solid #D9D9D9;
}
.property-single__loan-simulation-label {
  border: 1px solid #D9D9D9;
  background-color: #F5F5F5;
  font-weight: 700;
  font-size: 1.6rem;
  color: #333;
  padding: 31.3px 18px;
  width: 21%;
}
@media screen and (max-width: 768px) {
  .property-single__loan-simulation-label {
    font-size: 1.4rem;
    width: 46%;
  }
}
.property-single__loan-simulation-value {
  font-weight: 500;
  font-size: 1.5rem;
  vertical-align: middle;
  padding: 16px 21px;
}
@media screen and (max-width: 768px) {
  .property-single__loan-simulation-value {
    padding: 16px 18px;
  }
}
.property-single__loan-simulation-input {
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  padding: 13.38px 16px;
  max-width: 80px;
  margin-right: 8px;
  text-align: right;
  font-weight: 500;
  font-size: 1.4rem;
}
.property-single__loan-simulation-calc-button, .property-single__loan-simulation-reset-button {
  border: 1px solid #B5B5B5;
  background-color: #E9E9E9;
  -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
  border-radius: 5px;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 10px 15px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .property-single__loan-simulation-calc-button, .property-single__loan-simulation-reset-button {
    margin: 0 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .property-single__loan-simulation-reset-button {
    margin-bottom: 0;
  }
}
.property-single__loan-simulation-result-input {
  max-width: 80px;
  border: 1px solid #C3C3C3;
  padding: 14px 10px;
  margin-right: 7px;
}
.property-single__loan-simulation-note {
  font-size: 1.4rem;
  font-weight: 500;
}

/* 編集リンク */
.edit-link {
  display: inline-block;
  margin-top: 20px;
  padding: 8px 16px;
  background-color: #6c757d;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-size: 12px;
}

.edit-link:hover {
  background-color: #545b62;
  color: #fff;
}

/* 会員ロゴ */
.fudo_kaiin_type_logo {
  margin-left: 12px;
  vertical-align: middle;
}

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

.inquiry-form {
  margin: 0 auto;
  background-color: #fff;
  padding: 40px 0;
}
.inquiry-form__header {
  margin-bottom: 39px;
}
.inquiry-form__title {
  margin-bottom: 19px;
}
@media screen and (max-width: 768px) {
  .inquiry-form__title {
    margin-bottom: 27px;
  }
}
.inquiry-form__title-text {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.08em;
  color: #333;
  position: relative;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .inquiry-form__title-text {
    font-size: 1.4rem;
    line-height: 1.25;
  }
}
.inquiry-form__title-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 29px;
  background-color: #d30b33;
}
.inquiry-form__description {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.45;
  color: #333333;
}
.inquiry-form__fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  max-width: 640px;
}
.inquiry-form__fields-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.inquiry-form__fields-field__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: -3px;
}
@media screen and (max-width: 768px) {
  .inquiry-form__fields-field__label {
    margin-bottom: -6px;
  }
}
.inquiry-form__fields-field__label-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
}
@media screen and (max-width: 768px) {
  .inquiry-form__fields-field__label-text {
    font-size: 1.4rem;
  }
}
.inquiry-form__fields-field__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2px 6px 3px;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.45;
  white-space: nowrap;
  margin-left: 8px;
}
.inquiry-form__fields-field__badge--required {
  background-color: #D30B33;
  color: #fff;
}
.inquiry-form__fields-field__badge--optional {
  background-color: #fff;
  color: #D30B33;
  border: 1px solid #D30B33;
}
.inquiry-form__fields-field__input, .inquiry-form__fields-field__select, .inquiry-form__fields-field__textarea {
  width: 100%;
  padding: 15.1px;
  border: 1px solid #C3C3C3;
  border-radius: 5px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  color: #333333;
  background-color: #FBFBFB;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .inquiry-form__fields-field__input, .inquiry-form__fields-field__select, .inquiry-form__fields-field__textarea {
    padding: 13px;
  }
}
.inquiry-form__fields-field__input:focus, .inquiry-form__fields-field__select:focus, .inquiry-form__fields-field__textarea:focus {
  outline: none;
  border-color: #D30B33;
  -webkit-box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.1);
          box-shadow: 0 0 0 2px rgba(211, 11, 51, 0.1);
}
.inquiry-form__fields-field__input::-webkit-input-placeholder, .inquiry-form__fields-field__textarea::-webkit-input-placeholder {
  color: #757575;
}
.inquiry-form__fields-field__input::-moz-placeholder, .inquiry-form__fields-field__textarea::-moz-placeholder {
  color: #757575;
}
.inquiry-form__fields-field__input:-ms-input-placeholder, .inquiry-form__fields-field__textarea:-ms-input-placeholder {
  color: #757575;
}
.inquiry-form__fields-field__input::-ms-input-placeholder, .inquiry-form__fields-field__textarea::-ms-input-placeholder {
  color: #757575;
}
.inquiry-form__fields-field__input::placeholder, .inquiry-form__fields-field__textarea::placeholder {
  color: #757575;
}
.inquiry-form__fields-field__select__wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 375px;
  margin: 10px 0 2px;
}
.inquiry-form__fields-field__select__wrapper::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='7' viewBox='0 0 14 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7L0.071797 0.249999L13.9282 0.25L7 7Z' fill='%23D9D9D9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  pointer-events: none;
  z-index: 1;
}
.inquiry-form__fields-field__select__wrapper.open::after, .inquiry-form__fields-field__select__wrapper.select-wrapper--open::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.inquiry-form__fields-field__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 40px;
  cursor: pointer;
  width: 100%;
}
.inquiry-form__fields-field__textarea {
  min-height: 180px;
  resize: vertical;
}
.inquiry-form__fields-field__note {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  color: #333333;
  margin-top: 11px;
}
.inquiry-form__fields-field__checkbox-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 10px 0;
}
.inquiry-form__fields input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 -1px;
  border: 2px solid #C3C3C3;
  border-radius: 3px;
  background-color: #fff;
  position: relative;
  vertical-align: -4px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.inquiry-form__fields input[type=checkbox].error {
  border-color: #D30B33;
}
@media screen and (max-width: 768px) {
  .inquiry-form__fields input[type=checkbox] {
    top: -4px;
  }
}
.inquiry-form__fields input[type=checkbox]:checked {
  background-color: #D30B33;
}
.inquiry-form__fields input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.25 1.33398L5.91667 9.66732L1.75 5.50065' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}
.inquiry-form__fields-field__checkbox-label {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  color: #333333;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .inquiry-form__fields-field__checkbox-label {
    font-size: 1.4rem;
  }
}
.inquiry-form__fields-field__checkbox-label br {
  display: none;
}
.inquiry-form__fields-field__checkbox-label a {
  -webkit-text-decoration: underline #C3C3C3;
          text-decoration: underline #C3C3C3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .inquiry-form__fields-field__checkbox-label a:hover {
    color: #D30B33;
  }
}
.inquiry-form__submit {
  max-width: 500px;
  width: 100%;
  margin: -4px auto 0;
  position: relative;
}
.inquiry-form__submit br {
  display: none;
}
.inquiry-form__submit::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  height: 16px;
  width: 16px;
  color: #D30B33;
  position: absolute;
  top: 36%;
  right: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: #fff;
  border-radius: 50%;
  padding: 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .inquiry-form__submit:hover::after {
    color: #fff;
    background-color: #D30B33;
  }
}
.inquiry-form__submit-button {
  width: 100%;
  max-width: 500px;
  background-color: #D30B33;
  color: #FFFFFF;
  text-align: center;
  border-radius: 8px;
  padding: 12px 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .inquiry-form__submit-button {
    font-size: 1.8rem;
    padding: 14px 24px;
  }
}
@media (any-hover: hover) {
  .inquiry-form__submit-button:hover {
    background-color: #fff;
    color: #D30B33;
    outline: 1px solid #D30B33;
    outline-offset: -1px;
    -webkit-box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
            box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1);
  }
}
.inquiry-form__submit-button:focus {
  outline: 3px solid rgba(211, 11, 51, 0.5);
  outline-offset: 2px;
}

.inquiry-form__submit-button:disabled {
  background-color: #C3C3C3;
  cursor: not-allowed;
}

.inquiry-form__submit-icon {
  width: 16px;
  height: 16px;
  background-color: #FFFEF1;
  border-radius: 50%;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.inquiry-form__submit-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 6px;
  height: 4px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='4' viewBox='0 0 6 4'%3E%3Cpath stroke='%23D30B33' stroke-width='1' fill='none' d='M1 2L2.5 3.5 5 0.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* エラーメッセージのスタイル */
.form-field__error {
  color: #D30B33;
  font-size: 12px;
  margin-top: 4px;
  display: none;
}

.form-field--error .form-field__input,
.form-field--error .form-field__select,
.form-field--error .form-field__textarea {
  border-color: #D30B33;
}

.form-field--error .form-field__error {
  display: block;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
  .inquiry-form {
    padding: 20px;
  }
  .inquiry-form__submit-button {
    width: 100%;
  }
}
/* おすすめ物件スライダーセクション */
.recommend-properties-section {
  position: relative;
  padding: 64px 0 60px;
  margin: 0 auto;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section {
    padding: 64px 0 55px;
  }
}
.recommend-properties-section__header {
  margin-bottom: 91px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__header {
    margin-bottom: 42px;
  }
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__title-ja {
    font-size: clamp(2.3rem, (115vw - 375px) / 2, 2.8rem);
  }
}
.recommend-properties-section__inner {
  padding: 0 20px 0 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__inner {
    padding: 0;
  }
}
.recommend-properties-section__inner::before {
  content: "";
  position: absolute;
  width: 95%;
  height: 531px;
  background-color: #D30B33;
  border-radius: 0px 48px 48px 0;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__inner::before {
    width: 100%;
    height: 420px;
    border-radius: 0;
    top: 65px;
  }
}
.recommend-properties-section__slider-container {
  position: relative;
  margin-bottom: 19px;
  margin-left: auto;
  padding: 60px 0 61px 107px;
  border-radius: 48px 0 0 48px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__slider-container {
    margin: 0 0 73px 0;
    padding: 35px 0;
    border-radius: 0px;
  }
}
.recommend-properties-section__slider {
  padding: 0 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin-top: -101px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__slider {
    margin-top: -35px;
  }
}
.recommend-properties-section__slider .slick-list {
  margin: 0 -20px;
}
.recommend-properties-section__card {
  background: #FFFFFF;
  border-radius: 10px;
  -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  height: 475px;
  margin: 0 20px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card {
    margin: 0 5px;
    height: 397px;
  }
}
@media (any-hover: hover) {
  .recommend-properties-section__card:hover .detail-button {
    background-color: #FFFEF1;
    color: #4A4A4A;
  }
  .recommend-properties-section__card:hover .detail-button::before {
    color: #fff;
  }
  .recommend-properties-section__card:hover .detail-button::after {
    background-color: #D30B33;
  }
}
.recommend-properties-section__card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}
.recommend-properties-section__card-image {
  width: 100%;
  height: 194px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-image {
    height: 154px;
  }
}
.recommend-properties-section__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.recommend-properties-section__card:hover .recommend-properties-section__card-image img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.recommend-properties-section__card-content {
  padding: 16px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 280px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-content {
    padding: 19px 23px;
    gap: 11px;
    height: 243px;
  }
}
.recommend-properties-section__card-property-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-property-category {
    margin-bottom: 2px;
  }
}
.recommend-properties-section__card-property-category-label {
  font-size: 1.4rem;
  font-weight: 500;
  color: #3F3F3F;
  padding-right: 22px;
  border-right: 1px solid #B5B5B5;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-property-category-label {
    font-size: 1.2rem;
    padding-right: 31px;
  }
}
.recommend-properties-section__card-property-category-value {
  font-size: 1.4rem;
  font-weight: 700;
  color: #D30B33;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-property-category-value {
    font-size: 1.2rem;
  }
}
.recommend-properties-section__card-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-tags {
    gap: 9px;
    margin-bottom: 0;
  }
}
.recommend-properties-section__card-tags .tag {
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #4E4E4E;
  background-color: #fff;
  border: 1px solid #B5B5B5;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-tags .tag {
    font-size: 1rem;
  }
}
.recommend-properties-section__card-tags .tag--new {
  background-color: #FFF5F6;
  border: 1px solid #D30B33;
  color: #D30B33;
}
.recommend-properties-section__card-tags .tag--station {
  background-color: #fff;
  border: 1px solid #B5B5B5;
}
.recommend-properties-section__card-tags .tag--layout {
  background-color: #fff;
  border: 1px solid #B5B5B5;
}
.recommend-properties-section__card-tags .tag--new-building {
  background-color: #FFF5F6;
  border: 1px solid #D30B33;
  color: #D30B33;
}
.recommend-properties-section__card-property-name {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-property-name {
    font-size: 1.4rem;
  }
}
.recommend-properties-section__card-price {
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.4;
  color: #D30B33;
  display: block;
}
.recommend-properties-section__card-details {
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-details {
    margin-top: -6px;
    margin-bottom: 7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
}
.recommend-properties-section__card-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-detail {
    margin-bottom: 0;
  }
}
.recommend-properties-section__card-detail-label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #333;
  padding-right: 8px;
  border-right: 1px solid #B5B5B5;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-detail-label {
    font-size: 1.2rem;
    padding-right: 12px;
  }
}
.recommend-properties-section__card-detail-value {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-detail-value {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__card-detail-button {
    font-size: 1.2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.recommend-properties-section__slider-controls {
  position: relative;
  bottom: 0px;
  right: 182px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  z-index: 10;
  padding-right: 180px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__slider-controls {
    position: absolute;
    right: auto;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    padding: 0 38px;
  }
}
.recommend-properties-section__slider-controls .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  position: absolute;
  left: 58%;
  top: 12px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0;
  width: auto;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__slider-controls .slick-dots {
    top: 12px;
    left: 50%;
  }
}
.recommend-properties-section__slider-controls .slick-dots li {
  width: auto;
  margin: 0;
}
.recommend-properties-section__slider-controls .slick-dots li button {
  font-size: 0;
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #D9D9D9;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.recommend-properties-section__slider-controls .slick-dots li button::before {
  display: none;
}
.recommend-properties-section__slider-controls .slick-dots li.slick-active button {
  background-color: #fff;
  outline: 1px solid #fff;
  outline-offset: -1px;
}
.recommend-properties-section__nav-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__nav-buttons {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.recommend-properties-section__nav-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #333333;
  border: 2px solid #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__nav-button {
    width: 40px;
    height: 40px;
  }
}
.recommend-properties-section__nav-button.prev::before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__nav-button.prev::before {
    font-size: 1.6rem;
  }
}
.recommend-properties-section__nav-button.next::before {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .recommend-properties-section__nav-button.next::before {
    font-size: 1.6rem;
  }
}
.recommend-properties-section__nav-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@media (any-hover: hover) {
  .recommend-properties-section__nav-button:hover:not(:disabled) {
    border: 2px solid #B5B5B5;
    background-color: #fff;
  }
  .recommend-properties-section__nav-button:hover:not(:disabled)::before {
    color: #333;
  }
}
.recommend-properties-section__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
}
.recommend-properties-section__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #D9D9D9;
  border: none;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  font-size: 0;
  padding: 0;
}
.recommend-properties-section__dot.active {
  background-color: #fff;
}