@charset "UTF-8";
/* カラーコード
-------------------------------------------------------------------- */
/* box-shadow
-------------------------------------------------------------------- */
/* ピクセルをremに置き換えて返す関数
-------------------------------------------------------------------- */
/* ブレイクポイント
-------------------------------------------------------------------- */
/* メディアクエリ
-------------------------------------------------------------------- */
/* イージング
-------------------------------------------------------------------- */
/* ホバーで画像拡大
-------------------------------------------------------------------- */
/* フォントファミリー
-------------------------------------------------------------------- */
/* z-index
-------------------------------------------------------------------- */
/* css カスタムプロパティー
-------------------------------------------------------------------- */
:root {
  --header-height: 5.25rem;
}
@media (max-width: 80rem) {
  :root {
    --header-height: 6rem;
  }
}
:root {
  --header-form-height: 4.6875rem;
}
@media (max-width: 48rem) {
  :root {
    --header-form-height: 3.3125rem;
  }
}
:root {
  --header-ms-height: 5.625rem;
}
@media (max-width: 48rem) {
  :root {
    --header-ms-height: 3.75rem;
  }
}
:root {
  --header-ms-float-height: 4rem;
}
@media (max-width: 48rem) {
  :root {
    --header-ms-float-height: 3.125rem;
  }
}
:root {
  --header-ms-ex-height: 9rem;
}
@media (max-width: 66.25rem) {
  :root {
    --header-ms-ex-height: 10.4375rem;
  }
}
@media (max-width: 48rem) {
  :root {
    --header-ms-ex-height: 9.0625rem;
  }
}

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  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 {
  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;
}

/* dialog */
/* ============================================ */
:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

::-moz-selection {
  text-shadow: none;
}

::selection {
  text-shadow: none;
}

body {
  width: 100%;
  background: #FFFFFF;
  color: #000000;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-east-asian: proportional-width;
  overflow-wrap: break-word;
  text-rendering: optimizelegibility;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  body {
    font-size: 0.875rem;
  }
}

main {
  padding-top: var(--header-height);
  overflow-x: clip;
}

.form main {
  padding-top: var(--header-form-height);
}

.selection main {
  padding-top: var(--header-ms-height);
}

.selection:has(.--type02.--type-float) main {
  padding-top: 0;
}

input, select, textarea {
  font-size: 1rem;
}

label,
input,
select {
  cursor: pointer;
}

input[type=radio] {
  opacity: 0;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

dt {
  font-weight: inherit;
}

em {
  font-style: normal;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 0.125rem solid #000000;
}

/* cmn-container
-------------------------------------------------------------------- */
.cmn-container {
  padding: 5rem 0;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-container {
    padding: 2.5rem 0;
  }
}
.cmn-container:first-of-type {
  padding-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container:first-of-type {
    padding-top: 2.5rem;
  }
}
.cmn-container.--first-rounded {
  border-top-left-radius: 1.875rem !important;
  padding-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--first-rounded {
    border-top-left-radius: 1.5rem !important;
    padding-top: 2.5rem;
  }
}
.cmn-container.--first-not-rounded {
  border-top-left-radius: unset !important;
}
.cmn-container.--last-not-rounded {
  border-bottom-right-radius: unset !important;
}
.cmn-container.--not-rounded {
  border-top-left-radius: unset !important;
  border-bottom-right-radius: unset !important;
}
.cmn-container.--narrow-first {
  padding-top: 3rem;
}
@media (max-width: 48rem) {
  .cmn-container.--narrow-first {
    padding-top: 1.5rem;
  }
}
.cmn-container.--narrow {
  padding: 5rem 0;
}
@media (max-width: 48rem) {
  .cmn-container.--narrow {
    padding: 2.125rem 0;
  }
}
.cmn-container.--narrow:first-of-type {
  padding-top: 4.5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--narrow:first-of-type {
    padding-top: 3rem;
  }
}
.cmn-container.--navy::before, .cmn-container.--navy::after, .cmn-container.--white::before, .cmn-container.--white::after, .cmn-container.--white02::before, .cmn-container.--white02::after, .cmn-container.--brown::before, .cmn-container.--brown::after, .cmn-container.--blue::before, .cmn-container.--blue::after, .cmn-container.--red::before, .cmn-container.--red::after, .cmn-container.--gray::before, .cmn-container.--gray::after {
  content: "";
  display: block;
  width: 100%;
  height: 2.5rem;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
}
.cmn-container.--navy::before, .cmn-container.--white::before, .cmn-container.--white02::before, .cmn-container.--brown::before, .cmn-container.--blue::before, .cmn-container.--red::before, .cmn-container.--gray::before {
  top: 0;
}
.cmn-container.--navy::after, .cmn-container.--white::after, .cmn-container.--white02::after, .cmn-container.--brown::after, .cmn-container.--blue::after, .cmn-container.--red::after, .cmn-container.--gray::after {
  top: -2.5rem;
}
.cmn-container.--navy:not(:first-of-type), .cmn-container.--white:not(:first-of-type), .cmn-container.--white02:not(:first-of-type), .cmn-container.--brown:not(:first-of-type), .cmn-container.--blue:not(:first-of-type), .cmn-container.--red:not(:first-of-type), .cmn-container.--gray:not(:first-of-type) {
  border-top-left-radius: 1.875rem;
  padding-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--navy:not(:first-of-type), .cmn-container.--white:not(:first-of-type), .cmn-container.--white02:not(:first-of-type), .cmn-container.--brown:not(:first-of-type), .cmn-container.--blue:not(:first-of-type), .cmn-container.--red:not(:first-of-type), .cmn-container.--gray:not(:first-of-type) {
    border-top-left-radius: 1.5rem;
    padding-top: 2.5rem;
  }
}
.cmn-container.--navy:not(:last-child), .cmn-container.--white:not(:last-child), .cmn-container.--white02:not(:last-child), .cmn-container.--brown:not(:last-child), .cmn-container.--blue:not(:last-child), .cmn-container.--red:not(:last-child), .cmn-container.--gray:not(:last-child) {
  border-bottom-right-radius: 1.875rem;
  padding-bottom: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--navy:not(:last-child), .cmn-container.--white:not(:last-child), .cmn-container.--white02:not(:last-child), .cmn-container.--brown:not(:last-child), .cmn-container.--blue:not(:last-child), .cmn-container.--red:not(:last-child), .cmn-container.--gray:not(:last-child) {
    border-bottom-right-radius: 1.5rem;
    padding-bottom: 2.5rem;
  }
}
.cmn-container.--white {
  background-color: #FFFFFF;
}
.cmn-container.--white::after {
  background-color: #FFFFFF;
}
.cmn-container.--brown {
  background-color: #F6F1EE;
}
.cmn-container.--brown::after {
  background-color: #F6F1EE;
}
.cmn-container.--white02 {
  background-color: #FFFFFF;
}
.cmn-container.--white02::after {
  background-color: #FFFFFF;
}
.cmn-container.--blue {
  background-color: #E1E1EA;
}
.cmn-container.--blue::after {
  background-color: #E1E1EA;
}
.cmn-container.--red {
  background-color: #CC0000;
}
.cmn-container.--red::after {
  background-color: #CC0000;
}
.cmn-container.--navy {
  background-color: #10123B;
}
.cmn-container.--navy::after {
  background-color: #10123B;
}
.cmn-container.--gray {
  background-color: #F2F2F2;
}
.cmn-container.--gray::after {
  background-color: #F2F2F2;
}

.cmn-container.--white + .cmn-container::before,
.cmn-container.--white02 + .cmn-container::before {
  background-color: #FFFFFF;
}

.cmn-container.--brown + .cmn-container::before {
  background-color: #F6F1EE;
}

.cmn-container.--blue + .cmn-container::before {
  background-color: #E1E1EA;
}

.cmn-container.--red + .cmn-container::before {
  background-color: #CC0000;
}

.cmn-container.--navy + .cmn-container::before {
  background-color: #10123B;
}

.cmn-container.--gray + .cmn-container::before {
  background-color: #F2F2F2;
}

.home-about + .cmn-container::before {
  background-color: #CC0000;
}

/* cmn-inner
-------------------------------------------------------------------- */
.cmn-inner {
  width: calc(100% - 2.5rem);
  max-width: 66.25rem;
  margin: 0 auto;
  position: relative;
}
.cmn-inner.--wide {
  max-width: 80rem;
}
.cmn-inner.--sp-wide {
  width: calc(100% - 2rem);
}

.cmn-offset-inner {
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
}

/* cmn-spacer
-------------------------------------------------------------------- */
.cmn-spacer {
  display: block;
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer {
    margin-top: 2.5rem;
  }
}
.cmn-spacer.--s {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer.--s {
    margin-top: 2.5rem;
  }
}
.cmn-spacer.--ss {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer.--ss {
    margin-top: 2.5rem;
  }
}
.cmn-spacer.--xs {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer.--xs {
    margin-top: 2rem;
  }
}

/* cmn-flow-spacer
-------------------------------------------------------------------- */
.cmn-flow-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3.5rem 0;
}
@media (max-width: 48rem) {
  .cmn-flow-spacer {
    width: calc(100% + 2.5rem);
    margin: 2.5rem -1.25rem;
  }
}
.cmn-flow-spacer::before {
  z-index: 1;
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.cmn-flow-spacer img {
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  width: 1.75rem;
  height: 1.75rem;
}
@media (max-width: 48rem) {
  .cmn-flow-spacer img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.cmn-flow-spacer__arrow {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  background-image: url("../../../img/common/icon-flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.395625rem 1.291875rem;
}
@media (max-width: 48rem) {
  .cmn-flow-spacer__arrow {
    width: 1.5rem;
    height: 1.5rem;
    background-size: 1.19625rem 1.106875rem;
  }
}

/* cmn-line-spacer
-------------------------------------------------------------------- */
.cmn-line-spacer {
  display: block;
  width: 100vw;
  margin: 5rem 0;
  position: relative;
  height: 0.125rem;
  background-color: #DDDDDD;
}
@media (max-width: 48rem) {
  .cmn-line-spacer {
    margin: 2.5rem 0;
  }
}
.cmn-line-spacer.--secondary {
  background-color: #BD967C;
}
.cmn-inner .cmn-line-spacer {
  margin: 5rem calc(100% - 100vw);
  left: calc((100vw - 100%) / 2);
}
@media (max-width: 1100px) {
  .cmn-inner .cmn-line-spacer {
    margin: 5rem -1.25rem;
    left: unset;
  }
}
@media (max-width: 48rem) {
  .cmn-inner .cmn-line-spacer {
    margin: 2.5rem -1.25rem;
  }
}
@media (max-width: 1320px) {
  .cmn-inner.--wide .cmn-line-spacer {
    margin: 5rem -1.25rem;
  }
}
@media (max-width: 48rem) {
  .cmn-inner.--wide .cmn-line-spacer {
    margin: 2.5rem -1.25rem;
  }
}

/* cmn-line-spacer02 //2カラムレイアウトのmainの中で区切る
-------------------------------------------------------------------- */
.cmn-line-spacer02 {
  display: block;
  margin-top: 5rem;
  margin-bottom: 5rem;
  height: 0.125rem;
  background-color: #DDDDDD;
}
.cmn-line-spacer02.--left {
  margin-left: calc(50% - 50vw);
}
.cmn-line-spacer02.--right {
  margin-right: calc(50% - 50vw);
}
@media (max-width: 66.25rem) {
  .cmn-line-spacer02.--left {
    margin-right: calc(50% - 50vw);
  }
  .cmn-line-spacer02.--right {
    margin-left: calc(50% - 50vw);
  }
}
@media (max-width: 48rem) {
  .cmn-line-spacer02 {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

/* cmn-dotline-spacer //inner幅に応じたシンプルな点線の区切り線
-------------------------------------------------------------------- */
.cmn-dotline-spacer {
  display: block;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  border-top: 1px dotted #808080;
}
@media (max-width: 48rem) {
  .cmn-dotline-spacer {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

/* cmn-dot-spacer
-------------------------------------------------------------------- */
.cmn-dot-spacer {
  display: block;
  width: 100%;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  position: relative;
  height: 0.0625rem;
}
@media (max-width: 48rem) {
  .cmn-dot-spacer {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.cmn-dot-spacer::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}

/* cmn-drag-scrollable
-------------------------------------------------------------------- */
.cmn-drag-scrollable {
  overflow-x: auto;
}
@media (max-width: 66.25rem) {
  .cmn-drag-scrollable {
    padding-bottom: 1rem;
  }
}

/* cmn-2col-layout
-------------------------------------------------------------------- */
.cmn-2col-layout {
  display: flex;
  gap: 2.5rem;
}
.cmn-2col-layout .cmn-2col-layout__aside {
  width: 22.5rem;
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
  position: sticky;
  top: var(--header-height);
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout .cmn-2col-layout__aside {
    display: none;
  }
}
.cmn-2col-layout .cmn-2col-layout__main {
  container-type: inline-size;
  width: calc(100% - 3.125rem - 21.875rem + 0.625rem);
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout .cmn-2col-layout__main {
    width: 100%;
  }
}

.cmn-2col-layout02 {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-2col-layout02 {
    flex-direction: column;
    gap: unset;
  }
}
.cmn-2col-layout02 .cmn-2col-layout02__head {
  flex-shrink: 0;
  width: 20.75rem;
}
@media (max-width: 48rem) {
  .cmn-2col-layout02 .cmn-2col-layout02__head {
    width: 100%;
  }
}
.cmn-2col-layout02 .cmn-2col-layout02__body {
  max-width: 41.25rem;
  width: calc(100% - 2rem - 20.75rem);
}
@media (max-width: 48rem) {
  .cmn-2col-layout02 .cmn-2col-layout02__body {
    width: 100%;
    max-width: unset;
  }
}

.cmn-2col-layout03 {
  display: flex;
  gap: 2.5rem;
  flex-direction: row-reverse;
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout03:not(.--md) {
    flex-direction: column;
  }
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout03:not(.--md) .cmn-2col-layout03__aside {
    position: static;
    width: 100%;
    height: auto;
  }
  .cmn-2col-layout03:not(.--md) .cmn-2col-layout03__aside > * {
    width: 100%;
  }
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout03:not(.--md) .cmn-2col-layout03__main {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .cmn-2col-layout03 {
    flex-direction: column;
  }
}
.cmn-2col-layout03 .cmn-2col-layout03__aside {
  width: 22.5rem;
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
  position: sticky;
  top: calc(var(--header-height) + 4.5rem);
}
@media (max-width: 48rem) {
  .cmn-2col-layout03 .cmn-2col-layout03__aside {
    position: static;
    width: 100%;
    height: auto;
  }
  .cmn-2col-layout03 .cmn-2col-layout03__aside > * {
    width: 100%;
  }
}
.cmn-2col-layout03 .cmn-2col-layout03__main {
  container-type: inline-size;
  width: calc(100% - 3.125rem - 21.875rem + 0.625rem);
}
@media (max-width: 48rem) {
  .cmn-2col-layout03 .cmn-2col-layout03__main {
    width: 100%;
  }
}

/* cmn-grid
-------------------------------------------------------------------- */
.cmn-grid-col4 {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .cmn-grid-col4 {
    gap: 4rem 2rem;
  }
}
@media (max-width: 48rem) {
  .cmn-grid-col4 {
    gap: 2rem;
  }
}
@media (max-width: 40rem) {
  .cmn-grid-col4 {
    gap: 1.5rem;
  }
}
.cmn-grid-col4 > * {
  width: calc((100% - 7.5rem) / 4);
}
@media (max-width: 66.25rem) {
  .cmn-grid-col4 > * {
    width: calc((100% - 4rem) / 3);
  }
}
@media (max-width: 48rem) {
  .cmn-grid-col4 > * {
    width: calc((100% - 2rem) / 2);
  }
}
@media (max-width: 40rem) {
  .cmn-grid-col4 > * {
    width: 100%;
  }
}

.cmn-grid-col4-02 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col4-02 {
    gap: 2rem;
  }
}
.cmn-grid-col4-02 > * {
  width: calc((100% - 4.5rem) / 4);
}
@media (max-width: 48rem) {
  .cmn-grid-col4-02 > * {
    width: 100%;
  }
}

.cmn-grid-col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col3 {
    gap: 1.5rem;
  }
}
.cmn-grid-col3 > * {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .cmn-grid-col3 > * {
    width: 100%;
  }
}

.cmn-grid-col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col2 {
    gap: 1.25rem;
  }
}
.cmn-grid-col2 > * {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .cmn-grid-col2 > * {
    width: 100%;
  }
}

/* cmn-slider
-------------------------------------------------------------------- */
.cmn-slider.--overflow-hidden .splide__track {
  overflow: hidden;
}
@media (max-width: 48rem) {
  .cmn-slider.--overflow-hidden .splide__track {
    overflow: visible;
  }
}
@media (max-width: 30rem) {
  .cmn-slider.--sp-w300 .splide__slide {
    width: 18.75rem !important;
    margin-inline: auto;
  }
}
.cmn-slider .splide__track {
  overflow: visible;
}
.cmn-slider.splide.is-initialized:not(.is-active) .splide__list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-slider .splide__list:has(> :only-child) .splide__slide {
    margin-right: 0 !important;
    width: 100% !important;
  }
}
.cmn-slider .splide__arrows.--right {
  justify-content: flex-end;
}
.cmn-slider .splide__arrows.splide__arrows--ltr {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cmn-slider .splide__arrow {
  left: unset;
  right: unset;
  top: unset;
  transform: unset;
  opacity: 1;
  position: relative;
  border: #EEE6E0 solid 0.125rem;
  background-color: #FFFFFF;
  border-radius: 50%;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
}
.cmn-slider .splide__arrow::before {
  content: "";
  transform: unset;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
.cmn-slider .splide__arrow:disabled {
  opacity: 1;
  pointer-events: none;
}
@media (any-hover: hover) {
  .cmn-slider .splide__arrow:hover {
    background-color: #F00000;
    border-color: #F00000;
  }
  .cmn-slider .splide__arrow:hover::before {
    background-color: #FFFFFF;
  }
}
.cmn-slider .splide__arrow--prev {
  transform: scaleX(-1);
}
.cmn-slider .splide__pagination {
  padding: unset;
  position: static;
  margin-top: 2rem;
  gap: 1.25rem;
}
.cmn-slider .splide__pagination__page {
  width: 0.5rem;
  height: 0.5rem;
  background-color: #CCCCCC;
  margin: unset;
}
.cmn-slider .splide__pagination__page.is-active {
  transform: scale(1.25);
  background-color: #F00000;
}
.cmn-slider.--2col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
.cmn-slider.--2col .splide__slide {
  width: calc((100% - 2rem) / 2);
}
.cmn-slider:not(.is-initialized) {
  visibility: visible;
}
.cmn-slider:not(.is-initialized) .splide__arrows {
  display: none;
}
.cmn-slider:not(.is-initialized) .splide__slide {
  width: 100%;
}
.cmn-slider.--1col .splide__track {
  overflow: hidden;
}
.cmn-slider.--1col .splide__slide {
  padding: 0 0.2rem;
}
.cmn-slider.--1col .splide__arrows {
  margin-left: auto;
}
.cmn-slider.--1col.--overflow-visible .splide__track {
  overflow: visible;
}
.cmn-slider.--3col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-slider.--3col.splide.is-initialized:not(.is-active) .splide__list {
    gap: 1rem;
  }
}
.cmn-slider.--3col .splide__slide {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .cmn-slider.--3col .splide__slide {
    width: calc((100% - 2rem) / 3);
  }
}
@media (max-width: 48rem) {
  .cmn-slider.--3col.--sp-2col .splide__slide {
    width: calc((100% - 1rem) / 2);
  }
}
.cmn-slider.--4col .splide__track {
  overflow-x: clip;
}
@media (max-width: 48rem) {
  .cmn-slider.--4col .splide__track {
    overflow-x: visible;
  }
}
.cmn-slider.--4col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 1.5rem;
}
.cmn-slider.--4col .splide__slide {
  width: calc((100% - 4.5rem) / 4);
}
.cmn-slider__arrow-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-slider__arrow-wrap {
    display: none;
  }
}

/* cmn-section-ttl h2
-------------------------------------------------------------------- */
.cmn-section-ttl {
  font-weight: bold;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl {
    gap: 0.125rem;
  }
}
.cmn-section-ttl .en {
  font-size: 1rem;
  font-family: "Lato", sans-serif;
  color: #F00000;
}
@media (max-width: 48rem) {
  .cmn-section-ttl .en {
    font-size: 0.75rem;
  }
}
.cmn-section-ttl .ja {
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl .ja {
    font-size: 1.25rem;
  }
}
.cmn-section-ttl-wrap.--txt-s .cmn-section-ttl .ja {
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--txt-s .cmn-section-ttl .ja {
    font-size: 1.125rem;
  }
}

.cmn-container.--navy .cmn-section-ttl .en, .cmn-container.--navy .cmn-section-ttl .ja {
  color: #FFFFFF;
}

.cmn-section-ttl-wrap {
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap {
    margin-bottom: 2.5rem;
  }
}
.cmn-section-ttl-wrap.--narrow {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--narrow {
    margin-bottom: 1.5rem;
  }
}
.cmn-section-ttl-wrap.--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 3.5rem;
  justify-content: space-between;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--row {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
}
.cmn-section-ttl-wrap.--pc-center {
  text-align: center;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--pc-center {
    text-align: left;
  }
}
.cmn-section-ttl-wrap.--center {
  text-align: center;
}

/* cmn-contents-ttl h3
-------------------------------------------------------------------- */
.cmn-contents-ttl {
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding-left: 1.375rem;
  position: relative;
}
.cmn-contents-ttl.--font-large {
  font-size: 2rem;
  padding-left: 1.5rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl.--font-large {
    font-size: 1.125rem;
    padding-left: 1.375rem;
  }
}
.cmn-contents-ttl.--lead {
  flex-direction: column;
  gap: 0.125rem;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl {
    font-size: 1.125rem;
    line-height: 1.5;
    padding-left: 1.125rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
.cmn-contents-ttl::before {
  content: "";
  display: block;
  width: 0.375rem;
  position: absolute;
  top: 8.333334%;
  bottom: 8.333334%;
  left: 0;
  background-color: #F00000;
  border-radius: 0.1875rem;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl::before {
    top: 3.333334%;
    bottom: 3.333334%;
  }
}
.cmn-contents-ttl__caption {
  margin-right: 0.75rem;
  font-size: 1rem;
  font-weight: 400;
}
.cmn-contents-ttl__lead {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl__lead {
    font-size: 0.625rem;
  }
}
.cmn-contents-ttl__lead.--s {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl__lead.--s {
    font-size: 0.625rem;
  }
}

.cmn-contents-ttl-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap {
    margin-bottom: 2rem;
  }
}
.cmn-contents-ttl-wrap.--narrow {
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--narrow {
    margin-bottom: 1rem;
  }
}
.cmn-contents-ttl-wrap.--compact {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--compact {
    margin-bottom: 2.25rem;
  }
}
.cmn-contents-ttl-wrap.--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 3.5rem;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--row {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
}
.cmn-contents-ttl-wrap.--row .cmn-contents-ttl-sub {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--row .cmn-contents-ttl-sub {
    gap: 0.25rem 1.25rem;
  }
}

/* cmn-block-ttl h4
-------------------------------------------------------------------- */
.cmn-block-ttl {
  font-size: 1.25rem;
  font-weight: bold;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .cmn-block-ttl {
    font-size: 1rem;
  }
}

.cmn-block-ttl-wrap {
  margin-bottom: 1rem;
}
/* 該当件数テキスト
-------------------------------------------------------------------- */
.cmn-highlight-listing-txt {
  margin-bottom: 0.75rem;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt {
    font-size: 0.875rem;
    font-weight: bold;
  }
}
.cmn-highlight-listing-txt.--wide {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt.--wide {
    margin-bottom: 1rem;
  }
}
.cmn-highlight-listing-txt .num {
  font-size: 2rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  color: #CC0000;
  margin: 0 0.25rem;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt .num {
    font-size: 1.5rem;
  }
}

.cmn-highlight-listing-txt02 {
  margin-bottom: 2.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt02 {
    margin-bottom: 2rem;
    font-size: 1rem;
    font-weight: bold;
  }
}
.cmn-highlight-listing-txt02 .num {
  font-size: 1.75rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  margin: 0 0.1875rem 0 0.5rem;
  color: #CC0000;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt02 .num {
    font-size: 1.5rem;
    margin: 0 0.1875rem 0 0.25rem;
  }
}

/* まとめてチェック
-------------------------------------------------------------------- */
.cmn-at-once {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-at-once {
    margin-bottom: 0.75rem;
  }
}
.cmn-at-once__txt {
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-weight: bold;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-at-once__txt {
    gap: 0.5rem;
    font-size: 0.875rem;
  }
}
.cmn-at-once__txt::before {
  flex-shrink: 0;
  content: "";
  width: 3.5rem;
  height: 3.9475rem;
  display: block;
  background-image: url("../../../img/mypage/mypage-list-head-pc.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 48rem) {
  .cmn-at-once__txt::before {
    width: 2.5rem;
    height: 2.885rem;
    background-image: url("../../../img/mypage/mypage-list-head-sp.svg");
  }
}

/* 吹き出し見出し 
-------------------------------------------------------------------- */
.cmn-bubble-head {
  margin-bottom: 2.5rem;
  position: relative;
  padding: 0.5rem 2rem;
  background-color: #AF0808;
  border-radius: 0.5rem;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 1.5rem;
}
.cmn-bubble-head::after {
  position: absolute;
  left: 50%;
  bottom: -1.25rem;
  translate: -50% 0;
  content: "";
  display: block;
  width: 3.5rem;
  height: 1.25rem;
  background-color: #AF0808;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media (max-width: 48rem) {
  .cmn-bubble-head::after {
    bottom: -1.125rem;
  }
}
@media (max-width: 48rem) {
  .cmn-bubble-head {
    margin-bottom: 2.125rem;
    padding: 0.5rem 1rem;
    font-size: 1.125rem;
  }
  .cmn-bubble-head::after {
    width: 3rem;
    height: 1.125rem;
  }
}

/* cmn-page-head h1
-------------------------------------------------------------------- */
.cmn-page-head {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  height: 14.375rem;
  min-height: -moz-fit-content;
  min-height: fit-content;
  width: 100%;
}
@media (max-width: 48rem) {
  .cmn-page-head {
    background-color: #F6F1EE;
    min-height: 8.25rem;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.cmn-page-head__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  position: absolute;
  z-index: 2;
}
@media (max-width: 48rem) {
  .cmn-page-head__ttl {
    gap: 0.625rem;
  }
}
.cmn-page-head__sub {
  color: #4D4D4D;
  font-size: 1rem;
  font-weight: bold;
  line-height: 2rem;
  padding: 0 0.75rem;
  background-color: #FFFFFF;
  border-radius: 0.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head__sub {
    font-size: 0.75rem;
    line-height: 1.5625rem;
    background-color: #BD967C;
    color: #FFFFFF;
  }
}
.cmn-page-head__sub.--brown {
  background-color: #BD967C;
  color: #FFFFFF;
}
.cmn-page-head__main {
  font-weight: bold;
  font-size: 2rem;
  color: #FFFFFF;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .cmn-page-head__main {
    font-size: 1.25rem;
    color: #000000;
  }
}
.cmn-page-head__bg {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #F6F1EE;
}
.cmn-page-head__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .cmn-page-head__bg img {
    display: none;
  }
}
.cmn-page-head.--child {
  height: 10.875rem;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child {
    height: 9.5rem;
  }
}
.cmn-page-head.--child.--pc-left .cmn-page-head__ttl {
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child.--pc-left .cmn-page-head__ttl {
    align-items: center;
  }
}
.cmn-page-head.--child.--pc-left .cmn-page-head__sub {
  display: none;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child.--pc-left .cmn-page-head__sub {
    display: block;
  }
}
.cmn-page-head.--child .cmn-page-head__sub {
  color: #FFFFFF;
  background-color: #BD967C;
}
.cmn-page-head.--child .cmn-page-head__main {
  font-size: 2rem;
  color: #000000;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child .cmn-page-head__main {
    font-size: 1.25rem;
    line-height: 1.75;
  }
}
@media (max-width: 48rem) {
  .cmn-page-head.--child .cmn-page-head__main.--sp-lg {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media (max-width: 48rem) {
  .cmn-page-head.--sp-child {
    height: 3.875rem;
  }
  .cmn-page-head.--sp-child + .cmn-container {
    padding-top: 1rem;
  }
}

/* cmn-promo-visual 売りたい マンション・戸建て・土地
-------------------------------------------------------------------- */
.cmn-promo-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 25.75rem;
  width: 100%;
  padding: 1.25rem 0;
}
@media (max-width: 48rem) {
  .cmn-promo-visual {
    min-height: unset;
    height: auto;
    padding: 1rem 0 2rem;
    background-color: #F6F1EE;
  }
}
.cmn-promo-visual__inner {
  z-index: 2;
}
.cmn-promo-visual__ttl {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__ttl {
    color: #000000;
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
.cmn-promo-visual__main {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__main {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }
}
.cmn-promo-visual__main .no1-badge {
  width: 51.8867924528%;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__main .no1-badge {
    width: 100%;
  }
}
.cmn-promo-visual__main .no1-badge img {
  aspect-ratio: 550/143.31;
}
.cmn-promo-visual__main .no1-badge figcaption {
  font-size: 0.875rem;
  margin-top: 0.75rem;
  line-height: 1.5;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__main .no1-badge figcaption {
    font-size: 0.5625rem;
    color: #000000;
    margin-top: 0.5rem;
  }
}
.cmn-promo-visual__msg {
  flex: 1;
  color: #FFFFFF;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__msg {
    color: #000000;
  }
}
.cmn-promo-visual__msg-ttl {
  font-size: 1.25rem;
  margin-bottom: 1.25rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__msg-ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.cmn-promo-visual__msg-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__msg-txt {
    font-size: 0.875rem;
  }
}
.cmn-promo-visual__msg-txt strong {
  font-weight: bold;
}
.cmn-promo-visual__bg {
  display: block;
  position: absolute;
  inset: 0;
  height: 100%;
  background-color: #F6F1EE;
}
.cmn-promo-visual__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__bg img {
    display: none;
  }
}

/* =========================================================== */
/* ボタン テキストリンク */
/* =========================================================== */
/* ボタン 
-------------------------------------------------------------------- */
.cmn-btn {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  border-radius: 2rem;
  padding: 0.25rem 2.5rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 3.5rem;
  color: #FFFFFF;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
}
@media (max-width: 48rem) {
  .cmn-btn {
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.25rem 2rem;
  }
}
@media (max-width: 30rem) {
  .cmn-btn {
    width: 100%;
  }
}
.cmn-btn.--s {
  min-height: 3rem;
}
.cmn-btn.--font-14 {
  font-size: 0.875rem;
}
.cmn-btn.--all-radius {
  border-radius: 624.9375rem;
}
@media (max-width: 48rem) {
  .cmn-btn.--sp-large {
    min-height: 3.5rem;
  }
}
.cmn-btn.--red {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-btn.--red:not(:disabled):hover {
    background-color: #AF0808;
  }
}
.cmn-btn.--blue {
  background-color: #020055;
}
@media (any-hover: hover) {
  .cmn-btn.--blue:not(:disabled):hover {
    background-color: #3A397B;
  }
}
.cmn-btn.--green {
  background-color: #133822;
}
@media (any-hover: hover) {
  .cmn-btn.--green:not(:disabled):hover {
    background-color: #476453;
  }
}
.cmn-btn.--secondary {
  color: #F00000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #F00000;
}
.cmn-btn.--secondary .cmn-btn__icon {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-btn.--secondary:not(:disabled):hover {
    color: #FFFFFF;
    background-color: #AF0808;
    border: 0.0625rem solid #AF0808;
  }
  .cmn-btn.--secondary:not(:disabled):hover .cmn-btn__icon {
    background-color: #FFFFFF;
  }
}
.cmn-btn.--secondary.--black {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--secondary.--black .cmn-btn__icon {
  background-color: #000000;
}
@media (any-hover: hover) {
  .cmn-btn.--secondary.--black:not(:disabled):hover {
    color: #FFFFFF;
    background-color: #AF0808;
    border: 0.0625rem solid #AF0808;
  }
  .cmn-btn.--secondary.--black:not(:disabled):hover .cmn-btn__icon {
    background-color: #FFFFFF;
  }
}
.cmn-btn.--tertiary {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--tertiary .cmn-btn__icon {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-btn.--tertiary:not(:disabled):hover {
    color: #F00000;
    border: 0.0625rem solid #F00000;
  }
}
.cmn-btn.--tertiary.--blue {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--tertiary.--blue .cmn-btn__icon {
  background-color: #020055;
}
@media (any-hover: hover) {
  .cmn-btn.--tertiary.--blue:not(:disabled):hover {
    color: #3A397B;
    border: 0.0625rem solid #3A397B;
  }
}
.cmn-btn.--tertiary.--black {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--tertiary.--black .cmn-btn__icon {
  background-color: #000000;
}
@media (any-hover: hover) {
  .cmn-btn.--tertiary.--black:not(:disabled):hover {
    color: #F00000;
    border: 0.0625rem solid #F00000;
  }
  .cmn-btn.--tertiary.--black:not(:disabled):hover .cmn-btn__icon {
    background-color: #F00000;
  }
}
.cmn-btn.--primary-grad {
  position: relative;
  isolation: isolate;
  color: #FFFFFF;
  overflow: hidden;
  background-color: #808080;
  transition: background-color 0.3s ease-out;
}
.cmn-btn.--primary-grad::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, #AF0808 0%, #BF0606 50%, #F00000 100%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.cmn-btn.--primary-grad::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #830909 0%, #9B0000 50%, #BE0F0F 100%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.cmn-btn.--primary-grad:not(:disabled)::before {
  opacity: 1;
}
@media (any-hover: hover) {
  .cmn-btn.--primary-grad:not(:disabled):hover::after {
    opacity: 1;
  }
}
.cmn-btn.--primary-grad .cmn-btn__icon {
  background-color: #FFFFFF;
}
.cmn-btn.is-disabled {
  cursor: default;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.cmn-btn__icon {
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1.5rem;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-btn__icon {
    right: 1rem;
  }
}
.cmn-btn__icon.--return {
  transform: rotate(180deg);
  left: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-btn__icon.--return {
    left: 1rem;
  }
}
.cmn-btn__icon.--down {
  transform: rotate(90deg);
}
.cmn-btn.--download, .cmn-btn.--pdf, .cmn-btn.--external {
  padding-inline: 2.75rem;
}
.cmn-btn.--download .cmn-btn__icon, .cmn-btn.--pdf .cmn-btn__icon, .cmn-btn.--external .cmn-btn__icon {
  width: 1rem;
  height: 1rem;
  right: 1.25rem;
}
.cmn-btn.--search {
  padding-inline: 2.75rem;
}
.cmn-btn.--search .cmn-btn__icon {
  width: 1.25rem;
  height: 1.25rem;
  right: 1rem;
  -webkit-mask-image: url(../../../img/common/icon-search.svg);
          mask-image: url(../../../img/common/icon-search.svg);
}
.cmn-btn.--new-mail .cmn-btn__icon, .cmn-btn.--save .cmn-btn__icon, .cmn-btn.--favorite .cmn-btn__icon, .cmn-btn.--calender .cmn-btn__icon, .cmn-btn.--mail .cmn-btn__icon, .cmn-btn.--tel .cmn-btn__icon {
  right: unset;
  left: 2rem;
}
.cmn-btn.--download .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-download.svg);
          mask-image: url(../../../img/common/icon-download.svg);
}
.cmn-btn.--pdf .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
}
.cmn-btn.--external .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
}
.cmn-btn.--new-mail {
  padding-inline: 3.75rem;
}
.cmn-btn.--new-mail .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-new-mail.svg);
          mask-image: url(../../../img/common/icon-new-mail.svg);
  width: 1.5rem;
  height: auto;
  aspect-ratio: 24/18;
}
.cmn-btn.--save {
  padding-inline: 3.75rem;
}
.cmn-btn.--save .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-save.svg);
          mask-image: url(../../../img/common/icon-save.svg);
  width: 1.5rem;
  height: 1.5rem;
}
.cmn-btn.--favorite {
  padding-inline: 3.676875rem;
}
.cmn-btn.--favorite .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-favorite.svg);
          mask-image: url(../../../img/common/icon-favorite.svg);
  width: 1.426875rem;
  height: 1.25rem;
}
.cmn-btn.--favorite.is-disabled {
  color: #F00000;
}
.cmn-btn.--favorite.is-disabled .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-favorite-added.svg);
          mask-image: url(../../../img/common/icon-favorite-added.svg);
}
.cmn-btn.--favorite.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.cmn-btn.--favorite.is-added .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-favorite-added.svg);
          mask-image: url(../../../img/common/icon-favorite-added.svg);
}
.cmn-btn.--calender {
  padding-inline: 3.418125rem;
}
.cmn-btn.--calender .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  width: 1.168125rem;
  height: 1.25rem;
}
.cmn-btn.--mail {
  padding-inline: 3.683125rem;
}
.cmn-btn.--mail .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
  width: 1.433125rem;
  height: 1.125rem;
}
.cmn-btn.--tel {
  padding-inline: 3.5rem;
}
.cmn-btn.--tel .cmn-btn__icon {
  background-color: #020055;
  -webkit-mask-image: url(../../../img/common/icon-tel.svg);
          mask-image: url(../../../img/common/icon-tel.svg);
  width: 1.25rem;
  height: 1.25rem;
}
.cmn-btn.--tel .tel-txt {
  font-weight: 600;
  font-size: 0.75rem;
}
.cmn-btn.--tel .num {
  color: #020055;
  font-weight: 900;
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
}
.cmn-btn.--balloon {
  margin-top: 1.125rem;
}
.cmn-btn.--balloon .cmn-btn__balloon {
  position: absolute;
  top: -1.125rem;
  right: 50%;
  transform: translateX(50%);
  line-height: 1.5rem;
  padding: 0 0.625rem;
  white-space: nowrap;
  min-width: 8.75rem;
  font-size: 0.75rem;
  color: #FFFFFF;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #AA8872;
  border-radius: 1.375rem;
}
.cmn-btn.--balloon .cmn-btn__balloon::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25rem;
  width: 0.375rem;
  height: 0.25rem;
  background: #AA8872;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.cmn-btn.--balloon.--blue .cmn-btn__balloon {
  border: 1px solid #020055;
  background-color: #FFFFFF;
  color: #020055;
}
.cmn-btn.--balloon.--blue .cmn-btn__balloon::after {
  background: #FFFFFF;
}
.cmn-btn.--inline-narrow {
  padding-right: 2rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--inline-narrow {
    padding-right: 1rem;
    padding-left: 2.5rem;
  }
  .cmn-btn.--inline-narrow .cmn-btn__icon {
    left: 1rem;
  }
}
.cmn-btn.--w-full {
  width: 100%;
}
@media (max-width: 30rem) {
  .cmn-btn.--w-full {
    width: 100%;
  }
}
.cmn-btn.--w400 {
  min-width: 25rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w400 {
    min-width: unset;
  }
}
.cmn-btn.--w308 {
  min-width: 19.25rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w308 {
    min-width: unset;
  }
}
.cmn-btn.--w304 {
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w304 {
    min-width: unset;
  }
}
.cmn-btn.--w294 {
  min-width: 18.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w294 {
    min-width: unset;
  }
}
.cmn-btn.--w266 {
  min-width: 16.625rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w266 {
    min-width: unset;
  }
}
.cmn-btn.--w264 {
  min-width: 16.5rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w264 {
    min-width: unset;
  }
}
.cmn-btn.--w260 {
  min-width: 16.25rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w260 {
    min-width: unset;
  }
}
.cmn-btn.--w250 {
  min-width: 15.625rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w250 {
    min-width: unset;
  }
}
@media (max-width: 48rem) {
  .cmn-btn.--md\:w212 {
    min-width: unset;
    width: 13.25rem;
  }
}
@media (max-width: 30rem) {
  .cmn-btn.--xs\:w212 {
    min-width: unset;
    width: 13.25rem;
  }
}

/* お気に入りボタン
-------------------------------------------------------------------- */
.cmn-favorite-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}
@media (max-width: 48rem) {
  .cmn-favorite-btn {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.cmn-favorite-btn .icon-favorite {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  width: 1.426875rem;
  height: 1.25rem;
  background-image: url(../../../img/common/icon-favorite.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .cmn-favorite-btn .icon-favorite {
    width: 1.28375rem;
    height: 1.125rem;
  }
}
.cmn-favorite-btn.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.cmn-favorite-btn.is-added .icon-favorite {
  background-image: url(../../../img/common/icon-favorite-added.svg);
}

/* フォローボタン
-------------------------------------------------------------------- */
.cmn-follow-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}
.cmn-follow-btn .icon-follow {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  width: 1.00875rem;
  height: 1.133125rem;
  background-image: url(../../../img/common/icon-follow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.cmn-follow-btn.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.cmn-follow-btn.is-added .icon-follow {
  background-image: url(../../../img/common/icon-follow-added.svg);
}

/* テキストリンク
-------------------------------------------------------------------- */
.cmn-txt-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: -moz-fit-content;
  width: fit-content;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-txt-link {
    gap: 0.5rem;
  }
}
@media (any-hover: hover) {
  .cmn-txt-link:hover {
    color: #F00000;
    text-decoration: underline;
  }
}
.cmn-txt-link span {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-txt-link span {
    font-size: 0.875rem;
  }
}
.cmn-txt-link img {
  display: block;
  width: 0.5rem;
  height: auto;
}
.cmn-txt-link.--blank {
  gap: 0.25rem;
}
.cmn-txt-link.--blank img {
  width: 1rem;
  aspect-ratio: 1/1;
}
.cmn-txt-link.--pdf img {
  width: 0.984375rem;
  aspect-ratio: 15.75/19.55;
}
.cmn-txt-link.--access {
  gap: 0.25rem;
}
.cmn-txt-link.--access .u-mask-access {
  width: 1rem;
  height: 1rem;
}
.cmn-txt-link.--blue05 {
  color: #020055;
}
@media (any-hover: hover) {
  .cmn-txt-link.--blue05:hover {
    color: #020055;
  }
}
.cmn-txt-link.--uline {
  text-decoration: underline;
}
.cmn-txt-link02 {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  transition: color 0.3s ease-out;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-txt-link02:hover .txt {
    text-decoration: underline;
  }
}
.cmn-txt-link02 .txt {
  font-size: 0.875rem;
}
.cmn-txt-link02 .icon-arrow {
  display: inline-block;
  margin-left: 0.5rem;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
.cmn-txt-link02.--blue05 {
  color: #020055;
}
.cmn-txt-link02.--blank .icon-arrow {
  width: 1rem;
  height: 1rem;
  background-color: #808080;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
}
.cmn-txt-link02.--normal {
  color: #000000;
}
.cmn-txt-link02.--normal .icon-arrow {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-txt-link02.--normal:hover {
    color: #F00000;
  }
}
.cmn-txt-link02.--large-txt .txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-txt-link02.--large-txt .txt {
    font-size: 0.875rem;
  }
}

.cmn-blue-link {
  color: #074EBB;
}
.cmn-blue-link.--uline {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .cmn-blue-link.--uline:hover {
    text-decoration: none;
  }
}

.cmn-txt-link-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-end;
}

/* スクエアボタン 
-------------------------------------------------------------------- */
.cmn-square-btn {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.5rem;
  padding: 0.25rem 1.779375rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 3.5rem;
  color: #000000;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .cmn-square-btn {
    justify-content: flex-start;
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.25rem 2rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn:not(:disabled):hover {
    border-color: #F00000;
  }
}
.cmn-square-btn__icon {
  display: block;
  width: 0.416875rem;
  aspect-ratio: 6.67/11.67;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  pointer-events: none;
  right: 0.8625rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn__icon {
    right: 0.79375rem;
    width: 0.333125rem;
  }
}
.cmn-square-btn__icon.--blank {
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  width: 1rem;
  height: 1rem;
  right: 1.5rem;
}
.cmn-square-btn.--select, .cmn-square-btn.--input {
  min-height: unset;
  font-weight: 400;
  padding: 0;
}
.cmn-square-btn.--select select,
.cmn-square-btn.--select input, .cmn-square-btn.--input select,
.cmn-square-btn.--input input {
  min-height: 3rem;
  padding: 0.25rem 1.25rem;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn.--select select,
  .cmn-square-btn.--select input, .cmn-square-btn.--input select,
  .cmn-square-btn.--input input {
    padding: 0.25rem 1.5625rem 0.25rem 1rem;
    min-height: 2.5rem;
  }
}
.cmn-square-btn.--select {
  justify-content: flex-start;
}
.cmn-square-btn.--select select {
  padding-right: 2.37375rem;
}
.cmn-square-btn.--select .cmn-square-btn__icon {
  width: 0.5rem;
  transform: rotate(90deg);
  right: 1rem;
}
.cmn-square-btn.--w-full {
  width: 100%;
}
@media (max-width: 30rem) {
  .cmn-square-btn.--w-full {
    width: 100%;
  }
}
.cmn-square-btn.--w300 {
  min-width: 18.75rem;
}
.cmn-square-btn.--w246 {
  min-width: 15.375rem;
}
.cmn-square-btn.--w227 {
  min-width: 14.1875rem;
}
.cmn-square-btn.--w200 {
  min-width: 12.5rem;
}
.cmn-square-btn.--w150 {
  min-width: 9.375rem;
}
.cmn-square-btn.--w100 {
  min-width: 6.25rem;
}
.cmn-square-btn.--max227 {
  max-width: 14.1875rem;
}
.cmn-square-btn.--max150 {
  max-width: 9.375rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn.--w300, .cmn-square-btn.--w246, .cmn-square-btn.--w227, .cmn-square-btn.--w200, .cmn-square-btn.--w150, .cmn-square-btn.--w100 {
    width: 100%;
    min-width: unset;
  }
  .cmn-square-btn.--max227, .cmn-square-btn.--max150 {
    max-width: 100%;
  }
}
.cmn-square-btn.--case {
  justify-content: flex-start;
  min-height: 3.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn.--case {
    min-height: 3.125rem;
    padding-left: 0.75rem;
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn.--case:not(:disabled):hover {
    color: #F00000;
  }
}

/* チェックボタン 
-------------------------------------------------------------------- */
.cmn-check-btn {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.5rem;
  border: 0.0625rem solid #DDDDDD;
  outline: 0.125rem solid transparent;
  padding: 0.5rem 3rem 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  transition: outline-color 0.3s ease-out;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-check-btn {
    padding: 0.375rem 3rem 0.375rem 0.75rem;
  }
}
.cmn-check-btn:has(input:checked) {
  outline-color: transparent;
  outline-color: #F00000;
}
.cmn-check-btn.--sp-square {
  transition: box-shadow 0.3s ease-out, outline-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square {
    justify-content: center;
    flex-direction: column;
    padding: 0.75rem 0.375rem 0.375rem;
    gap: 0.25rem;
  }
}
.cmn-check-btn.--sp-square:has(input:checked) {
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.16);
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .box {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
    top: 0.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .box::before {
    top: -0.0625rem;
    right: -0.1875rem;
    width: 1.125rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .icon {
    width: 3rem;
    height: 3rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .icon::before {
    width: 1.75rem;
    height: 1.75rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .txt {
    font-size: 0.75rem;
  }
}
.cmn-check-btn input {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}
.cmn-check-btn input:checked + .box::before {
  content: "";
}
.cmn-check-btn .box {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.1875rem;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cmn-check-btn .box::before {
  display: block;
  position: absolute;
  top: -0.09375rem;
  right: -0.28125rem;
  width: 1.6875rem;
  aspect-ratio: 27/22;
  height: auto;
  background-image: url(../../../img/common/icon-check-large.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cmn-check-btn .icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 100%;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .cmn-check-btn .icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.cmn-check-btn .icon::before {
  content: "";
  z-index: 2;
  width: 1.75rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .cmn-check-btn .icon::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.cmn-check-btn .icon.--mansion::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.cmn-check-btn .icon.--house::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.cmn-check-btn .icon.--land::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.cmn-check-btn .txt {
  font-size: 1rem;
}
/* アイコンボタン 
-------------------------------------------------------------------- */
.cmn-icon-btn {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.5rem;
  padding: 0.5rem 2.1875rem 0.5rem 1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 4rem;
  transition: outline-color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  outline: 0.125rem solid transparent;
}
@media (max-width: 48rem) {
  .cmn-icon-btn {
    padding: 0.375rem 2.0625rem 0.375rem 0.75rem;
    min-height: 3.25rem;
  }
}
@media (any-hover: hover) {
  .cmn-icon-btn:not(:disabled):not(.--type02):not(.--type03):hover {
    border-color: transparent;
    outline-color: #F00000;
  }
}
.cmn-icon-btn__arrow {
  display: block;
  width: 0.5rem;
  aspect-ratio: 8/14;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  right: 1.1875rem;
  transition: background-color 0.3s ease-out;
}
.cmn-icon-btn__icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #F6F1EE;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 48rem) {
  .cmn-icon-btn__icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.cmn-icon-btn__icon::before {
  content: "";
  display: block;
  width: 3rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .cmn-icon-btn__icon::before {
    width: 2.5rem;
    height: 1.5rem;
  }
}
.cmn-icon-btn.--mansion .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.cmn-icon-btn.--house .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.cmn-icon-btn.--all .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-all.svg);
          mask-image: url(../../../img/common/icon-all.svg);
}
.cmn-icon-btn.--land .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.cmn-icon-btn.--rent .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-rent.svg);
          mask-image: url(../../../img/common/icon-rent.svg);
}
.cmn-icon-btn.--area .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.cmn-icon-btn.--train .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.cmn-icon-btn.--map .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-map-search.svg);
          mask-image: url(../../../img/common/icon-map-search.svg);
}
.cmn-icon-btn.--building .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-building.svg);
          mask-image: url(../../../img/common/icon-building.svg);
}
.cmn-icon-btn.--sp-icon-non .cmn-icon-btn__arrow {
  display: none;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--sp-icon-non {
    font-size: 0.75rem;
    padding: 0.375rem 1rem;
    justify-content: center;
  }
  .cmn-icon-btn.--sp-icon-non .cmn-icon-btn__icon {
    display: none;
  }
}
.cmn-icon-btn.--type02 {
  border-radius: 0.75rem;
  font-size: 1.25rem;
  min-height: 5.25rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  border: 0.125rem solid #F00000;
  outline: unset;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type02 {
    font-size: 1.125rem;
  }
}
@media (any-hover: hover) {
  .cmn-icon-btn.--type02:not(:disabled):hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .cmn-icon-btn.--type02:not(:disabled):hover .cmn-icon-btn__arrow {
    background-color: #FFFFFF;
  }
}
.cmn-icon-btn.--type02 .cmn-icon-btn__txt {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  line-height: 1.5;
}
.cmn-icon-btn.--type02 .num {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type02 .num {
    font-size: 0.875rem;
  }
}
.cmn-icon-btn.--type02 .cmn-icon-btn__icon {
  width: 3.75rem;
  height: 3.75rem;
}
.cmn-icon-btn.--type02 .cmn-icon-btn__icon::before {
  width: 3.75rem;
  height: 2.25rem;
}
.cmn-icon-btn.--type02.--all .cmn-icon-btn__icon::before {
  width: 2.25rem;
}
.cmn-icon-btn.--type02.--font-s {
  font-size: 1rem;
}
.cmn-icon-btn.--type03 {
  border-radius: 0.75rem;
  font-size: 0.875rem;
  min-height: 7.5rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  border: 0.125rem solid #F00000;
  outline: unset;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.16));
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem 2.1875rem;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type03 {
    justify-content: flex-start;
    gap: 1rem;
    padding: 0.375rem 2.0625rem 0.375rem 0.75rem;
    flex-direction: row;
    font-size: 1.125rem;
    min-height: 5.25rem;
  }
}
@media (any-hover: hover) {
  .cmn-icon-btn.--type03:not(:disabled):hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .cmn-icon-btn.--type03:not(:disabled):hover .cmn-icon-btn__arrow {
    background-color: #FFFFFF;
  }
}
.cmn-icon-btn.--type03 .cmn-icon-btn__icon {
  width: 4.25rem;
  height: 4.25rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type03 .cmn-icon-btn__icon {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.cmn-icon-btn.--type03 .cmn-icon-btn__icon::before {
  width: 4.25rem;
  height: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type03 .cmn-icon-btn__icon::before {
    width: 3.75rem;
    height: 2.25rem;
  }
}

/* LINEボタン
-------------------------------------------------------------------- */
.cmn-line-btn {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2rem;
  padding: 0.5rem 2.5rem 0.5rem 4.75rem;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  min-height: 3.5rem;
  position: relative;
  max-width: 100%;
  background-color: #12C85C;
}
@media (max-width: 48rem) {
  .cmn-line-btn {
    padding: 0.5rem 3.625rem;
    justify-content: center;
  }
}
@media (max-width: 30rem) {
  .cmn-line-btn {
    width: 100%;
  }
}
@media (any-hover: hover) {
  .cmn-line-btn:not(:disabled):hover .cmn-line-btn__icon,
  .cmn-line-btn:not(:disabled):hover .cmn-line-btn__txt {
    opacity: 0.8;
  }
}
.cmn-line-btn__txt {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 500;
  transition: opacity 0.3s ease-out;
}
.cmn-line-btn__icon {
  transition: opacity 0.3s ease-out;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../../../img/common/icon-line.svg);
  position: absolute;
  left: 2rem;
}
@media (max-width: 48rem) {
  .cmn-line-btn__icon {
    left: 1.125rem;
  }
}

/* 設定ボタン
-------------------------------------------------------------------- */
.cmn-setting-btn {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn {
    flex-direction: column;
    gap: 0.1875rem;
  }
}
.cmn-setting-btn:has(input:checked) .cmn-setting-btn__txt .on-txt {
  display: block;
}
.cmn-setting-btn:has(input:checked) .cmn-setting-btn__txt .off-txt {
  display: none;
}
.cmn-setting-btn__txt {
  font-weight: 400;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__txt {
    font-size: 0.875rem;
  }
}
.cmn-setting-btn__txt .on-txt {
  display: none;
}
.cmn-setting-btn__txt .off-txt {
  display: block;
}
.cmn-setting-btn__label {
  position: relative;
  width: 3.5rem;
  height: 2rem;
  padding: 0.25rem;
  display: inline-block;
}
.cmn-setting-btn__label input {
  opacity: 0;
  width: 0;
  height: 0;
}
.cmn-setting-btn__label input:checked + .cmn-setting-btn__slider {
  background-color: #F00000;
}
.cmn-setting-btn__label input:checked + .cmn-setting-btn__slider::before {
  transform: translateX(1.5rem);
}
.cmn-setting-btn__slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #CCCCCC;
  transition: background-color 0.3s ease-out;
  border-radius: 2rem;
  display: flex;
  align-items: center;
}
.cmn-setting-btn__slider::before {
  position: absolute;
  content: "";
  height: 1.5rem;
  width: 1.5rem;
  left: 0.25rem;
  background-color: #FFFFFF;
  transition: transform 0.3s ease-out;
  border-radius: 50%;
}
.cmn-setting-btn__wrapper {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 1.5rem;
  display: flex;
  gap: 1.25rem;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__wrapper {
    padding: 1rem;
  }
}
.cmn-setting-btn__wrapper + .cmn-setting-btn__wrapper {
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__wrapper + .cmn-setting-btn__wrapper {
    margin-top: 1.25rem;
  }
}
.cmn-setting-btn__wrapper:has(input:checked) .cmn-setting-btn__ttl .on-txt {
  display: block;
}
.cmn-setting-btn__wrapper:has(input:checked) .cmn-setting-btn__ttl .off-txt {
  display: none;
}
.cmn-setting-btn__ttl {
  font-weight: bold;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__ttl {
    font-size: 0.875rem;
  }
}
.cmn-setting-btn__ttl .on-txt {
  display: none;
}
.cmn-setting-btn__ttl .off-txt {
  display: block;
}

/* タグボタン
-------------------------------------------------------------------- */
.cmn-tag-btn {
  display: inline-block;
  font-size: 0.875rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-tag-btn {
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn-tag-btn:hover {
    border-color: #F00000;
    background-color: #FCE2E2;
    color: #F00000;
  }
}

/* ボタンラップ
-------------------------------------------------------------------- */
.cmn-btn-wrap {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-btn-wrap {
    margin-top: 2rem;
    flex-direction: column;
  }
}
.cmn-btn-wrap.--wide {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-btn-wrap.--wide {
    margin-top: 2.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-btn-wrap.--reverse {
    flex-direction: column-reverse;
  }
}

.cmn-btn-nav-txt {
  text-align: center;
  font-size: 0.75rem;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .cmn-btn-nav-txt {
    font-size: 0.625rem;
    margin-top: 0.75rem;
  }
}
.cmn-container.--navy .cmn-btn-nav-txt {
  color: #FFFFFF;
}

.cmn-icon-btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn-wrap {
    gap: 0.75rem;
  }
}
.cmn-icon-btn-wrap .cmn-icon-btn {
  flex: 1;
}

/* ボタンリスト
-------------------------------------------------------------------- */
.cmn-btn-list {
  display: flex;
  gap: 0.75rem 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-btn-list {
    gap: 0.5rem 1rem;
  }
}
.cmn-btn-list > * {
  width: calc((100% - 1.5rem) / 4);
}
@media (max-width: 48rem) {
  .cmn-btn-list > * {
    width: calc((100% - 1rem) / 2);
  }
}

.cmn-icon-btn-list {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list {
    gap: 1.25rem;
  }
}
.cmn-icon-btn-list .cmn-icon-btn {
  flex: 1;
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list .cmn-icon-btn {
    flex: unset;
    width: 100%;
  }
}
.cmn-icon-btn-list.--col3 .cmn-icon-btn {
  flex: unset;
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list.--col3 .cmn-icon-btn {
    width: 100%;
  }
}
.cmn-icon-btn-list.--col4 {
  gap: 1.25rem;
}
.cmn-icon-btn-list.--col4 .cmn-icon-btn {
  flex: unset;
  width: calc((100% - 3.75rem) / 4);
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list.--col4 .cmn-icon-btn {
    width: 100%;
  }
}

.cmn-check-btn-list {
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-check-btn-list {
    gap: 0.75rem;
  }
}
.cmn-check-btn-list .cmn-check-btn {
  flex: 1;
}
/* スイッチ切り替えタブ
-------------------------------------------------------------------- */
.cmn-switch {
  background-color: #F2F2F2;
  padding: 0.25rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .cmn-switch {
    padding: 0.125rem;
    border-radius: 0.5rem;
  }
}
.cmn-switch__btn {
  font-weight: 500;
  font-size: 1.125rem;
  border-radius: 0.5rem;
  height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}
@media (max-width: 48rem) {
  .cmn-switch__btn {
    height: 2.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
  }
}
.cmn-switch__btn.--current {
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.16));
  background-color: #FFFFFF;
}

.cmn-tag-btn-list {
  display: flex;
  gap: 0.75rem 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-tag-btn-list {
    gap: 0.5rem 0.25rem;
  }
}

/* 0件ページの補助ボタン
-------------------------------------------------------------------- */
.cmn-assist-link {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  align-items: center;
  font-weight: 500;
  font-size: 1rem;
  padding: 1rem;
  min-height: 3.5rem;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-assist-link {
    font-size: 0.875rem;
    min-height: 3.375rem;
  }
}
.cmn-assist-link::before {
  content: "";
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../../../img/common/icon-btn-cross.svg);
}

.cmn-assist-link-wrap {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .cmn-assist-link-wrap {
    margin-top: 1.5rem;
  }
}

/* テキストボックス
-------------------------------------------------------------------- */
.cmn-input-text {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 0.5rem;
  padding: 0.875rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #F2F2F2;
}
.cmn-input-text:-moz-placeholder {
  color: #808080;
}
.cmn-input-text:placeholder-shown {
  color: #808080;
}
.cmn-input-text:not(:-moz-placeholder) {
  background-color: #FFFFFF;
}
.cmn-input-text:not(:placeholder-shown), .cmn-input-text:focus, .cmn-input-text:active {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-input-text:hover {
    background-color: #FFFFFF;
  }
}

.cmn-input-text-wrap {
  width: 100%;
}
.cmn-input-text-wrap.--w577 {
  width: 36.0625rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w300 {
  width: 18.75rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w227 {
  width: 14.1875rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w200 {
  width: 12.5rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w150 {
  width: 9.375rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w120 {
  width: 7.5rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w100 {
  width: 6.25rem;
  max-width: 100%;
}
@media (max-width: 48rem) {
  .cmn-input-text-wrap.--w577, .cmn-input-text-wrap.--w300, .cmn-input-text-wrap.--w227, .cmn-input-text-wrap.--w200, .cmn-input-text-wrap.--w150, .cmn-input-text-wrap.--w120, .cmn-input-text-wrap.--w100 {
    width: 100%;
  }
}
.cmn-input-text-wrap.--password {
  display: flex;
  position: relative;
  align-items: center;
}
.cmn-input-text-wrap.--password .cmn-input-text {
  padding-right: 3.125rem;
}
@media (max-width: 48rem) {
  .cmn-input-text-wrap.--password .cmn-input-text {
    padding-right: 2.875rem;
  }
}
.cmn-input-text-wrap.--password .cmn-password-icon {
  position: absolute;
  width: 1.375rem;
  height: auto;
  right: 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-input-text-wrap.--password .cmn-password-icon {
    right: 1rem;
  }
}

.cmn-input-text__label {
  display: inline-block;
  text-align: end;
  min-width: 2rem;
}

/* テキストエリア
-------------------------------------------------------------------- */
.cmn-textarea-wrap {
  width: 100%;
}
.cmn-textarea-wrap.--w600 {
  width: 37.5rem;
  max-width: 100%;
}
.cmn-textarea-wrap.--w577 {
  width: 36.0625rem;
  max-width: 100%;
}
.cmn-textarea-wrap.--w400 {
  width: 25rem;
  max-width: 100%;
}
@media (max-width: 48rem) {
  .cmn-textarea-wrap.--w600, .cmn-textarea-wrap.--w400 {
    width: 100%;
  }
}

.cmn-textarea {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  background-color: #F2F2F2;
  resize: vertical;
  min-height: 11.5rem;
}
.cmn-textarea:-moz-placeholder {
  color: #808080;
}
.cmn-textarea:placeholder-shown {
  color: #808080;
}
.cmn-textarea:not(:-moz-placeholder) {
  background-color: #FFFFFF;
}
.cmn-textarea:not(:placeholder-shown), .cmn-textarea:focus, .cmn-textarea:active {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-textarea:hover {
    background-color: #FFFFFF;
  }
}

/* ラジオボタン
-------------------------------------------------------------------- */
.cmn-radio {
  display: flex;
  position: relative;
}
.cmn-radio__text {
  line-height: 1.25;
}

/* input type="radio" 本体は .u-visually-hidden を使用して非表示にしているためスタイル不要 */
.cmn-radio__label {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  line-height: 2;
  cursor: pointer;
}
.cmn-radio__label.--with-description {
  align-items: flex-start;
}

.cmn-radio__control {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #CCCCCC;
  border-radius: 50%;
  transition: border-color 0.3s ease;
  flex-shrink: 0;
}
.cmn-radio__control::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #F00000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cmn-radio__input:checked ~ .cmn-radio__label .cmn-radio__control {
  border-color: #F00000;
}
.cmn-radio__input:checked ~ .cmn-radio__label .cmn-radio__control::before {
  opacity: 1;
}

/* チェックボックス
-------------------------------------------------------------------- */
.cmn-checkbox {
  flex-shrink: 0;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cmn-checkbox .icon {
  display: block;
  position: absolute;
  aspect-ratio: 11.72/8.07;
  width: 0.7325rem;
  height: auto;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  opacity: 0;
}
.cmn-checkbox input {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.25rem;
}
.cmn-checkbox input:checked {
  border-color: #F00000;
  background-color: #F00000;
}
.cmn-checkbox input:checked + .icon {
  opacity: 1;
}

.cmn-checkbox__label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 2;
  cursor: pointer;
  max-width: -moz-max-content;
  max-width: max-content;
}
.cmn-checkbox__label.--tertiary .cmn-checkbox input:checked {
  border-color: #CCCCCC;
  background-color: #FFFFFF;
}
.cmn-checkbox__label.--tertiary .cmn-checkbox input:checked + .icon {
  background-color: #F00000;
}

/* カレンダー (calendarModule.js必須)
-------------------------------------------------------------------- */
.mod-calendar-wrap {
  position: relative;
}
.mod-calendar-wrap.--w227 {
  width: 14.1875rem;
}
@media (max-width: 48rem) {
  .mod-calendar-wrap.--w227 {
    width: 100%;
  }
}
.mod-calendar-wrap .mod-calendar__icon {
  display: block;
  width: 1.25rem;
  height: 1.338125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
  transition: background-color 0.3s ease-out;
}

.mod-calendar {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 3rem;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  flex-shrink: 0;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  background-color: #F2F2F2;
  border: 1px solid #CCCCCC;
  color: #000000;
}
.mod-calendar.is-default {
  color: #808080;
  background-color: #F2F2F2;
}
.mod-calendar:not(.is-default) {
  color: #000000;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
}
.mod-calendar:focus, .mod-calendar:active {
  background-color: #FFFFFF;
  border-color: #F00000;
  color: #000000;
}
@media (any-hover: hover) {
  .mod-calendar:hover {
    background-color: #FFFFFF;
    border-color: #F00000;
    color: #000000;
  }
}
.mod-calendar:invalid {
  border: transparent;
  background-color: #FCE2E2;
}
@media (max-width: 48rem) {
  .mod-calendar {
    min-height: 3rem;
  }
}

/* カレンダーポップアップ本体 */
.mod-calendar__popup {
  display: none;
  position: absolute;
  top: calc(100% + 1.125rem);
  left: 0;
  width: 21.5rem;
  background: #FFFFFF;
  border-radius: 0.5rem;
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16);
  z-index: 10;
  padding: 1.25rem 1.125rem;
}
@media (max-width: 48rem) {
  .mod-calendar__popup {
    width: calc(100% + 2.5rem);
    left: 50%;
    transform: translateX(-50%);
  }
}
.mod-calendar__popup.is-open {
  display: block;
}

.mod-calendar-wrap.is-open .mod-calendar__popup {
  display: block;
}

.mod-calendar-wrap.is-open .mod-calendar {
  color: #808080;
}

.mod-calendar-wrap.is-open .mod-calendar__icon {
  background-color: #CCCCCC;
}

/* ヘッダー (月/年 と ナビ) */
.mod-calendar__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
  padding: 0 0.875rem;
}

.mod-calendar__month-year {
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Lato", sans-serif;
}

.mod-calendar__nav {
  background: #000000;
  border: none;
  cursor: pointer;
  padding: 0;
  height: 0.875rem;
  width: 0.757771875rem;
  transition: opacity 0.2s;
}
@media (any-hover: hover) {
  .mod-calendar__nav:hover {
    opacity: 0.7;
  }
}
.mod-calendar__nav.--prev {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.mod-calendar__nav.--next {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* 曜日 */
.mod-calendar__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 0.5rem;
}
.mod-calendar__weekdays span {
  text-align: center;
  font-size: 0.875rem;
  color: #DDDDDD;
  font-weight: 500;
  line-height: 1.5;
}

/* 日付グリッド */
.mod-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

/* 日付ボタン */
.mod-calendar__day {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 44/40;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-calendar__day.--holiday {
  background-color: #F7F7F7;
  color: #DDDDDD;
}
.mod-calendar__day.--other-month {
  color: #CCCCCC;
  pointer-events: none;
}
.mod-calendar__day.--today {
  border: 1px solid #CCCCCC;
}
@media (any-hover: hover) {
  .mod-calendar__day:hover:not(.--other-month):not(.--selected) {
    background-color: #F2F2F2;
  }
}
.mod-calendar__day.--selected {
  border: 1px solid #F00000;
  color: #F00000;
}

.mod-calendar__close-btn {
  max-width: 8.25rem;
  width: 100%;
  margin: 0 auto;
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  background-color: #E8E8E8;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-calendar__close-btn::before {
  content: "";
  display: block;
  width: 0.75rem;
  aspect-ratio: 1/1;
  background-color: #000000;
  -webkit-mask-image: url(../../../img/form/icon-close.svg);
          mask-image: url(../../../img/form/icon-close.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (any-hover: hover) {
  .mod-calendar__close-btn:hover {
    background-color: #CCCCCC;
  }
}

/* エラースタイル
-------------------------------------------------------------------- */
.is-invalid {
  border-color: transparent !important;
  background-color: #FCE2E2 !important;
}

/* 表示 / 非表示
-------------------------------------------------------------------- */
@media (max-width: 48rem) {
  .u-pc-only {
    display: none !important;
  }
}

@media (min-width: 48.0625rem) {
  .u-sp-only {
    display: none !important;
  }
}

@media (max-width: 90rem) {
  .u-pc-only--2xl {
    display: none !important;
  }
}

@media (min-width: 90.0625rem) {
  .u-sp-only--2xl {
    display: none !important;
  }
}

@media (max-width: 80rem) {
  .u-pc-only--xl {
    display: none !important;
  }
}

@media (min-width: 80.0625rem) {
  .u-sp-only--xl {
    display: none !important;
  }
}

@media (max-width: 66.25rem) {
  .u-pc-only--lg {
    display: none !important;
  }
}

@media (min-width: 66.3125rem) {
  .u-sp-only--lg {
    display: none !important;
  }
}

@media (max-width: 30rem) {
  .u-pc-only--xs {
    display: none !important;
  }
}

@media (min-width: 30.0625rem) {
  .u-sp-only--xs {
    display: none !important;
  }
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  /* stylelint-disable-next-line property-disallowed-list, property-no-vendor-prefix */
  clip-path: inset(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.u-relative {
  position: relative;
}

.u-overflow-visible {
  overflow: visible !important;
}

/* SVG fill stroke
-------------------------------------------------------------------- */
.u-fill-black {
  fill: #000000;
}

.u-fill-white {
  fill: #FFFFFF;
}

.u-fill-primary01 {
  fill: #F00000;
}

.u-stroke-black {
  stroke: #000000;
}

.u-stroke-white {
  stroke: #FFFFFF;
}

.u-stroke-primary01 {
  stroke: #F00000;
}

.u-stroke-secondary {
  stroke: #BD967C;
}

/* SVG mask
-------------------------------------------------------------------- */
.u-mask-arrow {
  flex-shrink: 0;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-arrow-ms {
  flex-shrink: 0;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-download {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-download.svg);
          mask-image: url(../../../img/common/icon-download.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-pdf {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-external {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-calender {
  flex-shrink: 0;
  display: block;
  width: 1.168125rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-mail {
  flex-shrink: 0;
  display: block;
  width: 1.433125rem;
  height: 1.125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-tel {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-tel.svg);
          mask-image: url(../../../img/common/icon-tel.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-close {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-close.svg);
          mask-image: url(../../../img/common/icon-close.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-alert {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-alert.svg);
          mask-image: url(../../../img/common/icon-alert.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-access {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-access02 {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-access02.svg);
          mask-image: url(../../../img/common/icon-access02.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-calculator {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-calculator.svg);
          mask-image: url(../../../img/common/icon-calculator.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

/* テキスト関連
-------------------------------------------------------------------- */
.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-pc-right {
  text-align: right;
}
@media (max-width: 48rem) {
  .u-text-pc-right {
    text-align: left;
  }
}

.u-text-pc-center {
  text-align: center;
}
@media (max-width: 48rem) {
  .u-text-pc-center {
    text-align: left;
  }
}

.u-text-sp-center {
  text-align: left;
}
@media (max-width: 48rem) {
  .u-text-sp-center {
    text-align: center;
  }
}

.u-text-bold {
  font-weight: bold !important;
}

.u-font-lato {
  font-family: "Lato", sans-serif !important;
  font-weight: bold;
}

.u-font-noto-serif {
  font-family: "Noto Serif JP", serif !important;
}

.u-font-marcellus {
  font-family: "Marcellus", serif !important;
}

.u-color-white {
  color: #FFFFFF !important;
}

.u-color-red {
  color: #F00000 !important;
}

.u-color-red02 {
  color: #CC0000 !important;
}

.u-color-blue {
  color: #020055 !important;
}

.u-underline {
  text-decoration: underline !important;
}

.u-line-marker {
  background: linear-gradient(transparent 64%, #F4E2E2 64%);
}

.u-text-between {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .u-text-between.--only-pc {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.u-text-3xl {
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .u-text-3xl {
    font-size: 1.75rem;
  }
}

.u-text-2xl {
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .u-text-2xl {
    font-size: 1.375rem;
  }
}

.u-text-xl {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .u-text-xl {
    font-size: 1.125rem;
  }
}

.u-text-l {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .u-text-l {
    font-size: 1rem;
  }
}

.u-text-m {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .u-text-m {
    font-size: 0.875rem;
  }
}

.u-text-s {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .u-text-s {
    font-size: 0.75rem;
  }
}

.u-text-ss {
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .u-text-ss {
    font-size: 0.625rem;
  }
}

/* リンク関連
-------------------------------------------------------------------- */
.u-anchor-adjust {
  position: relative;
  top: calc(var(--header-height) * -1);
}
.u-anchor-adjust.--ms-ex {
  top: calc(var(--header-ms-ex-height) * -1);
}
.u-anchor-adjust.--detail {
  top: calc((4.5rem + var(--header-height)) * -1);
}
@media (max-width: 48rem) {
  .u-anchor-adjust.--detail {
    top: calc((3.5rem + var(--header-height)) * -1);
  }
}

/* hover
-------------------------------------------------------------------- */
.u-hover-txt-red {
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .u-hover-txt-red:hover {
    color: #F00000;
    text-decoration: underline;
  }
}

.u-hover-img {
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .u-hover-img:hover {
    opacity: 0.6;
  }
}

/* 余白
-------------------------------------------------------------------- */
.u-pt00 {
  padding-top: 0 !important;
}

.u-pt08 {
  padding-top: 0.5rem !important;
}

.u-pt12 {
  padding-top: 0.75rem !important;
}

.u-pt16 {
  padding-top: 1rem !important;
}

.u-pt24 {
  padding-top: 1.5rem !important;
}

.u-pt40 {
  padding-top: 2.5rem !important;
}

.u-pt64 {
  padding-top: 4rem !important;
}

.u-pl04 {
  padding-left: 0.25rem !important;
}

.u-pl08 {
  padding-left: 0.5rem !important;
}

.u-pb00 {
  padding-bottom: 0 !important;
}

.u-pb16 {
  padding-bottom: 1rem !important;
}

.u-pb40 {
  padding-bottom: 2.5rem !important;
}

.u-pb80 {
  padding-bottom: 5rem !important;
}

.u-miauto {
  margin-inline: auto !important;
}

.u-mt00 {
  margin-top: 0 !important;
}

.u-mt04 {
  margin-top: 0.25rem !important;
}

.u-mt08 {
  margin-top: 0.5rem !important;
}

.u-mt12 {
  margin-top: 0.75rem !important;
}

.u-mt16 {
  margin-top: 1rem !important;
}

.u-mt20 {
  margin-top: 1.25rem !important;
}

.u-mt24 {
  margin-top: 1.5rem !important;
}

.u-mt32 {
  margin-top: 2rem !important;
}

.u-mt48 {
  margin-top: 3rem !important;
}

.u-mt40 {
  margin-top: 2.5rem !important;
}

.u-mt56 {
  margin-top: 3.5rem !important;
}

.u-mt64 {
  margin-top: 4rem !important;
}

.u-mt80 {
  margin-top: 5rem !important;
}

.u-mb00 {
  margin-bottom: 0 !important;
}

.u-mb08 {
  margin-bottom: 0.5rem !important;
}

.u-mb12 {
  margin-bottom: 0.75rem !important;
}

.u-mb16 {
  margin-bottom: 1rem !important;
}

.u-mb20 {
  margin-bottom: 1.25rem !important;
}

.u-mb24 {
  margin-bottom: 1.5rem !important;
}

.u-mb32 {
  margin-bottom: 2rem !important;
}

.u-mb40 {
  margin-bottom: 2.5rem !important;
}

.u-mb48 {
  margin-bottom: 3rem !important;
}

.u-mb56 {
  margin-bottom: 3.5rem !important;
}

.u-mb64 {
  margin-bottom: 4rem !important;
}

.u-mb80 {
  margin-bottom: 5rem !important;
}

.u-ml00 {
  margin-left: 0 !important;
}

.u-ml08 {
  margin-left: 0.5rem !important;
}

.u-mlauto {
  margin-left: auto !important;
}

.u-mr12 {
  margin-right: 0.75rem !important;
}

@media (max-width: 66.25rem) {
  .u-lg\:pt16 {
    padding-top: 1rem !important;
  }
}

@media (max-width: 66.25rem) {
  .u-lg\:pt20 {
    padding-top: 1.25rem !important;
  }
}

@media (max-width: 66.25rem) {
  .u-lg\:miauto {
    margin-inline: auto !important;
  }
}

@media (max-width: 66.25rem) {
  .u-lg\:mt32 {
    margin-top: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:miauto {
    margin-inline: auto !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt00 {
    padding-top: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt16 {
    padding-top: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt20 {
    padding-top: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt24 {
    padding-top: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt32 {
    padding-top: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt40 {
    padding-top: 2.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt48 {
    padding-top: 3rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt80 {
    padding-top: 5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb00 {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb16 {
    padding-bottom: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb20 {
    padding-bottom: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb24 {
    padding-bottom: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb30 {
    padding-bottom: 1.875rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb40 {
    padding-bottom: 2.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb80 {
    padding-bottom: 5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt00 {
    margin-top: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt04 {
    margin-top: 0.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt08 {
    margin-top: 0.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt12 {
    margin-top: 0.75rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt14 {
    margin-top: 0.875rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt16 {
    margin-top: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt20 {
    margin-top: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt22 {
    margin-top: 1.375rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt24 {
    margin-top: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt32 {
    margin-top: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt40 {
    margin-top: 2.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt48 {
    margin-top: 3rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt56 {
    margin-top: 3.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb00 {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb08 {
    margin-bottom: 0.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb10 {
    margin-bottom: 0.625rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb12 {
    margin-bottom: 0.75rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb16 {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb18 {
    margin-bottom: 1.125rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb20 {
    margin-bottom: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb24 {
    margin-bottom: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb32 {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb40 {
    margin-bottom: 2.5rem !important;
  }
}

/* その他
-------------------------------------------------------------------- */
.u-no-shrink {
  flex-shrink: 0;
}

.u-w100 {
  width: 100%;
}

.u-round-image-8 {
  border-radius: 0.5rem;
}

.u-round-image-12 {
  border-radius: 0.75rem;
}

/* リード文
-------------------------------------------------------------------- */
.cmn-lead-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-lead-txt {
    font-size: 0.875rem;
  }
}
.cmn-container.--navy .cmn-lead-txt {
  color: #FFFFFF;
}

/* 注記
-------------------------------------------------------------------- */
.cmn-note {
  font-size: 0.75rem;
  margin-top: 1rem;
}
.cmn-note-wrap .cmn-note {
  margin-top: unset;
}
@media (max-width: 48rem) {
  .cmn-note {
    font-size: 0.625rem;
  }
}

.cmn-note-wrap {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-note-wrap {
    margin-top: 1.5rem;
  }
}

/* テキストコンテナ
-------------------------------------------------------------------- */
.cmn-pc-right-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 48rem) {
  .cmn-pc-right-container {
    align-items: flex-start;
  }
}

/* =========================================================== */
/* リスト */
/* =========================================================== */
.cmn-list-circle01 li::before {
  background-color: #F00000;
}
.cmn-list-circle01 li ul {
  margin-top: 1rem;
  display: grid;
  gap: 1.5rem;
}
.cmn-list-circle01 li ul li::before {
  background-color: transparent;
  border: 1px solid #F00000;
}

.cmn-list-circle02 li::before {
  background-color: #4D4D4D;
}

.cmn-list-circle01, .cmn-list-circle02 {
  list-style: none;
  display: grid;
  font-size: 1rem;
  gap: 1.5rem;
}
.cmn-list-circle01.--col2, .cmn-list-circle02.--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cmn-list-circle01.--col6, .cmn-list-circle02.--col6 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-list-circle01, .cmn-list-circle02 {
    font-size: 0.875rem;
  }
  .cmn-list-circle01.--col2, .cmn-list-circle01.--col6, .cmn-list-circle02.--col2, .cmn-list-circle02.--col6 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .cmn-list-circle01.--col2-md, .cmn-list-circle02.--col2-md {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.cmn-list-circle01 li, .cmn-list-circle02 li {
  position: relative;
  padding-left: 1.5rem;
}
.cmn-list-circle01 li::before, .cmn-list-circle02 li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
}
@media (max-width: 48rem) {
  .cmn-list-circle01 li::before, .cmn-list-circle02 li::before {
    top: 0.4375rem;
  }
}
.cmn-list-circle01 .--no-dot li::before, .cmn-list-circle02 .--no-dot li::before {
  position: static;
  width: auto;
  height: auto;
  background-color: transparent;
  border-radius: 0;
}
.cmn-list-circle01.--flex-wrap, .cmn-list-circle02.--flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-circle01.--flex-wrap, .cmn-list-circle02.--flex-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}

.cmn-list-check01, .cmn-list-check02 {
  display: grid;
  gap: 1.5rem;
  font-size: 1rem;
}
.cmn-list-check01.--col2, .cmn-list-check02.--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cmn-list-check01.--col3, .cmn-list-check02.--col3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.cmn-list-check01.--col6, .cmn-list-check02.--col6 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-list-check01, .cmn-list-check02 {
    font-size: 0.875rem;
  }
  .cmn-list-check01.--col2, .cmn-list-check01.--col3, .cmn-list-check01.--col6, .cmn-list-check02.--col2, .cmn-list-check02.--col3, .cmn-list-check02.--col6 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .cmn-list-check01.--col2-md, .cmn-list-check02.--col2-md {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.cmn-list-check01 li, .cmn-list-check02 li {
  position: relative;
  padding-left: 1.625rem;
}
.cmn-list-check01 li ul, .cmn-list-check02 li ul {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.cmn-list-check01 .icon-check, .cmn-list-check01 .icon-arrow, .cmn-list-check02 .icon-check, .cmn-list-check02 .icon-arrow {
  position: absolute;
  left: 0;
  top: 0.2em;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
}
.cmn-list-check01 .icon-check::before, .cmn-list-check01 .icon-arrow::before, .cmn-list-check02 .icon-check::before, .cmn-list-check02 .icon-arrow::before {
  content: "";
  display: block;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 0.75rem;
  height: 0.875rem;
  translate: 0 0.25rem;
  transition: background-color 0.3s ease-out;
}
.cmn-list-check01 .icon-check::before, .cmn-list-check02 .icon-check::before {
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
}
.cmn-list-check01 .icon-arrow::before, .cmn-list-check02 .icon-arrow::before {
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  width: 0.375rem;
  height: 1.25rem;
  margin-left: 0.125rem;
}

.cmn-list-check01 .icon-check, .cmn-list-check01 .icon-arrow {
  background-color: #EEE6E0;
}
.cmn-list-check01 .icon-check::before, .cmn-list-check01 .icon-arrow::before {
  background-color: #BD967C;
}

.cmn-list-check02 .icon-check, .cmn-list-check02 .icon-arrow {
  background-color: #F00000;
}
.cmn-list-check02 .icon-check::before, .cmn-list-check02 .icon-arrow::before {
  background-color: #FFFFFF;
}

.cmn-list-num {
  counter-reset: num;
  display: grid;
  gap: 1rem;
}
.cmn-list-num.--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cmn-list-num.--col3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.cmn-list-num.--col6 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-list-num.--col2, .cmn-list-num.--col3, .cmn-list-num.--col6 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .cmn-list-num.--col2-md {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.cmn-list-num li {
  position: relative;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-list-num li {
    font-size: 0.875rem;
  }
}
.cmn-list-num li::before {
  flex-shrink: 0;
  counter-increment: num;
  content: counter(num) ".";
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #F00000;
}
.cmn-list-num-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-num-container {
    gap: 1.5rem;
  }
}

.cmn-list-num-box {
  width: calc((100% - 2.5rem) / 2);
  border-bottom: 0.0625rem solid #DDDDDD;
  padding-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-num-box {
    width: 100%;
    padding-bottom: 1.5rem;
  }
}

.cmn-list-num02 {
  counter-reset: num;
  display: grid;
  gap: 1.5rem;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-list-num02 {
    font-size: 0.875rem;
    gap: 1rem;
  }
}
.cmn-list-num02 > li {
  position: relative;
  padding-left: 1.5rem;
}
.cmn-list-num02 > li::before {
  counter-increment: num;
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #F00000;
}
.cmn-list-num02 > li ol, .cmn-list-num02 > li ul {
  margin-top: 1.5rem;
  display: grid;
  gap: 1.5rem;
}
.cmn-list-num02 > li ol li, .cmn-list-num02 > li ul li {
  position: relative;
  padding-left: 1.5rem;
}
.cmn-list-num02 > li ol li::before, .cmn-list-num02 > li ul li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #F00000;
  border-radius: 50%;
}
@media (max-width: 48rem) {
  .cmn-list-num02 > li ol li::before, .cmn-list-num02 > li ul li::before {
    top: 0.4375rem;
  }
}
.cmn-list-num02.--flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-num02.--flex-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}

/* cmn-table01
-------------------------------------------------------------------- */
.cmn-table01 {
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.5;
}
.cmn-table01 th {
  padding: 0.5rem 0;
  background-color: #F6F1EE;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
}
.cmn-table01 th:empty {
  background-color: transparent;
}
.cmn-table01 td {
  padding: 0.5rem 0;
  text-align: center;
  vertical-align: middle;
}
.cmn-table01 tbody tr:not(:last-child) {
  border-bottom: 1px solid #D8C3B4;
}

.cmn-table02 {
  width: 100%;
  line-height: 1.5;
  border-top: 0.0625rem solid #DDDDDD;
  border-right: 0.0625rem solid #DDDDDD;
  table-layout: fixed;
  border-collapse: collapse;
}
@media (max-width: 48rem) {
  .cmn-table02 {
    min-width: 33.75rem;
    width: 100%;
  }
}
.cmn-table02 th, .cmn-table02 td {
  padding: 0.5rem;
  vertical-align: middle;
  font-weight: 400;
  border-left: 0.0625rem solid #DDDDDD;
  border-bottom: 0.0625rem solid #DDDDDD;
  white-space: normal;
}
.cmn-table02 th {
  text-align: center;
  background-color: #F6F1EE;
}
.cmn-table02 tbody tr:not(:last-child) {
  border-bottom: 0.0625rem solid #D8C3B4;
}

@media (max-width: 48rem) {
  .cmn-table02-wrap {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

/* バナー
-------------------------------------------------------------------- */
.cmn-bnr-link {
  display: block;
  width: 100%;
  aspect-ratio: 332/190;
  transition: box-shadow 0.3s ease-out;
  overflow: hidden;
  isolation: isolate;
  position: relative;
  filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.08));
  border-radius: 0.75rem;
}
@media (any-hover: hover) {
  .cmn-bnr-link:hover img {
    transform: scale(1.08);
  }
}
.cmn-bnr-link.--border {
  border: 0.0625rem solid #DDDDDD;
}
.cmn-bnr-link img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 332/190;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--sp-square {
    aspect-ratio: 160/109;
  }
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--sp-square img {
    aspect-ratio: 160/109;
  }
}
.cmn-bnr-link.--landscape {
  aspect-ratio: 514/190;
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--landscape {
    aspect-ratio: 672/248;
  }
}
.cmn-bnr-link.--landscape img {
  aspect-ratio: 514/190;
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--landscape img {
    aspect-ratio: 672/248;
  }
}

.cmn-bnr-link-wrap {
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-bnr-link-wrap {
    gap: 1.25rem;
    flex-direction: column;
  }
}
.cmn-bnr-link-wrap .cmn-bnr-link {
  flex: 1;
}

/* cmn-container-ms
-------------------------------------------------------------------- */
.cmn-container-ms {
  padding: 6rem 0;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-container-ms {
    padding: 4rem 0 5rem;
  }
}
.cmn-container-ms.--white {
  background-color: #FFFFFF;
}
.cmn-container-ms.--navy {
  background-color: #10123B;
}
.cmn-container-ms.--ivory {
  background-color: #FAF6F2;
}
.cmn-container-ms.--gray {
  background-color: #F0F0F0;
}
.cmn-container-ms.--img {
  padding: 6rem 0 7rem;
  background-position: center;
  background-size: cover;
  background-image: url("../../../img/selection/bg-container-ms01.webp");
}
@media (max-width: 48rem) {
  .cmn-container-ms.--img {
    padding: 2.5rem 0;
  }
}

/* cmn-inner-ms
-------------------------------------------------------------------- */
.cmn-inner-ms {
  width: calc(100% - 2.5rem);
  max-width: 66.25rem;
  margin: 0 auto;
  position: relative;
}
.cmn-inner-ms.--wide {
  max-width: 78.5rem;
}

/* cmn-spacer-ms
-------------------------------------------------------------------- */
.cmn-spacer-ms {
  display: block;
  margin-top: 6rem;
}
@media (max-width: 48rem) {
  .cmn-spacer-ms {
    margin-top: 4rem;
  }
}
.cmn-spacer-ms.--s {
  margin-top: 4rem;
}
@media (max-width: 48rem) {
  .cmn-spacer-ms.--s {
    margin-top: 2.5rem;
  }
}
.cmn-spacer-ms.--ss {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer-ms.--ss {
    margin-top: 2.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-spacer-ms.--ss.--sp-large {
    margin-top: 5rem;
  }
}

/* cmn-slider-ms
-------------------------------------------------------------------- */
@media (max-width: 48rem) {
  .cmn-slider-ms {
    padding-bottom: 0.875rem;
  }
}
.cmn-slider-ms .splide__track {
  overflow: visible;
}
.cmn-slider-ms.splide.is-initialized:not(.is-active) .splide__list {
  display: flex;
  flex-wrap: wrap;
}
.cmn-slider-ms .splide__arrows {
  position: static;
  transform: none;
}
.cmn-slider-ms .splide__arrows.splide__arrows--ltr {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cmn-slider-ms .splide__arrow {
  left: unset;
  right: unset;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  position: absolute;
  z-index: 1;
  background-color: rgba(16, 18, 59, 0.5);
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-slider-ms .splide__arrow {
    width: 2.5rem;
    height: 2.5rem;
    background-color: rgba(16, 18, 59, 0.6);
    top: auto;
    bottom: 0;
    transform: unset;
  }
}
.cmn-container.--navy .cmn-slider-ms .splide__arrow {
  background-color: rgba(255, 255, 255, 0.5);
}
.cmn-slider-ms .splide__arrow::before {
  content: "";
  transform: unset;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
.cmn-slider-ms .splide__arrow:disabled {
  opacity: 0.3;
  pointer-events: none;
}
.cmn-container.--navy .cmn-slider-ms .splide__arrow:disabled {
  opacity: 1;
}
@media (any-hover: hover) {
  .cmn-slider-ms .splide__arrow:hover {
    background-color: rgba(16, 18, 59, 0.8);
  }
}
.cmn-slider-ms .splide__arrow--prev {
  transform: scaleX(-1);
  left: -5.5rem;
  top: calc(50% - 1.78125rem);
}
@media (max-width: 48rem) {
  .cmn-slider-ms .splide__arrow--prev {
    left: 0rem;
    top: auto;
  }
}
.cmn-slider-ms .splide__arrow--next {
  right: -5.5rem;
  top: calc(50% - 1.78125rem);
}
@media (max-width: 48rem) {
  .cmn-slider-ms .splide__arrow--next {
    right: 0rem;
    top: auto;
  }
}
.cmn-slider-ms .splide__pagination {
  padding: unset;
  position: static;
  margin-top: 2.5rem;
  gap: 1.75rem;
}
.cmn-slider-ms .splide__pagination__page {
  width: 0.75rem;
  height: 0.75rem;
  background-color: #DDDDDD;
  margin: unset;
}
.cmn-container.--navy .cmn-slider-ms .splide__pagination__page {
  background-color: #D2D2D2;
  opacity: 1;
}
.cmn-slider-ms .splide__pagination__page.is-active {
  background-color: #000000;
  transform: scale(1);
}
.cmn-container.--navy .cmn-slider-ms .splide__pagination__page.is-active {
  background-color: #FFFFFF;
}
.cmn-slider-ms.--2col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
.cmn-slider-ms.--2col .splide__slide {
  width: calc((100% - 2rem) / 2);
}
.cmn-slider-ms:not(.is-initialized) {
  visibility: visible;
}
.cmn-slider-ms:not(.is-initialized) .splide__arrows {
  display: none;
}
.cmn-slider-ms:not(.is-initialized) .splide__slide {
  width: 100%;
}
.cmn-slider-ms.--1col .splide__track {
  overflow: hidden;
}
.cmn-slider-ms.--1col .splide__slide {
  padding: 0 0.2rem;
}
.cmn-slider-ms.--3col .splide__track {
  overflow-x: clip;
}
@media (max-width: 48rem) {
  .cmn-slider-ms.--3col .splide__track {
    overflow-x: visible;
  }
}
.cmn-slider-ms.--3col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
.cmn-slider-ms.--3col .splide__slide {
  width: calc((100% - 4rem) / 3);
}
.cmn-slider-ms.--4col .splide__track {
  overflow-x: clip;
}
@media (max-width: 48rem) {
  .cmn-slider-ms.--4col .splide__track {
    overflow-x: visible;
  }
}
.cmn-slider-ms.--4col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 1.5rem;
}
.cmn-slider-ms.--4col .splide__slide {
  width: calc((100% - 4.5rem) / 4);
}
.cmn-slider-ms:has(.mod-brand-link) .splide__arrow--prev,
.cmn-slider-ms:has(.mod-brand-link) .splide__arrow--next {
  top: 5.8125rem;
}
@media (max-width: 48rem) {
  .cmn-slider-ms:has(.mod-brand-link) .splide__arrow--prev,
  .cmn-slider-ms:has(.mod-brand-link) .splide__arrow--next {
    display: none;
  }
}
.cmn-slider-ms:has(.mod-brand-link) .splide__arrow--next {
  transform: unset;
}

/* cmn-grid-ms
-------------------------------------------------------------------- */
.cmn-grid-ms {
  display: grid;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-grid-ms {
    gap: 2rem;
  }
}
.cmn-grid-ms.--4col {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 66.25rem) {
  .cmn-grid-ms.--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 48rem) {
  .cmn-grid-ms.--4col {
    grid-template-columns: 1fr;
  }
}
.cmn-grid-ms__item:nth-child(n+9) {
  display: none;
}
@media (max-width: 66.25rem) {
  .cmn-grid-ms__item:nth-child(n+7) {
    display: none;
  }
}
@media (max-width: 48rem) {
  .cmn-grid-ms__item:nth-child(n+5) {
    display: none;
  }
}

/* =========================================================== */
/* マンションセレクション共通ボタン */
/* =========================================================== */
/* ボタン 
-------------------------------------------------------------------- */
.cmn-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 4rem;
  line-height: 1.75;
  border-radius: 0.25rem;
  padding: 1rem 1.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: bold;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  color: #000000;
}
.cmn-btn-ms.is-disabled, .cmn-btn-ms:disabled {
  cursor: default !important;
  pointer-events: none !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
  background-color: #CCCCCC !important;
  color: #FFFFFF !important;
}
.cmn-btn-ms.is-disabled .cmn-btn-ms__icon, .cmn-btn-ms:disabled .cmn-btn-ms__icon {
  background-color: #808080 !important;
}
.cmn-btn-ms.is-disabled .cmn-btn-ms__icon::before, .cmn-btn-ms:disabled .cmn-btn-ms__icon::before {
  background-color: #FFFFFF !important;
}
@media (any-hover: hover) {
  .cmn-btn-ms:not(:disabled):hover {
    color: #FFFFFF;
    border-color: #F00000;
    background-color: #F00000;
  }
  .cmn-btn-ms:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .cmn-btn-ms:not(:disabled):hover .cmn-btn-ms__icon::before {
    border-radius: unset;
    aspect-ratio: 2.83/5.66;
    width: 0.3125rem;
    height: auto;
    background-color: #CC0000;
    -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
            mask-image: url(../../../img/common/icon-arrow-ms.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
  }
}
.cmn-btn-ms.--blue {
  color: #FFFFFF;
  border-color: #020055;
  background-color: #020055;
}
.cmn-btn-ms.--blue .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.cmn-btn-ms.--blue .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--blue:not(:disabled):hover {
    border-color: #3A397B;
    background-color: #3A397B;
  }
  .cmn-btn-ms.--blue:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .cmn-btn-ms.--blue:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #FFFFFF;
  }
}
.cmn-btn-ms.--secondary {
  color: #FFFFFF;
  background-color: #CC0000;
  border: 0.0625rem solid #CC0000;
}
.cmn-btn-ms.--secondary .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.cmn-btn-ms.--secondary .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--secondary:not(:disabled):hover {
    background-color: #AF0808;
    border-color: #AF0808;
  }
  .cmn-btn-ms.--secondary:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .cmn-btn-ms.--secondary:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #CC0000;
  }
}
.cmn-btn-ms.--gold {
  color: #FFFFFF;
  background-color: #AA9272;
  border: 0.0625rem solid #AA9272;
}
.cmn-btn-ms.--gold .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.4);
}
.cmn-btn-ms.--gold .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--gold:not(:disabled):hover {
    background-color: #937B5B;
    border-color: #937B5B;
  }
  .cmn-btn-ms.--gold:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .cmn-btn-ms.--gold:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #937B5B;
  }
}
.cmn-btn-ms__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: rgba(204, 0, 0, 0.2);
  position: relative;
  transition: background-color 0.3s ease-out;
}
.cmn-btn-ms__icon::before {
  content: "";
  display: block;
  border-radius: unset;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  background-color: #CC0000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.cmn-btn-ms.--s {
  font-size: 0.875rem;
  min-height: 2.75rem;
  padding: 0.75rem 1.25rem;
}
.cmn-btn-ms.--ss {
  font-size: 0.875rem;
  min-height: 2.25rem;
  padding: 0.5rem 0.75rem;
}
.cmn-btn-ms.--contact {
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.cmn-btn-ms.--contact .cmn-btn-ms__icon {
  background-color: #EEE6E0;
}
.cmn-btn-ms.--contact .cmn-btn-ms__icon::before {
  border-radius: unset;
  height: auto;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  aspect-ratio: 12.18/9;
  width: 0.76125rem;
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  margin-left: 0.0625rem;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--contact:not(:disabled):hover {
    background-color: #CC0000;
    color: #FFFFFF;
  }
  .cmn-btn-ms.--contact:not(:disabled):hover .cmn-btn-ms__icon::before {
    border-radius: unset;
    height: auto;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    aspect-ratio: 12.18/9;
    width: 0.76125rem;
    -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
            mask-image: url(../../../img/selection/icon-mail-ms.svg);
    margin-left: 0.0625rem;
  }
}
.cmn-btn-ms.--contact.is-disabled .cmn-btn-ms__icon {
  background-color: #FFFFFF;
}
.cmn-btn-ms.--contact.is-disabled .cmn-btn-ms__icon::before {
  border-radius: unset;
  height: auto;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  aspect-ratio: 12.18/9;
  width: 0.76125rem;
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  margin-left: 0.0625rem;
  background-color: #CCCCCC;
}
.cmn-btn-ms.--w294 {
  min-width: 18.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w294 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w304 {
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w304 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w332 {
  min-width: 20.75rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w332 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w374 {
  min-width: 23.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w374 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w420 {
  min-width: 26.25rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w420 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w566 {
  min-width: 35.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w566 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--full {
  width: 100%;
}

.cmn-btn-ms-wrap {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-btn-ms-wrap {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
}
@media (max-width: 30rem) {
  .cmn-btn-ms-wrap.--xs-narrow {
    margin-inline: 1rem;
  }
}

/* ページ内リンク
-------------------------------------------------------------------- */
.cmn-page-link-ms {
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  min-height: 3rem;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-weight: bold;
  font-size: 1rem;
  padding: 0 0.75rem 0 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 48rem) {
  .cmn-page-link-ms {
    padding: 0 1rem;
  }
}
.cmn-page-link-ms.is-disabled {
  pointer-events: none;
}
.cmn-page-link-ms.is-disabled .cmn-page-link-ms__icon {
  display: none;
}
.cmn-page-link-ms.is-disabled .cmn-page-link-ms__txt {
  opacity: 0.3;
}
.cmn-page-link-ms.--ex .cmn-page-link-ms__icon {
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEE6E0;
}
.cmn-page-link-ms.--ex .cmn-page-link-ms__icon::before {
  transform: rotate(0deg);
  background-color: #BD967C;
}
.cmn-page-link-ms.--contact {
  border-radius: 0.25rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .cmn-page-link-ms.--contact {
    min-height: 2.75rem;
  }
}
.cmn-page-link-ms.--contact:hover {
  background-color: #CC0000;
  color: #FFFFFF;
}
.cmn-page-link-ms.--contact .cmn-page-link-ms__icon {
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEE6E0;
}
.cmn-page-link-ms.--contact .cmn-page-link-ms__icon::before {
  aspect-ratio: 12.18/9;
  width: 0.76125rem;
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  margin-left: 0.0625rem;
  transform: rotate(0deg);
}
.cmn-page-link-ms__txt {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cmn-page-link-ms__num {
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  padding: 0 0.625rem;
  line-height: 1.0625rem;
  border-radius: 0.5625rem;
  color: #FFFFFF;
}
.cmn-page-link-ms__num.--red {
  background-color: #F00000;
}
.cmn-page-link-ms__num.--blue {
  background-color: #10123B;
}
.cmn-page-link-ms__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
}
.cmn-page-link-ms__icon::before {
  content: "";
  display: block;
  background-color: #CC0000;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transform: rotate(90deg);
}

/* セレクトボタン 
-------------------------------------------------------------------- */
.cmn-select-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.125rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  font-size: 1rem;
  color: #000000;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .cmn-select-btn-ms {
    font-size: 0.875rem;
  }
}
.cmn-select-btn-ms select {
  min-height: 3rem;
  padding: 0 1.875rem 0 1rem;
  width: 100%;
  height: 100%;
  border-radius: 0.125rem;
}
@media (max-width: 48rem) {
  .cmn-select-btn-ms select {
    padding: 0 1.625rem 0 1rem;
    min-height: 2.5rem;
  }
}
.cmn-select-btn-ms__icon {
  display: block;
  pointer-events: none;
  background-color: #020055;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transform: rotate(90deg);
  position: absolute;
  right: 1rem;
}
@media (max-width: 48rem) {
  .cmn-select-btn-ms__icon {
    right: 0.75rem;
  }
}

/* Googleマップボタン 
-------------------------------------------------------------------- */
.cmn-map-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 4rem;
  line-height: 1.75;
  border-radius: 0.25rem;
  padding: 1rem 1.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: bold;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
}
@media (any-hover: hover) {
  .cmn-map-btn-ms:not(:disabled):hover {
    color: #FFFFFF;
    border-color: #F00000;
    background-color: #F00000;
  }
  .cmn-map-btn-ms:not(:disabled):hover .cmn-map-btn-ms__icon {
    background-color: #FFFFFF;
  }
}
.cmn-map-btn-ms__icon {
  flex-shrink: 0;
  transition: background-color 0.3s ease-out;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #000000;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.cmn-map-btn-ms.--w302 {
  min-width: 18.875rem;
}
@media (max-width: 30rem) {
  .cmn-map-btn-ms.--w302 {
    min-width: unset;
  }
}

/* テキストリンク
-------------------------------------------------------------------- */
.cmn-txt-link-ms {
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-txt-link-ms {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .cmn-txt-link-ms:hover .cmn-txt-link-ms__txt {
    color: #020055;
    text-decoration: underline;
  }
}
.cmn-txt-link-ms.--white {
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-txt-link-ms.--white:hover .cmn-txt-link-ms__txt {
    color: #FFFFFF;
  }
}
.cmn-txt-link-ms__icon {
  flex-shrink: 0;
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #EEE6E0;
}
.cmn-txt-link-ms.--white .cmn-txt-link-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.cmn-txt-link-ms__icon::before {
  content: "";
  display: block;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #BD967C;
}
.cmn-txt-link-ms.--white .cmn-txt-link-ms__icon::before {
  background-color: #FFFFFF;
}
.cmn-txt-link-ms.--red .cmn-txt-link-ms__icon::before {
  background-color: #CA0000;
}
.cmn-txt-link-ms.--blue .cmn-txt-link-ms__icon::before {
  background-color: #020055;
}
.cmn-txt-link-ms.--external {
  gap: 0.5rem;
}
.cmn-txt-link-ms.--external .cmn-txt-link-ms__icon {
  border-radius: unset;
  width: 1rem;
  height: 1rem;
  background-color: unset;
}
.cmn-txt-link-ms.--external .cmn-txt-link-ms__icon::before {
  aspect-ratio: 1/1;
  width: 1rem;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
}
.cmn-txt-link-ms.--file {
  gap: 0.25rem;
}
.cmn-txt-link-ms.--file .cmn-txt-link-ms__icon {
  border-radius: unset;
  width: 0.805625rem;
  height: 1rem;
  background-color: unset;
}
.cmn-txt-link-ms.--file .cmn-txt-link-ms__icon::before {
  aspect-ratio: 12.89/16;
  width: 0.805625rem;
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
}

/* スクエアボタン 
-------------------------------------------------------------------- */
.cmn-square-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 1.779375rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 3.5rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  color: #FFFFFF;
  background-color: #020055;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms {
    justify-content: flex-start;
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.25rem 2rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn-ms:not(:disabled):hover {
    background-color: #F00000;
  }
}
.cmn-square-btn-ms__icon {
  display: block;
  width: 0.416875rem;
  aspect-ratio: 6.67/11.67;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  pointer-events: none;
  right: 0.8625rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms__icon {
    right: 0.79375rem;
    width: 0.333125rem;
  }
}
.cmn-square-btn-ms.--select, .cmn-square-btn-ms.--input {
  min-height: unset;
  font-weight: 400;
  padding: 0;
}
.cmn-square-btn-ms.--select select,
.cmn-square-btn-ms.--select input, .cmn-square-btn-ms.--input select,
.cmn-square-btn-ms.--input input {
  min-height: 3rem;
  padding: 0.25rem 1.25rem;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms.--select select,
  .cmn-square-btn-ms.--select input, .cmn-square-btn-ms.--input select,
  .cmn-square-btn-ms.--input input {
    padding: 0.25rem 1.5625rem 0.25rem 1rem;
    min-height: 2.5rem;
  }
}
.cmn-square-btn-ms.--select {
  justify-content: flex-start;
}
.cmn-square-btn-ms.--select select {
  padding-right: 2.37375rem;
}
.cmn-square-btn-ms.--select option,
.cmn-square-btn-ms.--select optgroup {
  color: initial;
}
.cmn-square-btn-ms.--select .cmn-square-btn-ms__icon {
  width: 0.5rem;
  transform: rotate(90deg);
  right: 1rem;
}
.cmn-square-btn-ms.--w300 {
  min-width: 18.75rem;
}
.cmn-square-btn-ms.--w246 {
  min-width: 15.375rem;
}
.cmn-square-btn-ms.--w227 {
  min-width: 14.1875rem;
}
.cmn-square-btn-ms.--w200 {
  min-width: 12.5rem;
}
.cmn-square-btn-ms.--w150 {
  min-width: 9.375rem;
}
.cmn-square-btn-ms.--w100 {
  min-width: 6.25rem;
}
.cmn-square-btn-ms.--max227 {
  max-width: 14.1875rem;
}
.cmn-square-btn-ms.--max150 {
  max-width: 9.375rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms.--w300, .cmn-square-btn-ms.--w246, .cmn-square-btn-ms.--w227, .cmn-square-btn-ms.--w200, .cmn-square-btn-ms.--w150, .cmn-square-btn-ms.--w100 {
    width: 100%;
    min-width: unset;
  }
  .cmn-square-btn-ms.--max227, .cmn-square-btn-ms.--max150 {
    max-width: 100%;
  }
}
.cmn-square-btn-ms.--case {
  justify-content: flex-start;
  min-height: 3.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms.--case {
    min-height: 3.125rem;
    padding-left: 0.75rem;
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn-ms.--case:not(:disabled):hover {
    color: #F00000;
  }
}

/* cmn-page-head-ms h1
-------------------------------------------------------------------- */
.cmn-page-head-ms {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  min-height: -moz-fit-content;
  min-height: fit-content;
  width: 100%;
  padding: 6rem 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms {
    min-height: 8.25rem;
    padding: 3.5rem 1.25rem;
    align-items: flex-start;
  }
  .cmn-page-head-ms:has(.cmn-page-head-ms__sub) {
    padding: 3rem 1.25rem;
  }
}
.cmn-page-head-ms__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cmn-page-head-ms__ttl:has(.cmn-page-head-ms__sub) .cmn-page-head-ms__desc {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__ttl:has(.cmn-page-head-ms__sub) .cmn-page-head-ms__desc {
    margin-top: 1rem;
  }
}
.cmn-page-head-ms__sub {
  color: #FFFFFF;
  font-size: 1rem;
  line-height: 1.5rem;
}
.cmn-page-head-ms__sub.--en {
  font-family: "Marcellus", serif;
}
.cmn-page-head-ms__sub-badge {
  flex-shrink: 0;
  display: inline-block;
  background-color: #020055;
  color: #FFFFFF;
  font-size: 0.875rem;
  line-height: 1.2;
  padding: 0.25rem 0.75rem;
  border-radius: 0.125rem;
  margin-bottom: 1rem;
}
.cmn-page-head-ms__sub-badge.--en {
  font-family: "Marcellus", serif;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__sub-badge {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
    margin-bottom: 0.75rem;
  }
}
.cmn-page-head-ms__main {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 2.5rem;
  color: #FFFFFF;
  line-height: 3.75rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__main {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}
.cmn-page-head-ms__desc {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  margin-top: 1.5rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__desc {
    font-size: 0.875rem;
    text-align: start;
  }
}
.cmn-page-head-ms__bg {
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  height: 100%;
  background-color: #10123B;
}
.cmn-page-head-ms__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmn-page-head-ms__bg-2col {
  position: absolute;
  inset: 0;
  z-index: -1;
  height: 100%;
  background-color: #10123B;
  display: flex;
  align-items: center;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__bg-2col {
    flex-direction: column;
  }
}
.cmn-page-head-ms__bg-2col img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmn-page-head-ms__bnr {
  margin-top: 2.5rem;
}
.cmn-page-head-ms__bnr img {
  width: 25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__bnr img {
    width: 18rem;
  }
}
.cmn-page-head-ms.--child {
  min-height: 16.875rem;
  background-color: #10123B;
  padding: 2.5rem 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--child {
    min-height: 14.375rem;
  }
}
.cmn-page-head-ms.--child02 {
  min-height: 10.4375rem;
  background-color: #10123B;
  padding: 4rem 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--child02 {
    min-height: 4.9375rem;
    padding: 1.5rem 1.25rem;
  }
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--sp-child {
    padding: 3.5rem 1.25rem;
  }
}
.cmn-page-head-ms.--search {
  min-height: 26.25rem;
  padding-bottom: 10rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--search {
    min-height: 15.75rem;
    padding-bottom: 8.125rem;
  }
}
.cmn-page-head-ms.--search:not(:has(.cmn-page-head-ms__bg-2col)) {
  padding-bottom: 5rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--search:not(:has(.cmn-page-head-ms__bg-2col)) {
    padding-bottom: 8.125rem;
  }
}
.cmn-page-head-ms.--gray {
  background-color: #F2F2F2;
}
.cmn-page-head-ms.--gray .cmn-page-head-ms__main {
  color: #000000;
  font-weight: 500;
}

/* cmn-section-ttl-ms h2
-------------------------------------------------------------------- */
.cmn-section-ttl-ms {
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms {
    gap: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .cmn-container-ms.--navy .cmn-section-ttl-ms, .cmn-container.--navy .cmn-section-ttl-ms {
    gap: 0.5rem;
  }
}
.cmn-section-ttl-ms .en {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Marcellus", serif;
  color: #020055;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .en {
    font-size: 0.8125rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .en, .cmn-container.--navy .cmn-section-ttl-ms .en {
  color: #FFFFFF;
}
.cmn-section-ttl-ms .ja {
  font-weight: 600;
  font-size: 2.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .ja {
    font-size: 1.25rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .ja, .cmn-container.--navy .cmn-section-ttl-ms .ja {
  color: #FFFFFF;
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .cmn-container-ms.--navy .cmn-section-ttl-ms .ja, .cmn-container.--navy .cmn-section-ttl-ms .ja {
    font-size: 1.125rem;
  }
}
.cmn-section-ttl-ms .ja-m {
  font-weight: 600;
  font-size: 1.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .ja-m {
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .ja-m, .cmn-container.--navy .cmn-section-ttl-ms .ja-m {
  color: #FFFFFF;
}
.cmn-section-ttl-ms .ja-s {
  font-weight: 600;
  font-size: 1rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .ja-s {
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .ja-s, .cmn-container.--navy .cmn-section-ttl-ms .ja-s {
  color: #FFFFFF;
}
.cmn-section-ttl-ms-wrap {
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms-wrap {
    margin-bottom: 2.5rem;
  }
}
.cmn-section-ttl-ms-wrap.--narrow {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms-wrap.--narrow {
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms-wrap.--sp-center {
    text-align: center;
  }
}

/* cmn-contents-ttl-ms h3
-------------------------------------------------------------------- */
.cmn-contents-ttl-ms {
  line-height: 1.5;
  font-size: 1.4375rem;
  color: #020055;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  padding-bottom: 0.5rem;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms {
    font-size: 1.125rem;
  }
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms, .cmn-container.--navy .cmn-contents-ttl-ms {
  color: #FFFFFF;
}
.cmn-contents-ttl-ms::before, .cmn-contents-ttl-ms::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cmn-contents-ttl-ms::before {
  width: 100%;
  background-color: #CCCCCC;
}
.cmn-contents-ttl-ms::after {
  width: 3.125rem;
  background-color: #020055;
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms::after, .cmn-container.--navy .cmn-contents-ttl-ms::after {
  background-color: #D5C4A2;
}
.cmn-contents-ttl-ms .sub-txt {
  margin-left: 0.5rem;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 600;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms .sub-txt {
    font-size: 0.75rem;
    margin-left: unset;
    display: block;
  }
}
.cmn-contents-ttl-ms__copy {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms__copy {
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms__copy, .cmn-container.--navy .cmn-contents-ttl-ms__copy {
  color: #FFFFFF;
}

.cmn-contents-ttl-ms-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap {
    margin-bottom: 1.5rem;
  }
}
.cmn-contents-ttl-ms-wrap.--narrow {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap.--narrow {
    margin-bottom: 1.5rem;
  }
}
.cmn-contents-ttl-ms-wrap.--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 3.5rem;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap.--row {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
}
.cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 0.5rem;
  gap: 0.25rem 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub {
    gap: 0.25rem 1.25rem;
  }
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub .cmn-txt-link-ms__txt, .cmn-container.--navy .cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub .cmn-txt-link-ms__txt {
  color: #FFFFFF;
}

/* cmn-block-ttl-ms h4
-------------------------------------------------------------------- */
.cmn-block-ttl-ms {
  line-height: 1.5;
  font-size: 1.125rem;
  color: #020055;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-block-ttl-ms {
    font-size: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-block-ttl-ms, .cmn-container.--navy .cmn-block-ttl-ms {
  color: #FFFFFF;
}

.cmn-block-ttl-ms-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-block-ttl-ms-wrap {
    margin-bottom: 1.5rem;
  }
}

/* 該当件数テキスト
-------------------------------------------------------------------- */
.cmn-highlight-listing-txt-ms {
  margin-bottom: 2rem;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt-ms {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-highlight-listing-txt-ms, .cmn-container.--navy .cmn-highlight-listing-txt-ms {
  color: #FFFFFF;
}
.cmn-highlight-listing-txt-ms.--narrow {
  margin-bottom: 1rem;
}
.cmn-highlight-listing-txt-ms .num {
  font-size: 1.75rem;
  font-family: "Lato", sans-serif;
  color: #CC0000;
  margin: 0 0.25rem 0 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt-ms .num {
    font-size: 1.5rem;
    margin: 0 0.25rem;
  }
}
.cmn-container-ms.--navy .cmn-highlight-listing-txt-ms .num, .cmn-container.--navy .cmn-highlight-listing-txt-ms .num {
  color: #FFFFFF;
}

/* cmn-tag-ttl-ms h1 h2
-------------------------------------------------------------------- */
.cmn-tag-ttl-ms {
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms {
    gap: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-tag-ttl-ms, .cmn-container.--navy .cmn-tag-ttl-ms {
  color: #FFFFFF;
}
.cmn-tag-ttl-ms-wrap.--h1 .cmn-tag-ttl-ms .ttl {
  font-weight: 500;
}
.cmn-tag-ttl-ms .tag {
  font-size: 1rem;
  font-weight: bold;
  color: #FFFFFF;
  line-height: 1.75rem;
  white-space: nowrap;
  background-color: #CA0000;
  border-radius: 0.125rem;
  padding: 0 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms .tag {
    font-size: 0.75rem;
    line-height: 1.3125rem;
  }
}
.cmn-tag-ttl-ms .ttl {
  font-weight: 600;
  font-size: 1.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms .ttl {
    font-size: 1.25rem;
  }
}
.cmn-container-ms.--navy .cmn-tag-ttl-ms .ttl, .cmn-container.--navy .cmn-tag-ttl-ms .ttl {
  color: #FFFFFF;
}
.cmn-tag-ttl-ms-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms-wrap {
    margin-bottom: 1.25rem;
  }
}

.cmn-tag-ttl-ms-page-head {
  display: flex;
  align-items: center;
  min-height: 14.125rem;
  padding: 4rem 0;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms-page-head {
    padding: 1.5rem 0;
    min-height: 11.125rem;
  }
}

/* cmn-subheading-ms
-------------------------------------------------------------------- */
.cmn-subheading-ms {
  font-size: 1.375rem;
  margin-bottom: 1.5rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .cmn-subheading-ms {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-subheading-ms, .cmn-container.--navy .cmn-subheading-ms {
  color: #FFFFFF;
}

/* リード文
-------------------------------------------------------------------- */
.cmn-txt-ms {
  font-size: 1rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .cmn-txt-ms {
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-txt-ms {
  color: #FFFFFF;
}

/* メッセージ文
-------------------------------------------------------------------- */
.cmn-msg-ms {
  font-size: 1.25rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .cmn-msg-ms {
    font-size: 0.625rem;
  }
}
.cmn-container-ms.--navy .cmn-msg-ms {
  color: #FFFFFF;
}

/* 青背景の白文字メッセージ文
-------------------------------------------------------------------- */
.cmn-blue-msg-ms {
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: bold;
  background-color: #020055;
  color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  padding: 1rem 1.5rem;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-blue-msg-ms {
    font-weight: 600;
    font-size: 1.125rem;
    padding: 1rem;
    margin-bottom: 2rem;
  }
}

/* 注記
-------------------------------------------------------------------- */
.cmn-note-ms {
  font-size: 0.75rem;
  display: inline-block;
  margin-top: 1rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .cmn-note-ms {
    font-size: 0.75rem;
  }
}
.cmn-container-ms.--navy .cmn-note-ms {
  color: #FFFFFF;
}

/* =========================================================== */
/* ヘッダー */
/* =========================================================== */
/* PC
-------------------------------------------------------------------- */
.mod-header {
  height: var(--header-height);
  width: 100%;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  transition: transform 0.3s ease-out;
}
.mod-header.is-header-hidden {
  transform: translateY(-100%);
}
.mod-header::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(1px) brightness(1.12);
  -webkit-backdrop-filter: blur(1px) brightness(1.12);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-header.is-dropdown-open::before, .mod-header.is-drawer-active::before {
  opacity: 1;
  visibility: visible;
}
.mod-header.is-dropdown-open {
  z-index: 1001;
}
.mod-header__inner {
  height: 100%;
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background-color: #FFFFFF;
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.12);
  z-index: 10;
}
@media (max-width: 80rem) {
  .mod-header__inner {
    flex-direction: column;
  }
}
@media (max-width: 80rem) {
  .mod-header.is-drawer-active .mod-header__inner {
    min-height: unset;
    height: auto;
  }
}
.mod-header__top {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-left: 3.375rem;
  transition: box-shadow 0.3s ease-out;
}
@media (max-width: 80rem) {
  .mod-header__top {
    gap: 1rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #F2F2F2;
    justify-content: space-between;
    width: 100%;
  }
  .mod-header.is-drawer-active .mod-header__top {
    border-color: transparent;
  }
}
@media (max-width: 48rem) {
  .mod-header__top {
    padding: 0.75rem 1rem;
  }
}
.mod-header__logo {
  display: block;
  width: 14.75rem;
}
@media (max-width: 66.25rem) {
  .mod-header__logo {
    width: 11.1875rem;
  }
}
.mod-header__zone-select {
  flex-shrink: 0;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  position: relative;
  max-width: 100%;
  min-height: 1.75rem;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-header__zone-select select {
  font-size: 0.875rem;
  line-height: 1.25rem;
  min-width: 6.5rem;
  height: 100%;
  padding: 0.25rem 1.75rem 0.25rem 1.25rem;
  border-radius: 624.9375rem;
}
@media (any-hover: hover) {
  .mod-header__zone-select:not(:disabled):hover {
    border-color: #F00000;
  }
}
.mod-header__zone-select-arrow {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  background-color: #000000;
  transform: translateY(-45%) rotate(90deg);
  pointer-events: none;
  width: 0.5rem;
  height: 0.8125rem;
}
.mod-header__nav {
  display: flex;
  height: 100%;
  align-items: flex-end;
  gap: 1.25rem;
}
.mod-header__nav-list {
  display: flex;
  align-items: center;
  gap: 1.375rem;
}
@media (max-width: 90rem) {
  .mod-header__nav-list {
    gap: 1rem;
  }
}
.mod-header__nav-list-item {
  height: 100%;
}
.mod-header__nav-list-item > a {
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
  padding: 0 0.625rem 1.6875rem;
  transition: color 0.3s ease-out;
  position: relative;
  height: 100%;
}
@media (max-width: 90rem) {
  .mod-header__nav-list-item > a {
    padding: 0 0.375rem 1.6875rem;
  }
}
.mod-header__nav-list-item > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background-color: #F00000;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (any-hover: hover) {
  .mod-header__nav-list-item > a:hover {
    color: #F00000;
  }
  .mod-header__nav-list-item > a:hover::after {
    transform: scaleX(1);
  }
  .mod-header__nav-list-item > a:hover .mod-header__nav-list-arrow {
    background-color: #F00000;
  }
}
.mod-header__nav-list-item > a.is-active {
  color: #F00000;
}
.mod-header__nav-list-item > a.is-active .mod-header__nav-list-arrow {
  background-color: #F00000;
  transform: rotate(270deg);
}
.mod-header__nav-list-item > a.is-active::after {
  transform: scaleX(1);
}
.mod-header__nav-list-arrow {
  transition: background-color 0.3s ease-out, transform 0.3s ease-out;
  background-color: #CCCCCC;
  transform: rotate(90deg);
}
.mod-header__nav-util {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  height: 100%;
}
.mod-header__nav-util::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 2.5rem;
  border-radius: 624.9375rem;
  background-color: #DDDDDD;
}
.mod-header__nav-util-item {
  height: 100%;
}
.mod-header__nav-util-item > a {
  font-size: 0.75rem;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  aspect-ratio: 1/1;
  max-width: 5.875rem;
  width: 100%;
  height: 100%;
  gap: 0.375rem;
  position: relative;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-header__nav-util-item > a:hover {
    color: #FFFFFF;
    background-color: #F00000;
    font-weight: 600;
  }
  .mod-header__nav-util-item > a:hover .util-icon {
    background-color: #FFFFFF;
  }
  .mod-header__nav-util-item > a:hover .util-count {
    background-color: #FFFFFF;
    color: #CC0000;
    border-color: #F00000;
  }
}
.mod-header__nav-util-item .util-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background-color: #BD967C;
  transition: background-color 0.3s ease-out;
  position: relative;
  z-index: 1;
}
.mod-header__nav-util-item .util-icon.--favorite {
  -webkit-mask-image: url("../../../img/common/icon-favorite.svg");
          mask-image: url("../../../img/common/icon-favorite.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__nav-util-item .util-icon.--clock {
  -webkit-mask-image: url("../../../img/common/icon-clock.svg");
          mask-image: url("../../../img/common/icon-clock.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__nav-util-item .util-icon.--mypage {
  -webkit-mask-image: url("../../../img/common/icon-mypage.svg");
          mask-image: url("../../../img/common/icon-mypage.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__nav-util-item .util-count {
  position: absolute;
  top: calc(50% - 0.5625rem);
  right: calc(50% - 0.53125rem);
  transform: translate(50%, -50%);
  min-width: 0.875rem;
  height: 0.875rem;
  padding: 0rem 0.1875rem 0.0625rem 0.25rem;
  background-color: #CC0000;
  border: 1px solid #FFFFFF;
  border-radius: 624.9375rem;
  color: #FFFFFF;
  font-size: 0.625rem;
  line-height: 1;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  z-index: 2;
}

/* PC dropdown
-------------------------------------------------------------------- */
.mod-header__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #F6F1EE;
  overflow: hidden;
  z-index: 1001;
  min-height: 31.25rem;
  max-height: calc(100dvh - var(--header-height));
  display: flex;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-header__dropdown.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.mod-header__dropdown-inner {
  display: flex;
  gap: 4.375rem;
  max-width: 100.5rem;
  margin-inline: auto;
  width: 100%;
  position: relative;
  height: 100%;
  min-height: 0;
  flex: 1;
}
.mod-header__dropdown-ttl-wrap {
  padding-top: 12.1875rem;
  min-width: 14.5625rem;
  padding-right: 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2.5rem;
  background-color: #F00000;
  position: relative;
  flex-shrink: 0;
}
@media (max-width: 96rem) {
  .mod-header__dropdown-ttl-wrap {
    align-items: center;
  }
}
.mod-header__dropdown-ttl-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background-color: #F00000;
  pointer-events: none;
}
.mod-header__dropdown-ttl {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mod-header__dropdown-ttl .mod-header__dropdown-ttl-en {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  line-height: 1.25;
}
.mod-header__dropdown-ttl .mod-header__dropdown-ttl-ja {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 700;
}
.mod-header__dropdown-ttl-link {
  color: #FFFFFF;
  font-size: 1.125rem;
  line-height: 1.25;
  transition: opacity 0.3s ease-out;
}
.mod-header__dropdown-ttl-link .u-mask-arrow {
  width: 0.5rem;
  height: 0.8125rem;
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .mod-header__dropdown-ttl-link:hover {
    color: #FFFFFF;
    opacity: 0.6;
  }
}
.mod-header__dropdown-content {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding-block: 4rem;
  padding-right: 8rem;
  width: 100%;
  min-height: 0;
}
.mod-header__dropdown-content-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.mod-header__dropdown-content-body {
  display: flex;
  align-items: flex-end;
  gap: 2.5rem;
  margin-bottom: 4rem;
}
.mod-header__dropdown-content-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2.625rem;
  max-width: 34.375rem;
  width: 100%;
}
.mod-header__dropdown-search-type {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.mod-header__dropdown-search-type-ttl {
  font-size: 1.125rem;
  font-weight: 700;
}
.mod-header__dropdown-search-type-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.mod-header__dropdown-search-type-list > li {
  width: calc((100% - 1.5rem) / 3);
}
.mod-header__dropdown-search-type-list > li .cmn-icon-btn {
  width: 100%;
  padding: 1rem 1.25rem 0.75rem;
}
.mod-header__dropdown-search-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mod-header__dropdown-search-form-ttl {
  font-size: 1.125rem;
  line-height: 1.2;
  font-weight: 700;
}
.mod-header__dropdown-case-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.75rem;
}
.mod-header__dropdown-case-list > li {
  width: 100%;
}
.mod-header__dropdown-case-list > li .cmn-square-btn {
  width: 100%;
  min-height: 3.625rem;
}
.mod-header__dropdown-bottom-links {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 2.5rem;
}
.mod-header__dropdown-bottom-links-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.mod-header__dropdown-bottom-links-ttl::before, .mod-header__dropdown-bottom-links-ttl::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.mod-header__dropdown-bottom-links-ttl::before {
  width: 100%;
  background-color: #D8C3B4;
}
.mod-header__dropdown-bottom-links-ttl::after {
  width: 3.125rem;
  background-color: #F00000;
}
.mod-header__dropdown-bottom-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mod-header__dropdown-bottom-links-list.--2column {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}
.mod-header__dropdown-bottom-links-list.--2column > li {
  width: calc((100% - 1.25rem) / 2);
}
.mod-header__dropdown-close {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 1rem;
  right: 2rem;
  background-color: #F00000;
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
}
.mod-header__dropdown-close .u-mask-close {
  width: 0.875rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  transition: transform 0.3s ease-out;
}
.mod-header__dropdown-close .close-txt {
  font-size: 0.625rem;
  color: #FFFFFF;
  line-height: 1;
}
@media (any-hover: hover) {
  .mod-header__dropdown-close:hover {
    background-color: #AF0808;
  }
  .mod-header__dropdown-close:hover .u-mask-close {
    transform: scale(0.7857);
  }
}

/* SP
-------------------------------------------------------------------- */
.mod-header__sp-controls {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}
.mod-header.is-drawer-active .mod-header__sp-controls {
  align-items: center;
}
.mod-header__sp-util-link {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 0.0625rem;
  line-height: 1;
}
@media (max-width: 66.25rem) {
  .mod-header__sp-util-link {
    font-size: 0.625rem;
  }
}
@media (any-hover: hover) {
  .mod-header__sp-util-link:hover {
    color: #F00000;
    font-weight: 600;
  }
  .mod-header__sp-util-link:hover .util-icon {
    background-color: #F00000;
  }
}
.mod-header__sp-util-link .util-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background-color: #BD967C;
  transition: background-color 0.3s ease-out;
}
.mod-header__sp-util-link .util-icon.--mypage {
  -webkit-mask-image: url("../../../img/common/icon-mypage.svg");
          mask-image: url("../../../img/common/icon-mypage.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__sp-util-link .util-text {
  font-size: 0.625rem;
}
.mod-header__sp-menu-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  line-height: 1;
  padding-inline: 0.125rem;
}
@media (max-width: 66.25rem) {
  .mod-header__sp-menu-btn {
    font-size: 0.625rem;
  }
}
@media (any-hover: hover) {
  .mod-header__sp-menu-btn:hover {
    color: #F00000;
    font-weight: 600;
  }
  .mod-header__sp-menu-btn:hover .mod-header__sp-menu-icon .bar {
    background-color: #F00000;
  }
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar {
  background-color: #4D4D4D;
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar:nth-child(1) {
  transform: translateY(0.4375rem) rotate(45deg);
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar:nth-child(2) {
  opacity: 0;
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar:nth-child(3) {
  transform: translateY(-0.4375rem) rotate(-45deg);
}
.mod-header__sp-menu-btn.is-active .util-text {
  display: none;
}
.mod-header__sp-menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.3125rem;
}
.mod-header__sp-menu-icon .bar {
  display: block;
  width: 1.5rem;
  height: 0.125rem;
  background-color: #4D4D4D;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out, transform 0.3s ease-out, opacity 0.3s ease-out;
}
.mod-header__sp-bottom {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  max-height: 3.75rem;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out, max-height 0.3s ease-out;
}
.mod-header.is-drawer-active .mod-header__sp-bottom {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  max-height: 0;
}
.mod-header__sp-bottom-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding-block: 0.5625rem;
  flex: 1;
  height: 100%;
  line-height: 1;
}
@media (max-width: 66.25rem) {
  .mod-header__sp-bottom-btn {
    font-size: 0.75rem;
    padding-block: 0.375rem;
  }
}
@media (max-width: 48rem) {
  .mod-header__sp-bottom-btn {
    padding-block: 0.5625rem;
  }
}
@media (any-hover: hover) {
  .mod-header__sp-bottom-btn:hover {
    color: #FFFFFF;
    background-color: #F00000;
    font-weight: 600;
  }
  .mod-header__sp-bottom-btn:hover .util-icon {
    background-color: #FFFFFF;
  }
}
.mod-header__sp-bottom-btn .util-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background-color: #BD967C;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-header__sp-bottom-btn .util-icon {
    width: 0.875rem;
    height: 0.75rem;
  }
}
.mod-header__sp-bottom-btn .util-icon.--favorite {
  -webkit-mask-image: url("../../../img/common/icon-favorite.svg");
          mask-image: url("../../../img/common/icon-favorite.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__sp-bottom-btn .util-icon.--clock {
  -webkit-mask-image: url("../../../img/common/icon-clock.svg");
          mask-image: url("../../../img/common/icon-clock.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

/* SP drawer
-------------------------------------------------------------------- */
.mod-header__sp-menu {
  position: absolute;
  z-index: 1;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
  overflow-y: auto;
  overscroll-behavior: contain;
  height: calc(100dvh - var(--header-height) + 2.3125rem);
  padding-bottom: 5rem;
  width: 100%;
}
.mod-header__sp-menu.is-active {
  transform: translateX(0);
}
.mod-header__sp-menu-list {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
}
.mod-header__sp-menu-item {
  line-height: 1;
}
.mod-header__sp-menu-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #F6F1EE;
  border-bottom: 1px solid #DDDDDD;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  min-height: 4rem;
  padding: 1.25rem;
}
.mod-header__sp-menu-trigger .icon-accordion {
  width: 1.5rem;
  height: 1.5rem;
  transition: transform 0.3s ease-out;
  position: relative;
}
.mod-header__sp-menu-trigger .icon-accordion::before, .mod-header__sp-menu-trigger .icon-accordion::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 1.125rem;
  height: 0.125rem;
  border-radius: 624.9375rem;
  background-color: #F00000;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.mod-header__sp-menu-trigger .icon-accordion::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.mod-header__sp-menu-trigger .u-mask-arrow, .mod-header__sp-menu-trigger .u-mask-external {
  background-color: #4D4D4D;
}
.mod-header__sp-menu-trigger.is-active {
  color: #F00000;
}
.mod-header__sp-menu-trigger.is-active .u-mask-arrow, .mod-header__sp-menu-trigger.is-active .u-mask-external {
  background-color: #F00000;
}
.mod-header__sp-menu-trigger.is-active .icon-accordion::before {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}
.mod-header__sp-menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  min-height: 4rem;
  padding: 1.25rem;
  background-color: #F6F1EE;
  border-bottom: 1px solid #DDDDDD;
}
.mod-header__sp-menu-link .u-mask-arrow, .mod-header__sp-menu-link .u-mask-external {
  background-color: #4D4D4D;
}
.mod-header__sp-menu-content {
  height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-header__sp-menu-content.is-active {
  opacity: 1;
  visibility: visible;
}
.mod-header__sp-menu-content > li {
  font-size: 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #DDDDDD;
}
.mod-header__sp-menu-content > li > a {
  width: 100%;
  padding: 1rem 1.6875rem 1rem 2.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 3.5rem;
}
.mod-header__sp-menu-content > li .u-mask-arrow, .mod-header__sp-menu-content > li .u-mask-external {
  background-color: #4D4D4D;
  flex-shrink: 0;
}
.mod-header__sp-menu-content > li.mod-header__sp-menu-btns-item {
  padding: 1.5rem 2.25rem;
  font-size: 0.875rem;
}
.mod-header__sp-menu-content > li.mod-header__sp-menu-btns-item .mod-header__sp-menu-btns {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-header__sp-menu-content > li.mod-header__sp-menu-btns-item .mod-header__sp-menu-btns {
    flex-direction: column;
    gap: 0.75rem;
  }
}

.mod-header__sp-zone-select {
  width: 100%;
  border-bottom: 0.0625rem solid #CCCCCC;
  background-color: #FFFFFF;
  font-size: 1rem;
}
.mod-header__sp-zone-ttl {
  font-weight: 500;
  padding: 1.25rem;
  border-bottom: 1px solid #DDDDDD;
}
.mod-header__sp-zone-list {
  display: flex;
  flex-wrap: wrap;
}
.mod-header__sp-zone-list > li {
  width: 50%;
  padding: 1rem 2.25rem;
  transition: background-color 0.3s ease-out;
}
.mod-header__sp-zone-list > li:not(:last-child) {
  border-bottom: 1px solid #DDDDDD;
}
@media (any-hover: hover) {
  .mod-header__sp-zone-list > li:hover {
    background-color: #F2F2F2;
  }
}

/* =========================================================== */
/* フォームのヘッダー */
/* =========================================================== */
/* ヘッダー
-------------------------------------------------------------------- */
.mod-header-form {
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.12);
  height: var(--header-form-height);
  width: 100%;
  background-color: #FFFFFF;
  z-index: 1000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-top: 3px solid #F00000;
}
.mod-header-form-biz {
  border-top: 3px solid #006CB8;
}
.mod-header-form__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 3.375rem;
  height: 100%;
}
@media (max-width: 48rem) {
  .mod-header-form__inner {
    padding: 0.625rem 1rem 0.375rem;
  }
}
.mod-header-form__logo {
  display: flex;
  width: 14.75rem;
}
@media (max-width: 48rem) {
  .mod-header-form__logo {
    width: 11.1875rem;
  }
}
.mod-header-form__logo-sub {
  display: flex;
  aspect-ratio: 218/28;
  width: 13.625rem;
}

/* =========================================================== */
/* フッター */
/* =========================================================== */
/* フッター
-------------------------------------------------------------------- */
.mod-footer {
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #EEE6E0;
}
.mod-footer::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #000000;
}
.mod-footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 1.875rem;
  height: 1.875rem;
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #FFFFFF 70%);
  pointer-events: none;
}
@media (max-width: 48rem) {
  .mod-footer::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.mod-footer.--brown::after {
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #F6F1EE 70%);
}
.mod-footer__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.mod-footer__main-menu {
  display: flex;
  gap: 5.25rem;
  max-width: 100.5rem;
  margin-inline: auto;
  width: calc(100% - 2.5rem);
  position: relative;
  height: 100%;
  min-height: 0;
  flex: 1;
  background-color: #EEE6E0;
}
@media (max-width: 80rem) {
  .mod-footer__main-menu {
    flex-direction: column;
    gap: 0rem;
    max-width: 100%;
    width: 100%;
  }
}
.mod-footer__ttl-wrap {
  padding-top: 18.75rem;
  padding-inline: 2.125rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.25rem;
  background-color: #F00000;
  position: relative;
  flex-shrink: 0;
}
.mod-footer__ttl-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background-color: #F00000;
  pointer-events: none;
}
@media (max-width: 80rem) {
  .mod-footer__ttl-wrap {
    padding: 2.5rem 1.75rem;
    gap: 0.25rem;
  }
}
.mod-footer__ttl-logo {
  display: block;
  width: 17.25rem;
  height: 20.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__ttl-logo {
    width: 20rem;
    height: 4.875rem;
  }
}
.mod-footer__ttl-txt {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-footer__ttl-txt {
    font-size: 0.75rem;
  }
}
.mod-footer__content {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding-block: 5rem 2.5rem;
  max-width: 63.5rem;
  width: 100%;
  min-height: 0;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer__content {
    max-width: 100%;
    padding: 0;
  }
}
.mod-footer__content-head {
  margin-bottom: 3.5rem;
}
@media (max-width: 80rem) {
  .mod-footer__content-head {
    margin-bottom: 0;
    padding: 1.5rem;
    border-bottom: 1px solid #F6F1EE;
  }
}
.mod-footer__content-head-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 80rem) {
  .mod-footer__content-head-list {
    gap: 0.75rem 1.25rem;
    justify-content: center;
  }
}
.mod-footer__content-head-list > li > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  line-height: 1;
}
.mod-footer__content-head-list > li > a .u-mask-arrow, .mod-footer__content-head-list > li > a .u-mask-external {
  background-color: #808080;
}
.mod-footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 2.5rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links {
    gap: 0;
    flex-direction: column;
  }
}
.mod-footer__bottom-links-item {
  width: calc((100% - 7.5rem) / 4);
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-item {
    width: 100%;
    background-color: #FFFFFF;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-item.is-active .mod-footer__accordion-trigger .icon-accordion::before {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
  }
  .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-ttl:not(.--arrow-link) {
    color: #F00000;
  }
  .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-ttl:not(.--arrow-link) .u-mask-arrow, .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-ttl:not(.--arrow-link) .u-mask-external {
    background-color: #F00000;
  }
}
.mod-footer__accordion-header {
  width: 100%;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer__accordion-header {
    background-color: #EEE6E0;
    border-bottom: 1px solid #F6F1EE;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.mod-footer__bottom-links-ttl {
  width: 100%;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.mod-footer__bottom-links-ttl::before, .mod-footer__bottom-links-ttl::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.mod-footer__bottom-links-ttl::before {
  width: 100%;
  background-color: #D8C3B4;
}
.mod-footer__bottom-links-ttl::after {
  width: 3.125rem;
  background-color: #F00000;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-ttl {
    margin-bottom: 0;
    padding: 0;
    font-weight: 500;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    z-index: 2;
  }
  .mod-footer__bottom-links-ttl .u-mask-arrow, .mod-footer__bottom-links-ttl .u-mask-external {
    background-color: #CAAB97;
    margin-right: 0.5rem;
  }
  .mod-footer__bottom-links-ttl.--arrow-link {
    background-color: #EEE6E0;
    border-bottom: 1px solid #F6F1EE;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .mod-footer__bottom-links-ttl::before, .mod-footer__bottom-links-ttl::after {
    display: none;
  }
  .mod-footer__bottom-links-ttl .icon-accordion {
    width: 1.5rem;
    height: 1.5rem;
    transition: transform 0.3s ease-out;
    position: relative;
  }
  .mod-footer__bottom-links-ttl .icon-accordion::before, .mod-footer__bottom-links-ttl .icon-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    display: block;
    width: 1.125rem;
    height: 0.125rem;
    border-radius: 624.9375rem;
    background-color: #CAAB97;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .mod-footer__bottom-links-ttl .icon-accordion::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.mod-footer__accordion-trigger {
  display: none;
}
@media (max-width: 80rem) {
  .mod-footer__accordion-trigger {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
    background: transparent;
    border: none;
  }
  .mod-footer__accordion-trigger .icon-accordion {
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
  }
  .mod-footer__accordion-trigger .icon-accordion::before, .mod-footer__accordion-trigger .icon-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background-color: #CAAB97;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .mod-footer__accordion-trigger .icon-accordion::before {
    width: 1.125rem;
    height: 0.125rem;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .mod-footer__accordion-trigger .icon-accordion::after {
    width: 1.125rem;
    height: 0.125rem;
  }
}
.mod-footer__bottom-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list {
    gap: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-list {
    max-height: 62.5rem;
    opacity: 1;
    visibility: visible;
  }
}
.mod-footer__bottom-links-list > li.biz-link > a {
  display: flex;
  flex-direction: column;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li.biz-link > a {
    align-items: flex-start;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li.biz-link > a > span.cmn-txt-link {
    width: 100%;
    justify-content: space-between;
  }
}
.mod-footer__bottom-links-list > li.biz-link > a > span.cmn-txt-link span {
  font-size: 0.875rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li.biz-link > a > span.cmn-txt-link span {
    font-size: 1rem;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li {
    background-color: #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer__bottom-links-list > li > a .u-mask-arrow, .mod-footer__bottom-links-list > li > a .u-mask-external {
  background-color: #808080;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 1rem;
    width: 100%;
    min-height: 3.5rem;
    padding: 1rem 1.6875rem 1rem 2.25rem;
  }
  .mod-footer__bottom-links-list > li > a .u-mask-arrow, .mod-footer__bottom-links-list > li > a .u-mask-external {
    background-color: #CAAB97;
  }
}
.mod-footer__bottom-links-list > li > a > span {
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li > a > span {
    font-size: 1rem;
  }
}
.mod-footer__bottom-links-ttl-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-ttl-list {
    gap: 0;
  }
}
.mod-footer__bottom-links-subitem {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-subitem {
    gap: 0;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer__bottom-links-sublist {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist {
    gap: 0;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist > li {
    background-color: #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer__bottom-links-sublist > li > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-footer__bottom-links-sublist > li > a::before {
  content: "";
  height: 0.0625rem;
  width: 0.125rem;
  background-color: #000000;
  display: block;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.5rem;
    padding: 1rem 1.6875rem 1rem 2.25rem;
  }
  .mod-footer__bottom-links-sublist > li > a::before {
    display: none;
  }
}
.mod-footer__bottom-links-sublist > li > a > span {
  font-size: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist > li > a > span {
    font-size: 1rem;
  }
}
.mod-footer__bottom-links-sublist > li > a .u-mask-arrow, .mod-footer__bottom-links-sublist > li > a .u-mask-external {
  background-color: #CAAB97;
}
.mod-footer__policy-wrap {
  display: flex;
  margin-left: auto;
  margin-top: 3.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__policy-wrap {
    background-color: #EEE6E0;
    margin-left: 0;
    padding: 1.5rem 1.25rem;
    margin-top: 0;
  }
}
.mod-footer__policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.mod-footer__policy-links > li {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25;
}
.mod-footer__policy-links > li:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 0.75rem;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
}
@media (max-width: 80rem) {
  .mod-footer__policy-links > li:not(:last-child)::after {
    display: none;
  }
}
@media (max-width: 80rem) {
  .mod-footer__policy-links {
    flex-direction: column;
  }
}
.mod-footer__copyright {
  width: 100%;
  margin-inline: auto;
  padding: 2.5rem 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 1.125rem;
  background-color: #FFFFFF;
}
@media (max-width: 80rem) {
  .mod-footer__copyright {
    flex-direction: column;
  }
}
.mod-footer__copyright-logo {
  width: 31.5625rem;
  height: 1.5rem;
}
@media (max-width: 80rem) {
  .mod-footer__copyright-logo {
    width: 20.5rem;
    height: 1rem;
  }
}
.mod-footer__copyright-txt {
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  line-height: 1;
}
@media (max-width: 80rem) {
  .mod-footer__copyright-txt {
    font-size: 0.625rem;
  }
}
.mod-footer__to-top-btn {
  position: absolute;
  bottom: 2.5rem;
  right: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.25rem;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  font-size: 0.625rem;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  color: #FFFFFF;
  background-color: #F00000;
}
.mod-footer__to-top-btn .u-mask-arrow {
  transform: rotate(-90deg);
  background-color: #FFFFFF;
}
@media (max-width: 96rem) {
  .mod-footer__to-top-btn {
    bottom: 4.5rem;
  }
}
@media (max-width: 80rem) {
  .mod-footer__to-top-btn {
    bottom: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-footer__to-top-btn {
    right: 1.25rem;
    width: 3rem;
    height: 3rem;
  }
}

/* mainの最後のcmn-containerに応じた背景色調整
-------------------------------------------------------------------- */
body:has(main > .cmn-container.--white:last-of-type) .mod-footer::after {
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #FFFFFF 70%);
}

body:has(main > .cmn-container.--brown:last-of-type) .mod-footer::after {
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #F6F1EE 70%);
}

/* =========================================================== */
/* パンくず */
/* =========================================================== */
.mod-breadcrumb {
  background-color: #FFFFFF;
  position: relative;
  padding-bottom: 2.25rem;
  border-bottom-right-radius: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-breadcrumb {
    padding-bottom: 1.6875rem;
    border-bottom-right-radius: 1.5rem;
  }
}
.mod-breadcrumb::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #EEE6E0;
}
@media (max-width: 80rem) {
  .mod-breadcrumb::before {
    background-color: #F00000;
  }
}
.mod-breadcrumb .cmn-inner {
  overflow-x: auto;
}
.mod-breadcrumb__list {
  padding: 0.875rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
.mod-breadcrumb__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-breadcrumb__item:first-child img {
  width: 1.136875rem;
  height: 1rem;
}
.mod-breadcrumb__item:not(:first-child)::before {
  content: "> ";
  display: block;
  color: #F00000;
  font-size: 0.875rem;
}
.mod-breadcrumb__link {
  font-size: 0.75rem;
}
.mod-breadcrumb__current {
  font-size: 0.75rem;
  color: #808080;
}

/* mainの最後のcmn-containerに応じた背景色調整
-------------------------------------------------------------------- */
body:has(main > .cmn-container.--white:last-of-type) .mod-breadcrumb {
  background-color: #FFFFFF;
}

body:has(main > .cmn-container.--brown:last-of-type) .mod-breadcrumb {
  background-color: #F6F1EE;
}

/* =========================================================== */
/* バナースライダー */
/* =========================================================== */
.mod-bnr-slider .splide__track {
  overflow: visible;
}
.mod-bnr-slider .splide__list {
  align-items: center;
}
.mod-bnr-slider .splide__slide {
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.16));
  width: 80.645283018% !important;
  overflow: hidden;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-bnr-slider .splide__slide {
    width: 100% !important;
  }
}
.mod-bnr-slider .splide__slide.is-active {
  width: 100% !important;
}
.mod-bnr-slider .splide__arrow {
  width: 3.75rem;
  height: 3.75rem;
  border: 0.125rem #EEE6E0 solid;
  background-color: #FFFFFF;
  opacity: 1;
}
@media (max-width: 48rem) {
  .mod-bnr-slider .splide__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.mod-bnr-slider .splide__arrow .arrow {
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (any-hover: hover) {
  .mod-bnr-slider .splide__arrow:hover:not(:disabled) {
    opacity: 1;
    border-color: #F00000;
    background-color: #F00000;
  }
  .mod-bnr-slider .splide__arrow:hover:not(:disabled) .arrow {
    background-color: #FFFFFF;
  }
}
.mod-bnr-slider .splide__arrow--prev {
  left: -4.6875rem;
}
.mod-bnr-slider .splide__arrow--prev .arrow {
  transform: rotate(180deg);
}
@media (max-width: 80rem) {
  .mod-bnr-slider .splide__arrow--prev {
    left: -0.25rem;
  }
}
.mod-bnr-slider .splide__arrow--next {
  right: -4.6875rem;
}
@media (max-width: 80rem) {
  .mod-bnr-slider .splide__arrow--next {
    right: -0.25rem;
  }
}
.mod-bnr-slider .splide__pagination {
  position: static;
  padding: unset;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.mod-bnr-slider .splide__pagination li {
  display: flex;
  align-items: center;
}
.mod-bnr-slider .splide__pagination__page {
  background-color: #CCCCCC;
  width: 0.625rem;
  height: 0.625rem;
  margin: unset;
  opacity: 1;
}
.mod-bnr-slider .splide__pagination__page.is-active {
  background-color: #F00000;
  transform: unset;
}
@media (max-width: 48rem) {
  .mod-bnr-slider .splide__pagination__page {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.mod-bnr-slider .splide__toggle {
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
}
.mod-bnr-slider .splide__toggle__pause,
.mod-bnr-slider .splide__toggle__play {
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
.mod-bnr-slider .splide__toggle__pause {
  background-image: url("../../../img/common/btn-pause.svg");
}
@media (any-hover: hover) {
  .mod-bnr-slider .splide__toggle__pause:hover {
    background-image: url("../../../img/common/btn-pause-hover.svg");
  }
}
.mod-bnr-slider .splide__toggle__play {
  background-image: url("../../../img/common/btn-play.svg");
}
@media (any-hover: hover) {
  .mod-bnr-slider .splide__toggle__play:hover {
    background-image: url("../../../img/common/btn-play-hover.svg");
  }
}
.mod-bnr-slider__slide-wrap {
  position: relative;
}
.mod-bnr-slider__thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1060/372;
}
@media (max-width: 48rem) {
  .mod-bnr-slider__thumb img {
    aspect-ratio: 304/270;
  }
}
.mod-bnr-slider__ctrl {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .mod-bnr-slider__ctrl {
    margin-top: 1.5rem;
  }
}
.mod-bnr-slider.--type02 .mod-bnr-slider__thumb img {
  aspect-ratio: 1590/558;
}
@media (max-width: 48rem) {
  .mod-bnr-slider.--type02 .mod-bnr-slider__thumb img {
    aspect-ratio: 664/378;
  }
}

/* =========================================================== */
/* 関連リンク */
/* =========================================================== */
.mod-related-links {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  color: #808080;
}
@media (max-width: 48rem) {
  .mod-related-links {
    gap: 1.5rem;
  }
}
@media (any-hover: hover) {
  .mod-related-links__content .cmn-txt-link:hover {
    color: rgba(128, 128, 128, 0.6);
  }
}
.mod-related-links__content .cmn-txt-link .u-mask-arrow {
  background-color: #808080;
}
.mod-related-links__ttl {
  position: relative;
  font-weight: 500;
  padding-left: 1rem;
}
.mod-related-links__ttl span {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-related-links__ttl span {
    font-size: 1rem;
  }
}
.mod-related-links__ttl::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.0625rem;
  background-color: #808080;
}
.mod-related-links__ttl-wrap {
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-related-links__ttl-wrap {
    margin-bottom: 0.5rem;
  }
}
.mod-related-links__sub-ttl {
  font-weight: 500;
}
.mod-related-links__sub-ttl span {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-related-links__sub-ttl span {
    font-size: 0.875rem;
  }
}
.mod-related-links__sub-ttl-wrap {
  margin-bottom: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-related-links__sub-ttl-wrap {
    margin-bottom: 0.75rem;
  }
}
.mod-related-links__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-related-links__body {
    gap: 1.375rem;
  }
}
.mod-related-links__nav {
  margin-top: 1.5rem;
  display: flex;
  justify-content: flex-end;
}
.mod-related-links__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-related-links__list {
    gap: 0.375rem 0.75rem;
  }
}
.mod-related-links__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-related-links__item {
    gap: 0.75rem;
  }
}
.mod-related-links__item:not(:last-child)::after {
  content: "|";
  display: block;
  font-size: 1rem;
}
.mod-related-links__link {
  color: #808080;
  font-size: 1rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-related-links__link {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-related-links__link:hover {
    color: rgba(128, 128, 128, 0.6);
    text-decoration: underline;
  }
}

/* =========================================================== */
/* アコーディオン */
/* =========================================================== */
.mod-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-accordion {
    gap: 0.75rem;
  }
}
.mod-accordion__item {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-accordion__item {
    border-radius: 0.5rem;
  }
}
.mod-accordion__eyecatch {
  flex-shrink: 0;
  line-height: 1.75rem;
  font-weight: 700;
  font-size: 1.5rem;
  color: #BD967C;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-accordion__eyecatch {
    line-height: 1.53125rem;
    font-size: 1.25rem;
  }
}
.mod-accordion__txt {
  font-size: 1rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-accordion__txt {
    font-size: 0.875rem;
  }
}
.mod-accordion__txt.--medium {
  font-weight: 500;
}
.mod-accordion__head {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: center;
  padding: 2rem 2.5rem;
  cursor: pointer;
}
@media (max-width: 48rem) {
  .mod-accordion__head {
    gap: 0.75rem;
    padding: 1rem;
  }
}
.mod-accordion__head.--no-hover {
  cursor: auto;
}
@media (any-hover: hover) {
  .mod-accordion__head:not(.--no-hover):hover .mod-accordion__txt {
    color: #F00000;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
  }
}
.mod-accordion__head-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-accordion__head-wrap {
    gap: 0.75rem;
  }
}
.mod-accordion__body {
  position: absolute;
  visibility: hidden;
  height: 0;
  padding: 2rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-accordion__body {
    gap: 0.75rem;
    padding: 1rem;
  }
}
.mod-accordion__body-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-accordion__body-wrap {
    gap: 0.75rem;
  }
}
.mod-accordion__body-wrap.--list-wrap {
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}
.mod-accordion__body-wrap.--normal {
  display: block;
}
.mod-accordion__btn-wrap {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}
.mod-accordion__btn {
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #BD967C;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-accordion__btn::before, .mod-accordion__btn::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #FFFFFF;
  width: 0.625rem;
  height: 0.075rem;
  transition: all 0.3s ease-out;
  border-radius: 3.125rem;
}
.mod-accordion__btn::before {
  transform: rotate(90deg);
}
.mod-accordion__link {
  color: #074EBB;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-accordion__link {
    font-size: 0.875rem;
  }
}
.mod-accordion__item.is-active .mod-accordion__btn::before {
  opacity: 0;
  visibility: hidden;
}
.mod-accordion__item.is-active .mod-accordion__body {
  height: auto;
  visibility: visible;
  position: relative;
}
.mod-accordion__item.is-active .mod-accordion__body::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 2.5rem;
  right: 2.5rem;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
@media (max-width: 48rem) {
  .mod-accordion__item.is-active .mod-accordion__body::before {
    left: 1rem;
    right: 1rem;
  }
}
.mod-accordion__item.is-active .mod-accordion__body-wrap {
  opacity: 1;
}

/* =========================================================== */
/* 目次 */
/* =========================================================== */
/* 目次 
-------------------------------------------------------------------- */
.mod-toc__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
}
.--type03 .mod-toc__list {
  gap: 1rem;
}
.--type03 .mod-toc__list.--4col .mod-toc__item {
  width: calc((100% - 3rem) / 4);
}
@media (max-width: 48rem) {
  .--type03 .mod-toc__list.--4col .mod-toc__item {
    width: 100%;
  }
}
.--4col .mod-toc__item {
  width: calc((100% - 3.75rem) / 4);
}
@media (max-width: 48rem) {
  .--4col .mod-toc__item {
    width: 100%;
  }
}
.--2col .mod-toc__item {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .--2col .mod-toc__item {
    width: 100%;
  }
}
.mod-toc__link {
  border: 0.0625rem solid #F2F2F2;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 1.5rem 1.25rem;
  background-color: #FFFFFF;
  height: 100%;
  transition: border 0.3s ease-out, box-shadow 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-toc__link {
    padding: 1rem;
  }
}
.--type02 .mod-toc__link {
  align-items: center;
  padding: 0.75rem 0.75rem 0.75rem 1.25rem;
}
@media (max-width: 48rem) {
  .--type02 .mod-toc__link {
    padding: 1rem;
  }
}
.--type03 .mod-toc__link {
  padding: 0.625rem 0.75rem;
  gap: 0.75rem;
  justify-content: flex-start;
  align-items: center;
  height: 4.5rem;
}
@media (max-width: 66.25rem) {
  .--type03 .mod-toc__link {
    height: 100%;
    min-height: 4.5rem;
    flex-grow: 1;
  }
}
@media (max-width: 48rem) {
  .--type03 .mod-toc__link {
    padding: 0rem;
    box-shadow: none;
    border: none;
    min-height: unset;
  }
}
@media (max-width: 48rem) and (any-hover: hover) {
  .--type03 .mod-toc__link:hover .mod-toc__txt {
    text-decoration: underline;
  }
}
.--simple .mod-toc__link {
  padding: 0;
  box-shadow: none;
  border: none;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
}
@media (any-hover: hover) {
  .--simple .mod-toc__link:hover {
    box-shadow: none;
    border: none;
  }
  .--simple .mod-toc__link:hover .mod-toc__txt {
    text-decoration: underline;
  }
}
@media (any-hover: hover) {
  .mod-toc__link:hover {
    border-color: #F00000;
    box-shadow: 0 0 0 1px #F00000 inset;
  }
  .mod-toc__link:hover .mod-toc__txt {
    color: #F00000;
  }
  .mod-toc__link:hover .mod-toc__icon {
    background-color: #F00000;
  }
  .mod-toc__link:hover .mod-toc__icon::before {
    background-color: #FFFFFF;
  }
}
.mod-toc__txt {
  font-weight: 600;
  transition: color 0.3s ease-out;
}
.--type03 .mod-toc__txt {
  font-weight: 500;
}
.mod-toc__icon {
  flex-shrink: 0;
  position: relative;
  display: flex;
  width: 1.25rem;
  aspect-ratio: 1/1;
  background-color: #EEE6E0;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out;
}
.mod-toc__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  display: block;
  width: 0.375rem;
  height: 0.6875rem;
  background-color: #BD967C;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

/* 目次 PC用
-------------------------------------------------------------------- */
.mod-toc-pc__list {
  display: flex;
  gap: 1rem 2.5rem;
  flex-wrap: wrap;
}
.mod-toc-pc__item {
  width: calc((100% - 2.5rem) / 2);
}
.mod-toc-pc__link {
  border: 0.0625rem solid #DDDDDD;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.08);
  border-radius: 0.75rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background-color: #FFFFFF;
  height: 100%;
}
.mod-toc-pc__txt {
  font-weight: bold;
  font-size: 1rem;
  min-height: 2lh;
  display: flex;
  align-items: center;
}
.mod-toc-pc__arrow {
  flex-shrink: 0;
  transform: rotate(90deg);
}

/* 目次 SP用
-------------------------------------------------------------------- */
.mod-toc-sp__content {
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  border: 0.0625rem solid #DDDDDD;
}
.mod-toc-sp__head {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem 1rem 1rem;
  cursor: pointer;
}
@media (any-hover: hover) {
  .mod-toc-sp__head:hover .mod-toc-sp__head-txt {
    color: #F00000;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
  }
}
.mod-toc-sp__head-txt {
  font-weight: bold;
  font-size: 1rem;
  transition: color 0.3s ease-out;
}
.mod-toc-sp__head-arrow {
  flex-shrink: 0;
  transform: rotate(-90deg);
}
.mod-toc-sp__body {
  position: absolute;
  visibility: hidden;
  height: 0;
  padding: 1.25rem 1rem 1.5rem;
}
.mod-toc-sp__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  opacity: 0;
}
.mod-toc-sp__item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-weight: 500;
}
.mod-toc-sp__body-arrow {
  position: relative;
  top: 0.328125rem;
  border-radius: 50%;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEE6E0;
}
.mod-toc-sp__body-arrow .icon-arrow {
  transform: rotate(90deg);
  width: 0.384375rem;
  height: 0.625rem;
  background-color: #BD967C;
}
.mod-toc-sp__content.is-active .mod-toc-sp__body {
  height: auto;
  visibility: visible;
  position: relative;
}
.mod-toc-sp__content.is-active .mod-toc-sp__body::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-toc-sp__content.is-active .mod-toc-sp__list {
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.mod-toc-sp__content.is-active .mod-toc-sp__head-arrow {
  transform: rotate(90deg);
}

/* =========================================================== */
/* サイドバー */
/* =========================================================== */
.mod-sidebar__island-wrap {
  max-height: calc(100dvh - 5rem - 1rem - 9.75rem - var(--header-height) - 1rem);
  position: relative;
  padding: 0 0 0.5625rem 0.375rem;
}
.mod-sidebar__island-wrap.--scroll {
  overflow-y: scroll;
  overflow-x: hidden;
}
.mod-sidebar__island-wrap + .mod-sidebar__island-wrap {
  margin-top: 1rem;
}
.mod-sidebar__island {
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  padding: 1rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  width: 20.625rem;
  margin-right: 0.75rem;
}
.mod-sidebar__island::before {
  content: "";
  display: block;
  height: 0.25rem;
  background-color: #020055;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.mod-sidebar__island + .mod-sidebar__island {
  margin-top: 0.9375rem;
}
.mod-sidebar__island.--no-cap::before {
  display: none;
}
.mod-sidebar__island .cmn-btn {
  width: 100%;
}
.mod-sidebar__island .cmn-btn.--search {
  padding-inline: 1.25rem;
}
.mod-sidebar__ttl {
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.mod-sidebar__ttl.--search::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #020055;
  -webkit-mask-image: url(../../../img/common/icon-search.svg);
          mask-image: url(../../../img/common/icon-search.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-sidebar__block + .mod-sidebar__block {
  margin-top: 1.25rem;
}
.mod-sidebar__block.--border {
  padding-top: 1.25rem;
  position: relative;
}
.mod-sidebar__block.--border::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: -1rem;
  right: -1rem;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-sidebar__head {
  font-size: 1rem;
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.mod-sidebar__head:not(.--no-dot)::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #72719F;
  border-radius: 0.0625rem;
}
.mod-sidebar__body {
  display: flex;
  flex-wrap: wrap;
}
.mod-sidebar__body > * {
  width: 100%;
}
.mod-sidebar__body.--2col {
  gap: 1rem;
}
.mod-sidebar__body.--2col > * {
  width: calc((100% - 1rem) / 2);
}
.mod-sidebar__body.--3col {
  gap: 0.5rem;
}
.mod-sidebar__body.--3col > * {
  width: calc((100% - 1rem) / 3);
}
.mod-sidebar__body .--full-width {
  width: 100% !important;
}
.mod-sidebar__body.--custom {
  gap: 0.5rem;
}
.mod-sidebar__body.--custom > .--2col {
  width: calc((100% - 0.5rem) / 2);
}
.mod-sidebar__body.--custom > .--3col {
  width: calc((100% - 1rem) / 3);
}
.mod-sidebar__current p {
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.5;
}
.mod-sidebar__current p + p {
  margin-top: 0.5rem;
}
.mod-sidebar__current + .mod-sidebar__area-select {
  margin-top: 0.75rem;
}
.mod-sidebar__current-detail.--max4 {
  -webkit-line-clamp: 4;
}
.mod-sidebar__area-select {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.mod-sidebar__area-select a {
  transition: color 0.3s ease-out, border-color 0.3s ease-out;
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 1.25rem;
  height: 2.5rem;
  padding: 0 1.125rem;
  width: 100%;
  position: relative;
}
@media (any-hover: hover) {
  .mod-sidebar__area-select a:hover {
    color: #3A397B;
    border: 0.0625rem solid #3A397B;
  }
}
.mod-sidebar__area-select a .icon-arrow {
  width: 0.3125rem;
  height: 0.5625rem;
  background-color: #333333;
  position: absolute;
  right: 0.75rem;
}
.mod-sidebar__area-select a.--half {
  width: calc((100% - 0.5rem) / 2);
}
.mod-sidebar__area-select a.--high {
  height: 3rem;
  border-radius: 3.125rem;
}
.mod-sidebar .check-btn {
  border-radius: 0.5rem;
  height: 2.5rem;
  border: 0.0625rem solid #CCCCCC;
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-sidebar .check-btn:has(input:checked) {
  color: #3A397B;
  border: 0.0625rem solid #3A397B;
}
@media (any-hover: hover) {
  .mod-sidebar .check-btn:hover {
    color: #3A397B;
    border: 0.0625rem solid #3A397B;
  }
}
.mod-sidebar .check-btn input {
  position: absolute;
  inset: 0;
}
.mod-sidebar__keyword {
  border-radius: 0.5rem;
  height: 2.5rem;
  border: 0.0625rem solid #CCCCCC;
}
.mod-sidebar__keyword input {
  font-size: 0.875rem;
  border-radius: 0.5rem;
  width: 100%;
  height: 100%;
  padding: 0 1rem;
}
.mod-sidebar__select {
  border-radius: 0.5rem;
  height: 2.5rem;
  border: 0.0625rem solid #CCCCCC;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.mod-sidebar__select select {
  font-size: 0.875rem;
  width: 100%;
  height: 100%;
  padding: 0 1rem;
}
.mod-sidebar__select .icon-arrow {
  background-color: #000000;
  width: 0.365625rem;
  height: 0.600625rem;
  position: absolute;
  right: 1rem;
  transform: rotate(90deg);
}
.mod-sidebar__radio-box {
  border-radius: 0.5rem;
  height: 2.5rem;
  border: 0.0625rem solid #CCCCCC;
  font-weight: 500;
  display: flex;
  align-items: center;
  position: relative;
  gap: 0.5rem;
  padding: 0.75rem 0.625rem;
}
.mod-sidebar__radio-box input {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.mod-sidebar__radio-box input:checked + .ball::before {
  content: "";
}
.mod-sidebar__radio-box .txt {
  font-size: 0.875rem;
}
.mod-sidebar__radio-box .ball {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-sidebar__radio-box .ball::before {
  border-radius: 100%;
  display: block;
  background-color: #3A397B;
  width: 0.625rem;
  height: 0.625rem;
}
.mod-sidebar__check-list {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.mod-sidebar__checkbox {
  width: calc((100% - 0.75rem) / 2);
  position: relative;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.mod-sidebar__checkbox input {
  position: absolute;
  inset: 0;
}
.mod-sidebar__checkbox.--fullwidth {
  width: 100%;
}
.mod-sidebar__checkbox-txt {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1.5;
}
.mod-sidebar__checkbox-box {
  flex-shrink: 0;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  border: 0.0625rem solid #CCCCCC;
  background-color: #FFFFFF;
  border-radius: 0.1875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-sidebar__checkbox-box::before {
  display: block;
  position: absolute;
  aspect-ratio: 11.72/8.07;
  width: 0.7325rem;
  height: auto;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-sidebar input:checked + .mod-sidebar__checkbox-box {
  border: 0.0625rem solid #3A397B;
  background-color: #3A397B;
}
.mod-sidebar input:checked + .mod-sidebar__checkbox-box::before {
  content: "";
}
.mod-sidebar__more {
  margin-top: 1.25rem;
}
.mod-sidebar__more-btn {
  border-radius: 2rem;
  padding: 0.25rem 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 600;
  min-height: 3rem;
  transition: background-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  border: 0.0625rem solid #DDDDDD;
}
@media (any-hover: hover) {
  .mod-sidebar__more-btn:hover {
    border-color: #3A397B;
    color: #3A397B;
  }
  .mod-sidebar__more-btn:hover .mod-sidebar__more-cross::before, .mod-sidebar__more-btn:hover .mod-sidebar__more-cross::after {
    background-color: #3A397B;
  }
}
.mod-sidebar__more-cross {
  position: absolute;
  right: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
}
.mod-sidebar__more-cross::before, .mod-sidebar__more-cross::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #000000;
  width: 0.875rem;
  height: 0.125rem;
  border-radius: 0.125rem;
  transition: all 0.3s ease-out;
}
.mod-sidebar__more-cross::before {
  transform: rotate(90deg);
}
.mod-sidebar__conditions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mod-sidebar__conditions .conditions-txt-wrap {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.75rem;
}
.mod-sidebar__conditions .conditions-txt {
  font-size: 0.875rem;
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
}
.mod-sidebar__conditions .conditions-txt + .conditions-txt::before {
  content: "";
  display: block;
  height: 1.25rem;
  width: 0.0625rem;
  background-color: #FFFFFF;
  margin-right: 0.75rem;
}
.mod-sidebar__conditions .num {
  font-size: 1rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  margin-right: 0.25rem;
}
.mod-sidebar__conditions .cmn-btn__txt {
  font-size: 0.875rem;
}

/*===========================================================*/
/* 物件カード */
/*===========================================================*/
.mod-property-card {
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-property-card:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
  .mod-property-card:hover .mod-property-card__bottom-link.--detail {
    color: #F00000;
  }
}
.mod-property-card + .mod-property-card {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-property-card + .mod-property-card {
    margin-top: 1.25rem;
  }
}
.mod-property-card {
  /* お気に入り
  -------------------------------------------------------------------- */
}
.mod-property-card__favorite {
  position: absolute;
  z-index: 2;
  right: 1rem;
  top: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-card__favorite {
    right: 1rem;
    top: 0.75rem;
  }
}
.mod-property-card {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-property-card__grid {
  position: relative;
  padding: 1.5rem 1.5rem 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
  z-index: 1;
  border-bottom: rgba(0, 0, 0, 0.045) 0.125rem solid;
}
.mod-property-card__grid .grid-item1,
.mod-property-card__grid .grid-item2 {
  grid-column: 1/-1;
}
.mod-property-card__grid .grid-item3,
.mod-property-card__grid .grid-item4 {
  grid-column: span 1;
}
@media (max-width: 48rem) {
  .mod-property-card__grid {
    padding: 0 1rem 1rem;
    grid-template-columns: 1fr;
  }
  .mod-property-card__grid .grid-item3 {
    order: -1;
  }
}
.mod-property-card.--sell .mod-property-card__grid {
  padding: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card.--sell .mod-property-card__grid {
    padding: 0 1rem 1.5rem;
  }
}
.mod-property-card {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-property-card__tag {
  display: flex;
  gap: 0.5rem 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
  padding-right: 4rem;
}
@media (max-width: 48rem) {
  .mod-property-card__tag {
    margin-bottom: 0.75rem;
    margin-top: 1rem;
    padding-right: unset;
  }
}
.mod-property-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #F2F2F2;
}
.mod-property-card__tag-item.--new {
  background-color: #4FA719;
  color: #FFFFFF;
}
.mod-property-card__tag-item.--secondary {
  background-color: #FFFFFF;
  color: #CC0000;
  border: 0.0625rem solid #CC0000;
}
.mod-property-card__tag-item.--brown {
  background-color: #EEE6E0;
}
.mod-property-card {
  /* 見出し
  -------------------------------------------------------------------- */
}
.mod-property-card__ttl {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card__ttl {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
.mod-property-card {
  /* スライダー
  -------------------------------------------------------------------- */
}
.mod-property-card__slider {
  z-index: 2;
  border-radius: 0.75rem;
  isolation: isolate;
  overflow: hidden;
  margin-right: 1.5rem;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 48rem) {
  .mod-property-card__slider {
    margin-right: -1rem;
    margin-left: -1rem;
    border-radius: 0.75rem 0.75rem 0 0;
  }
}
.mod-property-card__slider .splide__slide img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 392/260;
}
@media (max-width: 48rem) {
  .mod-property-card__slider .splide__slide img {
    aspect-ratio: 336/223;
  }
}
.mod-property-card__slider .splide__arrow {
  width: auto;
  height: auto;
  background: unset;
  opacity: 1;
}
.mod-property-card__slider .splide__arrow img {
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.48));
  width: 1.125rem;
  height: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card__slider .splide__arrow img {
    width: 0.9rem;
    height: 1.5rem;
  }
}
@media (any-hover: hover) {
  .mod-property-card__slider .splide__arrow:hover:not(:disabled) {
    opacity: 1;
  }
  .mod-property-card__slider .splide__arrow:hover:not(:disabled) svg {
    stroke: #FFFFFF;
  }
}
.mod-property-card__slider .splide__arrow--prev {
  left: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-card__slider .splide__arrow--prev {
    left: 1rem;
  }
}
.mod-property-card__slider .splide__arrow--next {
  right: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-card__slider .splide__arrow--next {
    right: 1rem;
  }
}
.mod-property-card__slider .splide__arrow--next img {
  transform: rotate(180deg);
}
.mod-property-card__slider .madori-btn {
  position: absolute;
  z-index: 2;
  right: 0.75rem;
  bottom: 0.75rem;
  width: 3rem;
  height: 3rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  align-items: center;
  justify-content: center;
  transition: border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-property-card__slider .madori-btn {
    right: 0.5rem;
    bottom: 0.5rem;
  }
}
.mod-property-card__slider .madori-btn:after {
  transition: color 0.3s ease-out;
  content: "間取り";
  font-weight: 500;
  font-size: 0.6875rem;
  line-height: 1.1;
}
@media (any-hover: hover) {
  .mod-property-card__slider .madori-btn:hover {
    border-color: #F00000;
  }
  .mod-property-card__slider .madori-btn:hover:after {
    color: #F00000;
  }
}
.mod-property-card__slider .icon-madori {
  margin-top: 0.09375rem;
  display: block;
  width: 1.839375rem;
  height: 1.175rem;
}
.mod-property-card__slider-counter {
  width: 100%;
  position: absolute;
  z-index: 1;
  bottom: 0.75rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-property-card__slider-counter {
    bottom: 0.5rem;
  }
}
.mod-property-card__slider-counter .counter {
  background-color: rgba(77, 77, 77, 0.7);
  border-radius: 0.625rem;
  padding: 0 0.375rem;
  line-height: 1.1875rem;
  color: #FFFFFF;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card__slider-counter .counter {
    line-height: 0.875rem;
    padding: 0 0.625rem;
    font-weight: 500;
    font-size: 0.625rem;
  }
}
.mod-property-card {
  /* インフォエリア
  -------------------------------------------------------------------- */
}
.mod-property-card__price {
  font-size: 1rem;
  font-weight: 500;
  color: #CC0000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-card__price {
    font-size: 0.875rem;
    font-weight: 400;
  }
}
.mod-property-card__price .num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  margin-right: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-property-card__price .num {
    font-size: 1.5rem;
  }
}
.mod-property-card__price .sub {
  color: #000000;
  font-size: 0.875rem;
  font-weight: 400;
  margin-left: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-property-card__price .sub {
    font-size: 0.75rem;
  }
}
.mod-property-card__detail {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card__detail {
    margin-top: 0.375rem;
  }
}
.mod-property-card__detail-access, .mod-property-card__detail-floor {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-property-card__detail-access .icon-detail, .mod-property-card__detail-floor .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.203125rem;
}
.mod-property-card__detail-access p, .mod-property-card__detail-floor p {
  font-size: 0.875rem;
}
.mod-property-card__detail-floor-list {
  gap: 0.21875rem 0;
  line-height: 1.5;
  display: grid;
  grid-template-columns: repeat(2, minmax(9.75rem, 50%));
}
@media (max-width: 48rem) {
  .mod-property-card__detail-floor-list {
    grid-template-columns: 50% 50%;
    flex: 1;
  }
}
.mod-property-card__detail-floor-list dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card__detail-floor-list dl {
    gap: 0 0.5rem;
  }
}
.mod-property-card__detail-floor-list dl:nth-of-type(even) {
  padding-left: 0.75rem;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-property-card__detail-floor-list dl:nth-of-type(even) {
    padding-left: 0.5rem;
  }
}
.mod-property-card__detail-floor-list dl:nth-of-type(even)::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
  position: absolute;
  left: 0;
}
.mod-property-card__detail-floor-list dt {
  font-weight: 500;
  flex-shrink: 0;
  color: #4D4D4D;
}
.mod-property-card__note {
  padding: 0.75rem;
  border-radius: 0.3125rem;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-card__note {
    margin-top: 0.625rem;
    padding: 0.5rem;
  }
}
.mod-property-card__note + .mod-property-card__note {
  margin-top: 0.5rem;
}
.mod-property-card__note.--point {
  background-color: rgba(244, 226, 226, 0.5);
}
.mod-property-card__note.--open-house {
  background-color: rgba(238, 230, 224, 0.5);
}
.mod-property-card__note-ttl {
  font-weight: bold;
  font-size: 0.75rem;
  color: #CC0000;
  margin-bottom: 0.125rem;
}
.mod-property-card__note-desc {
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.mod-property-card {
  /* 基本情報
  -------------------------------------------------------------------- */
}
.mod-property-card__data {
  margin-top: 1.25rem;
  background-color: rgba(221, 221, 221, 0.5);
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-card__data {
    margin-top: 0.75rem;
    padding: 0.75rem;
  }
}
.mod-property-card__data + .mod-property-card__detail {
  margin-top: 1rem;
}
.mod-property-card__data-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card__data-list {
    gap: 0 0.25rem;
  }
}
.mod-property-card__data-list:not(:last-child) {
  padding-right: 0.75rem;
  position: relative;
}
.mod-property-card__data-list:not(:last-child)::after {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
  position: absolute;
  right: 0;
}
.mod-property-card__data-ttl {
  font-weight: 500;
  flex-shrink: 0;
  color: #4D4D4D;
}
.mod-property-card {
  /* ボトムエリア
  -------------------------------------------------------------------- */
}
.mod-property-card__bottom {
  display: flex;
  border-radius: 0 0 0.75rem 0.75rem;
  overflow: hidden;
}
.mod-property-card__bottom-link {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25rem 1rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-property-card__bottom-link {
    padding: 0.9375rem 1rem;
    font-size: 0.875rem;
  }
}
.mod-property-card__bottom-link.--detail {
  background-color: #FFFFFF;
}
.mod-property-card__bottom-link.--contact {
  color: #FFFFFF;
  background-color: #F00000;
}
@media (any-hover: hover) {
  .mod-property-card__bottom-link.--contact:hover {
    background-color: #CC0000;
  }
}
.mod-property-card {
  /* チェックボックス
  -------------------------------------------------------------------- */
}
@media (max-width: 48rem) {
  .mod-property-card:has(.mod-property-card__check-area) .mod-property-card__slider {
    border-radius: unset;
  }
}
.mod-property-card:has(.mod-property-card__check-area) .mod-property-card__favorite {
  top: 5.25rem;
  right: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card:has(.mod-property-card__check-area) .mod-property-card__favorite {
    top: 3.875rem;
    right: 1rem;
  }
}
.mod-property-card:has(.mod-property-card__check-area) .mod-property-card__tag {
  padding-right: 4.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card:has(.mod-property-card__check-area) .mod-property-card__tag {
    padding-right: unset;
  }
}
.mod-property-card__check-area {
  z-index: 2;
  background-color: #F2F2F2;
  display: flex;
  position: relative;
  height: 3.75rem;
  padding: 1rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card__check-area {
    height: 3.125rem;
    padding: 0.625rem 1rem;
  }
}
.mod-property-card__checkbox {
  z-index: 2;
  position: relative;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-property-card__checkbox .icon {
  display: block;
  position: absolute;
  aspect-ratio: 11.72/8.07;
  width: 0.855rem;
  height: auto;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  opacity: 0;
}
.mod-property-card__checkbox input {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.25rem;
}
.mod-property-card__checkbox input:checked {
  border-color: #F00000;
  background-color: #F00000;
}
.mod-property-card__checkbox input:checked + .icon {
  opacity: 1;
}
.mod-property-card {
  /* 地図で探すver 小さいカード
  -------------------------------------------------------------------- */
}
.mod-property-card.--s .mod-property-card__grid {
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.25rem;
  padding: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-card.--s .mod-property-card__grid {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }
}
.mod-property-card.--s .mod-property-card__grid .mod-property-card__tag,
.mod-property-card.--s .mod-property-card__grid .mod-property-card__ttl,
.mod-property-card.--s .mod-property-card__grid .mod-property-card__price,
.mod-property-card.--s .mod-property-card__grid .mod-property-card__note {
  grid-column: 1/-1;
}
.mod-property-card.--s .mod-property-card__grid .mod-property-card__img {
  grid-column: 1/2;
}
.mod-property-card.--s .mod-property-card__grid .mod-property-card__info {
  grid-column: 2/3;
}
.mod-property-card.--s .mod-property-card__tag {
  margin-bottom: 0;
}
.mod-property-card.--s .mod-property-card__ttl {
  font-size: 1rem;
  margin-bottom: 0;
  margin-top: 0.375rem;
}
.mod-property-card.--s .mod-property-card__price {
  margin-bottom: 0;
}
.mod-property-card.--s .mod-property-card__price .num {
  font-size: 1.5rem;
}
.mod-property-card.--s .mod-property-card__price p {
  font-size: 0.875rem;
}
.mod-property-card.--s .mod-property-card__img {
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 0.25rem;
  overflow: hidden;
}
.mod-property-card.--s .mod-property-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-property-card.--s .mod-property-card__detail {
  margin-top: 0;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .mod-property-card.--s .mod-property-card__detail {
    gap: 0.25rem;
  }
}
.mod-property-card.--s .mod-property-card__detail-access .icon-detail,
.mod-property-card.--s .mod-property-card__detail-floor .icon-detail {
  top: 0.125rem;
  width: 0.875rem;
  height: 0.875rem;
}
.mod-property-card.--s .mod-property-card__detail-access p,
.mod-property-card.--s .mod-property-card__detail-floor p {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card.--s .mod-property-card__detail-access p,
  .mod-property-card.--s .mod-property-card__detail-floor p {
    font-size: 0.75rem;
  }
}
.mod-property-card.--s .mod-property-card__detail-floor-list {
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: none;
  gap: 0;
}
.mod-property-card.--s .mod-property-card__detail-floor-list dl {
  display: flex;
  align-items: center;
  width: auto;
  padding-left: 0;
  gap: 0;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card.--s .mod-property-card__detail-floor-list dl {
    font-size: 0.75rem;
  }
}
.mod-property-card.--s .mod-property-card__detail-floor-list dl::before {
  display: none;
}
.mod-property-card.--s .mod-property-card__detail-floor-list dl:not(:last-child)::after {
  content: "・";
  margin: 0 0.125rem;
  color: inherit;
}
.mod-property-card.--s .mod-property-card__detail-floor-list dt {
  display: none;
}
.mod-property-card.--s .mod-property-card__note {
  margin-top: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card.--s .mod-property-card__note {
    margin-top: 0.25rem;
  }
}
.mod-property-card.--s + .--s {
  margin-top: 1rem;
}

/* 上書き調整
-------------------------------------------------------------------- */
.list-cta + .mod-property-card {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .list-cta + .mod-property-card {
    margin-top: 3rem;
  }
}

/* =========================================================== */
/* ページ下部固定リンク */
/* =========================================================== */
.mod-bottom-nav {
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.25rem 0;
  backdrop-filter: blur(1px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-bottom-nav {
    padding: 0.75rem 0;
  }
}
.mod-bottom-nav::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: #4D4D4D;
  backdrop-filter: brightness(12%);
  opacity: 0.2;
}
.mod-bottom-nav.is-visible {
  opacity: 1;
  visibility: visible;
}
.mod-bottom-nav.--white {
  backdrop-filter: blur(10px);
  padding: 0.75rem 0;
}
@media (max-width: 48rem) {
  .mod-bottom-nav.--white {
    padding: 0.5rem 0;
  }
}
.mod-bottom-nav.--white::before {
  background-color: #FFFFFF;
  backdrop-filter: brightness(0.92);
  opacity: 0.6;
}
.mod-bottom-nav.--brown02 {
  background-color: #EEE6E0;
  backdrop-filter: unset;
}
.mod-bottom-nav.--brown02::before {
  display: none;
}

/* フッターかぶり調整
-------------------------------------------------------------------- */
body:has(.mod-bottom-nav.is-visible) .mod-footer {
  margin-bottom: 6rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav.is-visible) .mod-footer {
    margin-bottom: 4.5625rem;
  }
}
body:has(.mod-bottom-nav.is-visible) .mod-footer-ms {
  margin-bottom: 6rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav.is-visible) .mod-footer-ms {
    margin-bottom: 4.5625rem;
  }
}
body:has(.mod-bottom-nav.--white.is-visible) .mod-footer {
  margin-bottom: 5rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav.--white.is-visible) .mod-footer {
    margin-bottom: 4rem;
  }
}
body:has(.mod-bottom-nav.--white.is-visible) .mod-footer-ms {
  margin-bottom: 5rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav.--white.is-visible) .mod-footer-ms {
    margin-bottom: 4rem;
  }
}
body:has(.mod-bottom-nav.is-visible .mod-bottom-nav-cta.--modal01) .mod-footer {
  margin-bottom: 6rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav.is-visible .mod-bottom-nav-cta.--modal01) .mod-footer {
    margin-bottom: 8rem;
  }
}
body:has(.mod-bottom-nav.is-visible .mod-bottom-nav-cta.--modal01) .mod-footer-ms {
  margin-bottom: 6.5rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav.is-visible .mod-bottom-nav-cta.--modal01) .mod-footer-ms {
    margin-bottom: 10rem;
  }
}

/* cta
-------------------------------------------------------------------- */
.mod-bottom-nav-cta {
  width: 100%;
  display: flex;
}
.mod-bottom-nav-cta.--appraisal {
  align-items: center;
  justify-content: center;
}
.mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-eye-catch {
  display: inline-block;
  background-color: #FFFFFF;
  color: #F00000;
  font-weight: bold;
  font-size: 0.75rem;
  padding: 0 1rem;
  border: 0.0625rem solid #F00000;
  border-radius: 1.3125rem;
  line-height: 2.125rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-eye-catch {
    line-height: 1.5rem;
    padding: 0 0.6875rem;
  }
}
.mod-bottom-nav-cta.--appraisal .cmn-btn.--blue .mod-bottom-nav-cta__appraisal-eye-catch {
  color: #020055;
  border: 0.0625rem solid #020055;
}
.mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-msg {
  font-weight: bold;
  font-size: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-msg {
    font-size: 1.5rem;
  }
}
.mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-msg.--text-s {
  font-size: 1.75rem;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-msg.--text-s {
    font-size: 1rem;
  }
}
.mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-msg .--text-ss {
  font-size: 1.375rem;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-msg .--text-ss {
    font-size: 0.75rem;
  }
}
.mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-btn {
  width: 19.25rem;
  padding-inline: 1.5rem;
  min-height: 3rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal .mod-bottom-nav-cta__appraisal-btn {
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    justify-content: flex-start;
    padding: 0.25rem 1.5rem 0.25rem 1rem;
  }
}
.mod-bottom-nav-cta.--appraisal.--grad .mod-bottom-nav-cta__appraisal-eye-catch {
  color: #FFFFFF;
  border: 0.0625rem solid #BD967C;
  background-color: #BD967C;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal.--grad .mod-bottom-nav-cta__appraisal-eye-catch {
    font-size: 0.625rem;
    padding-inline: 0.5rem;
  }
}
.mod-bottom-nav-cta.--appraisal.--grad .mod-bottom-nav-cta__appraisal-info {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal.--grad .mod-bottom-nav-cta__appraisal-btn {
    margin-top: 0.5rem;
    justify-content: center;
    width: 100%;
  }
}
.mod-bottom-nav-cta.--appraisal02 {
  align-items: center;
  justify-content: center;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__list {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__list {
    gap: 0.5rem;
  }
}
.mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__appraisal-msg {
  font-weight: bold;
  font-size: 1.5rem;
}
.mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__appraisal-msg .--red {
  color: #F00000;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item {
    flex: 1;
  }
}
.mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 4.5625rem;
  border-radius: 624.9375rem;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn {
    padding: 0.375rem 1.25rem;
    width: 100%;
    min-height: auto;
  }
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn .cmn-btn__icon {
    display: none;
  }
}
.mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn .cmn-btn__txt {
  text-align: center;
}
.mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn .cmn-btn__txt .font-small {
  font-size: 1rem;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn .cmn-btn__txt .font-small {
    font-size: 0.75rem;
    line-height: 1.4;
    font-weight: 600;
  }
}
.mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn .cmn-btn__txt .font-large {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.4;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal02 .mod-bottom-nav-cta__item .cmn-btn .cmn-btn__txt .font-large {
    font-size: 0.875rem;
    line-height: 1.2;
    font-weight: 600;
  }
}
.mod-bottom-nav-cta.--appraisal.--appraisal-ai-satei .mod-bottom-nav-cta__appraisal-eye-catch {
  background-color: #FFFFFF;
  color: #020055;
  border-color: #020055;
}
.mod-bottom-nav-cta.--appraisal.--appraisal-ai-satei .mod-bottom-nav-cta__appraisal-btn {
  gap: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal.--appraisal-ai-satei .mod-bottom-nav-cta__appraisal-btn {
    width: 100%;
    min-width: 21.5rem;
  }
}
.mod-bottom-nav-cta.--appraisal.--appraisal-loan .mod-bottom-nav-cta__appraisal-msg {
  font-size: 1.5rem;
}
.mod-bottom-nav-cta.--appraisal.--appraisal-loan .mod-bottom-nav-cta__appraisal-msg .font-large {
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal.--appraisal-loan .mod-bottom-nav-cta__appraisal-btn {
    justify-content: center;
    width: 100%;
    min-width: 17.375rem;
  }
}
.mod-bottom-nav-cta.--appraised-price {
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price.--single .mod-bottom-nav-cta__appraised-price-btn {
    width: 17.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price.--single .mod-bottom-nav-cta__appraised-price-btn .cmn-btn__txt {
    display: block;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price.--single .mod-bottom-nav-cta__appraised-price-btn .appraised-price-txt.--l {
    font-size: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price.--single .mod-bottom-nav-cta__appraised-price-btn .appraised-price-txt.--s {
    font-size: 0.875rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price.--single .mod-bottom-nav-cta__appraised-price-btn .cmn-btn__icon {
    width: 1.433125rem;
    left: 1.433125rem;
  }
}
.mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-msg {
  font-weight: bold;
  font-size: 1.5rem;
  margin-right: 0.5rem;
  line-height: 1.5;
}
.mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-msg .txt-red {
  color: #F00000;
}
.mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-btn {
  padding-inline: 1.5rem;
  min-height: 3.5rem;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-btn {
    font-weight: bold;
    padding: 0.375rem 2.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-btn .cmn-btn__txt {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-btn .cmn-btn__icon {
    width: 1.125rem;
    left: 1.125rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-btn .appraised-price-txt.--l {
    font-size: 0.875rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraised-price .mod-bottom-nav-cta__appraised-price-btn .appraised-price-txt.--s {
    font-size: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--appraisal-lp .mod-bottom-nav-cta__list {
    width: 100%;
  }
  .mod-bottom-nav-cta.--appraisal-lp .mod-bottom-nav-cta__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
  }
  .mod-bottom-nav-cta.--appraisal-lp .mod-bottom-nav-cta__appraisal-msg {
    font-size: 0.875rem;
  }
  .mod-bottom-nav-cta.--appraisal-lp .mod-bottom-nav-cta__appraisal-btn {
    justify-content: center;
    width: 100%;
  }
}
.mod-bottom-nav-cta.--list {
  justify-content: space-between;
  gap: 1rem;
  container-type: inline-size;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--list {
    gap: 0.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--list {
    margin-inline: -0.75rem;
    width: calc(100% + 1.5rem);
  }
}
.mod-bottom-nav-cta.--list:not(:has(.mod-bottom-nav-cta__list:nth-of-type(2))) {
  justify-content: center;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--list .mod-bottom-nav-cta__list {
    gap: 0.25rem;
  }
}
.mod-bottom-nav-cta.--list .mod-bottom-nav-cta__item.--change .cmn-btn {
  width: 16.625rem;
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--list .mod-bottom-nav-cta__item.--change .cmn-btn {
    padding-inline: 1.25rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--list .mod-bottom-nav-cta__item.--save .cmn-btn {
    flex-direction: column;
    border-radius: 0.3125rem;
    padding: 0.25rem 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--list .mod-bottom-nav-cta__item.--save .cmn-btn {
    font-size: 0.625rem;
    width: 100%;
  }
}
@media (max-width: 66.25rem) {
  .mod-bottom-nav-cta.--list .mod-bottom-nav-cta__item.--save .cmn-btn__icon {
    position: static;
    width: 1.25rem;
  }
}
@container (max-width: 1060px) {
  .mod-bottom-nav-cta.--list .mod-bottom-nav-cta__item.--new-mail {
    display: none;
  }
}
.mod-bottom-nav-cta.--compare {
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--compare {
    margin-inline: -0.25rem;
    width: calc(100% + 0.5rem);
  }
}
.mod-bottom-nav-cta.--compare .mod-bottom-nav-cta__dummy-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  max-width: -moz-max-content;
  max-width: max-content;
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--compare .mod-bottom-nav-cta__dummy-checkbox {
    font-weight: 500;
    color: #333333;
  }
}
.mod-bottom-nav-cta.--compare .mod-bottom-nav-cta__dummy-checkbox .wrap {
  flex-shrink: 0;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-bottom-nav-cta.--compare .mod-bottom-nav-cta__dummy-checkbox .wrap .icon {
  position: absolute;
  display: block;
  aspect-ratio: 11.72/8.07;
  width: 0.7325rem;
  height: auto;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-bottom-nav-cta.--compare .mod-bottom-nav-cta__dummy-checkbox .wrap .box {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.25rem;
  border-color: #CCCCCC;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--compare .mod-bottom-nav-cta__list {
    gap: 0.625rem;
  }
}
.mod-bottom-nav-cta.--compare .cmn-btn {
  min-width: 18.375rem;
}
@media (max-width: 30rem) {
  .mod-bottom-nav-cta.--compare .cmn-btn {
    min-width: 7.5rem;
    min-height: 3rem;
    padding-inline: 1rem;
  }
}
@media (max-width: 30rem) {
  .mod-bottom-nav-cta.--compare:has(.cmn-btn.--red) .cmn-btn.--secondary {
    margin-right: -0.375rem;
  }
}
.mod-bottom-nav-cta.--vacant-room {
  justify-content: center;
}
.mod-bottom-nav-cta.--vacant-room .mod-bottom-nav-cta__list {
  gap: 2rem;
}
@media (max-width: 30rem) {
  .mod-bottom-nav-cta.--vacant-room .mod-bottom-nav-cta__list {
    gap: 0.5rem;
    width: 100%;
  }
}
@media (max-width: 30rem) {
  .mod-bottom-nav-cta.--vacant-room .mod-bottom-nav-cta__item:has(.cmn-btn) {
    width: calc(100% - 0.5rem - 4.6875rem);
  }
}
.mod-bottom-nav-cta.--vacant-room .cmn-btn {
  min-width: 18.375rem;
}
@media (max-width: 30rem) {
  .mod-bottom-nav-cta.--vacant-room .cmn-btn {
    min-width: unset;
    width: 100%;
    min-height: 3rem;
  }
}
.mod-bottom-nav-cta__tel {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta__tel {
    display: none;
  }
}
.mod-bottom-nav-cta__tel-ttl {
  line-height: 1.5;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
}
.mod-bottom-nav-cta__tel-num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  color: #020055;
}
.mod-bottom-nav-cta__sp-tel {
  display: none;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta__sp-tel {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 0.3125rem;
    background-color: #FFFFFF;
    border: 0.0625rem solid #DDDDDD;
    padding: 0.25rem;
  }
}
.mod-bottom-nav-cta__sp-tel-icon {
  display: block;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #020055;
  -webkit-mask-image: url(../../../img/common/icon-tel.svg);
          mask-image: url(../../../img/common/icon-tel.svg);
  width: 1.25rem;
  height: 1.25rem;
}
.mod-bottom-nav-cta__sp-tel-hour {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: 0.625rem;
}
.mod-bottom-nav-cta.--modal01 {
  justify-content: center;
}
.mod-bottom-nav-cta.--modal01:has(.mod-bottom-nav-cta__item.--fixed) {
  max-width: 66.25rem;
  position: relative;
  margin: auto;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__list {
    gap: 0.5rem;
    flex-wrap: wrap;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__item.--sp-half {
    width: calc((100% - 0.5rem) / 2);
  }
  .mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__item.--sp-half .cmn-btn {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__item.--sp-full-width {
    width: 100%;
  }
  .mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__item.--sp-full-width .cmn-btn {
    width: 100%;
  }
}
.mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__item.--fixed {
  position: absolute;
  left: 0;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal01 .mod-bottom-nav-cta__item.--fixed {
    position: static;
    width: 100%;
    text-align: center;
  }
}
.mod-bottom-nav-cta.--modal02 {
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal02 .mod-bottom-nav-cta__list {
    gap: 0.5rem;
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal02 .mod-bottom-nav-cta__item.--sp-narrow .cmn-btn {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta.--modal02 .mod-bottom-nav-cta__item.--sp-wide {
    width: 12rem;
  }
  .mod-bottom-nav-cta.--modal02 .mod-bottom-nav-cta__item.--sp-wide .cmn-btn {
    width: 100%;
  }
}
.mod-bottom-nav-cta__list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.mod-bottom-nav-cta__list.--no-shrink {
  flex-shrink: 0;
}
.mod-bottom-nav-cta__item.--no-shrink {
  flex-shrink: 0;
}
@media (max-width: 30rem) {
  .mod-bottom-nav-cta__item .cmn-btn {
    min-height: 2.75rem;
  }
}
.mod-bottom-nav-cta__item .cmn-btn.--w294 {
  min-width: unset;
  width: 18.375rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta__item .cmn-btn.--w294 {
    width: 100%;
  }
}
.mod-bottom-nav-cta__cases {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta__cases {
    font-size: 0.875rem;
  }
}
.mod-bottom-nav-cta__cases .num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-cta__cases .num {
    font-size: 1.5rem;
  }
}
.mod-bottom-nav-cta {
  /* 別パターン
  -------------------------------------------------------------------- */
}
.mod-bottom-nav-cta__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 1rem;
}
.mod-bottom-nav-cta__wrap .cmn-btn.--loan {
  max-width: 17.625rem;
  width: 100%;
}
/* =========================================================== */
/* お気に入りポップアップ */
/* =========================================================== */
@keyframes popupSlide {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  20% {
    transform: translateY(0);
    opacity: 1;
  }
  70% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    opacity: 0;
  }
}
.mod-toast-popup {
  position: fixed;
  transform: translateY(-100%);
  z-index: 1001;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  padding: 1.25rem 0;
  transition: opacity 0.3s ease-out;
  pointer-events: none;
}
.mod-toast-popup__msg {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 2rem;
  border-radius: 0.25rem;
  background-color: #4D4D4D;
  color: #FFFFFF;
}
.mod-toast-popup__msg::before {
  content: "";
  display: block;
  font-weight: 500;
  font-size: 0.875rem;
  color: #FFFFFF;
}
.mod-toast-popup.is-active-popup {
  animation: popupSlide 2.4s ease-out;
}
.mod-toast-popup.is-added-popup .mod-toast-popup__msg::before {
  content: "お気に入り登録しました";
}
.mod-toast-popup.is-added-popup .mod-toast-popup__msg.--follow::before {
  content: "フォローに登録しました";
}
.mod-toast-popup.is-removed-popup .mod-toast-popup__msg::before {
  content: "お気に入り解除しました";
}
.mod-toast-popup.is-removed-popup .mod-toast-popup__msg.--follow::before {
  content: "フォローを解除しました";
}

/* =========================================================== */
/* 検索導線 */
/* =========================================================== */
/* 全般
-------------------------------------------------------------------- */
.mod-search__intro {
  font-size: 1rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-search__intro {
    font-size: 0.875rem;
    margin-bottom: 2rem;
  }
}
.mod-search__ttl {
  display: flex;
  gap: 0 3.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-search__ttl {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 1rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__ttl:has(.mod-search__ttl-btn) {
    margin-bottom: unset;
  }
}
.mod-search__ttl-label {
  font-size: 1.25rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-search__ttl-label {
    font-size: 1.125rem;
  }
}
@media (max-width: 48rem) {
  .mod-search__ttl-btn {
    padding: 0.25rem 0;
    width: 100%;
    margin-top: 1rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__ttl-btn {
    border-top: 0.0625rem solid #DDDDDD;
    border-bottom: 0.0625rem solid #DDDDDD;
    padding: unset;
    width: calc(100% + 2.5rem);
    margin-inline: -1.25rem;
  }
}
.mod-search {
  /* チェックボックス
  -------------------------------------------------------------------- */
}
.mod-search .mod-search__check-txt {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-search .mod-search__check-txt {
    gap: 0.75rem;
  }
}
@media (max-width: 40rem) {
  .mod-search .mod-search__check-txt {
    gap: unset;
  }
}
.mod-search .mod-search__check-txt.--all .mod-search__check-txt-ttl {
  color: #000000;
}
@media (max-width: 40rem) {
  .mod-search .mod-search__check-txt.--no-box .mod-search__check-txt-link {
    padding: 1.25rem 4.41375rem 1.25rem 2.25rem;
    margin-left: 0;
  }
  .js-modal .mod-search .mod-search__check-txt.--no-box .mod-search__check-txt-link {
    padding: 1.25rem 3.41375rem 1.25rem 1.25rem;
    margin-left: 0;
  }
}
.mod-search .mod-search__check-txt-box {
  z-index: 2;
  flex-shrink: 0;
  position: relative;
  margin-top: 0.125rem;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 40rem) {
  .mod-search .mod-search__check-txt-box {
    position: absolute;
    margin-top: 0;
    top: 1.25rem;
    left: 2.25rem;
  }
  .js-modal .mod-search .mod-search__check-txt-box {
    left: 1.25rem;
  }
}
.mod-search .mod-search__check-txt-box .icon {
  display: block;
  position: absolute;
  aspect-ratio: 11.72/8.07;
  width: 0.7325rem;
  height: auto;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  opacity: 0;
}
.mod-search .mod-search__check-txt-box input {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.25rem;
}
.mod-search .mod-search__check-txt-box input:checked {
  border-color: #F00000;
  background-color: #F00000;
}
.mod-search .mod-search__check-txt-box input:checked + .icon {
  opacity: 1;
}
.mod-search .mod-search__check-txt-ttl {
  font-size: 1rem;
  color: #074EBB;
  display: flex;
  align-items: center;
  gap: 0 0.5rem;
}
.mod-search .mod-search__check-txt-ttl .num {
  color: #808080;
  font-size: 0.75rem;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  flex-shrink: 0;
}
.mod-search .mod-search__check-txt-link {
  position: relative;
  z-index: 1;
}
@media (max-width: 48rem) {
  .mod-search .mod-search__check-txt-link {
    padding: 1rem 0;
  }
}
@media (max-width: 40rem) {
  .mod-search .mod-search__check-txt-link {
    width: 100%;
    display: flex;
    align-items: flex-start;
    padding: 1.25rem 4.41375rem 1.25rem 0;
    margin-left: 4.5rem;
  }
  .js-modal .mod-search .mod-search__check-txt-link {
    padding: 1.25rem 3.41375rem 1.25rem 0;
    margin-left: 3.5rem;
  }
  .mod-search .mod-search__check-txt-link::after {
    content: "";
    display: block;
    width: 0.53875rem;
    height: 0.875rem;
    background-color: #4D4D4D;
    -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
            mask-image: url(../../../img/common/icon-arrow-primary01.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    top: 1.5625rem;
    right: 2.25rem;
  }
  .js-modal .mod-search .mod-search__check-txt-link::after {
    right: 1.25rem;
  }
}
.mod-search {
  /* mod-search__block-list
  -------------------------------------------------------------------- */
}
.mod-search__block-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-search__block-list {
    gap: unset;
  }
}
.mod-search__block-item {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-search__block-item {
    flex-direction: column;
    gap: unset;
    width: calc(100% + 2.5rem);
    margin-inline: -1.25rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__block-item.js-accordion__item {
    border-top: 0.0625rem solid #DDDDDD;
  }
  .mod-search__block-item.js-accordion__item:last-child {
    border-bottom: 0.0625rem solid #DDDDDD;
  }
  .mod-search__block-item.js-accordion__item.is-active .mod-search__block-body.js-accordion__body {
    height: auto;
    visibility: visible;
    position: relative;
  }
}
.mod-search__block-head {
  flex-shrink: 0;
  width: 11.25rem;
  min-height: 4.5rem;
  padding: 1rem 1.25rem;
  background-color: #F2F2F2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-search__block-head {
    width: 100%;
    min-height: 4rem;
  }
}
.mod-search__block-head.--middle {
  align-items: center;
}
@media (max-width: 40rem) {
  .mod-search__block-head.js-accordion__trigger {
    position: relative;
    display: flex;
    align-items: flex-start;
  }
  .mod-search__block-head.js-accordion__trigger::before {
    content: "";
    display: block;
    top: 1.25rem;
    width: 1rem;
    height: 1rem;
    background-color: #F00000;
    -webkit-mask-image: url(../../../img/common/icon-cross.svg);
            mask-image: url(../../../img/common/icon-cross.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    right: 1.53125rem;
  }
  .mod-search__block-item.is-active .mod-search__block-head.js-accordion__trigger::before {
    -webkit-mask-image: url(../../../img/common/icon-minus.svg);
            mask-image: url(../../../img/common/icon-minus.svg);
  }
  .selection .mod-search__block-head.js-accordion__trigger::before {
    background-color: #020055;
  }
}
.mod-search__block-ttl {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  position: relative;
  font-weight: 500;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-search__block-ttl {
    font-size: 1rem;
    padding-right: 1.75rem;
  }
}
.mod-search__block-ttl::before {
  content: "";
  display: block;
  border-radius: 0.0625rem;
  background-color: #F00000;
  width: 0.5rem;
  height: 0.5rem;
  flex-shrink: 0;
  margin-top: 0.734375rem;
}
@media (max-width: 48rem) {
  .mod-search__block-ttl::before {
    margin-top: 0.625rem;
  }
}
.selection .mod-search__block-ttl::before {
  background-color: #020055;
}
.mod-search__block-body {
  display: flex;
  width: 100%;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-search__block-body {
    padding: 0 1.25rem;
  }
}
.mod-search__block-body.js-accordion__body {
  transition: height 0.3s ease-out;
}
@media (max-width: 40rem) {
  .mod-search__block-body.js-accordion__body {
    padding: unset;
    border-top: 0.0625rem solid #DDDDDD;
    position: absolute;
    visibility: hidden;
    height: 0;
  }
}
.mod-search {
  /* mod-search__btn-list
  -------------------------------------------------------------------- */
}
.mod-search__btn-list {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-search__btn-list {
    gap: 0.75rem 1rem;
    margin: 1.5rem 0;
  }
}
.mod-search__btn-list .cmn-square-btn, .mod-search__btn-list .cmn-square-btn-ms {
  min-width: 9rem;
}
@media (max-width: 48rem) {
  .mod-search__btn-list .cmn-square-btn, .mod-search__btn-list .cmn-square-btn-ms {
    min-width: unset;
    width: calc((100% - 1rem) / 2);
  }
}
.mod-search {
  /* mod-search__check-list
  -------------------------------------------------------------------- */
}
.mod-search__check-list {
  padding: 1.5rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-search__check-list {
    padding: 1rem 0;
    gap: 0 1rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__check-list {
    padding: unset;
    gap: unset;
  }
}
.mod-search__check-item {
  position: relative;
  width: calc((100% - 3rem) / 4);
}
@media (max-width: 80rem) {
  .mod-search__check-item {
    width: calc((100% - 2rem) / 3);
  }
}
@media (max-width: 48rem) {
  .mod-search__check-item {
    width: calc((100% - 1rem) / 2);
  }
}
@media (max-width: 40rem) {
  .mod-search__check-item {
    width: 100%;
  }
  .mod-search__check-item + .mod-search__check-item {
    border-top: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__check-item.--full-width {
  width: 100%;
}
.mod-search__check-item.is-disabled {
  pointer-events: none;
}
.mod-search__check-item.is-disabled .mod-search__check-txt-ttl {
  color: #808080;
}
.mod-search__check-item.is-disabled .mod-search__check-txt-link {
  color: #808080;
}
.mod-search__check-item.is-disabled .mod-search__check-txt-link::after {
  background-color: #808080;
}
.mod-search__check-item.is-disabled .mod-search__check-txt-box {
  border-color: #808080;
}
.mod-search__check-item.is-disabled .mod-search__check-txt-box input {
  background-color: #F2F2F2;
}
.mod-search__check-item.is-disabled .mod-search__check-txt-box input + .icon {
  background-color: #F2F2F2;
}
.mod-search {
  /* mod-search__kana-list
  -------------------------------------------------------------------- */
}
.mod-search__kana-list {
  display: flex;
  flex-direction: column;
}
.mod-search__kana-item {
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-search__kana-item {
    width: calc(100% + 2.5rem);
    margin-inline: -1.25rem;
  }
}
.mod-search__kana-head {
  flex-shrink: 0;
  padding: 0.5rem 2rem;
  background-color: #F2F2F2;
  display: flex;
  justify-content: flex-start;
}
@media (max-width: 40rem) {
  .mod-search__kana-head {
    padding: 0.75rem 1.25rem;
    background-color: #FFFFFF;
    border-bottom: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__kana-ttl {
  font-weight: 500;
  font-size: 1rem;
}
@media (max-width: 40rem) {
  .mod-search__kana-body {
    border-bottom: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__kana-body .mod-search__check-list {
  padding: 2rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-search__kana-body .mod-search__check-list {
    padding: 1.5rem 1.25rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__kana-body .mod-search__check-list {
    padding: unset;
  }
}
.mod-search__kana-body .mod-search__check-item {
  width: 11.25rem;
  max-width: 100%;
}
@media (max-width: 40rem) {
  .mod-search__kana-body .mod-search__check-item {
    width: 100%;
  }
}
.mod-search {
  /* mod-search__accordion-list
  -------------------------------------------------------------------- */
}
.mod-search__accordion-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-search__accordion-list {
    gap: unset;
  }
}
@media (max-width: 40rem) {
  .mod-search__accordion-list {
    gap: unset;
  }
}
.mod-search__accordion-item {
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-search__accordion-item {
    width: calc(100% + 2.5rem);
    margin-inline: -1.25rem;
    border-top: 0.0625rem solid #DDDDDD;
  }
  .mod-search__accordion-item:last-child {
    border-bottom: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__accordion-item.is-active .mod-search__accordion-body {
  height: auto;
  visibility: visible;
  position: relative;
}
.mod-search__accordion-head {
  cursor: pointer;
  padding: 1.25rem 2.5rem;
  background-color: #F2F2F2;
  display: flex;
  justify-content: flex-start;
  position: relative;
  align-items: flex-start;
  border-radius: 0.3125rem;
}
.selection .mod-search__accordion-head {
  border-radius: 0;
}
@media (max-width: 48rem) {
  .mod-search__accordion-head {
    border-radius: unset;
  }
}
@media (max-width: 40rem) {
  .mod-search__accordion-head {
    padding: 1.25rem 1rem;
  }
}
.mod-search__accordion-head::before {
  content: "";
  display: block;
  top: 1.546875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-cross.svg);
          mask-image: url(../../../img/common/icon-cross.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  width: 1.15625rem;
  height: 1.15625rem;
  right: 2.5rem;
}
.mod-search__accordion-item.is-active .mod-search__accordion-head::before {
  -webkit-mask-image: url(../../../img/common/icon-minus.svg);
          mask-image: url(../../../img/common/icon-minus.svg);
}
.selection .mod-search__accordion-head::before {
  background-color: #020055;
}
@media (max-width: 40rem) {
  .mod-search__accordion-head::before {
    top: 1.5rem;
    width: 1rem;
    height: 1rem;
    right: 1.53125rem;
    top: 1.625rem;
  }
}
.mod-search__accordion-ttl {
  font-weight: 500;
  font-size: 1rem;
}
.mod-search__accordion-body {
  height: 0;
  visibility: hidden;
  position: absolute;
  transition: height 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-search__accordion-body {
    padding: unset;
    border-top: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__accordion-body .mod-search__check-list {
  padding: 2rem 1.5rem 1rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-search__accordion-body .mod-search__check-list {
    padding: 1.5rem 1.25rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__accordion-body .mod-search__check-list {
    padding: unset;
  }
}
.mod-search__accordion-body .mod-search__check-item {
  width: calc((100% - 2rem) / 3);
}
@media (max-width: 48rem) {
  .mod-search__accordion-body .mod-search__check-item {
    width: calc((100% - 1rem) / 2);
  }
}
@media (max-width: 40rem) {
  .mod-search__accordion-body .mod-search__check-item {
    width: 100%;
  }
}
.mod-search {
  /* mod-search__station-list
  -------------------------------------------------------------------- */
}
.mod-search__station-list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-search__station-list {
    gap: unset;
  }
}
.mod-search__station-list + .mod-search__ttl {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  position: relative;
}
.mod-search__station-list + .mod-search__ttl::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
@media (max-width: 40rem) {
  .mod-search__station-list + .mod-search__ttl::before {
    display: none;
  }
}
@media (max-width: 40rem) {
  .mod-search__station-list + .mod-search__ttl {
    margin-top: unset;
    padding-top: unset;
  }
}
@media (max-width: 40rem) {
  .mod-search__station-list + .mod-search__ttl + .mod-search__station-list .mod-search__station-item {
    border-top: unset;
  }
}
.mod-search__station-item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-search__station-item {
    flex-direction: column;
    gap: unset;
    width: calc(100% + 2.5rem);
    margin-inline: -1.25rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__station-item {
    border-top: 0.0625rem solid #DDDDDD;
    border-bottom: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__station-item.is-active .mod-search__station-body {
  height: auto;
  visibility: visible;
  position: relative;
}
.mod-search__station-head {
  height: 0.5rem;
}
@media (max-width: 40rem) {
  .mod-search__station-head {
    height: auto;
    display: flex;
    justify-content: flex-start;
    padding: 1.25rem 1rem;
    background-color: #F2F2F2;
    width: 100%;
    position: relative;
    align-items: flex-start;
  }
  .mod-search__station-head::before {
    content: "";
    display: block;
    top: 1.5rem;
    width: 1rem;
    height: 1rem;
    background-color: #F00000;
    -webkit-mask-image: url(../../../img/common/icon-cross.svg);
            mask-image: url(../../../img/common/icon-cross.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    right: 1.53125rem;
  }
  .mod-search__station-item.is-active .mod-search__station-head::before {
    -webkit-mask-image: url(../../../img/common/icon-minus.svg);
            mask-image: url(../../../img/common/icon-minus.svg);
  }
  .selection .mod-search__station-head::before {
    background-color: #020055;
  }
  .mod-search__station-head:last-child {
    border-bottom: 0.0625rem solid #DDDDDD;
  }
}
.mod-search__station-ttl {
  display: none;
}
@media (max-width: 40rem) {
  .mod-search__station-ttl {
    font-size: 1rem;
    display: block;
    font-weight: 500;
  }
}
.mod-search__station-body {
  display: flex;
  align-items: center;
  transition: height 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-search__station-body {
    padding: 0 1.25rem;
  }
}
@media (max-width: 40rem) {
  .mod-search__station-body {
    padding: unset;
    border-top: 0.0625rem solid #DDDDDD;
    position: absolute;
    visibility: hidden;
    height: 0;
  }
}
.mod-search__station-body.--full-width {
  width: 100%;
}
.mod-search__station-body .mod-search__check-list {
  padding: 0 1.875rem;
  position: relative;
  gap: 4.25rem 1.875rem;
}
@media (max-width: 40rem) {
  .mod-search__station-body .mod-search__check-list {
    padding: unset;
    gap: unset;
  }
}
.mod-search__station-body .mod-search__check-item {
  width: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-search__station-body .mod-search__check-item {
    padding: unset;
  }
}
@media (max-width: 40rem) {
  .mod-search__station-body .mod-search__check-item {
    width: 100%;
  }
}
.mod-search__station-body .mod-search__check-item::before, .mod-search__station-body .mod-search__check-item::after {
  content: "";
  display: block;
  height: 0.5rem;
  position: absolute;
  top: -1.75rem;
}
@media (max-width: 40rem) {
  .mod-search__station-body .mod-search__check-item::before, .mod-search__station-body .mod-search__check-item::after {
    display: none;
  }
}
.mod-search__station-body .mod-search__check-item::before {
  width: 1.875rem;
  background-color: #F2F2F2;
  z-index: 2;
  left: 0;
  right: 0;
}
.mod-search__station-body .mod-search__check-item::after {
  width: 5.625rem;
  background-color: #CCCCCC;
  z-index: 1;
  left: -1.875rem;
  right: -1.875rem;
}
.mod-search__station-body .mod-search__check-txt {
  position: relative;
  flex-direction: column;
}
@media (max-width: 40rem) {
  .mod-search__station-body .mod-search__check-txt {
    flex-direction: row;
  }
}
.mod-search__station-body .mod-search__check-txt-ttl {
  writing-mode: vertical-rl;
  text-orientation: upright;
  gap: unset;
}
@media (max-width: 40rem) {
  .mod-search__station-body .mod-search__check-txt-ttl {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    gap: 0.5rem;
  }
}
.mod-search__station-body .mod-search__check-txt-ttl .num {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}
.mod-search {
  /* mod-search__conditions-list
  -------------------------------------------------------------------- */
}
.mod-search__conditions-list {
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-search__conditions-list:last-child {
    padding-bottom: 1.5rem;
  }
}
.mod-search__conditions-item {
  display: flex;
  padding: 2.5rem 0;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-search__conditions-item {
    padding: 1.5rem 0;
    flex-direction: column;
  }
}
.mod-search__conditions-item::before, .mod-search__conditions-item::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-search__conditions-item::before {
  top: 0;
}
.mod-search__conditions-item::after {
  bottom: 0;
}
.mod-search__conditions-item:first-child {
  padding-top: unset;
}
.mod-search__conditions-item:first-child::before {
  display: none;
}
.mod-search__conditions-list:last-child .mod-search__conditions-item:last-child {
  padding-bottom: unset;
}
.mod-search__conditions-list:last-child .mod-search__conditions-item:last-child::after {
  display: none;
}
.mod-search__conditions-head {
  flex-shrink: 0;
  width: 9.375rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-search__conditions-head {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.mod-search__conditions-head.--middle {
  align-items: center;
}
.mod-search__conditions-ttl {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  position: relative;
  font-weight: 600;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-search__conditions-ttl {
    font-size: 1rem;
  }
}
.mod-search__conditions-ttl::before {
  content: "";
  display: block;
  border-radius: 0.0625rem;
  background-color: #F00000;
  width: 0.5rem;
  height: 0.5rem;
}
.selection .mod-search__conditions-ttl::before {
  background-color: #020055;
}
.mod-search__conditions-body {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 1rem;
  width: 100%;
  align-items: center;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-search__conditions-body {
    gap: 0.75rem 1rem;
  }
}
.mod-search__conditions-btn.--minw3-col1 {
  min-width: calc((100% - 2rem) / 3);
}
@media (max-width: 48rem) {
  .mod-search__conditions-btn.--minw3-col1 {
    width: 100%;
  }
}
.mod-search__conditions-btn.--minw3-col2 {
  min-width: calc((100% - 2rem) / 3);
}
@media (max-width: 48rem) {
  .mod-search__conditions-btn.--minw3-col2 {
    width: calc((100% - 1rem) / 2);
  }
}
.mod-search__conditions-btn.--minw4-minw2 {
  min-width: calc((100% - 3rem) / 4);
}
@media (max-width: 48rem) {
  .mod-search__conditions-btn.--minw4-minw2 {
    min-width: calc((100% - 1rem) / 2);
  }
}
.mod-search .mod-search__conditions-list + .mod-search__ttl {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-search .mod-search__conditions-list + .mod-search__ttl {
    margin-top: 1.5rem;
  }
}
.mod-search .mod-search__conditions-list .cmn-checkbox__label {
  max-width: unset;
}
.mod-search {
  /* .cmn-container.--brownに配置された場合
  -------------------------------------------------------------------- */
}
.cmn-container.--brown .mod-search .mod-search__block-head {
  background-color: #EEE6E0;
}
.mod-search {
  /* フリーワード検索
  -------------------------------------------------------------------- */
}
.mod-search__full-txt {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
}
.mod-search__full-txt + .mod-search__ttl {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-search__full-txt + .mod-search__ttl {
    margin-top: 1.5rem;
  }
}
.mod-search__full-txt input {
  display: block;
  width: 100%;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 3.125rem;
  padding: 0 1rem;
  font-size: 1rem;
  background-color: #FFFFFF;
  min-height: 3rem;
  transition: border-color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-search__full-txt input:not(:disabled):hover {
    border-color: #CCCCCC;
    background-color: #F2F2F2;
  }
}

/* =========================================================== */
/* モーダル */
/* =========================================================== */
.mod-modal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  transition: opacity 0.3s ease-out;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
}
.mod-modal.is-active {
  visibility: visible;
  opacity: 1;
  z-index: 2000;
}
@media (max-width: 48rem) {
  .mod-modal.js-half-modal {
    align-items: flex-end;
  }
}
@media (max-width: 48rem) {
  .mod-modal .cmn-contents-ttl {
    padding-right: 3.5rem;
  }
}
.mod-modal:has(.mod-bottom-nav-cta) {
  align-items: flex-start;
}
.mod-modal:has(.mod-bottom-nav-cta) .mod-modal__content {
  margin-top: 2.5rem;
  max-height: calc(100dvh - 5rem);
}
@media (max-width: 48rem) {
  .mod-modal:has(.mod-bottom-nav-cta) .mod-modal__content {
    margin-top: 1.25rem;
    max-height: calc(100dvh - 2.5rem);
  }
}
.mod-modal:has(.mod-bottom-nav-cta) .mod-modal__content .mod-modal__wrapper {
  max-height: calc(100dvh - 5rem - 6rem);
}
@media (max-width: 48rem) {
  .mod-modal:has(.mod-bottom-nav-cta) .mod-modal__content .mod-modal__wrapper {
    max-height: calc(100dvh - 2.5rem - 3rem);
  }
}
.mod-modal:has(.mod-bottom-nav-cta.--modal01).has-modal .mod-modal__wrapper {
  position: relative;
}
.mod-modal:has(.mod-bottom-nav-cta.--modal01).has-modal .mod-modal__wrapper::after {
  content: "";
  display: block;
  height: 2rem;
}
@media (max-width: 48rem) {
  .mod-modal:has(.mod-bottom-nav-cta.--modal01).has-modal .mod-modal__wrapper::after {
    height: 6.25rem;
  }
}
.mod-modal:has(.mod-bottom-nav-cta.--modal02).has-modal .mod-modal__wrapper {
  position: relative;
}
.mod-modal:has(.mod-bottom-nav-cta.--modal02).has-modal .mod-modal__wrapper::after {
  content: "";
  display: block;
  height: 2rem;
}
@media (max-width: 48rem) {
  .mod-modal:has(.mod-bottom-nav-cta.--modal02).has-modal .mod-modal__wrapper::after {
    height: 3.25rem;
  }
}
.mod-modal:has(.mod-photo-gallery) .mod-modal__content {
  max-width: 100.5rem;
  padding-block: 4.5rem;
  padding-inline: 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-modal:has(.mod-photo-gallery) .mod-modal__content {
    padding-inline: 1.25rem;
  }
}
.mod-modal:has(.mod-photo-gallery) .mod-modal__inner {
  max-width: none;
}

.mod-modal__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(1px);
}
.mod-modal__overlay::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: #000000;
  backdrop-filter: brightness(12%);
  opacity: 0.2;
}

.mod-modal__content {
  background-color: #FFFFFF;
  border: 0.0625rem solid #F2F2F2;
  border-radius: 0.75rem;
  padding: 3rem 5rem;
  max-height: calc(100dvh - 5rem);
  max-width: 80rem;
  width: 100%;
  position: relative;
  margin: 0 1.25rem;
  filter: drop-shadow(0px 5px 12px rgba(0, 0, 0, 0.08));
}
.selection .mod-modal__content {
  border-radius: 0;
}
@media (max-width: 48rem) {
  .selection .mod-modal__content {
    padding: 2.5rem 1rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-modal__content {
    padding: 3rem 4rem;
  }
}
@media (max-width: 48rem) {
  .mod-modal__content {
    padding: 1.5rem 1rem;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: calc(100dvh - 2.5rem);
  }
}
.mod-modal__content.--wide {
  margin: 0;
  border-radius: 0;
  max-width: 100dvw;
  max-height: 100dvh;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.mod-modal__content.--narrow {
  max-width: 55rem;
}
.mod-modal__content.--no-margin {
  margin: 0;
}
@media (max-width: 48rem) {
  .js-half-modal .mod-modal__content {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .js-half-modal .mod-modal__content.is-dragging {
    transition: none;
  }
}

.mod-modal__close {
  background-color: #F00000;
  z-index: 2;
  border-radius: 50%;
  display: flex;
  gap: 0.125rem;
  line-height: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 3rem;
  height: 3rem;
  font-size: 0.625rem;
  font-weight: bold;
  color: #FFFFFF;
}
.selection .mod-modal__close {
  background-color: #020055;
}
@media (max-width: 48rem) {
  .mod-modal__close {
    right: 0.5rem;
    top: 0.75rem;
  }
}
.mod-modal__close::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../../../img/common/icon-close.svg);
          mask-image: url(../../../img/common/icon-close.svg);
}

.mod-modal__close.--simple {
  background-color: transparent;
  right: 1.25rem;
  top: 1rem;
  width: 3rem;
  height: 3rem;
  color: #000000;
}
@media (max-width: 48rem) {
  .mod-modal__close.--simple {
    right: 0.5rem;
    top: 0.75rem;
  }
}
.mod-modal__close.--simple::before {
  content: "";
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  background-color: #000000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../../../img/common/icon-close.svg);
          mask-image: url(../../../img/common/icon-close.svg);
}
@media (max-width: 48rem) {
  .mod-modal__close.--simple::before {
    width: 1.125rem;
    height: 1.125rem;
  }
}

.mod-modal__wrapper {
  max-height: calc(100dvh - 5rem - 6rem);
  overflow-y: auto;
  overflow-x: hidden;
}
.--wide .mod-modal__wrapper {
  max-height: 100dvh;
}
@media (max-width: 48rem) {
  .mod-modal__wrapper {
    overflow: visible;
    max-height: calc(100dvh - 2.5rem - 3rem);
  }
}

.mod-modal__inner {
  max-width: 66.25rem;
  margin: auto;
}
.mod-modal__inner:has(.mod-search) {
  padding-right: 4.375rem;
}
@media (max-width: 66.25rem) {
  .mod-modal__inner:has(.mod-search) {
    padding-right: 3.375rem;
  }
}
@media (max-width: 48rem) {
  .mod-modal__inner:has(.mod-search) {
    padding-right: unset;
  }
}

/* 非同期モーダル
-------------------------------------------------------------------- */
.js-modal-async .mod-modal__content {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.js-modal-async.is-loaded .mod-modal__content {
  opacity: 1;
}

/* =========================================================== */
/* 無料査定フォーム */
/* =========================================================== */
.mod-appraisal-form {
  overflow: hidden;
  padding: 1.5rem 2.5rem;
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
  filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-appraisal-form {
    padding: 1.5rem 1rem 1rem;
  }
}
.mod-modal .mod-appraisal-form {
  filter: unset;
  padding: unset;
}
@media (max-width: 48rem) {
  .mod-modal .mod-appraisal-form {
    padding: 0 1rem 1rem;
    margin-inline: -1rem;
  }
}
.mod-appraisal-form.mansion-sell {
  padding: 2.5rem 2.5rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form.mansion-sell {
    padding: 1.25rem 1rem 1rem;
  }
}
.mod-appraisal-form.mansion-sell .icon-checked {
  background-color: #FFFFFF;
  border: 1px solid #808080;
}
.mod-appraisal-form.mansion-sell .icon-checked::before {
  background-color: #808080;
}
.mod-appraisal-form.mansion-sell .is-checked .icon-checked,
.mod-appraisal-form.mansion-sell .is-biz .mod-appraisal-form__option .icon-checked {
  background-color: #4FA43D;
  border: none;
}
.mod-appraisal-form.mansion-sell .is-checked .icon-checked::before,
.mod-appraisal-form.mansion-sell .is-biz .mod-appraisal-form__option .icon-checked::before {
  background-color: #FFFFFF;
}
.mod-appraisal-form.mansyon {
  padding: 1.5rem 2.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form.mansyon {
    padding: 1rem;
  }
}
.mod-tab-sp-accordion .mod-appraisal-form {
  padding: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: transparent;
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion .mod-appraisal-form {
    filter: none;
    overflow: visible;
  }
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion .mod-appraisal-form.is-active .mod-appraisal-form__body {
    margin-top: 1rem;
    padding: 1rem;
    height: auto;
  }
}
.mod-appraisal-form__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem 0.75rem;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head {
    flex-direction: column;
  }
}
.mod-appraisal-form__head.--column {
  flex-direction: column;
}
.mod-appraisal-form__head .sub {
  border-radius: 3.125rem;
  text-align: center;
  flex-shrink: 0;
  line-height: 1.25;
  display: inline-block;
  padding: 0.25rem 1rem;
  font-weight: bold;
  font-size: 0.875rem;
  color: #FFFFFF;
  background-color: #BD967C;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .sub {
    font-size: 0.75rem;
  }
}
.mod-appraisal-form__head .ttl {
  line-height: 1.25;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .ttl {
    font-size: 1.125rem;
  }
}
.mod-appraisal-form__head .ttl:has(br) {
  transform: translateY(-0.5rem);
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .ttl.--sp-large {
    font-size: 1.375rem;
  }
}
.mod-appraisal-form__head .small {
  font-size: 1.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .small {
    font-size: 1.125rem;
  }
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .small.--sp-large {
    font-size: 1.375rem;
  }
}
.mod-appraisal-form__head .small-ex {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .small-ex {
    font-size: 0.875rem;
  }
}
.mansyon .mod-appraisal-form__head {
  gap: 0.5rem 1rem;
  margin-bottom: 1.5rem;
}
.mansyon .mod-appraisal-form__head .sub {
  padding: 0.5rem 1rem;
}
@media (max-width: 48rem) {
  .mansyon .mod-appraisal-form__head .sub {
    padding: 0.25rem 0.5rem;
  }
}
.mod-appraisal-form__ttl-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.125rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl-block {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }
}
.mod-appraisal-form__ttl-block .ttl {
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl-block .ttl {
    font-size: 1.125rem;
  }
}
.mod-appraisal-form__ttl-block .desc {
  font-size: 1.25rem;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl-block .desc {
    font-size: 0.875rem;
  }
}
.mod-appraisal-form__body {
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  padding: 1.5rem 2.5rem;
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__body {
    flex-direction: column;
    gap: 1.5rem;
    border-radius: unset;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    padding: 1.25rem 1rem 1.5rem;
  }
}
.mod-appraisal-form__body:has(.mod-appraisal-form__two-ways) {
  display: block;
}
.mansion-sell .mod-appraisal-form__body {
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__body {
    padding: 1.5rem 1rem;
  }
}
.mansyon .mod-appraisal-form__body {
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mansyon .mod-appraisal-form__body {
    margin-bottom: -1rem;
    padding: 1.5rem 1rem;
  }
}
.mod-appraisal-form__body.mod-tab-sp-accordion__body {
  padding: 2.5rem 2.625rem;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: #FFFFFF;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__body.mod-tab-sp-accordion__body {
    display: grid;
    overflow: hidden;
    margin-top: 0;
    margin-inline: 0;
    padding: 0;
    height: 0;
    border-radius: 0.75rem;
    width: 100%;
    transition: margin-top 0.3s ease-out, padding 0.3s ease-out, height 0.3s ease-out;
    filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.16));
  }
}
.mod-appraisal-form__block {
  width: calc((100% - 5rem - 1.75rem) / 2);
}
@media (max-width: 48rem) {
  .mod-appraisal-form__block {
    width: 100%;
  }
}
.mod-appraisal-form .flow-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form .flow-spacer {
    display: none;
  }
}
.mod-appraisal-form .flow-spacer::before {
  z-index: 1;
  display: block;
  content: "";
  width: 0.0625rem;
  position: absolute;
  top: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, #808080 1px, transparent 1px);
  background-size: 0.0625rem 0.25rem;
  background-repeat: repeat-y;
}
.mod-appraisal-form .flow-spacer__arrow {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  z-index: 2;
  background-color: #F6F1EE;
  transform: rotate(-90deg);
  background-image: url("../../../img/common/icon-flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.395625rem 1.291875rem;
  top: calc(-50% + 1.75rem + 6.25rem);
}
.mod-appraisal-form__ttl {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.mod-appraisal-form__ttl .num {
  width: 1.375rem;
  height: 1.375rem;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  background-color: #BD967C;
  border-radius: 100%;
  font-family: "Lato", sans-serif;
  position: relative;
  top: 0.1875rem;
  flex-shrink: 0;
}
.mod-appraisal-form__ttl .ttl {
  font-size: 1rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl .ttl {
    font-weight: 600;
  }
}
.mod-appraisal-form__ttl .icon-checked {
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #808080;
}
.mod-appraisal-form__ttl .icon-checked::before {
  content: "";
  width: 0.50125rem;
  height: 0.355rem;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
}
.mansion-sell .mod-appraisal-form__ttl .icon-checked {
  background-color: #FFFFFF;
  border: 1px solid #808080;
}
.mansion-sell .mod-appraisal-form__ttl .icon-checked::before {
  background-color: #808080;
}
.mod-appraisal-form__ttl-mansion, .mod-appraisal-form__ttl-address {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.mod-appraisal-form__ttl-mansion.is-hidden, .mod-appraisal-form__ttl-address.is-hidden {
  display: none !important;
}
.mod-appraisal-form__ttl-mansion.is-checked .icon-checked, .mod-appraisal-form__ttl-address.is-checked .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form__step2.--select {
  display: block;
}
.is-biz .mod-appraisal-form__step2.--select {
  display: none;
}
.mod-appraisal-form__step2.--net-biz {
  display: none;
}
.is-biz .mod-appraisal-form__step2.--net-biz {
  display: block;
}
.mod-appraisal-form__input-list {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.mod-appraisal-form__input-list > * {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__input-list > * {
    width: calc((100% - 0.75rem) / 2);
    flex: unset;
  }
}
.mod-appraisal-form__input-list > *.--mansion-name {
  max-width: 29.8125rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-list > *.--mansion-name {
    max-width: 100%;
  }
}
.mod-appraisal-form__input-wrap {
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out, margin 0.3s ease-out;
}
.mod-appraisal-form__input-wrap.is-checked .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form__input-wrap.is-hidden {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  margin-top: 0;
}
.mod-appraisal-form__input-wrap.is-appear {
  visibility: visible;
  opacity: 1;
  max-height: 5.53125rem;
  margin-top: 0.75rem;
}
.mod-appraisal-form__input-wrap.--row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__input-wrap.--row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.mansyon .mod-appraisal-form__input-wrap .cmn-square-btn, .mansyon .mod-appraisal-form__input-wrap .cmn-square-btn input {
  border-radius: 624.9375rem;
}
.mod-appraisal-form.is-biz .mod-appraisal-form__option .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form__input-ttl {
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.mod-appraisal-form__input-wrap.--row .mod-appraisal-form__input-ttl {
  margin-bottom: 0rem;
  font-size: 1rem;
}
.mod-appraisal-form__input-ttl .icon-checked {
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #808080;
}
.mod-appraisal-form__input-ttl .icon-checked::before {
  content: "";
  width: 0.50125rem;
  height: 0.355rem;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
}
.mod-appraisal-form__input-ttl-wrap {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.mod-appraisal-form__input-box-wrap {
  position: relative;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-box-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
}
.mod-appraisal-form__input-box-wrap .cmn-btn {
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-box-wrap .cmn-btn {
    position: static;
    transform: unset;
    width: 100%;
  }
}
.mod-appraisal-form__radio-box {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.5rem;
  outline: 0.125rem solid transparent;
  padding: 1rem 0.5rem 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.625rem;
  transition: outline-color 0.3s ease-out;
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.08);
}
.mod-appraisal-form__radio-box:has(input:checked) {
  outline-color: #F00000;
}
.mod-appraisal-form__radio-box input {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.mod-appraisal-form__radio-box input:checked {
  outline-color: #F00000;
}
.mod-appraisal-form__radio-box input:checked + .ball::before {
  content: "";
}
.mod-appraisal-form__radio-box .ball {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 100%;
  position: absolute;
  width: 1rem;
  height: 1rem;
  right: 0.375rem;
  top: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__radio-box .ball {
    right: 0.5rem;
    top: 0.5rem;
  }
}
.mod-appraisal-form__radio-box .ball::before {
  border-radius: 100%;
  display: block;
  background-color: #F00000;
  width: 0.625rem;
  height: 0.625rem;
}
.mod-appraisal-form__radio-box .icon {
  width: 2.53125rem;
  height: 2.25rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-appraisal-form__radio-box .icon.--mansion {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-appraisal-form__radio-box .icon.--house {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-appraisal-form__radio-box .icon.--land {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-appraisal-form__radio-box .icon.--building {
  -webkit-mask-image: url(../../../img/common/icon-building.svg);
          mask-image: url(../../../img/common/icon-building.svg);
}
.mod-appraisal-form__radio-box .txt {
  font-weight: 500;
  font-size: 0.75rem;
}
.mod-appraisal-form .or-txt {
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: 1rem;
  margin-top: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form .or-txt {
    font-weight: 500;
    font-size: 0.875rem;
  }
}
.mod-appraisal-form .or-txt.--separate {
  margin: 1rem 0;
}
.mod-appraisal-form__select .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form__mansion {
  width: 100%;
}
.mod-appraisal-form__mansion .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form__mansion .cmn-square-btn input {
  min-height: 4rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__mansion .cmn-square-btn input {
    min-height: 3rem;
  }
}
.mod-appraisal-form__net-biz {
  margin-top: 1.875rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__net-biz {
    margin-top: 1rem;
  }
}
.mod-appraisal-form__net-biz .cmn-btn {
  width: 22.75rem;
}
.mod-appraisal-form__conv {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__conv {
    margin-top: 1rem;
    gap: 0.75rem;
  }
}
.mod-appraisal-form__conv .err-txt {
  color: #F00000;
  text-align: center;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__conv .err-txt {
    margin-bottom: 1.25rem;
    text-align: left;
  }
}
.mod-appraisal-form__conv .note {
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__conv .note {
    font-size: 0.625rem;
  }
}
.mod-appraisal-form__conv .cmn-btn:disabled {
  background-color: #808080;
}
.mod-appraisal-form__btn-wrap {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__btn-wrap {
    margin-top: 1rem;
  }
}
.mod-appraisal-form__submit:disabled {
  background-color: #808080;
}
.mod-appraisal-form__note {
  font-size: 0.75rem;
  text-align: center;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__note {
    font-size: 0.625rem;
  }
}
.mod-appraisal-form__address-area.is-hidden {
  display: none !important;
}
.mod-appraisal-form__warning {
  font-size: 0.875rem;
  padding: 1rem;
  background-color: #F4E2E2;
  border: 1px solid #D98F8F;
  border-radius: 0.5rem;
  width: 100%;
  text-align: center;
}
.mod-appraisal-form__two-ways {
  width: 100%;
  display: flex;
  align-items: flex-end;
  gap: 4.375rem;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}
.mod-appraisal-form__two-ways > .mod-appraisal-form__input-wrap {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways > .mod-appraisal-form__input-wrap {
    width: 100%;
  }
}
.mod-appraisal-form__two-ways > .mod-appraisal-form__input-wrap .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form__two-ways .mod-appraisal-form__submit {
  width: 16.25rem;
  max-width: 18.375rem;
  flex-shrink: 0;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways .mod-appraisal-form__submit {
    width: 100%;
  }
}
.mod-appraisal-form__two-ways-select-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways-select-wrap {
    width: 100%;
  }
}
@media (max-width: 40rem) {
  .mod-appraisal-form__two-ways-select-wrap {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap {
    width: 100%;
  }
}
.mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap .cmn-square-btn {
  width: 100%;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap .mod-appraisal-form__input-ttl {
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap .cmn-square-btn.--select select {
    min-height: 3rem;
  }
}
.mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap:not(.--mansion-name) {
  flex: 1 1 12.5rem;
  min-width: 10rem;
}
@media (max-width: 66.25rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap:not(.--mansion-name) {
    max-width: 100%;
    min-width: unset;
  }
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap:not(.--mansion-name) {
    flex: unset;
  }
}
.mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap.--mansion-name {
  flex: 1 1 29.8125rem;
  max-width: 29.8125rem;
  min-width: 10rem;
}
@media (max-width: 66.25rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap.--mansion-name {
    max-width: 100%;
    min-width: unset;
  }
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap.--mansion-name {
    flex: unset;
  }
}
.mod-appraisal-form__input-flex-wrap {
  display: flex;
  gap: 1.375rem;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__input-flex-wrap {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}
.mod-appraisal-form__input-flex-wrap .mod-appraisal-form__input-ttl {
  flex-shrink: 0;
}
.mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input, .mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input input {
  min-height: 3.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input, .mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input input {
    min-height: 3rem;
  }
}

/* =========================================================== */
/* 相場を調べるフォーム */
/* =========================================================== */
.mod-market-search-form {
  padding-top: 1.9375rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form {
    padding-top: 1.625rem;
    margin-inline: -1.25rem;
    width: calc(100% + 2.5rem);
  }
}
.mod-market-search-form.--no-cap {
  padding-top: unset;
}
.mod-market-search-form.--in-form {
  margin-inline: unset;
  width: 100%;
}
.mod-market-search-form__wrapper {
  padding: 3.5rem 1.25rem 3rem;
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__wrapper {
    padding: 3rem 1.25rem 2rem;
    border-radius: unset;
  }
}
.mod-market-search-form__wrapper.--brown {
  background-color: #EEE6E0;
}
.mod-market-search-form.--no-cap .mod-market-search-form__wrapper {
  padding: 2.5rem 1.25rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form.--no-cap .mod-market-search-form__wrapper {
    padding: 1.25rem;
  }
}
.mod-market-search-form.--type02 .mod-market-search-form__wrapper {
  border-radius: 0.75rem 0.75rem 0 0;
}
@media (max-width: 48rem) {
  .mod-market-search-form.--type02 .mod-market-search-form__wrapper {
    border-radius: unset;
  }
}
@media (max-width: 48rem) {
  .mod-market-search-form.--in-form .mod-market-search-form__wrapper {
    border-radius: 0.75rem;
    padding: 1.25rem 1rem;
  }
}
.mod-market-search-form__wrapper02 {
  padding: 1.875rem 1.25rem;
  background-color: #E5D8CF;
  border-radius: 0 0 0.75rem 0.75rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__wrapper02 {
    padding: 1.25rem 1.25rem 2rem;
    border-radius: unset;
  }
}
.mod-market-search-form__eyecatch {
  position: absolute;
  top: -1.9375rem;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 100%;
  width: 5.470625rem;
  height: 5.470625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-market-search-form__eyecatch {
    top: -1.625rem;
    width: 4.661875rem;
    height: 4.661875rem;
  }
}
.mod-market-search-form__eyecatch .icon-search {
  width: 1.1875rem;
  height: 1.1875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-search02.svg);
          mask-image: url(../../../img/common/icon-search02.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-market-search-form__eyecatch .txt-search {
  color: #F00000;
  font-size: 1rem;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  line-height: 1.2;
}
.mod-market-search-form__inner {
  max-width: 52.5rem;
  margin: auto;
}
.mod-market-search-form__head {
  font-size: 1.375rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__head {
    font-size: 1.25rem;
  }
}
.mod-market-search-form__ttl-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__ttl-wrap {
    margin-bottom: 1.25rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-market-search-form__ttl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}
.mod-market-search-form__ttl .step {
  width: 5.3125rem;
  height: 1.625rem;
  gap: 0.5em;
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #FFFFFF;
  background-color: #BD967C;
  border-radius: 1.125rem;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
}
.mod-market-search-form__ttl .num {
  font-size: 1rem;
}
.mod-market-search-form__ttl .ttl {
  font-size: 1rem;
  font-weight: 500;
}
.mod-market-search-form__option {
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option {
    gap: 0.75rem;
  }
}
.mod-market-search-form__option .input-box {
  background-color: #FFFFFF;
  position: relative;
  width: calc((100% - 4rem) / 3);
  border-radius: 0.75rem;
  border: 0.0625rem solid #DDDDDD;
  outline: 0.125rem solid transparent;
  padding: 1rem 0.5rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: box-shadow 0.3s ease-out, outline-color 0.3s ease-out;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option .input-box {
    width: calc((100% - 1.5rem) / 3);
    border-radius: 0.5rem;
    padding: 0.75rem 0.375rem 0.375rem;
    gap: 0.25rem;
  }
}
.mod-market-search-form__option .input-box:has(input:checked) {
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.16);
  border: unset;
  outline-color: #F00000;
}
.mod-market-search-form__option input {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.mod-market-search-form__option input:checked + .ball::before {
  content: "";
}
.mod-market-search-form__option .ball {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 100%;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  right: 0.75rem;
  top: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option .ball {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
    top: 0.5rem;
  }
}
.mod-market-search-form__option .ball::before {
  border-radius: 100%;
  display: block;
  background-color: #F00000;
  width: 1rem;
  height: 1rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option .ball::before {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.mod-market-search-form__option .icon {
  width: 4.25rem;
  height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 100%;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option .icon {
    width: 3rem;
    height: 3rem;
  }
}
.mod-market-search-form__option .icon::before {
  content: "";
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option .icon::before {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.mod-market-search-form__option .icon.--mansion::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-market-search-form__option .icon.--house::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-market-search-form__option .icon.--land::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-market-search-form__option .txt {
  font-weight: 700;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__option .txt {
    font-weight: 500;
    font-size: 0.75rem;
  }
}
.mod-market-search-form__checkbox {
  display: flex;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__checkbox {
    gap: 0.75rem;
  }
}
.mod-market-search-form__checkbox .input-box {
  background-color: #FFFFFF;
  position: relative;
  width: calc((100% - 2.5rem) / 3);
  border-radius: 0.5rem;
  border: 0.0625rem solid #DDDDDD;
  outline: 0.125rem solid transparent;
  padding: 0.5rem 3rem 0.5rem 1rem;
  display: flex;
  align-items: center;
  transition: box-shadow 0.3s ease-out, outline-color 0.3s ease-out;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__checkbox .input-box {
    justify-content: center;
    flex-direction: column;
    width: calc((100% - 1.5rem) / 3);
    padding: 0.75rem 0.375rem 0.375rem;
    gap: 0.25rem;
  }
}
.mod-market-search-form__checkbox .input-box:has(input:checked) {
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.16);
  outline-color: transparent;
  outline-color: #F00000;
}
.mod-market-search-form__checkbox input {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}
.mod-market-search-form__checkbox input:checked + .box {
  border-color: #F00000;
  background-color: #F00000;
}
.mod-market-search-form__checkbox input:checked + .box::before {
  content: "";
}
.mod-market-search-form__checkbox .box {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.1875rem;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-market-search-form__checkbox .box {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
    top: 0.5rem;
  }
}
.mod-market-search-form__checkbox .box::before {
  display: block;
  background-color: #FFFFFF;
  position: absolute;
  aspect-ratio: 11.72/8.07;
  width: 0.7325rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-market-search-form__checkbox .icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 100%;
  background-color: #F6F1EE;
}
.mod-market-search-form__checkbox .icon::before {
  content: "";
  z-index: 2;
  width: 1.75rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-market-search-form__checkbox .icon.--mansion::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-market-search-form__checkbox .icon.--house::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-market-search-form__checkbox .icon.--land::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-market-search-form__checkbox .txt {
  font-weight: 500;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__checkbox .txt {
    font-size: 0.75rem;
  }
}
.mod-market-search-form__conv {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-market-search-form__conv {
    gap: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-market-search-form.--in-form .mod-market-search-form__conv {
    flex-direction: column;
  }
}
.mod-market-search-form__conv.--col3 {
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__conv.--col3 {
    gap: 0.75rem;
  }
}
.mod-market-search-form__conv.--col3 .conv-btn {
  width: calc((100% - 2.5rem) / 3);
}
@media (max-width: 48rem) {
  .mod-market-search-form__conv.--col3 .conv-btn {
    width: 100%;
  }
}
.mod-market-search-form__conv .conv-btn {
  background-color: #FFFFFF;
  position: relative;
  width: calc((100% - 2.5rem) / 2);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  gap: 1rem;
  min-height: 2.8125rem;
  transition: box-shadow 0.3s ease-out, border-color 0.3s ease-out, border-width 0.3s ease-out, color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-market-search-form__conv .conv-btn {
    justify-content: center;
    width: calc((100% - 0.75rem) / 2);
  }
}
@media (max-width: 48rem) {
  .mod-market-search-form.--in-form .mod-market-search-form__conv .conv-btn {
    width: 100%;
  }
}
.mod-market-search-form__conv .conv-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.5rem;
  pointer-events: none;
  z-index: 2;
  border: 0.0625rem solid #DDDDDD;
}
@media (any-hover: hover) {
  .mod-market-search-form__conv .conv-btn:hover {
    color: #F00000;
    box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.16);
  }
  .mod-market-search-form__conv .conv-btn:hover::before {
    border-color: #F00000;
    border-width: 0.125rem;
  }
}
.mod-market-search-form__conv .icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 100%;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .mod-market-search-form__conv .icon {
    display: none;
  }
}
.mod-market-search-form__conv .icon::before {
  content: "";
  z-index: 2;
  width: 1.75rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-market-search-form__conv .icon.--access::before {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.mod-market-search-form__conv .icon.--train::before {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.mod-market-search-form__conv .icon.--map-search::before {
  -webkit-mask-image: url(../../../img/common/icon-map-search.svg);
          mask-image: url(../../../img/common/icon-map-search.svg);
}
.mod-market-search-form__conv .icon.--payment::before {
  -webkit-mask-image: url(../../../img/common/icon-payment.svg);
          mask-image: url(../../../img/common/icon-payment.svg);
}
.mod-market-search-form__conv .icon.--tag::before {
  -webkit-mask-image: url(../../../img/common/icon-tag.svg);
          mask-image: url(../../../img/common/icon-tag.svg);
}
.mod-market-search-form__conv .icon.--star::before {
  -webkit-mask-image: url(../../../img/common/icon-star.svg);
          mask-image: url(../../../img/common/icon-star.svg);
}
.mod-market-search-form__conv .txt {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-market-search-form__conv .txt {
    font-size: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-market-search-form.--in-form .mod-market-search-form__conv .txt {
    font-size: 0.875rem;
  }
}
.mod-market-search-form__modal-content {
  max-width: 52.5rem;
  margin-inline: auto;
  padding: 0.5rem 0.125rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__modal-content {
    padding: 1rem 0.125rem;
  }
}
@media (max-width: 48rem) {
  .mod-market-search-form__modal-content .mod-market-search-form__ttl-wrap {
    padding-right: 3rem;
  }
}
.mod-market-search-form__keyword {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__keyword {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.mod-market-search-form__keyword-ttl {
  font-weight: bold;
}
.mod-market-search-form__history {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__history {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.mod-market-search-form__history-ttl {
  padding: 0.5rem 1.25rem;
  background-color: #F2F2F2;
  border-radius: 0.3125rem;
  font-size: 0.875rem;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-market-search-form__history-ttl {
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
  }
}
.mod-market-search-form__history-word a {
  text-decoration: underline;
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-market-search-form__history-word a:hover {
    color: #F00000;
  }
}
.mod-market-search-form__select .select-conditions-ttl-wrap {
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__select .select-conditions-ttl-wrap {
    margin-bottom: 1.25rem;
  }
}
.mod-market-search-form__select .select-conditions-ttl {
  font-size: 1rem;
  font-weight: 500;
}
.mod-market-search-form__select .select-conditions {
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-market-search-form__select .select-conditions {
    gap: 1.25rem 1rem;
  }
}
@keyframes scaleUp {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.mod-market-search-form__select .select-conditions__item {
  border-radius: 0.75rem;
  border: 0.125rem #F00000 solid;
  background-color: #FFFFFF;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-market-search-form__select .select-conditions__item {
    flex: unset;
    width: calc((100% - 1rem) / 2);
  }
}
@media (any-hover: hover) {
  .mod-market-search-form__select .select-conditions__item:hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .mod-market-search-form__select .select-conditions__item:hover .select-conditions__arrow {
    background-color: #FFFFFF;
  }
  .mod-market-search-form__select .select-conditions__item:hover .select-conditions__icon::after {
    animation: scaleUp 0.3s forwards;
  }
}
.mod-market-search-form__select .select-conditions__arrow {
  display: block;
  position: absolute;
  right: 0.9375rem;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  transition: background-color 0.3s ease-out;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
}
.mod-market-search-form__select .select-conditions__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.mod-market-search-form__select .select-conditions__icon::before, .mod-market-search-form__select .select-conditions__icon::after {
  content: "";
  display: block;
}
.mod-market-search-form__select .select-conditions__icon::after {
  transition: transform 0.3s ease-out;
  border-radius: 100%;
  position: absolute;
  inset: 0;
  width: 2.75rem;
  height: 2.75rem;
  z-index: 1;
  background-color: #F6F1EE;
}
.mod-market-search-form__select .select-conditions__icon::before {
  z-index: 2;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-market-search-form__select .select-conditions__icon.--access::before {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.mod-market-search-form__select .select-conditions__icon.--train::before {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.mod-market-search-form__select .select-conditions__icon.--map-search::before {
  -webkit-mask-image: url(../../../img/common/icon-map-search.svg);
          mask-image: url(../../../img/common/icon-map-search.svg);
}
.mod-market-search-form__select .select-conditions__icon.--payment::before {
  -webkit-mask-image: url(../../../img/common/icon-payment.svg);
          mask-image: url(../../../img/common/icon-payment.svg);
}
.mod-market-search-form__select .select-conditions__icon.--hash::before {
  -webkit-mask-image: url(../../../img/common/icon-hash.svg);
          mask-image: url(../../../img/common/icon-hash.svg);
}
.mod-market-search-form__select .select-conditions__icon.--tag::before {
  -webkit-mask-image: url(../../../img/common/icon-tag.svg);
          mask-image: url(../../../img/common/icon-tag.svg);
}
.mod-market-search-form__select .select-conditions__icon.--star::before {
  -webkit-mask-image: url(../../../img/common/icon-star.svg);
          mask-image: url(../../../img/common/icon-star.svg);
}
.mod-market-search-form__select .select-conditions__label {
  font-weight: bold;
  font-size: 0.875rem;
  white-space: nowrap;
}
@media (max-width: 66.25rem) {
  .mod-market-search-form__select .select-conditions__label {
    font-size: 0.8125rem;
  }
}
@media (max-width: 48rem) {
  .mod-market-search-form__select .select-conditions__label {
    font-size: 0.875rem;
  }
}
.mod-market-search-form__select .select-links {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-market-search-form__select .select-links {
    margin-top: 2rem;
    gap: 0.5rem 1rem;
  }
}
.mod-market-search-form__select .select-link {
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 0.25rem 1.25rem 0.25rem 0.75rem;
  font-size: 0.875rem;
  white-space: normal;
  flex: 1;
  line-height: 1.5;
  justify-content: flex-start;
  min-height: 3.75rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form__select .select-link {
    flex: none;
    padding: 0.25rem 1rem 0.25rem 0.75rem;
    font-size: 0.75rem;
    min-height: 3.1875rem;
    width: calc((100% - 1rem) / 2);
  }
}
.mod-market-search-form__select .select-link .cmn-btn__icon {
  right: 0.75rem;
}

.cmn-container.--white .mod-market-search-form__eyecatch {
  background-color: #EEE6E0;
}
.cmn-container.--white .mod-market-search-form__wrapper {
  background-color: #EEE6E0;
}
.cmn-container.--white .mod-market-search-form .flow-spacer__arrow {
  background-color: #EEE6E0;
}

.mod-market-search-form .flow-spacer,
.mod-market-search-form__modal-content .flow-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2.5rem 0 1rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form .flow-spacer,
  .mod-market-search-form__modal-content .flow-spacer {
    width: calc(100% + 2.5rem);
    margin: 1.5rem -1.25rem;
  }
}
.mod-market-search-form .flow-spacer::before,
.mod-market-search-form__modal-content .flow-spacer::before {
  z-index: 1;
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-market-search-form .flow-spacer img,
.mod-market-search-form__modal-content .flow-spacer img {
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  width: 1.75rem;
  height: 1.75rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form .flow-spacer img,
  .mod-market-search-form__modal-content .flow-spacer img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.mod-market-search-form .flow-spacer__arrow,
.mod-market-search-form__modal-content .flow-spacer__arrow {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  background-image: url("../../../img/common/icon-flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.395625rem 1.291875rem;
}
@media (max-width: 48rem) {
  .mod-market-search-form .flow-spacer__arrow,
  .mod-market-search-form__modal-content .flow-spacer__arrow {
    width: 1.5rem;
    height: 1.5rem;
    background-size: 1.19625rem 1.106875rem;
  }
}

/* =========================================================== */
/* 相場価格の推移　チャート */
/* =========================================================== */
/* チャート全体
-------------------------------------------------------------------- */
.mod-price-history {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  border: 0.0625rem solid #F2F2F2;
  filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.08));
  padding: 2.5rem 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-price-history {
    padding: 1.5rem 1rem;
    filter: drop-shadow(0px 5px 12px rgba(0, 0, 0, 0.08));
  }
}

/* ヘッド部分
-------------------------------------------------------------------- */
.mod-price-history__head {
  margin-bottom: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-price-history__head {
    flex-direction: column;
    margin-bottom: unset;
  }
}
.mod-price-history__head .head-ctrl {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-price-history__head .head-ctrl {
    gap: 0.75rem;
  }
}
@media (max-width: 40rem) {
  .mod-price-history__head .head-ctrl {
    flex-direction: column;
    align-items: unset;
  }
}
.mod-price-history__head .head-ctrl__item {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .mod-price-history__head .head-ctrl__item:not(.--txt) {
    flex: 1;
  }
}
.mod-price-history__head .head-ctrl__ttl {
  font-size: 1rem;
  font-weight: bold;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-price-history__head .head-ctrl__ttl {
    font-size: 0.875rem;
    width: 5rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-price-history__head .head-ctrl .cmn-square-btn {
    width: calc(100% - 1rem - 5rem);
  }
}
@media (max-width: 48rem) {
  .mod-price-history__head .head-ctrl .cmn-square-btn select {
    font-size: 0.875rem;
  }
}
.mod-price-history__head .head-ctrl__ttl-large {
  font-size: 1.25rem;
  font-weight: bold;
  flex-shrink: 0;
  margin-right: 1rem;
}
@media (max-width: 48rem) {
  .mod-price-history__head .head-ctrl__ttl-large {
    font-size: 1.125rem;
    margin-right: unset;
  }
}
.mod-price-history__head .line-txt {
  position: relative;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  justify-content: flex-end;
  gap: 0.625rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-price-history__head .line-txt {
    margin-right: 1.25rem;
    font-size: 0.75rem;
    gap: 0.5rem;
  }
}
.mod-price-history__head .line-txt:before {
  content: "";
  display: block;
  background-color: #4DAA14;
  height: 0.125rem;
  width: 2.5rem;
  border-radius: 3.125rem;
}
@media (max-width: 48rem) {
  .mod-price-history__head .line-txt:before {
    width: 1.5rem;
  }
}

/* メインコンテンツ
-------------------------------------------------------------------- */
.mod-price-history__main {
  display: flex;
  gap: 0.625rem 2rem;
}
@media (max-width: 66.25rem) {
  .mod-price-history__main {
    flex-direction: column-reverse;
  }
}

/* テキストコンテンツ
-------------------------------------------------------------------- */
.mod-price-history__detail {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-price-history__detail {
    width: 100%;
  }
}
.mod-price-history__detail .price-box {
  background-color: #F6F1EE;
  border-radius: 0.5rem;
  padding: 1.5rem 1rem;
}
@media (max-width: 48rem) {
  .mod-price-history__detail .price-box {
    padding: 1.25rem;
    border-radius: 0.3125rem;
  }
}
.mod-price-history__detail .price-box__ttl {
  text-align: center;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-price-history__detail .price-box__ttl {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
  }
}
.mod-price-history__detail .price-box__range {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #CC0000;
}
.mod-price-history__detail .price-box .txt-num {
  font-size: 1.75rem;
  font-weight: 900;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-price-history__detail .price-box .txt-num {
    font-size: 1.5rem;
  }
}
.mod-price-history__detail .price-box .txt-unit {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-price-history__detail .price-box .txt-unit {
    font-size: 0.875rem;
  }
}
.mod-price-history__detail .price-box .txt-range {
  font-size: 1.125rem;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .mod-price-history__detail .price-box .txt-range {
    font-size: 1rem;
  }
}
.mod-price-history__detail .price-desc {
  margin-top: 1rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-price-history__detail .price-desc {
    margin-top: 0.75rem;
  }
}

/* グラフエリア
-------------------------------------------------------------------- */
.mod-price-history__graph-area {
  display: block;
  background-color: rgba(0, 0, 0, 0.3);
  aspect-ratio: 583/319;
  width: 36.2562189055vw;
  max-width: 36.4375rem;
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 66.25rem) {
  .mod-price-history__graph-area {
    width: 100%;
    max-width: unset;
  }
}
.mod-price-history__graph-area:has(*) {
  background-color: unset;
  aspect-ratio: unset;
}

/* 注釈
-------------------------------------------------------------------- */
.mod-price-history__note {
  margin-top: 1rem;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-price-history__note {
    margin-top: 0.75rem;
    font-size: 0.625rem;
  }
}

/* =========================================================== */
/* プライスリスト 価格　価格平均 賃料相場 */
/* =========================================================== */
.mod-price-list {
  display: flex;
  gap: 1.25rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-price-list {
    flex-direction: column;
  }
}
.mod-price-list.--single .mod-price-list__price .txt-ttl {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-price-list.--single .mod-price-list__price .txt-num {
    font-size: 1.75rem;
  }
}
.mod-price-list.--single .mod-price-list__price .txt-unit {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-price-list.--single .mod-price-list__price .txt-range {
    font-size: 1.125rem;
  }
}
.mod-price-list__card {
  flex: 1;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
}
.mod-price-list.--single .mod-price-list__card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem 2.5rem;
  gap: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-price-list.--single .mod-price-list__card {
    flex-direction: column;
    padding: 1.25rem;
  }
}
.mod-price-list__ttl {
  padding: 0.75rem;
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-price-list__ttl {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
  }
}
.mod-price-list.--single .mod-price-list__ttl {
  padding: unset;
}
.mod-price-list__ttl::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-price-list.--single .mod-price-list__ttl::before {
  display: none;
}
.mod-price-list__price {
  padding: 1.5rem 0.75rem;
  display: flex;
  gap: 0.125rem;
  justify-content: center;
  align-items: center;
  color: #CC0000;
}
@media (max-width: 48rem) {
  .mod-price-list__price {
    padding: 1rem 0.75rem;
    font-size: 0.875rem;
  }
}
.mod-price-list.--single .mod-price-list__price {
  padding: unset;
}
.mod-price-list .txt-ttl {
  font-weight: bold;
  color: #000000;
}
.mod-price-list .txt-num {
  font-size: 2rem;
  font-weight: 900;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-price-list .txt-num {
    font-size: 1.5rem;
  }
}
.mod-price-list .txt-unit {
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-price-list .txt-unit {
    font-size: 0.75rem;
  }
}
.mod-price-list .txt-range {
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-price-list .txt-range {
    font-size: 0.875rem;
  }
}

/*===========================================================*/
/* 営業所カード */
/*===========================================================*/
.mod-office-card {
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-office-card {
    padding: 1.5rem 1rem;
  }
}
@media (any-hover: hover) {
  .mod-office-card:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
}
.mod-office-card + .mod-office-card {
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-office-card + .mod-office-card {
    margin-top: 1.25rem;
  }
}
.cmn-container.--brown .mod-office-card {
  background-color: #FFFFFF;
}
.cmn-container.--white .mod-office-card {
  background-color: #F6F1EE;
}
.mod-office-card__inner {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-office-card__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: unset;
  }
}
.mod-office-card.--type02 .mod-office-card__inner {
  flex-direction: column;
}
.mod-office-card__ttl {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-office-card__ttl {
    font-size: 1rem;
  }
}
.mod-office-card__ttl::before {
  content: "";
  position: absolute;
  inset: 0;
}
.mod-office-card__data {
  display: flex;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-office-card__data {
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-office-card__data + .mod-office-card__data {
  margin-top: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-office-card__data + .mod-office-card__data {
    margin-top: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-office-card__data:has(dd + dt) {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem 0;
  }
}
.mod-office-card__data:has(dd + dt) dt {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-office-card__data:has(dd + dt) dt {
    min-width: 4.25rem;
    margin-right: unset;
    flex-shrink: 0;
  }
}
@media (max-width: 48rem) {
  .mod-office-card__data:has(dd + dt) dd {
    width: calc(100% - 4.625rem);
  }
}
.mod-office-card__data dt {
  flex-shrink: 0;
  width: 4.625rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.cmn-container.--white .mod-office-card__data dt {
  color: #4D4D4D;
}
.mod-office-card__data dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.mod-office-card__data dd + dt {
  margin-left: 1rem;
}
@media (max-width: 48rem) {
  .mod-office-card__data dd + dt {
    margin-left: unset;
  }
}
.mod-office-card__data dd + dt.ex-space {
  margin-left: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-office-card__data dd + dt.ex-space {
    margin-left: unset;
  }
}
.mod-office-card__data .txt-bold {
  font-size: 1rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-office-card__data .txt-bold {
    font-weight: 500;
  }
}
.mod-office-card__data .txt-sub {
  font-size: 0.75rem;
}
.mod-office-card__contact {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-office-card__contact {
    margin-top: 1.5rem;
    gap: 1.25rem;
    align-items: flex-start;
    width: 100%;
    flex-direction: column-reverse;
  }
}
@media (max-width: 48rem) {
  .mod-office-card__contact .cmn-btn {
    max-width: 19rem;
    width: 100%;
    margin: auto;
  }
}
.mod-office-card.--type02 .mod-office-card__contact {
  flex-direction: row;
  justify-content: center;
  width: 100%;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-office-card.--type02 .mod-office-card__contact {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-office-card__btn-wrap {
  display: flex;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-office-card__btn-wrap {
    width: 100%;
    gap: 0.5rem;
  }
}
.mod-office-card__btn-wrap .cmn-btn {
  width: 15.875rem;
  max-width: unset;
}
@media (max-width: 48rem) {
  .mod-office-card__btn-wrap .cmn-btn {
    width: 100%;
    flex-direction: row-reverse;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-office-card__btn-wrap .cmn-btn__icon {
    position: static;
  }
}
.mod-office-card__ttl-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .mod-office-card__ttl-wrap {
    flex-direction: column-reverse;
    gap: 0.5rem;
  }
}
.mod-office-card__id {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}
.mod-office-card__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  position: relative;
  z-index: 2;
  pointer-events: none;
  flex-shrink: 0;
  cursor: auto;
}
@media (max-width: 48rem) {
  .mod-office-card__tel {
    pointer-events: auto;
    cursor: pointer;
    font-size: 0.75rem;
    border-radius: 2rem;
    border: 0.0625rem solid #DDDDDD;
    line-height: 3rem;
    width: 100%;
    max-width: 19rem;
    margin: 0 auto;
  }
}
.mod-office-card__tel .num {
  color: #020055;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-office-card__tel .num {
    font-size: 1.125rem;
  }
}
.mod-office-card__tel02 {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-office-card__tel02 {
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 2rem;
    border: 0.0625rem solid #DDDDDD;
    background-color: #FFFFFF;
    line-height: 3rem;
    width: 100%;
    max-width: 19rem;
    margin: 0 auto;
    z-index: 2;
    color: #020055;
  }
}
.mod-office-card__tel02 .sub {
  color: #000000;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-office-card.--type02 .mod-office-card__tel02 {
    width: 100%;
    max-width: unset;
  }
}
.mod-office-card__hours {
  pointer-events: none;
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-office-card__hours {
    flex-direction: column;
    gap: unset;
    align-items: flex-start;
  }
}
.mod-office-card__hours dt {
  font-size: 0.875rem;
  font-weight: 500;
}
.mod-office-card__hours dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.mod-office-card__map-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
  position: relative;
  z-index: 2;
}
.mod-office-card__map-link::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.mod-office-card__map-link span {
  font-size: 0.875rem;
  text-decoration: underline;
}

/*===========================================================*/
/* 売り出し事例を確認する */
/*===========================================================*/
.mod-sale-case {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (max-width: 48rem) {
  .mod-sale-case {
    gap: 2.5rem;
  }
}

/* mod-sale-case-select
-------------------------------------------------------------------- */
.mod-sale-case-select {
  background-color: #FFFFFF;
  overflow: hidden;
  padding: 2rem 2.5rem;
  border-radius: 0.75rem;
  box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.16);
}
@media (max-width: 48rem) {
  .mod-sale-case-select {
    padding: 1.5rem 1rem 0 1rem;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
  }
}
.mod-sale-case-select__ttl {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-sale-case-select__ttl {
    text-align: left;
    font-size: 1.125rem;
  }
}
.mod-sale-case-select__desc {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-sale-case-select__desc {
    text-align: left;
    font-size: 0.875rem;
    margin-bottom: 2rem;
  }
}
.mod-sale-case-select__list {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background-color: #F6F1EE;
  padding: 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-sale-case-select__list {
    gap: 0.75rem;
    padding: 2rem 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-sale-case-select__list {
    margin-inline: -1rem;
    border-radius: unset;
    padding: 1.5rem 1rem;
  }
}
@media (max-width: 40rem) {
  .mod-sale-case-select__list {
    flex-direction: column;
  }
}
.mod-sale-case-select__list li {
  max-width: 16.6875rem;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-sale-case-select__list li {
    max-width: unset;
    width: 100%;
  }
}
.mod-sale-case-select__list .cmn-icon-btn {
  width: 100%;
  transition: outline-color 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-sale-case-select__list .cmn-icon-btn:not(:disabled):hover {
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.16);
  }
}

/* mod-sale-case-link
-------------------------------------------------------------------- */
.mod-sale-case-link {
  background-color: #FFFFFF;
  padding: 1.25rem 2.5rem;
  border-radius: 0.75rem;
  box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.16);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-sale-case-link {
    flex-direction: column;
    gap: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-sale-case-link {
    padding: 1.5rem 1rem;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
  }
}
.mod-sale-case-link__ttl {
  font-size: 1.125rem;
  font-weight: bold;
}
.mod-sale-case-link .cmn-btn {
  min-height: 3.625rem;
}
@media (max-width: 48rem) {
  .mod-sale-case-link .cmn-btn {
    min-height: 3rem;
    text-align: center;
    width: 100%;
  }
}
.mod-sale-case-link .cmn-btn__txt {
  font-weight: 500;
  margin-right: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-sale-case-link .cmn-btn__txt {
    margin-right: unset;
    font-weight: 600;
  }
}

/* =========================================================== */
/* 価格マトリクス */
/* =========================================================== */
/* タブ切り替え
-------------------------------------------------------------------- */
.mod-price-matrix-tab {
  display: flex;
  align-items: flex-end;
  border-bottom: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab {
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    border-bottom: unset;
  }
}
.mod-price-matrix-tab__btn {
  flex: 1;
  background-color: #FFFFFF;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab__btn {
    font-size: 0.875rem;
    flex: unset;
    border-radius: 0.3125rem;
    height: 3.25rem;
    width: calc((100% - 0.5rem) / 2);
  }
}
.mod-price-matrix-tab__btn[aria-selected=true] {
  border-radius: 0.75rem 0.75rem 0 0;
  background-color: #BD967C;
  font-size: 1.125rem;
  height: 4.124375rem;
  color: #FFFFFF;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab__btn[aria-selected=true] {
    border-radius: 0.3125rem;
    font-size: 0.875rem;
    height: 3.25rem;
  }
}
.mod-price-matrix-tab__btn[aria-selected=true]::before, .mod-price-matrix-tab__btn[aria-selected=true]::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 0.73625rem;
  aspect-ratio: 11.78/11.81;
  background-color: #BD967C;
  -webkit-mask-image: url(../../../img/common/tab-scraps.svg);
          mask-image: url(../../../img/common/tab-scraps.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab__btn[aria-selected=true]::before, .mod-price-matrix-tab__btn[aria-selected=true]::after {
    display: none;
  }
}
.mod-price-matrix-tab__btn[aria-selected=true]::after {
  right: -0.6875rem;
}
.mod-price-matrix-tab__btn[aria-selected=true]::before {
  left: -0.6875rem;
  transform: scaleX(-1);
}
.mod-price-matrix-tab__btn:first-child {
  border-top-left-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab__btn:first-child {
    border-radius: 0.3125rem;
  }
}
.mod-price-matrix-tab__btn:first-child::before {
  display: none;
}
.mod-price-matrix-tab__btn:last-child {
  border-top-right-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab__btn:last-child {
    border-radius: 0.3125rem;
  }
}
.mod-price-matrix-tab__btn:last-child::after {
  display: none;
}
.mod-price-matrix-tab__btn + .mod-price-matrix-tab__btn {
  border-left: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-price-matrix-tab__btn + .mod-price-matrix-tab__btn {
    border: unset;
  }
}

/* メインコンテンツ
-------------------------------------------------------------------- */
.mod-price-matrix-container {
  background-color: #FFFFFF;
  padding: 1.25rem 2.5rem 2.5rem;
  border-radius: 0 0 0.75rem 0.75rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-container {
    padding: 1rem;
    border-radius: 0.5rem;
  }
}

.mod-price-matrix-announce {
  margin-bottom: 1.25rem;
  font-weight: bold;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-announce {
    margin-bottom: 1rem;
    font-size: 0.875rem;
  }
}

/* テーブル
-------------------------------------------------------------------- */
.mod-price-matrix-table-wrap {
  overflow-x: auto;
  padding-bottom: 1rem;
}
.mod-price-matrix-table-inner {
  min-width: -moz-max-content;
  min-width: max-content;
}
.mod-price-matrix-table-inner.is-hidden {
  position: absolute;
  visibility: hidden;
  opacity: 0;
}

.mod-price-matrix-table {
  border-top: 0.0625rem solid #DDDDDD;
  border-right: 0.0625rem solid #DDDDDD;
  table-layout: fixed;
  border-collapse: collapse;
  width: 61.25rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table {
    width: 53rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table {
    width: 46.375rem;
  }
}
.mod-price-matrix-table.--col3 thead th:not(:first-child) {
  width: calc((100% - 8.8125rem) / 3);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table.--col3 thead th:not(:first-child) {
    width: calc((100% - 7.625rem) / 3);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table.--col3 thead th:not(:first-child) {
    width: calc((100% - 6.625rem) / 3);
  }
}
.mod-price-matrix-table.--col4 thead th:not(:first-child) {
  width: calc((100% - 8.8125rem) / 4);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table.--col4 thead th:not(:first-child) {
    width: calc((100% - 7.625rem) / 4);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table.--col4 thead th:not(:first-child) {
    width: calc((100% - 6.625rem) / 4);
  }
}
.mod-price-matrix-table.--col5 thead th:not(:first-child) {
  width: calc((100% - 8.8125rem) / 5);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table.--col5 thead th:not(:first-child) {
    width: calc((100% - 7.625rem) / 5);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table.--col5 thead th:not(:first-child) {
    width: calc((100% - 6.625rem) / 5);
  }
}
.mod-price-matrix-table.--col6 thead th:not(:first-child) {
  width: calc((100% - 8.8125rem) / 6);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table.--col6 thead th:not(:first-child) {
    width: calc((100% - 7.625rem) / 6);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table.--col6 thead th:not(:first-child) {
    width: calc((100% - 6.625rem) / 6);
  }
}
.mod-price-matrix-table.--col7 thead th:not(:first-child) {
  width: calc((100% - 8.8125rem) / 7);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table.--col7 thead th:not(:first-child) {
    width: calc((100% - 7.625rem) / 7);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table.--col7 thead th:not(:first-child) {
    width: calc((100% - 6.625rem) / 7);
  }
}
.mod-price-matrix-table.--col8 thead th:not(:first-child) {
  width: calc((100% - 8.8125rem) / 8);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table.--col8 thead th:not(:first-child) {
    width: calc((100% - 7.625rem) / 8);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table.--col8 thead th:not(:first-child) {
    width: calc((100% - 6.625rem) / 8);
  }
}
.mod-price-matrix-table col.col-head {
  width: 8.8125rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table col.col-head {
    width: 7.625rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table col.col-head {
    width: 6.625rem;
  }
}
.mod-price-matrix-table th,
.mod-price-matrix-table td {
  border-left: 0.0625rem solid #DDDDDD;
  border-bottom: 0.0625rem solid #DDDDDD;
  text-align: center;
  vertical-align: middle;
  height: 2.75rem;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 0 0.75rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table th,
  .mod-price-matrix-table td {
    font-size: 0.75rem;
    padding: 0 0.5rem;
    height: 2.375rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table th,
  .mod-price-matrix-table td {
    height: 2.125rem;
  }
}
.mod-price-matrix-table th {
  background-color: #F6F1EE;
}
.mod-price-matrix-table th:first-child {
  width: 8.8125rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table th:first-child {
    width: 7.625rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table th:first-child {
    width: 6.625rem;
  }
}
.mod-price-matrix-table th:not(:first-child) {
  width: 6.5625rem;
  min-width: calc((100% - 8.8125rem) / 5);
}
@media (max-width: 48rem) {
  .mod-price-matrix-table th:not(:first-child) {
    width: 5.6875rem;
    min-width: calc((100% - 7.625rem) / 5);
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table th:not(:first-child) {
    width: 5rem;
    min-width: calc((100% - 6.625rem) / 5);
  }
}
.mod-price-matrix-table .num {
  border: 0.125rem solid #BD967C;
  background-color: #FFFFFF;
  border-radius: 3.125rem;
  display: inline-flex;
  gap: 0.1875rem;
  align-items: baseline;
  justify-content: center;
  position: relative;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1rem;
  color: #CC0000;
  line-height: 1.4;
  width: 6.625rem;
  height: 1.6875rem;
  max-width: 100%;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table .num {
    font-size: 0.875rem;
    width: 5.75rem;
    height: 1.5rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table .num {
    width: 5rem;
    height: 1.3125rem;
    line-height: 1.3;
  }
}
.mod-price-matrix-table .num::after {
  content: "件";
  font-weight: bold;
  font-size: 0.625rem;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-price-matrix-table .num:hover {
    background-color: #BD967C;
    color: #FFFFFF;
  }
  .mod-price-matrix-table .num:hover::after {
    color: #FFFFFF;
  }
}
.mod-price-matrix-table__label {
  position: relative;
  line-height: 1;
}
.mod-price-matrix-table__label::before {
  content: "";
  display: block;
  background-image: url(../../../img/common/line-gray.svg);
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.mod-price-matrix-table__label .price {
  position: absolute;
  font-weight: bold;
  bottom: 0.5rem;
  left: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table__label .price {
    bottom: 0.375rem;
    left: 0.375rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table__label .price {
    bottom: 0.25rem;
    left: 0.25rem;
  }
}
.mod-price-matrix-table__label .floor {
  position: absolute;
  font-weight: bold;
  top: 0.5rem;
  right: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-price-matrix-table__label .floor {
    top: 0.375rem;
    right: 0.375rem;
  }
}
@media (max-width: 30rem) {
  .mod-price-matrix-table__label .floor {
    top: 0.25rem;
    right: 0.25rem;
  }
}

/* =========================================================== */
/* 虫眼鏡付き検索ボックス */
/* =========================================================== */
.mod-search-input__content {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-search-input__content {
    flex-direction: column;
    gap: 0.625rem;
    align-items: flex-start;
  }
}
.mod-search-input__box {
  border-radius: 0.5rem;
  overflow: hidden;
  display: flex;
  border: 0.0625rem solid #CCCCCC;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-search-input__box {
    width: 100%;
  }
}
.mod-search-input__field {
  border-radius: 0.5rem 0 0 0.5rem;
  background-color: #FFFFFF;
  padding: 1rem 1.5rem;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-search-input__field {
    padding: 0.625rem 0.75rem;
  }
}
.mod-search-input__field::-moz-placeholder {
  color: #808080;
  opacity: 1;
  font-size: 0.875rem;
}
.mod-search-input__field::placeholder {
  color: #808080;
  opacity: 1;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-search-input__field::-moz-placeholder {
    font-size: 0.75rem;
  }
  .mod-search-input__field::placeholder {
    font-size: 0.75rem;
  }
}
.mod-search-input__btn {
  background-color: #BD967C;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.125rem;
}
@media (max-width: 48rem) {
  .mod-search-input__btn {
    padding: 0.625rem 0.75rem;
  }
}
.mod-search-input__icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-search.svg);
          mask-image: url(../../../img/common/icon-search.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
}

/* =========================================================== */
/* タブ */
/* =========================================================== */
.mod-tab {
  display: flex;
  align-items: flex-end;
}
.cmn-container.--brown .mod-tab {
  border-bottom: 0.0625rem solid #DDDDDD;
}
.cmn-container.--brown .mod-tab .mod-tab__btn:not([aria-selected=true]) {
  background-color: #FFFFFF;
}
.cmn-container.--brown .mod-tab .mod-tab__btn + .mod-tab__btn {
  border-left: 0.0625rem solid #DDDDDD;
}
.mod-tab__btn {
  flex: 1;
  background-color: #F2F2F2;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 3.5rem;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .mod-tab__btn {
    font-size: 0.75rem;
    height: 2.5rem;
  }
}
.mod-tab__btn[aria-selected=true] {
  border-radius: 0.75rem 0.75rem 0 0;
  background-color: #F00000;
  font-size: 1.125rem;
  height: 4.125rem;
  color: #FFFFFF;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-tab__btn[aria-selected=true] {
    border-radius: 0.3125rem 0.3125rem 0 0;
    height: 3.125rem;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
.mod-tab__btn[aria-selected=true]::before, .mod-tab__btn[aria-selected=true]::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 0.75rem;
  aspect-ratio: 12/12;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/tab-scraps.svg);
          mask-image: url(../../../img/common/tab-scraps.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-tab__btn[aria-selected=true]::after {
  right: -0.75rem;
}
.mod-tab__btn[aria-selected=true]::before {
  left: -0.75rem;
  transform: scaleX(-1);
}
.--btn-secondary .mod-tab__btn[aria-selected=true] {
  background-color: #BD967C;
}
.--btn-secondary .mod-tab__btn[aria-selected=true]::before, .--btn-secondary .mod-tab__btn[aria-selected=true]::after {
  background-color: #BD967C;
}
.--btn-brick-red .mod-tab__btn[aria-selected=true] {
  background-color: #D27878;
}
.--btn-brick-red .mod-tab__btn[aria-selected=true]::before, .--btn-brick-red .mod-tab__btn[aria-selected=true]::after {
  background-color: #D27878;
}
.mod-tab__btn:first-child, .mod-tab__btn.--first-visible {
  border-top-left-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-tab__btn:first-child, .mod-tab__btn.--first-visible {
    border-top-left-radius: 0.3125rem;
  }
}
.mod-tab__btn:first-child::before, .mod-tab__btn.--first-visible::before {
  display: none;
}
.mod-tab__btn:last-child, .mod-tab__btn:not([style*="display: none"]):not(:has(~ .mod-tab__btn:not([style*="display: none"]))), .mod-tab__btn.--last-visible {
  border-top-right-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-tab__btn:last-child, .mod-tab__btn:not([style*="display: none"]):not(:has(~ .mod-tab__btn:not([style*="display: none"]))), .mod-tab__btn.--last-visible {
    border-top-right-radius: 0.3125rem;
  }
}
.mod-tab__btn:last-child::after, .mod-tab__btn:not([style*="display: none"]):not(:has(~ .mod-tab__btn:not([style*="display: none"])))::after, .mod-tab__btn.--last-visible::after {
  display: none;
}
.mod-tab__btn + .mod-tab__btn {
  border-left: 0.0625rem solid #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-tab.--sp-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    border-bottom: none;
  }
  .cmn-container.--brown .mod-tab.--sp-buttons {
    border-bottom: none;
  }
  .cmn-container.--brown .mod-tab.--sp-buttons .mod-tab__btn + .mod-tab__btn {
    border-left: none;
  }
  .mod-tab.--sp-buttons > .mod-tab__btn:first-child:nth-last-child(odd) {
    grid-column: 1/-1;
  }
  .mod-tab.--sp-buttons .mod-tab__btn {
    height: auto;
    min-height: 3.25rem;
    padding: 0.5rem 0.25rem;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5;
    border-radius: 0.5rem;
    border: none;
  }
  .mod-tab.--sp-buttons .mod-tab__btn + .mod-tab.--sp-buttons .mod-tab__btn {
    border-left: none;
  }
  .mod-tab.--sp-buttons .mod-tab__btn[aria-selected=true] {
    background-color: #F00000;
    color: #FFFFFF;
    position: static;
  }
  .mod-tab.--sp-buttons .mod-tab__btn[aria-selected=true]::before, .mod-tab.--sp-buttons .mod-tab__btn[aria-selected=true]::after {
    display: none;
  }
}

.mod-tab__panel.is-hidden {
  display: none !important;
}

@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion__panel {
    display: block;
    opacity: 1;
    visibility: visible;
    height: auto;
  }
  .mod-tab-sp-accordion__panel + .mod-tab-sp-accordion__panel {
    margin-top: 1rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion__body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out, visibility 0.3s ease-out;
    visibility: hidden;
    overflow: hidden;
  }
}
@media (min-width: 67.25rem) {
  .mod-tab-sp-accordion__body {
    display: block;
    height: auto;
    visibility: visible;
  }
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion__panel.is-active .mod-tab-sp-accordion__body {
    grid-template-rows: 1fr;
    visibility: visible;
  }
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion__body-inner {
    min-height: 0;
  }
}
.mod-tab-sp-accordion__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 0.75rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  text-align: left;
  background-color: #F2F2F2;
}
.mod-tab-sp-accordion__trigger[aria-expanded=true] {
  color: #FFFFFF;
}
.mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}
.mod-tab-sp-accordion__trigger .icon {
  width: 1.25rem;
  height: 1.25rem;
  background: #FFFFFF;
  border-radius: 50%;
  position: relative;
  margin-left: 0.75rem;
}
.mod-tab-sp-accordion__trigger .icon::before, .mod-tab-sp-accordion__trigger .icon::after {
  content: "";
  position: absolute;
  background-color: #CCCCCC;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.125rem;
  transition: transform 0.3s ease-out;
}
.mod-tab-sp-accordion__trigger .icon::before {
  width: 0.625rem;
  height: 0.125rem;
}
.mod-tab-sp-accordion__trigger .icon::after {
  width: 0.125rem;
  height: 0.625rem;
}
.mod-tab.--btn-brick-red ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] {
  background-color: #D27878;
}
.mod-tab.--btn-brick-red ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::before, .mod-tab.--btn-brick-red ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::after {
  background-color: #D27878;
}
.mod-tab.--btn-secondary ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] {
  background-color: #BD967C;
}
.mod-tab.--btn-secondary ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::before, .mod-tab.--btn-secondary ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::after {
  background-color: #BD967C;
}
.mod-tab.--btn-primary ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] {
  background-color: #F00000;
}
.mod-tab.--btn-primary ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::before, .mod-tab.--btn-primary ~ .mod-tab-sp-accordion__panel .mod-tab-sp-accordion__trigger[aria-expanded=true] .icon::after {
  background-color: #F00000;
}

/*===========================================================*/
/* 買いたい 注目のエリア・沿線特集 カード */
/*===========================================================*/
.mod-tokushu-card {
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
  height: 100%;
}
.cmn-container.--white .mod-tokushu-card, .cmn-container.--white02 .mod-tokushu-card {
  background-color: #F2F2F2;
}
.cmn-container.--brown .mod-tokushu-card {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .mod-tokushu-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-tokushu-card:hover .mod-tokushu-card__ttl {
    color: #F00000;
  }
  .mod-tokushu-card:hover .mod-tokushu-card__img {
    transform: scale(1.08);
  }
}
.mod-tokushu-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-tokushu-card__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
}
@media (max-width: 48rem) {
  .mod-tokushu-card__img-wrap {
    aspect-ratio: 336/189;
  }
}
.mod-tokushu-card__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .mod-tokushu-card__img {
    aspect-ratio: 160/90;
  }
}
.mod-tokushu-card__info {
  padding: 1.25rem 1.25rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-tokushu-card__info {
    padding: 0.625rem 0.5rem 1rem;
  }
}
.mod-tokushu-card__tag {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-tokushu-card__tag {
    margin-bottom: 0.5rem;
  }
}
.mod-tokushu-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.3125rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #F2F2F2;
}
.cmn-container.--white .mod-tokushu-card__tag-item, .cmn-container.--white02 .mod-tokushu-card__tag-item {
  background-color: #FFFFFF;
}
.mod-tokushu-card__ttl {
  transition: color 0.3s ease-out;
  font-weight: bold;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-tokushu-card__ttl {
    font-size: 0.875rem;
    font-weight: 500;
  }
}
.mod-tokushu-card {
  /* 白背景に配置された場合
  -------------------------------------------------------------------- */
}
.cmn-container.--white .mod-tokushu-card {
  background-color: #F2F2F2;
}
.cmn-container.--white .mod-tokushu-card .mod-tokushu-card__tag-item {
  background-color: #FFFFFF;
}
.mod-tokushu-card {
  /* 2カラムグリッドに配置された場合
  -------------------------------------------------------------------- */
}
.cmn-grid-col2 .mod-tokushu-card .mod-tokushu-card__img-wrap,
.cmn-grid-col2 .mod-tokushu-card .mod-tokushu-card__img {
  aspect-ratio: 510/160;
  min-height: 10rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col2 .mod-tokushu-card .mod-tokushu-card__img-wrap,
  .cmn-grid-col2 .mod-tokushu-card .mod-tokushu-card__img {
    aspect-ratio: 336/189;
    min-height: 0;
  }
}

.mod-tokushu-card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-tokushu-card-container {
    gap: 3rem 2rem;
  }
}
@media (max-width: 48rem) {
  .mod-tokushu-card-container {
    gap: 1.25rem 1rem;
  }
}
.mod-tokushu-card-container .mod-tokushu-card {
  width: calc((100% - 7.5rem) / 4);
}
@media (max-width: 66.25rem) {
  .mod-tokushu-card-container .mod-tokushu-card {
    width: calc((100% - 4rem) / 3);
  }
}
@media (max-width: 48rem) {
  .mod-tokushu-card-container .mod-tokushu-card {
    width: calc((100% - 1rem) / 2);
  }
}

/* =========================================================== */
/* フローティングバナー */
/* =========================================================== */
.mod-floating-bnr {
  position: fixed;
  bottom: 6.25rem;
  right: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-floating-bnr {
    right: 0.625rem;
    bottom: 5.25rem;
  }
}
.mod-floating-bnr__wrap {
  display: flex;
  flex-direction: column;
}
.mod-floating-bnr__link {
  background-color: #FFFFFF;
  position: relative;
  margin: 0.3125rem 0.3125rem 0 0;
  border-radius: 0.75rem;
  border: 0.125rem solid #D8C3B4;
  padding: 0.5rem 1rem;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.16));
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-floating-bnr__link {
    padding: 0.3125rem 0.9375rem;
    border-radius: 0.5rem;
    margin: 0.4375rem 0.625rem 0 0;
    width: 8.875rem;
  }
}
.mod-floating-bnr__link.is-hidden {
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}
.mod-floating-bnr__close {
  position: absolute;
  right: -0.3125rem;
  top: -0.3125rem;
  width: 1.25rem;
  height: 1.25rem;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-floating-bnr__close {
    right: -0.625rem;
    top: -0.4375rem;
  }
}
.mod-floating-bnr__close img {
  width: 100%;
  height: 100%;
}
.mod-floating-bnr__main {
  display: flex;
  font-weight: bold;
  align-items: center;
  font-size: 1.0625rem;
}
@media (max-width: 48rem) {
  .mod-floating-bnr__main {
    font-size: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.mod-floating-bnr .txt-red {
  color: #CC0000;
  font-weight: 900;
}
.mod-floating-bnr .txt-num {
  font-size: 1.5625rem;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-floating-bnr .txt-num {
    font-size: 1.125rem;
  }
}
.mod-floating-bnr__sub {
  display: flex;
  gap: 0.3125rem;
}
@media (max-width: 48rem) {
  .mod-floating-bnr__sub {
    display: none;
  }
}
.mod-floating-bnr__sub p {
  margin-top: 0.625rem;
  font-size: 0.8125rem;
  font-weight: bold;
  line-height: 1.461538;
}
@media (max-width: 48rem) {
  .mod-floating-bnr__sub p {
    margin-top: unset;
  }
}
.mod-floating-bnr__sub p .txt-red {
  font-weight: 900;
  font-size: 1rem;
}
.mod-floating-bnr__sub img {
  flex-shrink: 0;
  width: 5.125rem;
  height: 5rem;
}
@media (max-width: 48rem) {
  .mod-floating-bnr__sub img {
    display: none;
  }
}
.mod-floating-bnr__btn {
  position: relative;
  margin-top: -1rem;
  border-radius: 2rem;
  padding: 0.25rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  color: #FFFFFF;
  max-width: 100%;
  background-color: #CC0000;
}
@media (max-width: 48rem) {
  .mod-floating-bnr__btn {
    display: none;
  }
}
.mod-floating-bnr__btn .btn-txt {
  line-height: 1.5;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 600;
}
.mod-floating-bnr__btn .btn-arrow {
  display: block;
  width: 0.346875rem;
  height: 0.56375rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1.5rem;
}

/* =========================================================== */
/* お問い合わせボックス */
/* =========================================================== */
.mod-contact-box {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.75rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  width: 100%;
}
.mod-contact-box__title {
  background-color: #BD967C;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #FFFFFF;
  font-size: 1.25rem;
  font-weight: 700;
}
@media (max-width: 48rem) {
  .mod-contact-box__title {
    font-size: 1rem;
  }
}
.mod-contact-box__body {
  background-color: #FFFFFF;
  padding: 2.5rem 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-contact-box__body {
    padding: 1rem 1rem 1.5rem;
  }
}
.mod-contact-box__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-contact-box__top {
    gap: 1.25rem;
    padding-bottom: 1.5rem;
  }
}
.mod-contact-box__top::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #808080, #808080 1px, transparent 1px, transparent 4px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
.mod-contact-box__bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  padding-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-contact-box__bottom {
    flex-direction: column;
    justify-content: flex-end;
    align-items: end;
    gap: 0.5rem;
    padding-top: 1.5rem;
  }
}
.mod-contact-box__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-contact-box__inner {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.mod-contact-box__tel {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
  flex-shrink: 0;
}
@media (any-hover: hover) {
  .mod-contact-box__tel:hover .num {
    opacity: 0.6;
  }
}
@media (max-width: 48rem) {
  .mod-contact-box__tel {
    justify-content: center;
    font-size: 1.125rem;
    border-radius: 624.9375rem;
    border: 0.0625rem solid #DDDDDD;
    line-height: 2.875rem;
    width: 100%;
    max-width: 19rem;
    margin: 0 auto;
    z-index: 2;
    background-color: #FFFFFF;
  }
}
@media (max-width: 30rem) {
  .mod-contact-box__tel {
    max-width: 100%;
  }
}
.mod-contact-box__tel .num {
  color: #020055;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-contact-box__tel .num {
    font-size: 1.125rem;
  }
}
.mod-contact-box__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-contact-box__btns {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-contact-box__btns .cmn-btn {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-contact-box__btns .cmn-btn__txt {
    margin-left: 0.5rem;
  }
}
.mod-contact-box__hours {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-contact-box__hours {
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    text-align: center;
    align-items: flex-start;
  }
}
.mod-contact-box__hours dt,
.mod-contact-box__hours dd {
  line-height: 1.5;
  font-size: 0.875rem;
}
.mod-contact-box__hours dt {
  font-weight: 500;
  color: #4D4D4D;
  flex-shrink: 0;
}
.mod-contact-box__hours dd {
  word-break: break-all;
  text-align: left;
}
.mod-contact-box__hours-item {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-contact-box__hours-item {
    width: 100%;
  }
}

/* =========================================================== */
/* ニュース */
/* =========================================================== */
.mod-news__article {
  position: relative;
}
.mod-news__article::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-news__article:last-child::after {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-news__article:first-child::before {
  display: none;
}
.mod-news__link {
  padding: 2rem 0;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
@media (any-hover: hover) {
  .mod-news__link:hover .mod-news__summary {
    color: #F00000;
  }
}
.mod-news__link:has(.mod-news__cat) {
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-news__link {
    gap: 1.5rem;
  }
}
@container (max-width: 510px) {
  .mod-news__link {
    flex-direction: column;
    gap: 0.625rem;
  }
}
@media (max-width: 48rem) {
  .mod-news__link {
    padding: 1.5rem 0;
    flex-direction: column;
    gap: 0.625rem;
  }
}
.mod-news__head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.9375rem;
}
@media (max-width: 48rem) {
  .mod-news__head {
    gap: 0.5rem;
  }
}
.mod-news__head:has(.mod-news__cat) {
  width: 11.75rem;
}
.mod-news__time {
  font-family: "Lato", sans-serif;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-news__time {
    font-size: 0.875rem;
  }
}
.mod-news__cat {
  border-radius: 0.25rem;
  background-color: #FFFFFF;
  white-space: nowrap;
  line-height: 1.5625rem;
  font-size: 0.75rem;
  padding: 0 0.75rem;
  border: 0.0625rem solid #CCCCCC;
}
.mod-news__body {
  width: calc(100% - 2rem - 11.75rem);
}
@media (max-width: 66.25rem) {
  .mod-news__body {
    width: calc(100% - 1.5rem - 11.75rem);
  }
}
@container (max-width: 510px) {
  .mod-news__body {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-news__body {
    width: 100%;
  }
}
.mod-news__summary {
  font-size: 1rem;
  transition: color 0.3s ease-out;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-news__summary {
    font-size: 0.875rem;
  }
}
.mod-news__txt-link {
  position: relative;
}
.mod-news__txt-link::after {
  content: "";
  margin-left: 0.75rem;
  display: inline-block;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  vertical-align: middle;
}
@media (max-width: 48rem) {
  .mod-news__txt-link::after {
    margin-left: 0.5rem;
  }
}
.mod-news__txt-link.--pdf::after {
  width: 0.984375rem;
  aspect-ratio: 15.75/19.55;
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
}

/* レイアウト
-------------------------------------------------------------------- */
.mod-news-container {
  container-type: inline-size;
  background-color: #FFFFFF;
  border-radius: 1.5rem;
  padding: 3.5rem 2.5rem 2rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-news-container {
    padding: unset;
    background-color: unset;
  }
}
.mod-news-container + .mod-news-wrap {
  margin-top: 3rem;
}
@media (max-width: 48rem) {
  .mod-news-container + .mod-news-wrap {
    margin-top: 3.5rem;
  }
}
.mod-news-container__btn-wrap {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .mod-news-container .cmn-btn {
    min-width: unset;
  }
}

.mod-news-wrap {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-news-wrap {
    gap: 3.5rem;
    flex-direction: column;
  }
}
.mod-news-wrap .mod-news-container {
  flex: 1;
}

/*===========================================================*/
/* コラムカード */
/*===========================================================*/
.mod-column-card {
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  border: 0.0625rem solid #F2F2F2;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  height: 100%;
  position: relative;
}
@media (any-hover: hover) {
  .mod-column-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-column-card:hover .mod-column-card__summary {
    color: #F00000;
  }
  .mod-column-card:hover .mod-column-card__img-wrap img {
    transform: scale(1.08);
  }
}
.cmn-container.--white .mod-column-card, .cmn-container.--white02 .mod-column-card {
  background-color: #F2F2F2;
}
.cmn-container.--white .mod-column-card .mod-column-card__tag-item, .cmn-container.--white02 .mod-column-card .mod-column-card__tag-item {
  background-color: #FFFFFF;
}
.mod-column-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-column-card__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.mod-column-card__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-column-card__info {
  padding: 1.25rem 1.125rem;
}
@media (max-width: 48rem) {
  .mod-column-card__info {
    padding: 1rem;
  }
}
.mod-column-card__time {
  font-family: "Lato", sans-serif;
  color: #808080;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
}
.mod-column-card__summary {
  transition: color 0.3s ease-out;
  font-weight: bold;
  font-size: 1rem;
}
.mod-column-card__desc {
  margin-top: 1rem;
  font-size: 0.875rem;
}
.mod-column-card__tag {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-column-card__tag {
    margin-top: 0.75rem;
  }
}
.mod-column-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.3125rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #F2F2F2;
}
.mod-column-card {
  /* SP時の横型メディアレイアウト
  ------------------------------------------------------------ */
}
.mod-column-card.--sp-card-row {
  border: 1px solid #DDDDDD;
}
.cmn-container.--white .mod-column-card.--sp-card-row .mod-column-card, .cmn-container.--white02 .mod-column-card.--sp-card-row .mod-column-card {
  background-color: #FFFFFF;
}
.cmn-container.--white .mod-column-card.--sp-card-row .mod-column-card__tag-item, .cmn-container.--white02 .mod-column-card.--sp-card-row .mod-column-card__tag-item {
  background-color: #F2F2F2;
}
@media (max-width: 48rem) {
  .mod-column-card.--sp-card-row {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    border: 0;
    border-top: 1px dotted #808080;
    border-radius: 0;
  }
  .mod-column-card.--sp-card-row:last-child {
    border-bottom: 1px dotted #808080;
  }
}
@media (max-width: 48rem) and (any-hover: hover) {
  .mod-column-card.--sp-card-row:hover {
    box-shadow: none;
  }
}
@media (max-width: 48rem) {
  .mod-column-card.--sp-card-row .mod-column-card__link {
    flex-direction: row;
  }
  .mod-column-card.--sp-card-row .mod-column-card__img-wrap {
    border-radius: 0.25rem;
    flex-shrink: 0;
    max-width: 7.9375rem;
    height: 4.4375rem;
    aspect-ratio: 127/71;
  }
  .mod-column-card.--sp-card-row .mod-column-card__img {
    border-radius: 0.25rem;
    aspect-ratio: 127/71;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .mod-column-card.--sp-card-row .mod-column-card__info {
    flex-grow: 1;
    padding-top: 0;
    padding-bottom: 0;
  }
  .mod-column-card.--sp-card-row .mod-column-card__summary {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    word-break: break-all;
  }
}

/*===========================================================*/
/* コラム一覧 */
/*===========================================================*/
.mod-column-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-column-list {
    gap: 1.25rem;
  }
}

.mod-column-list-card {
  padding-bottom: 1.5rem;
  border-bottom: 1px dotted #808080;
}
.mod-column-list-card:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media (max-width: 48rem) {
  .mod-column-list-card {
    padding-bottom: 1.25rem;
  }
}
@media (any-hover: hover) {
  .mod-column-list-card:hover .mod-column-list-card__summary {
    color: #F00000;
  }
  .mod-column-list-card:hover .mod-column-list-card__img-wrap img {
    transform: scale(1.08);
  }
}
.mod-column-list-card__link {
  display: flex;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-column-list-card__link {
    gap: 1rem;
  }
}
.mod-column-list-card__img-wrap {
  flex-shrink: 0;
  width: 11.25rem;
  height: 6.3125rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-column-list-card__img-wrap {
    width: 6.75rem;
    height: 3.8125rem;
  }
}
.mod-column-list-card__img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
.mod-column-list-card__info {
  display: flex;
  flex-direction: column;
}
.mod-column-list-card__time {
  font-size: 0.75rem;
  font-family: "Lato", sans-serif;
  color: #808080;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
.mod-column-list-card__summary {
  font-weight: 700;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  word-break: break-all;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-column-list-card__summary {
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
}
.mod-column-list-card__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.mod-column-list-card__tag-item {
  height: 1.25rem;
  padding-inline: 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  line-height: 1.5;
  background-color: #F2F2F2;
  border-radius: 0.25rem;
}

.mod-column-list-3col {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.mod-column-list-3col__item {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .mod-column-list-3col__item {
    width: 100%;
  }
}

/*===========================================================*/
/* ピックアップリンク */
/*===========================================================*/
@media (any-hover: hover) {
  .mod-pickup-link:hover .mod-pickup-link__ttl {
    color: #F00000;
  }
  .mod-pickup-link:hover .mod-pickup-link__img {
    transform: scale(1.08);
  }
}
.mod-pickup-link__link {
  display: block;
}
.mod-pickup-link__img-wrap {
  border-radius: 0.5rem;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  aspect-ratio: 247/89;
}
@media (max-width: 48rem) {
  .mod-pickup-link__img-wrap {
    aspect-ratio: 336/120;
  }
}
.mod-pickup-link__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 247/89;
}
@media (max-width: 48rem) {
  .mod-pickup-link__img {
    aspect-ratio: 336/120;
  }
}
.mod-pickup-link__ttl {
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  transition: color 0.3s ease-out;
  font-weight: bold;
  font-size: 1rem;
  position: relative;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-pickup-link__ttl {
    gap: 0.5rem;
  }
}
.mod-pickup-link__ttl::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

/* =========================================================== */
/* 不動産売却の流れ・不動産購入の流れ */
/* =========================================================== */
.mod-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-flow {
    gap: 2rem;
  }
}
.mod-flow .cmn-btn {
  justify-content: flex-start;
  padding-left: 2rem;
}
@media (max-width: 48rem) {
  .mod-flow .cmn-btn {
    justify-content: center;
    min-height: 3rem;
  }
}
.mod-flow-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
}
.mod-flow-list:has(.mod-flow-list__item.--pc-row) {
  gap: 1.75rem;
}
@media (max-width: 48rem) {
  .mod-flow-list:has(.mod-flow-list__item.--pc-row) {
    gap: 1.625rem;
  }
}
.mod-flow-list__item {
  width: calc((100% - 4rem) / 3);
  position: relative;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.75rem;
  padding: 2.875rem 1.25rem 2rem;
  background-color: #FFFFFF;
  min-height: 21.9375rem;
  transition: border 0.3s ease-out, box-shadow 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-flow-list__item {
    width: 100%;
    padding: 2.875rem 1rem 1rem;
    min-height: 20rem;
  }
}
.mod-flow-list__item.--pc-row {
  display: flex;
  flex-direction: column;
  position: relative;
}
.mod-flow-list__item.--pc-row:not(.--first) {
  border-color: #F00000;
  box-shadow: 0 0 0 1px #F00000 inset;
}
.mod-flow-list__item.--pc-row.--first::after {
  display: none;
}
@media (max-width: 48rem) {
  .mod-flow-list__item.--pc-row {
    padding: 2.875rem 1rem 1rem;
    min-height: 20rem;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__num {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__ttl-wrap {
    position: static;
    padding-bottom: 1rem;
    background-image: linear-gradient(to right, #BD967C, #BD967C 1px, transparent 1px, transparent 4px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    background-position: bottom;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__body {
    padding-bottom: 0;
    position: static;
    gap: 1rem;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__body::after {
    display: none;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__img-wrap {
    margin-bottom: 1rem;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__desc {
    padding-top: 0;
  }
}
@media (min-width: 48rem) {
  .mod-flow-list__item.--pc-row {
    flex-direction: row;
    width: 100%;
    min-height: auto;
    padding: 1.25rem 4.375rem 1.5rem 1.25rem;
    align-items: flex-start;
  }
  .mod-flow-list__item.--pc-row:not(:last-child)::after {
    top: auto;
    bottom: 0;
    right: 50%;
    transform: translate(50%, 50%) rotate(90deg);
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__img-wrap {
    width: 7.5rem;
    height: 7.5rem;
    flex-shrink: 0;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__body {
    margin-left: 2.5rem;
    padding-bottom: 0;
    width: 100%;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__body::after {
    display: none;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__ttl-wrap {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-bottom: 1rem;
    position: relative;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__ttl-wrap::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #BD967C, #BD967C 1px, transparent 1px, transparent 4px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__num {
    position: static;
    flex-shrink: 0;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__ttl {
    font-size: 1.25rem;
  }
  .mod-flow-list__item.--pc-row .mod-flow-list__ttl span {
    font-size: inherit;
  }
}
.mod-flow-list__item:last-child .mod-flow-list__link::after {
  display: none;
}
.mod-flow-list__item:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: -0.8125rem;
  width: 1.4375rem;
  height: 1.4375rem;
  transform: translateY(-50%);
  background-image: url(../../../img/common/icon-flow--edge.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .mod-flow-list__item:not(:last-child)::after {
    width: 1.75rem;
    height: 1.75rem;
    bottom: -0.125rem;
    top: auto;
    right: 50%;
    transform: translate(50%, 50%) rotate(90deg);
  }
}
@media (any-hover: hover) {
  .mod-flow-list__item:has(.mod-flow-list__link:hover) {
    border-color: #F00000;
    box-shadow: 0 0 0 1px #F00000 inset;
  }
  .mod-flow-list__item:has(.mod-flow-list__link:hover) .mod-flow-list__ttl {
    color: #F00000;
  }
}
.mod-flow-list__num {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  border-radius: 624.9375rem;
  padding: 0.1875rem 1rem 0.25rem;
  font-family: "Lato", sans-serif;
  color: #F00000;
  background-color: #F6F1EE;
  font-weight: 700;
  line-height: 1;
  z-index: 1;
}
.mod-flow-list__num .txt {
  font-size: 0.75rem;
}
.mod-flow-list__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-bottom: 1rem;
  position: relative;
}
.mod-flow-list__body::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #BD967C, #BD967C 1px, transparent 1px, transparent 4px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
.mod-flow-list__img-wrap {
  width: 100%;
  height: 8.75rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.mod-flow-list__img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-flow-list__img.--step01-sell, .mod-flow-list__img.--step01-buy, .mod-flow-list__img.--step01-lease {
  aspect-ratio: 175/152;
  max-width: 10.9375rem;
}
.mod-flow-list__img.--step02-sell, .mod-flow-list__img.--step05-lease {
  aspect-ratio: 168/132;
  max-width: 10.5rem;
}
.mod-flow-list__img.--step02-lease {
  aspect-ratio: 149/132;
  max-width: 9.3125rem;
}
.mod-flow-list__img.--step03-sell, .mod-flow-list__img.--step02-buy {
  aspect-ratio: 173/140;
  max-width: 10.8125rem;
}
.mod-flow-list__img.--step04-sell, .mod-flow-list__img.--step03-lease {
  aspect-ratio: 209/110;
  max-width: 13.0625rem;
}
.mod-flow-list__img.--step05-sell, .mod-flow-list__img.--step03-buy, .mod-flow-list__img.--step04-lease {
  aspect-ratio: 241/110;
  max-width: 15.0625rem;
}
.mod-flow-list__img.--step06-sell, .mod-flow-list__img.--step04-buy {
  aspect-ratio: 260/106;
  max-width: 16.25rem;
}
.mod-flow-list__img.--step07-sell, .mod-flow-list__img.--step05-buy {
  aspect-ratio: 154/140;
  max-width: 9.625rem;
}
.mod-flow-list__img.--step08-sell, .mod-flow-list__img.--step06-buy {
  aspect-ratio: 300/93;
  max-width: 18.75rem;
}
.mod-flow-list__ttl {
  font-weight: 700;
  transition: color 0.3s ease-out;
  gap: 0.5rem;
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.mod-flow-list__ttl .u-mask-arrow {
  width: 0.4375rem;
  height: 0.75rem;
}
.mod-flow-list__desc {
  font-size: 0.875rem;
  padding-top: 1rem;
}
.mod-flow-list__point {
  position: relative;
  margin-top: 1rem;
  border-radius: 2.5rem;
  background-color: #AA8872;
  color: #FFFFFF;
  text-align: center;
  font-size: 0.75rem;
  font-weight: bold;
}
.mod-flow-list__point::after {
  position: absolute;
  left: 50%;
  bottom: -0.375rem;
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #AA8872;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  translate: -50% 0;
}

/* =========================================================== */
/* お客様の声 関連 */
/* =========================================================== */
/* 3カラムの声カード一覧
-------------------------------------------------------------------- */
.mod-voice-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-voice-list {
    grid-template-columns: unset;
    gap: 1.25rem;
  }
}
@container (max-width: 48rem) {
  .cmn-2col-layout03__main .mod-voice-list {
    gap: 1.25rem;
  }
  .cmn-2col-layout03__main .mod-voice-list .mod-voice-card {
    width: 100%;
  }
}

/* 声カード
-------------------------------------------------------------------- */
.mod-voice-card {
  position: relative;
  border-radius: 0.75rem;
  padding: 3.75rem 1.25rem 1.25rem;
  min-height: 20.1875rem;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  width: 100%;
  flex-grow: 1;
}
@media (any-hover: hover) {
  .mod-voice-card:has(.mod-voice-card__trigger:hover) {
    border-color: #F00000;
    box-shadow: 0 0 0 2px #F00000 inset;
  }
}
.mod-voice-list .mod-voice-card {
  width: 100%;
}
.cmn-container.--white .mod-voice-card {
  background-color: #F6F1EE;
  border: none;
}
.cmn-container.--white .mod-voice-card .mod-voice-card__icon {
  background-color: #FFFFFF;
}
.cmn-container.--brown .mod-voice-card {
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-container.--brown .mod-voice-card .mod-voice-card__icon {
  background-color: #F6F1EE;
}
.mod-voice-card__label {
  position: absolute;
  display: flex;
  justify-content: center;
  font-weight: 500;
  top: 1rem;
  left: -0.375rem;
  width: 8.75rem;
  height: 2.1875rem;
  background-image: url(../../../img/common/voice/img-label.svg);
  background-size: contain;
  background-repeat: no-repeat;
  color: #FFFFFF;
}
.mod-voice-card__header {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  padding-bottom: 1rem;
  position: relative;
}
.mod-voice-card__header::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #BD967C, #BD967C 1px, transparent 1px, transparent 4px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
.mod-voice-card__meta-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.mod-voice-card__icon {
  width: 4.375rem;
  height: 4.375rem;
  background-color: #F6F1EE;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
}
.mod-voice-card__meta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mod-voice-card__meta:has(.mod-voice-card__ttl) {
  gap: 0.5rem;
}
.mod-voice-card__ttl {
  font-size: 0.875rem;
  font-weight: 700;
}
.mod-voice-card__rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-voice-card__stars {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-voice-card__stars .icon-star {
  display: block;
  padding: 0.125rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F2B707;
  -webkit-mask-image: url(../../../img/common/voice/icon-star.svg);
          mask-image: url(../../../img/common/voice/icon-star.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-voice-card__stars .icon-star.--gray {
  background-color: #CCCCCC;
}
.mod-voice-card__score {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  color: #F2B707;
  line-height: 1;
}
.mod-voice-card__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding-bottom: 0.1875rem;
}
.mod-voice-card__tags span {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  color: #4D4D4D;
  background-color: #FFFFFF;
}
.mod-voice-card__agent span {
  font-size: 0.875rem;
}
.mod-voice-card__agent-label {
  display: flex;
  gap: 0.25rem;
}
.mod-voice-card__body {
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex-grow: 1;
}
.mod-voice-card__body.is-active .mod-voice-card__trigger .txt-open {
  display: none;
}
.mod-voice-card__body.is-active .mod-voice-card__trigger .txt-close {
  display: inline-block;
}
.mod-voice-card__body.is-active .mod-voice-card__trigger .u-mask-arrow {
  transform: rotate(270deg);
}
.mod-voice-card__text {
  font-size: 0.875rem;
}
.mod-voice-card__text[aria-hidden=true] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  word-break: break-all;
}
.mod-voice-card__text[aria-hidden=false] {
  display: block;
  overflow: visible;
}
.mod-voice-card__trigger {
  margin-top: auto;
  margin-left: auto;
  gap: 0.5rem;
  position: relative;
  z-index: 2;
}
.mod-voice-card__trigger span {
  font-size: 0.75rem;
  transition: color 0.3s ease-out;
}
.mod-voice-card__trigger .txt-close {
  display: none;
}
.mod-voice-card__trigger .u-mask-arrow {
  width: 0.4375rem;
  height: 0.75rem;
  transform: rotate(90deg);
}

/* mod-voice-grid
------------------------------------------------ */
.mod-voice-grid__panel {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-voice-grid__panel {
    margin-top: 2rem;
  }
}

/* mod-voice-back-btn
------------------------------------------------ */
.mod-voice-back-btn {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn {
    gap: 1.25rem;
  }
}
.mod-voice-back-btn__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn__wrap {
    gap: 1rem;
  }
}
.mod-voice-back-btn__btn {
  flex: 1;
  position: relative;
  background-color: #FFFFFF;
  text-align: center;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.5rem;
  padding-block: 1rem;
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-voice-back-btn__btn:hover {
    color: #F00000;
  }
}
.mod-voice-back-btn__btn:disabled {
  color: #CCCCCC;
  border-color: #CCCCCC;
}
.mod-voice-back-btn__btn:disabled .icon-arrow {
  background-color: #CCCCCC;
}
.mod-voice-back-btn__btn .icon-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.mod-voice-back-btn__btn.--prev .icon-arrow {
  left: 1.5rem;
  transform: translateY(-50%) rotate(180deg);
}
.mod-voice-back-btn__btn.--next .icon-arrow {
  right: 1.5rem;
}
.mod-voice-back-btn__pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn__pager {
    flex-direction: column-reverse;
    gap: 1.25rem;
    align-items: flex-end;
  }
}
.mod-voice-back-btn__pagination-wrap {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn__pagination-wrap {
    width: 100%;
    justify-content: space-between;
  }
}
.mod-voice-back-btn__pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-voice-back-btn__pagination li a,
.mod-voice-back-btn__pagination li span.is-current {
  font-family: "Lato", sans-serif;
  width: 2.375rem;
  height: 2.375rem;
  line-height: 1;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  display: flex;
  font-size: 0.875rem;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out, color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-voice-back-btn__pagination li a:hover {
    border-color: #F00000;
    background-color: #F00000;
    color: #FFFFFF;
  }
}
.mod-voice-back-btn__pagination li span.is-current {
  border-color: #F00000;
  background-color: #F00000;
  color: #FFFFFF;
}
.mod-voice-back-btn__pagination li span:not(.is-current) {
  font-family: "Lato", sans-serif;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 2.375rem;
  padding-bottom: 0.625rem;
}
.mod-voice-back-btn__pagination-btn {
  background-color: #000000;
}
.mod-voice-back-btn__pagination-btn .u-mask-arrow {
  width: 0.5rem;
  height: 0.8125rem;
}
.mod-voice-back-btn__pagination-btn:disabled {
  background-color: #CCCCCC;
}
.mod-voice-back-btn__pagination-btn.--prev {
  transform: rotate(180deg);
}

/* スライダー
------------------------------------------------ */
.mod-voice-slider .splide__slide {
  padding-left: 0.375rem;
  display: flex;
  flex-direction: column;
}
.mod-voice-slider .splide__slide .mod-voice-card {
  margin-left: 0;
}
.mod-voice-slider__btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-slider__btn-wrap {
    margin: 2rem 1rem 0;
  }
}

/* mod-voice-accordion
------------------------------------------------ */
.mod-voice-accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  transition: grid-template-rows 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-voice-accordion__body > div {
  min-height: 0;
  overflow: hidden;
}
.mod-voice-accordion__body[aria-hidden=false] {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
}
.mod-voice-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  padding: 1.5rem;
  position: relative;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-voice-accordion__trigger {
    padding: 1rem;
    width: 100%;
    border: none;
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' rx='9' ry='9' fill='none' stroke='%23808080' stroke-width='2' stroke-dasharray='1 3' /%3e%3c/svg%3e");
  }
}
.mod-voice-accordion__trigger[aria-expanded=true] {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-accordion__trigger[aria-expanded=true] {
    margin-top: 1.25rem;
  }
}
.mod-voice-accordion__trigger[aria-expanded=true] .open-text {
  display: none;
}
.mod-voice-accordion__trigger[aria-expanded=true] .close-text {
  display: inline;
}
.mod-voice-accordion__trigger[aria-expanded=true] .icon-trigger {
  transform: rotate(180deg);
}
.mod-voice-accordion__trigger[aria-expanded=true] .icon-trigger::before {
  transform: translate(-50%, -50%) rotate(90deg) scaleY(0);
  opacity: 0;
}
.mod-voice-accordion__trigger[aria-expanded=false] .open-text {
  display: inline;
}
.mod-voice-accordion__trigger[aria-expanded=false] .close-text {
  display: none;
}
.mod-voice-accordion__trigger .icon-trigger {
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background-color: #BD967C;
  position: relative;
  flex-shrink: 0;
  transition: background-color 0.3s ease-out, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.mod-voice-accordion__trigger .icon-trigger::before, .mod-voice-accordion__trigger .icon-trigger::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.625rem;
  height: 0.0625rem;
  border-radius: 624.9375rem;
  background-color: #FFFFFF;
  transform: translate(-50%, -50%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out;
}
.mod-voice-accordion__trigger .icon-trigger::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.mod-voice-accordion__trigger .icon-trigger::after {
  transform: translate(-50%, -50%);
}

/* =========================================================== */
/* カスタムスライダー */
/* =========================================================== */
@media (max-width: 48rem) {
  .mod-custom-slider {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    width: calc(100% + 2.5rem);
  }
}
.mod-custom-slider .splide__pagination {
  position: static;
  margin-top: 2rem;
  gap: 1.25rem;
}
.mod-custom-slider .splide__pagination__page {
  width: 0.625rem;
  height: 0.625rem;
  margin: 0;
}
.mod-custom-slider .splide__pagination__page.is-active {
  background-color: #F00000;
  transform: scale(1);
}

.mod-custom-slider__arrows {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-custom-slider__arrows {
    display: none;
  }
}

.mod-custom-slider__arrow-prev,
.mod-custom-slider__arrow-next {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  cursor: pointer;
  background: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.3s ease-out, background-color 0.3s ease-out;
}
.mod-custom-slider__arrow-prev .icon-arrow,
.mod-custom-slider__arrow-next .icon-arrow {
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-custom-slider__arrow-prev:hover:not(:disabled),
  .mod-custom-slider__arrow-next:hover:not(:disabled) {
    border-color: #F00000;
    background-color: #F00000;
  }
  .mod-custom-slider__arrow-prev:hover:not(:disabled) .icon-arrow,
  .mod-custom-slider__arrow-next:hover:not(:disabled) .icon-arrow {
    background-color: #FFFFFF;
  }
}
.mod-custom-slider__arrow-prev:disabled,
.mod-custom-slider__arrow-next:disabled {
  opacity: 0.5;
  cursor: default;
  border-color: #DDDDDD;
  background-color: #FFFFFF;
}
.mod-custom-slider__arrow-prev:disabled .icon-arrow,
.mod-custom-slider__arrow-next:disabled .icon-arrow {
  background-color: #CCCCCC;
}

.mod-custom-slider__arrow-prev .icon-arrow {
  transform: rotate(180deg);
}

/* =========================================================== */
/* 物件数と順序のコントロール */
/* =========================================================== */
/* mod-list-result
-------------------------------------------------------------------- */
.mod-list-result {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-list-result {
    justify-content: space-between;
    width: 100%;
  }
}
.mod-list-result.--full-width {
  width: 100%;
  justify-content: space-between;
}
.mod-list-result__num {
  display: flex;
  align-items: baseline;
}
.mod-list-result__num-txt {
  font-size: 1rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-list-result__num-txt {
    font-size: 0.875rem;
  }
}
.mod-list-result__num-hit {
  font-size: 2rem;
  flex-shrink: 0;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  margin: 0rem 0.375rem 0rem 0.5rem;
  position: relative;
  bottom: -0.0625rem;
  color: #CC0000;
}
@media (max-width: 48rem) {
  .mod-list-result__num-hit {
    font-size: 1.5rem;
  }
}
.mod-list-result__sort {
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
}
.mod-list-result__sort .icon-arrow {
  position: absolute;
  right: 1rem;
  transform: rotate(90deg);
}
.mod-list-result__sort select {
  padding: 0.5rem 2rem 0.5rem 1rem;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-list-result__sort select {
    border-radius: 0.5rem;
  }
}

/* =========================================================== */
/* ページネーション */
/* =========================================================== */
.mod-list-pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-list-pagination.--center {
  justify-content: center;
}
.mod-list-pagination .page-numbers {
  border-radius: 50%;
  width: 2.375rem;
  height: 2.375rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  background-color: #FFFFFF;
  border: 0.0625rem #DDDDDD solid;
  transition: border 0.3s ease-out, color 0.3s ease-out;
}
.mod-list-pagination .page-numbers.is-current {
  color: #FFFFFF;
  background-color: #F00000;
  border: 0.0625rem #F00000 solid;
}
@media (any-hover: hover) {
  .mod-list-pagination .page-numbers:not(.is-current):hover {
    border: 0.0625rem solid #F00000;
    background-color: #FFFFFF;
    color: #F00000;
  }
}
.mod-list-pagination .prev {
  margin-right: 1.5rem;
  transform: rotate(180deg);
}
.mod-list-pagination .next {
  margin-left: 1.5rem;
}
.mod-list-pagination .prev,
.mod-list-pagination .next {
  background-color: #000000;
}
.mod-list-pagination .prev.is-off,
.mod-list-pagination .next.is-off {
  background-color: #CCCCCC;
}
.mod-list-pagination .dots {
  margin: 0 0.5rem;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: 0.875rem;
}

/*===========================================================*/
/* 体験談 */
/*===========================================================*/
.mod-experiences {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-experiences {
    gap: unset;
    flex-direction: column;
  }
}

.mod-experiences__pickup,
.mod-experiences__list {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .mod-experiences__pickup,
  .mod-experiences__list {
    width: 100%;
  }
}

.mod-experiences__list .mod-experiences-card::after {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
@media (max-width: 48rem) {
  .mod-experiences__list .mod-experiences-card:first-child::before {
    display: block;
    content: "";
    height: 0.0625rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(to right, #808080 1px, transparent 1px);
    background-size: 0.25rem 0.0625rem;
    background-repeat: repeat-x;
  }
}
.mod-experiences__list .mod-experiences-card:first-child .mod-experiences-card__link {
  padding-top: unset;
}
@media (max-width: 48rem) {
  .mod-experiences__list .mod-experiences-card:first-child .mod-experiences-card__link {
    padding-top: 1.25rem;
  }
}
.mod-experiences__list .mod-experiences-card .mod-experiences-card__link {
  flex-direction: row;
  gap: 1.5rem;
  padding: 1.25rem 0;
}
@media (max-width: 48rem) {
  .mod-experiences__list .mod-experiences-card .mod-experiences-card__link {
    gap: 1rem;
  }
}

/* カード
-------------------------------------------------------------------- */
.mod-experiences-card {
  position: relative;
}
@media (any-hover: hover) {
  .mod-experiences-card:hover .mod-experiences-card__summary {
    color: #F00000;
  }
  .mod-experiences-card:hover .mod-experiences-card__img {
    transform: scale(1.08);
  }
}
.mod-experiences-card__link {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: 100%;
}
@media (max-width: 48rem) {
  .mod-experiences-card__link {
    gap: 1rem;
    padding-bottom: 1.25rem;
  }
}
.mod-experiences-card__img-wrap {
  width: 100%;
  aspect-ratio: 510/287;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
}
@media (max-width: 48rem) {
  .mod-experiences-card__img-wrap {
    aspect-ratio: 336/189;
  }
}
.mod-experiences__list .mod-experiences-card__img-wrap {
  height: -moz-fit-content;
  height: fit-content;
  width: 11.25rem;
  flex-shrink: 0;
  border-radius: 0.5rem;
  aspect-ratio: 180/101;
}
@media (max-width: 48rem) {
  .mod-experiences__list .mod-experiences-card__img-wrap {
    width: 7.9375rem;
    aspect-ratio: 127/71;
    border-radius: 0.25rem;
  }
}
.mod-experiences-card__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 510/287;
}
@media (max-width: 48rem) {
  .mod-experiences-card__img {
    aspect-ratio: 336/189;
  }
}
.mod-experiences__list .mod-experiences-card__img {
  aspect-ratio: 180/101;
}
@media (max-width: 48rem) {
  .mod-experiences__list .mod-experiences-card__img {
    aspect-ratio: 127/71;
  }
}
.mod-experiences-card__time {
  font-family: "Lato", sans-serif;
  color: #808080;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
}
.mod-experiences__list .mod-experiences-card__time {
  margin-bottom: 0.25rem;
}
.mod-experiences-card__summary {
  transition: color 0.3s ease-out;
  font-weight: bold;
  font-size: 1.125rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-experiences-card__summary {
    font-size: 1rem;
  }
}
.mod-experiences__list .mod-experiences-card__summary {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-experiences__list .mod-experiences-card__summary {
    font-size: 0.875rem;
  }
}
.mod-experiences-card__tag {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
}
.mod-experiences__list .mod-experiences-card__tag {
  margin-top: 0.75rem;
}
.mod-experiences-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #F2F2F2;
}

/* =========================================================== */
/* フォーム関連 */
/* =========================================================== */
/* 共通フォームスタイル
-------------------------------------------------------------------- */
.mod-form-page {
  border-bottom-right-radius: 1.875rem;
  padding: 2.5rem 0 3.75rem;
}
@media (max-width: 48rem) {
  .mod-form-page {
    padding: 1.25rem 0 3.125rem;
  }
}
.mod-form-page::before, .mod-form-page::after {
  content: "";
  display: block;
  width: 100%;
  height: 2.5rem;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
}
.mod-form-page::before {
  top: 0;
}
.mod-form-page::after {
  top: -2.5rem;
}
.mod-form-page:not(:first-of-type) {
  border-top-left-radius: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-form-page:not(:first-of-type) {
    border-top-left-radius: 1.5rem;
  }
}
.mod-form-page:not(:last-child) {
  border-bottom-right-radius: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-form-page:not(:last-child) {
    border-bottom-right-radius: 1.5rem;
  }
}
.mod-form-page.--brown {
  background-color: #F6F1EE;
}
.mod-form-page.--brown::after {
  background-color: #F6F1EE;
}
.mod-form-page.--white {
  background-color: #FFFFFF;
}
.mod-form-page.--white::after {
  background-color: #FFFFFF;
}
.mod-form-page + .cmn-container:not(:first-of-type), .mod-form-page + .cmn-container:not(:last-child) {
  padding: 5rem 0;
}
@media (max-width: 48rem) {
  .mod-form-page + .cmn-container:not(:first-of-type), .mod-form-page + .cmn-container:not(:last-child) {
    padding: 2.125rem 0;
  }
}
.mod-form-page__ttl {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-form-page__ttl {
    font-size: 1.125rem;
  }
}
.mod-form-page__ttl-img {
  width: 13.75rem;
  height: 9.25rem;
  border-radius: 0.75rem;
  overflow: hidden;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-form-page__ttl-img {
    width: 7.5rem;
    height: 5rem;
  }
}
@media (max-width: 30rem) {
  .mod-form-page__ttl-img {
    width: 6.375rem;
    height: 4.25rem;
  }
}
.mod-form-page__ttl-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-form-page__ttl-wrap {
  margin-bottom: 3.125rem;
}
@media (max-width: 48rem) {
  .mod-form-page__ttl-wrap {
    margin-bottom: 1.5rem;
  }
}
.mod-form-page__ttl-wrap.--with-img {
  display: flex;
  align-items: center;
  gap: 4.375rem;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-form-page__ttl-wrap.--with-img {
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.mod-form-page__ttl-wrap.--with-img .mod-form-page__ttl {
  text-align: left;
}
.mod-form-page__flow-wrap {
  max-width: 38.75rem;
  margin: 0 auto;
}
@media (max-width: 48rem) {
  .mod-form-page__flow-wrap {
    max-width: calc(100% - 0.25rem);
  }
}
@media (max-width: 48rem) {
  .mod-form-page__flow-wrap:has(.--items-4) {
    max-width: calc(100% - 2rem);
  }
}
.mod-form-page__flow {
  display: flex;
  position: relative;
}
.mod-form-page__flow::before {
  content: "";
  display: block;
  height: 0.1875rem;
  background-color: #C9D1CC;
  position: absolute;
  top: 0.75rem;
  left: 0.84375rem;
  right: 0.84375rem;
  z-index: 1;
}
@media (max-width: 48rem) {
  .mod-form-page__flow::before {
    top: 0.625rem;
    height: 0.125rem;
    left: 0.75rem;
    right: 0.75rem;
  }
}
.mod-form-page__flow::after {
  content: "";
  display: block;
  background-color: #4DAA14;
  height: 0.3125rem;
  position: absolute;
  top: 0.6875rem;
  z-index: 2;
  left: 0;
  width: 0;
  margin: 0 0.84375rem;
}
@media (max-width: 48rem) {
  .mod-form-page__flow::after {
    height: 0.1875rem;
    top: 0.625rem;
    margin: 0 0.75rem;
  }
}
.mod-form-page__flow {
  /* 3steps */
}
.mod-form-page__flow.--items-3.--step-1::after {
  width: calc(25% - 0.84375rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-3.--step-1::after {
    width: calc(25% - 0.75rem);
  }
}
.mod-form-page__flow.--items-3.--step-2::after {
  width: calc(75% - 1.5rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-3.--step-2::after {
    width: calc(75% - 1.125rem);
  }
}
.mod-form-page__flow.--items-3.--step-3::after {
  width: calc(100% - 1.6875rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-3.--step-3::after {
    width: calc(100% - 1.5rem);
  }
}
.mod-form-page__flow {
  /* 4steps */
}
.mod-form-page__flow.--items-4.--step-1::after {
  width: calc(16.665% - 0.84375rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-4.--step-1::after {
    width: calc(16.665% - 0.75rem);
  }
}
.mod-form-page__flow.--items-4.--step-2::after {
  width: calc(50% - 1rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-4.--step-2::after {
    width: calc(50% - 0.75rem);
  }
}
.mod-form-page__flow.--items-4.--step-3::after {
  width: calc(83.333% - 1.25rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-4.--step-3::after {
    width: calc(83.333% - 1.125rem);
  }
}
.mod-form-page__flow.--items-4.--step-4::after {
  width: calc(100% - 1.6875rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-4.--step-4::after {
    width: calc(100% - 1.5rem);
  }
}
.mod-form-page__flow {
  /* 5steps */
}
.mod-form-page__flow.--items-5.--step-1::after {
  width: calc(12.5% - 0.84375rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-5.--step-1::after {
    width: calc(12.5% - 0.75rem);
  }
}
.mod-form-page__flow.--items-5.--step-2::after {
  width: calc(37.5% - 1.5rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-5.--step-2::after {
    width: calc(37.5% - 1.125rem);
  }
}
.mod-form-page__flow.--items-5.--step-3::after {
  width: calc(62.5% - 1.5rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-5.--step-3::after {
    width: calc(62.5% - 1.125rem);
  }
}
.mod-form-page__flow.--items-5.--step-4::after {
  width: calc(87.5% - 1.5rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-5.--step-4::after {
    width: calc(87.5% - 1.125rem);
  }
}
.mod-form-page__flow.--items-5.--step-5::after {
  width: calc(100% - 1.6875rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow.--items-5.--step-5::after {
    width: calc(100% - 1.5rem);
  }
}
.mod-form-page__flow-item {
  flex: 1;
  position: relative;
  color: #7C8E82;
  font-size: 1.125rem;
  font-weight: bold;
  min-height: 3.75rem;
}
@media (max-width: 48rem) {
  .mod-form-page__flow-item {
    font-size: 0.875rem;
    min-height: 3.125rem;
  }
}
.mod-form-page__flow-item .mod-form-page__flow-icon {
  content: "";
  display: block;
  width: 1.6875rem;
  height: 1.6875rem;
  border-radius: 9999px;
  background-color: #E3E7E4;
  border: 2px solid #C9D1CC;
  position: absolute;
  top: 0;
  z-index: 3;
  box-sizing: border-box;
  background-clip: padding-box;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 48rem) {
  .mod-form-page__flow-item .mod-form-page__flow-icon {
    width: 1.5rem;
    height: 1.5rem;
    border-width: 0.0625rem;
  }
}
.mod-form-page__flow-item .mod-form-page__flow-text {
  display: block;
  position: absolute;
  top: 1.8125rem;
  left: 50%;
  transform: translateX(-50%);
  width: 6.25rem;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 48rem) {
  .mod-form-page__flow-item .mod-form-page__flow-text {
    top: 1.625rem;
  }
}
.mod-form-page__flow-item:first-child .mod-form-page__flow-icon {
  left: 0;
  transform: translateX(0);
}
.mod-form-page__flow-item:first-child .mod-form-page__flow-text {
  left: 0.84375rem;
}
@media (max-width: 48rem) {
  .mod-form-page__flow-item:first-child .mod-form-page__flow-text {
    left: 0.75rem;
  }
}
.mod-form-page__flow-item:last-child .mod-form-page__flow-icon {
  left: 100%;
  transform: translateX(-100%);
}
.mod-form-page__flow-item:last-child .mod-form-page__flow-text {
  left: calc(100% - 0.84375rem);
}
@media (max-width: 48rem) {
  .mod-form-page__flow-item:last-child .mod-form-page__flow-text {
    left: calc(100% - 0.75rem);
  }
}
.mod-form-page__flow-item::after {
  display: none;
}
.mod-form-page__flow-item {
  /* 4steps */
}
.--items-4 .mod-form-page__flow-item:nth-child(2) .mod-form-page__flow-icon {
  left: 33.3333%;
}
.--items-4 .mod-form-page__flow-item:nth-child(2) .mod-form-page__flow-text {
  left: 33.3333%;
}
.--items-4 .mod-form-page__flow-item:nth-child(3) .mod-form-page__flow-icon {
  left: 66.6666%;
}
.--items-4 .mod-form-page__flow-item:nth-child(3) .mod-form-page__flow-text {
  left: 66.6666%;
}
.mod-form-page__flow-item {
  /* 5steps */
}
.--items-5 .mod-form-page__flow-item:nth-child(2) .mod-form-page__flow-icon {
  left: 25%;
}
.--items-5 .mod-form-page__flow-item:nth-child(2) .mod-form-page__flow-text {
  left: 25%;
}
.--items-5 .mod-form-page__flow-item:nth-child(3) .mod-form-page__flow-icon {
  left: 50%;
}
.--items-5 .mod-form-page__flow-item:nth-child(3) .mod-form-page__flow-text {
  left: 50%;
}
.--items-5 .mod-form-page__flow-item:nth-child(4) .mod-form-page__flow-icon {
  left: 75%;
}
.--items-5 .mod-form-page__flow-item:nth-child(4) .mod-form-page__flow-text {
  left: 75%;
}
.--step-1 .mod-form-page__flow-item:nth-child(1) .mod-form-page__flow-icon, .--step-2 .mod-form-page__flow-item:nth-child(-n+2) .mod-form-page__flow-icon, .--step-3 .mod-form-page__flow-item:nth-child(-n+3) .mod-form-page__flow-icon, .--step-4 .mod-form-page__flow-item:nth-child(-n+4) .mod-form-page__flow-icon, .--step-5 .mod-form-page__flow-item:nth-child(-n+5) .mod-form-page__flow-icon {
  background-color: #4DAA14;
  background-image: url("../../../img/common/icon-check.svg");
  background-size: 1.0625rem 0.75rem;
  border: none;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .--step-1 .mod-form-page__flow-item:nth-child(1) .mod-form-page__flow-icon, .--step-2 .mod-form-page__flow-item:nth-child(-n+2) .mod-form-page__flow-icon, .--step-3 .mod-form-page__flow-item:nth-child(-n+3) .mod-form-page__flow-icon, .--step-4 .mod-form-page__flow-item:nth-child(-n+4) .mod-form-page__flow-icon, .--step-5 .mod-form-page__flow-item:nth-child(-n+5) .mod-form-page__flow-icon {
    background-size: 0.875rem 0.625rem;
  }
}
.--step-1 .mod-form-page__flow-item:nth-child(1) .mod-form-page__flow-text, .--step-2 .mod-form-page__flow-item:nth-child(-n+2) .mod-form-page__flow-text, .--step-3 .mod-form-page__flow-item:nth-child(-n+3) .mod-form-page__flow-text, .--step-4 .mod-form-page__flow-item:nth-child(-n+4) .mod-form-page__flow-text, .--step-5 .mod-form-page__flow-item:nth-child(-n+5) .mod-form-page__flow-text {
  color: #387C0E;
}

.mod-form-page.--white + .cmn-container::before {
  background-color: #FFFFFF;
}

.mod-form-page.--brown + .cmn-container::before {
  background-color: #F6F1EE;
}

/* 選択物件サマリー
-------------------------------------------------------------------- */
.mod-form-summary {
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-summary {
    margin-top: 1.25rem;
  }
}
.mod-form-summary__ttl {
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-form-summary__ttl {
    margin-bottom: 0.75rem;
  }
}
.mod-form-summary__ttl .font-large {
  padding-inline: 0.5rem;
  font-size: 2rem;
  font-weight: 700;
  color: #CC0000;
}
@media (max-width: 48rem) {
  .mod-form-summary__ttl .font-large {
    font-size: 1.5rem;
    padding-inline: 0.25rem;
  }
}
.mod-form-summary__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  transition: height 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-form-summary__list {
    gap: 1rem;
  }
}
.mod-form-summary__list .mod-form-summary__list-item:nth-child(n+2) {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  transition: opacity 0.3s ease-out;
}
.mod-form-summary__trigger {
  margin: 1.75rem auto 0;
}
@media (max-width: 48rem) {
  .mod-form-summary__trigger {
    margin: 1.25rem auto 0;
  }
}
.mod-form-summary__trigger.cmn-txt-link .txt-close {
  display: none;
}
.mod-form-summary__trigger.cmn-txt-link .txt-open {
  display: block;
}
.mod-form-summary__trigger.cmn-txt-link .u-mask-arrow {
  transform: rotate(90deg);
  transition: transform 0.3s ease-out;
}
.mod-form-summary.is-active .mod-form-summary__list .mod-form-summary__list-item:nth-child(n+2) {
  opacity: 1;
  visibility: visible;
  position: relative;
}
.mod-form-summary.is-active .mod-form-summary__trigger.cmn-txt-link .txt-open {
  display: none;
}
.mod-form-summary.is-active .mod-form-summary__trigger.cmn-txt-link .txt-close {
  display: block;
}
.mod-form-summary.is-active .mod-form-summary__trigger.cmn-txt-link .u-mask-arrow {
  transform: rotate(-90deg);
}

/* 選択物件カード */
.mod-form-summary-card {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  padding: 1.25rem;
  width: 100%;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.15);
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .mod-form-summary-card {
    display: grid;
    grid-template-columns: 6.375rem 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 0rem 1rem;
    padding: 1rem;
  }
}
.mod-form-summary-card__image {
  border-radius: 0.75rem;
  width: 12.25rem;
  height: 8.125rem;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__image {
    width: 6.375rem;
    height: 4.25rem;
    grid-row: 3/5;
    grid-column: 1/2;
    align-self: start;
  }
}
.mod-form-summary-card__info {
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__info {
    display: contents;
  }
}
.mod-form-summary-card__type {
  font-size: 0.75rem;
  margin-bottom: 0.375rem;
  background-color: #F2F2F2;
  color: #4D4D4D;
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__type {
    font-size: 0.625rem;
    margin-bottom: 0.5rem;
    border-radius: 0.125rem;
    grid-row: 1/2;
    grid-column: 1/3;
  }
}
.mod-form-summary-card__name {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__name {
    font-size: 1rem;
    margin-bottom: 1rem;
    grid-row: 2/3;
    grid-column: 1/3;
    line-height: 1.25;
  }
}
.mod-form-summary-card__price {
  color: #CC0000;
  margin-bottom: 0.625rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__price {
    margin-bottom: 0.5rem;
    grid-row: 3/4;
    grid-column: 2/3;
  }
}
.mod-form-summary-card__price .font-large {
  font-size: 1.75rem;
  font-weight: 900;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__price .font-large {
    font-size: 1.5rem;
  }
}
.mod-form-summary-card__details {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__details {
    flex-direction: column;
    gap: 0.25rem;
    grid-row: 4/5;
    grid-column: 2/3;
    line-height: 1.5;
  }
}
.mod-form-summary-card__details-item {
  font-size: 0.875rem;
  padding-right: 0.5rem;
  display: flex;
  gap: 0.5rem;
}
.mod-form-summary-card__details-item:not(:last-child) {
  border-right: 1px solid #CCCCCC;
}
@media (max-width: 48rem) {
  .mod-form-summary-card__details-item:not(:last-child) {
    border-right: none;
  }
}
.mod-form-summary-card__details-label {
  font-weight: 500;
  color: #808080;
  flex-shrink: 0;
}

/* セレクション関連のお問い合わせで使用
    どこでも使用する可能性があるためmodules-msには入れない
-------------------------------------------------------------------- */
.mod-form-selection__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 3.125rem;
}
@media (max-width: 48rem) {
  .mod-form-selection__head {
    margin-bottom: 1.5rem;
  }
}
.mod-form-selection__ttl {
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-form-selection__ttl {
    font-size: 1.125rem;
  }
}
.mod-form-selection__img-wrap {
  width: 20rem;
  aspect-ratio: 3/2;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-form-selection__img-wrap {
    width: 6.375rem;
  }
}
.mod-form-selection__img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.75rem;
}

/* 組合員様の特典
-------------------------------------------------------------------- */
.mod-form-benefit {
  width: 100%;
  padding: 2.5rem 2rem;
  border: 1px solid #CCCCCC;
  border-radius: 0.75rem;
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-form-benefit {
    padding: 1.5rem 1rem;
  }
}
.mod-form-benefit__ttl-wrap {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-form-benefit__ttl-wrap {
    margin-bottom: 1.5rem;
  }
}
.mod-form-benefit__ttl {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-form-benefit__ttl {
    font-size: 1rem;
  }
}
.mod-form-benefit__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-benefit__list {
    gap: 1rem;
  }
}
.mod-form-benefit__list-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mod-form-benefit__list-item dt {
  font-weight: 700;
}
.mod-form-benefit__list-item dd {
  line-height: 1.5;
  padding-left: 3rem;
}
@media (max-width: 48rem) {
  .mod-form-benefit__list-item dd {
    padding-left: 1rem;
  }
}
.mod-form-benefit__list-item dd .note {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #808080;
}
@media (max-width: 48rem) {
  .mod-form-benefit__list-item dd .note {
    font-size: 0.75rem;
  }
}

/* Myページ登録
-------------------------------------------------------------------- */
.mod-form-mypage-register {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  margin-bottom: 4.375rem;
  isolation: isolate;
}
@media (max-width: 48rem) {
  .mod-form-mypage-register {
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }
}
.mod-form-mypage-register__btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background-color 0.3s ease-out;
  min-height: 4.375rem;
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn {
    min-height: 3.5rem;
  }
}
.mod-form-mypage-register__btn.--register {
  position: relative;
  background-color: #F6F1EE;
  border: 1px solid #D8C3B4;
  font-size: 1.125rem;
  width: 100%;
  border-radius: 0.5rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn.--register {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-form-mypage-register__btn.--register:hover {
    background-color: #D8C3B4;
  }
  .mod-form-mypage-register__btn.--register:hover[aria-selected=true]::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.414 13.207'%3E%3Cpath d='M12,0,0,12,12,24Z' transform='translate(1.207 12.5) rotate(-90)' fill='%23D8C3B4' stroke='%23D8C3B4' stroke-width='1'/%3E%3C/svg%3E");
  }
  .mod-form-mypage-register__btn.--register:hover[aria-selected=true]::after {
    background-color: #D8C3B4;
  }
}
.mod-form-mypage-register__btn.--register[aria-selected=true]::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: -0.6875rem;
  left: 50%;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  transition: background-image 0.3s ease-out;
  width: 1.5rem;
  height: 0.75rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.414 13.207'%3E%3Cpath d='M12,0,0,12,12,24Z' transform='translate(1.207 12.5) rotate(-90)' fill='%23F6F1EE' stroke='%23D8C3B4' stroke-width='1'/%3E%3C/svg%3E");
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn.--register[aria-selected=true]::before {
    bottom: -0.46875rem;
    width: 1rem;
    height: 0.5rem;
  }
}
.mod-form-mypage-register__btn.--register[aria-selected=true]::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  bottom: -0.0625rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1.21875rem;
  height: 0.125rem;
  background-color: #F6F1EE;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn.--register[aria-selected=true]::after {
    width: 0.6875rem;
    height: 0.125rem;
  }
}
.mod-form-mypage-register__btn.--login {
  position: relative;
  background-color: #E3E7E4;
  border-radius: 0.5rem;
  min-width: 18.125rem;
  font-weight: 400;
  text-align: center;
  flex-shrink: 0;
  gap: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn.--login {
    min-width: 7.5rem;
    font-size: 0.75rem;
    gap: 0.125rem;
  }
}
.mod-form-mypage-register__btn.--login .font-large {
  font-weight: 700;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn.--login .font-large {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-form-mypage-register__btn.--login:hover {
    background-color: #808080;
  }
  .mod-form-mypage-register__btn.--login:hover[aria-selected=true]::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.414 13.207'%3E%3Cpath d='M12,0,0,12,12,24Z' transform='translate(1.207 12.5) rotate(-90)' fill='%23808080'/%3E%3C/svg%3E");
  }
}
.mod-form-mypage-register__btn.--login[aria-selected=true]::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: -0.6875rem;
  left: 50%;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  transition: background-image 0.3s ease-out;
  width: 1.5rem;
  height: 0.75rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.414 13.207'%3E%3Cpath d='M12,0,0,12,12,24Z' transform='translate(1.207 12.5) rotate(-90)' fill='%23E3E7E4'/%3E%3C/svg%3E");
}
@media (max-width: 48rem) {
  .mod-form-mypage-register__btn.--login[aria-selected=true]::before {
    bottom: -0.46875rem;
    width: 1rem;
    height: 0.5rem;
  }
}

/* -------------------------------------------------------------------- */
.mod-form-content:not(:last-child) {
  margin-bottom: 5rem;
}
@media (max-width: 48rem) {
  .mod-form-content:not(:last-child) {
    margin-bottom: 2rem;
  }
}
.mod-form-content__text {
  margin-bottom: 2rem;
}
.mod-form-content__text-link {
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-form-content__text-link:hover {
    text-decoration: none;
    opacity: 0.5;
  }
}
.mod-form-content__btn-wrap {
  display: flex;
  justify-content: center;
}

.mod-form-list__item {
  display: grid;
  grid-template-columns: 18.125rem 1fr;
  border-top: 1px solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-form-list__item {
    display: flex;
    flex-direction: column;
  }
}
.mod-form-list__item:last-of-type {
  border-bottom: 1px solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-form-list__item:last-of-type:not(.--border-bottom) {
    border-bottom: none;
  }
}
.mod-form-list__item label[for] {
  width: -moz-fit-content;
  width: fit-content;
}
.mod-form-list__item dt {
  font-weight: bold;
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 2rem 1.25rem;
  background-color: #F5F4F0;
}
@media (max-width: 48rem) {
  .mod-form-list__item dt {
    padding: 1rem;
  }
}
.mod-form-list__item dt.--align-center {
  align-items: center;
}
.mod-form-list__item dt .mod-form-list__ttl {
  flex: 1;
  min-width: 13.0625rem;
}
@media (max-width: 48rem) {
  .mod-form-list__item dt .mod-form-list__ttl {
    width: 100%;
    flex: auto;
    min-width: auto;
  }
}
.mod-form-list__item dt .mod-form-list__badge {
  width: 2.0625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  letter-spacing: 0.01em;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.0625rem 0.25rem 0.125rem;
  border-radius: 0.125rem;
  flex-shrink: 0;
}
.mod-form-list__item dt .--required {
  background-color: #E83434;
}
.mod-form-list__item dt .--optional {
  background-color: #808080;
}
.mod-form-list__item dt .--success {
  background-color: #4DAA14;
}
.mod-form-list__item dd {
  width: 100%;
  padding: 2rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-form-list__item dd {
    padding: 1.5rem 1rem;
  }
}
.mod-form-list__field {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-form-list__field {
    gap: 1rem;
  }
}
.mod-form-list__field.--gap-xs {
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-form-list__field.--gap-xs {
    gap: 0.875rem;
  }
}
.mod-form-list__field.--gap-s {
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-form-list__field.--gap-s {
    gap: 0.875rem;
  }
}
.mod-form-list__field.--gap-s-static {
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-form-list__field.--gap-s-static {
    gap: 0.75rem;
  }
}
.mod-form-list__field.--gap-l {
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-list__field.--gap-l {
    gap: 1.5rem;
  }
}
.mod-form-list__field.--gap-mixed {
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-form-list__field.--gap-mixed {
    gap: 0;
  }
  .mod-form-list__field.--gap-mixed p + .mod-form-list__note {
    margin-top: 0.875rem;
  }
  .mod-form-list__field.--gap-mixed .mod-form-list__note + * {
    margin-top: 1.5rem;
  }
}
.mod-form-list__field.--checkbox, .mod-form-list__field.--radio {
  font-size: 0.875rem;
}
.mod-form-list__field.--checkbox > label > span:first-child, .mod-form-list__field.--radio > label > span:first-child {
  flex-shrink: 0;
}
.mod-form-list__field.--checkbox label:has(input[type=checkbox]) + *,
.mod-form-list__field.--checkbox input[type=radio] + label + *, .mod-form-list__field.--radio label:has(input[type=checkbox]) + *,
.mod-form-list__field.--radio input[type=radio] + label + * {
  margin-left: 2rem;
}
.mod-form-list__field .mod-form-list__note,
.mod-form-list__field .mod-form-required__error {
  margin-top: 0;
}
.mod-form-list__text {
  font-size: 1rem;
}
.mod-form-list__note {
  font-size: 0.875rem;
}
.mod-form-list__note.text-right {
  text-align: right;
}
.mod-form-list__note.--red {
  color: #F00000;
}
.mod-form-list__note.--gray {
  color: #808080;
}
.mod-form-list__note-link {
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-form-list__note-link:hover {
    text-decoration: none;
    opacity: 0.5;
  }
}
.mod-form-list__password-text {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-form-list__password-text {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-list__password-text .cmn-txt-link {
    margin-left: auto;
  }
}
.mod-form-list__composite {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-form-list__composite {
    flex-direction: column;
    gap: 1.5rem;
    align-items: stretch;
  }
}

/* 注意事項
-------------------------------------------------------------------- */
.mod-form-warning {
  text-align: center;
  background-color: #F4E2E2;
  border: 1px solid #D98F8F;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-form-warning {
    padding: 1rem;
    font-size: 1rem;
    text-align: start;
  }
}
.mod-form-warning__wrap {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-form-warning__wrap {
    margin-bottom: 1.5rem;
  }
}
.mod-form-warning__ttl {
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-align: start;
}
.mod-form-warning__text {
  line-height: 1.5;
  text-align: start;
}
.mod-form-warning__text.--s {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-form-warning__text.--s {
    font-size: 0.875rem;
  }
}

/* プライバシー
-------------------------------------------------------------------- */
.mod-form-privacy-inner {
  padding: 2rem;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: 1px solid #CCCCCC;
}
@media (max-width: 48rem) {
  .mod-form-privacy-inner {
    padding: 1.5rem 1rem;
  }
}
.mod-form-privacy__ttl {
  font-size: 1.125rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-form-privacy__ttl {
    font-size: 1rem;
  }
}
.mod-form-privacy__text {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-form-privacy__text {
    font-size: 0.875rem;
  }
}
.mod-form-privacy__link {
  color: #F00000;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .mod-form-privacy__link:hover {
    text-decoration: none;
  }
}
.mod-form-privacy__links {
  display: flex;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-form-privacy__links {
    flex-direction: column;
    gap: 1rem;
  }
}

/* 送信ボタン
-------------------------------------------------------------------- */
.mod-form-submit-btn__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-form-submit-btn__container {
    gap: 1rem;
    margin-top: 2rem;
  }
}

.mod-form-submit-btn__wrap {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-submit-btn__wrap {
    gap: 1rem;
    flex-direction: column-reverse;
  }
}

.mod-form-submit-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #FFFFFF;
  line-height: 1.4;
  padding: 0.625rem;
  max-width: 25rem;
  min-height: 4.125rem;
  font-weight: 500;
  width: 100%;
  border-radius: 624.9375rem;
  background-color: #808080;
  position: relative;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-form-submit-btn {
    font-size: 1.125rem;
    padding: 0.75rem;
    max-width: 100%;
    min-height: 3.625rem;
  }
}
.mod-form-submit-btn::after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 0.5rem;
  height: 0.8125rem;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .mod-form-submit-btn::after {
    right: 1rem;
  }
}
.mod-form-submit-btn .fs {
  font-size: 1rem;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .mod-form-submit-btn .fs {
    font-size: 0.875rem;
  }
}
.mod-form-submit-btn.mod-form-required__ready {
  pointer-events: auto;
  background-color: #F00000;
}
@media (any-hover: hover) {
  .mod-form-submit-btn.mod-form-required__ready:hover {
    background-color: #AF0808;
  }
}
.mod-form-submit-btn.mod-form-required__ready.--login {
  background-color: #020055;
}
@media (any-hover: hover) {
  .mod-form-submit-btn.mod-form-required__ready.--login:hover {
    background-color: #3A397B;
  }
}

/* ポップアップ
-------------------------------------------------------------------- */
.mod-form-popup__wrapper .mod-form-popup__overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(43, 46, 56, 0.9);
  z-index: 2000;
}
.mod-form-popup__wrapper .mod-form-popup__content {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #FFFFFF;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  z-index: 2001;
  box-sizing: border-box;
}
.mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__close {
  position: absolute;
  top: -2.25rem;
  right: 0;
  width: 3.375rem;
  height: 2.25rem;
  border: none;
  background-color: #000000;
  cursor: pointer;
  transition: opacity 0.3s;
  font-size: 0;
  color: transparent;
}
.mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__close::before, .mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__close::after {
  content: "";
  position: absolute;
  background-color: #FFFFFF;
  width: 1.5625rem;
  height: 0.1875rem;
  transform-origin: center center;
}
.mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__close::before {
  top: 48%;
  left: 26%;
  transform: rotate(134.93deg);
}
.mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__close::after {
  top: 48%;
  left: 26%;
  transform: rotate(-134.93deg);
}
@media (any-hover: hover) {
  .mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__close:hover {
    opacity: 0.8;
  }
}
.mod-form-popup__wrapper .mod-form-popup__content .mod-form-popup__inner {
  padding: 4rem 5.5rem;
  text-align: center;
  color: #333;
  font-family: "Yu Gothic", YuGothic, NotoSansJP, sans-serif;
}
.mod-form-popup__wrapper .mod-form-popup__header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.mod-form-popup__wrapper .mod-form-popup__header .mod-form-popup__ill {
  width: 6rem;
  height: 5.5625rem;
}
.mod-form-popup__wrapper .mod-form-popup__title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: start;
}
.mod-form-popup__wrapper .mod-form-popup__title span {
  display: inline-block;
  position: relative;
}
.mod-form-popup__wrapper .mod-form-popup__title span::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.3125rem;
  background-color: #FAABAA;
  border-radius: 9999px;
  position: absolute;
  bottom: 13%;
  z-index: -1;
}
.mod-form-popup__wrapper .mod-form-popup__body {
  width: 100%;
  overflow: hidden;
  border-radius: 0.25rem;
  border: 1px solid #CCCCCC;
}
.mod-form-popup__wrapper .mod-form-popup__desk-name {
  background-color: #F6F1EE;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.mod-form-popup__wrapper .mod-form-popup__contact-info {
  padding: 1rem 2.875rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.mod-form-popup__wrapper .mod-form-popup__phone {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.mod-form-popup__wrapper .mod-form-popup__phone .mod-form-popup__phone-icon {
  width: 2.1875rem;
  height: 2.4375rem;
}
.mod-form-popup__wrapper .mod-form-popup__phone .mod-form-popup__phone-number {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-form-popup__wrapper .mod-form-popup__phone .mod-form-popup__phone-number:hover {
    opacity: 0.5;
  }
}
.mod-form-popup__wrapper .mod-form-popup__hours {
  font-weight: 500;
  font-size: 0.875rem;
}

/* フッター
-------------------------------------------------------------------- */
.mod-form-footer {
  border-top: 1px solid #DDDDDD;
}
.mod-form-footer__inner {
  padding: 2.5rem 1.625rem;
}
@media (max-width: 48rem) {
  .mod-form-footer__inner {
    padding: 1.25rem 1rem;
  }
}
.mod-form-footer__copy {
  text-align: center;
}
.mod-form-footer__copy-text {
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  line-height: 2;
}
@media (max-width: 48rem) {
  .mod-form-footer__copy-text {
    font-size: 0.625rem;
    line-height: 2.8;
  }
}

/* 入力
-------------------------------------------------------------------- */
.mod-form-input__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.mod-form-input__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-input__group {
    gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-form-input__group.--text-group {
  gap: 2rem;
}
@media (max-width: 48rem) {
  .mod-form-input__group.--text-group {
    gap: 1rem;
  }
}
.mod-form-input__group.--text-group .mod-form-input__item {
  max-width: -moz-max-content;
  max-width: max-content;
}
@media (max-width: 48rem) {
  .mod-form-input__group.--text-group .mod-form-input__item {
    max-width: 100%;
  }
}
.mod-form-input__group.--radio-group {
  gap: 1rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-form-input__group.--radio-group {
    gap: 1.5rem;
  }
}
.mod-form-input__group.--radio-group .mod-form-input__item {
  max-width: -moz-max-content;
  max-width: max-content;
}
.mod-form-input__group.--checkbox-group {
  gap: 1rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-form-input__group.--checkbox-group {
    gap: 1.25rem;
  }
}
.mod-form-input__group.--checkbox-group .mod-form-input__item {
  max-width: -moz-max-content;
  max-width: max-content;
}
.mod-form-input__group:has(.--with-description) {
  align-items: flex-start;
}
.mod-form-input__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-form-input__item {
    width: 100%;
  }
}
.mod-form-input__item dd {
  width: 100%;
  padding: 2rem 2.5rem;
}
.mod-form-input__item .unit {
  flex-shrink: 0;
}
.mod-form-input__item label {
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
}

.mod-form-input__select-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-form-input__select-wrapper {
    gap: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-input__select-wrapper > * {
    flex: 1;
  }
}

.mod-form-input__select-item label {
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
}

.mod-form-input__action-group {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-input__action-group {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0;
  }
  .mod-form-input__action-group * + .form-list__note {
    margin-top: 0.875rem;
  }
  .mod-form-input__action-group .form-list__note + * {
    margin-top: 1rem;
  }
}

.mod-form-input__radio-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.mod-form-input__radio-description {
  padding: 0.75rem 1.25rem;
  background-color: #F6F1EE;
  border-radius: 0.5rem;
  max-width: 14.1875rem;
  width: 100%;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-form-input__radio-description {
    max-width: 100%;
  }
}
.mod-form-input__radio-description.--reccomend::after {
  content: "おすすめ";
  display: block;
  position: absolute;
  top: -0.375rem;
  right: 0rem;
  padding: 0.125rem 0.5rem;
  border-radius: 624.9375rem;
  font-size: 0.625rem;
  line-height: 1;
  background-color: #AF0808;
  color: #FFFFFF;
}
.mod-form-input__radio-description .mod-form-input__radio-description-text {
  font-size: 0.75rem;
  line-height: 1.5;
}

.mod-form-input__action-btn {
  font-size: 0.875rem;
  font-weight: bold;
  white-space: nowrap;
  line-height: 1;
  padding: 1rem 1.5rem;
  border-radius: 624.9375rem;
  border: 1px solid #CCCCCC;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-form-input__action-btn:hover {
    border: 1px solid #F00000;
    color: #F00000;
  }
}
@media (max-width: 48rem) {
  .mod-form-input__action-btn {
    font-size: 0.875rem;
    padding: 0.625rem 1rem;
  }
}

.mod-form-input__float {
  position: fixed;
  display: flex;
  gap: 0.375rem;
  bottom: 7.1875rem;
  left: 0;
  transform: translateX(-3px);
  background-color: #4DAA14;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  color: #FFFFFF;
  max-width: -moz-max-content;
  max-width: max-content;
  z-index: 999;
  border: 3px solid #FFFFFF;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-form-input__float {
    bottom: 1rem;
  }
}
.mod-form-input__float.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.mod-form-input__float-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 1rem 1rem 0.625rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-form-input__float-inner {
    padding: 0.5rem 0.875rem 0.5rem 0.625rem;
    font-size: 0.75rem;
    line-height: 1.25;
  }
}
.mod-form-input__float .mod-form-required__input-float {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}
.mod-form-input__float .mod-form-required__clear {
  font-size: 2.5rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mod-form-input__float .mod-form-required__clear {
    font-size: 1.5rem;
  }
}
.mod-form-input__float .mod-form-required__total {
  font-size: 1.25rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mod-form-input__float .mod-form-required__total {
    font-size: 1rem;
  }
}
.mod-form-input__float .mod-form-required__total::before {
  content: "/";
  display: inline-block;
  padding-right: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-form-input__float .mod-form-required__total::before {
    font-size: 1rem;
  }
}

/* アラート
--------------------------------------------------*/
.mod-form-input__alert-wrap {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-form-input__alert-wrap {
    margin-bottom: 1.5rem;
  }
}

.mod-form-input__alert {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid #F00000;
  border-radius: 0.5rem;
  padding: 1.5rem 1.25rem;
  font-weight: 700;
  color: #F00000;
}
@media (max-width: 48rem) {
  .mod-form-input__alert {
    padding: 1rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
    align-items: flex-start;
  }
}
.mod-form-input__alert__icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../../../img/common/icon-alert.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 48rem) {
  .mod-form-input__alert__icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.mod-text-count {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  text-align: end;
}
@media (max-width: 48rem) {
  .mod-text-count {
    margin-top: 0.875rem;
  }
}

.mod-form-required__error {
  display: none;
  margin-top: 0.5rem;
  color: #F00000;
  font-size: 0.875rem;
}
.mod-form-required__error.mod-form-required__error-active {
  display: block;
}

.mod-toggle-content__hidden {
  display: none !important;
}

/* 確認
-------------------------------------------------------------------- */
.mod-form-confirm__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.mod-form-confirm__text.fb {
  font-weight: 700;
}

.mod-form-confirm__result {
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-form-confirm__result {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.mod-form-confirm__result .fb {
  font-weight: 700;
}
.mod-form-confirm__result .txt-s {
  font-size: 0.75rem;
}
.mod-form-confirm__result .txt-m {
  font-size: 1.375rem;
}
.mod-form-confirm__result .txt-l {
  font-size: 2rem;
}

.mod-form-confirm__submit-btn {
  line-height: 1.4;
  border-radius: 2rem;
  padding: 1.125rem 2rem;
  display: flex;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: 1.25rem;
  font-weight: 700;
  min-height: 4.125rem;
  color: #FFFFFF;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  width: 25rem;
}
@media (max-width: 48rem) {
  .mod-form-confirm__submit-btn {
    width: 100%;
    font-size: 1.125rem;
    min-height: 3.625rem;
    padding: 1rem 1.5rem;
  }
}
.mod-form-confirm__submit-btn.--tertiary {
  width: 18.75rem;
  font-size: 1.125rem;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .mod-form-confirm__submit-btn.--tertiary {
    width: 15.625rem;
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.875rem 1.25rem;
  }
}
.mod-form-confirm__submit-btn.--red {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .mod-form-confirm__submit-btn.--red:not(:disabled):hover {
    background-color: #AF0808;
  }
}
.mod-form-confirm__submit-btn.--tertiary.--black {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.mod-form-confirm__submit-btn.--tertiary.--black .mod-form-confirm__submit-btn__icon {
  background-color: #000000;
}
@media (any-hover: hover) {
  .mod-form-confirm__submit-btn.--tertiary.--black:not(:disabled):hover {
    color: #F00000;
    border: 0.0625rem solid #F00000;
  }
  .mod-form-confirm__submit-btn.--tertiary.--black:not(:disabled):hover .mod-form-confirm__submit-btn__icon {
    background-color: #F00000;
  }
}
.mod-form-confirm__submit-btn__icon {
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1.5rem;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-form-confirm__submit-btn__icon {
    right: 1.5rem;
  }
}
.mod-form-confirm__submit-btn__icon.--return {
  transform: rotate(180deg);
  left: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-form-confirm__submit-btn__icon.--return {
    left: 1.5rem;
  }
}

/* 完了
-------------------------------------------------------------------- */
.mod-form-finish__container {
  margin-bottom: 4rem;
}
@media (max-width: 48rem) {
  .mod-form-finish__container {
    margin-bottom: 2.5rem;
  }
}

.mod-form-finish__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-form-finish__inner {
    gap: 0.625rem;
  }
}

.mod-form-finish__ttl {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-form-finish__ttl {
    font-size: 1rem;
    line-height: 1.75;
  }
}

.mod-form-finish__text {
  width: 100%;
  font-size: 1.125rem;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-form-finish__text {
    font-size: 0.875rem;
    text-align: left;
  }
}
.mod-form-finish__text.font-red {
  color: #F00000;
}

/* 事務所情報
-------------------------------------------------------------------- */
.mod-form-finish {
  /* ポイント
  -------------------------------------------------------------------- */
}
.mod-form-finish__points-wrapper {
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  padding: 2rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-form-finish__points-wrapper {
    padding: 1.5rem 1rem;
  }
}
.mod-form-finish__points-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-form-finish__points-list {
    gap: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-list {
    flex-direction: column;
  }
}
.mod-form-finish__points-list > li {
  position: relative;
  width: calc((100% - 5rem) / 3);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-form-finish__points-list > li {
    width: calc((100% - 3rem) / 3);
    gap: 1.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-list > li {
    width: 100%;
  }
}
.mod-form-finish__points-list > li:not(:last-child) {
  position: relative;
  padding-right: 2.5rem;
}
.mod-form-finish__points-list > li:not(:last-child)::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 0.0625rem;
  background-image: linear-gradient(to bottom, #808080 1px, transparent 1px);
  background-size: 0.0625rem 0.25rem;
  background-repeat: repeat-y;
}
@media (max-width: 66.25rem) {
  .mod-form-finish__points-list > li:not(:last-child) {
    padding-right: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-list > li:not(:last-child) {
    padding-right: 0;
    padding-bottom: 1.5rem;
  }
  .mod-form-finish__points-list > li:not(:last-child)::before {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: 0.0625rem;
    background-image: linear-gradient(to right, #808080 1px, transparent 1px);
    background-size: 0.25rem 0.0625rem;
    background-repeat: repeat-x;
  }
}
.mod-form-finish__points-img {
  height: 14.0625rem;
  margin-inline: auto;
}
@media (max-width: 66.25rem) {
  .mod-form-finish__points-img {
    height: auto;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-img {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-img:nth-child(2) {
    height: 13.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-img:nth-child(3) {
    height: 11.25rem;
  }
}
.mod-form-finish__points-body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.mod-form-finish__points-ttl {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}
@media (max-width: 66.25rem) {
  .mod-form-finish__points-ttl {
    gap: 0.625rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__points-ttl {
    gap: 1rem;
  }
}
.mod-form-finish__points-ttl .point {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #F00000;
  margin-top: 0.25rem;
}
.mod-form-finish__points-ttl .point-label {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 0.875rem;
  line-height: 1;
}
.mod-form-finish__points-ttl .point-num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  line-height: 1;
}
.mod-form-finish__points-ttl-text {
  font-size: 1rem;
  font-weight: 700;
}
.mod-form-finish__points-text {
  font-size: 0.875rem;
  line-height: 1.5;
}

.mod-form-finish {
  /* 引き続きこちらをご利用ください
  -------------------------------------------------------------------- */
}
.mod-form-finish__continue-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  filter: drop-shadow(0px 5px 12px rgba(0, 0, 0, 0.08));
  overflow: hidden;
}
.mod-form-finish__continue-inner {
  background-color: #EEE6E0;
  padding: 1.25rem 2rem;
  text-align: center;
  width: 100%;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-form-finish__continue-inner {
    font-size: 1rem;
    padding: 0.625rem 1.25rem;
    font-weight: 700;
  }
}
.mod-form-finish__continue-links {
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  background-color: #FFFFFF;
  padding: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-form-finish__continue-links {
    gap: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-form-finish__continue-links {
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem 1rem;
  }
}

/*===========================================================*/
/* レコメンドカード */
/*===========================================================*/
.mod-recommend-card {
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-recommend-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-recommend-card:hover .mod-recommend-card__ttl {
    text-decoration: underline;
  }
  .mod-recommend-card:hover .mod-recommend-card__img {
    transform: scale(1.08);
  }
}
.cmn-container.--white .mod-recommend-card, .cmn-container.--white02 .mod-recommend-card {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
}
@media (any-hover: hover) {
  .cmn-container.--white .mod-recommend-card:hover, .cmn-container.--white02 .mod-recommend-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.24);
  }
}
.mod-recommend-card__tag {
  z-index: 2;
  pointer-events: none;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: calc(100% - 2.25rem - 0.5rem - 0.5rem - 1rem);
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  align-items: center;
}
.mod-recommend-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0.6);
}
.mod-recommend-card__tag-item.--new {
  background-color: #4FA719;
}
.mod-recommend-card__favorite {
  position: absolute;
  z-index: 2;
  right: 0.5rem;
  top: 0.5rem;
}
.mod-recommend-card .cmn-favorite-btn {
  width: 2.25rem;
  height: 2.25rem;
}
.mod-recommend-card .cmn-favorite-btn .icon-favorite {
  width: 1.284375rem;
  height: 1.125rem;
}
.mod-recommend-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-recommend-card__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 247/164;
}
.mod-recommend-card__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 247/164;
}
.mod-recommend-card__info {
  padding: 1rem;
}
.mod-recommend-card__ttl {
  font-weight: bold;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
.mod-recommend-card__price {
  font-size: 0.875rem;
  font-weight: 400;
  color: #CC0000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.mod-recommend-card__price .num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
}
.mod-recommend-card__detail {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-recommend-card__detail {
    margin-top: 0.375rem;
  }
}
.mod-recommend-card__detail-block {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-recommend-card__detail-block .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  position: relative;
  top: 0.328125rem;
}
.mod-recommend-card__detail-desc p {
  font-size: 0.875rem;
}
.mod-recommend-card__caption {
  font-size: 0.875rem;
  line-height: 1.5;
}
.mod-recommend-card__bottom {
  padding-top: 1rem;
  margin-top: 1rem;
  position: relative;
}
.mod-recommend-card__bottom::before {
  content: "";
  display: block;
  width: calc(100% + 2rem);
  position: absolute;
  top: 0;
  left: -1rem;
  right: -1rem;
  height: 0.03125rem;
  background-color: #D6D6D6;
  opacity: 0.3;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.16);
}
.mod-recommend-card__bottom-btn {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  align-items: center;
  font-weight: 600;
  font-size: 0.875rem;
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-recommend-card:hover .mod-recommend-card__bottom-btn {
    color: #F00000;
  }
}

/* 影用の余白
-------------------------------------------------------------------- */
.splide__track:has(.mod-recommend-card) {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  margin-inline: -0.25rem;
}

/* =========================================================== */
/* 物件詳細 */
/* =========================================================== */
/* 物件詳細専用ヘッダー
-------------------------------------------------------------------- */
.mod-property-header-root {
  position: relative;
}

.mod-property-header {
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.12);
  height: 4.5rem;
  width: 100%;
  background-color: #FFFFFF;
  position: sticky;
  top: var(--header-height);
  z-index: 1000;
  transition: top 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-property-header {
    height: 3.5rem;
  }
}
.mod-header.is-header-hidden ~ main .mod-property-header {
  top: 0;
}

/* 物件詳細専用グロナビ（アンカーリンク）
-------------------------------------------------------------------- */
.mod-property-gnav {
  position: relative;
  height: 100%;
  margin: 0 auto;
  max-width: 80rem;
}
@media (max-width: 48rem) {
  .mod-property-gnav {
    overflow-y: hidden;
    overflow-x: auto;
  }
}
.mod-property-gnav__list {
  display: flex;
  height: 100%;
}
.mod-property-gnav__item {
  width: 10rem;
  height: 100%;
}
@media (max-width: 48rem) {
  .mod-property-gnav__item {
    flex-shrink: 0;
    width: auto;
  }
}
.mod-property-gnav__link {
  display: grid;
  place-items: center;
  height: 100%;
  font-weight: 500;
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-property-gnav__link:hover {
    color: #F00000;
  }
}
@media (max-width: 48rem) {
  .mod-property-gnav__link {
    white-space: nowrap;
    padding: 0 1em;
    font-size: 0.75rem;
  }
}
.mod-property-gnav__line {
  position: absolute;
  bottom: 0;
  height: 0.25rem;
  border-radius: 0.25rem 0.25rem 0 0;
  background-color: #F00000;
  transition: all 0.3s ease-out;
}

/*===========================================================*/
/* 物件詳細画像 */
/*===========================================================*/
.mod-property-images {
  position: relative;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-property-images {
    margin-bottom: 1.25rem;
  }
}
.mod-property-images {
  /* レイアウト
  -------------------------------------------------------------------- */
}
.mod-property-images__grid {
  display: grid;
  aspect-ratio: 1280/639;
  max-height: 639px;
  grid-template-columns: 66.64% 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0.3125rem;
}
.mod-property-images__grid .grid-item1 {
  grid-column: 1/2;
  grid-row: 1/3;
}
.mod-property-images__grid .grid-item2 {
  grid-column: 2/3;
  grid-row: 1/2;
}
.mod-property-images__grid .grid-item3 {
  grid-column: 2/3;
  grid-row: 2/3;
}
@media (max-width: 48rem) {
  .mod-property-images__grid {
    position: relative;
    display: block;
    aspect-ratio: unset;
    max-height: unset;
  }
  .mod-property-images__grid .grid-item2,
  .mod-property-images__grid .grid-item3 {
    display: none;
  }
}
.mod-property-images {
  /* スライダー
  -------------------------------------------------------------------- */
}
.mod-property-images__slider {
  opacity: 0;
  z-index: 2;
  isolation: isolate;
  transition: opacity 0.3s ease-out;
  aspect-ratio: 853/639;
}
.mod-property-images__slider.is-initialized {
  opacity: 1;
}
@media (max-width: 48rem) {
  .mod-property-images__slider {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
    aspect-ratio: unset;
  }
}
.mod-property-images__slider .splide__track {
  overflow: visible;
  overflow-x: clip;
}
.mod-property-images__slider .splide__slide {
  clip-path: inset(0);
}
.mod-property-images__slider .splide__slide img {
  background-color: #F2F2F2;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 853/639;
}
@media (max-width: 48rem) {
  .mod-property-images__slider .splide__slide img {
    aspect-ratio: 376/250;
  }
}
.mod-property-images__slider .splide__arrow {
  width: auto;
  height: auto;
  background: unset;
  opacity: 1;
}
@media (max-width: 48rem) {
  .mod-property-images__slider .splide__arrow {
    translate: 0 -50%;
  }
}
.mod-property-images__slider .splide__arrow img {
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.48));
  width: 1.125rem;
  height: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-property-images__slider .splide__arrow img {
    width: 0.9rem;
    height: 1.5rem;
  }
}
@media (any-hover: hover) {
  .mod-property-images__slider .splide__arrow:hover:not(:disabled) {
    opacity: 1;
  }
  .mod-property-images__slider .splide__arrow:hover:not(:disabled) svg {
    stroke: #FFFFFF;
  }
}
.mod-property-images__slider .splide__arrow--prev {
  left: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-images__slider .splide__arrow--prev {
    left: 1rem;
  }
}
.mod-property-images__slider .splide__arrow--next {
  right: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-images__slider .splide__arrow--next {
    right: 1rem;
  }
}
.mod-property-images__slider .splide__arrow--next img {
  transform: rotate(180deg);
}
.mod-property-images__slider-counter {
  width: 100%;
  position: absolute;
  z-index: 1;
  bottom: 15%;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-property-images__slider-counter {
    bottom: 20%;
  }
}
.mod-property-images__slider-counter .counter {
  background-color: rgba(77, 77, 77, 0.7);
  border-radius: 0.625rem;
  padding: 0 0.375rem;
  line-height: 1.1875rem;
  color: #FFFFFF;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-images__slider-counter .counter {
    line-height: 0.875rem;
    padding: 0 0.625rem;
    font-weight: 500;
    font-size: 0.625rem;
  }
}
.mod-property-images {
  /* キャプション
  -------------------------------------------------------------------- */
}
.mod-property-images__caption {
  margin-top: 0.5rem;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-images__caption {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media (max-width: 40rem) {
  .mod-property-images__caption {
    font-size: 0.625rem;
  }
}
.mod-property-images {
  /* 間取り
  -------------------------------------------------------------------- */
}
.mod-property-images__madori {
  position: relative;
  aspect-ratio: 422/316;
}
@media (max-width: 48rem) {
  .mod-property-images__madori {
    position: absolute;
    right: 3.75rem;
    bottom: 1rem;
    z-index: 3;
    width: 3rem;
    height: 3rem;
  }
}
.mod-property-images__madori-commingsoon {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  background-color: #F6F1EE;
  font-weight: 700;
  color: #4D4D4D;
  text-align: center;
}
.mod-property-images__madori-commingsoon span {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: 1.75rem;
  font-weight: 900;
  color: #BD967C;
}
@media (max-width: 48rem) {
  .mod-property-images__madori-commingsoon {
    display: none;
  }
}
.mod-property-images__madori-link {
  width: 100%;
  height: 100%;
}
.mod-property-images__madori-link img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-property-images {
  /* その他の写真
  -------------------------------------------------------------------- */
}
.mod-property-images__other {
  position: relative;
}
.mod-property-images__other-img {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 0.25rem;
  height: 100%;
}
.mod-property-images__other-img > div {
  background-color: #F6F1EE;
}
.mod-property-images__other-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 418/312;
}
.mod-property-images__other-img::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.mod-property-images__other-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: min(80%, 15.4375rem);
  padding: 1rem 0;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1;
  transition: color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-property-images__other-btn:hover {
    color: #F00000;
    border-color: #F00000;
  }
}
.mod-property-images__other-btn .icon-list {
  display: block;
  width: 1.5rem;
  height: 1.125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-list.svg);
          mask-image: url(../../../img/common/icon-list.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-property-images {
  /* モーダル呼び出しボタン（SP専用）
  -------------------------------------------------------------------- */
}
.mod-property-images__modal-btns {
  display: none;
}
@media (max-width: 48rem) {
  .mod-property-images__modal-btns {
    pointer-events: none;
    width: 100vw;
    aspect-ratio: 376/250;
    position: absolute;
    left: -1.25rem;
    top: 0;
    z-index: 3;
    display: flex;
    gap: 0.75rem;
    padding: 0.5rem;
    justify-content: flex-end;
    align-items: flex-end;
  }
}
.mod-property-images__modal-btn {
  pointer-events: painted;
  width: 3rem;
  height: 3rem;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1;
  transition: color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-property-images__modal-btn:hover {
    color: #F00000;
    border-color: #F00000;
  }
}
.mod-property-images__modal-btn .icon-madori {
  display: block;
  width: 1.75rem;
  height: 1.125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-madori.svg);
          mask-image: url(../../../img/common/icon-madori.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-property-images__modal-btn .icon-list {
  display: block;
  width: 1.5rem;
  height: 1.125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-list.svg);
          mask-image: url(../../../img/common/icon-list.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-property-images {
  /* 写真のみ表示スタイル
  -------------------------------------------------------------------- */
}
.mod-property-images.--one-photo-only .mod-property-images__photo {
  aspect-ratio: 853/639;
}
.mod-property-images.--one-photo-only .mod-property-images__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .mod-property-images.--one-photo-only .mod-property-images__photo {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    aspect-ratio: 376/250;
  }
  .mod-property-images.--one-photo-only .mod-property-images__photo .mod-property-images__caption {
    padding: 0;
  }
}
.mod-property-images {
  /* 間取りのみ表示スタイル
  -------------------------------------------------------------------- */
}
.mod-property-images.--madori-only {
  height: auto;
  max-height: none;
}
.mod-property-images.--madori-only .mod-property-images__grid {
  display: block;
  aspect-ratio: unset;
  max-height: none;
}
.mod-property-images.--madori-only .mod-property-images__madori-img img {
  max-width: 768px;
  max-height: 640px;
  margin-left: auto;
  margin-right: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-property-images.--madori-only .mod-property-images__caption {
  position: static;
}
@media (max-width: 48rem) {
  .mod-property-images.--madori-only .mod-property-images__caption {
    padding: 0;
  }
}

/*===========================================================*/
/* 物件情報エリア */
/*===========================================================*/
.mod-property-info {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-property-info__tag {
  display: flex;
  gap: 0.5rem 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-right: 4rem;
}
@media (max-width: 48rem) {
  .mod-property-info__tag {
    margin-bottom: 0.75rem;
    margin-top: 1rem;
    padding-right: unset;
  }
}
.mod-property-info__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #EEE6E0;
}
.mod-property-info__tag-item.--new {
  background-color: #4FA719;
  color: #FFFFFF;
}
.mod-property-info__tag-item.--open-house, .mod-property-info__tag-item.--price-update {
  background-color: #FFFFFF;
  color: #CC0000;
  border: 1px solid #CC0000;
}
.mod-property-info {
  /* 見出し
  -------------------------------------------------------------------- */
}
.mod-property-info__ttl {
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-property-info__ttl {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
  }
}
.mod-property-info {
  /* 価格
  -------------------------------------------------------------------- */
}
.mod-property-info__price {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  color: #CC0000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0.75rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mod-property-info__price {
    font-size: 0.875rem;
    font-weight: 400;
  }
}
.mod-property-info__price .num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .mod-property-info__price .num {
    font-size: 1.5rem;
  }
}
.mod-property-info__price .update {
  display: inline-block;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1.25rem;
  padding: 0 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid #CC0000;
}
.mod-property-info {
  /* 物件データ
  -------------------------------------------------------------------- */
}
.mod-property-info__data {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
  padding: 1.25rem 0;
  border-top: 1px dotted #808080;
  border-bottom: 1px dotted #808080;
}
@media (max-width: 48rem) {
  .mod-property-info__data {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 0;
  }
}
.mod-property-info__access, .mod-property-info__floor {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-property-info__access .icon-detail, .mod-property-info__floor .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.328125rem;
}
.mod-property-info__access p, .mod-property-info__floor p {
  font-size: 0.875rem;
}
.mod-property-info__floor {
  width: 100%;
}
.mod-property-info__floor-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5rem;
  line-height: 1.5;
  font-size: 0.875rem;
}
.mod-property-info__floor-list > div {
  position: relative;
  display: flex;
  gap: 0.5rem;
}
.mod-property-info__floor-list > div::after {
  content: "";
  display: block;
  width: 1px;
  height: 1rem;
  background-color: #CCCCCC;
  position: absolute;
  top: 0.125rem;
  right: -0.75rem;
}
.mod-property-info__floor-list > div:last-child::after {
  display: none;
}
@media (max-width: 48rem) {
  .mod-property-info__floor-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }
}
@media (max-width: 563px) {
  .mod-property-info__floor-list > div:nth-child(2)::after {
    display: none;
  }
}
@media (max-width: 389px) {
  .mod-property-info__floor-list > div::after {
    display: none;
  }
}
.mod-property-info {
  /* ポイント
  -------------------------------------------------------------------- */
}
.mod-property-info__point {
  padding: 1.5rem 2.5rem;
  border-radius: 0.75rem;
  margin-top: 1.5rem;
  background-color: #F4E2E2;
}
@media (max-width: 48rem) {
  .mod-property-info__point {
    margin-top: 1.25rem;
    padding: 1.5rem 1rem;
  }
}
.mod-property-info__point-ttl {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.125rem;
  color: #CC0000;
  margin-bottom: 0.5rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mod-property-info__point-ttl {
    font-size: 1rem;
  }
}
.mod-property-info__point-desc {
  font-size: 1.125rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-property-info__point-desc {
    font-size: 1rem;
  }
}

/* 物件詳細 お問い合わせ（サイドバー）
-------------------------------------------------------------------- */
.mod-property-contact {
  width: 20.625rem;
  margin-left: auto;
  padding: 2rem 1.25rem 2.5rem;
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
}
.mod-property-contact .cmn-contents-ttl {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-property-contact .cmn-contents-ttl {
    font-size: 1.125rem;
  }
}
.mod-property-contact {
  /* 物件番号
  -------------------------------------------------------------------- */
}
.mod-property-contact__property-num {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.mod-property-contact {
  /* 営業所名
  -------------------------------------------------------------------- */
}
.mod-property-contact__office {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1.75rem;
}
.mod-property-contact__office a {
  text-decoration: underline;
}
@media (max-width: 66.25rem) {
  .mod-property-contact__office {
    margin-bottom: 1rem;
  }
}
.mod-property-contact {
  /* 営業時間・定休日
  -------------------------------------------------------------------- */
}
.mod-property-contact__biztime {
  display: grid;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1;
  margin-bottom: 1.5rem;
}
.mod-property-contact__biztime > div {
  display: grid;
  grid-template-columns: 5em 1fr;
}
@media (max-width: 66.25rem) {
  .mod-property-contact__biztime {
    display: flex;
    gap: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-property-contact__biztime {
    display: grid;
    gap: 0.5rem;
  }
}
.mod-property-contact {
  /* フリーダイヤル・見学予約・お問い合わせグループ
  -------------------------------------------------------------------- */
}
.mod-property-contact__btns-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 2.5rem;
}
@media (max-width: 48rem) {
  .mod-property-contact__btns-wrap {
    display: block;
  }
}
.mod-property-contact__btns-wrap.--center {
  justify-content: center;
}
.mod-property-contact {
  /* フリーダイヤル
  -------------------------------------------------------------------- */
}
.mod-property-contact__tel {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.mod-property-contact__tel .num {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  color: #020055;
}
@media (max-width: 48rem) {
  .mod-property-contact__tel a {
    display: block;
    padding: 0.75rem;
    background-color: #FFFFFF;
    border-radius: 100vmax;
    border: 1px solid #DDDDDD;
    text-align: center;
    font-size: 0.75rem;
  }
  .mod-property-contact__tel a .txt {
    font-size: 0.875rem;
    font-weight: bold;
    color: #020055;
  }
}
.mod-property-contact {
  /* 問い合わせボタン
  -------------------------------------------------------------------- */
}
.mod-property-contact__btns {
  flex-grow: 1;
  display: grid;
  gap: 0.75rem;
}
@media (max-width: 66.25rem) {
  .mod-property-contact__btns {
    flex-grow: 1;
    display: flex;
    flex-direction: row-reverse;
  }
  .mod-property-contact__btns > li {
    flex-grow: 1;
    width: calc((100% - 0.75rem) / 2);
  }
}
.mod-property-contact__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: 0.25rem 2.5rem;
  line-height: 1.5;
  border-radius: 2rem;
  background-color: #F00000;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-property-contact__btn:not(:disabled):hover {
    background-color: #AF0808;
  }
}
.mod-property-contact__btn.--single {
  max-width: 15.875rem;
}
@media (max-width: 48rem) {
  .mod-property-contact__btn.--single {
    max-width: unset;
    margin-top: 1rem;
  }
}
.mod-property-contact__btn .btn-icon {
  display: block;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2rem;
  margin: auto;
}
.mod-property-contact__btn .btn-icon.--calender {
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  width: 1.5rem;
  height: 1.25rem;
}
.mod-property-contact__btn .btn-icon.--mail {
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
  width: 1.25rem;
  height: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-contact__btn {
    flex-direction: row-reverse;
    gap: 0.5rem;
    padding-inline: 0.5rem;
  }
  .mod-property-contact__btn .btn-icon {
    position: static;
    margin: 0;
  }
}
.mod-property-contact {
  /* お気に入り登録・シェア
  -------------------------------------------------------------------- */
}
.mod-property-contact__favorite {
  display: grid;
  gap: 0.75rem;
}
.mod-property-contact__favorite li:last-child {
  display: none;
}
@media (max-width: 48rem) {
  .mod-property-contact__favorite {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  .mod-property-contact__favorite li:first-child {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .mod-property-contact__favorite li:last-child {
    display: flex;
  }
}
.mod-property-contact__favorite-wrap {
  position: relative;
}
.mod-property-contact__favorite-bubble {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  padding: 0.25rem 1.25rem;
  background-color: #AA8872;
  border-radius: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #FFFFFF;
  white-space: nowrap;
}
.mod-property-contact__favorite-bubble::after {
  content: "";
  position: absolute;
  bottom: -0.375rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0.75rem;
  height: 0.75rem;
  background-color: #AA8872;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.mod-property-contact__favorite-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: 0.25rem 2.5rem;
  line-height: 1.5;
  border-radius: 2rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-property-contact__favorite-btn:not(:disabled):hover {
    color: #F00000;
    border: 1px solid #F00000;
  }
}
.mod-property-contact__favorite-btn:disabled {
  color: #F00000;
}
.mod-property-contact__favorite-btn:disabled .btn-icon.--favorite {
  -webkit-mask-image: url(../../../img/common/icon-favorite-added.svg);
          mask-image: url(../../../img/common/icon-favorite-added.svg);
}
.mod-property-contact__favorite-btn .btn-icon {
  display: block;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2rem;
  margin: auto;
}
.mod-property-contact__favorite-btn .btn-icon.--favorite {
  -webkit-mask-image: url(../../../img/common/icon-favorite.svg);
          mask-image: url(../../../img/common/icon-favorite.svg);
  width: 1.5rem;
  height: 1.25rem;
}
.mod-property-contact__favorite-btn .btn-icon.--mail {
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
  width: 1.25rem;
  height: 1rem;
}
.mod-property-contact__favorite-btn .btn-icon.--line {
  width: 1.25rem;
  height: 1.25rem;
  background: url(../../../img/common/icon-line.svg) 0 0/contain no-repeat;
}
@media (max-width: 66.25rem) {
  .mod-property-contact__favorite-btn.--type02 {
    border-radius: 0.75rem;
    font-size: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-property-contact__favorite-btn.--type02 {
    flex-direction: row-reverse;
    gap: 0.5rem;
    padding-inline: 0.5rem;
  }
  .mod-property-contact__favorite-btn.--type02 .btn-icon {
    position: static;
    margin: 0;
  }
}
.mod-property-contact__favorite-btn.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.mod-property-contact__favorite-btn.is-added .btn-icon.--favorite {
  -webkit-mask-image: url(../../../img/common/icon-favorite-added.svg);
          mask-image: url(../../../img/common/icon-favorite-added.svg);
}
.mod-property-contact {
  /* 物件詳細 お問い合わせレイアウト（サイドバー内）
  -------------------------------------------------------------------- */
}
.mod-property-contact.--side .mod-property-contact__grid-item1 {
  display: grid;
}
.mod-property-contact.--side .mod-property-contact__grid-item2::before {
  content: "";
  display: block;
  margin: 2rem -1.25rem 3rem;
  border-top: 1px dashed #BD967C;
}
@media (max-width: 66.25rem) {
  .mod-property-contact.--side {
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
  }
  .mod-property-contact.--side .mod-property-contact__grid {
    padding: 2rem 1.25rem 2.5rem;
    background-color: #F6F1EE;
    border-radius: 0.75rem;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
}
.mod-property-contact {
  /* 物件詳細 お問い合わせレイアウト（メインカラム内）
  -------------------------------------------------------------------- */
}
.mod-property-contact.--main {
  container-type: inline-size;
  width: 100%;
  margin: 0;
}
.mod-property-contact.--main .mod-property-contact__inner {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}
.mod-property-contact.--main .mod-property-contact__text-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 2.5rem;
  margin-bottom: 2rem;
}
.mod-property-contact.--main .mod-property-contact__property-num {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-bottom: -1rem;
}
.mod-property-contact.--main .mod-property-contact__biztime {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.mod-property-contact.--main .mod-property-contact__office {
  font-size: 1.125rem;
}
.mod-property-contact.--main .mod-property-contact__btns {
  flex-grow: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.mod-property-contact.--main .mod-property-contact__btns > li {
  width: 100%;
}
.mod-property-contact.--main .mod-property-contact__manager {
  font-size: 0.875rem;
}
.mod-property-contact.--main .mod-property-contact__manager .name {
  font-size: 1rem;
  font-weight: bold;
}
.mod-property-contact.--main .mod-property-contact__manager .kana {
  font-size: 0.75rem;
}
.mod-property-contact.--main .mod-property-contact__tel {
  margin-bottom: unset;
}
@media (max-width: 48rem) {
  .mod-property-contact.--main .mod-property-contact__property-num {
    margin-left: 0;
    margin-bottom: 0.5rem;
  }
  .mod-property-contact.--main .mod-property-contact__biztime {
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }
  .mod-property-contact.--main .mod-property-contact__text-wrap {
    display: block;
    margin-bottom: 1rem;
  }
}
.mod-property-contact {
  /* 物件詳細 お問い合わせレイアウト（SP専用フッター固定）
  -------------------------------------------------------------------- */
}
.mod-property-contact.--bottom {
  display: none;
}
@media (max-width: 48rem) {
  .mod-property-contact.--bottom {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 0.25rem;
    z-index: 1001;
    border-radius: 0;
    box-shadow: none;
    padding: 0.5rem;
    background: transparent;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, 0.08);
  }
  .mod-property-contact.--bottom .mod-property-contact__btns {
    gap: 0.25rem;
  }
  .mod-property-contact.--bottom .mod-property-contact__btn .btn-icon.--calender {
    width: 1.125rem;
    height: 0.9375rem;
  }
  .mod-property-contact.--bottom .mod-property-contact__btn .btn-icon.--mail {
    width: 0.875rem;
    height: 0.9375rem;
  }
  .mod-property-contact.--bottom .mod-property-contact__btn-tel {
    display: block;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    background-color: #FFFFFF;
    border: 1px solid #DDDDDD;
    line-height: 1;
    text-align: center;
  }
  .mod-property-contact.--bottom .mod-property-contact__btn-tel .btn-icon {
    display: block;
    background-color: #000000;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    margin: 0 auto;
  }
  .mod-property-contact.--bottom .mod-property-contact__btn-tel .btn-icon.--tel {
    -webkit-mask-image: url(../../../img/common/icon-tel.svg);
            mask-image: url(../../../img/common/icon-tel.svg);
    width: 1.25rem;
    height: 1.25rem;
  }
  .mod-property-contact.--bottom .mod-property-contact__btn-tel .btn-biztime {
    font-family: "Lato", sans-serif;
    font-weight: bold;
    font-size: 0.625rem;
  }
}

/* 物件特徴一覧
-------------------------------------------------------------------- */
.mod-property-features-list-ttl {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: bold;
}

.mod-property-features-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 3.6363636364%;
}
.mod-property-features-list__item {
  width: 11.1363636364%;
}
.mod-property-features-list__item img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-property-features-list__txt {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-property-features-list {
    gap: 0.75rem 3.5714285714%;
  }
  .mod-property-features-list__item {
    width: 22.3214285714%;
    font-size: 0.6875rem;
  }
}

.mod-property-features-list02 {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  line-height: 1;
}
.mod-property-features-list02 > li {
  padding-right: 0.75rem;
  margin-right: 0.75rem;
  border-right: 1px solid #CCCCCC;
}
.mod-property-features-list02 > li:last-child {
  border-right: 0;
}
.mod-property-features-list02 + .mod-property-features-list-ttl {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-property-features-list02 {
    gap: 0.75rem 0;
  }
  .mod-property-features-list02 > li {
    padding-right: 0.5rem;
    margin-right: 0.5rem;
  }
}

/* 物件間取り
-------------------------------------------------------------------- */
.mod-property-madori {
  display: grid;
  gap: 1rem;
}
.mod-property-madori__img img {
  aspect-ratio: 880/580;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-property-madori__data {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0;
}
@media (max-width: 48rem) {
  .mod-property-madori__data {
    gap: 0.5rem 0;
  }
}
.mod-property-madori__data > div {
  position: relative;
  display: inline-flex;
  gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 0.75rem;
  margin-right: 0.75rem;
  line-height: 1.42;
}
.mod-property-madori__data > div::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  height: 1em;
  border-right: 1px solid #CCCCCC;
}
.mod-property-madori__data > div:last-child::after {
  display: none;
}
.mod-property-madori__data dt {
  flex-shrink: 0;
}

/* 物件概要
-------------------------------------------------------------------- */
.mod-property-overview {
  width: 100%;
  border-top: 1px solid #E8E8E8;
}
.mod-property-overview th {
  width: 11.25rem;
  padding: 1rem;
  background-color: #F2F2F2;
  border-bottom: 1px solid #E8E8E8;
  font-weight: normal;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-overview th {
    width: 5.5rem;
    padding: 0.5rem;
  }
}
.mod-property-overview td {
  padding: 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E8E8E8;
}
@media (max-width: 48rem) {
  .mod-property-overview td {
    padding: 0.5rem;
  }
}
.mod-property-overview td a:not([class]) {
  color: #074EBB;
}
@media (any-hover: hover) {
  .mod-property-overview td a:not([class]):hover {
    text-decoration: underline;
  }
}
.mod-property-overview td .cmn-txt-link {
  text-decoration: underline;
  gap: 0.25rem;
}
.mod-property-overview td .price {
  color: #CC0000;
}
.mod-property-overview td .price-num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.125rem;
}
.mod-property-overview__update {
  display: flex;
  justify-content: flex-end;
  font-size: 0.875rem;
  gap: 1rem;
}
.mod-property-overview__update > div {
  display: flex;
}
@media (max-width: 48rem) {
  .mod-property-overview__update {
    flex-direction: column;
    font-size: 0.75rem;
    gap: 0;
    align-items: flex-end;
  }
}

/* 地図・周辺情報
-------------------------------------------------------------------- */
.mod-property-map {
  aspect-ratio: 880/374;
  border-radius: 0.75rem;
}
.mod-property-map iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 66.25rem) {
  .mod-property-map {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    border-radius: 0;
    aspect-ratio: 376/260;
  }
}

/*===========================================================*/
/* 物件写真フォトギャラリー */
/*===========================================================*/
.mod-photo-gallery {
  display: grid;
  grid-template-columns: 60% 1fr;
  gap: 2%;
}
@media (max-width: 48rem) {
  .mod-photo-gallery {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.mod-photo-gallery {
  /* メイン写真スライダー
  -------------------------------------------------------------------- */
}
.mod-photo-gallery__main .splide__slide .photo {
  aspect-ratio: 964/722;
  border: 1px solid #F2F2F2;
}
.mod-photo-gallery__main .splide__slide .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: #F2F2F2;
}
.mod-photo-gallery__main .splide__slide .txt {
  margin-top: 1.25rem;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-photo-gallery__main .splide__slide .txt {
    margin-top: 0.75rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
.mod-photo-gallery__main .splide__arrow {
  width: auto;
  height: auto;
  background: unset;
  opacity: 1;
}
.mod-photo-gallery__main .splide__arrow img {
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.48));
  width: 1.125rem;
  height: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-photo-gallery__main .splide__arrow img {
    width: 0.9rem;
    height: 1.5rem;
  }
}
@media (any-hover: hover) {
  .mod-photo-gallery__main .splide__arrow:hover:not(:disabled) {
    opacity: 1;
  }
  .mod-photo-gallery__main .splide__arrow:hover:not(:disabled) svg {
    stroke: #FFFFFF;
  }
}
.mod-photo-gallery__main .splide__arrow--prev {
  left: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-photo-gallery__main .splide__arrow--prev {
    left: 1rem;
  }
}
.mod-photo-gallery__main .splide__arrow--next {
  right: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-photo-gallery__main .splide__arrow--next {
    right: 1rem;
  }
}
.mod-photo-gallery__main .splide__arrow--next img {
  transform: rotate(180deg);
}
@media (max-width: 48rem) {
  .mod-photo-gallery__main {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
.mod-photo-gallery {
  /* サムネイル一覧
  -------------------------------------------------------------------- */
}
.mod-photo-gallery__thumbnails {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2%;
}
.mod-photo-gallery__thumbnails li {
  position: relative;
  cursor: pointer;
  border: 1px solid #F2F2F2;
  transition: background-color 0.2s;
  max-width: 7.25rem;
  width: 100%;
  aspect-ratio: 116/77;
}
@media (max-width: 48rem) {
  .mod-photo-gallery__thumbnails li {
    max-width: 100%;
    aspect-ratio: 75/49;
  }
}
.mod-photo-gallery__thumbnails li.is-active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}
.mod-photo-gallery__thumbnails img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* =========================================================== */
/* あんしんサービスメニュー */
/* =========================================================== */
.mod-anshin-service {
  margin-top: 5rem;
}
@media (max-width: 66.25rem) {
  .mod-anshin-service {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
}
.mod-anshin-service__panel {
  margin-top: 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__panel {
    margin-top: 0rem;
    display: block;
    opacity: 1;
    visibility: visible;
    height: auto;
  }
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__panel.is-active .mod-anshin-service__body {
    grid-template-rows: 1fr;
    visibility: visible;
  }
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__panel.is-active .mod-anshin-service__body-inner {
    padding-bottom: 1.5rem;
  }
}
.mod-anshin-service__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__list {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-anshin-service__list {
    flex-direction: column;
  }
}
.mod-anshin-service__list > li {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .mod-anshin-service__list > li {
    width: 100%;
  }
}
.mod-anshin-service__list-item {
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  transition: box-shadow 0.3s ease-out;
  height: 100%;
}
@media (any-hover: hover) {
  .mod-anshin-service__list-item:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-anshin-service__list-item:hover .mod-anshin-service__list-ttl {
    color: #F00000;
  }
  .mod-anshin-service__list-item:hover .mod-anshin-service__img {
    transform: scale(1.08);
  }
}
.mod-anshin-service__list-ttl {
  padding: 1rem 1.25rem;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-anshin-service__list-ttl {
    padding: 1rem;
  }
}
.cmn-container.--white .mod-anshin-service__list-ttl {
  background-color: #F2F2F2;
}
.mod-anshin-service__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 332/187;
}
@media (max-width: 48rem) {
  .mod-anshin-service__img-wrap {
    aspect-ratio: 300/169;
  }
}
.mod-anshin-service__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 332/187;
}
@media (max-width: 48rem) {
  .mod-anshin-service__img {
    aspect-ratio: 300/169;
  }
}
.mod-anshin-service__other-menu {
  margin-top: 2.5rem;
  border-radius: 0.75rem;
  width: 100%;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-anshin-service__other-menu {
    margin-top: 1.5rem;
  }
}
.mod-anshin-service__other-menu-ttl {
  padding: 1.5rem 2rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  width: 100%;
  border-bottom: 1px solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-anshin-service__other-menu-ttl {
    padding-block: 1.25rem 1rem;
    font-size: 1rem;
  }
}
.mod-anshin-service__other-menu-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  padding: 2rem 4.375rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__other-menu-list {
    padding: 1rem 1rem 1.5rem;
    gap: 0.5rem;
  }
}
.mod-anshin-service__other-menu-list li {
  width: calc((100% - 4rem) / 3);
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-anshin-service__other-menu-list li {
    width: 100%;
    font-size: 1rem;
  }
}
.mod-anshin-service__other-menu-list li::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #F00000;
  border-radius: 0.0625rem;
}
.mod-anshin-service__btn-wrap {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-anshin-service__btn-wrap {
    margin-top: 2rem;
  }
}
@media (max-width: 48rem) {
  .mod-anshin-service__btn-wrap .cmn-btn {
    width: 100%;
  }
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out, visibility 0.3s ease-out;
    visibility: hidden;
    overflow: hidden;
    border-radius: 0;
  }
}
@media (min-width: 67.25rem) {
  .mod-anshin-service__body {
    display: block;
    height: auto;
    visibility: visible;
  }
}
.mod-anshin-service__body-inner {
  transition: padding-bottom 0.3s ease-out;
}
@media (max-width: 66.25rem) {
  .mod-anshin-service__body-inner {
    min-height: 0;
  }
}
.mod-anshin-service__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  font-weight: 700;
  font-size: 0.875rem;
  color: #FFFFFF;
  border-radius: 0.5rem;
  transition: background-color 0.3s ease-out;
  text-align: left;
}
.mod-anshin-service__trigger[aria-expanded=true] .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}
.mod-anshin-service__trigger.--red {
  background-color: #D27878;
}
.mod-anshin-service__trigger.--blue {
  background-color: #72719F;
}
.mod-anshin-service__trigger.--green {
  background-color: #7C8E82;
}
.mod-anshin-service__trigger .icon {
  width: 1.25rem;
  height: 1.25rem;
  background: #FFFFFF;
  border-radius: 50%;
  position: relative;
  margin-left: 0.75rem;
}
.mod-anshin-service__trigger .icon::before, .mod-anshin-service__trigger .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.125rem;
  transition: transform 0.3s ease-out;
}
.mod-anshin-service__trigger .icon::before {
  width: 0.625rem;
  height: 0.125rem;
}
.mod-anshin-service__trigger .icon::after {
  width: 0.125rem;
  height: 0.625rem;
}
.mod-anshin-service__trigger.--red .icon::before, .mod-anshin-service__trigger.--red .icon::after {
  background-color: #D27878;
}
.mod-anshin-service__trigger.--blue .icon::before, .mod-anshin-service__trigger.--blue .icon::after {
  background-color: #72719F;
}
.mod-anshin-service__trigger.--green .icon::before, .mod-anshin-service__trigger.--green .icon::after {
  background-color: #7C8E82;
}
.mod-anshin-service .mod-tab__btn[aria-selected=true] {
  background-color: #D27878;
}
.mod-anshin-service .mod-tab__btn::before, .mod-anshin-service .mod-tab__btn::after {
  background-color: #D27878;
}
.cmn-container.--brown .mod-anshin-service .mod-tab {
  border: none;
}

/*===========================================================*/
/* 物件カード */
/*===========================================================*/
.mod-mypage-property-card {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-mypage-property-card:has(a.mod-mypage-property-card__ttl-name):hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
  .mod-mypage-property-card:has(a.mod-mypage-property-card__ttl-name):hover .mod-mypage-property-card__bottom-txt {
    color: #F00000;
  }
}
.mod-mypage-property-card + .mod-mypage-property-card {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card + .mod-mypage-property-card {
    margin-top: 1.5rem;
  }
}
.mod-mypage-property-card {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__grid {
  border-bottom: rgba(0, 0, 0, 0.045) 0.125rem solid;
  padding: 1.5rem 2.5rem 1rem;
  display: grid;
  grid-template-columns: clamp(0px, 24.3636363636vw, 268px) 1fr;
  grid-template-rows: auto auto;
  z-index: 1;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__grid {
    padding: 0 1rem 1rem;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__grid:not(:has(.grid-item1)) .grid-item3 {
    margin-top: 1rem;
  }
}
.mod-mypage-property-card__grid .grid-item1 {
  grid-column: 1/span 2;
  grid-row: 1/span 1;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__grid .grid-item1 {
    grid-column: unset;
    grid-row: unset;
    order: 2;
  }
}
.mod-mypage-property-card__grid .grid-item2 {
  grid-column: 1/span 1;
  grid-row: 2/span 1;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__grid .grid-item2 {
    grid-column: unset;
    grid-row: unset;
    order: 1;
  }
}
.mod-mypage-property-card__grid .grid-item3 {
  grid-column: 2/span 1;
  grid-row: 2/span 1;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__grid .grid-item3 {
    grid-column: unset;
    grid-row: unset;
    order: 3;
  }
}
.mod-mypage-property-card:has(.mod-mypage-property-card__detail) .mod-mypage-property-card__grid {
  border-bottom: unset;
  padding-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card:has(.mod-mypage-property-card__detail) .mod-mypage-property-card__grid {
    padding-bottom: 1rem;
  }
}
.mod-mypage-property-card {
  /* 日付、編集、削除
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__data {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data {
    margin-bottom: 0.75rem;
    margin-top: 1rem;
  }
}
.mod-mypage-property-card__data-time {
  white-space: nowrap;
  line-height: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.25rem;
  background-color: #F2F2F2;
  padding: 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  color: #4D4D4D;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data-time {
    font-size: 0.75rem;
    gap: 0.25rem;
    line-height: 1.75rem;
  }
}
.mod-mypage-property-card__data-time::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #808080;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-clock.svg);
          mask-image: url(../../../img/common/icon-clock.svg);
}
.mod-mypage-property-card__data-update {
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: #4D4D4D;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data-update {
    font-size: 0.75rem;
  }
}
.mod-mypage-property-card__data-update-btn {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  height: 2rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 1.5625rem;
  padding: 0 1rem 0 0.75rem;
  transition: border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-mypage-property-card__data-update-btn:hover {
    border-color: #F00000;
  }
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data-update-btn {
    width: 2rem;
    padding: unset;
  }
}
.mod-mypage-property-card__data-update-btn::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #CC0000;
  -webkit-mask-image: url(../../../img/common/icon-update.svg);
          mask-image: url(../../../img/common/icon-update.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-mypage-property-card__data-update-btn-txt {
  color: #CC0000;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data-update-btn-txt {
    display: none;
  }
}
.mod-mypage-property-card__data-ctrl {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-mypage-property-card__data-btn {
  white-space: nowrap;
  line-height: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 1rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  z-index: 2;
  font-size: 1rem;
  transition: border-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-mypage-property-card__data-btn:hover {
    border-color: #F00000;
  }
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data-btn {
    font-size: 0.875rem;
    gap: 0.25rem;
    line-height: 1.75rem;
  }
}
.mod-mypage-property-card__data-btn::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-mypage-property-card__data-btn.--edit::before {
  background-color: #4D4D4D;
  -webkit-mask-image: url(../../../img/mypage/icon-edit.svg);
          mask-image: url(../../../img/mypage/icon-edit.svg);
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__data-btn.--edit::before {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.mod-mypage-property-card__data-btn.--delete {
  color: #CC0000;
}
.mod-mypage-property-card__data-btn.--delete::before {
  -webkit-mask-image: url(../../../img/mypage/icon-delete.svg);
          mask-image: url(../../../img/mypage/icon-delete.svg);
  background-color: #CC0000;
}
.mod-mypage-property-card {
  /* 見出し タグ
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__ttl {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__ttl {
    gap: 0.5rem;
  }
}
.mod-mypage-property-card__ttl-tag {
  border-radius: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.75rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #EEE6E0;
}
.mod-mypage-property-card__ttl-name {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.6;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__ttl-name {
    font-size: 1rem;
  }
}
.mod-mypage-property-card__ttl-name::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
}
.mod-mypage-property-card {
  /* サムネイル
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__img {
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__img {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.mod-mypage-property-card__img img {
  aspect-ratio: 268/177;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__img img {
    border-radius: unset;
  }
}
.mod-mypage-property-card {
  /* 価格
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__price {
  display: flex;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price {
    flex-direction: column;
  }
}
.mod-mypage-property-card__price-ttl {
  line-height: 1.357142;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: bold;
  width: 5.875rem;
  padding: 0.375rem 0;
  flex-shrink: 0;
  background-color: #BD967C;
  text-align: center;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-ttl {
    width: 100%;
    height: 2rem;
  }
}
.mod-mypage-property-card__price-info {
  flex: 1;
  padding: 0.9375rem;
  background-color: #F6F1EE;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 5.6875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-info {
    padding: 0.625rem 1.25rem;
    min-height: 4.25rem;
  }
}
.mod-mypage-property-card__price-block {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block {
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-mypage-property-card__price-block + .mod-mypage-property-card__price-block {
  margin-top: 0.25rem;
}
.mod-mypage-property-card__price-block:has(.txt-fluctuations) {
  padding-right: 11rem;
  position: relative;
  z-index: 0;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block:has(.txt-fluctuations) {
    padding-right: unset;
  }
}
.mod-mypage-property-card__price-block dt {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4D4D4D;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block dt {
    font-size: 0.875rem;
    font-weight: bold;
  }
}
.mod-mypage-property-card__price-block dd {
  line-height: 1.2;
}
.mod-mypage-property-card__price-block dd.txt-price {
  color: #CC0000;
  font-weight: 500;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block dd.txt-price {
    font-size: 0.75rem;
  }
}
.mod-mypage-property-card__price-block dd.txt-price .num {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block dd.txt-price .num {
    font-size: 1.25rem;
  }
}
.mod-mypage-property-card__price-block dd.txt-price .from-to {
  font-size: 1rem;
  margin: 0 0.25rem;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block dd.txt-price .from-to {
    font-size: 0.75rem;
  }
}
.mod-mypage-property-card__price-block dd.txt-rent {
  font-weight: 500;
  font-size: 0.75rem;
}
.mod-mypage-property-card__price-block dd.txt-rent .num {
  font-family: "Lato", sans-serif;
  font-size: 1.0625rem;
  font-weight: 900;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block dd.txt-rent .num {
    font-size: 1.125rem;
  }
}
.mod-mypage-property-card__price-block dd.txt-rent .from-to {
  margin: 0 0.25rem;
  font-weight: 400;
}
.mod-mypage-property-card__price-block dd.txt-fluctuations {
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__price-block dd.txt-fluctuations {
    display: none;
  }
}
.mod-mypage-property-card__price-block dd.txt-fluctuations.--plus .price {
  color: #476453;
}
.mod-mypage-property-card__price-block dd.txt-fluctuations.--plus .price::before {
  content: "+";
}
.mod-mypage-property-card__price-block dd.txt-fluctuations.--plus .price::after {
  background-color: #476453;
}
.mod-mypage-property-card__price-block dd.txt-fluctuations.--minus .price {
  color: #BF3F3F;
}
.mod-mypage-property-card__price-block dd.txt-fluctuations.--minus .price::before {
  content: "-";
}
.mod-mypage-property-card__price-block dd.txt-fluctuations.--minus .price::after {
  background-color: #BF3F3F;
  transform: scaleY(-1);
}
.mod-mypage-property-card__price-block dd.txt-fluctuations .price {
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
}
.mod-mypage-property-card__price-block dd.txt-fluctuations .price::after {
  content: "";
  display: inline-block;
  margin-left: 0.25rem;
  width: 1rem;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../../../img/common/icon-arrow-update.svg);
          mask-image: url(../../../img/common/icon-arrow-update.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-mypage-property-card__price-block dd.txt-fluctuations .sub {
  font-size: 0.75rem;
  color: #4D4D4D;
}
.mod-mypage-property-card {
  /* ボトムエリア リンク
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__bottom {
  display: flex;
}
.mod-mypage-property-card__bottom-txt {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25rem 1rem;
  background-color: #FFFFFF;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__bottom-txt {
    padding: 0.9375rem 1rem;
    font-size: 0.875rem;
  }
}
.mod-mypage-property-card {
  /* ボトムエリア　詳細情報
  -------------------------------------------------------------------- */
}
.mod-mypage-property-card__detail {
  padding: 0 2.5rem 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-property-card__detail {
    padding: 0 1rem 1.5rem;
  }
}
.mod-mypage-property-card__detail dt {
  font-size: 0.875rem;
  color: #4D4D4D;
  font-weight: 500;
}
.mod-mypage-property-card__detail dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.mod-mypage-property-card__detail-block {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-mypage-property-card__detail-block + .mod-mypage-property-card__detail-block {
  position: relative;
}
.mod-mypage-property-card__detail-block + .mod-mypage-property-card__detail-block::before {
  margin-right: 0.25rem;
  content: "";
  display: block;
  width: 0.125rem;
  height: 1rem;
  background-color: #CCCCCC;
}

/* =========================================================== */
/* スイッチ切り替えタブ */
/* =========================================================== */
/* スイッチ切り替えタブ
-------------------------------------------------------------------- */
.mod-switch {
  background-color: #F2F2F2;
  padding: 0.25rem;
  border-radius: 0.75rem;
  margin-bottom: 5rem;
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-switch {
    margin-bottom: 2rem;
    padding: 0.125rem;
    border-radius: 0.5rem;
  }
}
.cmn-container.--brown .mod-switch {
  background-color: #DDDDDD;
}
.mod-switch__btn {
  font-weight: 500;
  font-size: 1.125rem;
  border-radius: 0.5rem;
  height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}
@media (max-width: 48rem) {
  .mod-switch__btn {
    height: 2.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
  }
}
.mod-switch__btn.--current {
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.16));
  background-color: #FFFFFF;
}
.mod-switch__btn.is-active {
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.16));
  background-color: #FFFFFF;
}
.mod-switch__btn.--disable {
  pointer-events: none;
  color: #808080;
}
.mod-switch__panel.is-hidden {
  display: none !important;
}

/* =========================================================== */
/* ご相談リンク */
/* =========================================================== */
.mod-consultation-link {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  /* レイアウト
  -------------------------------------------------------------------- */
}
.mod-consultation-link__head {
  background-color: #AF0808;
  padding: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__head {
    padding: 0.75rem 1rem;
  }
}
.mod-consultation-link__head-ttl {
  line-height: 1.5;
  font-size: 1.25rem;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-consultation-link__head-ttl {
    font-size: 1rem;
  }
}
.mod-consultation-link__body {
  padding: 2.5rem 2.5rem 3rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__body {
    padding: 1.5rem 1rem;
  }
}
.mod-consultation-link__block {
  position: relative;
  max-width: 52.5rem;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__block {
    flex-direction: column;
  }
}
.mod-consultation-link__block + .mod-consultation-link__block {
  padding-top: 2.5rem;
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__block + .mod-consultation-link__block {
    padding-top: 1.5rem;
    margin-top: 1.5rem;
  }
}
.mod-consultation-link__block + .mod-consultation-link__block::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-consultation-link {
  /* 情報エリア PC左側
  -------------------------------------------------------------------- */
}
.mod-consultation-link__detail {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mod-consultation-link__tag {
  display: block;
  border-radius: 0.3125rem;
  color: #FFFFFF;
  background-color: #4D4D4D;
  line-height: 1.8125rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1rem;
  font-size: 0.875rem;
  margin-bottom: 0.375rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__tag {
    margin-bottom: 0.75rem;
  }
}
.mod-consultation-link__office-link {
  text-decoration: underline;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__office-link {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-consultation-link__data {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__data {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.mod-consultation-link__data-block {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.mod-consultation-link dt {
  color: #4D4D4D;
  font-size: 0.875rem;
  font-weight: 500;
}
.mod-consultation-link dd {
  font-size: 0.875rem;
}
.mod-consultation-link {
  /* コンバージョンリンク PC右側
  -------------------------------------------------------------------- */
}
.mod-consultation-link__conv {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: center;
  flex-shrink: 0;
}
.mod-consultation-link__conv .cmn-btn {
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .mod-consultation-link__conv .cmn-btn {
    min-width: unset;
    width: 100%;
  }
}
.mod-consultation-link__tel {
  color: #020055;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
  pointer-events: none;
}
@media (max-width: 48rem) {
  .mod-consultation-link__tel {
    font-size: 1.125rem;
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 19rem;
    border: 0.0625rem solid #DDDDDD;
    background-color: #FFFFFF;
    border-radius: 2rem;
  }
}
@media (max-width: 48rem) and (max-width: 30rem) {
  .mod-consultation-link__tel {
    min-width: unset;
    width: 100%;
  }
}
.mod-consultation-link {
  /* サムネイルとテキストのパターン
  -------------------------------------------------------------------- */
}
.mod-consultation-link__thumb-list {
  padding: 2.5rem 2rem;
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__thumb-list {
    padding: 1rem;
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-consultation-link__thumb-list .cmn-btn {
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__thumb-list .cmn-btn {
    margin-inline: auto;
  }
}
.mod-consultation-link__thumb-list-logo {
  border-radius: 0.75rem;
  aspect-ratio: 400/225;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 2rem;
  width: 40.1606425703%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 48rem) {
  .mod-consultation-link__thumb-list-logo {
    width: 100%;
    padding: 1.5rem;
  }
}
.mod-consultation-link__thumb-list-logo .img-tokyo-city {
  aspect-ratio: 336/58;
  max-width: 21rem;
}
.mod-consultation-link__thumb-list-desc {
  flex: 1;
}
.mod-consultation-link__thumb-list-txt {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__thumb-list-txt {
    font-size: 0.875rem;
  }
}
.mod-consultation-link__thumb-list-note {
  margin-top: 1rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-consultation-link__thumb-list-note {
    font-size: 0.75rem;
  }
}

/* =========================================================== */
/* マンション専用ページへのリンク */
/* =========================================================== */
.mod-mansion-link {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  /* レイアウト
  -------------------------------------------------------------------- */
}
.mod-mansion-link__head {
  background-color: #EEE6E0;
  padding: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-mansion-link__head {
    padding: 0.75rem 1rem;
  }
}
.mod-mansion-link__head-ttl {
  line-height: 1.5;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-mansion-link__head-ttl {
    font-size: 1.125rem;
  }
}
.mod-mansion-link__body {
  padding: 2.5rem 2.5rem 3rem;
}
@media (max-width: 48rem) {
  .mod-mansion-link__body {
    padding: 1.5rem 1rem;
  }
}
.mod-mansion-link__content {
  position: relative;
  max-width: 52.5rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mod-mansion-link__content-head {
  width: 38.75rem;
  max-width: 100%;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mansion-link__content-head {
    margin-bottom: 1rem;
    width: 100%;
    max-width: 19rem;
  }
}
.mod-mansion-link__desc {
  margin-bottom: 2rem;
  text-align: center;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-mansion-link__desc {
    margin-bottom: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-mansion-link__desc.--sp-left {
    text-align: left;
  }
}
.mod-mansion-link__btn-wrap {
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
  gap: 1rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-mansion-link__btn-wrap {
    gap: 1rem;
  }
}
@media (max-width: 30rem) {
  .mod-mansion-link .cmn-btn {
    width: 100%;
    font-size: 1rem;
    min-height: 3.5rem;
  }
}
.mod-mansion-link .cmn-txt-link02 {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-mansion-link .cmn-txt-link02 {
    font-size: 0.875rem;
  }
}

/*===========================================================*/
/* 件数表示カード */
/*===========================================================*/
.mod-highlight-listing-card {
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-highlight-listing-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-highlight-listing-card:hover .mod-highlight-listing-card__img {
    transform: scale(1.08);
  }
}
.cmn-container.--white .mod-highlight-listing-card {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
}
@media (any-hover: hover) {
  .cmn-container.--white .mod-highlight-listing-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.24);
  }
}
.mod-highlight-listing-card__favorite {
  position: absolute;
  z-index: 2;
  right: 0.5rem;
  top: 0.5rem;
}
.mod-highlight-listing-card .cmn-favorite-btn {
  width: 2.25rem;
  height: 2.25rem;
}
.mod-highlight-listing-card .cmn-favorite-btn .icon-favorite {
  width: 1.284375rem;
  height: 1.125rem;
}
.mod-highlight-listing-card__tag {
  position: absolute;
  z-index: 2;
  left: 1.25rem;
  top: 1rem;
  display: flex;
  gap: 0.5rem 0.25rem;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-highlight-listing-card__tag {
    left: 1rem;
    top: 0.75rem;
  }
}
.mod-highlight-listing-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #F2F2F2;
}
.mod-highlight-listing-card__tag-item.--new {
  background-color: #4FA719;
  color: #FFFFFF;
}
.mod-highlight-listing-card__tag-item.--secondary {
  background-color: #FFFFFF;
  color: #CC0000;
  border: 0.0625rem solid #CC0000;
}
.mod-highlight-listing-card__tag-item.--brown {
  background-color: #EEE6E0;
}
.mod-highlight-listing-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-highlight-listing-card__img-wrap {
  width: 100%;
  overflow: hidden;
  height: 13.5rem;
  padding: 1.25rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-highlight-listing-card__img-wrap {
    height: 12.25rem;
    padding: 1rem;
  }
}
.mod-highlight-listing-card.--img-large .mod-highlight-listing-card__img-wrap {
  height: 17.3125rem;
}
@media (max-width: 66.25rem) {
  .mod-highlight-listing-card.--img-large .mod-highlight-listing-card__img-wrap {
    height: 12.25rem;
  }
}
.mod-highlight-listing-card__img {
  transition: transform 0.3s ease-out;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-highlight-listing-card.--img-large .mod-highlight-listing-card__img {
  margin-right: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-highlight-listing-card.--img-large .mod-highlight-listing-card__img {
    margin-right: 1rem;
  }
}
.mod-highlight-listing-card__info {
  padding: 1.25rem;
  border-top: 0.0625rem solid #F2F2F2;
}
@media (max-width: 48rem) {
  .mod-highlight-listing-card__info {
    padding: 1rem;
  }
}
.mod-highlight-listing-card__ttl {
  font-weight: bold;
  font-size: 1rem;
}
.mod-highlight-listing-card__price {
  font-size: 0.875rem;
  font-weight: 400;
  color: #CC0000;
}
.mod-highlight-listing-card__price .num {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
}
.mod-highlight-listing-card__detail {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
}
.mod-highlight-listing-card__detail dt {
  font-size: 0.875rem;
  color: #4D4D4D;
  font-weight: 500;
}
.mod-highlight-listing-card__detail dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.mod-highlight-listing-card__detail-block {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-highlight-listing-card__detail-block + .mod-highlight-listing-card__detail-block {
  position: relative;
}
.mod-highlight-listing-card__detail-block + .mod-highlight-listing-card__detail-block::before {
  margin-right: 0.25rem;
  content: "";
  display: block;
  width: 0.125rem;
  height: 1rem;
  background-color: #CCCCCC;
}

/*===========================================================*/
/* 取り扱い営業所　売却のご相談　賃貸のご相談 */
/*===========================================================*/
.mod-contact-office {
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
  padding: 1.5rem;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-contact-office {
    padding: 2rem 1rem 1.5rem;
    flex-direction: column;
  }
}
.mod-contact-office.--single {
  justify-content: space-between;
  padding: 2.5rem 4.375rem;
}
@media (max-width: 48rem) {
  .mod-contact-office.--single {
    padding: 2rem 1rem 1.5rem;
  }
}
.mod-contact-office.--single .mod-contact-office__block:first-child {
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-contact-office.--single .mod-contact-office__block:first-child {
    align-items: center;
  }
}
@media (max-width: 48rem) {
  .mod-contact-office.--single .mod-contact-office__block + .mod-contact-office__block {
    margin-top: 1.25rem;
  }
}
.mod-contact-office.--single .mod-contact-office__ttl {
  margin-bottom: unset;
}
.mod-contact-office__block {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-contact-office__block {
    width: 100%;
  }
}
.mod-contact-office__head {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-contact-office__head {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}
.mod-contact-office__ttl {
  font-size: 1.125rem;
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-contact-office__ttl {
    text-align: center;
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-contact-office__ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.mod-contact-office__ttl.--first::before {
  right: unset;
  width: 49%;
}
@media (max-width: 48rem) {
  .mod-contact-office__ttl.--first::before {
    width: 100%;
    height: 49%;
    right: 0;
    bottom: unset;
  }
}
.mod-contact-office__ttl.--second::before {
  left: unset;
  width: 49%;
}
@media (max-width: 48rem) {
  .mod-contact-office__ttl.--second::before {
    width: 100%;
    height: 49%;
    left: 0;
    top: unset;
  }
}
.mod-contact-office__tel {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  pointer-events: none;
}
@media (max-width: 48rem) {
  .mod-contact-office__tel {
    pointer-events: auto;
    font-size: 0.75rem;
    border-radius: 2rem;
    border: 0.0625rem solid #DDDDDD;
    line-height: 3rem;
    width: 100%;
    max-width: 19rem;
    margin-bottom: 0.75rem;
  }
}
.mod-contact-office__tel .num {
  color: #020055;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-contact-office__tel .num {
    font-size: 1.125rem;
  }
}
.mod-contact-office__hours {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-contact-office__hours {
    flex-direction: column;
    gap: 0.25rem;
  }
}
.mod-contact-office__hours dt {
  font-size: 0.875rem;
  color: #4D4D4D;
  font-weight: 500;
}
.mod-contact-office__hours dd {
  font-size: 0.875rem;
  font-weight: 400;
}

/* =========================================================== */
/* マンション専用ページへのリンク */
/* =========================================================== */
.mod-quick-info-link {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  /* レイアウト
  -------------------------------------------------------------------- */
}
.mod-quick-info-link__head {
  background-color: #AF0808;
  padding: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-quick-info-link__head {
    padding: 0.75rem 1rem;
  }
}
.mod-quick-info-link__head-ttl {
  line-height: 1.5;
  font-size: 1.25rem;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-quick-info-link__head-ttl {
    font-size: 1rem;
  }
}
.mod-quick-info-link__body {
  padding: 2.5rem 2.5rem 3rem;
}
@media (max-width: 48rem) {
  .mod-quick-info-link__body {
    padding: 1.25rem 1rem;
  }
}
.mod-quick-info-link__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mod-quick-info-link__desc {
  margin-bottom: 2rem;
  text-align: center;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-quick-info-link__desc {
    margin-bottom: 1.25rem;
  }
}
.mod-quick-info-link__btn-wrap {
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-quick-info-link__btn-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-quick-info-link .cmn-btn {
  min-width: 19rem;
  font-size: 0.875rem;
}
@media (max-width: 30rem) {
  .mod-quick-info-link .cmn-btn {
    width: 100%;
    min-width: unset;
  }
}

/*===========================================================*/
/* 保存した条件カード */
/*===========================================================*/
.mod-saved-conditions-card {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
.mod-saved-conditions-card + .mod-saved-conditions-card {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card + .mod-saved-conditions-card {
    margin-top: 1.5rem;
  }
}
.mod-saved-conditions-card {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__wrapper {
  display: flex;
  gap: 1.5rem;
  padding: 1.25rem 1.25rem 1.5rem;
  z-index: 1;
  position: relative;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__wrapper {
    padding: 1rem 1rem 1.5rem;
    box-shadow: unset;
  }
}
.mod-saved-conditions-card__content {
  flex: 1;
}
.mod-saved-conditions-card {
  /* 日付
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__time {
  border-radius: 0.5rem;
  padding: 0.625rem;
  background-color: #F2F2F2;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  color: #4D4D4D;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__time {
    flex-direction: row;
    padding: 0 0.75rem;
    border-radius: 0.25rem;
    line-height: 1.75rem;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 0.75rem;
    white-space: nowrap;
  }
}
.mod-saved-conditions-card__time::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #808080;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-clock.svg);
          mask-image: url(../../../img/common/icon-clock.svg);
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__time::before {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.mod-saved-conditions-card {
  /* 編集、削除
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__data {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__data {
    margin-bottom: 1.25rem;
    gap: 1rem 0.375rem;
  }
}
.mod-saved-conditions-card__data-ctrl {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__data-ctrl {
    gap: 0.25rem;
  }
}
.mod-saved-conditions-card__data-btn {
  white-space: nowrap;
  line-height: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 1rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 0 1rem 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__data-btn {
    font-size: 0.875rem;
    gap: 0.25rem;
    line-height: 1.75rem;
  }
}
.mod-saved-conditions-card__data-btn::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-saved-conditions-card__data-btn.--edit::before {
  background-color: #4D4D4D;
  -webkit-mask-image: url(../../../img/mypage/icon-edit.svg);
          mask-image: url(../../../img/mypage/icon-edit.svg);
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__data-btn.--edit::before {
    width: 0.875rem;
    height: 0.875rem;
  }
}
.mod-saved-conditions-card__data-btn.--delete {
  color: #CC0000;
}
.mod-saved-conditions-card__data-btn.--delete::before {
  -webkit-mask-image: url(../../../img/mypage/icon-delete.svg);
          mask-image: url(../../../img/mypage/icon-delete.svg);
  background-color: #CC0000;
}
.mod-saved-conditions-card {
  /* 見出し
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__ttl {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__ttl {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
}
.mod-saved-conditions-card {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__tag {
  margin-bottom: 1rem;
  border-radius: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #EEE6E0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-saved-conditions-card__tag .separate {
  background-color: #808080;
  width: 0.125rem;
  height: 0.5rem;
  border-radius: 0.25rem;
}
.mod-saved-conditions-card {
  /* 設定詳細
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__detail {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__detail {
    gap: 0.5rem;
  }
}
.mod-saved-conditions-card__detail-block {
  font-size: 0.875rem;
  line-height: 1.5;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
.mod-saved-conditions-card__detail-block dt {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 500;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__detail-block dt {
    width: 5rem;
  }
}
.mod-saved-conditions-card__detail-block .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
}
.mod-saved-conditions-card__detail-list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__detail-list {
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-saved-conditions-card__detail-list .mod-saved-conditions-card__detail-block:not(:first-child) {
  position: relative;
  padding-left: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__detail-list .mod-saved-conditions-card__detail-block:not(:first-child) {
    padding-left: unset;
  }
}
.mod-saved-conditions-card__detail-list .mod-saved-conditions-card__detail-block:not(:first-child)::before {
  content: "";
  display: block;
  width: 0.125rem;
  height: 1rem;
  background-color: #CCCCCC;
  position: absolute;
  left: 0;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__detail-list .mod-saved-conditions-card__detail-block:not(:first-child)::before {
    display: none;
  }
}
.mod-saved-conditions-card {
  /* ボトムエリア リンク
  -------------------------------------------------------------------- */
}
.mod-saved-conditions-card__bottom {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  gap: 3rem;
}
@media (max-width: 66.25rem) {
  .mod-saved-conditions-card__bottom {
    padding: 1.5rem 1.25rem 1.25rem;
    flex-direction: column;
    gap: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__bottom {
    padding: 0 1rem 1rem;
  }
}
.mod-saved-conditions-card__bottom .search-btn-wrap {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .mod-saved-conditions-card__bottom .search-btn-wrap {
    justify-content: center;
  }
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__bottom .search-btn-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-saved-conditions-card__bottom .search-btn-wrap .cmn-btn {
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .mod-saved-conditions-card__bottom .search-btn-wrap .cmn-btn {
    min-width: unset;
    width: 100%;
    min-height: 3rem;
  }
}
.mod-saved-conditions-card__bottom .setting-btn-wrap {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .mod-saved-conditions-card__bottom .setting-btn-wrap {
    justify-content: center;
  }
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__bottom .setting-btn-wrap {
    justify-content: space-between;
  }
}
.mod-saved-conditions-card__bottom .setting-btn-ttl {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__bottom .setting-btn-ttl {
    font-size: 0.875rem;
  }
}
@media (max-width: 48rem) {
  .mod-saved-conditions-card__bottom .cmn-setting-btn {
    flex-direction: row;
    gap: 0.75rem;
  }
}

/* =========================================================== */
/* お知らせ系の記事で使用 管理画面から記入するタイプの記事 */
/* =========================================================== */
.mod-article {
  padding: 4rem 4.375rem 5rem;
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  z-index: 2;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-article {
    padding: 2.5rem 1rem 3rem;
  }
}
.mod-article-head {
  position: relative;
}
.mod-article-head::before {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 430/657;
  height: auto;
  z-index: 1;
  background-color: #EEE6E0;
  -webkit-mask-image: url(../../../img/common/bg-baton-tube-brown.svg);
          mask-image: url(../../../img/common/bg-baton-tube-brown.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  right: -8.5625rem;
  top: -5.625rem;
  width: max(26.74vw, 26.875rem);
}
@media (max-width: 48rem) {
  .mod-article-head::before {
    width: max(31.38vw, 7.375rem);
    right: -1.625rem;
    top: -2.1875rem;
  }
}
.mod-article-head .cmn-page-head__ttl {
  position: relative;
  z-index: 2;
}
.mod-article-head + .cmn-container {
  padding-top: 0;
}
@media (max-width: 48rem) {
  .mod-article-head + .cmn-container {
    padding-top: 0rem;
  }
}
@media (max-width: 48rem) {
  .mod-article-head.cmn-page-head {
    height: auto;
    padding-block: 1rem;
  }
}
.mod-article__ttl-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.mod-article__contents-ttl {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-article__contents-ttl {
    font-size: 1.125rem;
  }
}
.mod-article__block-ttl {
  font-weight: 700;
  font-size: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #DDDDDD;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-article__block-ttl {
    font-size: 1rem;
  }
}
.mod-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.25rem;
}
.mod-article__tags > li {
  font-size: 0.75rem;
  background-color: #F2F2F2;
  color: #4D4D4D;
  font-weight: 500;
  height: 1.25rem;
  padding-inline: 0.5rem;
  border-radius: 0.25rem;
}
.mod-article__date {
  font-family: "Lato", sans-serif;
  margin-bottom: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-article__date {
    margin-bottom: 1rem;
  }
}
.mod-article__body .font-small {
  font-size: 0.75rem;
}
.mod-article__body .font-large {
  font-size: 1.25rem;
}
.mod-article__body .font-huge {
  font-size: 2rem;
}
.mod-article__body strong {
  font-weight: 700;
}
.mod-article__body em {
  font-style: italic;
}
.mod-article__body ol {
  counter-reset: list-0;
  list-style: none;
}
.mod-article__body ol li {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
.mod-article__body ol li::before {
  counter-increment: list-0;
  content: counter(list-0, decimal) ". ";
  display: inline-block;
  flex-shrink: 0;
  min-width: 1.5em;
}
.mod-article__body ul > li {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
.mod-article__body ul > li::before {
  content: "• ";
  display: inline-block;
  white-space: nowrap;
  flex-shrink: 0;
}
.mod-article__body .space-indent {
  text-indent: 6em;
}
@media (max-width: 48rem) {
  .mod-article__body .space-indent {
    text-indent: 4em;
  }
}
.mod-article__body .color-black {
  color: #000000;
}
.mod-article__body .color-white {
  color: #FFFFFF;
}
.mod-article__body .color-gray01 {
  color: #bbbbbb;
}
.mod-article__body .color-gray02 {
  color: #888888;
}
.mod-article__body .color-gray03 {
  color: #444444;
}
.mod-article__body .color-red01 {
  color: #F00000;
}
.mod-article__body .color-red02 {
  color: #FCE2E2;
}
.mod-article__body .color-red03 {
  color: #F67171;
}
.mod-article__body .color-red04 {
  color: #CA0000;
}
.mod-article__body .color-red05 {
  color: #5c0000;
}
.mod-article__body .color-orange01 {
  color: #ff9900;
}
.mod-article__body .color-orange02 {
  color: #ffebcc;
}
.mod-article__body .color-orange03 {
  color: #ffc266;
}
.mod-article__body .color-orange04 {
  color: #b26b00;
}
.mod-article__body .color-orange05 {
  color: #663d00;
}
.mod-article__body .color-yellow01 {
  color: #ffff00;
}
.mod-article__body .color-yellow02 {
  color: #ffffcc;
}
.mod-article__body .color-yellow03 {
  color: #ffff66;
}
.mod-article__body .color-yellow04 {
  color: #b2b200;
}
.mod-article__body .color-yellow05 {
  color: #666600;
}
.mod-article__body .color-green01 {
  color: #008a00;
}
.mod-article__body .color-green02 {
  color: #cce8cc;
}
.mod-article__body .color-green03 {
  color: #66b966;
}
.mod-article__body .color-green04 {
  color: #006100;
}
.mod-article__body .color-green05 {
  color: #003700;
}
.mod-article__body .color-blue01 {
  color: #0066cc;
}
.mod-article__body .color-blue02 {
  color: #cce0f5;
}
.mod-article__body .color-blue03 {
  color: #66a3e0;
}
.mod-article__body .color-blue04 {
  color: #0047b2;
}
.mod-article__body .color-blue05 {
  color: #002966;
}
.mod-article__body .color-purple01 {
  color: #9933ff;
}
.mod-article__body .color-purple02 {
  color: #ebd6ff;
}
.mod-article__body .color-purple03 {
  color: #c285ff;
}
.mod-article__body .color-purple04 {
  color: #6b24b2;
}
.mod-article__body .color-purple05 {
  color: #3d1466;
}
.mod-article__body .bg-color-black {
  background-color: #000000;
}
.mod-article__body .bg-color-white {
  background-color: #FFFFFF;
}
.mod-article__body .bg-color-gray01 {
  background-color: #bbbbbb;
}
.mod-article__body .bg-color-gray02 {
  background-color: #888888;
}
.mod-article__body .bg-color-gray03 {
  background-color: #444444;
}
.mod-article__body .bg-color-red01 {
  background-color: #F00000;
}
.mod-article__body .bg-color-red02 {
  background-color: #FCE2E2;
}
.mod-article__body .bg-color-red03 {
  background-color: #F67171;
}
.mod-article__body .bg-color-red04 {
  background-color: #CA0000;
}
.mod-article__body .bg-color-red05 {
  background-color: #5c0000;
}
.mod-article__body .bg-color-orange01 {
  background-color: #ff9900;
}
.mod-article__body .bg-color-orange02 {
  background-color: #ffebcc;
}
.mod-article__body .bg-color-orange03 {
  background-color: #ffc266;
}
.mod-article__body .bg-color-orange04 {
  background-color: #b26b00;
}
.mod-article__body .bg-color-orange05 {
  background-color: #663d00;
}
.mod-article__body .bg-color-yellow01 {
  background-color: #ffff00;
}
.mod-article__body .bg-color-yellow02 {
  background-color: #ffffcc;
}
.mod-article__body .bg-color-yellow03 {
  background-color: #ffff66;
}
.mod-article__body .bg-color-yellow04 {
  background-color: #b2b200;
}
.mod-article__body .bg-color-yellow05 {
  background-color: #666600;
}
.mod-article__body .bg-color-green01 {
  background-color: #008a00;
}
.mod-article__body .bg-color-green02 {
  background-color: #cce8cc;
}
.mod-article__body .bg-color-green03 {
  background-color: #66b966;
}
.mod-article__body .bg-color-green04 {
  background-color: #006100;
}
.mod-article__body .bg-color-green05 {
  background-color: #003700;
}
.mod-article__body .bg-color-blue01 {
  background-color: #0066cc;
}
.mod-article__body .bg-color-blue02 {
  background-color: #cce0f5;
}
.mod-article__body .bg-color-blue03 {
  background-color: #66a3e0;
}
.mod-article__body .bg-color-blue04 {
  background-color: #0047b2;
}
.mod-article__body .bg-color-blue05 {
  background-color: #002966;
}
.mod-article__body .bg-color-purple01 {
  background-color: #9933ff;
}
.mod-article__body .bg-color-purple02 {
  background-color: #ebd6ff;
}
.mod-article__body .bg-color-purple03 {
  background-color: #c285ff;
}
.mod-article__body .bg-color-purple04 {
  background-color: #6b24b2;
}
.mod-article__body .bg-color-purple05 {
  background-color: #3d1466;
}
.mod-article__body .align-center {
  text-align: center;
}
.mod-article__body .align-right {
  text-align: right;
}
.mod-article__body .text-link {
  color: #074EBB;
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-article__body .text-link:hover {
    opacity: 0.6;
  }
}
.mod-article__body .image-box {
  display: inline-block;
}
.mod-article__body .image-box img {
  width: auto;
  height: 25rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 48rem) {
  .mod-article__body .image-box img {
    max-height: 18.75rem;
  }
}
@media (max-width: 30rem) {
  .mod-article__body .image-box img {
    width: 100%;
    height: auto;
  }
}
.mod-article ul.mod-article__instructor-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-article ul.mod-article__instructor-list {
    gap: 1rem;
  }
}
.mod-article ul.mod-article__instructor-list > li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-article ul.mod-article__instructor-list > li {
    gap: 0.5rem;
    width: calc((100% - 1rem) / 2);
  }
}
.mod-article ul.mod-article__instructor-list > li::before {
  content: none;
}
.mod-article ul.mod-article__instructor-list > li .mod-article__instructor-img {
  width: 11.25rem;
  height: 11.25rem;
}
@media (max-width: 48rem) {
  .mod-article ul.mod-article__instructor-list > li .mod-article__instructor-img {
    width: 9rem;
    height: 9rem;
  }
}
.mod-article ul.mod-article__instructor-list > li .mod-article__instructor-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  border-radius: 0.75rem;
}
.mod-article ul.mod-article__instructor-list > li > p {
  font-weight: 700;
  font-size: 1.125rem;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-article ul.mod-article__instructor-list > li > p {
    font-size: 1rem;
  }
}
.mod-article__2column {
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .mod-article__2column {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.mod-article__2column-contents {
  display: flex;
  flex-direction: column;
}
.mod-article__2column-ttl {
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  text-decoration: underline;
}
@media (max-width: 48rem) {
  .mod-article__2column-ttl {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
}
.mod-article__2column-link {
  margin-top: 0.5rem;
  text-decoration: underline;
}
@media (max-width: 48rem) {
  .mod-article__2column-link {
    margin-top: 0.75rem;
  }
}
.mod-article__2column-link span {
  font-size: 0.875rem;
}
.mod-article__2column-img {
  max-width: 27.5rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-article__2column-img {
    max-width: 100%;
  }
}
.mod-article {
  /* この記事を監修した専門家
  -------------------------------------------------------------------- */
}
.mod-article__supervisor-box {
  margin-top: 2.5rem;
  padding: 2.5rem;
  border-radius: 0.75rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  display: flex;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-article__supervisor-box {
    margin-top: 1.5rem;
    padding: 1rem;
    gap: 1rem;
    flex-direction: column;
  }
}
.mod-article__supervisor-img {
  flex-shrink: 0;
  width: 6.125rem;
  height: 6.125rem;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-article__supervisor-img {
    width: 3.125rem;
    height: 3.125rem;
  }
}
.mod-article__supervisor-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
.mod-article__supervisor-prof {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mod-article__supervisor-prof dt {
  font-weight: 700;
  text-decoration: underline;
}
@media (max-width: 48rem) {
  .mod-article__supervisor-prof dt {
    font-size: 1rem;
  }
}
.mod-article__supervisor-prof dd.mod-article__supervisor-prof-title {
  font-size: 0.875rem;
}
.mod-article__supervisor-prof dd.mod-article__supervisor-prof-comment {
  font-size: 0.75rem;
}
.mod-article__supervisor-note {
  font-size: 0.75rem;
  margin-top: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-article__supervisor-note {
    font-size: 0.625rem;
  }
}

/* =========================================================== */
/* お気に入り比較テーブル */
/* =========================================================== */
.mod-compare-table {
  background-color: #FFFFFF;
  border-right: #DDDDDD solid 0.0625rem;
  border-bottom: #DDDDDD solid 0.0625rem;
  line-height: 1.5;
}
.js-drag-scrollable .mod-compare-table {
  width: -moz-max-content;
  width: max-content;
}
@media (max-width: 48rem) {
  .mod-compare-table {
    border-left: #DDDDDD solid 0.0625rem;
  }
}
.mod-compare-table__row {
  display: flex;
  align-items: stretch;
  border-top: #DDDDDD solid 0.0625rem;
}
.mod-compare-table__label {
  padding: 1.25rem 1.5rem;
  font-size: 0.875rem;
  color: #4D4D4D;
  font-weight: bold;
  background-color: #F2F2F2;
  width: 10rem;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-compare-table__label {
    font-size: 0.75rem;
    font-weight: 400;
    padding: 0.5rem;
    width: 5.125rem;
  }
}
.mod-compare-table__value {
  padding: 1.25rem 1.5rem;
  border-left: #DDDDDD solid 0.0625rem;
  width: calc((100% - 10rem) / 2);
}
@media (max-width: 48rem) {
  .mod-compare-table__value {
    width: calc((100% - 5.125rem) / 2);
    padding: 0.5rem 0.75rem;
  }
  .js-drag-scrollable .mod-compare-table__value {
    max-width: max(7.875rem, 33vw);
  }
}
.mod-compare-table__value:nth-child(odd) {
  background-color: #EEE6E0;
}
.mod-compare-table__row:has(> :nth-child(4)) .mod-compare-table__value {
  max-width: 25rem;
}
@media (max-width: 48rem) {
  .mod-compare-table__row:has(> :nth-child(4)) .mod-compare-table__value {
    max-width: max(7.875rem, 33vw);
  }
}
.mod-compare-table__value .tag {
  font-size: 0.875rem;
  font-weight: 400;
  padding: 0.25rem 1rem;
  white-space: nowrap;
  display: inline-block;
  background-color: #F6F1EE;
  border-radius: 0.3125rem;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .tag {
    padding: 0.25rem;
    font-size: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-compare-table__value .tag + .img-wrap {
    margin-top: 0.5rem;
  }
}
.mod-compare-table__value .txt {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .txt {
    font-size: 0.75rem;
    font-weight: 400;
  }
}
.mod-compare-table__value .txt + .img-wrap {
  margin-top: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .txt + .img-wrap {
    margin-top: 1rem;
  }
}
.mod-compare-table__value .img-wrap {
  position: relative;
  width: 100%;
}
.mod-compare-table__value .img-wrap + .txt {
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .img-wrap + .txt {
    margin-top: 0.5rem;
  }
}
.mod-compare-table__value .blocker {
  position: absolute;
  inset: 0;
  background: transparent;
}
.mod-compare-table__value .img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 25rem;
  aspect-ratio: 400/266;
  width: 100%;
}
.mod-compare-table__value .price {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .price {
    font-size: 0.75rem;
  }
}
.mod-compare-table__value .num {
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .num {
    font-size: 1rem;
  }
}
.mod-compare-table__value .link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .link {
    gap: 0.5rem;
  }
}
.mod-compare-table__value .link::after {
  content: "";
  display: block;
  width: 0.5rem;
  aspect-ratio: 8/14;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .link::after {
    width: 0.375rem;
  }
}
@media (any-hover: hover) {
  .mod-compare-table__value .link:hover .link-txt {
    color: #F00000;
    text-decoration: underline;
  }
}
.mod-compare-table__value .link.--blank::after {
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  width: 1rem;
  aspect-ratio: 1/1;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .link.--blank::after {
    width: 0.75rem;
  }
}
.mod-compare-table__value .link .link-txt {
  transition: color 0.3s ease-out;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-compare-table__value .link .link-txt {
    font-size: 0.75rem;
  }
}

/* =========================================================== */
/* 画像付き 関連リンク */
/* =========================================================== */
.mod-img-related-links {
  display: flex;
  flex-wrap: wrap;
}
.mod-img-related-links.--2col {
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-img-related-links.--2col {
    gap: 1.25rem;
  }
}
.mod-img-related-links.--3col.--s {
  gap: 2rem;
}
@media (max-width: 48rem) {
  .mod-img-related-links.--3col.--s {
    gap: 1rem;
  }
}
.--2col .mod-img-related-links__item {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .--2col .mod-img-related-links__item {
    width: 100%;
  }
}
.--3col.--s .mod-img-related-links__item {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .--3col.--s .mod-img-related-links__item {
    width: 100%;
  }
}
.mod-img-related-links__item > a {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  border: 1px solid #DDDDDD;
  min-height: 8.4375rem;
  padding: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.75rem 1rem;
  transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-img-related-links__item > a {
    min-height: auto;
    padding: 1rem;
    flex-wrap: wrap;
  }
}
@media (any-hover: hover) {
  .mod-img-related-links__item > a:hover {
    border-color: #F00000;
    box-shadow: 0 0 0 2px #F00000 inset;
  }
  .mod-img-related-links__item > a:hover .mod-img-related-links__ttl {
    color: #F00000;
  }
}
.mod-img-related-links__item > a .u-mask-arrow {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  -webkit-mask-size: 0.5rem 1rem;
          mask-size: 0.5rem 1rem;
  -webkit-mask-position: center center;
          mask-position: center center;
}
.--s .mod-img-related-links__item > a {
  min-height: 6.5rem;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .--s .mod-img-related-links__item > a {
    min-height: auto;
    gap: 1rem;
  }
}
.mod-img-related-links__img {
  width: 6.9375rem;
  height: 6.9375rem;
  flex-shrink: 0;
  border-radius: 0.3125rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .mod-img-related-links__img {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.--s .mod-img-related-links__img {
  width: 5rem;
  height: 5rem;
}
@media (max-width: 48rem) {
  .--s .mod-img-related-links__img {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.mod-img-related-links__txt-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-img-related-links__txt-wrap {
    display: contents;
  }
}
.mod-img-related-links__ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-img-related-links__ttl-wrap {
    width: calc(100% - 4.5rem - 1rem);
  }
}
.mod-img-related-links__ttl {
  font-size: 1.125rem;
  font-weight: 700;
  transition: color 0.3s ease-out;
}
@media (max-width: 66.25rem) {
  .mod-img-related-links__ttl {
    font-size: 1rem;
  }
}
.--s .mod-img-related-links__ttl {
  font-size: 0.875rem;
  font-weight: 400;
}
@media (max-width: 66.25rem) {
  .--s .mod-img-related-links__ttl {
    font-size: 0.75rem;
  }
}
.mod-img-related-links__txt {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-img-related-links__txt {
    font-size: 0.75rem;
    width: 100%;
  }
}

/* =========================================================== */
/* バナー関連リンク */
/* =========================================================== */
.mod-bnr-related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
@media (max-width: 48rem) {
  .mod-bnr-related-links {
    gap: 2rem;
  }
}
.mod-bnr-related-links__item {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .mod-bnr-related-links__item {
    width: 100%;
  }
}
.mod-bnr-related-links__item > a {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (any-hover: hover) {
  .mod-bnr-related-links__item > a:hover .mod-bnr-related-links__img {
    transform: scale(1.08);
  }
  .mod-bnr-related-links__item > a:hover .cmn-txt-link {
    color: #F00000;
    text-decoration: none;
  }
}
.mod-bnr-related-links__item .cmn-txt-link img {
  flex-shrink: 0;
}
.mod-bnr-related-links__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 332/120;
  border-radius: 0.75rem;
  border: 1px solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-bnr-related-links__img-wrap {
    aspect-ratio: 336/120;
    border-radius: 0.5rem;
  }
}
.mod-bnr-related-links__img-wrap img {
  aspect-ratio: 332/120;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-bnr-related-links__img-wrap img {
    aspect-ratio: 336/120;
  }
}

/* =========================================================== */
/* Myページ導線 */
/* =========================================================== */
/* 
-------------------------------------------------------------------- */
.mod-mypage-portal {
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.08));
}
.mod-mypage-portal__main {
  background-color: #F23939;
  padding: 2.5rem 1.5rem;
  position: relative;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__main {
    padding: 2rem 1rem;
  }
}
.mod-mypage-portal__main:has(.mod-mypage-portal__txt-link) {
  padding: 2.5rem 1.5rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__main:has(.mod-mypage-portal__txt-link) {
    padding: 2rem 1rem 1.25rem;
  }
}
.mod-mypage-portal__main::before {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 238.6/343.61;
  height: auto;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/bg-baton02.svg);
          mask-image: url(../../../img/common/bg-baton02.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  z-index: 1;
  right: -3.875rem;
  top: -4.5rem;
  width: 14.9125rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__main::before {
    right: -1.9375rem;
    top: 0;
    width: 14.135625rem;
  }
}
.mod-mypage-portal__main-inner {
  max-width: 57.5rem;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
.mod-mypage-portal {
  /* 導入エリア
  -------------------------------------------------------------------- */
}
.mod-mypage-portal__lead-area {
  color: #FFFFFF;
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__lead-area {
    margin-bottom: 0.5rem;
  }
}
.mod-mypage-portal__ttl {
  font-size: 2.25rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__ttl {
    font-size: 1.625rem;
    margin-bottom: 1rem;
  }
}
.mod-mypage-portal__ttl .u-font-lato {
  font-size: 2.5rem;
  font-weight: 900;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__ttl .u-font-lato {
    font-size: 1.8125rem;
  }
}
.mod-mypage-portal__desc {
  font-weight: 500;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__desc {
    text-align: left;
  }
}
.mod-mypage-portal__txt-link {
  margin-top: 1.25rem;
  display: flex;
  justify-content: flex-end;
}
.--portal03 .mod-mypage-portal__txt-link {
  justify-content: center;
}
@media (max-width: 48rem) {
  .--portal03 .mod-mypage-portal__txt-link {
    justify-content: flex-end;
  }
}
.mod-mypage-portal__btn {
  margin-top: 2rem;
  width: 100%;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__btn {
    margin-top: 1.5rem;
  }
}
.mod-mypage-portal__btn .cmn-btn {
  font-size: 0.875rem;
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .mod-mypage-portal__btn .cmn-btn {
    width: 19rem;
    min-width: unset;
  }
}
.mod-mypage-portal {
  /* ポイント
  -------------------------------------------------------------------- */
}
.mod-mypage-portal__point {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point {
    gap: 0.5rem;
  }
}
.mod-mypage-portal__point + .mod-mypage-portal__btn {
  margin-top: 1.5rem;
}
.mod-mypage-portal__point-item {
  margin-top: 2rem;
  background-color: #FFFFFF;
  padding: 2.75rem 0.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-item {
    margin-top: 1.75rem;
    width: 100%;
    flex-wrap: wrap;
    flex: unset;
    padding: 2.25rem 0.5rem 1rem;
  }
}
.mod-mypage-portal__point-item:first-child {
  border-radius: 0.75rem 0 0 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-item:first-child {
    border-radius: 0.75rem;
  }
}
.mod-mypage-portal__point-item:nth-child(2)::before, .mod-mypage-portal__point-item:nth-child(2)::after {
  content: "";
  display: block;
  width: 0.0625rem;
  position: absolute;
  top: 1.25rem;
  bottom: 1.25rem;
  background-image: linear-gradient(to bottom, #808080 1px, transparent 1px);
  background-size: 0.0625rem 0.25rem;
  background-repeat: repeat-y;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-item:nth-child(2)::before, .mod-mypage-portal__point-item:nth-child(2)::after {
    display: none;
  }
}
.mod-mypage-portal__point-item:nth-child(2)::before {
  left: 0;
}
.mod-mypage-portal__point-item:nth-child(2)::after {
  right: 0;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-item:nth-child(2) {
    border-radius: 0.75rem;
    width: calc((100% - 0.5rem) / 2);
  }
}
.mod-mypage-portal__point-item:last-child {
  border-radius: 0 0.75rem 0.75rem 0;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-item:last-child {
    border-radius: 0.75rem;
    width: calc((100% - 0.5rem) / 2);
  }
}
.mod-mypage-portal__point-icon {
  top: -2rem;
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-icon {
    top: -1.75rem;
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mod-mypage-portal__point-icon::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  z-index: 2;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-icon::before {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mod-mypage-portal__point-icon.--icon-bell::before {
  background-image: url(../../../img/mypage/icon-bell-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-mail::before {
  background-image: url(../../../img/mypage/icon-mail-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-heart::before {
  background-image: url(../../../img/mypage/icon-heart-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-file::before {
  background-image: url(../../../img/mypage/icon-file-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-user::before {
  background-image: url(../../../img/mypage/icon-user-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-house::before {
  background-image: url(../../../img/mypage/icon-house-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-phone::before {
  background-image: url(../../../img/mypage/icon-phone-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-search::before {
  background-image: url(../../../img/mypage/icon-search-point02.svg);
}
.mod-mypage-portal__point-icon.--icon-graph::before {
  background-image: url(../../../img/mypage/icon-graph-point02.svg);
}
.mod-mypage-portal__point-num {
  line-height: 1.5;
  margin-bottom: 0.5rem;
  color: #F00000;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-num {
    margin-bottom: 0.25rem;
    font-size: 0.6875rem;
  }
}
.mod-mypage-portal__point-num .num {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-num .num {
    font-size: 0.75rem;
  }
}
.mod-mypage-portal__point-txt {
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point-txt {
    font-size: 0.875rem;
  }
}
.mod-mypage-portal {
  /* ポイント02 PCで2つ並んでいるパターン
  -------------------------------------------------------------------- */
}
.mod-mypage-portal__point02 {
  display: flex;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point02 {
    gap: 1rem;
    flex-direction: column;
  }
}
.mod-mypage-portal__point02-item {
  margin-top: 2.5rem;
  background-color: #FFFFFF;
  padding: 3.5rem 0.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 1;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point02-item {
    margin-top: 1.75rem;
    padding: 2.25rem 1.25rem 1.5rem;
  }
}
.mod-mypage-portal__point02-icon {
  top: -2.5rem;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point02-icon {
    top: -1.75rem;
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mod-mypage-portal__point02-icon::before {
  content: "";
  display: block;
  width: 5rem;
  height: 5rem;
  z-index: 2;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point02-icon::before {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mod-mypage-portal__point02-icon.--icon-file::before {
  background-image: url(../../../img/mypage/icon-file-point02.svg);
}
.mod-mypage-portal__point02-icon.--icon-mail::before {
  background-image: url(../../../img/mypage/icon-mail-point02.svg);
}
.mod-mypage-portal__point02-txt {
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__point02-txt {
    font-size: 0.875rem;
  }
}
.mod-mypage-portal__point02-btn {
  margin-top: 1.25rem;
  width: 100%;
  display: flex;
  justify-content: center;
}
.mod-mypage-portal__point02-btn .cmn-btn {
  font-size: 0.875rem;
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .mod-mypage-portal__point02-btn .cmn-btn {
    min-width: unset;
    width: 19rem;
  }
}
.mod-mypage-portal {
  /* ナビゲーション
  -------------------------------------------------------------------- */
}
.mod-mypage-portal__link {
  background-color: #F6F1EE;
  padding: 1.5rem 1.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__link {
    padding: 1.75rem 1rem 2rem;
  }
}
.mod-mypage-portal__link.--white {
  background-color: #FFFFFF;
}
.cmn-container.--brown .mod-mypage-portal__link {
  background-color: #FFFFFF;
}
.mod-mypage-portal__link .cmn-btn {
  width: 19rem;
  font-size: 0.875rem;
}
.mod-mypage-portal__link-wrap {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__link-wrap {
    gap: 1.5rem;
    flex-direction: column-reverse;
  }
}
.mod-mypage-portal__link-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-portal__link-item {
    width: 100%;
  }
}
.mod-mypage-portal__link-sub-txt {
  line-height: 1.5;
  font-size: 0.875rem;
  font-weight: 500;
}

/* =========================================================== */
/* 特徴から探す */
/* =========================================================== */
/* 
-------------------------------------------------------------------- */
.mod-tab .mod-search-by-features {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-tab .mod-search-by-features {
    margin-top: 1.25rem;
  }
}

.mod-search-by-features {
  /* カード
  -------------------------------------------------------------------- */
}
.mod-search-by-features__cards {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-search-by-features__cards {
    gap: 0.75rem 1rem;
  }
}
.mod-search-by-features__card {
  width: calc((100% - 4.5rem) / 4);
  isolation: isolate;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 0.0625rem solid #DDDDDD;
  transition: border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-search-by-features__card {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-search-by-features__cards:has(.mod-search-by-features__card:nth-of-type(n+2)) .mod-search-by-features__card {
    width: calc((100% - 2rem) / 2);
  }
}
@media (any-hover: hover) {
  .mod-search-by-features__card:hover {
    box-shadow: inset 0 0 0 0.125rem #F00000;
    border-color: #F00000;
  }
  .mod-search-by-features__card:hover .mod-search-by-features__card-txt {
    color: #F00000;
  }
  .mod-search-by-features__card:hover .mod-search-by-features__card-thumb {
    transform: scale(1.1);
  }
}
.mod-search-by-features__card-thumb-wrap {
  overflow: hidden;
}
.mod-search-by-features__card-thumb {
  aspect-ratio: 247/103;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  transition: transform 0.3s ease-out;
}
.mod-search-by-features__card-txt {
  display: block;
  transition: color 0.3s ease-out;
  background-color: #FFFFFF;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-search-by-features__card-txt {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
}
.mod-search-by-features {
  /*　リスト
  -------------------------------------------------------------------- */
}
.mod-search-by-features__list {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
}
@media (max-width: 48rem) {
  .mod-search-by-features__list {
    margin-top: 1rem;
    gap: 0.5rem 0.25rem;
  }
}
.mod-search-by-features__list-link {
  display: inline-block;
  font-size: 0.875rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-search-by-features__list-link {
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .mod-search-by-features__list-link:hover {
    border-color: #F00000;
    background-color: #FCE2E2;
    color: #F00000;
  }
}

/* =========================================================== */
/* Myページ登録モーダル系フォーム */
/* =========================================================== */
.mod-member-form {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-member-form {
    margin-top: 2.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-member-form.--msg {
    margin-bottom: -1.5rem;
  }
}
.mod-member-form__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-member-form__head {
    margin-bottom: 1rem;
  }
}
.mod-member-form__head .sub {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 0.875rem;
  border-radius: 3.125rem;
  display: inline-block;
  padding: 0.5rem 1rem;
  line-height: 1.4;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #BD967C;
}
@media (max-width: 48rem) {
  .mod-member-form__head .sub {
    font-size: 0.75rem;
    padding: 0.5rem 1rem;
  }
}
.mod-member-form__head .msg {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-member-form__head .msg {
    font-size: 1.125rem;
  }
}
.mod-member-form__head .error-msg {
  text-align: center;
  font-size: 1.125rem;
  margin-top: 0.625rem;
  color: #F00000;
}
@media (max-width: 48rem) {
  .mod-member-form__head .error-msg {
    font-size: 0.75rem;
    margin-top: 0.75rem;
  }
}
.mod-member-form__body {
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  padding: 2.5rem 1rem;
}
@media (max-width: 48rem) {
  .mod-member-form__body {
    border-radius: unset;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    padding: 1.5rem 1rem;
  }
}
.mod-member-form__inner {
  max-width: 52.5rem;
  margin-inline: auto;
}
.mod-member-form__ttl-wrap {
  margin-bottom: 1.5rem;
}
.mod-member-form__ttl {
  font-size: 1.375rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 48rem) {
  .mod-member-form__ttl {
    font-size: 1.125rem;
  }
}
.mod-member-form__arrow-wrap {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 48rem) {
  .mod-member-form__arrow-wrap {
    justify-content: flex-start;
  }
}
.mod-member-form__arrow-wrap.--sp-left {
  justify-content: flex-start;
}
@media (max-width: 48rem) {
  .mod-member-form__arrow-wrap.--sp-left {
    justify-content: flex-start;
  }
}
.mod-member-form__error-msg {
  margin-bottom: 1.5rem;
  margin-left: 10rem;
  font-size: 0.875rem;
  color: #F00000;
}
@media (max-width: 48rem) {
  .mod-member-form__error-msg {
    margin-left: unset;
  }
}
.mod-member-form__block {
  display: grid;
  grid-template-columns: 10rem 1fr;
}
@media (max-width: 48rem) {
  .mod-member-form__block {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
.mod-member-form__block + .mod-member-form__block {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-member-form__block + .mod-member-form__block {
    margin-top: 1rem;
  }
}
.mod-member-form__block-ttl {
  font-size: 1rem;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-member-form__block-ttl {
    font-size: 0.875rem;
    margin-top: unset;
  }
}
.mod-member-form__input-box {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
}
.mod-member-form__input-box input {
  display: block;
  width: 100%;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.5rem;
  padding: 0 1rem;
  font-size: 1rem;
  background-color: #FFFFFF;
  min-height: 3rem;
}
.mod-member-form__input-box.--password input {
  padding-right: 3.625rem;
}
@media (max-width: 48rem) {
  .mod-member-form__input-box.--password input {
    padding-right: 2.875rem;
  }
}
.mod-member-form__input-box.--password .icon {
  position: absolute;
  width: 1.375rem;
  height: auto;
  right: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-member-form__input-box.--password .icon {
    right: 1rem;
  }
}
.mod-member-form__input-note {
  font-size: 0.875rem;
  line-height: 1.5;
  margin-top: 1rem;
}
.mod-member-form__input-note a {
  text-decoration: underline;
}
.mod-member-form__confirmation {
  border-radius: 0.5rem;
  border: 0.0625rem solid #CCCCCC;
  padding: 1rem;
}
.mod-member-form__confirmation-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-member-form__confirmation-txt {
    font-size: 0.875rem;
  }
}
.mod-member-form__confirmation-link {
  font-size: 1rem;
  color: #F00000;
  position: relative;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  text-decoration: underline;
}
@media (max-width: 48rem) {
  .mod-member-form__confirmation-link {
    font-size: 0.875rem;
  }
}
.mod-member-form__confirmation-link:after {
  content: "";
  display: block;
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: #808080;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-member-form__utility {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.75rem 1rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-member-form__utility {
    gap: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-member-form__utility .cmn-txt-link02 {
    margin-left: auto;
  }
}
.mod-member-form__conv {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-member-form__conv {
    margin-top: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-modal .mod-member-form__conv {
    padding-bottom: 1.5rem;
  }
}
.mod-member-form__btn {
  line-height: 1.5;
  border-radius: 2.3125rem;
  padding: 0.625rem 2.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  background-color: #F00000;
  width: 100%;
  max-width: 25rem;
}
@media (max-width: 48rem) {
  .mod-member-form__btn {
    padding: 0.625rem 2.5rem;
  }
}
@media (any-hover: hover) {
  .mod-member-form__btn:not(:disabled):hover {
    background-color: #AF0808;
  }
}
.mod-member-form__btn:disabled {
  background-color: #808080;
}
.mod-member-form__btn .txt {
  font-size: 1.25rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-member-form__btn .txt {
    font-size: 1.125rem;
  }
}
.mod-member-form__btn .sub-txt {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-member-form__btn .sub-txt {
    font-size: 0.875rem;
  }
}
.mod-member-form__btn .icon {
  display: block;
  width: 0.5rem;
  aspect-ratio: 8/13;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  pointer-events: none;
  right: 1.5rem;
}
/* =========================================================== */
/* Myページご利用ガイド */
/* =========================================================== */
.mod-mypage-guide {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 100%;
  margin-top: 32px;
}
@media (max-width: 66.25rem) {
  .mod-mypage-guide {
    margin-top: 0rem;
  }
}
.mod-mypage-guide::before {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 152.55/226.9;
  height: auto;
  background-image: url(../../../img/mypage/mypage-phone.webp);
  background-size: contain;
  background-repeat: no-repeat;
  bottom: 50%;
  transform: translateY(40%);
  right: 1.75rem;
  z-index: 2;
  width: max(9.49vw, 9.534375rem);
}
@media (max-width: 48.0625rem) {
  .mod-mypage-guide::before {
    right: 0.25rem;
    transform: translateY(58%);
  }
}
@media (max-width: 30rem) {
  .mod-mypage-guide::before {
    width: 5.58rem;
  }
}
.mod-mypage-guide .font-lato {
  font-family: "Lato", sans-serif;
}
.mod-mypage-guide__ttl {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  padding: 1.25rem;
  background-color: #BD967C;
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  width: 100%;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-mypage-guide__ttl {
    font-size: 1rem;
    padding: 0.75rem;
  }
}
.mod-mypage-guide__body {
  background-color: #FFFAF8;
  padding: 3.375rem 4.625rem 2rem;
  overflow: hidden;
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  width: 100%;
  position: relative;
}
.mod-mypage-guide__body > * {
  position: relative;
  z-index: 2;
}
.mod-mypage-guide__body::before, .mod-mypage-guide__body::after {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 193.22/191.98;
  height: auto;
  background-color: #F5E9E2;
  -webkit-mask-image: url(../../../img/mypage/bg-baton-long--brown.svg);
          mask-image: url(../../../img/mypage/bg-baton-long--brown.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  z-index: 1;
  width: 12.07625rem;
}
@media (max-width: 48rem) {
  .mod-mypage-guide__body::before, .mod-mypage-guide__body::after {
    width: 8.75rem;
  }
}
.mod-mypage-guide__body::before {
  right: -7rem;
  top: -4rem;
}
@media (max-width: 48rem) {
  .mod-mypage-guide__body::before {
    right: -5.75rem;
    top: -4.0625rem;
  }
}
.mod-mypage-guide__body::after {
  left: -7rem;
  bottom: -4rem;
  transform: rotate(180deg);
}
@media (max-width: 48rem) {
  .mod-mypage-guide__body::after {
    left: -5.75rem;
    bottom: -4.0625rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-mypage-guide__body {
    padding: 1.25rem 1rem;
  }
}
.mod-mypage-guide__content {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-mypage-guide__content {
    flex-direction: column;
    gap: 1rem;
  }
}
@media (max-width: 40rem) {
  .mod-mypage-guide__content {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
  }
}
.mod-mypage-guide__content .cmn-btn {
  line-height: 1;
}
@media (max-width: 30rem) {
  .mod-mypage-guide__content .cmn-btn {
    padding: 0.625rem 1.5rem 0.625rem 1rem;
    font-size: 0.75rem;
  }
}
@media (max-width: 30rem) {
  .mod-mypage-guide__content .cmn-btn__icon {
    height: 0.625rem;
    width: 0.375rem;
    right: 0.75rem;
  }
}
.mod-mypage-guide__txt {
  font-size: 1.25rem;
  font-weight: 700;
}
@media (max-width: 30rem) {
  .mod-mypage-guide__txt {
    font-size: 0.875rem;
  }
}

/*===========================================================*/
/* 物件カード */
/*===========================================================*/
.mod-following-mansion-card {
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-following-mansion-card:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
  .mod-following-mansion-card:hover .mod-following-mansion-card__bottom-link.--detail {
    color: #F00000;
  }
}
.mod-following-mansion-card + .mod-following-mansion-card {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card + .mod-following-mansion-card {
    margin-top: 1.25rem;
  }
}
.mod-following-mansion-card {
  /* フォローボタン
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__follow {
  position: absolute;
  z-index: 3;
  right: 1rem;
  top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__follow {
    right: 0.75rem;
    top: 0.75rem;
  }
}
.mod-following-mansion-card {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__content {
  position: relative;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  padding: 1.5rem 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__content {
    padding: 0 1rem 1.5rem;
  }
}
.mod-following-mansion-card__link {
  position: absolute;
  z-index: 2;
  inset: 0;
}
.mod-following-mansion-card__main {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__main {
    gap: 1.5rem;
    flex-direction: column;
  }
}
.mod-following-mansion-card {
  /* サムネイル
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__thumb {
  border-radius: 0.75rem;
  isolation: isolate;
  overflow: hidden;
  width: 50%;
  aspect-ratio: 470/312;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__thumb {
    width: auto;
    margin-right: -1rem;
    margin-left: -1rem;
    border-radius: 0.75rem 0.75rem 0 0;
  }
}
.mod-following-mansion-card__thumb img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-following-mansion-card {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__tag {
  display: flex;
  gap: 0.5rem 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
  padding-right: 4rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__tag {
    margin-bottom: 0.75rem;
    padding-right: unset;
  }
}
.mod-following-mansion-card__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #EEE6E0;
}
.mod-following-mansion-card {
  /* 見出し
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__ttl {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-following-mansion-card {
  /* インフォエリア
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__info {
  flex-shrink: 0;
  width: 50%;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__info {
    width: 100%;
  }
}
.mod-following-mansion-card__detail {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__detail {
    margin-top: 0.375rem;
  }
}
.mod-following-mansion-card__detail-access, .mod-following-mansion-card__detail-floor {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-following-mansion-card__detail-access .icon-detail, .mod-following-mansion-card__detail-floor .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.328125rem;
}
.mod-following-mansion-card__detail-access p, .mod-following-mansion-card__detail-floor p {
  font-size: 0.875rem;
}
.mod-following-mansion-card__detail-floor-list {
  gap: 0.21875rem 0;
  line-height: 1.5;
  display: grid;
  grid-template-columns: repeat(2, minmax(9.75rem, 50%));
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__detail-floor-list {
    grid-template-columns: 50% 50%;
    flex: 1;
  }
}
.mod-following-mansion-card__detail-floor-list dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__detail-floor-list dl {
    gap: 0 0.5rem;
  }
}
.mod-following-mansion-card__detail-floor-list dl:nth-of-type(even) {
  padding-left: 0.75rem;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__detail-floor-list dl:nth-of-type(even) {
    padding-left: 0.5rem;
  }
}
.mod-following-mansion-card__detail-floor-list dl:nth-of-type(even)::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
  position: absolute;
  left: 0;
}
.mod-following-mansion-card__detail-floor-list dt {
  font-weight: 500;
  flex-shrink: 0;
  color: #4D4D4D;
}
.mod-following-mansion-card {
  /* ドットのスペーサー
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__dot-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.5rem 0;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__dot-spacer {
    margin: 1.25rem 0;
  }
}
.mod-following-mansion-card__dot-spacer::before {
  z-index: 1;
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-following-mansion-card {
  /* on off 設定
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__settings .cmn-setting-btn {
  z-index: 3;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__settings .cmn-setting-btn {
    flex-direction: row;
    gap: 0.75rem;
  }
}
.mod-following-mansion-card__settings-item {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}
.mod-following-mansion-card__settings-item + .mod-following-mansion-card__settings-item {
  margin-top: 0.75rem;
}
.mod-following-mansion-card {
  /* スイッチ
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__switch {
  position: relative;
  z-index: 3;
  margin-top: 2rem;
}
.mod-following-mansion-card {
  /* 掲載情報なし
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__no-info {
  margin-top: 3rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__no-info {
    margin-top: 1.5rem;
    margin-bottom: unset;
  }
}
.mod-following-mansion-card__no-info-txt {
  text-align: center;
  color: #4D4D4D;
  font-weight: bold;
}
.mod-following-mansion-card {
  /* ボトムエリア
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__table {
  table-layout: auto;
  position: relative;
  z-index: 3;
  margin-top: 2rem;
  border-collapse: collapse;
  width: 100%;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table {
    margin-top: 1.25rem;
  }
}
.mod-following-mansion-card__table .table-cell {
  width: 6.25rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table .table-cell {
    width: auto;
    display: flex;
    flex-direction: column;
  }
}
.mod-following-mansion-card__table .table-cell:first-child {
  width: 7.5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table .table-cell:first-child {
    width: 5rem;
  }
}
.mod-following-mansion-card__table .table-cell:last-child {
  width: 14.25rem;
}
.mod-following-mansion-card__table-head {
  background-color: #F2F2F2;
  color: #4D4D4D;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.mod-following-mansion-card__table-head .table-cell {
  padding: 0.625rem 0;
}
.mod-following-mansion-card__table-list {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list {
    justify-content: flex-start;
  }
}
.mod-following-mansion-card__table-list + .mod-following-mansion-card__table-list::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-following-mansion-card__table-list:has(.table-tag) {
  padding-top: 1.8125rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list:has(.table-tag) {
    padding-top: 0.8125rem;
  }
}
.mod-following-mansion-card__table-list:has(.table-tag) .cmn-btn__icon {
  margin-top: 1.8125rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list:has(.table-tag) .cmn-btn__icon {
    margin-top: 0.8125rem;
  }
}
.mod-following-mansion-card__table-list .table-cell {
  padding: 1rem 0;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .table-cell:not(:first-child):not(:last-child) {
    padding-right: 2rem;
  }
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .table-cell:last-child {
    position: absolute;
    inset: 0;
    width: 100%;
    padding: unset;
  }
}
.mod-following-mansion-card__table-list .txt-red {
  color: #CC0000;
  font-weight: bold;
}
.mod-following-mansion-card__table-list .num {
  font-weight: 900;
  font-size: 1.125rem;
  font-family: "Lato", sans-serif;
}
.mod-following-mansion-card__table-list .table-img {
  width: 5rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .table-img {
    width: 4rem;
  }
}
.mod-following-mansion-card__table-list .cmn-btn {
  width: 100%;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .cmn-btn {
    border: unset;
    background-color: transparent;
    height: 100%;
  }
}
@media (max-width: 48rem) and (any-hover: hover) {
  .mod-following-mansion-card__table-list .cmn-btn:hover {
    border: unset !important;
  }
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .cmn-btn__txt {
    display: none;
  }
}
.mod-following-mansion-card__table-list .cmn-btn__icon {
  display: none;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .cmn-btn__icon {
    display: block;
    background-color: #000000 !important;
  }
}
.mod-following-mansion-card__table-list .table-tag {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3125rem;
  padding: 0 0.5rem;
  border-radius: 0.25rem;
  background-color: #4FA719;
  position: absolute;
  top: 1rem;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__table-list .table-tag {
    top: 0;
  }
}
.mod-following-mansion-card {
  /* ボトムエリア
  -------------------------------------------------------------------- */
}
.mod-following-mansion-card__bottom {
  display: flex;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__bottom {
    flex-direction: column-reverse;
  }
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__bottom.--two {
    flex-direction: row;
  }
}
.mod-following-mansion-card__bottom.--two .mod-following-mansion-card__bottom-link.--detail {
  width: 50%;
}
.mod-following-mansion-card__bottom-link-wrap {
  display: flex;
  flex: 1;
}
.mod-following-mansion-card__bottom-link {
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25rem 1rem;
  text-align: center;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__bottom-link {
    font-size: 0.875rem;
  }
}
.mod-following-mansion-card__bottom-link.--detail {
  width: 33.3333333333%;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__bottom-link.--detail {
    width: 100%;
    padding: 0.9375rem 1rem;
  }
}
.mod-following-mansion-card__bottom-link.--lent, .mod-following-mansion-card__bottom-link.--sell {
  flex: 1;
  position: relative;
  color: #FFFFFF;
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__bottom-link.--lent, .mod-following-mansion-card__bottom-link.--sell {
    padding: 0.9375rem 1rem;
  }
}
@media (max-width: 30rem) {
  .mod-following-mansion-card__bottom-link.--lent, .mod-following-mansion-card__bottom-link.--sell {
    padding: 0.5rem 1rem;
  }
}
.mod-following-mansion-card__bottom-link.--lent::before, .mod-following-mansion-card__bottom-link.--sell::before {
  content: "";
  display: block;
  width: 1.433125rem;
  aspect-ratio: 22.93/18;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
}
@media (max-width: 48rem) {
  .mod-following-mansion-card__bottom-link.--lent::before, .mod-following-mansion-card__bottom-link.--sell::before {
    width: 1.5rem;
    gap: 0.5rem;
  }
}
.mod-following-mansion-card__bottom-link.--lent {
  background-color: #020055;
}
@media (any-hover: hover) {
  .mod-following-mansion-card__bottom-link.--lent:not(:disabled):hover {
    background-color: #3A397B;
  }
}
.mod-following-mansion-card__bottom-link.--sell {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .mod-following-mansion-card__bottom-link.--sell:hover {
    background-color: #CC0000;
  }
}

/* =========================================================== */
/* 規約系モーダル */
/* =========================================================== */
.mod-agreement-form {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-agreement-form {
    margin-top: 2.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-agreement-form.--msg {
    margin-bottom: -1.5rem;
  }
}
.mod-agreement-form__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-agreement-form__head {
    margin-bottom: 1rem;
  }
}
.mod-agreement-form__head .sub {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 0.875rem;
  border-radius: 3.125rem;
  display: inline-block;
  padding: 0.5rem 1rem;
  line-height: 1.4;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #BD967C;
}
.selection .mod-agreement-form__head .sub {
  background-color: #020055;
}
@media (max-width: 48rem) {
  .mod-agreement-form__head .sub {
    font-size: 0.75rem;
    padding: 0.5rem 1rem;
  }
}
.mod-agreement-form__head .msg {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-agreement-form__head .msg {
    font-size: 1.125rem;
  }
}
.mod-agreement-form__head .error-msg {
  text-align: center;
  font-size: 1.125rem;
  margin-top: 0.625rem;
  color: #F00000;
}
@media (max-width: 48rem) {
  .mod-agreement-form__head .error-msg {
    font-size: 0.75rem;
    margin-top: 0.75rem;
  }
}
.mod-agreement-form__body {
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  padding: 2.5rem 1rem;
}
.selection .mod-agreement-form__body {
  background-color: #F1F1F1;
  border-radius: 0;
}
@media (max-width: 48rem) {
  .mod-agreement-form__body {
    border-radius: unset;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    padding: 1.5rem 1rem;
  }
}
.mod-agreement-form__body.--bg-white {
  background-color: #FFFFFF;
}
.mod-agreement-form__inner {
  max-width: 27.5rem;
  margin-inline: auto;
}
.mod-agreement-form__list {
  display: grid;
  grid-template-columns: 6rem 1fr;
  text-align: start;
}
.mod-agreement-form__list dt {
  grid-column: 1;
}
.mod-agreement-form__list dd {
  grid-column: 2;
}
.mod-agreement-form__txt-note {
  display: flex;
}
.mod-agreement-form__txt-note:not(:first-child) {
  margin-top: 0.5rem;
}
.mod-agreement-form__txt-note > .ind:first-child {
  flex-shrink: 0;
}
.mod-agreement-form__txt-note.--justify-right {
  justify-content: flex-end;
}

/* =========================================================== */
/* 利用規約 */
/* =========================================================== */
.mod-privacy-agreement {
  padding: 2.5rem;
  border-radius: 0.75rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-privacy-agreement {
    padding: 1.5rem 1rem;
  }
}
.mod-modal .mod-privacy-agreement {
  overflow-y: auto;
  max-height: 50dvh;
}
@media (max-width: 48rem) {
  .mod-modal .mod-privacy-agreement {
    max-height: calc(50dvh - 3rem);
  }
}
.mod-privacy-agreement__list {
  counter-reset: terms-num;
}
.mod-privacy-agreement__list-item {
  counter-increment: terms-num;
}
.mod-privacy-agreement__list-item:not(:first-child) {
  margin-top: 1rem;
}
.mod-privacy-agreement__ttl {
  font-weight: 600;
  display: flex;
}
.mod-privacy-agreement__ttl::before {
  content: counter(terms-num) ". ";
  font-family: "Lato", sans-serif;
  flex-shrink: 0;
  padding-right: 0.5rem;
}
.mod-privacy-agreement__txt {
  padding-left: 1.125rem;
  margin-top: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-privacy-agreement__txt {
    padding-left: 0rem;
  }
}
.mod-privacy-agreement__txt .cmn-txt-link {
  display: inline-flex;
}
.mod-privacy-agreement__sublist {
  counter-reset: terms-num;
}
.mod-privacy-agreement__sublist-item {
  counter-increment: terms-num;
  display: flex;
}
.mod-privacy-agreement__sublist-item:not(:first-child) {
  margin-top: 0.5rem;
}
.mod-privacy-agreement__sublist-item::before {
  content: "(" counter(terms-num) ") ";
  font-family: "Lato", sans-serif;
  flex-shrink: 0;
  padding-right: 0.25rem;
}

/* =========================================================== */
/* サジェスト */
/* =========================================================== */
.mod-suggest-wrap {
  position: relative;
  width: 100%;
}
.mod-search-links-ms .mod-suggest-wrap, .mod-search-box-ms .mod-suggest-wrap {
  flex: 1;
}

.mod-suggest {
  background: #FFFFFF;
  position: absolute;
  z-index: 1001;
  top: 100%;
  right: 0;
  left: 0;
  overflow-y: auto;
  display: block;
  max-height: 25rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  line-height: 1.2;
  border: 0.0625rem solid #CCCCCC;
  margin-top: 0.125rem;
}
.mod-suggest__link {
  display: block;
  padding: 0.75rem 1rem;
}
@media (max-width: 48rem) {
  .mod-suggest__link {
    padding: 0.75rem;
  }
}
@media (any-hover: hover) {
  .mod-suggest__link:hover .mod-suggest__ttl {
    text-decoration: underline;
    color: #F00000;
  }
}
.mod-suggest__link + .mod-suggest__link {
  position: relative;
}
.mod-suggest__link + .mod-suggest__link::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
@media (max-width: 48rem) {
  .mod-suggest__link + .mod-suggest__link::before {
    left: 0.75rem;
    right: 0.75rem;
  }
}
.mod-suggest__tag {
  border-radius: 0.25rem;
  padding: 0 0.5rem;
  line-height: 1.25rem;
  font-size: 0.625rem;
  white-space: nowrap;
  font-weight: 500;
  margin-bottom: 0.5rem;
  display: inline-block;
  background-color: #020055;
  color: #FFFFFF;
}
.mod-suggest__head {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.mod-suggest__img {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .mod-suggest__img {
    width: 2rem;
    height: 2rem;
  }
}
.mod-suggest__icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 1rem;
  background-color: #020055;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .mod-suggest__icon {
    margin-right: 0.5rem;
  }
}
.mod-suggest__ttl {
  font-size: 1rem;
  font-weight: 500;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-suggest__ttl {
    font-size: 0.875rem;
  }
}
.mod-suggest__type {
  display: flex;
  gap: 0.25rem 0.75rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.25rem;
  margin-left: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-suggest__type {
    margin-left: 3rem;
  }
}
.mod-suggest__price {
  color: #F00000;
  font-size: 0.75rem;
  font-weight: bold;
}
.mod-suggest__layout {
  font-size: 0.75rem;
  color: #020055;
  font-weight: 500;
}
.mod-suggest__access {
  font-size: 0.75rem;
  color: #4D4D4D;
  margin-top: 0.25rem;
  margin-left: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-suggest__access {
    margin-left: 3rem;
  }
}
.mod-suggest__access-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0rem 1rem;
}
@media (max-width: 48rem) {
  .mod-suggest__access-wrap {
    gap: 0rem;
    flex-direction: column;
  }
}

.mod-suggest-max-content {
  max-height: -moz-max-content;
  max-height: max-content;
  overflow-y: visible;
}

/* =========================================================== */
/* 買い替えをお考えの方へ バナー */
/* =========================================================== */
.mod-bnr-relocation-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (any-hover: hover) {
  .mod-bnr-relocation-link:hover .mod-bnr-relocation-link__thumb img {
    transform: scale(1.08);
  }
}
@media (max-width: 48rem) {
  .mod-bnr-relocation-link {
    grid-template-columns: 1fr;
  }
}
.mod-bnr-relocation-link__body {
  display: grid;
  place-content: center;
  padding: 1.5rem 2.625rem 1.5rem 4.375rem;
  border-radius: 0.75rem 0 0 0.75rem;
  background-color: #AF0808;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-bnr-relocation-link__body {
    place-content: unset;
    padding: 1rem;
    border-radius: 0 0 0.75rem 0.75rem;
  }
}
.mod-bnr-relocation-link__ttl {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-bnr-relocation-link__ttl {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-bnr-relocation-link__txt {
    font-size: 0.875rem;
  }
}
.mod-bnr-relocation-link__thumb {
  overflow: hidden;
  border-radius: 0 0.75rem 0.75rem 0;
}
.mod-bnr-relocation-link__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-bnr-relocation-link__thumb {
    order: -1;
    border-radius: 0.75rem 0.75rem 0 0;
  }
}

/* =========================================================== */
/* ページナビゲーション */
/* =========================================================== */
.mod-page-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.mod-page-nav__item:only-child:has(.--next) {
  grid-column: 2/3;
}
.mod-page-nav__item:only-child:has(.--prev) {
  grid-column: 1/2;
}
.mod-page-nav__btn {
  position: relative;
  display: block;
  padding: 1rem 1.5rem;
  background-color: #FFFFFF;
  text-align: center;
  font-weight: bold;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
  transition: color 0.3s ease-out, box-shadow 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-page-nav__btn:hover {
    color: #F00000;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  }
}
.mod-page-nav__btn::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.mod-page-nav__btn.--next::before {
  right: 1rem;
}
.mod-page-nav__btn.--prev::before {
  left: 1rem;
  transform: scale(-1, 1);
}
@media (max-width: 48rem) {
  .mod-page-nav.--sp-stack {
    grid-template-columns: 1fr;
  }
  .mod-page-nav.--sp-stack .mod-page-nav__item:only-child:has(.--next) {
    grid-column: unset;
  }
  .mod-page-nav.--sp-stack .mod-page-nav__item:only-child:has(.--prev) {
    grid-column: unset;
  }
}

/* =========================================================== */
/* STEPナビゲーション（PC用） */
/* =========================================================== */
@media (max-width: 48rem) {
  .mod-step-nav {
    display: none;
  }
}
.mod-step-nav__list {
  display: flex;
}
.mod-step-nav__item {
  width: 14.4339622642%;
  height: 8.125rem;
  margin-left: -1.4150943396%;
}
.mod-step-nav__item:first-child {
  width: 12.2641509434%;
  margin-left: 0;
}
.mod-step-nav__item:first-child a {
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
}
.mod-step-nav__item:last-child {
  width: 12.2641509434%;
}
.mod-step-nav__item:last-child a {
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 15% 50%);
  padding-right: 6%;
}
.--buy .mod-step-nav__item {
  width: 18.4905660377%;
}
.--buy .mod-step-nav__item:first-child, .--buy .mod-step-nav__item:last-child {
  width: 17.641509434%;
}
.--lease .mod-step-nav__item {
  width: 21.6981132075%;
}
.--lease .mod-step-nav__item:first-child, .--lease .mod-step-nav__item:last-child {
  width: 20.7547169811%;
}
.mod-step-nav__item a {
  display: block;
  padding: 1.5rem 10% 1.5rem 26%;
  background-color: #F6F1EE;
  clip-path: polygon(85% 0%, 100% 50%, 85% 100%, 0% 100%, 15% 50%, 0% 0%);
  width: 100%;
  height: 100%;
  line-height: 1.5;
}
.mod-step-nav__item .step {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: min(1.1320754717vw, 0.75rem);
  color: #F00000;
}
.mod-step-nav__item .step-num {
  font-size: min(2.2641509434vw, 1.5rem);
}
.mod-step-nav__item .step-text {
  font-size: min(1.320754717vw, 0.875rem);
  font-weight: bold;
}
.mod-step-nav__item.--current a {
  background-color: #CC0000;
  color: #FFFFFF;
}
.mod-step-nav__item.--current a .step {
  color: #FFFFFF;
}

/* =========================================================== */
/* STEPナビゲーション（SP用） */
/* =========================================================== */
.mod-step-nav--sp {
  display: none;
}
@media (max-width: 48rem) {
  .mod-step-nav--sp {
    position: relative;
    display: block;
  }
  .mod-step-nav--sp select {
    width: 100%;
    padding: 1rem;
    padding-right: 2rem;
    border: 1px solid #DDDDDD;
    border-radius: 0.5rem;
    font-size: 0.875rem;
  }
  .mod-step-nav--sp::after {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-right: 2px solid #CC0000;
    border-bottom: 2px solid #CC0000;
    rotate: 45deg;
  }
}

/* =========================================================== */
/* ページ内アンカーナビ */
/* =========================================================== */
.mod-anchor-nav {
  display: grid;
  gap: 1rem;
}
.mod-anchor-nav.--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.mod-anchor-nav.--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.mod-anchor-nav.--col4 {
  grid-template-columns: repeat(4, 1fr);
}
.mod-anchor-nav.--col5 {
  grid-template-columns: repeat(5, 1fr);
}
.mod-anchor-nav.--col6 {
  grid-template-columns: repeat(6, 1fr);
}
.mod-anchor-nav.--simple {
  gap: 1.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-anchor-nav {
    font-size: 0.875rem;
  }
  .mod-anchor-nav.--col2, .mod-anchor-nav.--col3, .mod-anchor-nav.--col4, .mod-anchor-nav.--col5, .mod-anchor-nav.--col6 {
    grid-template-columns: 1fr;
  }
  .mod-anchor-nav.--sp-col2 {
    grid-template-columns: 1fr 1fr;
  }
  .mod-anchor-nav.--simple {
    gap: 0.75rem 1rem;
  }
}
.mod-anchor-nav__btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 4.5rem;
  padding: 0.25rem 0.75rem;
  background-color: #FFFFFF;
  border: 2px solid #F2F2F2;
  border-radius: 0.5rem;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.08);
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-anchor-nav__btn {
    min-height: 0;
    border: 0;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
    font-size: 0.875rem;
    background-color: transparent;
  }
}
.--simple .mod-anchor-nav__btn {
  min-height: 0;
  padding: 0;
  box-shadow: none;
  border: none;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
}
@media (any-hover: hover) {
  .--simple .mod-anchor-nav__btn:hover {
    box-shadow: none;
    border: none;
  }
  .--simple .mod-anchor-nav__btn:hover .mod-anchor-nav__btn {
    text-decoration: underline;
  }
}
.mod-anchor-nav__btn .icon-arrow {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #EEE6E0;
  transition: background-color 0.3s ease-out;
}
.mod-anchor-nav__btn .icon-arrow::before {
  content: "";
  display: block;
  background-color: #BD967C;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 0.5rem;
  height: 0.625rem;
  rotate: 90deg;
  translate: 0 0.125rem;
  transition: background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-anchor-nav__btn:hover {
    border: 2px solid #F00000;
    color: #F00000;
    box-shadow: none;
  }
  .mod-anchor-nav__btn:hover .icon-arrow {
    background-color: #F00000;
  }
  .mod-anchor-nav__btn:hover .icon-arrow::before {
    background-color: #FFFFFF;
  }
}
@media (any-hover: hover) and (max-width: 48rem) {
  .mod-anchor-nav__btn:hover {
    border: 0;
  }
}

/* 目次
------------------------------------------------------------ */
.mod-anchor-nav-toc-wrap {
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-anchor-nav-toc-wrap {
    padding: 1.25rem 1rem;
  }
}

.mod-anchor-nav-toc {
  counter-reset: toc;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-anchor-nav-toc {
    gap: 1rem;
  }
}
.mod-anchor-nav-toc__ttl-wrap {
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-anchor-nav-toc__ttl-wrap {
    margin-bottom: 1.25rem;
  }
}
.mod-anchor-nav-toc__ttl {
  font-size: 1.5rem;
  line-height: 1.5;
  font-family: "Lato", sans-serif;
  font-weight: 700;
}
@media (max-width: 48rem) {
  .mod-anchor-nav-toc__ttl {
    font-size: 1.125rem;
  }
}
.mod-anchor-nav-toc__item {
  line-height: 1.5;
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-anchor-nav-toc__item {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0.75rem;
  }
}
.mod-anchor-nav-toc__item::before {
  counter-increment: toc;
  content: counters(toc, "-") ".";
  color: #F00000;
  font-weight: 700;
  grid-column: 1;
  font-family: "Lato", sans-serif;
}
.mod-anchor-nav-toc__item > a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease-out;
  grid-column: 2;
}
@media (any-hover: hover) {
  .mod-anchor-nav-toc__item > a:hover {
    color: #F00000;
    text-decoration: underline;
  }
}
.mod-anchor-nav-toc__item > .mod-anchor-nav-toc {
  flex-basis: 100%;
  grid-column: 2;
}

/*===========================================================*/
/* 物件カード (借りたい 棟) */
/*===========================================================*/
.mod-property-card02 {
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
.mod-property-card02 + .mod-property-card02 {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-property-card02 + .mod-property-card02 {
    margin-top: 1.25rem;
  }
}
.mod-property-card02:not(:has(.mod-property-card02__main)) .mod-property-card02__table {
  margin-top: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02:not(:has(.mod-property-card02__main)) .mod-property-card02__table {
    margin-top: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-property-card02:not(:has(.mod-property-card02__main)) .mod-property-card02__table::before {
    display: none;
  }
}
.mod-property-card02:not(:has(.mod-property-card02__main)) .mod-property-card02__content {
  box-shadow: unset;
}
.mod-property-card02 {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-property-card02__content {
  position: relative;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  padding: 1.5rem 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__content {
    padding: 0 1rem 1.5rem;
  }
}
.mod-property-card02__main {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__main {
    gap: 1.5rem;
    flex-direction: column;
  }
}
.mod-property-card02 {
  /* サムネイル
  -------------------------------------------------------------------- */
}
.mod-property-card02__thumb {
  border-radius: 0.75rem;
  isolation: isolate;
  overflow: hidden;
  width: 50%;
  aspect-ratio: 470/312;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 48rem) {
  .mod-property-card02__thumb {
    width: auto;
    margin-right: -1rem;
    margin-left: -1rem;
    border-radius: 0.75rem 0.75rem 0 0;
  }
}
.mod-property-card02__thumb img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-property-card02 {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-property-card02__tag {
  display: flex;
  gap: 0.5rem 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
  padding-right: 4rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__tag {
    margin-bottom: 0.75rem;
    padding-right: unset;
  }
}
.mod-property-card02__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #EEE6E0;
}
.mod-property-card02 {
  /* 見出し
  -------------------------------------------------------------------- */
}
.mod-property-card02__ttl {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-property-card02 {
  /* インフォエリア
  -------------------------------------------------------------------- */
}
.mod-property-card02__info {
  flex-shrink: 0;
  width: 50%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-property-card02__info {
    width: 100%;
  }
}
.mod-property-card02__detail {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__detail {
    margin-top: 0.375rem;
  }
}
.mod-property-card02__detail-access, .mod-property-card02__detail-floor {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-property-card02__detail-access .icon-detail, .mod-property-card02__detail-floor .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.328125rem;
}
.mod-property-card02__detail-access p, .mod-property-card02__detail-floor p {
  font-size: 0.875rem;
}
.mod-property-card02__detail-floor-list {
  gap: 0.21875rem 0;
  line-height: 1.5;
  display: grid;
  grid-template-columns: repeat(2, minmax(9.75rem, 50%));
}
@media (max-width: 48rem) {
  .mod-property-card02__detail-floor-list {
    grid-template-columns: 50% 50%;
    flex: 1;
  }
}
.mod-property-card02__detail-floor-list dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__detail-floor-list dl {
    gap: 0 0.5rem;
  }
}
.mod-property-card02__detail-floor-list dl:nth-of-type(even) {
  padding-left: 0.75rem;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-property-card02__detail-floor-list dl:nth-of-type(even) {
    padding-left: 0.5rem;
  }
}
.mod-property-card02__detail-floor-list dl:nth-of-type(even)::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
  position: absolute;
  left: 0;
}
.mod-property-card02__detail-floor-list dt {
  font-weight: 500;
  flex-shrink: 0;
  color: #4D4D4D;
}
.mod-property-card02__ex-link {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
}
@media (max-width: 48rem) {
  .mod-property-card02__ex-link {
    margin-top: 1rem;
  }
}
.mod-property-card02 {
  /* ボトムエリア
  -------------------------------------------------------------------- */
}
.mod-property-card02__table {
  table-layout: auto;
  position: relative;
  z-index: 3;
  margin-top: 2rem;
  border-collapse: collapse;
  width: 100%;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table {
    margin-top: 1.25rem;
  }
}
.mod-property-card02__table::before {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-property-card02__table .table-cell {
  width: 6.25rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table .table-cell {
    width: auto;
    display: flex;
    flex-direction: column;
  }
}
.mod-property-card02__table .table-cell:first-child {
  width: 7.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table .table-cell:first-child {
    width: 5rem;
  }
}
.mod-property-card02__table .table-cell:last-child {
  width: 14.25rem;
}
.mod-property-card02__table-item {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.mod-property-card02__table-item::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.mod-property-card02__table-item:has(.table-tag) {
  padding-top: 2.75rem;
}
.mod-property-card02__table-item .table-data {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-data {
    align-items: center;
  }
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-eye-catch {
    flex-shrink: 0;
  }
}
.mod-property-card02__table-item .table-tag {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3125rem;
  padding: 0 0.5rem;
  border-radius: 0.25rem;
  background-color: #4FA719;
  position: absolute;
  top: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-tag {
    top: 0.75rem;
  }
}
.mod-property-card02__table-item .table-img {
  width: 5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-img {
    width: 4rem;
  }
}
.mod-property-card02__table-item .table-detail {
  margin-left: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-detail {
    margin-left: 1rem;
  }
}
.mod-property-card02__table-item .table-detail-txt {
  font-size: 0.875rem;
  padding-right: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-detail-txt {
    font-size: 0.75rem;
    padding-right: 0.5rem;
  }
}
.mod-property-card02__table-item .table-detail-txt + .table-detail-txt {
  padding-left: 0.75rem;
  border-left: 0.125rem #CCCCCC solid;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-detail-txt + .table-detail-txt {
    padding-left: 0.5rem;
  }
}
.mod-property-card02__table-item .table-detail-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.mod-property-card02__table-item .txt-bold {
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .txt-bold {
    font-size: 0.6875rem;
  }
}
.mod-property-card02__table-item .txt-num {
  font-size: 1.5625rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .txt-num {
    font-size: 1.1875rem;
  }
}
.mod-property-card02__table-item .txt-gray {
  font-weight: 500;
  color: #4D4D4D;
}
.mod-property-card02__table-item .table-btn-wrap {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-btn-wrap {
    gap: 0.625rem;
    width: 100%;
  }
}
.mod-property-card02__table-item .table-btn-wrap .cmn-favorite-btn {
  flex-shrink: 0;
  margin-right: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-btn-wrap .cmn-favorite-btn {
    order: 3;
    margin-left: 0.5rem;
    margin-right: unset;
  }
}
.mod-property-card02__table-item .table-btn-wrap .cmn-btn {
  font-size: 1rem;
  padding: 0 0.75rem;
  min-width: 7.8125rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__table-item .table-btn-wrap .cmn-btn {
    min-width: unset;
    flex: 1;
    min-height: 2rem;
    font-size: 0.875rem;
  }
}
.mod-property-card02 {
  /* アコーディオン
  -------------------------------------------------------------------- */
}
.mod-property-card02__accordion-trigger {
  cursor: pointer;
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  align-items: center;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card02__accordion-trigger {
    margin-top: 1.25rem;
  }
}
.mod-property-card02__accordion-trigger .btn {
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #BD967C;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-property-card02__accordion-trigger .btn::before, .mod-property-card02__accordion-trigger .btn::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #FFFFFF;
  width: 0.625rem;
  height: 0.075rem;
  transition: all 0.3s ease-out;
  border-radius: 3.125rem;
}
.mod-property-card02__accordion-trigger .btn::before {
  transform: rotate(90deg);
}
.mod-property-card02__accordion-item.is-active .mod-property-card02__accordion-trigger .btn::before {
  opacity: 0;
  visibility: hidden;
}
.mod-property-card02__accordion-trigger .on-txt {
  display: block;
}
.mod-property-card02__accordion-item.is-active .mod-property-card02__accordion-trigger .on-txt {
  display: none;
}
.mod-property-card02__accordion-trigger .off-txt {
  display: none;
}
.mod-property-card02__accordion-item.is-active .mod-property-card02__accordion-trigger .off-txt {
  display: block;
}
.mod-property-card02__accordion-body {
  position: absolute;
  visibility: hidden;
  height: 0;
}
.mod-property-card02__accordion-item.is-active .mod-property-card02__accordion-body {
  height: auto;
  visibility: visible;
  position: relative;
}

/* 上書き調整
-------------------------------------------------------------------- */
.list-cta + .mod-property-card02 {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .list-cta + .mod-property-card02 {
    margin-top: 3rem;
  }
}

/* =========================================================== */
/* ご希望に合うお部屋がないときは バナー */
/* =========================================================== */
.mod-bnr-request-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 0.75rem;
  isolation: isolate;
  overflow: hidden;
}
@media (any-hover: hover) {
  .mod-bnr-request-link:hover .mod-bnr-request-link__thumb img {
    transform: scale(1.08);
  }
  .mod-bnr-request-link:hover .cmn-btn.--blue {
    background-color: #3A397B;
  }
}
@media (max-width: 48rem) {
  .mod-bnr-request-link {
    grid-template-columns: 1fr;
  }
}
.mod-bnr-request-link__body {
  padding: 2rem 2.5rem 2rem 2rem;
  background-color: #E1E1EA;
}
@media (max-width: 48rem) {
  .mod-bnr-request-link__body {
    padding: 1rem;
  }
}
.mod-bnr-request-link__ttl {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-request-link__ttl {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.mod-bnr-request-link__txt {
  font-size: 1rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-request-link__txt {
    font-size: 0.875rem;
  }
}
.mod-bnr-request-link .cmn-btn {
  margin-top: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-request-link .cmn-btn {
    margin-top: 1rem;
  }
}
.mod-bnr-request-link__thumb {
  overflow: hidden;
}
.mod-bnr-request-link__thumb img {
  aspect-ratio: 530/270.84;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-bnr-request-link__thumb {
    order: -1;
  }
}

/* =========================================================== */
/* セミナー情報 */
/* =========================================================== */
.mod-seminar-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 50.625rem;
  margin: 0 auto;
}
.mod-seminar-info__header {
  width: 100%;
  padding: 1rem;
  font-weight: 700;
  line-height: 1.25;
  font-size: 1.5rem;
  text-align: center;
  border-radius: 0.5rem;
  background-color: #CC0000;
  color: #FFFFFF;
  position: relative;
  margin-bottom: 4rem;
}
@media (max-width: 48rem) {
  .mod-seminar-info__header {
    font-size: 1.25rem;
    margin-bottom: 3.75rem;
  }
}
.mod-seminar-info__header .icon-triangle {
  display: block;
  width: 3.5rem;
  height: 1.25rem;
  background-color: #CC0000;
  -webkit-mask-image: url(../../../img/common/icon-triangle.svg);
          mask-image: url(../../../img/common/icon-triangle.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.75rem;
}
@media (max-width: 48rem) {
  .mod-seminar-info__header .icon-triangle {
    bottom: -1rem;
  }
}
.mod-seminar-info__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.25rem 2rem;
  margin-bottom: 3.9375rem;
}
@media (max-width: 48rem) {
  .mod-seminar-info__list {
    gap: 0.75rem 1.3125rem;
    margin-bottom: 2.75rem;
  }
}
.mod-seminar-info__list > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
.mod-seminar-info__list > li::before {
  content: "";
  display: block;
  width: 9.6875rem;
  height: 9.6875rem;
  border-radius: 50%;
  background-color: rgba(189, 150, 124, 0.08);
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
@media (max-width: 48rem) {
  .mod-seminar-info__list > li::before {
    width: 6.25rem;
    height: 6.25rem;
  }
}
.mod-seminar-info__list > li::after {
  content: "";
  display: block;
  width: 12.125rem;
  height: 12.125rem;
  border-radius: 50%;
  background-color: rgba(170, 136, 114, 0.04);
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
}
@media (max-width: 48rem) {
  .mod-seminar-info__list > li::after {
    width: 7.875rem;
    height: 7.875rem;
  }
}
.mod-seminar-info__list > li > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25;
  background-color: #FFFFFF;
  text-align: center;
  width: 8.125rem;
  height: 8.125rem;
  border-radius: 50%;
  box-shadow: 0px 0px 12px rgba(24, 34, 74, 0.16);
}
@media (max-width: 48rem) {
  .mod-seminar-info__list > li > span {
    width: 5.25rem;
    height: 5.25rem;
    font-size: 1rem;
  }
}
.mod-seminar-info__catch {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-seminar-info__catch {
    font-size: 1.125rem;
    gap: 0.3125rem;
    align-items: flex-end;
  }
}
.mod-seminar-info__catch .icon-exclamation {
  display: block;
  width: 1.1875rem;
  height: 1.1875rem;
  background-color: #CC0000;
  -webkit-mask-image: url(../../../img/common/icon-exclamation.svg);
          mask-image: url(../../../img/common/icon-exclamation.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .mod-seminar-info__catch .icon-exclamation {
    margin-bottom: 0.25rem;
  }
}
.mod-seminar-info__benefits {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.mod-seminar-info__benefit {
  width: 100%;
  padding: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.125rem;
  text-align: center;
  border-radius: 0.5rem;
  background-color: #EEE6E0;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-seminar-info__benefit {
    font-size: 1rem;
  }
}
.mod-seminar-info__benefit > span {
  color: #CC0000;
  font-weight: 700;
}

/* =========================================================== */
/* 売りたい買いたい貸したい借りたいに遷移させるナビゲーション */
/* =========================================================== */
.mod-purpose-nav {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 2rem 3.75rem;
  gap: 2.5rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
}
@media (max-width: 48rem) {
  .mod-purpose-nav {
    padding: 1.5rem 1rem;
    gap: 2rem;
  }
}
.mod-purpose-nav__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  text-align: center;
}
.mod-purpose-nav__ttl .en {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #F00000;
  line-height: 1;
}
.mod-purpose-nav__ttl .ja {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-purpose-nav__ttl .ja {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
.mod-purpose-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem 1.25rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-purpose-nav__list {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.mod-purpose-nav__list > li {
  width: calc((100% - 3.75rem) / 4);
}
@media (max-width: 48rem) {
  .mod-purpose-nav__list > li {
    width: 100%;
  }
}
.mod-purpose-nav__list .cmn-btn {
  width: 100%;
}

/* =========================================================== */
/* カテゴリ選択リンク */
/* =========================================================== */
.mod-select-conditions {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
}
@media (max-width: 66.25rem) {
  .mod-select-conditions {
    gap: 1rem;
  }
}
.mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(2)):not(:has(.mod-select-conditions__item:nth-of-type(3))), .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(3)):not(:has(.mod-select-conditions__item:nth-of-type(4))) {
  flex-wrap: nowrap;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(2)):not(:has(.mod-select-conditions__item:nth-of-type(3))), .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(3)):not(:has(.mod-select-conditions__item:nth-of-type(4))) {
    gap: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(2)):not(:has(.mod-select-conditions__item:nth-of-type(3))) .mod-select-conditions__arrow, .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(3)):not(:has(.mod-select-conditions__item:nth-of-type(4))) .mod-select-conditions__arrow {
    display: none;
  }
  .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(2)):not(:has(.mod-select-conditions__item:nth-of-type(3))) .mod-select-conditions__label, .mod-select-conditions:has(.mod-select-conditions__item:nth-of-type(3)):not(:has(.mod-select-conditions__item:nth-of-type(4))) .mod-select-conditions__label {
    font-size: 0.75rem;
  }
}
.mod-select-conditions.--sell .mod-select-conditions__item {
  padding: 2rem 1.5rem 1.5rem;
  gap: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--sell .mod-select-conditions__item {
    padding: 0.75rem 0.625rem 0.625rem;
    gap: 0.25rem;
  }
}
.mod-select-conditions.--sell .mod-select-conditions__label {
  font-size: 1.25rem;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--sell .mod-select-conditions__label {
    font-size: 0.75rem;
  }
}
.mod-select-conditions.--sell .mod-select-conditions__arrow-txt {
  font-size: 1.25rem;
  font-weight: bold;
}
.mod-select-conditions.--sell .mod-select-conditions__arrow {
  display: none;
}
.mod-select-conditions.--sell .cmn-btn {
  margin-top: 0.375rem;
  width: 100%;
  max-width: 12.5rem;
  font-size: 0.875rem;
  min-height: 2.5rem;
  border-radius: 3.125rem;
  padding: 0.25rem 1.875rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--sell .cmn-btn {
    display: none;
  }
}
.mod-select-conditions.--sell .cmn-btn__icon {
  width: 0.333125rem;
  height: 0.583125rem;
  right: 1rem;
}
.mod-select-conditions.--sell .mod-select-conditions__icon {
  width: 5rem;
  height: 5rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--sell .mod-select-conditions__icon {
    width: 3rem;
    height: 3rem;
  }
}
.mod-select-conditions.--sell .mod-select-conditions__icon::before {
  width: 3rem;
  height: 3rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--sell .mod-select-conditions__icon::before {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.mod-select-conditions.--sell .mod-select-conditions__icon::after {
  width: 5rem;
  height: 5rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--sell .mod-select-conditions__icon::after {
    width: 3rem;
    height: 3rem;
  }
}

@keyframes scaleUp {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.mod-select-conditions__item {
  border-radius: 0.75rem;
  border: 0.125rem #F00000 solid;
  background-color: #FFFFFF;
  padding: 1rem 1.75rem 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  flex: 1;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-select-conditions__item {
    gap: 0.1875rem;
    flex: unset;
    padding: 0.5rem 1.4375rem 0.375rem;
    width: calc((100% - 1rem) / 2);
  }
}
@media (any-hover: hover) {
  .mod-select-conditions__item:hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .mod-select-conditions__item:hover .mod-select-conditions__arrow {
    background-color: #FFFFFF;
  }
  .mod-select-conditions__item:hover .mod-select-conditions__icon::after {
    animation: scaleUp 0.3s forwards;
  }
  .mod-select-conditions__item:hover .cmn-btn.--red {
    background-color: #FFFFFF;
    color: #F00000;
  }
  .mod-select-conditions__item:hover .cmn-btn__icon {
    background-color: #F00000;
  }
}

.mod-select-conditions__arrow {
  display: inline-block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  transition: background-color 0.3s ease-out;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
}

.mod-select-conditions__item > .mod-select-conditions__arrow {
  position: absolute;
  right: 1.25rem;
}

.mod-select-conditions__arrow-txt {
  font-weight: bold;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-select-conditions__arrow-txt {
    font-size: 0.875rem;
  }
}
.mod-select-conditions__arrow-txt .mod-select-conditions__arrow {
  margin-left: 0.5rem;
}
.mod-select-conditions__arrow-txt .txt-red {
  color: #F00000;
}

.mod-select-conditions__icon {
  width: 4.25rem;
  height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-select-conditions__icon {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.mod-select-conditions__icon::before, .mod-select-conditions__icon::after {
  content: "";
  display: block;
}
.mod-select-conditions__icon::after {
  transition: transform 0.3s ease-out;
  border-radius: 100%;
  position: absolute;
  inset: 0;
  width: 4.25rem;
  height: 4.25rem;
  z-index: 1;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .mod-select-conditions__icon::after {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.mod-select-conditions__icon::before {
  z-index: 2;
  width: 2.75rem;
  height: 2.5rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .mod-select-conditions__icon::before {
    width: 1.7875rem;
    height: 1.5rem;
  }
}
.mod-select-conditions__icon.--sell::before {
  -webkit-mask-image: url(../../../img/common/icon-sell.svg);
          mask-image: url(../../../img/common/icon-sell.svg);
}
.mod-select-conditions__icon.--buy::before {
  -webkit-mask-image: url(../../../img/common/icon-buy.svg);
          mask-image: url(../../../img/common/icon-buy.svg);
}
.mod-select-conditions__icon.--lease::before {
  -webkit-mask-image: url(../../../img/common/icon-lease.svg);
          mask-image: url(../../../img/common/icon-lease.svg);
}
.mod-select-conditions__icon.--lend::before {
  -webkit-mask-image: url(../../../img/common/icon-lend.svg);
          mask-image: url(../../../img/common/icon-lend.svg);
}
.mod-select-conditions__icon.--rent::before {
  -webkit-mask-image: url(../../../img/common/icon-rent.svg);
          mask-image: url(../../../img/common/icon-rent.svg);
}
.mod-select-conditions__icon.--mansion::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-select-conditions__icon.--access::before {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.mod-select-conditions__icon.--train::before {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.mod-select-conditions__icon.--house::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-select-conditions__icon.--land::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-select-conditions__icon.--multiple::before {
  -webkit-mask-image: url(../../../img/common/icon-multiple.svg);
          mask-image: url(../../../img/common/icon-multiple.svg);
}
.mod-select-conditions__icon.--map-search::before {
  -webkit-mask-image: url(../../../img/common/icon-map-search.svg);
          mask-image: url(../../../img/common/icon-map-search.svg);
}
.mod-select-conditions__icon.--payment::before {
  -webkit-mask-image: url(../../../img/common/icon-payment.svg);
          mask-image: url(../../../img/common/icon-payment.svg);
}
.mod-select-conditions__icon.--hash::before {
  -webkit-mask-image: url(../../../img/common/icon-hash.svg);
          mask-image: url(../../../img/common/icon-hash.svg);
  height: 2rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions__icon.--hash::before {
    height: 1.5rem;
  }
}
.mod-select-conditions__icon.--owner-sell::before {
  -webkit-mask-image: url(../../../img/common/icon-owner-sell.svg);
          mask-image: url(../../../img/common/icon-owner-sell.svg);
}
.mod-select-conditions__icon.--search-house::before {
  -webkit-mask-image: url(../../../img/common/icon-search-house.svg);
          mask-image: url(../../../img/common/icon-search-house.svg);
}

.mod-select-conditions__label {
  font-weight: bold;
  font-size: 0.875rem;
  white-space: nowrap;
}
@media (max-width: 66.25rem) {
  .mod-select-conditions__label {
    font-size: 0.8125rem;
  }
}
@media (max-width: 48rem) {
  .mod-select-conditions__label {
    font-size: 0.875rem;
  }
}

.mod-select-conditions.--support {
  gap: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-select-conditions.--support {
    gap: 1rem;
  }
}
.mod-select-conditions.--support .mod-select-conditions__item {
  border: unset;
  padding: 1.5rem;
  gap: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-select-conditions.--support .mod-select-conditions__item {
    gap: 0.625rem;
    padding: 1.25rem 1.25rem 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-select-conditions.--support .mod-select-conditions__item:hover {
    color: inherit;
    background-color: #FFFFFF;
  }
  .mod-select-conditions.--support .mod-select-conditions__item:hover .mod-select-conditions__arrow {
    background-color: #F00000;
  }
}
.mod-select-conditions.--support .mod-select-conditions__icon {
  width: 6.125rem;
  height: 6.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--support .mod-select-conditions__icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mod-select-conditions.--support .mod-select-conditions__icon::after {
  inset: 0;
  width: 6.125rem;
  height: 6.125rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--support .mod-select-conditions__icon::after {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.mod-select-conditions.--support .mod-select-conditions__icon::before {
  width: 3.5rem;
  height: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-select-conditions.--support .mod-select-conditions__icon::before {
    width: 2rem;
    height: 2rem;
  }
}

/* =========================================================== */
/* お役立ち情報 */
/* =========================================================== */
.mod-useful-info {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-useful-info {
    gap: 2rem 1.25rem;
    flex-direction: column;
  }
}
.mod-useful-info > li {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .mod-useful-info > li {
    width: 100%;
  }
}
.mod-useful-info__item {
  display: flex;
  flex-direction: column;
}
@media (any-hover: hover) {
  .mod-useful-info__item:hover .mod-useful-info__link {
    color: #F00000;
  }
  .mod-useful-info__item:hover .mod-useful-info__img {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
  .mod-useful-info__item:hover .mod-useful-info__img img {
    transform: scale(1.08);
  }
}
.mod-useful-info__img {
  width: 100%;
  height: 11.5625rem;
  aspect-ratio: 510/185;
  overflow: hidden;
  border-radius: 0.5rem;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-useful-info__img {
    aspect-ratio: 336/120;
  }
}
@media (max-width: 40rem) {
  .mod-useful-info__img {
    height: 7.5rem;
  }
}
.mod-useful-info__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
.mod-useful-info__link {
  margin-top: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-useful-info__link {
    font-size: 1rem;
    gap: 0.5rem;
  }
}
.mod-useful-info__desc {
  margin-top: 1rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-useful-info__desc {
    margin-top: 0.75rem;
  }
}

/* =========================================================== */
/* あんしんサービスメニュー バナー */
/* =========================================================== */
.mod-bnr-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 0.75rem;
  border: 1px solid #DDDDDD;
  isolation: isolate;
  overflow: hidden;
}
@media (any-hover: hover) {
  .mod-bnr-link:hover .mod-bnr-link__thumb img {
    transform: scale(1.08);
  }
  .mod-bnr-link:hover .cmn-btn.--secondary {
    color: #FFFFFF;
    background-color: #AF0808;
    border: 0.0625rem solid #AF0808;
  }
  .mod-bnr-link:hover .cmn-btn.--secondary .cmn-btn__icon {
    background-color: #FFFFFF;
  }
}
@media (max-width: 48rem) {
  .mod-bnr-link {
    grid-template-columns: 1fr;
  }
}
.mod-bnr-link__body {
  padding: 2rem 2.5rem 2rem 2rem;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-bnr-link__body {
    padding: 1rem;
  }
}
.mod-bnr-link__ttl {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-link__ttl {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.mod-bnr-link__txt {
  font-size: 1rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-link__txt {
    font-size: 0.875rem;
  }
}
.mod-bnr-link__btn-wrap {
  margin-top: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-link__btn-wrap {
    margin-top: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-bnr-link__btn-wrap .cmn-btn {
    margin-inline: auto;
  }
}
.mod-bnr-link__thumb {
  overflow: hidden;
}
.mod-bnr-link__thumb img {
  aspect-ratio: 530/270.84;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-bnr-link__thumb {
    order: -1;
  }
}

/* =========================================================== */
/* ご登録のMy不動産カード */
/* =========================================================== */
/* Myページカード
-------------------------------------------------------------------- */
.mod-mypage-register-card {
  position: relative;
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  overflow: hidden;
  isolation: isolate;
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.16));
}
@media (any-hover: hover) {
  .mod-mypage-register-card:hover .mod-mypage-register-card__bottom-link.--detail {
    color: #F00000;
  }
}
.mod-mypage-register-card__inner {
  display: block;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  padding: 1.5rem 2.5rem 1rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__inner {
    padding: 1rem 1rem;
  }
}
.mod-mypage-register-card__main {
  display: flex;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__main {
    gap: 0 1rem;
    display: grid;
    grid-template-columns: 47.3684210526% 1fr;
  }
}
.mod-mypage-register-card__thumb {
  border-radius: 0.5rem;
  aspect-ratio: 290/192;
  -o-object-fit: cover;
     object-fit: cover;
  width: 29.5918367347%;
  height: -moz-fit-content;
  height: fit-content;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__thumb {
    grid-column: 1/2;
    width: 100%;
  }
}
.mod-mypage-register-card__detail {
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__detail {
    display: contents;
  }
}
.mod-mypage-register-card__tag-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__tag-wrap {
    margin-bottom: unset;
    grid-column: 2/3;
    align-items: flex-start;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.mod-mypage-register-card__time {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.25rem;
  background-color: #F2F2F2;
  padding: 0 0.5rem;
  line-height: 1.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  color: #4D4D4D;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__time {
    gap: 0.25rem;
    font-size: 0.75rem;
  }
}
.mod-mypage-register-card__time::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #808080;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-clock.svg);
          mask-image: url(../../../img/common/icon-clock.svg);
}
.mod-mypage-register-card__tag {
  flex-shrink: 0;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.25rem;
  line-height: 1.75rem;
  background-color: #EEE6E0;
  padding: 0 0.5rem;
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
}
.mod-mypage-register-card__head {
  display: block;
  line-height: 1.6;
  font-size: 1.125rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__head {
    font-size: 1rem;
    grid-column: 1/3;
    margin-top: 1rem;
  }
}
.mod-mypage-register-card__head::before {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
}
.mod-mypage-register-card__price {
  margin-top: 1.25rem;
  display: flex;
  border-radius: 0.5rem;
  overflow: hidden;
  isolation: isolate;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price {
    flex-direction: column;
    margin-top: 0.75rem;
    grid-column: 1/3;
  }
}
.mod-mypage-register-card__price-ttl {
  line-height: 1.357142;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: bold;
  flex-shrink: 0;
  background-color: #BD967C;
  text-align: center;
  color: #FFFFFF;
  padding: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price-ttl {
    width: 100%;
    height: 2rem;
  }
}
.mod-mypage-register-card__price-info {
  flex: 1;
  padding: 1rem;
  background-color: #F6F1EE;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 2.5rem;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price-info {
    padding: 0.5rem 1.25rem 0.75rem;
  }
}
.mod-mypage-register-card__price-block {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price-block {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.mod-mypage-register-card__price-block + .mod-mypage-register-card__price-block {
  margin-top: 0.25rem;
}
.mod-mypage-register-card__price-block dt {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4D4D4D;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price-block dt {
    font-size: 0.875rem;
    font-weight: bold;
  }
}
.mod-mypage-register-card__price-block dd {
  line-height: 1.2;
}
.mod-mypage-register-card__price-block dd.txt-price {
  color: #CC0000;
  font-weight: 500;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price-block dd.txt-price {
    font-size: 0.75rem;
  }
}
.mod-mypage-register-card__price-block dd.txt-price .num {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__price-block dd.txt-price .num {
    font-size: 1.25rem;
  }
}
.mod-mypage-register-card__price-block dd.txt-price .from-to {
  margin: 0 0.25rem;
  font-weight: 400;
}
.mod-mypage-register-card__price-block dd.txt-rent {
  font-weight: 500;
  font-size: 0.75rem;
}
.mod-mypage-register-card__price-block dd.txt-rent .num {
  font-family: "Lato", sans-serif;
  font-size: 1.0625rem;
  font-weight: 900;
}
.mod-mypage-register-card__price-block dd.txt-rent .from-to {
  margin: 0 0.25rem;
  font-weight: 400;
}
.mod-mypage-register-card__bottom {
  display: flex;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__bottom {
    flex-direction: column-reverse;
  }
}
@media (max-width: 48rem) {
  .mod-mypage-register-card.--type02 .mod-mypage-register-card__bottom {
    flex-direction: row;
  }
}
.mod-mypage-register-card__bottom-link-wrap {
  display: flex;
  flex: 1;
}
.mod-mypage-register-card__bottom-link {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0 1rem;
  height: 3.25rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  position: relative;
}
.mod-mypage-register-card__bottom-link.--detail {
  z-index: -1;
  width: 33.3333333333%;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-mypage-register-card__bottom-link.--detail {
    width: 100%;
  }
}
.mod-mypage-register-card.--type02 .mod-mypage-register-card__bottom-link.--detail {
  width: 50%;
}
@media (any-hover: hover) {
  .mod-mypage-register-card__bottom-link.--detail:hover {
    color: #F00000;
  }
}
.mod-mypage-register-card__bottom-link.--sell, .mod-mypage-register-card__bottom-link.--rent {
  flex: 1;
  color: #FFFFFF;
}
.mod-mypage-register-card__bottom-link.--sell::before, .mod-mypage-register-card__bottom-link.--rent::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.17125rem;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
}
.mod-mypage-register-card__bottom-link.--sell {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .mod-mypage-register-card__bottom-link.--sell:hover {
    background-color: #CC0000;
  }
}
.mod-mypage-register-card__bottom-link.--rent {
  background-color: #020055;
}
@media (any-hover: hover) {
  .mod-mypage-register-card__bottom-link.--rent:hover {
    background-color: #3A397B;
  }
}

/* =========================================================== */
/* Myページ登録モーダル系アラート */
/* =========================================================== */
.mod-mypage-alert {
  background-color: #FFFFFF;
  position: relative;
}
.mod-mypage-alert__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-alert__head {
    margin-bottom: 2rem;
  }
}
.mod-mypage-alert__head .mask-alert {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-alert.svg);
          mask-image: url(../../../img/common/icon-alert.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-bottom: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-mypage-alert__head .mask-alert {
    width: 1.75rem;
    height: 1.75rem;
    margin-bottom: 0.75rem;
  }
}
.mod-mypage-alert__inner {
  max-width: 42.125rem;
  margin-inline: auto;
}
.mod-mypage-alert__ttl {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-mypage-alert__ttl {
    font-size: 1.125rem;
  }
}
.mod-mypage-alert__ttl .en {
  font-family: "Lato", sans-serif;
}
.mod-mypage-alert__btns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-mypage-alert__btns {
    flex-direction: column-reverse;
    gap: 1rem;
  }
}
.mod-mypage-alert__btns .cmn-btn {
  min-height: 4.125rem;
}
@media (max-width: 48rem) {
  .mod-mypage-alert__btns .cmn-btn {
    min-height: 3rem;
  }
}
.mod-mypage-alert__btns .cmn-btn.--cancel {
  min-width: 15.625rem;
}
@media (max-width: 48rem) {
  .mod-mypage-alert__btns .cmn-btn.--cancel {
    min-width: 11.375rem;
    width: -moz-fit-content;
    width: fit-content;
  }
}

/* =========================================================== */
/* ◯◯の流れ リスト */
/* =========================================================== */
.mod-step-flow-list {
  display: grid;
  gap: 1.25rem;
}
.mod-step-flow-list__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background-color: #F6F1EE;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-step-flow-list__item {
    padding: 1rem;
  }
}
.mod-step-flow-list__item:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: -0.625rem;
  transform: translate(-50% 0);
  content: "";
  display: block;
  width: 1.4375rem;
  height: 1.3125rem;
  background-color: #D8C3B4;
  -webkit-mask-image: url(../../../img/common/icon-flow.svg);
          mask-image: url(../../../img/common/icon-flow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-step-flow-list__step {
  display: grid;
  color: #F00000;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 0.75rem;
  line-height: 1.2;
}
.mod-step-flow-list__step .num {
  font-size: 1.5rem;
}
.mod-step-flow-list__txt {
  font-weight: bold;
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-step-flow-list__txt {
    font-size: 1rem;
  }
}
.mod-step-flow-list.--no-step .mod-step-flow-list__item {
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-step-flow-list.--no-step .mod-step-flow-list__item {
    padding: 1.5rem 1rem;
  }
}

/*===========================================================*/
/* 特別開催セミナーカード */
/*===========================================================*/
.mod-special-seminar-card {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-special-seminar-card:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
  .mod-special-seminar-card:hover .mod-special-seminar-card__bottom-txt {
    color: #F00000;
  }
}
.mod-special-seminar-card + .mod-special-seminar-card {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card + .mod-special-seminar-card {
    margin-top: 1.5rem;
  }
}
.mod-special-seminar-card {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-special-seminar-card__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 2rem 2.5rem;
  padding: 2.5rem;
}
.mod-special-seminar-card__grid .grid-item1 {
  grid-column: 1/3;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__grid {
    grid-template-columns: unset;
    grid-template-rows: unset;
    gap: 2rem;
    padding: 2rem 1rem;
  }
  .mod-special-seminar-card__grid .grid-item1 {
    grid-column: unset;
  }
}
.mod-special-seminar-card {
  /* 見出し・テキスト・情報
  -------------------------------------------------------------------- */
}
.mod-special-seminar-card__ttl {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.mod-special-seminar-card__ttl-label {
  flex-shrink: 0;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 1rem;
  background-color: #BD967C;
  border-radius: 100vmax;
  color: #FFFFFF;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__ttl-label {
    font-size: 0.875rem;
  }
}
.mod-special-seminar-card__ttl-txt {
  font-weight: bold;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__ttl-txt {
    font-size: 1.125rem;
  }
}
.mod-special-seminar-card__data {
  display: grid;
  gap: 1rem;
  padding: 1.5rem 2rem;
  background-color: #F6F1EE;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__data {
    padding: 1rem 1.5rem;
  }
}
.mod-special-seminar-card__data-item {
  display: flex;
  gap: 0.5rem;
}
.mod-special-seminar-card__data-item dt {
  flex-shrink: 0;
  width: 5em;
}
.mod-special-seminar-card__data-item dd {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__data-item {
    gap: 1rem;
  }
  .mod-special-seminar-card__data-item dt {
    font-size: 0.875rem;
  }
  .mod-special-seminar-card__data-item dd {
    font-size: 1rem;
  }
}
.mod-special-seminar-card {
  /* ボトムエリア リンク
  -------------------------------------------------------------------- */
}
.mod-special-seminar-card__bottom {
  display: flex;
  border-top: 1px solid #DDDDDD;
}
.mod-special-seminar-card__bottom-txt {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25rem 1rem;
  background-color: #FFFFFF;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-special-seminar-card__bottom-txt {
    padding: 0.9375rem 1rem;
    font-size: 0.875rem;
  }
}

/*===========================================================*/
/* 定期開催セミナーカード */
/*===========================================================*/
.mod-regular-seminar-card {
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-regular-seminar-card:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-regular-seminar-card:hover .mod-regular-seminar-card__summary {
    color: #F00000;
  }
  .mod-regular-seminar-card:hover .mod-regular-seminar-card__img img {
    transform: scale(1.08);
  }
}
.cmn-container.--white .mod-regular-seminar-card {
  background-color: #F2F2F2;
}
.splide__slide .mod-regular-seminar-card {
  height: 100%;
}
.mod-regular-seminar-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-regular-seminar-card__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 332/187;
}
@media (max-width: 48rem) {
  .mod-regular-seminar-card__img-wrap {
    aspect-ratio: 287/167.96;
  }
}
.mod-regular-seminar-card__img {
  display: block;
  transition: transform 0.3s ease-out;
  aspect-ratio: 332/187;
}
@media (max-width: 48rem) {
  .mod-regular-seminar-card__img {
    aspect-ratio: 287/167.96;
  }
}
.mod-regular-seminar-card__info {
  padding: 1.25rem 1.125rem;
}
@media (max-width: 48rem) {
  .mod-regular-seminar-card__info {
    padding: 1rem;
  }
}
.mod-regular-seminar-card__summary {
  transition: color 0.3s ease-out;
  font-weight: bold;
  font-size: 1rem;
}
.mod-regular-seminar-card__txt {
  margin-top: 0.5rem;
}
.mod-regular-seminar-card__txt ul {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.mod-regular-seminar-card__txt li {
  margin-left: 1em;
  text-indent: -1em;
}

/* =========================================================== */
/* エリア情報 */
/* =========================================================== */
.mod-area-data {
  position: relative;
  padding: 2.5rem 2.5rem 2rem;
  border-radius: 0.75rem;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-area-data {
    padding: 1rem;
  }
}
.cmn-container.--white .mod-area-data {
  background-color: #F6F1EE;
}
.cmn-container.--brown .mod-area-data {
  background-color: #FFFFFF;
}
.mod-area-data::after {
  transform: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-area-data.is-init {
    padding-bottom: 3.3125rem;
    max-height: 30rem;
    overflow: hidden;
  }
  .mod-area-data.is-init:not(:has(.mod-area-data__main-img),
  :has(.mod-area-data__living),
  :has(.mod-area-data__list)) {
    max-height: 16.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-area-data.is-init::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 3.25rem;
    left: 0;
    right: 0;
    width: 100%;
    height: 6rem;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  }
  .cmn-container.--white .mod-area-data.is-init::after {
    background-image: linear-gradient(180deg, rgba(246, 241, 238, 0), rgb(246, 241, 238));
  }
  .cmn-container.--brown .mod-area-data.is-init::after {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
  }
}
.mod-area-data.is-init.is-open {
  max-height: none !important;
}
.mod-area-data.is-init.is-open::after {
  opacity: 0;
}
.mod-area-data {
  /* サムネイルテキスト
  -------------------------------------------------------------------- */
}
.mod-area-data__main {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-area-data__main {
    flex-direction: column-reverse;
    gap: 1rem;
  }
}
.mod-area-data__main-desc {
  flex: 1;
}
.mod-area-data__main-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-area-data__main-txt {
    font-size: 0.875rem;
  }
}
.mod-area-data__main-img {
  height: -moz-fit-content;
  height: fit-content;
  display: block;
  aspect-ratio: 400/267;
  flex-shrink: 0;
  width: 40.8163265306%;
}
@media (max-width: 48rem) {
  .mod-area-data__main-img {
    width: 100%;
  }
}
.mod-area-data {
  /* 暮らし
  -------------------------------------------------------------------- */
}
.mod-area-data__living {
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-area-data__living {
    margin-top: 1.5rem;
  }
}
.mod-area-data__living-ttl {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-area-data__living-ttl {
    font-size: 1rem;
  }
}
.mod-area-data__living-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-area-data__living-txt {
    font-size: 0.875rem;
  }
}
.mod-area-data {
  /* リストエリア
  -------------------------------------------------------------------- */
}
.mod-area-data__list {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-area-data__list {
    margin-top: 1rem;
    gap: 0.5rem;
  }
}
.mod-area-data__list li {
  width: calc((100% - 2.5rem) / 2);
  position: relative;
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-area-data__list li {
    width: 100%;
  }
}
.mod-area-data__list li::before {
  content: "";
  display: block;
  border-radius: 0.0625rem;
  background-color: #F00000;
  width: 0.5rem;
  height: 0.5rem;
  flex-shrink: 0;
  position: relative;
  top: 0.515625rem;
}
.mod-area-data__list dl {
  font-size: 0.875rem;
  display: flex;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-area-data__list dl {
    flex-direction: column;
    gap: 0.125rem;
  }
}
.mod-area-data__list dt {
  flex-shrink: 0;
}
.mod-area-data {
  /* リンクエリア
  -------------------------------------------------------------------- */
}
.mod-area-data__link {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-area-data__link {
    margin-top: 1rem;
  }
}
.mod-area-data {
  /* トグルボタン
  -------------------------------------------------------------------- */
}
.mod-area-data__toggle-btn {
  display: none;
}
@media (max-width: 48rem) {
  .mod-area-data__toggle-btn {
    padding: 1rem;
    width: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    justify-content: flex-end;
  }
}
@media (max-width: 48rem) {
  .mod-area-data.is-init .mod-area-data__toggle-btn {
    display: flex;
  }
}
.cmn-container.--white .mod-area-data__toggle-btn {
  background-color: #F6F1EE;
}
.cmn-container.--brown .mod-area-data__toggle-btn {
  background-color: #FFFFFF;
}
.mod-area-data__toggle-btn .cmn-txt-link::before {
  content: "続きを見る";
  font-size: 0.75rem;
}
.mod-area-data.is-open .mod-area-data__toggle-btn .cmn-txt-link::before {
  content: "閉じる";
}
.mod-area-data__toggle-btn .cmn-txt-link img {
  transform: rotate(90deg);
}
.mod-area-data.is-open .mod-area-data__toggle-btn .cmn-txt-link img {
  transform: rotate(-90deg);
}

/* =========================================================== */
/* 住まいリレー AI査定 */
/* =========================================================== */
.mod-ai-assessment-common {
  overflow: hidden;
  background-image: linear-gradient(90deg, rgb(197, 196, 214), rgb(225, 225, 234) 68%, rgb(197, 196, 214));
  padding: 2.125rem 1rem 1.625rem;
  position: relative;
  border-radius: 0.75rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common {
    padding: 1.625rem 1rem 1rem 1rem;
  }
}
.mod-ai-assessment-common::before, .mod-ai-assessment-common::after {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.mod-ai-assessment-common::before {
  left: 0;
  width: 9.25rem;
  background-image: url(../../../img/selection/bg-ai-assessment01.webp);
}
@media (max-width: 48rem) {
  .mod-ai-assessment-common::before {
    width: 5.3125rem;
    top: unset;
    bottom: calc(-100% + 14.6875rem);
  }
}
.mod-ai-assessment-common::after {
  right: 0;
  width: 10rem;
  background-image: url(../../../img/selection/bg-ai-assessment02.webp);
}
@media (max-width: 48rem) {
  .mod-ai-assessment-common::after {
    width: 6.0625rem;
  }
}
.mod-ai-assessment-common__inner {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  max-width: 55rem;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  right: -1.875rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__inner {
    right: unset;
    justify-content: center;
  }
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__main {
    width: 100%;
  }
}
.mod-ai-assessment-common__head {
  margin-bottom: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head {
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: center;
    gap: 0.625rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment-common__head {
    align-items: center;
  }
}
.mod-ai-assessment-common__head .copy {
  white-space: nowrap;
  position: relative;
  font-size: 1.5625rem;
  display: flex;
  font-weight: bold;
  align-items: center;
  gap: 0.375rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head .copy {
    font-size: 1rem;
    gap: 0.1875rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment-common__head .copy {
    font-size: 0.875rem;
  }
}
.mod-ai-assessment-common__head .copy::after {
  content: "";
  display: block;
  background-image: url(../../../img/selection/icon-ai-assessment.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 7.51/21.439;
  width: 0.469375rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head .copy::after {
    width: 0.28rem;
  }
}
.mod-ai-assessment-common__head .ttl {
  display: flex;
  align-items: center;
  gap: 0.5375rem;
  line-height: 1.2;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head .ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: unset;
  }
}
.mod-ai-assessment-common__head .sub {
  font-size: 3.4375rem;
  font-weight: bold;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head .sub {
    font-size: 2.0625rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment-common__head .sub {
    font-size: 1.625rem;
  }
}
.mod-ai-assessment-common__head .name {
  font-size: 4.875rem;
  font-weight: 900;
  color: #020055;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head .name {
    font-size: 3.3125rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment-common__head .name {
    font-size: 2.5rem;
  }
}
.mod-ai-assessment-common__head .en {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  font-size: 6.5625rem;
  position: relative;
  top: 0.375rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__head .en {
    font-size: 4.5625rem;
    top: 0.25rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment-common__head .en {
    font-size: 3.5rem;
  }
}
.mod-ai-assessment-common__list {
  display: flex;
  gap: 1.75rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__list {
    gap: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-ai-assessment-common__list {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.mod-ai-assessment-common__list-item {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  padding: 2.1875rem 0.25rem 0.875rem;
  margin-top: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-ai-assessment-common__list-item {
    border-radius: 0.25rem;
    margin-top: unset;
    padding: 0.625rem 0.75rem;
    justify-content: flex-start;
    gap: 1.25rem;
  }
}
.mod-ai-assessment-common__list-item .circle {
  position: absolute;
  top: -1.125rem;
  background-color: #3A397B;
  color: #FFFFFF;
  font-family: "Lato", sans-serif;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 50%;
  width: 2.6875rem;
  height: 2.6875rem;
}
@media (max-width: 48rem) {
  .mod-ai-assessment-common__list-item .circle {
    position: static;
  }
}
.mod-ai-assessment-common__list-item .circle .point {
  font-size: 0.4375rem;
  font-weight: 700;
}
.mod-ai-assessment-common__list-item .circle .num {
  font-size: 1.0625rem;
  font-weight: 900;
}
.mod-ai-assessment-common__list-item .txt {
  font-size: 0.875rem;
  line-height: 1.4;
  text-align: center;
  font-weight: bold;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__list-item .txt {
    text-align: left;
  }
}
.mod-ai-assessment-common__list-item .txt.--03 {
  font-size: 0.8125rem;
}
.mod-ai-assessment-common__list-item .txt .txt-l {
  font-size: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__list-item .txt .txt-l {
    font-size: 1.125rem;
  }
}
.mod-ai-assessment-common__list-item .txt .txt-l.--03 {
  font-size: 1.0625rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__list-item .txt .txt-l.--03 {
    font-size: 1.125rem;
  }
}
.mod-ai-assessment-common__btn {
  background-color: #020055;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.75rem auto 0;
  gap: 1rem;
  padding: 0 1.875rem;
  font-size: 1rem;
  font-weight: bold;
  color: #FFFFFF;
  line-height: 3rem;
  max-width: 19.1875rem;
  border-radius: 2rem;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-ai-assessment-common__btn {
    max-width: 19rem;
    margin: 1rem auto 0;
  }
}
.mod-ai-assessment-common__btn::before, .mod-ai-assessment-common__btn::after {
  content: "";
  display: block;
  background-color: #FFFFFF;
  height: auto;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-ai-assessment-common__btn::before {
  flex-shrink: 0;
  aspect-ratio: 20.45/25.35;
  width: 1.278125rem;
  -webkit-mask-image: url(../../../img/common/icon-ai.svg);
          mask-image: url(../../../img/common/icon-ai.svg);
}
.mod-ai-assessment-common__btn::after {
  position: absolute;
  right: 1rem;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
}
.mod-ai-assessment-common__img {
  width: 14.504375rem;
  aspect-ratio: 232.07/361;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment-common__img {
    width: 6.348125rem;
  }
}

/* =========================================================== */
/* おすすめ賃貸マンション特集 カード */
/* =========================================================== */
.mod-rent-tokushu-card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 1.5rem;
}
@media (max-width: 30rem) {
  .mod-rent-tokushu-card-container {
    gap: 2.5rem;
  }
}
.mod-rent-tokushu-card-container .mod-rent-tokushu-card {
  width: calc((100% - 4.5rem) / 4);
}
@media (max-width: 66.25rem) {
  .mod-rent-tokushu-card-container .mod-rent-tokushu-card {
    width: calc((100% - 3rem) / 3);
  }
}
@media (max-width: 48rem) {
  .mod-rent-tokushu-card-container .mod-rent-tokushu-card {
    width: calc((100% - 1.5rem) / 2);
  }
}
@media (max-width: 30rem) {
  .mod-rent-tokushu-card-container .mod-rent-tokushu-card {
    width: 100%;
  }
}

.mod-rent-tokushu-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
}
@media (any-hover: hover) {
  .mod-rent-tokushu-card:hover .mod-rent-tokushu-card__img-wrap img {
    transform: scale(1.08);
  }
  .mod-rent-tokushu-card:hover .mod-rent-tokushu-card__bottom-link.--vacant {
    background-color: #3A397B;
  }
}
.mod-rent-tokushu-card__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.mod-rent-tokushu-card__img-wrap {
  border-radius: 0.75rem 0.75rem 0 0;
  overflow: hidden;
}
.mod-rent-tokushu-card__img-wrap img {
  display: block;
  transition: transform 0.3s ease-out;
}
.mod-rent-tokushu-card__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
  padding: 1rem;
}
.mod-rent-tokushu-card__tag {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border: 1px solid #DDDDDD;
  border-radius: 0.25rem;
  color: #4D4D4D;
  font-size: 0.75rem;
}
.mod-rent-tokushu-card__ttl {
  font-weight: bold;
  font-size: 0.875rem;
}
.mod-rent-tokushu-card__detail {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-rent-tokushu-card__detail {
    margin-top: 0.375rem;
  }
}
.mod-rent-tokushu-card__detail-block {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-rent-tokushu-card__detail-block .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  position: relative;
  top: 0.328125rem;
}
.mod-rent-tokushu-card__detail-desc p {
  font-size: 0.875rem;
}
.mod-rent-tokushu-card__bottom {
  margin-top: auto;
  display: flex;
  border-top: 1px solid #F2F2F2;
}
.mod-rent-tokushu-card__bottom-link {
  width: 50%;
  height: 3.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 600;
}
.mod-rent-tokushu-card__bottom-link:first-child {
  border-radius: 0 0 0 0.75rem;
}
.mod-rent-tokushu-card__bottom-link:last-child {
  border-radius: 0 0 0.75rem 0;
}
.mod-rent-tokushu-card__bottom-link:only-child {
  width: 100%;
  border-radius: 0 0 0.75rem 0.75rem;
}
.mod-rent-tokushu-card__bottom-link.--special-site {
  position: relative;
  z-index: 1;
}
.mod-rent-tokushu-card__bottom-link.--special-site::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-left: 0.25rem;
}
.mod-rent-tokushu-card__bottom-link.--vacant {
  background-color: #020055;
  color: #FFFFFF;
  transition: background-color 0.3s ease-out;
}
.mod-rent-tokushu-card__bottom-link.--vacant::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
}

/* =========================================================== */
/* マンションセレクション導線リンク */
/* =========================================================== */
.mod-bnr-ms-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 0.75rem;
  border: 1px solid #DDDDDD;
  isolation: isolate;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-bnr-ms-link {
    grid-template-columns: 1fr;
  }
}
.mod-bnr-ms-link__body {
  padding: 2rem 2.5rem 2rem 2rem;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-bnr-ms-link__body {
    padding: 1rem;
  }
}
.mod-bnr-ms-link__label {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.5rem;
  margin-bottom: 0.75rem;
  color: #FFFFFF;
  border-radius: 0.25rem;
  background-color: rgba(0, 0, 0, 0.6);
  font-size: 0.75rem;
  font-size: 500;
}
@media (max-width: 66.25rem) {
  .mod-bnr-ms-link__label {
    display: grid;
    gap: 0.125rem;
    padding: 0;
    background-color: transparent;
  }
  .mod-bnr-ms-link__label > span {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 0.5rem;
    border-radius: 0.25rem;
    background-color: rgba(0, 0, 0, 0.6);
  }
}
.mod-bnr-ms-link__ttl {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-ms-link__ttl {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.mod-bnr-ms-link__txt {
  font-size: 1rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-ms-link__txt {
    font-size: 0.875rem;
  }
}
.mod-bnr-ms-link .cmn-btn {
  margin-top: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-ms-link .cmn-btn {
    margin-top: 1rem;
  }
}
.mod-bnr-ms-link__thumb {
  display: grid;
  place-content: center;
  background-color: #10123B;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.mod-bnr-ms-link__thumb img {
  aspect-ratio: 307.48/193.94;
  max-width: none;
}
@media (max-width: 48rem) {
  .mod-bnr-ms-link__thumb {
    order: -1;
  }
  .mod-bnr-ms-link__thumb img {
    max-width: 12.1875rem;
  }
}

/*===========================================================*/
/* アイコン紹介 */
/*===========================================================*/
.mod-icon-introduction {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-icon-introduction__tag-list {
  display: flex;
  gap: 1rem 2.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.mod-icon-introduction__tag-list + .mod-icon-introduction__tag-list {
  margin-top: 0.75rem;
}
.mod-icon-introduction__tag-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
}
.mod-icon-introduction__tag-item .tag-wrap {
  display: flex;
  flex-shrink: 0;
  gap: 0.25rem;
}
.mod-icon-introduction__tag-item .tag {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #F2F2F2;
}
.mod-icon-introduction__tag-item .tag.--new {
  background-color: #4FA719;
  color: #FFFFFF;
}
.mod-icon-introduction__tag-item .tag.--secondary {
  background-color: #FFFFFF;
  color: #CC0000;
  border: 0.0625rem solid #CC0000;
}
.mod-icon-introduction__tag-item .tag.--brown {
  background-color: #EEE6E0;
}
.mod-icon-introduction {
  /* アイコン
  -------------------------------------------------------------------- */
}
.mod-icon-introduction__icon {
  margin-top: 3.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-icon-introduction__icon {
    margin-top: 2rem;
    gap: 1rem;
  }
}
.mod-icon-introduction__icon-item {
  line-height: 1.5;
  padding: 1.25rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.75rem;
  width: calc((100% - 2rem) / 2);
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 0.5rem 1.25rem;
  transition: box-shadow 0.3s ease-out, border-color 0.3s ease-out, color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-icon-introduction__icon-item {
    grid-template-columns: 4rem 1fr;
    gap: 0.25rem 1.5rem;
    padding: 1rem;
    width: 100%;
  }
}
@media (any-hover: hover) {
  .mod-icon-introduction__icon-item:hover {
    color: #F00000;
  }
}
.mod-icon-introduction__icon-item .icon-img {
  grid-column: 1/2;
  grid-row: 1/3;
}
@media (max-width: 48rem) {
  .mod-icon-introduction__icon-item .icon-img {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.mod-icon-introduction__icon-item .icon-ttl {
  font-weight: bold;
  font-size: 1rem;
  grid-column: 2/3;
  grid-row: 1/2;
}
@media (max-width: 48rem) {
  .mod-icon-introduction__icon-item .icon-ttl {
    grid-column: 2/3;
    grid-row: 1/2;
    align-content: center;
  }
}
.mod-icon-introduction__icon-item .icon-txt {
  font-size: 0.875rem;
  grid-column: 2/3;
  grid-row: 2/3;
}
@media (max-width: 48rem) {
  .mod-icon-introduction__icon-item .icon-txt {
    grid-column: 1/3;
    grid-row: 2/3;
  }
}

/* =========================================================== */
/* ローンシミュレーション */
/* =========================================================== */
.mod-loan-simulation {
  container-type: inline-size;
  background-color: #FFFFFF;
  padding: 2.5rem;
  border-radius: 0.75rem;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
}
@media (max-width: 48rem) {
  .mod-loan-simulation {
    padding: 1.5rem 1rem;
  }
}
.mod-loan-simulation__property-price {
  display: flex;
  align-items: center;
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0.75rem;
}
.mod-loan-simulation__property-price dt {
  margin-right: 1rem;
  font-weight: bold;
}
.mod-loan-simulation__property-price .num {
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
  font-weight: 900;
}
@media (max-width: 48rem) {
  .mod-loan-simulation__property-price {
    font-size: 0.875rem;
  }
  .mod-loan-simulation__property-price dt {
    margin-right: 0.75rem;
  }
  .mod-loan-simulation__property-price .num {
    font-size: 1rem;
  }
}
.mod-loan-simulation__monthly-payment {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: #F6F1EE;
  border-radius: 0.5rem;
  text-align: center;
}
.mod-loan-simulation__monthly-payment dt {
  margin-right: 1rem;
  font-weight: bold;
  font-size: 1.125rem;
}
.mod-loan-simulation__monthly-payment .num {
  font-family: "Lato", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mod-loan-simulation__monthly-payment {
    margin-bottom: 1rem;
    padding: 0.75rem;
  }
  .mod-loan-simulation__monthly-payment dt {
    font-size: 0.875rem;
    margin-right: 0.5rem;
  }
}
.mod-loan-simulation__detail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.2;
}
.mod-loan-simulation__detail:not(:has(> div:nth-of-type(3))) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
@media (max-width: 48rem) {
  .mod-loan-simulation__detail:not(:has(> div:nth-of-type(3))) > div {
    width: 100%;
  }
}
.mod-loan-simulation__detail > div {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-loan-simulation__detail > div {
    justify-content: space-between;
  }
}
.mod-loan-simulation__detail dt {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-loan-simulation__detail dt::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #F00000;
}
.mod-loan-simulation__text {
  margin-top: 1.5rem;
  font-weight: bold;
}
.mod-loan-simulation__text + .mod-loan-simulation__notes {
  margin-top: 1rem;
}
.mod-loan-simulation__notes {
  margin-top: 1.5rem;
  font-size: 0.75rem;
}

/* =========================================================== */
/* 目次 */
/* =========================================================== */
.mod-top-fv__select {
  background-color: #F6F1EE;
  padding: 3rem 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-top-fv__select {
    padding: 1rem 0 2.5rem;
  }
}
.mod-top-fv__select::before, .mod-top-fv__select::after {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 18.34/24;
  height: auto;
  background-color: #CAAB97;
  -webkit-mask-image: url(../../../img/common/bg-baton-brown.svg);
          mask-image: url(../../../img/common/bg-baton-brown.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  z-index: 1;
  width: max(14.03vw, 14.098125rem);
}
@media (max-width: 48rem) {
  .mod-top-fv__select::before, .mod-top-fv__select::after {
    width: max(29.37vw, 10.360625rem);
  }
}
.mod-top-fv__select::before {
  right: -3.875rem;
  top: -3.25rem;
}
@media (max-width: 48rem) {
  .mod-top-fv__select::before {
    right: -5.75rem;
    top: 0.375rem;
  }
}
.mod-top-fv__select::after {
  left: -3.875rem;
  bottom: -3.25rem;
  transform: scale(-1, -1);
}
@media (max-width: 48rem) {
  .mod-top-fv__select::after {
    left: -3.6875rem;
    bottom: -3.75rem;
  }
}
.mod-top-fv__select .cmn-inner {
  position: relative;
  z-index: 2;
}
.mod-top-fv__select .select-conditions {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
}
@media (max-width: 66.25rem) {
  .mod-top-fv__select .select-conditions {
    gap: 1rem;
  }
}
@keyframes scaleUp {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.mod-top-fv__select .select-conditions__item {
  border-radius: 0.75rem;
  border: 0.125rem #F00000 solid;
  background-color: #FFFFFF;
  padding: 1rem 1.75rem 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  flex: 1;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-conditions__item {
    gap: 0.1875rem;
    flex: unset;
    padding: 0.5rem 1.4375rem 0.375rem;
    width: calc((100% - 1rem) / 2);
  }
}
@media (any-hover: hover) {
  .mod-top-fv__select .select-conditions__item:hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .mod-top-fv__select .select-conditions__item:hover .select-conditions__arrow {
    background-color: #FFFFFF;
  }
  .mod-top-fv__select .select-conditions__item:hover .select-conditions__icon::after {
    animation: scaleUp 0.3s forwards;
  }
}
.mod-top-fv__select .select-conditions__arrow {
  display: block;
  position: absolute;
  right: 1.25rem;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  transition: background-color 0.3s ease-out;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
}
.mod-top-fv__select .select-conditions__icon {
  width: 4.25rem;
  height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-conditions__icon {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.mod-top-fv__select .select-conditions__icon::before, .mod-top-fv__select .select-conditions__icon::after {
  content: "";
  display: block;
}
.mod-top-fv__select .select-conditions__icon::after {
  transition: transform 0.3s ease-out;
  border-radius: 100%;
  position: absolute;
  inset: 0;
  width: 4.25rem;
  height: 4.25rem;
  z-index: 1;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-conditions__icon::after {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.mod-top-fv__select .select-conditions__icon::before {
  z-index: 2;
  width: 2.75rem;
  height: 2.5rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-conditions__icon::before {
    width: 1.7875rem;
    height: 1.5rem;
  }
}
.mod-top-fv__select .select-conditions__icon.--mansion::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-top-fv__select .select-conditions__icon.--access::before {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.mod-top-fv__select .select-conditions__icon.--train::before {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.mod-top-fv__select .select-conditions__icon.--house::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-top-fv__select .select-conditions__icon.--land::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-top-fv__select .select-conditions__icon.--multiple::before {
  -webkit-mask-image: url(../../../img/common/icon-multiple.svg);
          mask-image: url(../../../img/common/icon-multiple.svg);
}
.mod-top-fv__select .select-conditions__icon.--map-search::before {
  -webkit-mask-image: url(../../../img/common/icon-map-search.svg);
          mask-image: url(../../../img/common/icon-map-search.svg);
}
.mod-top-fv__select .select-conditions__icon.--payment::before {
  -webkit-mask-image: url(../../../img/common/icon-payment.svg);
          mask-image: url(../../../img/common/icon-payment.svg);
}
.mod-top-fv__select .select-conditions__icon.--hash::before {
  -webkit-mask-image: url(../../../img/common/icon-hash.svg);
          mask-image: url(../../../img/common/icon-hash.svg);
  height: 2rem;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-conditions__icon.--hash::before {
    height: 1.5rem;
  }
}
.mod-top-fv__select .select-conditions__label {
  font-weight: bold;
  font-size: 0.875rem;
  white-space: nowrap;
}
@media (max-width: 66.25rem) {
  .mod-top-fv__select .select-conditions__label {
    font-size: 0.8125rem;
  }
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-conditions__label {
    font-size: 0.875rem;
  }
}
.mod-top-fv__select .select-links {
  margin-top: 2.5rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-links {
    margin-top: 2rem;
    gap: 0.5rem 1rem;
  }
}
.mod-top-fv__select .select-link {
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 0.25rem 1.5rem 0.25rem 1rem;
  font-size: 0.875rem;
  white-space: normal;
  flex: 1;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-link {
    flex: none;
    padding: 0.25rem 1rem 0.25rem 0.75rem;
    font-size: 0.75rem;
    min-height: 3.1875rem;
    justify-content: flex-start;
    width: calc((100% - 1rem) / 2);
  }
}
.mod-top-fv__select .select-link .cmn-btn__icon {
  right: 0.75rem;
}
.mod-top-fv__select .select-txt-link {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 48rem) {
  .mod-top-fv__select .select-txt-link {
    margin-top: 1.25rem;
  }
}
.mod-top-fv__search {
  background-color: #EEE6E0;
  padding: 1.75rem 0;
  position: relative;
  border-bottom-right-radius: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-top-fv__search {
    border-bottom-right-radius: 1.5rem;
    padding: 1.125rem 0 1.75rem;
  }
}
.mod-top-fv__search::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #FFFFFF;
}
.mod-top-fv__search .search-content {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-top-fv__search .search-content {
    flex-direction: column;
    gap: 0.625rem;
    align-items: flex-start;
  }
}
.mod-top-fv__search .search-key {
  font-weight: 500;
  flex-shrink: 0;
}
.mod-top-fv__search .search-box {
  border-radius: 0.5rem;
  overflow: hidden;
  display: flex;
  border: 0.0625rem solid #CCCCCC;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-top-fv__search .search-box {
    width: 100%;
  }
}
.mod-top-fv__search .search-input {
  border-radius: 0.5rem 0 0 0.5rem;
  background-color: #FFFFFF;
  padding: 1rem 1.5rem;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-top-fv__search .search-input {
    padding: 0.625rem 0.75rem;
  }
}
.mod-top-fv__search .search-input::-moz-placeholder {
  color: #808080;
  opacity: 1;
  font-size: 0.875rem;
}
.mod-top-fv__search .search-input::placeholder {
  color: #808080;
  opacity: 1;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-top-fv__search .search-input::-moz-placeholder {
    font-size: 0.75rem;
  }
  .mod-top-fv__search .search-input::placeholder {
    font-size: 0.75rem;
  }
}
.mod-top-fv__search .search-btn {
  background-color: #BD967C;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.125rem;
}
@media (max-width: 48rem) {
  .mod-top-fv__search .search-btn {
    padding: 0.625rem 0.75rem;
  }
}
.mod-top-fv__search .search-icon {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-search.svg);
          mask-image: url(../../../img/common/icon-search.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
}

/* =========================================================== */
/* パーソナライズ領域 */
/* =========================================================== */
.mod-personalization-area {
  background-color: #DDDDDD;
  aspect-ratio: 1060/320;
}
.mod-personalization-area:has(*) {
  background-color: unset;
  aspect-ratio: unset;
}

/* =========================================================== */
/* マイページ登録モーダル系フォーム */
/* =========================================================== */
.mod-no1-container {
  position: relative;
  isolation: isolate;
  background-color: #AF0808;
  padding-block: 3rem 4rem;
  z-index: 2;
  margin-top: 4rem;
}
.mod-no1-container[class*="--prev-"]::before {
  content: "";
  position: absolute;
  top: -4rem;
  left: 0;
  width: 100%;
  height: 4rem;
  z-index: -2;
}
@media (max-width: 48rem) {
  .mod-no1-container[class*="--prev-"]::before {
    top: -3rem;
    height: 3rem;
  }
}
.mod-no1-container.--prev-brown::before {
  background-color: #F6F1EE;
}
.mod-no1-container.--prev-white::before {
  background-color: #FFFFFF;
}
.mod-no1-container.--prev-white02::before {
  background-color: #FFFFFF;
}
.mod-no1-container.--prev-blue::before {
  background-color: #E1E1EA;
}
.mod-no1-container.--prev-red::before {
  background-color: #CC0000;
}
.mod-no1-container.--prev-navy::before {
  background-color: #10123B;
}
@media (max-width: 96rem) {
  .mod-no1-container {
    display: flex;
    padding-bottom: 2.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-no1-container {
    margin-top: 3rem;
  }
}
.mod-no1-container .cmn-inner {
  z-index: 3;
}
.mod-no1-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
}
.mod-no1-bg::after {
  content: "";
  display: block;
  position: absolute;
  top: -7.75rem;
  right: -8.125rem;
  aspect-ratio: 460/634;
  width: 28.607vw;
  background: url("/assets/img/common/no1/bg-deco-baton.svg") no-repeat center/cover;
  z-index: -1;
}
@media (max-width: 96rem) {
  .mod-no1-bg::after {
    width: 29.0625rem;
    top: -9.625rem;
    right: -9.125rem;
  }
}
.mod-no1-img {
  position: absolute;
  top: -4rem;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media (max-width: 48rem) {
  .mod-no1-img {
    top: -3rem;
  }
}
.mod-no1-img img {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  aspect-ratio: 711/458;
  max-width: clamp(21.25rem, 46vw, 44.4375rem);
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-no1-inner {
  max-width: 34.375rem;
  margin-left: auto;
  display: flex;
  flex-direction: column;
}
@media (max-width: 96rem) {
  .mod-no1-inner {
    height: 100%;
    justify-content: flex-end;
  }
}
@media (max-width: 66.25rem) {
  .mod-no1-inner {
    padding-top: 20.9518867925vw;
    margin-inline: auto;
  }
}
@media (max-width: 40rem) {
  .mod-no1-inner {
    padding-top: 8.9375rem;
  }
}
@media (max-width: 30rem) {
  .mod-no1-inner {
    max-width: 21.25rem;
  }
}
.mod-no1-subttl {
  font-weight: 700;
  font-size: 1.25rem;
  color: #FFFFFF;
}
@media (max-width: 66.25rem) {
  .mod-no1-subttl {
    font-size: 1rem;
  }
}
.mod-no1-subttl-wrap {
  margin-top: 2.625rem;
}
@media (max-width: 66.25rem) {
  .mod-no1-subttl-wrap {
    margin-top: 1.875rem;
  }
}
.mod-no1-desc {
  margin-top: 1.25rem;
  font-size: 1.125rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-no1-desc {
    margin-top: 1rem;
    font-size: 0.875rem;
  }
}

/* =========================================================== */
/* マンション検索ボックス */
/* =========================================================== */
.mod-search-ms-input {
  position: relative;
  width: 100%;
  max-width: 35.375rem;
  margin-left: auto;
  margin-right: auto;
}
.mod-search-ms-input__field {
  min-width: 31.875rem;
  width: 100%;
  height: 4rem;
  padding: 1.25rem;
  color: #000000;
  border: 2px solid #CCCCCC;
  background-color: #FFFFFF;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out;
  text-align: left;
}
@media (max-width: 48rem) {
  .mod-search-ms-input__field {
    min-width: 100%;
  }
}
@media (any-hover: hover) {
  .mod-search-ms-input__field:hover {
    background-color: #F2F2F2;
  }
}
.mod-search-ms-input__field:-moz-placeholder {
  color: #808080;
}
.mod-search-ms-input__field:placeholder-shown {
  color: #808080;
}
.mod-search-ms-input__btn {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  background-color: #CC0000;
  border-radius: 50%;
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 0.25rem;
  transition: background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-search-ms-input__btn:hover {
    background-color: #AF0808;
  }
}
.mod-search-ms-input__btn .mask-search {
  width: 1.4375rem;
  height: 1.4375rem;
  display: block;
  -webkit-mask-image: url(../../../img/common/icon-search.svg);
          mask-image: url(../../../img/common/icon-search.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #FFFFFF;
}

/* =========================================================== */
/* レジデンスクラブ */
/* =========================================================== */
.mod-residence-club {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: 45.4545454545% 1fr;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-residence-club {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.mod-residence-club__img img {
  aspect-ratio: 800/450;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-residence-club__ttl {
  font-weight: bold;
  font-size: 1.125rem;
}
.mod-residence-club__ttl .label {
  display: inline-block;
  margin-right: 0.75rem;
  padding: 0 0.5rem;
  background-color: #000000;
  color: #FFFFFF;
  border-radius: 0.25rem;
  font-weight: normal;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-residence-club__ttl {
    display: grid;
    gap: 0.5rem;
    font-size: 1rem;
  }
  .mod-residence-club__ttl .label {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.mod-residence-club__txt {
  margin-top: 1rem;
  font-size: 0.875rem;
}
.mod-residence-club__btn {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-residence-club__btn {
    margin-top: 1.5rem;
  }
}

/*===========================================================*/
/* ロゴコンテンツ */
/*===========================================================*/
.mod-logo-display-common {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  padding: 1.25rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common {
    flex-direction: column;
    padding: 0.25rem 1.25rem;
  }
}
.cmn-container.--white .mod-logo-display-common {
  border: 0.0625rem solid #DDDDDD;
}
.mod-logo-display-common__block {
  padding: 0 2.5rem;
  text-align: center;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common__block {
    padding: 1.25rem 0;
  }
}
.mod-logo-display-common__block + .mod-logo-display-common__block {
  position: relative;
}
.mod-logo-display-common__block + .mod-logo-display-common__block::before {
  content: "";
  display: block;
  width: 0.0625rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to bottom, #808080 1px, transparent 1px);
  background-size: 0.0625rem 0.25rem;
  background-repeat: repeat-y;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common__block + .mod-logo-display-common__block::before {
    height: 0.0625rem;
    width: 100%;
    bottom: unset;
    left: 0;
    right: 0;
    background-image: linear-gradient(to right, #808080 1px, transparent 1px);
    background-size: 0.25rem 0.0625rem;
    background-repeat: repeat-x;
  }
}
.mod-logo-display-common__head {
  color: #262740;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common__head {
    font-size: 0.75rem;
    margin-bottom: 1rem;
  }
}
.mod-logo-display-common .logo-wrap img {
  display: inline-block;
  max-width: 100%;
}
.mod-logo-display-common .logo-residenceclub {
  width: 14.03rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-residenceclub {
    width: 13.9375rem;
  }
}
.mod-logo-display-common .logo-suumo {
  width: 8.098125rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-suumo {
    width: 6.828125rem;
  }
}
.mod-logo-display-common .logo-lifullhomes {
  width: 8.6675rem;
  margin: 0 2.25rem 0 2.625rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-lifullhomes {
    width: 8.0525rem;
    margin: 0 0 0 auto;
    display: block !important;
  }
}
.mod-logo-display-common .logo-athome {
  width: 9.264375rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-athome {
    width: 7.5625rem;
    margin-right: auto;
    display: block !important;
  }
}
.mod-logo-display-common .logo-list {
  display: flex;
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-list {
    gap: 1rem 1rem;
    flex-wrap: wrap;
  }
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-list .logo-wrap:nth-child(1) {
    width: 100%;
  }
}
@media (max-width: 66.25rem) {
  .mod-logo-display-common .logo-list .logo-wrap:nth-child(2), .mod-logo-display-common .logo-list .logo-wrap:nth-child(3) {
    flex: 1;
  }
}

/*===========================================================*/
/* インフォグラフィックス */
/*===========================================================*/
.mod-infographics-list-common__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__item {
    flex-direction: column-reverse;
    gap: 1.5rem;
  }
}
.mod-infographics-list-common.--type02 .mod-infographics-list-common__item {
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common.--type02 .mod-infographics-list-common__item {
    flex-direction: column;
    align-items: center;
  }
}
.mod-infographics-list-common.--type03 .mod-infographics-list-common__item {
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common.--type03 .mod-infographics-list-common__item {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.mod-infographics-list-common__item + .mod-infographics-list-common__item {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__item + .mod-infographics-list-common__item {
    margin-top: 2rem;
  }
}
.mod-infographics-list-common__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__item:nth-child(even) {
    flex-direction: column-reverse;
  }
}
.mod-infographics-list-common.--type02 .mod-infographics-list-common__item:nth-child(even) {
  flex-direction: row;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common.--type02 .mod-infographics-list-common__item:nth-child(even) {
    flex-direction: column;
  }
}
.mod-infographics-list-common__ttl {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
  line-height: 1.5;
  font-weight: 700;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-infographics-list-common__txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__txt {
    font-size: 0.875rem;
  }
}
.mod-infographics-list-common__note {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__note {
    font-size: 0.625rem;
  }
}
.mod-infographics-list-common__figure {
  flex-shrink: 0;
  max-width: 31.875rem;
  width: 48.1132075472%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__figure {
    width: 100%;
  }
}
.mod-infographics-list-common__figure figcaption {
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list-common__figure figcaption {
    font-size: 0.625rem;
  }
}
.mod-infographics-list-common__figure img {
  aspect-ratio: 510/287;
}

/* =========================================================== */
/* 検索履歴 */
/* =========================================================== */
.mod-search-history {
  display: flex;
  padding: 1.5rem 1.875rem;
  border-radius: 0.75rem;
  gap: 1.75rem;
  align-items: center;
  background-color: #FFFFFF;
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-search-history {
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1.25rem 1rem;
  }
}
.mod-search-history__head {
  flex-shrink: 0;
  line-height: 2.25rem;
  border-radius: 0.3125rem;
  background-color: #F2F2F2;
  padding: 0 1.5rem;
  font-size: 0.875rem;
}
.mod-search-history__body span {
  display: inline-block;
}
.mod-search-history__body .main {
  margin-right: 0.25rem;
  text-decoration: underline;
}

/* =========================================================== */
/* 買いたい方、借りたい方向け 売りたい・貸したい方向け 4つのポイント */
/* =========================================================== */
.mod-about-point {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 2.5rem;
}
.mod-about-point__item {
  width: calc((100% - 2.5rem) / 2);
  flex-grow: 1;
}
@media (max-width: 66.25rem) {
  .mod-about-point__item {
    width: 100%;
  }
}
.mod-about-point__item-inner {
  background-color: #FFFFFF;
  padding: 1.5rem;
  border-radius: 0.75rem;
  filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.16));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
@media (max-width: 66.25rem) {
  .mod-about-point__item-inner {
    padding: 1.5rem 1rem;
    border-radius: 0.5rem;
  }
}
.mod-about-point__content {
  display: flex;
  gap: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__content {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-about-point__img {
  max-width: 13.625rem;
  flex-shrink: 0;
  margin-inline: auto;
}
@media (max-width: 66.25rem) {
  .mod-about-point__img {
    max-width: 25rem;
  }
}
@media (max-width: 48rem) {
  .mod-about-point__img {
    max-width: 100%;
  }
}
.mod-about-point__txt {
  font-size: 0.875rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__txt {
    font-size: 1rem;
  }
}
.mod-about-point__txt .note {
  font-size: 0.75rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__txt .note {
    font-size: 0.875rem;
  }
}
.mod-about-point__ttl-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__ttl-wrap {
    gap: 0.875rem;
  }
}
.mod-about-point__ttl {
  font-size: 1.125rem;
  font-weight: 700;
  padding-bottom: 0.25rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__ttl {
    padding-bottom: 0rem;
  }
}
.mod-about-point__number {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #F67171;
  line-height: 1;
  flex-shrink: 0;
  font-family: "Lato", sans-serif;
  margin-top: 0.25rem;
}
.mod-about-point__number .font-small {
  font-size: 0.875rem;
  font-weight: 900;
}
@media (max-width: 48rem) {
  .mod-about-point__number .font-small {
    font-size: 0.75rem;
  }
}
.mod-about-point__number .font-large {
  font-size: 2rem;
  font-weight: 700;
}
.mod-about-point__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.625rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__tag {
    gap: 0.5rem 0.375rem;
  }
}
.mod-about-point__tag > li {
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0.25rem 1rem;
  height: 1.875rem;
  font-size: 0.875rem;
  background-color: #F2F2F2;
  color: #4D4D4D;
  border-radius: 0.25rem;
}
@media (max-width: 66.25rem) {
  .mod-about-point__tag > li {
    font-size: 0.75rem;
    height: 1.625rem;
    padding: 0.25rem 0.5rem;
  }
}

/* =========================================================== */
/* マンションセレクション導線 */
/* =========================================================== */
.mod-ms-link {
  color: #FFFFFF;
}
.mod-ms-link__logo {
  display: grid;
  place-content: center;
  aspect-ratio: 16/9;
  padding: 2rem 4rem;
  border: 1px solid #FFFFFF;
  align-self: start;
}
.mod-ms-link__logo img {
  aspect-ratio: 307.48/193.94;
  max-width: none;
}
.mod-ms-link__search-txt {
  margin-bottom: 1rem;
  text-align: center;
}
.mod-ms-link__search-txt .txt01 {
  font-size: 1.25rem;
  font-weight: bold;
}
.mod-ms-link__search-txt .txt02 {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-ms-link__search-txt {
    margin-bottom: 0.5rem;
  }
  .mod-ms-link__search-txt .txt01 {
    font-size: 1rem;
  }
  .mod-ms-link__search-txt .txt02 {
    font-size: 0.625rem;
  }
}

/*===========================================================*/
/* 物件カード */
/*===========================================================*/
.mod-property-card03 {
  position: relative;
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .mod-property-card03:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
  }
  .mod-property-card03:hover .mod-property-card03__bottom-link.--vacant {
    background-color: #3A397B;
  }
}
.mod-property-card03 + .mod-property-card03 {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-property-card03 + .mod-property-card03 {
    margin-top: 1.25rem;
  }
}
.mod-property-card03 {
  /* メインエリア
  -------------------------------------------------------------------- */
}
.mod-property-card03__grid {
  position: relative;
  padding: 1.5rem 1.5rem 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
  gap: 0 2.5rem;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
}
.mod-property-card03__grid .grid-item1,
.mod-property-card03__grid .grid-item2 {
  grid-column: 1/-1;
}
.mod-property-card03__grid .grid-item3,
.mod-property-card03__grid .grid-item4 {
  grid-column: span 1;
}
@media (max-width: 48rem) {
  .mod-property-card03__grid {
    padding: 0 1rem 1rem;
    grid-template-columns: 1fr;
  }
  .mod-property-card03__grid .grid-item3 {
    order: -1;
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.mod-property-card03 {
  /* タグ
  -------------------------------------------------------------------- */
}
.mod-property-card03__tag {
  display: flex;
  gap: 0.5rem 0.25rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
  padding-right: 4rem;
}
@media (max-width: 48rem) {
  .mod-property-card03__tag {
    margin-bottom: 0.75rem;
    margin-top: 1rem;
    padding-right: unset;
  }
}
.mod-property-card03__tag-item {
  border-radius: 0.25rem;
  line-height: 1.25rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #4D4D4D;
  background-color: #FFFFFF;
  border: 1px solid #DDDDDD;
}
.mod-property-card03 {
  /* 見出し
  -------------------------------------------------------------------- */
}
.mod-property-card03__ttl {
  font-weight: bold;
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card03__ttl {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
.mod-property-card03 {
  /* 画像
  ------------------------------------------------------------------- */
}
.mod-property-card03__image img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 392/260;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-property-card03__image img {
    aspect-ratio: 336/223;
    border-radius: 0.75rem 0.75rem 0 0;
  }
}
.mod-property-card03 {
  /* インフォエリア
  -------------------------------------------------------------------- */
}
.mod-property-card03__detail {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-property-card03__detail {
    margin-top: 0.375rem;
  }
}
.mod-property-card03__detail-access {
  line-height: 1.5;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-property-card03__detail-access .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.203125rem;
}
.mod-property-card03__detail-access p {
  font-size: 0.875rem;
}
.mod-property-card03__note {
  padding: 0.75rem;
  border-radius: 0.3125rem;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-property-card03__note {
    margin-top: 0.625rem;
    padding: 0.5rem;
  }
}
.mod-property-card03__note + .mod-property-card03__note {
  margin-top: 0.5rem;
}
.mod-property-card03__note.--point {
  background-color: rgba(244, 226, 226, 0.5);
}
.mod-property-card03__note-ttl {
  font-weight: bold;
  font-size: 0.75rem;
  color: #CC0000;
  margin-bottom: 0.125rem;
}
.mod-property-card03__note-desc {
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.mod-property-card03 {
  /* ボトムエリア
  -------------------------------------------------------------------- */
}
.mod-property-card03__bottom {
  display: flex;
}
.mod-property-card03__bottom-link {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25rem 1rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-property-card03__bottom-link {
    padding: 0.9375rem 1rem;
    font-size: 0.875rem;
  }
}
.mod-property-card03__bottom-link.--special-site {
  position: relative;
  z-index: 1;
}
.mod-property-card03__bottom-link.--special-site::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-left: 0.25rem;
}
@media (any-hover: hover) {
  .mod-property-card03__bottom-link.--special-site:hover {
    color: #F00000;
  }
}
.mod-property-card03__bottom-link.--vacant {
  background-color: #020055;
  color: #FFFFFF;
  transition: background-color 0.3s ease-out;
}
.mod-property-card03__bottom-link.--vacant::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
}
.mod-property-card03__bottom-link.--vacant:only-child {
  width: 100%;
  border-radius: 0 0 0.75rem 0.75rem;
}

/* 上書き調整
-------------------------------------------------------------------- */
.list-cta + .mod-property-card03 {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .list-cta + .mod-property-card03 {
    margin-top: 3rem;
  }
}

/* =========================================================== */
/* ギャラリー */
/* =========================================================== */
.mod-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-gallery {
    gap: 1.25rem;
  }
}
.mod-gallery__item {
  width: calc((100% - 4.5rem) / 4);
}
@media (max-width: 48rem) {
  .mod-gallery__item {
    width: calc((100% - 1.25rem) / 2);
  }
}
.mod-gallery__thumb {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.75rem;
  aspect-ratio: 1/1;
}
@media (max-width: 48rem) {
  .mod-gallery__thumb {
    border-radius: 0.5rem;
  }
}
.mod-gallery__cap {
  font-size: 0.75rem;
  text-align: center;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-gallery__cap {
    font-size: 0.875rem;
    margin-top: 0.5rem;
    text-align: left;
  }
}

/* =========================================================== */
/* アイコンカード */
/* =========================================================== */
.mod-icon-card {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-icon-card {
    gap: 1.25rem;
  }
}
.mod-icon-card__item {
  background-color: #FFFFFF;
  padding: 1.875rem 1.25rem;
  border: 0.0625rem #DDDDDD solid;
  border-radius: 0.75rem;
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 66.25rem) {
  .mod-icon-card__item {
    width: calc((100% - 2.5rem) / 3);
    padding: 1.25rem 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-icon-card__item {
    width: 100%;
  }
}
.mod-icon-card__icon-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-icon-card__icon-wrap {
    gap: 0.625rem;
  }
}
.mod-icon-card__icon {
  border-radius: 50%;
  aspect-ratio: 1/1;
  background-color: #F6F1EE;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 4rem;
  height: 4rem;
}
@media (max-width: 48rem) {
  .mod-icon-card__icon {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.mod-icon-card__icon::before {
  content: "";
  display: block;
  height: auto;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-icon-card__icon.--research::before {
  width: 2.5rem;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../../../img/common/icon-research.svg);
          mask-image: url(../../../img/common/icon-research.svg);
}
@media (max-width: 48rem) {
  .mod-icon-card__icon.--research::before {
    width: 2.25rem;
  }
}
.mod-icon-card__icon.--proposals::before {
  width: 2.4rem;
  aspect-ratio: 38.4/28.47;
  -webkit-mask-image: url(../../../img/common/icon-proposals.svg);
          mask-image: url(../../../img/common/icon-proposals.svg);
}
@media (max-width: 48rem) {
  .mod-icon-card__icon.--proposals::before {
    width: 2.25rem;
  }
}
.mod-icon-card__icon.--support::before {
  width: 2.97625rem;
  aspect-ratio: 47.62/38.4;
  -webkit-mask-image: url(../../../img/common/icon-support.svg);
          mask-image: url(../../../img/common/icon-support.svg);
}
@media (max-width: 48rem) {
  .mod-icon-card__icon.--support::before {
    width: 2.79rem;
  }
}
.mod-icon-card__icon-ttl {
  font-weight: bold;
  font-size: 1.125rem;
}
.mod-icon-card__cap {
  font-size: 0.875rem;
  margin-top: 0.75rem;
}
/* =========================================================== */
/* マンションブランドスライダーリンク */
/* =========================================================== */
.cmn-container.--navy .mod-brand-link {
  color: #FFFFFF;
}
.mod-brand-link__link {
  display: block;
}
@media (any-hover: hover) {
  .mod-brand-link__link:hover .mod-brand-link__txt {
    color: #F00000;
  }
  .mod-brand-link__link:hover .mod-brand-link__img img {
    transform: scale(1.08);
  }
}
.mod-brand-link__img {
  border: 0.0625rem solid #CCCCCC;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 332/252;
  overflow: hidden;
}
.mod-brand-link__img img {
  aspect-ratio: 332/252;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
.mod-brand-link__txt {
  margin-top: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-brand-link__txt {
    font-size: 1rem;
    gap: 0.5rem;
  }
}
.mod-brand-link__txt .u-mask-arrow {
  margin: 0.3125rem 0.4375rem;
}

/* =========================================================== */
/* 説明図 */
/* =========================================================== */
.mod-explanatory-diagram {
  display: flex;
  gap: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram {
    display: block;
  }
}
.mod-explanatory-diagram__main {
  width: 22.75rem;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__main {
    width: 100%;
  }
}
.mod-explanatory-diagram__flow {
  width: calc(100% - 3.5rem - 22.75rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__flow {
    width: calc(100% - 3.5rem);
  }
}
.mod-explanatory-diagram__flow-wrap {
  display: contents;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__flow-wrap {
    display: flex;
  }
}
.mod-explanatory-diagram__block {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
  border: 0.125rem solid #DDDDDD;
  width: 100%;
}
.mod-explanatory-diagram__main .mod-explanatory-diagram__block {
  height: 100%;
}
.mod-explanatory-diagram__flow .mod-explanatory-diagram__block {
  display: flex;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__flow .mod-explanatory-diagram__block {
    display: block;
  }
}
.mod-explanatory-diagram__head {
  background-color: #BD967C;
  color: #FFFFFF;
  font-weight: bold;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1.5;
}
@media (max-width: 66.25rem) {
  .mod-explanatory-diagram__head {
    padding: 0.5rem;
  }
}
.mod-explanatory-diagram__main .mod-explanatory-diagram__head {
  font-size: 1.25rem;
  border-radius: 0.75rem 0.75rem 0 0;
}
@media (max-width: 66.25rem) {
  .mod-explanatory-diagram__main .mod-explanatory-diagram__head {
    font-size: 1rem;
  }
}
.mod-explanatory-diagram__flow .mod-explanatory-diagram__head {
  font-size: 1rem;
  border-radius: 0.75rem 0 0 0.75rem;
  width: 8.3125rem;
}
@media (max-width: 66.25rem) {
  .mod-explanatory-diagram__flow .mod-explanatory-diagram__head {
    width: 6.5rem;
    font-size: 0.875rem;
  }
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__flow .mod-explanatory-diagram__head {
    font-size: 1rem;
    width: 100%;
    border-radius: 0.75rem 0.75rem 0 0;
  }
}
.mod-explanatory-diagram__list {
  display: flex;
}
.mod-explanatory-diagram__main .mod-explanatory-diagram__list {
  flex-direction: column;
  gap: 1.5rem;
  padding: 2.5rem 2rem;
}
@media (max-width: 66.25rem) {
  .mod-explanatory-diagram__main .mod-explanatory-diagram__list {
    padding: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__main .mod-explanatory-diagram__list {
    gap: 1rem;
  }
}
.mod-explanatory-diagram__flow .mod-explanatory-diagram__list {
  padding: 1.5rem 2.5rem;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-explanatory-diagram__flow .mod-explanatory-diagram__list {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__flow .mod-explanatory-diagram__list {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.mod-explanatory-diagram__flow .mod-explanatory-diagram__item {
  width: calc((100% - 1.5rem) / 2);
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__flow .mod-explanatory-diagram__item {
    width: 100%;
  }
}
.mod-explanatory-diagram__arrow {
  position: relative;
  display: flex;
  justify-content: center;
  height: 2.75rem;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__arrow {
    height: 2.53rem;
  }
}
.mod-explanatory-diagram__arrow::before, .mod-explanatory-diagram__arrow::after {
  content: "";
  display: block;
  background-color: #D8C3B4;
  position: absolute;
}
.mod-explanatory-diagram__arrow::before {
  bottom: 0.8125rem;
  width: 0.23875rem;
  height: 2.0175rem;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__arrow::before {
    bottom: 0.794375rem;
    width: 0.21625rem;
    height: 1.735625rem;
  }
}
.mod-explanatory-diagram__arrow::after {
  bottom: 0;
  width: 0.98875rem;
  height: 0.8125rem;
  clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__arrow::after {
    width: 0.993125rem;
    height: 0.794375rem;
  }
}
.mod-explanatory-diagram__arrow.--right, .mod-explanatory-diagram__arrow.--left {
  position: absolute;
  transform-origin: bottom;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__arrow.--right, .mod-explanatory-diagram__arrow.--left {
    display: none;
  }
}
.mod-explanatory-diagram__arrow.--right::before, .mod-explanatory-diagram__arrow.--left::before {
  bottom: 0.8125rem;
  height: 2.749375rem;
}
.mod-explanatory-diagram__arrow.--right::after, .mod-explanatory-diagram__arrow.--left::after {
  bottom: 0;
}
.mod-explanatory-diagram__arrow.--right {
  left: 0;
  bottom: 2.1875rem;
  transform: rotate(-90deg);
}
.mod-explanatory-diagram__arrow.--left {
  left: -3.5625rem;
  bottom: 3.3125rem;
  transform: rotate(90deg);
}
.mod-explanatory-diagram__list-txt {
  display: flex;
  gap: 1rem;
  line-height: 1.6;
  position: relative;
  font-size: 1rem;
  margin-bottom: 0.125rem;
}
@media (max-width: 66.25rem) {
  .mod-explanatory-diagram__list-txt {
    gap: 0.5rem;
    font-size: 0.875rem;
  }
}
.mod-explanatory-diagram__list-txt::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background-color: #4D4D4D;
  position: relative;
  top: 0.4375rem;
}
.mod-explanatory-diagram__logo-wrap {
  padding: 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-explanatory-diagram__logo-wrap.--center {
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__logo-wrap.--center {
    justify-content: flex-start;
  }
}
.mod-explanatory-diagram__logo {
  display: block;
  height: auto;
}
.mod-explanatory-diagram__logo.--suumo {
  width: 5.02375rem;
  aspect-ratio: 80.38/26.49;
}
.mod-explanatory-diagram__logo.--lifullhomes {
  width: 6.989375rem;
  aspect-ratio: 111.83/38.28;
}
.mod-explanatory-diagram__logo.--athome {
  width: 5.564375rem;
  aspect-ratio: 89.03/24.62;
}
.mod-explanatory-diagram__logo.--reins {
  width: 5rem;
  aspect-ratio: 80/28.8;
}
.mod-explanatory-diagram__logo.--msg03 {
  width: 5rem;
  aspect-ratio: 80/21.2;
}
.mod-explanatory-diagram__arrow-up {
  display: none;
}
@media (max-width: 48rem) {
  .mod-explanatory-diagram__arrow-up {
    flex-shrink: 0;
    display: block;
    width: 3.5rem;
    height: auto;
    position: relative;
  }
}
.mod-explanatory-diagram__arrow-up-bar {
  background-color: #D8C3B4;
  width: 2rem;
  height: 0.151875rem;
  position: absolute;
  bottom: 4.5rem;
  left: 0;
}
.mod-explanatory-diagram__arrow-up-arrow {
  position: absolute;
  left: 2rem;
  bottom: 4.5rem;
  display: flex;
  justify-content: center;
  height: 100%;
}
.mod-explanatory-diagram__arrow-up-arrow::before, .mod-explanatory-diagram__arrow-up-arrow::after {
  content: "";
  display: block;
  background-color: #D8C3B4;
  position: absolute;
}
.mod-explanatory-diagram__arrow-up-arrow::before {
  width: 0.21625rem;
  height: calc(100% - 4.5rem - 0.559375rem);
  top: 5.059375rem;
}
.mod-explanatory-diagram__arrow-up-arrow::after {
  width: 0.993125rem;
  height: 0.559375rem;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  top: 4.5rem;
}

/* =========================================================== */
/* バナースライダー */
/* =========================================================== */
.mod-gallery-slider {
  padding-bottom: 1.8125rem;
}
@media (max-width: 66.25rem) {
  .mod-gallery-slider {
    width: calc(100% + 2.5rem);
    left: -1.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-gallery-slider {
    padding-bottom: 2.625rem;
  }
}
.mod-gallery-slider .splide__track {
  overflow: visible;
}
.mod-gallery-slider .splide__list {
  align-items: center;
}
.mod-gallery-slider .splide__slide {
  width: 43.75rem !important;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-gallery-slider .splide__slide {
    width: 100% !important;
  }
}
.mod-gallery-slider .splide__slide.is-active {
  overflow: visible;
}
.mod-gallery-slider .splide__slide:not(.is-active) {
  position: relative;
}
.mod-gallery-slider .splide__slide:not(.is-active)::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 2;
}
.mod-gallery-slider .splide__arrow {
  background: unset;
  width: 3rem;
  height: 3rem;
  opacity: 1;
}
@media (max-width: 48rem) {
  .mod-gallery-slider .splide__arrow {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.mod-gallery-slider .splide__arrow .arrow {
  display: block;
  width: 1.625rem;
  height: 2.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow03.svg);
          mask-image: url(../../../img/common/icon-arrow03.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.48));
}
@media (max-width: 48rem) {
  .mod-gallery-slider .splide__arrow .arrow {
    width: 0.625rem;
    height: 1.25rem;
  }
}
.mod-gallery-slider .splide__arrow--prev {
  left: 5.625rem;
}
@media (max-width: 80rem) {
  .mod-gallery-slider .splide__arrow--prev {
    left: 0;
  }
}
.mod-gallery-slider .splide__arrow--next {
  right: 5.625rem;
}
.mod-gallery-slider .splide__arrow--next .arrow {
  transform: rotate(180deg);
}
@media (max-width: 80rem) {
  .mod-gallery-slider .splide__arrow--next {
    right: 0;
  }
}
.mod-gallery-slider__slide-wrap {
  position: relative;
}
.mod-gallery-slider__thumb {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 700/525;
}
.mod-gallery-slider__caption {
  position: absolute;
  margin-top: 0.75rem;
  line-height: 1.5;
  font-size: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transform: translateX(-11.25rem);
  width: 66.25rem;
}
@media (max-width: 67.5rem) {
  .mod-gallery-slider__caption {
    transform: unset;
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .mod-gallery-slider__caption {
    margin-inline: 1.25rem;
    width: calc(100% - 2.5rem);
    -webkit-line-clamp: 2;
    margin-top: 0.5rem;
    font-size: 0.625rem;
  }
}
.mod-gallery-slider__ctrl {
  width: 100%;
  display: flex;
  justify-content: center;
  position: absolute;
  z-index: 2;
  bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-gallery-slider__ctrl {
    bottom: 0.5rem;
  }
}
.mod-gallery-slider__counter {
  width: 100%;
  display: flex;
  justify-content: center;
}
.mod-gallery-slider__counter .counter {
  background-color: rgba(77, 77, 77, 0.8);
  border-radius: 0.75rem;
  padding: 0 0.75rem;
  line-height: 1.4375rem;
  color: #FFFFFF;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-gallery-slider__counter .counter {
    border-radius: 0.625rem;
    line-height: 0.875rem;
    padding: 0 0.625rem;
    font-weight: 500;
    font-size: 0.625rem;
  }
}
.mod-gallery-slider__other-btn {
  position: absolute;
  right: 0.75rem;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  transition: color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-gallery-slider__other-btn {
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.375rem;
    width: 3rem;
    height: 3rem;
    font-size: 0.625rem;
    right: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-gallery-slider__other-btn:hover {
    color: #F00000;
    border-color: #F00000;
  }
}
.mod-gallery-slider__other-btn .icon-list {
  flex-shrink: 0;
  display: block;
  width: 1.535rem;
  height: auto;
  aspect-ratio: 24.56/20;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-list.svg);
          mask-image: url(../../../img/common/icon-list.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .mod-gallery-slider__other-btn .icon-list {
    width: 1.454375rem;
  }
}

/* =========================================================== */
/* 吹き出し */
/* =========================================================== */
.mod-speech-bubble {
  border-radius: 0.5rem;
  background-color: #F23939;
  padding: 1rem 1.25rem;
  position: relative;
  filter: drop-shadow(0px 0px 12px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-speech-bubble {
    padding: 0.625rem 1rem;
  }
}
.mod-speech-bubble::before {
  content: "";
  display: block;
  width: 2.0625rem;
  height: auto;
  aspect-ratio: 33/18;
  background-color: #F23939;
  -webkit-mask-image: url(../../../img/common/speech-bubble-tail.svg);
          mask-image: url(../../../img/common/speech-bubble-tail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1.8125rem;
  bottom: -0.75rem;
}
@media (max-width: 48rem) {
  .mod-speech-bubble::before {
    width: 1.75rem;
    right: 1.5rem;
  }
}
.mod-speech-bubble__close {
  cursor: pointer;
  content: "";
  display: block;
  width: 0.75rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-close.svg);
          mask-image: url(../../../img/common/icon-close.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-speech-bubble__close {
    top: 0.5rem;
    right: 0.5rem;
  }
}
.mod-speech-bubble__txt {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-speech-bubble__txt {
    font-size: 0.75rem;
    font-weight: bold;
  }
}

/* ラップ
-------------------------------------------------------------------- */
.mod-speech-bubble-wrap {
  position: absolute;
  z-index: 999;
  top: -4.375rem;
  right: 0;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-speech-bubble-wrap {
    top: -3.875rem;
  }
}
.mod-speech-bubble-wrap.is-hidden {
  opacity: 0;
  visibility: hidden;
}

/* =========================================================== */
/* 多数の評価項目から、査定額・売り出し価格を算出します */
/* =========================================================== */
.mod-step-report {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 3rem 0;
}
@media (max-width: 48rem) {
  .mod-step-report {
    grid-template-columns: unset;
    font-size: 0.875rem;
    padding: 1.5rem 1rem 2.5rem;
  }
}
.cmn-container.--brown .mod-step-report {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
}
.cmn-container.--white .mod-step-report {
  border-radius: 0.75rem;
  border: 0.0625rem solid #DDDDDD;
}
.mod-step-report__item {
  display: grid;
  place-content: center;
}
@media (max-width: 48rem) {
  .mod-step-report__item {
    place-content: unset;
    margin-top: 1.5rem;
  }
}
.mod-step-report__img {
  display: block;
  max-width: 26.25rem;
}
.mod-step-report__list {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-step-report__list {
    font-size: 0.875rem;
  }
}
@media (max-width: 48rem) {
  .mod-step-report .cmn-list-check01 {
    gap: 1.25rem;
  }
}

/* =========================================================== */
/* お客様の不動産の特徴を生かした複数のプランをご提案します */
/* =========================================================== */
.mod-step-plan__ttl {
  padding: 1rem;
  background-color: #EEE6E0;
  border: 1px solid #CAAB97;
  border-bottom: 0;
  border-radius: 0.75rem 0.75rem 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.4;
}
@media (max-width: 48rem) {
  .mod-step-plan__ttl {
    font-size: 1rem;
  }
}
.mod-step-plan__body {
  padding: 2rem 1.75rem;
  background-color: #FFFFFF;
  border: 1px solid #CAAB97;
  border-top: 0;
  border-radius: 0 0 0.75rem 0.75rem;
}
@media (max-width: 48rem) {
  .mod-step-plan__body {
    padding: 1.5rem 2.25rem;
  }
}
.mod-step-plan__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-step-plan__list {
    grid-template-columns: unset;
    gap: 1.5rem;
  }
}
.mod-step-plan__list-item:last-child {
  border-left: 1px dotted #707070;
  padding-left: 2rem;
  margin-left: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-step-plan__list-item:last-child {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
    border-top: 1px dotted #707070;
    padding-top: 2rem;
    margin-top: 0.5rem;
  }
}
.mod-step-plan__list-item .label {
  margin-bottom: 1.25rem;
  padding: 0.25rem 1rem;
  border-radius: 100vmax;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
}
.mod-step-plan__list-item .label.--plan01 {
  background-color: #D27878;
}
.mod-step-plan__list-item .label.--plan02 {
  background-color: #72719F;
}
.mod-step-plan__list-item .label.--plan03 {
  background-color: #BD967C;
}
.mod-step-plan__list-item .label.--plan04 {
  background-color: #7C8E82;
}
@media (max-width: 48rem) {
  .mod-step-plan__list-item .label {
    margin-bottom: 1rem;
    font-size: 0.875rem;
  }
}
.mod-step-plan__list-item .period {
  margin-bottom: 1rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-step-plan__list-item .period {
    margin-bottom: 0.75rem;
  }
}
.mod-step-plan__list-item .period-ttl {
  font-size: 0.875rem;
}
.mod-step-plan__list-item .period-data {
  font-size: 1rem;
  font-weight: bold;
}
.mod-step-plan__list-item .period-data > span {
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.mod-step-plan__list-item .period-txt {
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-step-plan__list-item .period-txt {
    font-size: 0.875rem;
  }
}

/*===========================================================*/
/* 優待特典情報カード */
/*===========================================================*/
.mod-offer-card {
  transition: box-shadow 0.3s ease-out;
  border-radius: 0.75rem;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  height: auto;
  position: relative;
}
.cmn-container.--white .mod-offer-card, .cmn-container.--white02 .mod-offer-card {
  background-color: #F2F2F2;
}
.mod-offer-card__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-offer-card__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 510/224;
}
.mod-offer-card__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 510/224;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-offer-card__info {
  padding: 1.5rem 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-offer-card__info {
    padding: 1.25rem 1rem 1.5rem;
  }
}
.mod-offer-card__sub-ttl {
  color: #AF0808;
  font-size: 1rem;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-offer-card__sub-ttl {
    font-size: 0.875rem;
    margin-bottom: 0.625rem;
  }
}
.mod-offer-card__ttl {
  color: #AF0808;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-offer-card__ttl {
    font-size: 1.125rem;
  }
}
.mod-offer-card__desc {
  transition: color 0.3s ease-out;
  font-size: 1rem;
}
.mod-offer-card__note {
  margin-top: 1.5rem;
  font-size: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-offer-card__note {
    margin-top: 1rem;
    font-size: 0.75rem;
  }
}

/* =========================================================== */
/* デザイン主導 詳細モーダル */
/* =========================================================== */
/* モーダル
-------------------------------------------------------------------- */
.mod-detail-modal__ttl {
  max-width: 41.25rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-detail-modal__ttl {
    max-width: 100%;
  }
}
.mod-detail-modal__dl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.mod-detail-modal__dl dt {
  flex-shrink: 0;
  font-weight: bold;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  background-color: #F6F1EE;
}
.mod-detail-modal__circle-list-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-detail-modal__circle-list-wrap .cmn-list-circle02 {
    gap: 0.5rem;
  }
}
.mod-detail-modal__list {
  display: grid;
  gap: 1rem;
}
.mod-detail-modal__list.--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.mod-detail-modal__list.--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.mod-detail-modal__list.--col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 48rem) {
  .mod-detail-modal__list.--col2, .mod-detail-modal__list.--col3, .mod-detail-modal__list.--col4 {
    grid-template-columns: 1fr;
  }
}
.mod-detail-modal__list li {
  text-align: center;
  background-color: #F2F2F2;
  border-radius: 0.25rem;
  padding: 0.5rem 0.75rem;
}
.mod-detail-modal__card-list {
  display: grid;
  gap: 1rem;
}
.mod-detail-modal__card-list.--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.mod-detail-modal__card-list.--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.mod-detail-modal__card-list.--col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 48rem) {
  .mod-detail-modal__card-list.--col2, .mod-detail-modal__card-list.--col3, .mod-detail-modal__card-list.--col4 {
    grid-template-columns: 1fr;
  }
}
.mod-detail-modal__card-list li {
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 0.0625rem solid #F2F2F2;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.08));
}
.mod-detail-modal__card-list li .card-list-head {
  text-align: center;
  font-weight: 700;
  background-color: #EEE6E0;
  width: 100%;
  padding: 0.5rem 1rem;
}
.mod-detail-modal__card-list li .card-list-body {
  flex-grow: 1;
  padding: 1rem;
  background-color: #FFFFFF;
}
.mod-detail-modal__badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0.125rem;
  font-size: 0.875rem;
  display: inline-block;
}
@media (max-width: 48rem) {
  .mod-detail-modal__badge {
    font-size: 0.75rem;
  }
}
.mod-detail-modal__badge.--residencecare {
  background-color: #006E38;
  color: #FFFFFF;
}
.mod-detail-modal__badge.--residenceclub {
  background-color: #000000;
  color: #FFFFFF;
}

/*===========================================================*/
/* 営業所一覧カード */
/*===========================================================*/
.mod-office-search-card {
  position: relative;
  display: grid;
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
  grid-template-columns: auto 1fr;
  -moz-column-gap: 0;
       column-gap: 0;
  grid-template-areas: "img header" "img content" "img footer";
}
@media (max-width: 48rem) {
  .mod-office-search-card {
    padding: 1.25rem;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
    grid-template-columns: auto 1fr;
    gap: 1rem 0.625rem;
    grid-template-areas: "header header" "img content" "footer footer";
  }
}
@media (any-hover: hover) {
  .mod-office-search-card:has(.mod-office-search-card__title-link:hover) .cmn-btn {
    color: #F00000;
    border: 0.0625rem solid #F00000;
  }
}
.mod-office-search-card__header {
  grid-area: header;
  display: flex;
  align-items: flex-start;
  width: 100%;
  gap: 0.875rem;
  margin-bottom: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-office-search-card__header {
    display: block;
    margin-bottom: 0;
  }
}
.mod-office-search-card__header .office-badge__group {
  margin-top: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-office-search-card__header .office-badge__group {
    float: left;
    margin-top: 0.125rem;
    margin-right: 0.5rem;
  }
}
.mod-office-search-card__image {
  grid-area: img;
  flex-shrink: 0;
}
.mod-office-search-card__image:not(:empty) {
  width: 7.5rem;
  margin-right: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-office-search-card__image:not(:empty) {
    width: 5.625rem;
    margin-right: 0.625rem;
  }
}
.mod-office-search-card__image:empty {
  display: none;
}
.mod-office-search-card__image img {
  width: 100%;
  height: 7.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  display: block;
}
@media (max-width: 48rem) {
  .mod-office-search-card__image img {
    height: 5.625rem;
  }
}
.mod-office-search-card__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.4375rem;
  padding: 0 0.5rem;
  border-radius: 0.25rem;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  text-wrap: nowrap;
  flex-shrink: 0;
}
.mod-office-search-card__badge.--sell {
  background-color: #CC0000;
}
.mod-office-search-card__badge.--rent {
  background-color: #020055;
}
.mod-office-search-card__badge-group {
  width: 100%;
  max-width: -moz-max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-office-search-card__badge-group {
    margin-top: 0rem;
  }
}
.mod-office-search-card__map-link {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  text-decoration: underline;
  transition: color 0.3s ease-out;
  line-height: 1.5;
  width: -moz-fit-content;
  width: fit-content;
}
.mod-office-search-card__map-link::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
@media (any-hover: hover) {
  .mod-office-search-card__map-link:hover {
    color: #F00000;
  }
}
.mod-office-search-card__title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-office-search-card__title {
    font-size: 1.125rem;
    line-height: 1.45;
    display: block;
  }
}
.mod-office-search-card__title-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.mod-office-search-card__content {
  grid-area: content;
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-bottom: 1.5rem;
}
.mod-office-search-card__content::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #707070, #707070 1px, transparent 1px, transparent 4px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
@media (max-width: 48rem) {
  .mod-office-search-card__content {
    padding-bottom: 1.25rem;
    margin-bottom: 0;
    gap: 0.5rem;
    flex-direction: column;
  }
  .mod-office-search-card__content::after {
    width: 100%;
    left: 0;
  }
}
.mod-office-search-card__address {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-office-search-card__address {
    display: flex;
    flex-direction: column;
    line-height: 1.5;
  }
}
.mod-office-search-card__map-link-wrap {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 48rem) {
  .mod-office-search-card__map-link-wrap {
    justify-content: flex-start;
  }
}
.mod-office-search-card__footer {
  grid-area: footer;
  padding-top: 0.875rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "tel btn" "hours btn";
  align-items: end;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem 0.625rem;
  }
}
@media (max-width: 48rem) {
  .mod-office-search-card__footer {
    padding-top: 0.25rem;
  }
}
.mod-office-search-card__info {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__info {
    display: contents;
  }
}
.mod-office-search-card__tel-wrap {
  grid-area: tel;
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  gap: 0.5rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel-wrap {
    order: 2;
    width: calc(50% - 0.375rem);
    margin-top: 0;
    display: block;
  }
}
.mod-office-search-card__tel-group {
  display: flex;
  flex-direction: column;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel-group {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 1rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel-group .mod-office-search-card__tel {
    margin: 0;
    width: auto;
    flex: 0 1 19rem;
  }
}
.mod-office-search-card__tel {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel {
    justify-content: center;
    font-size: 0.75rem;
    border-radius: 624.9375rem;
    border: 0.0625rem solid #DDDDDD;
    line-height: 2.875rem;
    width: 100%;
    margin: 0 auto;
    background-color: #FFFFFF;
  }
}
@media (max-width: 30rem) {
  .mod-office-search-card__tel {
    max-width: 100%;
  }
}
.mod-office-search-card__tel .num {
  color: #020055;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel .num {
    font-size: 0.875rem;
  }
}
.mod-office-search-card__tel .ja {
  color: #020055;
  font-weight: 600;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel .ja {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-office-search-card__tel:hover {
    opacity: 0.6;
  }
}
.mod-office-search-card__tel-text {
  font-size: 0.875rem;
  line-height: 1.5;
  white-space: nowrap;
  color: #020055;
  font-weight: 500;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__tel-text {
    font-size: 0.75rem;
  }
}
.mod-office-search-card__hours {
  grid-area: hours;
  pointer-events: none;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.25rem 0.5rem;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__hours {
    order: 1;
    width: 100%;
    gap: 0.5rem;
  }
}
.mod-office-search-card__hours dt {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4D4D4D;
  line-height: 1.5;
}
.mod-office-search-card__hours dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}
.mod-office-search-card__btn-wrap {
  grid-area: btn;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__btn-wrap {
    order: 3;
    width: calc(50% - 0.375rem);
    margin-top: 0rem;
  }
}
.mod-office-search-card__btn-wrap .cmn-btn {
  position: static;
  justify-content: space-between;
  padding-inline: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__btn-wrap .cmn-btn {
    padding-inline: 1rem;
  }
}
@media (max-width: 40rem) {
  .mod-office-search-card__btn-wrap .cmn-btn {
    padding-inline: 0.5rem;
  }
}
.mod-office-search-card__btn-wrap .cmn-btn::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  flex-shrink: 0;
}
.mod-office-search-card__btn-wrap .cmn-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media (max-width: 66.25rem) {
  .mod-office-search-card__btn-wrap .cmn-btn {
    width: 100%;
    min-width: unset;
  }
}
.mod-office-search-card__btn-wrap .cmn-btn__icon {
  position: static;
  flex-shrink: 0;
}

/* mod-list-map
-------------------------------------------------------------------- */
.mod-list-map {
  overflow: hidden;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-list-map {
    margin-inline: -1.25rem;
    border-radius: 0;
  }
}
.mod-list-map-iframe {
  width: 100%;
  height: 40.9375rem;
  border: none;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-list-map-iframe {
    height: 23.5rem;
  }
}
.mod-list-map-iframe .mod-list-map-maker__pane {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.mod-list-map-iframe .mod-list-map-maker {
  position: absolute;
  display: block;
  pointer-events: auto;
  cursor: pointer;
  left: 0;
  top: 0;
}
.mod-list-map-iframe .mod-list-map-maker .mod-list-map-icon {
  position: relative;
  display: flex;
}
.mod-list-map-iframe .mod-list-map-maker .u-mask-access02 {
  width: 2.3125rem;
  height: 2.3125rem;
}
.mod-list-map-iframe .mod-list-map-maker .num {
  position: absolute;
  font-family: "Lato", sans-serif;
  top: -0.5625rem;
  right: -0.5625rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  font-size: 0.75rem;
  line-height: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-list-map-iframe .mod-list-map-position {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  border: 0.0625rem solid #DDDDDD;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
  padding: 0.875rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-list-map-iframe .mod-list-map-position {
    top: 0.75rem;
    right: 0.5rem;
    padding: 0.4375rem 0.25rem;
    flex-direction: column;
    justify-content: center;
    gap: 0;
  }
}
.mod-list-map-iframe .mod-list-map-position .u-mask-access02 {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #CCCCCC;
}
.mod-list-map-iframe .mod-list-map-position .txt {
  line-height: 1;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-list-map-iframe .mod-list-map-position .txt {
    font-size: 0.625rem;
  }
}
.mod-list-map-iframe-wrap {
  position: relative;
  overflow: hidden;
}
.mod-list-map-iframe-mask {
  position: absolute;
  inset: 0;
  z-index: 10;
  visibility: hidden;
  transition: visibility 0.3s ease-out;
  pointer-events: none;
}
@media (max-width: 48rem) {
  .mod-list-map-iframe-mask {
    position: fixed;
    z-index: 1001;
    pointer-events: auto;
  }
}
.mod-list-map-iframe-mask.is-active {
  visibility: visible;
}
.mod-list-map-iframe-mask.is-active .mod-list-map-iframe__inner {
  transform: translate(0);
}
.mod-list-map-iframe-mask .mod-property-card.--s:last-child,
.mod-list-map-iframe-mask .mod-list-card-ms.--s:last-child {
  margin-bottom: 1rem;
}
.mod-list-map-iframe-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(77, 77, 77, 0.4);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  z-index: 1;
  pointer-events: auto;
}
.mod-list-map-iframe__inner {
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  width: 28.875rem;
  background-color: rgba(255, 255, 255, 0);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 999;
  padding: 4.5rem 1rem 0rem;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease-out;
  transform: translateX(100%);
  pointer-events: auto;
}
@media (max-width: 48rem) {
  .mod-list-map-iframe__inner {
    left: 0;
    width: 100%;
    height: 80svh;
    top: auto;
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
    padding: 4.5rem 1.25rem 0rem;
    background-color: #FFFFFF;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    transform: translateY(100%);
  }
}
.mod-list-map-iframe-mask__close {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #F00000;
  border-radius: 50%;
  gap: 0.25rem;
  pointer-events: auto;
}
@media (max-width: 48rem) {
  .mod-list-map-iframe-mask__close {
    right: 1.25rem;
  }
}
.mod-list-map-iframe-mask__close .u-mask-close {
  width: 0.75rem;
  height: 0.75rem;
  background-color: #FFFFFF;
}
.mod-list-map-iframe-mask__close .txt {
  line-height: 1;
  color: #FFFFFF;
  font-size: 0.625rem;
}
.mod-list-map-main {
  position: relative;
  z-index: 0;
  aspect-ratio: 880/655;
}
.mod-list-map-main.--ms {
  aspect-ratio: 1060/655;
}
.mod-list-map-main > * {
  width: 100%;
}
@media (max-width: 40rem) {
  .mod-list-map-main {
    aspect-ratio: 1/1;
  }
  .mod-list-map-main > * {
    height: 100%;
  }
}
.mod-list-map-property-list {
  max-width: 26.875rem;
  width: 100%;
  flex: 1;
  overflow-y: auto;
}
@media (max-width: 48rem) {
  .mod-list-map-property-list {
    max-width: unset;
    width: calc(100% + 40px);
    padding-inline: 1.25rem;
    margin-left: -1.25rem;
  }
}
.mod-list-map-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  background-color: #FFFFFF;
  padding: 1.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-list-map-legend {
    display: grid;
    padding: 0.75rem 1.25rem;
    gap: 0.5rem 1rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.mod-list-map-legend__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-list-map-legend__item .txt {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
  }
}
.mod-list-map .u-mask-access02 {
  width: 1.5rem;
  height: 1.5rem;
}
.mod-list-map .u-mask-access02.--house {
  background-color: #3A397B;
}
.mod-list-map .u-mask-access02.--land {
  background-color: #CDAC49;
}
.mod-list-map .u-mask-access02.--apartment {
  background-color: #CDAC49;
}
.mod-list-map .u-mask-access02.--terrace-house {
  background-color: #476453;
}
.mod-list-map .u-mask-access02.--townhouse {
  background-color: #845A6F;
}

/* 住まいに係る税金
-------------------------------------------------------------------- */
.tax-btn-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .tax-btn-area {
    margin-top: 2.5rem;
  }
}
.tax-btn-area__txt {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .tax-btn-area__txt {
    font-size: 0.875rem;
  }
}
.tax-btn-area .cmn-btn {
  margin-top: 1.25rem;
}
.tax-btn-area__note {
  margin-top: 0.75rem;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .tax-btn-area__note {
    font-size: 0.625rem;
  }
}
/*# sourceMappingURL=index.css.map */
