@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;
}

/* =========================================================== */
/* ヘッダー */
/* =========================================================== */
/* ヘッダー
-------------------------------------------------------------------- */
.mod-header-ms {
  width: 100%;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-ms-height);
}
@media (max-width: 80rem) {
  .mod-header-ms {
    height: auto;
    min-height: var(--header-ms-height);
  }
}
.mod-header-ms:not(.--type-float) {
  transition: transform 0.3s ease-out;
}
.mod-header-ms:not(.--type-float).is-header-hidden {
  transform: translateY(-100%);
}
.mod-header-ms.--type-float {
  position: sticky;
  height: auto;
  min-height: unset;
  transition: top 0.3s ease-out;
}
.mod-header-ms.--type-float.is-header-hidden {
  top: calc(var(--header-ms-float-height) * -1);
}
.mod-header-ms__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  gap: 2.5rem;
  background-color: #FFFFFF;
  padding-inline: 1.875rem 1.25rem;
  min-height: var(--header-ms-height);
}
.--type-float .mod-header-ms__inner {
  min-height: var(--header-ms-float-height);
}
@media (max-width: 80rem) {
  .mod-header-ms__inner {
    padding-inline: 0.75rem 0.5rem;
  }
}
.mod-header-ms__logo-wrap {
  display: flex;
  align-items: center;
  gap: 1.625rem;
}
.mod-header-ms__logo-ms {
  display: block;
  width: 16.6875rem;
}
@media (max-width: 80rem) {
  .mod-header-ms__logo-ms {
    width: 6.125rem;
  }
}
.--type02 .mod-header-ms__logo-ms {
  width: 6.3125rem;
}
@media (max-width: 48rem) {
  .--type02 .mod-header-ms__logo-ms {
    width: 6.125rem;
  }
}
.mod-header-ms__logo-housenet {
  display: block;
  width: 13.125rem;
}
.mod-header-ms__controls {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media (max-width: 90rem) {
  .mod-header-ms__controls {
    gap: 1.5rem;
  }
}
@media (max-width: 80rem) {
  .mod-header-ms__controls {
    gap: 0.875rem;
  }
}
.mod-header-ms__owner-page {
  font-size: 0.875rem;
  padding-right: 1.5rem;
}
@media (max-width: 90rem) {
  .mod-header-ms__owner-page {
    display: none;
  }
}
.mod-header-ms__nav-logo-wrap {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media (max-width: 90rem) {
  .mod-header-ms__nav-logo-wrap {
    gap: 1.5rem;
  }
}
.mod-header-ms__nav-list {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 2.5rem;
}
@media (max-width: 90rem) {
  .mod-header-ms__nav-list {
    gap: 1.5rem;
  }
}
.mod-header-ms__nav-list-item {
  height: 100%;
}
.mod-header-ms__nav-list-item > a {
  font-weight: 500;
  display: flex;
  padding-bottom: 0.5rem;
  margin-top: 0.1875rem;
  position: relative;
  height: 100%;
  color: #262740;
}
.mod-header-ms__nav-list-item > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  background-color: #262740;
  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-ms__nav-list-item > a:hover::after {
    transform: scaleX(1);
  }
}
@media (max-width: 90rem) {
  .mod-header-ms__nav-list-item > a {
    font-size: 0.875rem;
  }
}
.mod-header-ms__logo-relay {
  display: block;
  width: 11.75rem;
}
@media (max-width: 48rem) {
  .mod-header-ms__logo-relay {
    width: 8.8125rem;
  }
}
.mod-header-ms__drawer-btn {
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1003;
  cursor: pointer;
}
@media (max-width: 80rem) {
  .mod-header-ms__drawer-btn {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.mod-header-ms__drawer-btn.is-active .mod-header-ms__drawer-icon .bar:nth-child(1) {
  transform: translateY(0.5625rem) rotate(35deg);
}
.mod-header-ms__drawer-btn.is-active .mod-header-ms__drawer-icon .bar:nth-child(2) {
  opacity: 0;
}
.mod-header-ms__drawer-btn.is-active .mod-header-ms__drawer-icon .bar:nth-child(3) {
  transform: translateY(-0.5625rem) rotate(-35deg);
}
.mod-header-ms__drawer-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.mod-header-ms__drawer-icon .bar {
  width: 2rem;
  height: 0.0625rem;
  background-color: #10123B;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out, background-color 0.3s ease-out;
}
@media (max-width: 80rem) {
  .mod-header-ms__drawer-icon .bar {
    width: 1.625rem;
  }
}
.mod-header-ms__overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: rgba(7, 8, 23, 0.8);
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
  cursor: pointer;
}
.mod-header-ms.is-drawer-active .mod-header-ms__overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.mod-header-ms {
  /* ヘッダードロワーメニュー
  -------------------------------------------------------------------- */
}
.mod-header-ms__drawer-nav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1002;
  width: 31.25rem;
  max-width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #FFFFFF;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: #020055;
}
.mod-header-ms__drawer-nav.is-active {
  transform: translateX(0);
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-nav {
    width: 100%;
  }
}
.mod-header-ms__drawer-inner {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  margin-left: 1.5rem;
  margin-right: 2rem;
}
.mod-header-ms__drawer-logo-relay {
  display: block;
  width: 12.25rem;
  padding-top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-logo-relay {
    width: 12.5rem;
  }
}
.mod-header-ms__drawer-logo-housenet {
  display: block;
  width: 11.5rem;
  padding-bottom: 1.25rem;
  margin-left: auto;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-logo-housenet {
    width: 8.75rem;
  }
}
.mod-header-ms__drawer-nav-wrap {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  padding-top: 6.375rem;
  padding-bottom: 4.875rem;
  margin-inline: auto;
  width: 20rem;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-nav-wrap {
    gap: 2rem;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
    width: 18.5rem;
  }
}
.mod-header-ms__drawer-nav-logo {
  display: block;
  width: 12.5rem;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-nav-logo {
    width: 10rem;
  }
}
.mod-header-ms__drawer-nav-section {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid #CCCCCC;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-nav-section {
    gap: 2rem;
    padding-bottom: 2rem;
  }
}
.mod-header-ms__drawer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-nav-list {
    gap: 2rem;
  }
}
.mod-header-ms__drawer-nav-list > li > a > .cmn-txt-link-ms__txt {
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-header-ms__drawer-nav-list > li > a > .cmn-txt-link-ms__txt {
    font-size: 1rem;
  }
}
.mod-header-ms__drawer-relay-nav-section {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.mod-header-ms__drawer-relay-nav-link {
  font-weight: 500;
  line-height: 1.5;
}
.mod-header-ms__drawer-relay-nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 0;
}
.mod-header-ms__drawer-relay-nav-list > li {
  width: 50%;
}
.mod-header-ms__drawer-relay-nav-list > li > a > .cmn-txt-link-ms__txt {
  line-height: 1.5;
}

/* ヘッダーフロートバー
-------------------------------------------------------------------- */
.mod-header-ms__float {
  display: flex;
}
@media (max-width: 66.25rem) {
  .mod-header-ms__float {
    flex-direction: column;
  }
}
.mod-header-ms__float-ttl {
  height: 4rem;
  display: flex;
  align-items: center;
  padding: 0 1.875rem;
  font-size: 1.25rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  background-color: #CDCEDD;
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-header-ms__float-ttl {
    min-height: 2.75rem;
    padding: 0 1.25rem;
    font-size: 0.875rem;
    width: 100%;
  }
}
.mod-header-ms__float-link {
  background-color: #CA0000;
  height: 4rem;
  position: relative;
  padding: 0 3.25rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out;
  width: min(454px, 28.2338308458vw);
  flex-shrink: 0;
}
@media (max-width: 81.25rem) {
  .mod-header-ms__float-link {
    padding: 0 2.5rem;
  }
}
@media (max-width: 66.25rem) {
  .mod-header-ms__float-link {
    padding: 0 2.25rem 0 0.75rem;
    height: 3.1875rem;
    width: 100%;
  }
}
.mod-header-ms__float-link::before {
  content: "";
  display: block;
  margin: 0.125rem;
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 0.0625rem solid #D5C4A2;
}
@media (any-hover: hover) {
  .mod-header-ms__float-link:not(:disabled):hover {
    background-color: #AF0808;
  }
}
.mod-header-ms__float-link-txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.0625rem 0.25rem;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 0.875rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 66.25rem) {
  .mod-header-ms__float-link-txt {
    flex-direction: row;
    font-size: 0.75rem;
  }
}
.mod-header-ms__float-link-txt .sub {
  line-height: 1.28;
  font-size: 0.75rem;
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  padding: 0.25rem 0;
}
@media (max-width: 66.25rem) {
  .mod-header-ms__float-link-txt .sub {
    line-height: 1.16666;
    text-align: center;
    font-size: 0.75rem;
  }
}
.mod-header-ms__float-link-txt .sub::before, .mod-header-ms__float-link-txt .sub::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.41);
  height: 0.0625rem;
}
.mod-header-ms__float-link-txt .sub::before {
  top: 0;
}
.mod-header-ms__float-link-txt .sub::after {
  bottom: 0;
}
.mod-header-ms__float-link-icon {
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
}
@media (max-width: 66.25rem) {
  .mod-header-ms__float-link-icon {
    right: 0.625rem;
  }
}
.mod-header-ms__float-link-icon::before {
  content: "";
  display: block;
  background-color: #FFFFFF;
  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;
}

/* =========================================================== */
/* フッター */
/* =========================================================== */
/* フッター
-------------------------------------------------------------------- */
.mod-footer-ms {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background-color: #FFFFFF;
}
.mod-footer-ms__inner {
  display: flex;
  flex-direction: column;
}
.mod-footer-ms__logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  height: 7.0625rem;
  padding-bottom: 0.125rem;
  max-width: 85.25rem;
  width: calc(100% - 2.5rem);
  margin-inline: auto;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer-ms__logos {
    flex-direction: column;
    height: auto;
    padding-block: 3rem;
  }
}
.mod-footer-ms__logos::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 0.0625rem;
  background-color: #CCCCCC;
}
@media (max-width: 80rem) {
  .mod-footer-ms__logos::after {
    background-color: #F2F2F2;
  }
}
.mod-footer-ms__logo-housenet {
  display: block;
  width: 16.8125rem;
  height: 1.9375rem;
}
.mod-footer-ms__logo-msg {
  display: block;
  width: 28.5rem;
  height: 1.375rem;
}
@media (max-width: 48rem) {
  .mod-footer-ms__logo-msg {
    width: 21rem;
    height: 1rem;
  }
}
.mod-footer-ms__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  height: 7.6875rem;
  max-width: 85.25rem;
  width: calc(100% - 2.5rem);
  margin-inline: auto;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer-ms__nav {
    flex-direction: column;
    padding-block: 2.5rem;
    padding-right: 0;
    height: auto;
  }
}
.mod-footer-ms__nav::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 0.0625rem;
  background-color: #CCCCCC;
}
@media (max-width: 80rem) {
  .mod-footer-ms__nav::after {
    background-color: #F2F2F2;
  }
}
.mod-footer-ms__logo-ms {
  display: block;
  width: 17.875rem;
  height: 1.6875rem;
}
.mod-footer-ms__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  color: #262740;
}
@media (max-width: 80rem) {
  .mod-footer-ms__nav-list {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
}
.mod-footer-ms__main-menu {
  display: flex;
  justify-content: space-between;
  gap: 8.5625rem;
  max-width: 85.25rem;
  margin-inline: auto;
  width: calc(100% - 2.5rem);
  position: relative;
  height: 100%;
  min-height: 0;
  flex: 1;
  background-color: #FFFFFF;
}
@media (max-width: 80rem) {
  .mod-footer-ms__main-menu {
    flex-direction: column;
    gap: 0rem;
    max-width: 100%;
    width: 100%;
  }
}
.mod-footer-ms__ttl-wrap {
  padding-top: 8.625rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2.125rem;
  position: relative;
  flex-shrink: 0;
}
@media (max-width: 80rem) {
  .mod-footer-ms__ttl-wrap {
    padding-block: 3.375rem 2.125rem;
    border-bottom: 1px solid #F2F2F2;
  }
}
.mod-footer-ms__ttl-relay-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.125rem;
}
.mod-footer-ms__ttl-logo-mechrelay {
  display: block;
  width: 13.875rem;
  height: 8.25rem;
}
.mod-footer-ms__ttl-logo-relay {
  display: block;
  width: 12.6875rem;
  height: 4rem;
}
.mod-footer-ms__ttl-relay-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #FFFFFF;
  background-color: #BD967C;
  border-radius: 0.125rem;
  padding: 0.625rem 0.75rem 0.625rem 1rem;
  max-width: 12.6875rem;
  width: 100%;
  font-weight: 500;
  line-height: 1.5;
}
.mod-footer-ms__ttl-relay-link .u-mask-arrow {
  background-color: #FFFFFF;
  width: 0.4375rem;
  height: 0.625rem;
}
.mod-footer-ms__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-ms__content {
    max-width: 100%;
    padding: 0;
  }
}
.mod-footer-ms__content-head {
  margin-bottom: 3.5rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__content-head {
    margin-bottom: 0;
    padding: 2.5rem 1.25rem;
    border-bottom: 1px solid #F2F2F2;
  }
}
.mod-footer-ms__content-head-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 80rem) {
  .mod-footer-ms__content-head-list {
    gap: 1rem 2.1875rem;
    justify-content: flex-start;
  }
}
.mod-footer-ms__content-head-list > li > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  line-height: 1;
}
.mod-footer-ms__content-head-list > li > a .u-mask-arrow, .mod-footer-ms__content-head-list > li > a .u-mask-external {
  background-color: #262740;
}
.mod-footer-ms__bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 2.5rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links {
    flex-direction: column;
    width: calc(100% - 2.5rem);
    margin-inline: auto;
    padding-block: 2.5rem;
    border-bottom: 1px solid #F2F2F2;
    gap: 2.5rem;
  }
}
.mod-footer-ms__bottom-links-item {
  width: calc((100% - 7.5rem) / 4);
  display: flex;
  flex-direction: column;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-item {
    width: 100%;
    background-color: #FFFFFF;
  }
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-item.is-active .mod-footer-ms__accordion-trigger .icon-accordion::before {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
  }
}
.mod-footer-ms__accordion-header {
  width: 100%;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer-ms__accordion-header {
    min-height: 2.5625rem;
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }
  .mod-footer-ms__accordion-header::before, .mod-footer-ms__accordion-header::after {
    content: "";
    display: block;
    height: 0.0625rem;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .mod-footer-ms__accordion-header::before {
    width: 100%;
    background-color: #CCCCCC;
  }
  .mod-footer-ms__accordion-header::after {
    width: 3.125rem;
    background-color: #020055;
  }
}
.mod-footer-ms__bottom-links-ttl {
  width: 100%;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
  color: #262740;
}
.mod-footer-ms__bottom-links-ttl::before, .mod-footer-ms__bottom-links-ttl::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.mod-footer-ms__bottom-links-ttl::before {
  width: 100%;
  background-color: #CCCCCC;
}
.mod-footer-ms__bottom-links-ttl::after {
  width: 3.125rem;
  background-color: #020055;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-ttl {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 700;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    z-index: 2;
  }
  .mod-footer-ms__bottom-links-ttl:not(.--link-only) {
    padding: 0;
  }
  .mod-footer-ms__bottom-links-ttl:not(.--link-only)::before, .mod-footer-ms__bottom-links-ttl:not(.--link-only)::after {
    display: none;
  }
  .mod-footer-ms__bottom-links-ttl.--link-only {
    min-height: 2.5625rem;
    width: 100%;
  }
  .mod-footer-ms__bottom-links-ttl .icon-accordion {
    width: 1.5rem;
    height: 1.5rem;
    transition: transform 0.3s ease-out;
    position: relative;
  }
  .mod-footer-ms__bottom-links-ttl .icon-accordion::before, .mod-footer-ms__bottom-links-ttl .icon-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    display: block;
    width: 0.8125rem;
    height: 0.0625rem;
    border-radius: 624.9375rem;
    background-color: #262740;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .mod-footer-ms__bottom-links-ttl .icon-accordion::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.mod-footer-ms__accordion-trigger {
  display: none;
}
@media (max-width: 80rem) {
  .mod-footer-ms__accordion-trigger {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
    background: transparent;
    border: none;
  }
  .mod-footer-ms__accordion-trigger .icon-accordion {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
  }
  .mod-footer-ms__accordion-trigger .icon-accordion::before, .mod-footer-ms__accordion-trigger .icon-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background-color: #262740;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .mod-footer-ms__accordion-trigger .icon-accordion::before {
    width: 0.8125rem;
    height: 0.0625rem;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .mod-footer-ms__accordion-trigger .icon-accordion::after {
    width: 0.8125rem;
    height: 0.0625rem;
  }
}
.mod-footer-ms__bottom-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-list {
    gap: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    padding-top: 0;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out, padding-top 0.3s ease-out;
  }
}
@media (max-width: 80rem) {
  .is-active .mod-footer-ms__bottom-links-list {
    max-height: 62.5rem;
    opacity: 1;
    visibility: visible;
    padding-top: 1.5rem;
  }
}
.mod-footer-ms__bottom-links-list > li.biz-link > a {
  display: flex;
  flex-direction: column;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-list > li.biz-link > a {
    align-items: flex-start;
  }
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-list > li.biz-link > a > span.cmn-txt-link {
    width: 100%;
    justify-content: space-between;
  }
}
.mod-footer-ms__bottom-links-list > li.biz-link > a > span.cmn-txt-link span {
  font-size: 0.875rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-list > li.biz-link > a > span.cmn-txt-link span {
    font-size: 1rem;
  }
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-list > li {
    background-color: #FFFFFF;
  }
  .mod-footer-ms__bottom-links-list > li:not(:last-child) > a {
    padding-bottom: 0.75rem;
  }
}
.mod-footer-ms__bottom-links-list > li > a .u-mask-arrow, .mod-footer-ms__bottom-links-list > li > a .u-mask-external {
  background-color: #262740;
}
.mod-footer-ms__bottom-links-list > li > a > span {
  font-size: 0.875rem;
  line-height: 1.5;
}
.mod-footer-ms__bottom-links-ttl-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-ttl-list {
    gap: 2.5rem;
  }
}
.mod-footer-ms__bottom-links-subitem {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-subitem {
    gap: 0;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer-ms__bottom-links-sublist {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-sublist {
    gap: 0;
  }
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-sublist > li {
    background-color: #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer-ms__bottom-links-sublist > li > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-footer-ms__bottom-links-sublist > li > a::before {
  content: "";
  height: 0.0625rem;
  width: 0.125rem;
  background-color: #000000;
  display: block;
}
@media (max-width: 80rem) {
  .mod-footer-ms__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-ms__bottom-links-sublist > li > a::before {
    display: none;
  }
}
.mod-footer-ms__bottom-links-sublist > li > a > span {
  font-size: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__bottom-links-sublist > li > a > span {
    font-size: 1rem;
  }
}
.mod-footer-ms__bottom-links-sublist > li > a .u-mask-arrow, .mod-footer-ms__bottom-links-sublist > li > a .u-mask-external {
  background-color: #262740;
}
.mod-footer-ms__policy-copyright-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.5rem;
  margin-left: auto;
  margin-top: 7.5rem;
}
@media (max-width: 80rem) {
  .mod-footer-ms__policy-copyright-wrap {
    align-items: flex-start;
    margin-left: 0;
    padding: 2.5rem 1.25rem;
    margin-top: 0;
    gap: 2.5rem;
  }
}
.mod-footer-ms__policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.mod-footer-ms__policy-links > li {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25;
}
.mod-footer-ms__policy-links > li:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 1rem;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
}
@media (max-width: 80rem) {
  .mod-footer-ms__policy-links > li:not(:last-child)::after {
    display: none;
  }
}
@media (max-width: 80rem) {
  .mod-footer-ms__policy-links {
    flex-direction: column;
  }
}
.mod-footer-ms__copyright {
  font-size: 0.875rem;
  font-family: "Marcellus", serif;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 80rem) {
  .mod-footer-ms__copyright {
    font-size: 0.625rem;
    margin-inline: auto;
  }
}
.mod-footer-ms__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.5rem;
  width: 4rem;
  height: 4rem;
  font-size: 0.625rem;
  font-weight: 700;
  font-family: "Marcellus", serif;
  color: #FFFFFF;
  background-color: #10123B;
}
.mod-footer-ms__to-top-btn .u-mask-arrow {
  transform: rotate(-90deg);
  background-color: #FFFFFF;
}
@media (max-width: 96rem) {
  .mod-footer-ms__to-top-btn {
    bottom: 7.25rem;
  }
}
@media (max-width: 80rem) {
  .mod-footer-ms__to-top-btn {
    bottom: 5.625rem;
  }
}
@media (max-width: 48rem) {
  .mod-footer-ms__to-top-btn {
    right: 1.25rem;
    width: 3rem;
    height: 3rem;
  }
}

/* =========================================================== */
/* パンくず */
/* =========================================================== */
.mod-breadcrumb-ms {
  background-color: #F2F2F2;
  position: relative;
}
.mod-breadcrumb-ms .cmn-inner {
  overflow-x: auto;
}
.mod-breadcrumb-ms__list {
  padding: 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
.mod-breadcrumb-ms__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-breadcrumb-ms__item:first-child img {
  width: 1.136875rem;
  height: 1rem;
}
.mod-breadcrumb-ms__item:not(:first-child)::before {
  content: "> ";
  display: block;
  color: #020055;
  font-size: 0.875rem;
}
.mod-breadcrumb-ms__link {
  font-size: 0.875rem;
  color: #262740;
}
.mod-breadcrumb-ms__current {
  font-size: 0.875rem;
  color: #808080;
}

/*===========================================================*/
/* 件数表示カード */
/*===========================================================*/
.mod-highlight-listing-card-ms {
  color: #262740;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
}
@media (any-hover: hover) {
  .mod-highlight-listing-card-ms:hover .mod-highlight-listing-card-ms__img {
    transform: scale(1.08);
  }
}
.mod-highlight-listing-card-ms__tag {
  position: absolute;
  z-index: 2;
  left: 0.625rem;
  top: 0.625rem;
  border-radius: 0.125rem;
  font-size: 0.75rem;
  font-family: "Lato", sans-serif;
  background-color: #D5C4A2;
  line-height: 1.1875rem;
  padding: 0 0.5rem;
}
.mod-highlight-listing-card-ms__favorite {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
}
.mod-highlight-listing-card-ms .cmn-favorite-btn {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0 0 0 0.125rem;
}
.mod-highlight-listing-card-ms .cmn-favorite-btn .icon-favorite {
  width: 1.284375rem;
  height: 1.125rem;
}
.mod-highlight-listing-card-ms__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-highlight-listing-card-ms__img-wrap {
  width: 100%;
  overflow: hidden;
  height: 13.875rem;
  padding: 1rem;
  position: relative;
}
@media (max-width: 66.25rem) {
  .mod-highlight-listing-card-ms__img-wrap {
    height: 12.5rem;
    padding: 0.75rem;
  }
}
.mod-highlight-listing-card-ms__img-wrap::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-top: 0.0625rem solid #DDDDDD;
  border-left: 0.0625rem solid #DDDDDD;
  border-right: 0.0625rem solid #DDDDDD;
}
.mod-highlight-listing-card-ms__img {
  transition: transform 0.3s ease-out;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-highlight-listing-card-ms__info {
  padding: 1rem;
  border-top: 0.0625rem solid #F2F2F2;
  position: relative;
}
@media (max-width: 66.25rem) {
  .mod-highlight-listing-card-ms__info {
    padding: 0.75rem;
  }
}
.mod-highlight-listing-card-ms__info::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-bottom: 0.0625rem solid #DDDDDD;
  border-left: 0.0625rem solid #DDDDDD;
  border-right: 0.0625rem solid #DDDDDD;
}
.mod-highlight-listing-card-ms__ttl {
  line-height: 1.5;
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.mod-highlight-listing-card-ms__price {
  font-size: 0.875rem;
  font-weight: 400;
  color: #CC0000;
}
.mod-highlight-listing-card-ms__price .num {
  font-family: "Lato", sans-serif;
  font-size: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-highlight-listing-card-ms__price .num {
    font-size: 1.75rem;
  }
}
.mod-highlight-listing-card-ms__detail {
  display: flex;
  flex-wrap: wrap;
}
.mod-highlight-listing-card-ms__detail dt {
  font-size: 0.875rem;
  font-weight: 500;
}
.mod-highlight-listing-card-ms__detail dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.mod-highlight-listing-card-ms__detail-block {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 0.5rem;
}
.mod-highlight-listing-card-ms__detail-block + .mod-highlight-listing-card-ms__detail-block {
  position: relative;
}
.mod-highlight-listing-card-ms__detail-block + .mod-highlight-listing-card-ms__detail-block::before {
  content: "";
  margin-right: 0.5rem;
  display: block;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
}
.mod-highlight-listing-card-ms__bottom {
  background-color: #AA9272;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 2.5rem;
}
.mod-highlight-listing-card-ms__bottom-txt {
  font-size: 0.875rem;
  font-weight: 500;
  color: #FFFFFF;
}
.mod-highlight-listing-card-ms__bottom-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  position: relative;
  background-color: rgba(255, 255, 255, 0.2);
}
.mod-highlight-listing-card-ms__bottom-icon::before {
  content: "";
  display: block;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  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;
}

/* =========================================================== */
/* 目次 */
/* =========================================================== */
/* 目次 PC用
-------------------------------------------------------------------- */
.mod-toc-pc-ms__list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.mod-toc-pc-ms__item {
  width: calc((100% - 1rem) / 3);
}
.mod-toc-pc-ms .cmn-page-link-ms {
  width: 100%;
  height: 100%;
}

/* 目次 SP用
-------------------------------------------------------------------- */
.mod-toc-sp-ms__content {
  background-color: #FFFFFF;
  border: 0.0625rem solid #777B96;
}
.mod-toc-sp-ms__head {
  background-color: #777B96;
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem 1rem 1rem;
  cursor: pointer;
}
.mod-toc-sp-ms__head-txt {
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  transition: color 0.3s ease-out;
  color: #FFFFFF;
}
.mod-toc-sp-ms__head-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/selection/icon-plus-ms.svg);
          mask-image: url(../../../img/selection/icon-plus-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;
}
.mod-toc-sp-ms__body {
  background-color: #FFFFFF;
  position: absolute;
  visibility: hidden;
  height: 0;
  padding: 1.25rem 1rem 1rem;
}
.mod-toc-sp-ms__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  opacity: 0;
}
.mod-toc-sp-ms__item {
  width: calc((100% - 1rem) / 2);
}
.mod-toc-sp-ms__item.--full-width {
  width: 100%;
}
.mod-toc-sp-ms__content.is-active .mod-toc-sp-ms__body {
  height: auto;
  visibility: visible;
  position: static;
}
.mod-toc-sp-ms__content.is-active .mod-toc-sp-ms__list {
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.mod-toc-sp-ms__content.is-active .mod-toc-sp-ms__head-icon {
  -webkit-mask-image: url(../../../img/selection/icon-minus-ms.svg);
          mask-image: url(../../../img/selection/icon-minus-ms.svg);
}
.mod-toc-sp-ms .cmn-page-link-ms {
  width: 100%;
  height: 100%;
  font-size: 0.875rem;
}
.mod-toc-sp-ms .cmn-page-link-ms:not(.--ex) {
  border-top: unset;
  border-right: unset;
  border-left: unset;
  font-weight: 400;
  padding: unset;
}
.mod-toc-sp-ms .cmn-page-link-ms.--ex {
  border-radius: 0.25rem;
  font-weight: bold;
  min-height: 2.75rem;
}

/* 目次 PCレイアウトのままSP縦並び
-------------------------------------------------------------------- */
.mod-toc-ms__list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.mod-toc-ms__item {
  width: calc((100% - 1rem) / 3);
}
@media (max-width: 48rem) {
  .mod-toc-ms__item {
    width: 100%;
  }
}
.mod-toc-ms .cmn-page-link-ms {
  width: 100%;
  height: 100%;
}

/* =========================================================== */
/* サポートリンク */
/* =========================================================== */
.mod-support-link {
  background-color: #F0F0F0;
  padding: 1.625rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-support-link {
    gap: 0.75rem;
    padding: 1.5rem 1rem;
  }
}
.mod-support-link.--type02 {
  background-color: unset;
  border: 0.0625rem solid #FFFFFF;
}
.cmn-container-ms.--ivory .mod-support-link {
  background-color: #10123B;
}
@media (max-width: 48rem) {
  .mod-support-link:not(:has(.mod-support-link__desk)) {
    gap: 1.5rem;
  }
}
.mod-support-link.--row {
  flex-direction: row;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .mod-support-link.--row {
    flex-direction: column;
  }
}
.mod-support-link.--row .mod-support-link__ttl {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-support-link.--row .mod-support-link__ttl {
    font-size: 1rem;
  }
}
.mod-support-link__ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.5;
  color: #10123B;
}
@media (max-width: 48rem) {
  .mod-support-link__ttl {
    text-align: center;
    font-size: 1rem;
  }
}
.cmn-container-ms.--ivory .mod-support-link__ttl {
  color: #FFFFFF;
}
.mod-support-link.--type02 .mod-support-link__ttl {
  color: #FFFFFF !important;
}
.mod-support-link__desk {
  font-size: 0.875rem;
  color: #262740;
}
.cmn-container-ms.--ivory .mod-support-link__desk {
  color: #FFFFFF;
}
.mod-support-link.--type02 .mod-support-link__desk {
  color: #FFFFFF !important;
}
.mod-support-link__desk.--center {
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-support-link .cmn-btn-ms {
    width: 100%;
  }
}

/* =========================================================== */
/* 検索ボックス */
/* =========================================================== */
.mod-search-box-ms {
  background-color: #F1F1F1;
  padding: 2.5rem 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms {
    padding: 1.5rem 1rem;
    gap: 1.5rem;
  }
}
.mod-search-box-ms__spacer {
  padding-bottom: 6rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__spacer {
    padding-bottom: 4rem;
  }
}
.mod-search-box-ms__negative-margin {
  margin-top: -5rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__negative-margin {
    margin-top: -5.625rem;
  }
}
.mod-search-box-ms__text {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__text {
    font-size: 0.875rem;
  }
}
.mod-search-box-ms__text .marker {
  display: inline;
  background-image: linear-gradient(to bottom, transparent calc(100% - 0.4375rem), rgba(245, 195, 94, 0.4) calc(100% - 0.4375rem));
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.mod-search-box-ms__form-wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__form-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-search-box-ms__search-by-name {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 52.75rem;
  margin: 0 auto;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__search-by-name {
    max-width: 100%;
    gap: 1rem;
    flex-direction: column;
  }
}
.mod-search-box-ms__label-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.25rem;
}
.mod-search-box-ms__label {
  font-weight: 700;
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__label {
    font-size: 1.125rem;
  }
}
.mod-search-box-ms__help {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
}
.mod-search-box-ms__form {
  position: relative;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__form {
    width: 100%;
  }
}
.mod-search-box-ms__input {
  min-width: 31.875rem;
  width: 100%;
  height: 4rem;
  padding: 1.25rem;
  border: 2px solid #CCCCCC;
  background-color: #FFFFFF;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__input {
    min-width: 100%;
  }
}
@media (any-hover: hover) {
  .mod-search-box-ms__input:hover {
    background-color: #F2F2F2;
  }
}
.mod-search-box-ms__input:-moz-placeholder {
  color: #808080;
}
.mod-search-box-ms__input:placeholder-shown {
  color: #808080;
}
.mod-search-box-ms__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-box-ms__btn:hover {
    background-color: #AF0808;
  }
}
.mod-search-box-ms__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-search-box-ms__area-search {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2.5rem 3.5rem;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__area-search {
    padding: 1.5rem;
  }
}
.mod-search-box-ms__area-ttl {
  font-weight: 700;
  font-size: 1.125rem;
}
.mod-search-box-ms__area-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mod-search-box-ms__area-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__area-item {
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-search-box-ms__area-label {
  color: #262740;
  font-weight: 500;
  min-width: 10.375rem;
}
.mod-search-box-ms__area-sub-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-search-box-ms__area-sub-list {
    gap: 0.25rem;
  }
}
.mod-search-box-ms__area-sub-list li {
  width: calc((100% - 2rem) / 5);
}
@media (max-width: 48rem) {
  .mod-search-box-ms__area-sub-list li {
    width: calc((100% - 1rem) / 3);
  }
}
.mod-search-box-ms__area-sub-list li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.75rem;
  background-color: #020055;
  color: #FFFFFF;
  font-weight: 500;
  text-align: center;
  transition: background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-search-box-ms__area-sub-list li a:hover {
    background-color: #F00000;
  }
}
@media (max-width: 48rem) {
  .mod-search-box-ms__area-sub-list li a {
    font-size: 0.875rem;
    padding: 0.625rem;
  }
}

/* =========================================================== */
/* PC:3column SP:1column */
/* =========================================================== */
.mod-flex-list-ms {
  display: flex;
  flex-wrap: wrap;
  gap: 4.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-flex-list-ms {
    flex-direction: column;
    gap: 2rem;
  }
}
.mod-flex-list-ms.--service {
  gap: 1.5rem;
}
@media (any-hover: hover) {
  .mod-flex-list-ms__link:hover .mod-flex-list-ms__img {
    transform: scale(1.08);
  }
  .mod-flex-list-ms__link:hover .mod-flex-list-ms__ttl {
    color: #F00000;
    text-decoration: underline;
  }
  .mod-flex-list-ms.--service .mod-flex-list-ms__link:hover .mod-flex-list-ms__ttl {
    text-decoration: unset;
  }
}
.mod-flex-list-ms__item {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .mod-flex-list-ms__item {
    width: 100%;
  }
}
.mod-flex-list-ms__ttl {
  font-weight: 700;
  margin-top: 1rem;
  align-items: baseline;
}
.mod-flex-list-ms.--service .mod-flex-list-ms__ttl {
  flex-direction: row-reverse;
}
.mod-flex-list-ms__ttl span {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-flex-list-ms__ttl span {
    font-size: 1.125rem;
  }
}
.mod-flex-list-ms.--service .mod-flex-list-ms__ttl span {
  font-size: 1rem;
}
.mod-flex-list-ms__ttl img {
  flex-shrink: 0;
}
.mod-flex-list-ms__desc {
  margin-top: 0.75rem;
}
.mod-flex-list-ms__img-wrap {
  aspect-ratio: 332/252;
  overflow: hidden;
}
.mod-flex-list-ms__img-wrap.--border {
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-flex-list-ms__img-wrap {
    aspect-ratio: 336/255;
  }
}
.mod-flex-list-ms.--service .mod-flex-list-ms__img-wrap {
  aspect-ratio: 332/120;
}
@media (max-width: 48rem) {
  .mod-flex-list-ms.--service .mod-flex-list-ms__img-wrap {
    aspect-ratio: 332/120;
  }
}
.mod-flex-list-ms__img-wrap img {
  transition: transform 0.3s ease-out;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

/* =========================================================== */
/* 三菱地所の住まいリレーができること */
/* =========================================================== */
.mod-can-do__item {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
.mod-can-do__item + .mod-can-do__item {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-can-do__item {
    gap: 1.5rem;
    flex-direction: column;
  }
}
.mod-can-do__img {
  display: block;
  width: 31.320754717%;
  height: auto;
  max-height: -moz-fit-content;
  max-height: fit-content;
  aspect-ratio: 332/187;
}
@media (max-width: 48rem) {
  .mod-can-do__img {
    width: 100%;
  }
}
.mod-can-do__desc {
  flex: 1;
}
.mod-can-do__ttl {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-can-do__ttl {
    font-size: 1.125rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.mod-can-do__txt {
  font-size: 1rem;
  color: #262740;
}
.mod-can-do__tag {
  font-size: 0.75rem;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.5rem;
  white-space: nowrap;
  flex-shrink: 0;
  padding: 0 0.5rem;
  background-color: #000000;
}
.mod-can-do__note {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  color: #262740;
}

/* =========================================================== */
/* 三菱地所レジデンスの住まいのギャラリー */
/* =========================================================== */
.mod-home-gallery {
  background-color: #FFFFFF;
}
.mod-home-gallery__head {
  background-color: #006E38;
  color: #FFFFFF;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem 0.875rem;
  padding: 1rem;
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-home-gallery__head {
    padding: 0.75rem;
  }
}
.mod-home-gallery__head-sub {
  font-weight: 500;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-home-gallery__head-sub {
    font-size: 0.75rem;
  }
}
.mod-home-gallery__head-main {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-home-gallery__head-main {
    font-size: 0.875rem;
  }
}
.mod-home-gallery__body {
  padding: 1.25rem 1rem 1.25rem 0;
  border: 0.0625rem solid #DDDDDD;
  display: flex;
}
@media (max-width: 48rem) {
  .mod-home-gallery__body {
    flex-direction: column;
    padding: 0 1rem 1.25rem 1rem;
  }
}
.mod-home-gallery__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 17.125rem;
  width: 25.8490566038%;
}
@media (max-width: 48rem) {
  .mod-home-gallery__logo {
    width: 100%;
    max-width: unset;
    padding: 1.125rem 0;
  }
}
.mod-home-gallery__logo img {
  display: block;
  width: 9.680625rem;
  aspect-ratio: 154.89/100;
}
.mod-home-gallery__desc {
  position: relative;
  flex: 1;
}
.mod-home-gallery__desc::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: #DDDDDD;
  width: 0.0625rem;
}
@media (max-width: 48rem) {
  .mod-home-gallery__desc::before {
    bottom: unset;
    left: 0;
    right: 0;
    width: 100%;
    height: 0.0625rem;
  }
}
.mod-home-gallery__desc-inner {
  margin-left: 1.75rem;
}
@media (max-width: 48rem) {
  .mod-home-gallery__desc-inner {
    margin-left: unset;
    margin-top: 0.875rem;
  }
}
.mod-home-gallery__ttl {
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-home-gallery__ttl {
    font-weight: 600;
  }
}
.mod-home-gallery__txt {
  margin-top: 0.875rem;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-home-gallery__txt {
    font-size: 0.875rem;
  }
}
.mod-home-gallery__btn-wrap {
  margin-top: 0.875rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-home-gallery__btn-wrap {
    margin-top: 1.25rem;
    gap: 0.5rem;
  }
}
.mod-home-gallery__btn-wrap .cmn-btn-ms {
  width: calc((100% - 2rem) / 3);
}
@media (max-width: 48rem) {
  .mod-home-gallery__btn-wrap .cmn-btn-ms {
    width: 100%;
  }
}

/* =========================================================== */
/* お客様からいただいた高い評価に応え続けます　顧客満足度 No.1 */
/* =========================================================== */
.mod-customer-satisfaction {
  background-color: #10123B;
  padding-inline: 1.5rem;
}
.mod-customer-satisfaction__body {
  padding: 2.5rem 0;
  margin: auto;
  max-width: 57.25rem;
  display: flex;
  gap: 3rem;
}
@media (max-width: 48rem) {
  .mod-customer-satisfaction__body {
    flex-direction: column-reverse;
    padding: 2.5rem 1.5rem;
    gap: 1.5rem;
  }
}
.mod-customer-satisfaction__ttl {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-customer-satisfaction__ttl {
    font-weight: 600;
    font-size: 1.25rem;
  }
}
.mod-customer-satisfaction__txt {
  line-height: 1.5;
  margin-top: 1.5rem;
  font-size: 1rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-customer-satisfaction__txt {
    margin-top: 1rem;
  }
}
.mod-customer-satisfaction .cmn-btn-ms {
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-customer-satisfaction .cmn-btn-ms {
    width: 100%;
  }
}
.mod-customer-satisfaction__logo {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20.75rem;
}
@media (max-width: 48rem) {
  .mod-customer-satisfaction__logo {
    width: 100%;
  }
}
.mod-customer-satisfaction__logo img {
  display: block;
  width: 20.75rem;
  aspect-ratio: 332/222.43;
}
.mod-customer-satisfaction__logo figcaption {
  color: #FFFFFF;
  font-size: 0.75rem;
  margin-top: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-customer-satisfaction__logo figcaption {
    margin-top: 1rem;
  }
}

/* =========================================================== */
/* 物件概要（マンションセレクション） */
/* =========================================================== */
.mod-overview-ms {
  border-top: 0.0625rem solid #E8E8E8;
  border-right: 0.0625rem solid #E8E8E8;
  border-left: 0.0625rem solid #E8E8E8;
}
.mod-overview-ms__row {
  display: flex;
  border-bottom: 0.0625rem solid #E8E8E8;
}
.mod-overview-ms__wrap {
  display: flex;
  border-bottom: 0.0625rem solid #E8E8E8;
}
@media (max-width: 48rem) {
  .mod-overview-ms__wrap {
    width: 100%;
    flex-direction: column;
  }
}
.mod-overview-ms__wrap > * {
  width: 50%;
}
@media (max-width: 48rem) {
  .mod-overview-ms__wrap > * {
    width: 100%;
  }
}
.mod-overview-ms__wrap .mod-overview-ms__row {
  border-bottom: unset;
}
@media (max-width: 48rem) {
  .mod-overview-ms__wrap .mod-overview-ms__row + .mod-overview-ms__row {
    border-top: 0.0625rem solid #E8E8E8;
  }
}
.mod-overview-ms__head {
  background-color: #F2F2F2;
  color: #4D4D4D;
  font-size: 0.875rem;
  font-weight: 500;
  width: 11.25rem;
  padding: 1.125rem 1rem;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-overview-ms__head {
    width: 5.6875rem;
    padding: 0.5rem;
  }
}
.mod-overview-ms__body {
  flex: 1;
  padding: 1rem;
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-overview-ms__body {
    padding: 0.5rem 0.75rem;
  }
}
.mod-overview-ms__txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-overview-ms__txt {
    font-size: 0.875rem;
  }
}
.mod-overview-ms__link {
  color: #074EBB;
}
.mod-overview-ms__map-link {
  text-decoration: underline;
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-overview-ms__map-link {
    display: flex;
  }
}
.mod-overview-ms__map-link .icon {
  display: block;
  background-color: #F00000;
  aspect-ratio: 12/16;
  width: 0.75rem;
  height: auto;
  -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;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-overview-ms__txt-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.mod-overview-ms__txt-list > * {
  width: calc((100% - 0.625rem) / 2);
}
@media (max-width: 48rem) {
  .mod-overview-ms__txt-list > * {
    width: 100%;
  }
}

/* =========================================================== */
/* スイッチ切り替えタブ（マンションセレクション） */
/* =========================================================== */
/* スイッチ切り替えタブ
-------------------------------------------------------------------- */
.mod-switch-ms {
  background-color: #F2F2F2;
  padding: 0.25rem;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .mod-switch-ms {
    padding: 0.125rem;
    border-radius: 0.125rem;
  }
}
.cmn-container.--brown .mod-switch-ms {
  background-color: #DDDDDD;
}
.mod-switch-ms__btn {
  font-weight: 500;
  font-size: 1.125rem;
  border-radius: 0.125rem;
  height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}
@media (max-width: 48rem) {
  .mod-switch-ms__btn {
    height: 2.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
  }
}
.mod-switch-ms__btn.--current, .mod-switch-ms__btn.is-active {
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.16));
  background-color: #020055;
  color: #FFFFFF;
}
.mod-switch-ms__btn.--disable {
  pointer-events: none;
  color: #808080;
}
.mod-switch-ms__panel.is-hidden {
  display: none !important;
}

/* =========================================================== */
/* 相場価格の推移　チャート */
/* =========================================================== */
/* チャート全体
-------------------------------------------------------------------- */
.mod-price-history-ms {
  background-color: #F8F8F8;
  border: 0.0625rem solid #F2F2F2;
  padding: 2rem;
}
@media (max-width: 48rem) {
  .mod-price-history-ms {
    padding: 1.5rem 1rem;
  }
}

/* ヘッド部分
-------------------------------------------------------------------- */
.mod-price-history-ms__head {
  margin-bottom: 2rem;
}
@media (max-width: 66.25rem) {
  .mod-price-history-ms__head {
    margin-bottom: 1.5rem;
  }
}
.mod-price-history-ms__head .head-ctrl {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.mod-price-history-ms__head .head-ctrl__item {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .mod-price-history-ms__head .head-ctrl__item {
    flex: 1;
  }
}
.mod-price-history-ms__head .head-ctrl__ttl {
  font-size: 1rem;
  font-weight: 500;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__head .head-ctrl__ttl {
    font-size: 0.875rem;
  }
}
.mod-price-history-ms__head .head-ctrl .cmn-select-btn-ms {
  width: 10rem;
}
@media (max-width: 66.25rem) {
  .mod-price-history-ms__head .head-ctrl .cmn-select-btn-ms {
    flex: 1;
  }
}
.mod-price-history-ms__head .head-ctrl__desc {
  color: #262740;
  font-size: 1rem;
}
/* メインコンテンツ
-------------------------------------------------------------------- */
.mod-price-history-ms__main {
  display: flex;
  gap: 0.625rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-price-history-ms__main {
    flex-direction: column-reverse;
  }
}

/* テキストコンテンツ
-------------------------------------------------------------------- */
.mod-price-history-ms__detail {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-price-history-ms__detail {
    width: 100%;
  }
}
.mod-price-history-ms__detail .price-box {
  background-color: #FFFFFF;
  border-radius: 0.125rem;
  padding: 1.5rem 1rem;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__detail .price-box {
    padding: 1.25rem;
  }
}
.mod-price-history-ms__detail .price-box__ttl {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__detail .price-box__ttl {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
}
.mod-price-history-ms__detail .price-box__range {
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #CC0000;
  letter-spacing: 0.1em;
}
.mod-price-history-ms__detail .price-box .txt-num {
  font-size: 1.75rem;
  font-weight: 400;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__detail .price-box .txt-num {
    font-size: 1.5rem;
  }
}
.mod-price-history-ms__detail .price-box .txt-unit {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__detail .price-box .txt-unit {
    font-size: 0.875rem;
  }
}
.mod-price-history-ms__detail .price-box .txt-range {
  font-size: 1.125rem;
  font-weight: 400;
  margin-inline: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__detail .price-box .txt-range {
    font-size: 1rem;
  }
}
.mod-price-history-ms__detail .price-desc {
  margin-top: 1rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__detail .price-desc {
    margin-top: 0.75rem;
  }
}

/* 注釈
-------------------------------------------------------------------- */
.mod-price-history-ms__note {
  margin-top: 1rem;
  padding-top: 1rem;
  font-size: 0.75rem;
  border-top: 0.0625rem solid #CCCCCC;
}
@media (max-width: 48rem) {
  .mod-price-history-ms__note {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    font-size: 0.625rem;
  }
}

/* グラフエリア
-------------------------------------------------------------------- */
.mod-price-history-ms__graph-area {
  display: block;
  width: 36.2562189055vw;
  max-width: 36.4375rem;
  flex-shrink: 0;
  background-color: rgba(0, 0, 0, 0.3);
  aspect-ratio: 583/319;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 66.25rem) {
  .mod-price-history-ms__graph-area {
    width: 100%;
    max-width: unset;
  }
}
.mod-price-history-ms__graph-area:has(*) {
  background-color: unset;
  aspect-ratio: unset;
  height: unset;
}

/* =========================================================== */
/* お客様の声 関連 */
/* =========================================================== */
/* 3カラムの声カード一覧
-------------------------------------------------------------------- */
.mod-voice-list-ms {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-voice-list-ms {
    grid-template-columns: unset;
    gap: 1.25rem;
  }
}

/* 声カード
-------------------------------------------------------------------- */
.mod-voice-card-ms {
  position: relative;
  min-height: 17.5rem;
  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%;
  padding: 0rem 1.5rem 1.5rem;
}
.mod-voice-list-ms .mod-voice-card-ms {
  width: 100%;
}
.cmn-container-ms.--white .mod-voice-card-ms {
  background-color: #FAF6F2;
  border: none;
}
.cmn-container-ms.--white .mod-voice-card-ms .mod-voice-card-ms__icon {
  background-color: #FFFFFF;
}
.cmn-container-ms.--ivory .mod-voice-card-ms {
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-container-ms.--ivory .mod-voice-card-ms .mod-voice-card-ms__icon {
  background-color: #FAF6F2;
}
.mod-voice-card-ms__label {
  width: calc(100% + 3rem);
  padding-block: 0.5rem;
  font-size: 0.875rem;
  text-align: center;
  background-color: #020055;
  color: #FFFFFF;
  margin-inline: -1.5rem;
}
.mod-voice-card-ms__header {
  padding-top: 1.625rem;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  position: relative;
}
.mod-voice-card-ms__meta-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.mod-voice-card-ms__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;
}
.mod-voice-card-ms__meta {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mod-voice-card-ms__rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-voice-card-ms__stars {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-voice-card-ms__stars .icon-star {
  display: block;
  padding: 0.125rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F5C35E;
  -webkit-mask-image: url(../../../img/common/voice/icon-star--selection.svg);
          mask-image: url(../../../img/common/voice/icon-star--selection.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.mod-voice-card-ms__stars .icon-star.--gray {
  background-color: #CCCCCC;
}
.mod-voice-card-ms__score {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  color: #F5C35E;
  line-height: 1;
}
.mod-voice-card-ms__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding-bottom: 0.1875rem;
}
.mod-voice-card-ms__tags span {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border: 0.0625rem solid #D5C4A2;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  color: #262740;
  background-color: #FFFFFF;
}
.mod-voice-card-ms__agent span {
  font-size: 0.875rem;
}
.mod-voice-card-ms__agent-label {
  display: flex;
  gap: 0.25rem;
}
.mod-voice-card-ms__body {
  padding-top: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex-grow: 1;
}
.mod-voice-card-ms__body.is-active .mod-voice-card-ms__trigger .txt-open {
  display: none;
}
.mod-voice-card-ms__body.is-active .mod-voice-card-ms__trigger .txt-close {
  display: inline-block;
}
.mod-voice-card-ms__body.is-active .mod-voice-card-ms__trigger .u-mask-arrow-ms {
  transform: rotate(270deg);
}
.mod-voice-card-ms__text {
  font-size: 0.875rem;
  color: #262740;
}
.mod-voice-card-ms__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-ms__text[aria-hidden=false] {
  display: block;
  overflow: visible;
}
.mod-voice-card-ms__trigger {
  margin-top: auto;
  margin-left: auto;
  gap: 0.5rem;
  position: relative;
  z-index: 2;
}
.mod-voice-card-ms__trigger span {
  font-size: 0.75rem;
  font-weight: 500;
  transition: color 0.3s ease-out;
}
.mod-voice-card-ms__trigger .txt-close {
  display: none;
}
.mod-voice-card-ms__trigger .u-mask-arrow-ms {
  width: 0.4375rem;
  height: 0.75rem;
  transform: rotate(90deg);
  background-color: #020055;
}

/* mod-voice-grid-ms
------------------------------------------------ */
.mod-voice-grid-ms__panel {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-voice-grid-ms__panel {
    margin-top: 2rem;
  }
}

/* mod-voice-back-btn-ms
------------------------------------------------ */
.mod-voice-back-btn-ms {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn-ms {
    gap: 1.25rem;
  }
}
.mod-voice-back-btn-ms__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn-ms__wrap {
    gap: 1rem;
  }
}
.mod-voice-back-btn-ms__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-ms__btn:hover {
    color: #F00000;
  }
}
.mod-voice-back-btn-ms__btn:disabled {
  color: #CCCCCC;
  border-color: #CCCCCC;
}
.mod-voice-back-btn-ms__btn:disabled .icon-arrow {
  background-color: #CCCCCC;
}
.mod-voice-back-btn-ms__btn .icon-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.mod-voice-back-btn-ms__btn.--prev .icon-arrow {
  left: 1.5rem;
  transform: translateY(-50%) rotate(180deg);
}
.mod-voice-back-btn-ms__btn.--next .icon-arrow {
  right: 1.5rem;
}
.mod-voice-back-btn-ms__pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn-ms__pager {
    flex-direction: column-reverse;
    gap: 1.25rem;
    align-items: flex-end;
  }
}
.mod-voice-back-btn-ms__pagination-wrap {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-back-btn-ms__pagination-wrap {
    width: 100%;
    justify-content: space-between;
  }
}
.mod-voice-back-btn-ms__pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-voice-back-btn-ms__pagination li a,
.mod-voice-back-btn-ms__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-ms__pagination li a:hover {
    border-color: #F00000;
    background-color: #F00000;
    color: #FFFFFF;
  }
}
.mod-voice-back-btn-ms__pagination li span.is-current {
  border-color: #F00000;
  background-color: #F00000;
  color: #FFFFFF;
}
.mod-voice-back-btn-ms__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-ms__pagination-btn {
  background-color: #000000;
}
.mod-voice-back-btn-ms__pagination-btn .u-mask-arrow-ms {
  width: 0.5rem;
  height: 0.8125rem;
}
.mod-voice-back-btn-ms__pagination-btn:disabled {
  background-color: #CCCCCC;
}
.mod-voice-back-btn-ms__pagination-btn.--prev {
  transform: rotate(180deg);
}

/* スライダー
------------------------------------------------ */
.mod-voice-slider-ms .splide__slide {
  padding-left: 0.375rem;
}
.mod-voice-slider-ms .splide__slide .mod-voice-card-ms {
  margin-left: 0;
}
.mod-voice-slider-ms__btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-slider-ms__btn-wrap {
    margin: 2rem 1rem 0;
  }
}

/* mod-voice-accordion
------------------------------------------------ */
.mod-voice-accordion-ms__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-ms__body > div {
  min-height: 0;
  overflow: hidden;
}
.mod-voice-accordion-ms__body[aria-hidden=false] {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
}
.mod-voice-accordion-ms__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-ms__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-ms__trigger[aria-expanded=true] {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-voice-accordion-ms__trigger[aria-expanded=true] {
    margin-top: 1.25rem;
  }
}
.mod-voice-accordion-ms__trigger[aria-expanded=true] .open-text {
  display: none;
}
.mod-voice-accordion-ms__trigger[aria-expanded=true] .close-text {
  display: inline;
}
.mod-voice-accordion-ms__trigger[aria-expanded=true] .icon-trigger {
  transform: rotate(180deg);
}
.mod-voice-accordion-ms__trigger[aria-expanded=true] .icon-trigger::before {
  transform: translate(-50%, -50%) rotate(90deg) scaleY(0);
  opacity: 0;
}
.mod-voice-accordion-ms__trigger[aria-expanded=false] .open-text {
  display: inline;
}
.mod-voice-accordion-ms__trigger[aria-expanded=false] .close-text {
  display: none;
}
.mod-voice-accordion-ms__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-ms__trigger .icon-trigger::before, .mod-voice-accordion-ms__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-ms__trigger .icon-trigger::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.mod-voice-accordion-ms__trigger .icon-trigger::after {
  transform: translate(-50%, -50%);
}

/*===========================================================*/
/* レコメンドカード */
/*===========================================================*/
.mod-recommend-card-ms {
  border: 0.0625rem solid #CCCCCC;
  transition: box-shadow 0.3s ease-out;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
  height: 100%;
}
@media (any-hover: hover) {
  .mod-recommend-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-recommend-card-ms__ttl {
    text-decoration: underline;
  }
  .mod-recommend-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-recommend-card-ms__img {
    transform: scale(1.08);
  }
  .mod-recommend-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-recommend-card-ms__bottom {
    background-color: #F00000;
  }
  .mod-recommend-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-recommend-card-ms__bottom-icon::before {
    transform: translate(calc(-50% + 3px), -50%);
  }
}
.cmn-container-ms.--white .mod-recommend-card-ms {
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
}
@media (any-hover: hover) {
  .cmn-container-ms.--white .mod-recommend-card-ms:hover {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.24);
  }
}
.mod-recommend-card-ms__content {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.mod-recommend-card-ms__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-ms__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-ms__tag-item.--new {
  background-color: #4FA719;
}
.mod-recommend-card-ms__main-link {
  display: block;
  color: inherit;
}
.mod-recommend-card-ms__main-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
.mod-recommend-card-ms__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 247/185;
  flex-shrink: 0;
}
.mod-recommend-card-ms__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 247/185;
  -o-object-fit: contain;
     object-fit: contain;
}
.mod-recommend-card-ms__info {
  padding: 1.5rem 1rem;
  height: 100%;
}
@media (max-width: 48rem) {
  .mod-recommend-card-ms__info {
    padding: 1rem 0.75rem;
  }
}
.mod-recommend-card-ms__brand {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 0.75rem;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #CA0000;
  border-radius: 0.125rem;
  padding: 0 0.5rem;
  margin-bottom: 1rem;
}
.mod-recommend-card-ms__ttl {
  font-weight: bold;
}
.mod-recommend-card-ms__detail {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mod-recommend-card-ms__detail-block {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-recommend-card-ms__detail-block .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.453125rem;
}
.mod-recommend-card-ms__detail-desc p {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-recommend-card-ms__detail-desc p {
    font-size: 0.75rem;
  }
}
.mod-recommend-card-ms__count {
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}
.mod-recommend-card-ms__count > * {
  width: 100%;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.mod-recommend-card-ms__count .cmn-page-link-ms__txt {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-recommend-card-ms__count .cmn-page-link-ms__txt {
    gap: 0.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-recommend-card-ms__count .cmn-page-link-ms__num {
    padding: 0 0.375rem;
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .mod-recommend-card-ms__count .cmn-page-link-ms:not(.is-disabled):hover {
    transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
    background-color: #F00000;
    border-color: #F00000;
  }
  .mod-recommend-card-ms__count .cmn-page-link-ms:not(.is-disabled):hover .cmn-page-link-ms__txt {
    transition: color 0.3s ease-out;
    color: #FFFFFF;
  }
  .mod-recommend-card-ms__count .cmn-page-link-ms:not(.is-disabled):hover .cmn-page-link-ms__num {
    transition: color 0.3s ease-out, background-color 0.3s ease-out;
    background-color: #FFFFFF;
    color: #F00000;
  }
}
.mod-recommend-card-ms__bottom {
  padding: 0.625rem 1rem;
  background-color: #020055;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.3s ease-out;
}
.mod-recommend-card-ms__bottom-txt {
  font-size: 0.875rem;
  font-weight: 500;
  color: #FFFFFF;
}
.mod-recommend-card-ms__bottom-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
  position: relative;
}
.mod-recommend-card-ms__bottom-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease-out;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  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;
}

/* =========================================================== */
/* 住まいリレー AI査定 */
/* =========================================================== */
.mod-ai-assessment {
  background-color: #C5C4D6;
  padding: 2.125rem 1rem 1.625rem;
  position: relative;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment {
    padding: 1.625rem 1rem 1rem 1rem;
  }
}
.mod-ai-assessment::before, .mod-ai-assessment::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::before {
  left: 0;
  width: 9.25rem;
  background-image: url(../../../img/selection/bg-ai-assessment01.webp);
}
@media (max-width: 30rem) {
  .mod-ai-assessment::before {
    width: 5.3125rem;
    height: 14rem;
    top: auto;
    bottom: -0.6875rem;
  }
}
.mod-ai-assessment::after {
  right: 0;
  width: 10rem;
  background-image: url(../../../img/selection/bg-ai-assessment02.webp);
}
@media (max-width: 30rem) {
  .mod-ai-assessment::after {
    width: 6.0625rem;
    height: 14.625rem;
    width: 5.3125rem;
    height: 14rem;
    bottom: auto;
  }
}
.mod-ai-assessment__inner {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  max-width: 55rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  justify-content: space-between;
  right: -0.875rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__inner {
    right: unset;
    justify-content: center;
  }
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__main {
    width: 100%;
  }
}
.mod-ai-assessment__head {
  margin-bottom: 0.75rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__head {
    margin-bottom: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.mod-ai-assessment__head .copy {
  white-space: nowrap;
  position: relative;
  font-size: 1.5rem;
  display: flex;
  font-weight: bold;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: -0.8125rem;
  color: #262740;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__head .copy {
    font-size: 1rem;
    gap: 0.1875rem;
    margin-bottom: 0rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment__head .copy {
    font-size: 0.875rem;
  }
}
.mod-ai-assessment__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__head .copy::after {
    width: 0.28rem;
  }
}
.mod-ai-assessment__head .ttl {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  line-height: 1.2;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__head .ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.mod-ai-assessment__head .sub {
  font-family: "Noto Sans JP", sans-serif;
  color: #262740;
  font-size: 3.4375rem;
  font-weight: 900;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__head .sub {
    font-size: 2.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-ai-assessment__head .sub {
    font-size: 2.0625rem;
    margin-bottom: -0.375rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment__head .sub {
    font-size: 1.625rem;
    margin-bottom: unset;
  }
}
.mod-ai-assessment__head .name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.875rem;
  font-weight: 700;
  color: #020055;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__head .name {
    font-size: 3.625rem;
  }
}
@media (max-width: 48rem) {
  .mod-ai-assessment__head .name {
    font-size: 3.3125rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment__head .name {
    font-size: 2.5rem;
    gap: 0.5rem;
  }
}
.mod-ai-assessment__head .en {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  font-size: 6.5625rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__head .en {
    font-size: 4.875rem;
  }
}
@media (max-width: 48rem) {
  .mod-ai-assessment__head .en {
    font-size: 4.5625rem;
  }
}
@media (max-width: 30rem) {
  .mod-ai-assessment__head .en {
    font-size: 3.5rem;
  }
}
.mod-ai-assessment__list {
  display: flex;
  gap: 1.75rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__list {
    gap: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-ai-assessment__list {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.mod-ai-assessment__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__list-item {
    margin-top: unset;
    padding: 0.625rem 0.75rem;
    justify-content: flex-start;
    gap: 1.25rem;
  }
}
.mod-ai-assessment__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__list-item .circle {
    position: static;
  }
}
.mod-ai-assessment__list-item .circle .point {
  font-size: 0.4375rem;
  font-weight: 700;
}
.mod-ai-assessment__list-item .circle .num {
  font-size: 1.0625rem;
  font-weight: 900;
}
.mod-ai-assessment__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__list-item .txt {
    text-align: left;
  }
}
.mod-ai-assessment__list-item .txt.--03 {
  font-size: 0.8125rem;
}
.mod-ai-assessment__list-item .txt .txt-l {
  font-size: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__list-item .txt .txt-l {
    font-size: 1.125rem;
  }
}
.mod-ai-assessment__list-item .txt .txt-l.--03 {
  font-size: 1.0625rem;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__list-item .txt .txt-l.--03 {
    font-size: 1.125rem;
  }
}
.mod-ai-assessment__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;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-ai-assessment__btn {
    max-width: 19rem;
    margin: 1rem auto 0;
  }
}
.mod-ai-assessment__btn::before, .mod-ai-assessment__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__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__btn::after {
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  position: absolute;
  right: 1rem;
}
@media (any-hover: hover) {
  .mod-ai-assessment__btn:hover {
    opacity: 0.6;
  }
}
.mod-ai-assessment__img {
  width: 16.0625rem;
  aspect-ratio: 257/361;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 66.25rem) {
  .mod-ai-assessment__img {
    width: 7.075625rem;
    margin-left: -0.125rem;
  }
}

/* 
-------------------------------------------------------------------- */
/*===========================================================*/
/* 取り扱い営業所　売却のご相談　賃貸のご相談 */
/*===========================================================*/
.mod-contact-office-ms {
  background-color: #FFFFFF;
  position: relative;
  padding: 2rem 0;
  display: flex;
  color: #262740;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms {
    padding: 0;
    flex-direction: column;
    background-color: unset;
  }
}
.mod-contact-office-ms__block {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__block {
    width: 100%;
    background-color: #FFFFFF;
  }
}
.mod-contact-office-ms__block + .mod-contact-office-ms__block {
  border-left: 0.0625rem solid rgba(119, 123, 150, 0.37);
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__block + .mod-contact-office-ms__block {
    margin-top: 1rem;
    border-left: unset;
  }
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__block.--sell {
    border: 0.0625rem solid #CA0000;
  }
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__block.--rent {
    border: 0.0625rem solid #AA9272;
  }
}
.mod-contact-office-ms__head {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 1.125rem;
  color: #FFFFFF;
  line-height: 2.5rem;
  text-align: center;
  width: 100%;
  max-width: 25.125rem;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__head {
    font-size: 1rem;
    max-width: unset;
  }
}
.mod-contact-office-ms__head.--sell {
  background-color: #CA0000;
}
.mod-contact-office-ms__head.--rent {
  background-color: #AA9272;
}
.mod-contact-office-ms__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 0 0;
  max-width: 25.125rem;
  width: 100%;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__body {
    padding: 1rem 1rem 1rem;
  }
}
.mod-contact-office-ms__ttl {
  line-height: 1.5;
  font-size: 1.125rem;
  text-decoration: underline;
  margin-bottom: 0.75rem;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__ttl {
    text-align: center;
    font-size: 0.875rem;
  }
}
.mod-contact-office-ms__tel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  margin-bottom: 1rem;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__tel {
    display: none;
  }
}
.mod-contact-office-ms__tel .num {
  color: #262740;
  font-family: "Lato", sans-serif;
  font-size: 2.0625rem;
}
.mod-contact-office-ms__hours {
  display: flex;
  gap: 0.5rem 1rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__hours {
    gap: 0.5rem 0.75rem;
    margin-bottom: 1rem;
  }
}
.mod-contact-office-ms__hours-list {
  flex: 1;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__hours-list {
    gap: 0.375rem;
  }
}
.mod-contact-office-ms__hours-list dt {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__hours-list dt {
    font-size: 0.875rem;
  }
}
.mod-contact-office-ms__hours-list dd {
  font-size: 0.875rem;
  margin-top: 0.125rem;
  min-width: 6rem;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__hours-list dd {
    font-size: 0.75rem;
    min-width: 5.5rem;
  }
}
.mod-contact-office-ms__sp-tel {
  display: none;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__sp-tel {
    display: flex;
    margin-top: 1rem;
  }
}
.mod-contact-office-ms__sp-btn-wrap {
  display: none;
}
@media (max-width: 66.25rem) {
  .mod-contact-office-ms__sp-btn-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

/* =========================================================== */
/* point */
/* =========================================================== */
.mod-point-ms {
  border: #D5C4A2 0.0625rem solid;
}
.mod-point-ms.--s .mod-point-ms__head {
  padding: 1.25rem 2rem;
}
@media (max-width: 48rem) {
  .mod-point-ms.--s .mod-point-ms__head {
    padding: 1rem;
  }
}
.mod-point-ms.--s .mod-point-ms__body {
  padding: 1.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-point-ms.--s .mod-point-ms__body {
    padding: 1rem;
  }
}
.mod-point-ms.--center {
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-point-ms.--center .mod-point-ms__msg {
    text-align: left;
  }
}
.mod-point-ms__head {
  background-color: #D5C4A2;
  padding: 1.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-point-ms__head {
    padding: 1rem;
  }
}
.mod-point-ms__ttl {
  color: #10123B;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-point-ms__ttl {
    font-size: 1rem;
  }
}
.mod-point-ms__ttl.--bold {
  font-weight: bold;
}
.mod-point-ms__body {
  background-color: #FFFFFF;
  padding: 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-point-ms__body {
    padding: 1.5rem 1rem;
  }
}
.mod-point-ms__desc {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-point-ms__desc {
    font-size: 0.875rem;
  }
}
.mod-point-ms__msg {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-point-ms__msg {
    font-size: 0.875rem;
  }
}
.mod-point-ms .cmn-txt-link-ms {
  margin-top: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-point-ms .cmn-txt-link-ms {
    margin-top: 0.625rem;
  }
}
.mod-point-ms {
  /* 購入希望リスト
  -------------------------------------------------------------------- */
}
.mod-point-ms__purchase-list {
  background-color: #FFFFFF;
  display: flex;
  padding: 1.875rem 0 2.5rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__purchase-list {
    padding: 0 1rem;
    flex-direction: column;
  }
}
.mod-point-ms__purchase-item {
  flex: 1;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__purchase-item {
    justify-content: flex-start;
    padding: 1.25rem 0;
    gap: 0.5rem;
  }
}
.mod-point-ms__purchase-item + .mod-point-ms__purchase-item {
  border-left: 0.0625rem solid #E4E5E9;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__purchase-item + .mod-point-ms__purchase-item {
    border-left: unset;
    border-top: 0.0625rem solid #E4E5E9;
  }
}
.mod-point-ms__purchase-item .icon {
  display: block;
  width: 2rem;
  height: auto;
  background-color: #D5C4A2;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: relative;
  top: 0.2rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__purchase-item .icon {
    width: 1.5rem;
  }
}
.mod-point-ms__purchase-item .icon.--heart {
  -webkit-mask-image: url(../../../img/common/icon-favorite.svg);
          mask-image: url(../../../img/common/icon-favorite.svg);
  aspect-ratio: 21/18;
}
.mod-point-ms__purchase-item .icon.--mail {
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  aspect-ratio: 9/7;
}
.mod-point-ms__purchase-item .txt {
  line-height: 1.5;
  font-size: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__purchase-item .txt {
    font-size: 0.875rem;
  }
}
.mod-point-ms__purchase-item .num {
  font-family: "Lato", sans-serif;
  color: #CC0000;
  font-size: 2.25rem;
  font-weight: 400;
  margin-right: 0.25rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__purchase-item .num {
    font-size: 1.25rem;
  }
}
.mod-point-ms {
  /* ご提案例
  -------------------------------------------------------------------- */
}
.mod-point-ms__example {
  background-color: #FFFFFF;
  padding: 2rem 1.75rem;
  display: flex;
  line-height: 1.5;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__example {
    flex-direction: column;
    padding: 1.5rem 2.25rem;
    grid-template-columns: unset;
    gap: 1.5rem;
  }
}
.mod-point-ms__example-box:last-child {
  border-left: 1px dotted #707070;
  padding-left: 2rem;
  margin-left: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-point-ms__example-box:last-child {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
    border-top: 1px dotted #707070;
    padding-top: 2rem;
    margin-top: 0.5rem;
  }
}
.mod-point-ms__example-ttl {
  color: #FFFFFF;
  line-height: 2rem;
  font-size: 1rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__example-ttl {
    line-height: 1.6875rem;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
  }
}
.mod-point-ms__example-box:nth-child(1) .mod-point-ms__example-ttl {
  background-color: #BD967C;
}
.mod-point-ms__example-box:nth-child(2) .mod-point-ms__example-ttl {
  background-color: #7C8E82;
}
.mod-point-ms__example-box:nth-child(3) .mod-point-ms__example-ttl {
  background-color: #72719F;
}
.mod-point-ms__example-box:nth-child(4) .mod-point-ms__example-ttl {
  background-color: #D27878;
}
.mod-point-ms__example-period {
  text-align: center;
  margin-bottom: 1rem;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__example-period {
    margin-bottom: 0.75rem;
  }
}
.mod-point-ms__example-period dt {
  font-size: 0.875rem;
  display: inline;
}
.mod-point-ms__example-period dd {
  display: inline;
  font-weight: bold;
  font-size: 1rem;
}
.mod-point-ms__example-period .num {
  margin: 0 0.25rem;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
}
.mod-point-ms__example-desc {
  font-size: 1rem;
  text-align: left;
}
@media (max-width: 66.25rem) {
  .mod-point-ms__example-desc {
    font-size: 0.875rem;
  }
}

/* =========================================================== */
/* アコーディオン */
/* =========================================================== */
.mod-accordion-ms {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-accordion-ms {
    gap: 1.25rem;
  }
}
.mod-accordion-ms__item {
  background-color: #FFFFFF;
  border-radius: 0.25rem;
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__item {
    border-radius: 0.125rem;
  }
}
.mod-accordion-ms__eyecatch {
  flex-shrink: 0;
  line-height: 1.75rem;
  font-size: 1.5rem;
  color: #BD967C;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-family: "Marcellus", serif;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__eyecatch {
    line-height: 1.53125rem;
    font-size: 1.25rem;
  }
}
.mod-accordion-ms__txt {
  font-size: 1rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__txt {
    font-size: 0.875rem;
  }
}
.mod-accordion-ms__head {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
  align-items: center;
  padding: 2rem 2.5rem;
  cursor: pointer;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__head {
    gap: 0.75rem;
    padding: 1rem;
  }
}
.mod-accordion-ms__item.is-active .mod-accordion-ms__head {
  padding: 2rem 2.5rem 1rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__item.is-active .mod-accordion-ms__head {
    padding: 1rem;
  }
}
.mod-accordion-ms__head.--no-hover {
  cursor: auto;
}
@media (any-hover: hover) {
  .mod-accordion-ms__head:not(.--no-hover):hover .mod-accordion-ms__txt {
    color: #020055;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
  }
}
.mod-accordion-ms__head-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__head-wrap {
    gap: 0.75rem;
  }
}
.mod-accordion-ms__body {
  position: absolute;
  visibility: hidden;
  height: 0;
  padding: 2rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__body {
    gap: 0.75rem;
    padding: 1rem;
  }
}
.mod-accordion-ms__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-ms__body-wrap {
    gap: 0.75rem;
  }
}
.mod-accordion-ms__body-wrap.--list-wrap {
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}
.mod-accordion-ms__body-wrap.--normal {
  display: block;
}
.mod-accordion-ms__btn-wrap {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}
.mod-accordion-ms__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-ms__btn::before, .mod-accordion-ms__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-ms__btn::before {
  transform: rotate(90deg);
}
.mod-accordion-ms__link {
  color: #074EBB;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__link {
    font-size: 0.875rem;
  }
}
.mod-accordion-ms__item.is-active .mod-accordion-ms__btn::before {
  opacity: 0;
  visibility: hidden;
}
.mod-accordion-ms__item.is-active .mod-accordion-ms__body {
  padding: 1rem 2.5rem 2rem 2.5rem;
  height: auto;
  visibility: visible;
  position: relative;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__item.is-active .mod-accordion-ms__body {
    padding: 1.25rem 1rem 1rem 1rem;
  }
}
.mod-accordion-ms__item.is-active .mod-accordion-ms__body::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 2.5rem;
  right: 2.5rem;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .mod-accordion-ms__item.is-active .mod-accordion-ms__body::before {
    left: 1rem;
    right: 1rem;
  }
}
.mod-accordion-ms__item.is-active .mod-accordion-ms__body-wrap {
  opacity: 1;
}

/*===========================================================*/
/* マンションセレクションでできることボタン */
/*===========================================================*/
.mod-brand-float-ms {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-direction: column;
  background-color: #020055;
  border: 2px solid #CDCEDD;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 0.875rem;
  line-height: 1.429;
  letter-spacing: -0.01em;
  font-weight: bold;
  box-shadow: 0 0 0.75rem 0.25rem rgba(0, 0, 0, 0.16);
  position: fixed;
  width: 8.125rem;
  height: 8.125rem;
  bottom: 2.75rem;
  right: 4rem;
  z-index: 2000;
  cursor: pointer;
  text-align: center;
  padding: 1.625rem 0.875rem 0.75rem;
}
@media (any-hover: hover) {
  .mod-brand-float-ms:hover .cmn-btn-ms__icon::before {
    border-radius: unset;
    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;
  }
}
.mod-brand-float-ms::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #020055;
  border-radius: 50%;
  z-index: -1;
  transition: transform 0.3s ease-out, background-color 0.3s ease-out;
  transform: scale(1);
}
@media (any-hover: hover) {
  .mod-brand-float-ms:hover::before {
    transform: scale(1.12);
    background-color: #3A397B;
  }
}
@media (max-width: 48rem) {
  .mod-brand-float-ms {
    display: none;
  }
}
.mod-brand-float-ms .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.mod-brand-float-ms .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}

/* =========================================================== */
/* マンション管理適正評価 */
/* =========================================================== */
.mod-due-diligence__box {
  background-color: #F8F8F8;
  padding: 2.5rem 2rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__box {
    padding: 2rem 1rem;
  }
}
.mod-due-diligence__ttl {
  font-size: 1.25rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__ttl {
    margin-bottom: 1rem;
    font-size: 0.875rem;
  }
}
.mod-due-diligence__rank {
  background-color: #FFFFFF;
  display: flex;
  padding: 1.5rem 0;
}
@media (max-width: 48rem) {
  .mod-due-diligence__rank {
    flex-direction: column;
    padding: 1.5rem 1.25rem;
  }
}
.mod-due-diligence {
  /* 総合評価
  -------------------------------------------------------------------- */
}
.mod-due-diligence__total {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .mod-due-diligence__total {
    width: 100%;
  }
}
.mod-due-diligence__total-count {
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-due-diligence__total-count {
    font-size: 1.25rem;
  }
}
.mod-due-diligence__total-count-num {
  margin-left: 0.5rem;
  margin-right: 0.25rem;
  font-size: 3rem;
  color: #CA0000;
  font-family: "Lato", sans-serif;
}
.mod-due-diligence__total-stars {
  display: flex;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__total-stars {
    gap: 0.375rem;
  }
}
.mod-due-diligence__total-star {
  width: 2rem;
  height: auto;
  display: block;
  aspect-ratio: 1/1;
  background-image: url(../../../img/selection/icon-star-empty.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.mod-due-diligence__total-star.is-filled {
  background-image: url(../../../img/selection/icon-star-filled.svg);
}
.mod-due-diligence__total-link {
  margin-top: 1rem;
  display: flex;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-due-diligence__total-link {
    margin-top: 1.25rem;
  }
}
.mod-due-diligence {
  /* グラフ
  -------------------------------------------------------------------- */
}
.mod-due-diligence__graph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__graph {
    width: 100%;
    gap: 1rem;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 0.0625rem solid #CCCCCC;
  }
}
.mod-due-diligence__graph-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .mod-due-diligence__graph-item {
    width: 100%;
  }
}
.mod-due-diligence__graph-ttl {
  flex-shrink: 0;
  width: 7.5rem;
  font-size: 1rem;
  margin: unset;
}
@media (max-width: 48rem) {
  .mod-due-diligence__graph-ttl {
    width: 6.375rem;
    font-size: 0.875rem;
  }
}
.mod-due-diligence__bar-wrap {
  display: block;
  height: 0.25rem;
  width: 9.3125rem;
  position: relative;
  background-color: #CCCCCC;
}
@media (max-width: 48rem) {
  .mod-due-diligence__bar-wrap {
    width: calc(100% - 6.375rem - 3.75rem);
  }
}
.mod-due-diligence__bar {
  background-color: #777B96;
  width: 0px;
  height: 0.25rem;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.3s ease-out;
}
.mod-due-diligence__value {
  width: 3.75rem;
  flex-shrink: 0;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__value {
    text-align: right;
  }
}
.mod-due-diligence__numerator {
  color: #CC0000;
  font-size: 1.125rem;
}
.mod-due-diligence__denominator .unit {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.625rem;
}
.mod-due-diligence {
  /* ボックス内テキストエリア 説明など
  -------------------------------------------------------------------- */
}
.mod-due-diligence__note {
  text-align: right;
  margin-top: 1rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__note {
    text-align: left;
    margin-top: 0.5rem;
    font-size: 0.75rem;
  }
}
.mod-due-diligence__info {
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__info {
    margin-top: 2rem;
  }
}
.mod-due-diligence__info-ttl {
  line-height: 1.2;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__info-ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-due-diligence__grade-list {
  display: flex;
}
@media (max-width: 48rem) {
  .mod-due-diligence__grade-list {
    flex-direction: column;
  }
}
.mod-due-diligence__grade-list-wrap {
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-due-diligence__grade-list-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-due-diligence__grade {
  display: flex;
  gap: 0.625rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-due-diligence__grade {
    align-items: unset;
    gap: 0.5rem;
  }
}
.mod-due-diligence__grade-star {
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  gap: 0.125rem;
}
.mod-due-diligence__grade-star .icon-star {
  width: 1.25rem;
  height: auto;
  display: block;
  aspect-ratio: 1/1;
  background-image: url(../../../img/selection/icon-star-empty.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.mod-due-diligence__grade-star .icon-star.--filled {
  background-image: url(../../../img/selection/icon-star-filled.svg);
}
@media (max-width: 48rem) {
  .mod-due-diligence__grade-star .icon-star {
    width: 1rem;
  }
}
.mod-due-diligence__grade-txt {
  font-size: 1rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .mod-due-diligence__grade-txt {
    font-size: 0.875rem;
  }
}
.mod-due-diligence__comment {
  margin-top: 2.5rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-due-diligence__comment {
    margin-top: 1.25rem;
  }
}
.mod-due-diligence__info-link {
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-due-diligence__info-link {
    margin-top: 1.5rem;
  }
}
.mod-due-diligence__info-link .cmn-txt-link-ms {
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .mod-due-diligence__info-link .cmn-txt-link-ms:hover .cmn-txt-link-ms__txt {
    color: #FFFFFF;
  }
}

/* 
-------------------------------------------------------------------- */
/* =========================================================== */
/* ページ下部固定リンク (マンションセレクション) */
/* =========================================================== */
.mod-bottom-nav-ms {
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  right: 0;
  backdrop-filter: blur(10px);
  padding: 0.75rem 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-bottom-nav-ms {
    padding: 0.5rem 0;
  }
}
.mod-bottom-nav-ms::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: #FFFFFF;
  backdrop-filter: brightness(0.92);
  opacity: 0.6;
}
.mod-bottom-nav-ms.is-visible {
  opacity: 1;
  visibility: visible;
}

/* フッターかぶり調整
-------------------------------------------------------------------- */
body:has(.mod-bottom-nav-ms.is-visible) .mod-footer-ms {
  margin-bottom: 4.5rem;
}
@media (max-width: 48rem) {
  body:has(.mod-bottom-nav-ms.is-visible) .mod-footer-ms {
    margin-bottom: 4rem;
  }
}

/* cta
-------------------------------------------------------------------- */
.mod-bottom-nav-ms-cta {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.5rem;
}
.mod-bottom-nav-ms-cta__list {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.mod-bottom-nav-ms-cta__list.--no-shrink {
  flex-shrink: 0;
}
.mod-bottom-nav-ms-cta__item.--no-shrink {
  flex-shrink: 0;
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms {
    padding: 0.375rem 0.625rem 0.375rem 1rem;
    min-height: 3rem;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--secondary .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--secondary .cmn-btn-ms__icon::before {
    background-color: #CC0000;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--gold .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--gold .cmn-btn-ms__icon::before {
    background-color: #937B5B;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion {
    background-color: #FFFFFF;
    border: 0.0625rem solid #CCCCCC;
    color: #000000;
  }
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion .cmn-btn-ms__icon::before {
    background-color: #FFFFFF;
  }
}
@media (max-width: 80rem) and (any-hover: hover) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion:not(:disabled):hover {
    background-color: #FFFFFF;
    border: 0.0625rem solid #CCCCCC;
    color: #000000;
  }
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #FFFFFF;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion.--secondary .cmn-btn-ms__icon {
    background-color: #CC0000;
  }
}
@media (max-width: 80rem) and (any-hover: hover) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion.--secondary:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #CC0000;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion.--gold .cmn-btn-ms__icon {
    background-color: #AA9272;
  }
}
@media (max-width: 80rem) and (any-hover: hover) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms.--sp-inversion.--gold:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #AA9272;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms__txt {
    line-height: 1.2;
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms__txt .txt-l {
    font-size: 0.875rem;
    font-weight: bold;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms__txt .txt-s {
    font-size: 0.875rem;
    font-weight: 500;
  }
}
@media (max-width: 80rem) {
  .mod-bottom-nav-ms-cta__item .cmn-btn-ms__icon::before {
    border-radius: unset;
    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;
  }
}
.mod-bottom-nav-ms-cta__list-sp {
  display: none;
}
.mod-bottom-nav-ms-cta__sp-btn-wrap {
  width: 100%;
}

.mod-bottom-nav-ms-btn.is-active + .mod-bottom-nav-ms-cta__list-sp {
  display: flex;
  margin: 1.5rem 0 0.5rem;
  gap: 0.625rem 0.25rem;
  flex-wrap: wrap;
}
.mod-bottom-nav-ms-btn.is-active + .mod-bottom-nav-ms-cta__list-sp .mod-bottom-nav-ms-cta__item {
  width: calc((100% - 0.25rem) / 2);
}
.mod-bottom-nav-ms-btn.is-active + .mod-bottom-nav-ms-cta__list-sp .cmn-btn-ms {
  width: 100%;
}

/* ボタン 
-------------------------------------------------------------------- */
.mod-bottom-nav-ms-btn {
  min-height: 3rem;
  line-height: 1.5;
  padding: 0.75rem 2.75rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: bold;
  color: #FFFFFF;
  width: 100%;
  background-color: #D35A5A;
  position: relative;
}
.mod-bottom-nav-ms-btn.is-active {
  margin-top: -0.5rem;
  margin-inline: -1.25rem;
  width: calc(100% + 2.5rem);
  max-width: unset;
}
.mod-bottom-nav-ms-btn.is-active .mod-bottom-nav-ms-btn__icon::before {
  transform: rotate(90deg);
}
.mod-bottom-nav-ms-btn__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #FFFFFF;
  position: absolute;
  right: 1rem;
  transition: background-color 0.3s ease-out;
}
.mod-bottom-nav-ms-btn__icon::before {
  content: "";
  display: block;
  background-color: #D35A5A;
  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);
}

/* メッセージ
-------------------------------------------------------------------- */
.mod-bottom-nav-ms-msg {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.mod-bottom-nav-ms-msg__tag {
  font-size: 1rem;
  font-weight: bold;
  color: #CC0000;
  line-height: 2.25rem;
  flex-shrink: 0;
  padding: 0 1rem;
  border-radius: 1.3125rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #F00000;
}
.mod-bottom-nav-ms-msg__txt {
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 500;
}

/*===========================================================*/
/* 一覧カード */
/*===========================================================*/
.mod-list-card-ms {
  transition: box-shadow 0.3s ease-out;
  overflow: hidden;
  isolation: isolate;
  background-color: #FFFFFF;
  position: relative;
  border: 1px solid #CCCCCC;
}
@media (any-hover: hover) {
  .mod-list-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-list-card-ms__ttl {
    text-decoration: underline;
  }
  .mod-list-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-list-card-ms__img {
    transform: scale(1.08);
  }
  .mod-list-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-list-card-ms__bottom {
    background-color: #F00000;
  }
  .mod-list-card-ms:not(:has(.cmn-page-link-ms:hover)):hover .mod-list-card-ms__bottom-icon::before {
    transform: translate(calc(-50% + 3px), -50%);
  }
}
.mod-list-card-ms__content {
  display: flex;
  color: inherit;
  text-decoration: none;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__content {
    flex-direction: column;
  }
}
.mod-list-card-ms__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-list-card-ms__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-list-card-ms__tag-item.--new {
  background-color: #4FA719;
}
.mod-list-card-ms__main-link {
  display: block;
  color: inherit;
}
.mod-list-card-ms__main-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
.mod-list-card-ms__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 530/398;
  max-width: 33.125rem;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__img-wrap {
    aspect-ratio: 336/252;
  }
}
.mod-list-card-ms__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 530/398;
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__img {
    aspect-ratio: 336/252;
  }
}
.mod-list-card-ms__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.mod-list-card-ms__info {
  padding: 2.5rem 2.5rem 1.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__info {
    padding: 1.5rem;
  }
}
.mod-list-card-ms__brand {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 0.75rem;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #CA0000;
  border-radius: 0.125rem;
  padding: 0 0.5rem;
  margin-bottom: 0.5rem;
}
.mod-list-card-ms__ttl {
  font-weight: bold;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__ttl {
    font-size: 1.125rem;
  }
}
.mod-list-card-ms__detail {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__detail {
    margin-top: 1rem;
  }
}
.mod-list-card-ms__detail-block {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.mod-list-card-ms__detail-block .icon-detail {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: 0.453125rem;
}
.mod-list-card-ms__detail-desc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.mod-list-card-ms__detail-desc li {
  white-space: nowrap;
  font-size: 0.875rem;
}
.mod-list-card-ms__detail-desc li span {
  flex-shrink: 0;
  font-weight: 500;
  padding-right: 0.25rem;
}
.mod-list-card-ms__detail-desc li::after {
  content: "";
  margin-left: 0.75rem;
  border-right: 1px solid #CCCCCC;
}
.mod-list-card-ms__count {
  padding-top: 2.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__count {
    padding-top: 1.25rem;
    margin-inline: 0.375rem;
  }
}
.mod-list-card-ms__count > * {
  width: 100%;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.mod-list-card-ms__count .cmn-page-link-ms__txt {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__count .cmn-page-link-ms__txt {
    gap: 0.25rem;
  }
}
@media (max-width: 48rem) {
  .mod-list-card-ms__count .cmn-page-link-ms__num {
    padding: 0 0.375rem;
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .mod-list-card-ms__count .cmn-page-link-ms:not(.is-disabled):hover {
    transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
    background-color: #F00000;
    border-color: #F00000;
  }
  .mod-list-card-ms__count .cmn-page-link-ms:not(.is-disabled):hover .cmn-page-link-ms__txt {
    transition: color 0.3s ease-out;
    color: #FFFFFF;
  }
  .mod-list-card-ms__count .cmn-page-link-ms:not(.is-disabled):hover .cmn-page-link-ms__num {
    transition: color 0.3s ease-out, background-color 0.3s ease-out;
    background-color: #FFFFFF;
    color: #F00000;
  }
}
.mod-list-card-ms__bottom {
  padding: 1rem;
  background-color: #020055;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-list-card-ms__bottom {
    padding: 0.75rem 1rem;
  }
}
.mod-list-card-ms__bottom-txt {
  font-size: 1rem;
  font-weight: 500;
  color: #FFFFFF;
}
.mod-list-card-ms__bottom-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
  position: relative;
}
.mod-list-card-ms__bottom-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease-out;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  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;
}

.mod-list-card-ms.--s {
  padding: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s {
    padding: 1rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__content {
  flex-direction: column;
}
.mod-list-card-ms.--s .mod-list-card-ms__header {
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__header {
    margin-bottom: 0.75rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__brand {
  margin-bottom: 0.5rem;
}
.mod-list-card-ms.--s .mod-list-card-ms__ttl {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__ttl {
    font-size: 1.125rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__main {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__main {
    gap: 0.75rem;
    margin-bottom: 0.75rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__img-wrap {
  width: 6.25rem;
  height: 6.25rem;
  max-width: none;
  aspect-ratio: 1/1;
  border-radius: 0.25rem;
}
.mod-list-card-ms.--s .mod-list-card-ms__info {
  padding: 0;
  flex: 1;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail {
  margin-top: 0;
  gap: 0.25rem;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-block .icon-detail {
  top: 0.125rem;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-block p, .mod-list-card-ms.--s .mod-list-card-ms__detail-block li {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__detail-block p, .mod-list-card-ms.--s .mod-list-card-ms__detail-block li {
    font-size: 0.75rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-desc.--floor {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-desc.--floor dl {
  display: flex;
  align-items: center;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-desc.--floor dl::before {
  display: none;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-desc.--floor dl:not(:last-child)::after {
  content: "・";
  margin: 0 0.125rem;
}
.mod-list-card-ms.--s .mod-list-card-ms__detail-desc.--floor dt {
  display: none;
}
.mod-list-card-ms.--s .mod-list-card-ms__count {
  padding-top: 0;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__count {
    margin-inline: 0;
    margin-bottom: 0.75rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__count > * {
  height: 3rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__count > * {
    height: 2.5rem;
  }
}
.mod-list-card-ms.--s .mod-list-card-ms__bottom {
  margin: 0 -1.25rem -1.25rem;
}
@media (max-width: 48rem) {
  .mod-list-card-ms.--s .mod-list-card-ms__bottom {
    margin: 0 -1rem -1rem;
  }
}
.mod-list-card-ms.--s + .--s {
  margin-top: 1rem;
}

/*===========================================================*/
/* コラムカード（マンションセレクション） */
/*===========================================================*/
.mod-column-card-ms {
  transition: box-shadow 0.3s ease-out;
  overflow: hidden;
  isolation: isolate;
  position: relative;
  box-shadow: 0px 0px 6px rgba(0, 0, 6, 0.16);
}
@media (max-width: 48rem) {
  .mod-column-card-ms {
    border: 0.0625rem solid #DDDDDD;
  }
}
@media (max-width: 48rem) and (any-hover: hover) {
  .mod-column-card-ms:hover {
    box-shadow: unset;
  }
}
@media (any-hover: hover) {
  .mod-column-card-ms:hover {
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16);
  }
  .mod-column-card-ms:hover .mod-column-card-ms__img img {
    transform: scale(1.08);
  }
}
.mod-column-card-ms__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mod-column-card-ms__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 332/187;
}
@media (max-width: 48rem) {
  .mod-column-card-ms__img-wrap {
    aspect-ratio: 287/167.96;
  }
}
.mod-column-card-ms__img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 332/187;
}
.mod-column-card-ms__info {
  background-color: #FFFFFF;
  padding: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-column-card-ms__info {
    padding: 1rem 1.25rem;
  }
}
.cmn-container-ms.--white .mod-column-card-ms__info {
  background-color: #F2F2F2;
}
@media (max-width: 48rem) {
  .cmn-container-ms.--white .mod-column-card-ms__info {
    background-color: #FFFFFF;
  }
}
.cmn-container-ms.--ivory .mod-column-card-ms__info {
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-container-ms.--ivory .mod-column-card-ms__info {
    background-color: #FFFFFF;
  }
}
.mod-column-card-ms__time {
  font-family: "Lato", sans-serif;
  color: #808080;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
}
.mod-column-card-ms__summary {
  transition: color 0.3s ease-out;
  font-weight: 500;
  font-size: 1rem;
}
.mod-column-card-ms__tag {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-column-card-ms__tag {
    margin-top: 0.75rem;
    gap: 0.25rem;
  }
}
.mod-column-card-ms__tag-item {
  border-radius: 0.0625rem;
  line-height: 1.3125rem;
  white-space: nowrap;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  color: #262740;
  background-color: #EDEDED;
}
.cmn-container-ms.--white .mod-column-card-ms__tag-item {
  background-color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-container-ms.--white .mod-column-card-ms__tag-item {
    background-color: #EDEDED;
  }
}
.cmn-container-ms.--ivory .mod-column-card-ms__tag-item {
  background-color: #EDEDED;
}
@media (max-width: 48rem) {
  .cmn-container-ms.--ivory .mod-column-card-ms__tag-item {
    background-color: #EDEDED;
  }
}

/*===========================================================*/
/* 売買の方はこちら 賃貸の方はこちら */
/*===========================================================*/
.mod-contact-link-ms {
  position: relative;
  display: flex;
  gap: 2.5rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .mod-contact-link-ms {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-contact-link-ms__block {
  padding: 1.875rem 1.25rem;
  background-color: #FFFFFF;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-contact-link-ms__block {
    width: 100%;
    padding: 1rem;
  }
}
.mod-contact-link-ms__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.mod-contact-link-ms__tel {
  margin-top: 0.625rem;
  position: relative;
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-contact-link-ms__tel {
    display: none;
  }
}
.mod-contact-link-ms__tel .num {
  font-family: "Lato", sans-serif;
  margin-left: 0.25rem;
  font-size: 1rem;
}
.mod-contact-link-ms__tel .sub {
  font-size: 0.625rem;
}

/*===========================================================*/
/* インフォグラフィックス */
/*===========================================================*/
.mod-infographics-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list__item {
    flex-direction: column-reverse;
    gap: 1.5rem;
  }
}
.mod-infographics-list.--type02 .mod-infographics-list__item {
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-infographics-list.--type02 .mod-infographics-list__item {
    flex-direction: column;
  }
}
.mod-infographics-list__item + .mod-infographics-list__item {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list__item + .mod-infographics-list__item {
    margin-top: 2.5rem;
  }
}
.mod-infographics-list__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 48rem) {
  .mod-infographics-list__item:nth-child(even) {
    flex-direction: column-reverse;
  }
}
@media (max-width: 48rem) {
  .mod-infographics-list.--type02 .mod-infographics-list__item:nth-child(even) {
    flex-direction: column;
  }
}
.mod-infographics-list__ttl {
  font-size: 1.4375rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 2.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .mod-infographics-list__ttl {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
}
.mod-infographics-list.--type02 .mod-infographics-list__ttl {
  font-size: 1.375rem;
  margin-bottom: 1.5rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}
@media (max-width: 48rem) {
  .mod-infographics-list.--type02 .mod-infographics-list__ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.mod-infographics-list__txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list__txt {
    font-size: 0.875rem;
  }
}
.mod-infographics-list__note {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .mod-infographics-list__note {
    font-size: 0.625rem;
  }
}
.mod-infographics-list__figure {
  flex-shrink: 0;
  max-width: 31.875rem;
  width: 48.1132075472%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 48rem) {
  .mod-infographics-list__figure {
    width: 100%;
  }
}
.mod-infographics-list__figure figcaption {
  font-size: 0.75rem;
}
.mod-infographics-list__figure img {
  aspect-ratio: 510/287;
}

/*===========================================================*/
/* ロゴコンテンツ */
/*===========================================================*/
.mod-logo-display {
  border: 0.0625rem solid #CCCCCC;
  background-color: #FFFFFF;
  padding: 1.25rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 66.25rem) {
  .mod-logo-display {
    flex-direction: column;
    padding: 0.25rem 1.25rem;
  }
}
.mod-logo-display__block {
  padding: 0 2.5rem;
  text-align: center;
}
@media (max-width: 66.25rem) {
  .mod-logo-display__block {
    padding: 1.25rem 0;
  }
}
.mod-logo-display__block + .mod-logo-display__block {
  position: relative;
}
.mod-logo-display__block + .mod-logo-display__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__block + .mod-logo-display__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__head {
  color: #262740;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display__head {
    font-size: 0.75rem;
    margin-bottom: 1rem;
  }
}
.mod-logo-display .logo-wrap img {
  display: inline-block;
  max-width: 100%;
}
.mod-logo-display .logo-residenceclub {
  width: 14.03rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-residenceclub {
    width: 13.9375rem;
  }
}
.mod-logo-display .logo-suumo {
  width: 8.098125rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-suumo {
    width: 6.828125rem;
  }
}
.mod-logo-display .logo-lifullhomes {
  width: 8.6675rem;
  margin: 0 2.25rem 0 2.625rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-lifullhomes {
    width: 8.0525rem;
    margin: 0 0 0 auto;
    display: block !important;
  }
}
.mod-logo-display .logo-athome {
  width: 9.264375rem;
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-athome {
    width: 7.5625rem;
    margin-right: auto;
    display: block !important;
  }
}
.mod-logo-display .logo-list {
  display: flex;
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-list {
    gap: 1rem 1rem;
    flex-wrap: wrap;
  }
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-list .logo-wrap:nth-child(1) {
    width: 100%;
  }
}
@media (max-width: 66.25rem) {
  .mod-logo-display .logo-list .logo-wrap:nth-child(2), .mod-logo-display .logo-list .logo-wrap:nth-child(3) {
    flex: 1;
  }
}

/*===========================================================*/
/* バナー（マンションセレクション） */
/*===========================================================*/
.mod-bnr-ms {
  display: flex;
  background-color: #020055;
}
@media (max-width: 48rem) {
  .mod-bnr-ms {
    flex-direction: column-reverse;
  }
}
.mod-bnr-ms__desc {
  flex: 1;
  color: #FFFFFF;
  display: flex;
  align-items: center;
}
.mod-bnr-ms__desc-inner {
  padding-left: 13.2075471698%;
  padding-right: 7.5471698113%;
}
@media (max-width: 48rem) {
  .mod-bnr-ms__desc-inner {
    padding: 1rem 1.25rem;
  }
}
.mod-bnr-ms__desc-inner .ttl {
  line-height: 1.5;
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 66.25rem) {
  .mod-bnr-ms__desc-inner .ttl {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
  }
}
.mod-bnr-ms__desc-inner .txt {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 66.25rem) {
  .mod-bnr-ms__desc-inner .txt {
    font-size: 0.875rem;
  }
}
.mod-bnr-ms__img-wrap {
  overflow: hidden;
  flex: 1;
  aspect-ratio: 530/220;
}
@media (max-width: 48rem) {
  .mod-bnr-ms__img-wrap {
    aspect-ratio: 336/153;
  }
}
.mod-bnr-ms__img {
  aspect-ratio: 530/220;
  transition: transform 0.3s ease-out;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .mod-bnr-ms__img {
    aspect-ratio: 336/153;
  }
}
@media (any-hover: hover) {
  .mod-bnr-ms:hover .mod-bnr-ms__img {
    transform: scale(1.08);
  }
}

/* =========================================================== */
/* 無料査定フォーム */
/* =========================================================== */
.mod-appraisal-form-ms {
  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-ms {
    padding: 1.5rem 1rem 1rem;
  }
}
.mod-modal .mod-appraisal-form-ms {
  filter: unset;
  padding: unset;
}
@media (max-width: 48rem) {
  .mod-modal .mod-appraisal-form-ms {
    padding: 0 1rem 1rem;
    margin-inline: -1rem;
  }
}
.mod-appraisal-form-ms__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem 0.75rem;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__head {
    flex-direction: column;
  }
}
.mod-appraisal-form-ms__head .sub {
  border-radius: 1.25rem;
  flex-shrink: 0;
  line-height: 2.25rem;
  display: inline-block;
  padding: 0 1rem;
  font-weight: bold;
  font-size: 0.875rem;
  color: #FFFFFF;
  background-color: #020055;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__head .sub {
    font-size: 0.75rem;
    line-height: 1.5625rem;
  }
}
.mod-appraisal-form-ms__head .ttl {
  font-size: 2rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__head .ttl {
    font-size: 1.125rem;
  }
}
.mod-appraisal-form-ms__head .small {
  font-size: 1.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__head .small {
    font-size: 1.125rem;
  }
}
.mod-appraisal-form-ms__body {
  background-color: #F1F1F1;
  padding: 1.5rem 2.5rem;
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__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-ms__block {
  width: calc((100% - 5rem - 1.75rem) / 2);
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__block {
    width: 100%;
  }
}
.mod-appraisal-form-ms .flow-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms .flow-spacer {
    display: none;
  }
}
.mod-appraisal-form-ms .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-ms .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-ms__ttl {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.mod-appraisal-form-ms__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-ms__ttl .ttl {
  font-size: 1rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__ttl .ttl {
    font-weight: 600;
  }
}
.mod-appraisal-form-ms__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-ms__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-ms__ttl-mansion, .mod-appraisal-form-ms__ttl-address {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.mod-appraisal-form-ms__ttl-mansion.is-hidden, .mod-appraisal-form-ms__ttl-address.is-hidden {
  display: none !important;
}
.mod-appraisal-form-ms__ttl-mansion.is-checked .icon-checked, .mod-appraisal-form-ms__ttl-address.is-checked .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form-ms__step2.--select {
  display: block;
}
.is-biz .mod-appraisal-form-ms__step2.--select {
  display: none;
}
.mod-appraisal-form-ms__step2.--net-biz {
  display: none;
}
.is-biz .mod-appraisal-form-ms__step2.--net-biz {
  display: block;
}
.mod-appraisal-form-ms__input-list {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.mod-appraisal-form-ms__input-list > * {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form-ms__input-list > * {
    width: calc((100% - 0.75rem) / 2);
    flex: unset;
  }
}
.mod-appraisal-form-ms__input-wrap {
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out, margin 0.3s ease-out;
}
.mod-appraisal-form-ms__input-wrap.is-checked .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form-ms__input-wrap.is-hidden {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  margin-top: 0;
}
.mod-appraisal-form-ms__input-wrap.is-appear {
  visibility: visible;
  opacity: 1;
  max-height: 5.53125rem;
  margin-top: 0.75rem;
}
.mod-appraisal-form-ms__input-wrap .cmn-square-btn {
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out;
  border-color: #CCCCCC;
}
.mod-appraisal-form-ms__input-wrap .cmn-square-btn.--input input {
  border-radius: 624.9375rem;
}
@media (any-hover: hover) {
  .mod-appraisal-form-ms__input-wrap .cmn-square-btn:not(:disabled):hover {
    border-color: #CCCCCC;
    background-color: #F2F2F2;
  }
}
.mod-appraisal-form-ms.is-biz .mod-appraisal-form-ms__option .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form-ms__input-ttl {
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.mod-appraisal-form-ms__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-ms__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-ms__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-ms__radio-box:has(input:checked) {
  outline-color: #F00000;
}
.mod-appraisal-form-ms__radio-box input {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.mod-appraisal-form-ms__radio-box input:checked {
  outline-color: #F00000;
}
.mod-appraisal-form-ms__radio-box input:checked + .ball::before {
  content: "";
}
.mod-appraisal-form-ms__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-ms__radio-box .ball {
    right: 0.5rem;
    top: 0.5rem;
  }
}
.mod-appraisal-form-ms__radio-box .ball::before {
  border-radius: 100%;
  display: block;
  background-color: #F00000;
  width: 0.625rem;
  height: 0.625rem;
}
.mod-appraisal-form-ms__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-ms__radio-box .icon.--mansion {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-appraisal-form-ms__radio-box .icon.--house {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-appraisal-form-ms__radio-box .icon.--land {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-appraisal-form-ms__radio-box .icon.--building {
  -webkit-mask-image: url(../../../img/common/icon-building.svg);
          mask-image: url(../../../img/common/icon-building.svg);
}
.mod-appraisal-form-ms__radio-box .txt {
  font-weight: 500;
  font-size: 0.75rem;
}
.mod-appraisal-form-ms .or-txt {
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: 1rem;
  margin-top: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms .or-txt {
    font-weight: 500;
    font-size: 0.875rem;
  }
}
.mod-appraisal-form-ms__select .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form-ms__mansion {
  width: 100%;
}
.mod-appraisal-form-ms__mansion .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form-ms__mansion .cmn-square-btn input {
  min-height: 4rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__mansion .cmn-square-btn input {
    min-height: 3rem;
  }
}
.mod-appraisal-form-ms__net-biz {
  margin-top: 1.875rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__net-biz {
    margin-top: 1rem;
  }
}
.mod-appraisal-form-ms__net-biz .cmn-btn-ms {
  width: 22.75rem;
}
.mod-appraisal-form-ms__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-ms__conv {
    margin-top: 1rem;
    gap: 0.75rem;
  }
}
.mod-appraisal-form-ms__conv .err-txt {
  color: #F00000;
  text-align: center;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__conv .err-txt {
    margin-bottom: 1.25rem;
    text-align: left;
  }
}
.mod-appraisal-form-ms__conv .note {
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form-ms__conv .note {
    font-size: 0.625rem;
  }
}
.mod-appraisal-form-ms__conv .cmn-btn-ms:disabled {
  background-color: #808080;
  border-color: transparent;
}
.mod-appraisal-form-ms__address-area.is-hidden {
  display: none !important;
}
.mod-appraisal-form-ms__warning {
  font-size: 0.875rem;
  padding: 1rem;
  background-color: #F4E2E2;
  border: 1px solid #D98F8F;
  border-radius: 0.5rem;
}

/* =========================================================== */
/* セールスポイント
   マンションセレクションでできること
   三菱地所の住まいリレーの確かな実績 */
/* =========================================================== */
.mod-selling-points {
  color: #10123B;
}
.mod-selling-points:has(.mod-selling-points__head) {
  border: #D5C4A2 0.0625rem solid;
}
.mod-selling-points__head {
  background-color: #D5C4A2;
  padding: 2rem;
}
@media (max-width: 48rem) {
  .mod-selling-points__head {
    padding: 1.5rem 1rem;
  }
}
.mod-selling-points__head-ttl {
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  display: flex;
  gap: 0.5rem 2rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-selling-points__head-ttl {
    font-size: 1.125rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.mod-selling-points__head-ttl .sub {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Marcellus", serif;
}
@media (max-width: 48rem) {
  .mod-selling-points__head-ttl .sub {
    font-size: 0.8125rem;
  }
}
.mod-selling-points__body {
  background-color: #FFFFFF;
  padding: 0 4rem 4rem;
}
@media (max-width: 48rem) {
  .mod-selling-points__body {
    padding: 0 1rem 1.5rem;
  }
}
.mod-selling-points__msg {
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  text-align: center;
  font-size: 1.375rem;
  font-weight: 500;
  padding-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-selling-points__msg {
    font-size: 1rem;
    padding-top: 1.5rem;
  }
}
.mod-selling-points__msg + .mod-selling-points__list {
  padding-top: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-selling-points__msg + .mod-selling-points__list {
    padding-top: 1rem;
  }
}
.mod-selling-points__list {
  padding-top: 4rem;
  display: flex;
  gap: 3rem;
}
@media (max-width: 48rem) {
  .mod-selling-points__list {
    padding-top: 1.5rem;
    gap: 2.5rem;
    flex-direction: column;
  }
}
.mod-selling-points__item {
  flex: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-selling-points__item {
    gap: 1rem;
  }
}
.mod-selling-points__img {
  width: 100%;
  aspect-ratio: 278/160;
}
@media (max-width: 48rem) {
  .mod-selling-points__img {
    max-width: 13rem;
  }
}
@media (max-width: 48rem) {
  .mod-selling-points__img.--l {
    max-width: 19rem;
  }
}
.mod-selling-points__item-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  text-align: center;
  font-weight: 600;
  line-height: 1.5;
  color: #020055;
}
@media (max-width: 48rem) {
  .mod-selling-points__item-ttl {
    font-size: 1rem;
  }
}
.mod-selling-points__item-desc {
  font-size: 0.875rem;
  width: 100%;
}
.mod-selling-points__item-note {
  font-size: 0.75rem;
  line-height: 1.5;
  width: 100%;
}
/* =========================================================== */
/* マンション専用ページを探す */
/* =========================================================== */
.mod-search-links-ms {
  background-color: #10123B;
  padding: 3.5rem 4rem;
}
@media (max-width: 48rem) {
  .mod-search-links-ms {
    padding: 2.5rem 1rem 1.5rem;
  }
}
.mod-search-links-ms .cmn-section-ttl-ms {
  align-items: center;
  gap: 0.5rem;
  color: #FFFFFF;
}
.mod-search-links-ms .cmn-section-ttl-ms .en {
  margin-bottom: 0.5rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-search-links-ms .cmn-section-ttl-ms .en {
    margin-bottom: 0.25rem;
  }
}
.mod-search-links-ms .cmn-section-ttl-ms .ja-sub {
  font-size: 1.125rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .mod-search-links-ms .cmn-section-ttl-ms .ja-sub {
    font-size: 0.6875rem;
  }
}
.mod-search-links-ms__form-wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__form-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}
.mod-search-links-ms__search-by-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__search-by-name {
    max-width: 100%;
    gap: 0.5rem;
    flex-direction: column;
  }
}
.mod-search-links-ms__label-wrap {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__label-wrap {
    align-items: center;
  }
}
.mod-search-links-ms__label {
  font-weight: 700;
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__label {
    font-size: 0.75rem;
  }
}
.mod-search-links-ms__help {
  font-size: 0.875rem;
  letter-spacing: 0.03em;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__help {
    font-size: 0.625rem;
  }
}
.mod-search-links-ms__form {
  position: relative;
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__form {
    width: 100%;
  }
}
.mod-search-links-ms__input {
  width: 100%;
  height: 4rem;
  padding: 1.25rem;
  border: 2px solid #CCCCCC;
  background-color: #FFFFFF;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__input {
    min-width: 100%;
  }
}
@media (any-hover: hover) {
  .mod-search-links-ms__input:hover {
    background-color: #F2F2F2;
  }
}
.mod-search-links-ms__input:-moz-placeholder {
  color: #808080;
}
.mod-search-links-ms__input:placeholder-shown {
  color: #808080;
}
.mod-search-links-ms__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-links-ms__btn:hover {
    background-color: #AF0808;
  }
}
.mod-search-links-ms__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-search-links-ms__grid {
  display: grid;
  grid-template-columns: 45.0643776824% 1fr;
  gap: 1rem 2rem;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__grid {
    gap: 0.5rem;
    grid-template-columns: 1fr;
  }
}
.mod-search-links-ms__grid .cmn-btn-ms {
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__grid .cmn-btn-ms {
    font-size: 0.875rem;
  }
}
.mod-search-links-ms__grid .grid-item01 {
  grid-column: 1/2;
  grid-row: 1/3;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__grid .grid-item01 {
    grid-column: unset;
    grid-row: unset;
    font-size: 0.875rem;
  }
}
.mod-search-links-ms__grid .grid-item02 {
  grid-column: 2/3;
  grid-row: 1/2;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__grid .grid-item02 {
    grid-column: unset;
    grid-row: unset;
  }
}
.mod-search-links-ms__grid .grid-item03 {
  grid-column: 2/3;
  grid-row: 2/3;
  display: flex;
  gap: 1rem;
}
.mod-search-links-ms__grid .grid-item03 > * {
  flex: 1;
}
@media (max-width: 48rem) {
  .mod-search-links-ms__grid .grid-item03 {
    display: contents;
  }
}

/* =========================================================== */
/* スクロールに応じて左右に流れるスライダー */
/* =========================================================== */
.mod-scroll-slider {
  --item-width: calc(480 / 1608 * 100vw);
  --item-gap: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-scroll-slider {
    --item-width: calc(280 / 376 * 100vw);
    --item-gap: 0.25rem;
  }
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes scroll-right {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.mod-scroll-slider__row + .mod-scroll-slider__row {
  margin-top: 0.5rem;
}
@media (max-width: 48rem) {
  .mod-scroll-slider__row + .mod-scroll-slider__row {
    margin-top: 0.5rem;
  }
}
.mod-scroll-slider.--auto .mod-scroll-slider__row.is-rtl .mod-scroll-slider__track {
  animation: scroll-right 90s linear infinite;
}
@media (max-width: 48rem) {
  .mod-scroll-slider.--auto .mod-scroll-slider__row.is-rtl .mod-scroll-slider__track {
    animation: scroll-right 60s linear infinite;
  }
}
.mod-scroll-slider.--auto .mod-scroll-slider__row.is-ltr .mod-scroll-slider__track {
  animation: scroll-left 90s linear infinite;
}
@media (max-width: 48rem) {
  .mod-scroll-slider.--auto .mod-scroll-slider__row.is-ltr .mod-scroll-slider__track {
    animation: scroll-left 60s linear infinite;
  }
}
.mod-scroll-slider__track {
  display: flex;
  gap: 0.5rem;
  will-change: transform;
}
.mod-scroll-slider.--auto .mod-scroll-slider__track {
  width: -moz-max-content;
  width: max-content;
  gap: unset;
}
@media (max-width: 48rem) {
  .mod-scroll-slider__track {
    gap: 0.25rem;
  }
}
.mod-scroll-slider__item {
  flex-shrink: 0;
  width: 29.8507462687vw;
  aspect-ratio: 480/320;
}
@media (max-width: 48rem) {
  .mod-scroll-slider__item {
    width: 74.4680851064vw;
  }
}
.mod-scroll-slider.--auto .mod-scroll-slider__item {
  margin-right: var(--item-gap);
}
.mod-scroll-slider__item img {
  display: block;
  width: 100%;
  aspect-ratio: 480/320;
  -o-object-fit: cover;
     object-fit: cover;
}

/*===========================================================*/
/* footer前リンク */
/*===========================================================*/
.mod-selection-links {
  color: #262740;
  background-color: #F2F2F2;
  padding: 5rem 0;
  color: #808080;
}
@media (max-width: 48rem) {
  .mod-selection-links {
    padding: 2.5rem 0;
  }
}
.mod-selection-links__ttl {
  line-height: 1.5;
  margin-bottom: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-selection-links__ttl {
    font-size: 1rem;
    margin-bottom: 0.25rem;
  }
}
.mod-selection-links__ttl:not(:first-child) {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-selection-links__ttl:not(:first-child) {
    margin-top: 1.5rem;
  }
}
.mod-selection-links__ttl .cmn-txt-link-ms__icon {
  background-color: rgba(128, 128, 128, 0.2);
}
.mod-selection-links__ttl .cmn-txt-link-ms__icon::before {
  background-color: #808080;
}
.mod-selection-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.5rem;
}
@media (max-width: 48rem) {
  .mod-selection-links__list {
    gap: 0.25rem 0.5rem;
  }
}
.mod-selection-links__item {
  font-size: 1rem;
}
.mod-selection-links__item:not(:last-child)::after {
  content: "|";
  padding-left: 0.25rem;
}
@media (max-width: 48rem) {
  .mod-selection-links__item {
    font-size: 0.875rem;
  }
}
.mod-selection-links__link {
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-selection-links__link {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .mod-selection-links__link:hover {
    color: #020055;
    text-decoration: underline;
  }
}

.mod-read-more-ms {
  position: relative;
}
@media (max-width: 48rem) {
  .mod-read-more-ms.is-active .mod-read-more-ms__content::after {
    opacity: 0;
  }
  .mod-read-more-ms.is-active .mod-read-more-ms__btn span::after {
    transform: translateY(-50%) rotate(-90deg);
  }
}
.mod-read-more-ms__content {
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  position: relative;
}
@media (max-width: 48rem) {
  .is-limit .mod-read-more-ms__content {
    max-height: 13.75rem;
  }
  .is-limit .mod-read-more-ms__content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgb(255, 255, 255));
    pointer-events: none;
    transition: opacity 0.3s ease-out;
  }
}
.mod-read-more-ms__btn {
  display: none;
}
@media (max-width: 48rem) {
  .is-limit .mod-read-more-ms__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 1rem;
    color: #262740;
    font-size: 0.875rem;
  }
  .is-limit .mod-read-more-ms__btn span {
    position: relative;
    padding-right: 1.25rem;
  }
  .is-limit .mod-read-more-ms__btn span::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 0.375rem;
    height: 0.6875rem;
    background-color: #937B5B;
    flex-shrink: 0;
    display: block;
    -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;
    transition: transform 0.3s ease-out;
    transform: translateY(-50%) rotate(90deg);
  }
}

/* =========================================================== */
/* Myページ登録モーダル系フォーム */
/* =========================================================== */
.mod-member-form-ms {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms {
    margin-top: 2.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-member-form-ms.--msg {
    margin-bottom: -1.5rem;
  }
}
.mod-member-form-ms__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__head {
    margin-bottom: 1rem;
  }
}
.mod-member-form-ms__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: #020055;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__head .sub {
    font-size: 0.75rem;
    padding: 0.5rem 1rem;
  }
}
.mod-member-form-ms__head .msg {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__head .msg {
    font-size: 1.125rem;
  }
}
.mod-member-form-ms__head .error-msg {
  text-align: center;
  font-size: 1.125rem;
  margin-top: 0.625rem;
  color: #F00000;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__head .error-msg {
    font-size: 0.75rem;
    margin-top: 0.75rem;
  }
}
.mod-member-form-ms__body {
  background-color: #F1F1F1;
  padding: 2.5rem 1rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__body {
    border-radius: unset;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    padding: 1.5rem 1rem;
  }
}
.mod-member-form-ms__inner {
  max-width: 52.5rem;
  margin-inline: auto;
}
.mod-member-form-ms__ttl-wrap {
  margin-bottom: 1.5rem;
}
.mod-member-form-ms__ttl {
  font-size: 1.375rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__ttl {
    font-size: 1.125rem;
  }
}
.mod-member-form-ms__arrow-wrap {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__arrow-wrap {
    justify-content: flex-start;
  }
}
.mod-member-form-ms__arrow-wrap.--sp-left {
  justify-content: flex-start;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__arrow-wrap.--sp-left {
    justify-content: flex-start;
  }
}
.mod-member-form-ms__error-msg {
  margin-bottom: 1.5rem;
  margin-left: 10rem;
  font-size: 0.875rem;
  color: #F00000;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__error-msg {
    margin-left: unset;
  }
}
.mod-member-form-ms__block {
  display: grid;
  grid-template-columns: 10rem 1fr;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__block {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
.mod-member-form-ms__block + .mod-member-form-ms__block {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__block + .mod-member-form-ms__block {
    margin-top: 1rem;
  }
}
.mod-member-form-ms__block-ttl {
  font-size: 1rem;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__block-ttl {
    font-size: 0.875rem;
    margin-top: unset;
  }
}
.mod-member-form-ms__input-box {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
}
.mod-member-form-ms__input-box input {
  display: block;
  width: 100%;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 624.9375rem;
  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-member-form-ms__input-box input:not(:disabled):hover {
    border-color: #CCCCCC;
    background-color: #F2F2F2;
  }
}
.mod-member-form-ms__input-box.--password input {
  padding-right: 3.625rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__input-box.--password input {
    padding-right: 2.875rem;
  }
}
.mod-member-form-ms__input-box.--password .icon {
  position: absolute;
  width: 1.375rem;
  height: auto;
  right: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__input-box.--password .icon {
    right: 1rem;
  }
}
.mod-member-form-ms__input-note {
  font-size: 0.875rem;
  line-height: 1.5;
  margin-top: 1rem;
}
.mod-member-form-ms__input-note a {
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-member-form-ms__input-note a:hover {
    opacity: 0.6;
    text-decoration: none;
  }
}
.mod-member-form-ms__confirmation {
  border: 0.0625rem solid #F1F1F1;
  padding: 1rem;
}
.mod-member-form-ms__confirmation-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__confirmation-txt {
    font-size: 0.875rem;
  }
}
.mod-member-form-ms__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-ms__confirmation-link {
    font-size: 0.875rem;
  }
}
.mod-member-form-ms__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-ms__utility {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.75rem 1rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__utility {
    gap: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .mod-member-form-ms__utility .cmn-txt-link02 {
    margin-left: auto;
  }
}
.mod-member-form-ms__conv {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__conv {
    margin-top: 1rem;
  }
}
@media (max-width: 48rem) {
  .mod-modal .mod-member-form-ms__conv {
    padding-bottom: 1.5rem;
  }
}
.mod-member-form-ms__btn {
  line-height: 1.5;
  padding: 0.625rem 2.8125rem;
  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;
  position: relative;
  width: 100%;
  max-width: 25rem;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__btn {
    padding: 0.625rem 2.5rem;
  }
}
.mod-member-form-ms__btn .txt {
  font-size: 1.25rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__btn .txt {
    font-size: 1.125rem;
  }
}
.mod-member-form-ms__btn .sub-txt {
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mod-member-form-ms__btn .sub-txt {
    font-size: 0.875rem;
  }
}
.mod-member-form-ms__btn .cmn-btn-ms__icon {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

/* =========================================================== */
/* デザイン主導 詳細モーダル */
/* =========================================================== */
/* モーダル
-------------------------------------------------------------------- */
.mod-detail-modal-ms__ttl {
  max-width: 41.25rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-detail-modal-ms__ttl {
    max-width: 100%;
  }
}
.mod-detail-modal-ms__dl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.mod-detail-modal-ms__dl dt {
  flex-shrink: 0;
  font-weight: bold;
  padding: 0.25rem 0.5rem;
  background-color: #F6F1EE;
}
.mod-detail-modal-ms__circle-list-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-detail-modal-ms__circle-list-wrap .cmn-list-circle02 {
    gap: 0.5rem;
  }
}
.mod-detail-modal-ms__list {
  display: grid;
  gap: 1rem;
}
.mod-detail-modal-ms__list.--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.mod-detail-modal-ms__list.--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.mod-detail-modal-ms__list.--col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 48rem) {
  .mod-detail-modal-ms__list.--col2, .mod-detail-modal-ms__list.--col3, .mod-detail-modal-ms__list.--col4 {
    grid-template-columns: 1fr;
  }
}
.mod-detail-modal-ms__list li {
  text-align: center;
  background-color: #F2F2F2;
  padding: 0.5rem 0.75rem;
}
.mod-detail-modal-ms__card-list {
  display: grid;
  gap: 1rem;
}
.mod-detail-modal-ms__card-list.--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.mod-detail-modal-ms__card-list.--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.mod-detail-modal-ms__card-list.--col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 48rem) {
  .mod-detail-modal-ms__card-list.--col2, .mod-detail-modal-ms__card-list.--col3, .mod-detail-modal-ms__card-list.--col4 {
    grid-template-columns: 1fr;
  }
}
.mod-detail-modal-ms__card-list li {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 0.0625rem solid #CAAB97;
}
.mod-detail-modal-ms__card-list li .card-list-head {
  text-align: center;
  font-weight: 700;
  background-color: #EEE6E0;
  width: 100%;
  padding: 0.5rem 1rem;
}
.mod-detail-modal-ms__card-list li .card-list-body {
  flex-grow: 1;
  padding: 1rem;
  background-color: #FFFFFF;
}
.mod-detail-modal-ms__badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0.125rem;
  font-size: 0.875rem;
  display: inline-block;
}
@media (max-width: 48rem) {
  .mod-detail-modal-ms__badge {
    font-size: 0.75rem;
  }
}
.mod-detail-modal-ms__badge.--residencecare {
  background-color: #006E38;
  color: #FFFFFF;
}
.mod-detail-modal-ms__badge.--residenceclub {
  background-color: #000000;
  color: #FFFFFF;
}

/* =========================================================== */
/* お気に入りポップアップ */
/* =========================================================== */
@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-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-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-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-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%;
}
/* =========================================================== */
/* 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;
}
/* =========================================================== */
/* サジェスト */
/* =========================================================== */
.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;
}

.selection-index main {
  padding-top: unset;
}

/* =========================================================== */
/* メインビジュアル　スライダー */
/* =========================================================== */
/* レイアウト
-------------------------------------------------------------------- */
.selection-index-mv {
  background-color: #10123B;
  width: 100dvw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
.selection-index-mv__inner {
  display: flex;
  justify-content: center;
  height: 100%;
}

/* スライダー
-------------------------------------------------------------------- */
@keyframes scroll-up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  } /* 半分まで行ったら最初に戻る */
}
.selection-index-slider-container {
  position: absolute;
  display: flex;
  gap: 3.75rem;
  height: 100vh;
  overflow: hidden;
}
.selection-index-slider-container.--left {
  right: calc(50% + 15.625rem);
}
@media (max-width: 66.25rem) {
  .selection-index-slider-container.--left {
    right: calc(50% + 12.5rem);
  }
}
@media (max-width: 48rem) {
  .selection-index-slider-container.--left {
    display: none;
  }
}
.selection-index-slider-container.--left .selection-index-slider:first-child {
  margin-top: calc((100vh - (111.6666666667vh + 7.5rem)) / 2 + 9rem);
}
.selection-index-slider-container.--left .selection-index-slider:last-child {
  margin-top: calc((100vh - (111.6666666667vh + 7.5rem)) / 2);
}
.selection-index-slider-container.--right {
  left: calc(50% + 15.625rem);
}
@media (max-width: 66.25rem) {
  .selection-index-slider-container.--right {
    left: calc(50% + 12.5rem);
  }
}
@media (max-width: 48rem) {
  .selection-index-slider-container.--right {
    display: none;
  }
}
.selection-index-slider-container.--right .selection-index-slider:first-child {
  margin-top: calc((100vh - (111.6666666667vh + 7.5rem)) / 2);
}
.selection-index-slider-container.--right .selection-index-slider:last-child {
  margin-top: calc((100vh - (111.6666666667vh + 7.5rem)) / 2 + 9rem);
}
.selection-index-slider-container.--sp {
  display: none;
}
@media (max-width: 48rem) {
  .selection-index-slider-container.--sp {
    display: block;
    z-index: 1;
  }
}
@media (max-width: 48rem) {
  .selection-index-slider-container.--sp .selection-index-slider {
    margin-top: calc((100vh - (109.2953523238vh + 2.5rem)) / 2);
  }
}

.selection-index-slider__track {
  display: flex;
  flex-direction: column;
  will-change: transform;
  animation: scroll-up 50s linear infinite;
  animation-delay: 7.5s;
}
@media (max-width: 48rem) {
  .selection-index-slider__track {
    animation: scroll-up 50s linear infinite;
    animation-delay: 8s;
  }
}
.selection-index-slider__slide {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  margin-bottom: 3.75rem;
  width: auto;
  aspect-ratio: 300/335;
  height: 37.2222222222vh;
}
@media (max-width: 48rem) {
  .selection-index-slider__slide {
    aspect-ratio: 274/243;
    height: 36.4317841079vh;
    margin-bottom: 1.25rem;
  }
}
.selection-index-slider__img {
  display: block;
  width: auto;
  height: 100%;
  aspect-ratio: 300/335;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .selection-index-slider__img {
    aspect-ratio: 274/243;
  }
}

/* 中央メッセージエリア
-------------------------------------------------------------------- */
.selection-index__center-area {
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.selection-index__center-inner {
  background-color: rgba(16, 18, 59, 0.8);
  width: 31.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 66.25rem) {
  .selection-index__center-inner {
    width: 25rem;
  }
}
@media (max-width: 48rem) {
  .selection-index__center-inner {
    width: auto;
    justify-content: center;
  }
}
.selection-index-mv .selection-index__center-inner {
  background-color: rgb(16, 18, 59);
}
.selection-index__center-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 5rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .selection-index__center-logo {
    padding: 1.875rem;
    gap: 0.625rem;
    aspect-ratio: 274/243;
    height: calc(36.4317841079vh + 0.0625rem);
  }
}
.selection-index-mv .selection-index__center-logo {
  transition: opacity 1.2s ease;
}
.selection-index-mv.is-visible .selection-index__center-logo {
  opacity: 0;
  visibility: hidden;
  height: 0;
  padding: 0;
}

.selection-index__center-logo-txt {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}
.selection-index-loading .selection-index__center-logo-txt::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #10123B;
  transition: width 1.2s ease;
  width: 100%;
  height: 100%;
}
.selection-index-loading.is-active .selection-index__center-logo-txt::before {
  width: 0%;
}
.selection-index-loading .selection-index__center-logo-txt:nth-child(2)::before {
  transition-delay: 0.75s;
}
.selection-index__center-logo-txt .img-en {
  width: 100%;
  aspect-ratio: 340/105.87;
}
.selection-index-loading .selection-index__center-logo-txt .img-en {
  opacity: 0;
}
.selection-index-loading.is-active .selection-index__center-logo-txt .img-en {
  opacity: 1;
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0s;
}
.selection-index__center-logo-txt .img-ja {
  width: 100%;
  aspect-ratio: 340/84;
}
@media (max-width: 48rem) {
  .selection-index__center-logo-txt .img-ja {
    margin-top: 0.625rem;
  }
}
.selection-index-loading .selection-index__center-logo-txt .img-ja {
  opacity: 0;
}
.selection-index-loading.is-active .selection-index__center-logo-txt .img-ja {
  opacity: 1;
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0.5s;
}
.selection-index__center-logo-mech {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem;
  width: 100%;
  height: 3.0625rem;
  position: relative;
  background-color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 48rem) {
  .selection-index__center-logo-mech {
    height: 1.9375rem;
  }
}
.selection-index-loading .selection-index__center-logo-mech {
  background-color: unset;
  opacity: 0;
  transition: opacity 0.8s 1.5s, background-color 0.8s 3.5s;
}
.selection-index-loading.is-active .selection-index__center-logo-mech {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.9);
}
.selection-index__center-logo-mech::before, .selection-index__center-logo-mech::after {
  content: "";
  display: block;
  width: auto;
  height: 1.81125rem;
  aspect-ratio: 200/28.98;
  transition: opacity 0s 3.5s;
  position: absolute;
}
@media (max-width: 48rem) {
  .selection-index__center-logo-mech::before, .selection-index__center-logo-mech::after {
    height: 1.14rem;
  }
}
.selection-index__center-logo-mech::before {
  background-image: url(../../../img/common/logo-housenet.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.selection-index-loading .selection-index__center-logo-mech::before {
  opacity: 0;
}
.selection-index-loading.is-active .selection-index__center-logo-mech::before {
  opacity: 1;
}
.selection-index__center-logo-mech::after {
  background-color: #fff;
  -webkit-mask-image: url(../../../img/common/logo-housenet.svg);
          mask-image: url(../../../img/common/logo-housenet.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  display: none;
}
.selection-index-loading .selection-index__center-logo-mech::after {
  display: block;
}
.selection-index-loading.is-active .selection-index__center-logo-mech::after {
  opacity: 0;
}

.selection-index__center-msg {
  font-family: "Noto Serif JP", serif;
  padding: 0 2.5rem;
  text-align: center;
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 3.75rem;
  opacity: 0;
  transform: translateY(2em);
  transition: opacity 1.6s ease, transform 1.6s ease;
  visibility: hidden;
  height: 0;
}
@media (max-width: 66.25rem) {
  .selection-index__center-msg {
    font-size: 1rem;
    line-height: 3rem;
  }
}
@media (max-width: 48rem) {
  .selection-index__center-msg {
    padding: 0;
    font-size: 0.875rem;
    line-height: 2;
  }
}
.selection-index-mv.is-visible .selection-index__center-msg {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  height: auto;
}
@media (max-width: 48rem) {
  .selection-index-mv.is-visible .selection-index__center-msg {
    padding: 2.8360413589vh 0;
    width: 100dvw;
  }
}

/* scroll
-------------------------------------------------------------------- */
@keyframes scroll-down {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.selection-index__scroll-down {
  color: #FFFFFF;
  position: absolute;
  bottom: calc(18.8888888889vh - 3.5rem);
  font-size: 0.875rem;
  font-family: "Marcellus", serif;
}
@media (max-width: 48rem) {
  .selection-index__scroll-down {
    bottom: 15.2923538231vh;
  }
}
.selection-index__scroll-down::before {
  content: "";
  animation: scroll-down 1.5s infinite ease;
  background-color: #FFFFFF;
  position: absolute;
  top: 2rem;
  height: 15.5555555556vh;
  left: 0;
  right: 0;
  margin: auto;
  width: 0.0625rem;
}
@media (max-width: 48rem) {
  .selection-index__scroll-down::before {
    height: 16.4917541229vh;
  }
}

/* =========================================================== */
/* ローディングエフェクト */
/* =========================================================== */
@keyframes slide-move01 {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes slide-move02 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@keyframes slide-move03 {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes slide-move04 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.selection-index-loading {
  width: 100dvw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  z-index: 999;
  inset: 0;
  background-color: #10123B;
  transition: opacity 0.8s ease 1.1s;
}
.selection-index-loading.is-end {
  background-color: unset;
  opacity: 0;
  pointer-events: none;
}
.selection-index-loading__inner {
  width: 100%;
  height: 100%;
  display: flex;
}
.selection-index-loading__img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 50%;
  opacity: 0;
  position: absolute;
  transition: opacity 0s ease 3.5s, transform 0.8s ease 2s, margin-top 0.8s ease, margin-bottom 0.8s ease, left 0.8s ease, right 0.8s ease, top 0.8s ease, bottom 0.8s ease, width 0.8s ease, height 0.8s ease;
}
.selection-index-loading.is-active .selection-index-loading__img {
  opacity: 1;
}
.selection-index-loading.is-end .selection-index-loading__img {
  width: auto;
  aspect-ratio: 300/335;
  height: 37.2222222222vh;
  margin-top: 31.3888888889vh;
}
@media (max-width: 48rem) {
  .selection-index-loading.is-end .selection-index-loading__img {
    aspect-ratio: 274/243;
  }
}
.selection-index-loading__container {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
}
@media (max-width: 48rem) {
  .selection-index-loading__container {
    display: flex;
    justify-content: center;
  }
}
.selection-index-loading__container::before {
  content: "";
  display: block;
  background-color: #777B96;
  width: 50%;
  height: 100vh;
  will-change: transform;
  position: absolute;
  z-index: 2;
}
@media (max-width: 48rem) {
  .selection-index-loading__container::before {
    width: 100%;
    height: 50vh;
  }
}
.selection-index-loading__container.--left::before {
  left: 0;
  transform: translateY(100%);
}
@media (max-width: 48rem) {
  .selection-index-loading__container.--left::before {
    top: 0;
    transform: translateX(-100%);
  }
}
.selection-index-loading.is-active .selection-index-loading__container.--left::before {
  animation: slide-move01 0.5s linear 3.5s forwards;
}
@media (max-width: 48rem) {
  .selection-index-loading.is-active .selection-index-loading__container.--left::before {
    animation: slide-move03 0.5s linear 3.5s forwards;
  }
}
.selection-index-loading__container.--left .selection-index-loading__img {
  right: 50%;
}
@media (max-width: 48rem) {
  .selection-index-loading__container.--left .selection-index-loading__img {
    right: 0;
    left: 0;
    top: 0;
    width: 100dvw;
    height: 50%;
  }
}
.selection-index-loading.is-end .selection-index-loading__container.--left .selection-index-loading__img {
  right: calc(50% + 15.625rem);
}
@media (max-width: 66.25rem) {
  .selection-index-loading.is-end .selection-index-loading__container.--left .selection-index-loading__img {
    right: calc(50% + 12.5rem);
  }
}
@media (max-width: 48rem) {
  .selection-index-loading.is-end .selection-index-loading__container.--left .selection-index-loading__img {
    width: auto;
    height: 36.4317841079vh;
    right: unset;
    left: unset;
    top: 0;
    margin-top: calc((100vh - (109.2953523238vh + 2.5rem)) / 2);
  }
}
.selection-index-loading__container.--right::before {
  right: 0;
  transform: translateY(-100%);
}
@media (max-width: 48rem) {
  .selection-index-loading__container.--right::before {
    top: 50vh;
    transform: translateX(100%);
  }
}
.selection-index-loading.is-active .selection-index-loading__container.--right::before {
  animation: slide-move02 0.5s linear 3.5s forwards;
}
@media (max-width: 48rem) {
  .selection-index-loading.is-active .selection-index-loading__container.--right::before {
    animation: slide-move04 0.5s linear 3.5s forwards;
  }
}
.selection-index-loading__container.--right .selection-index-loading__img {
  left: 50%;
}
@media (max-width: 48rem) {
  .selection-index-loading__container.--right .selection-index-loading__img {
    right: 0;
    left: 0;
    bottom: 0;
    width: 100dvw;
    height: 50%;
  }
}
.selection-index-loading.is-end .selection-index-loading__container.--right .selection-index-loading__img {
  left: calc(50% + 15.625rem);
}
@media (max-width: 66.25rem) {
  .selection-index-loading.is-end .selection-index-loading__container.--right .selection-index-loading__img {
    left: calc(50% + 12.5rem);
  }
}
@media (max-width: 48rem) {
  .selection-index-loading.is-end .selection-index-loading__container.--right .selection-index-loading__img {
    width: auto;
    height: 36.4317841079vh;
    right: unset;
    left: unset;
    bottom: 0;
    margin-top: unset;
    margin-bottom: calc((100vh - (109.2953523238vh + 2.5rem)) / 2);
  }
}

/* ヘッダー調整
-------------------------------------------------------------------- */
body.selection-index .mod-header-ms {
  opacity: 0;
  transform: translateY(-100%);
}
body.selection-index:has(.selection-index-loading.is-end) .mod-header-ms {
  transition: opacity 0.4s ease, transform 0.8s ease;
  opacity: 1;
  transform: translateY(0%);
}

/* =========================================================== */
/* Support */
/* =========================================================== */
/* 三菱地所グループ分譲マンションの売買・賃貸は
グループ会社ならではの経験と情報を持つ
三菱地所の住まいリレーにお任せください
-------------------------------------------------------------------- */
.selection-index-support {
  color: #FFFFFF;
  display: flex;
  gap: clamp(0px, 6.22vw, 100px);
  position: relative;
  left: -17.125rem;
  width: calc(100% + 17.125rem);
}
@media (max-width: 48rem) {
  .selection-index-support {
    left: unset;
    width: 100%;
    flex-direction: column;
    gap: 2.5rem;
  }
}
.selection-index-support__img {
  flex-shrink: 0;
  width: 35.25rem;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 48rem) {
  .selection-index-support__img {
    width: calc(100% + 1.25rem);
    position: relative;
    left: -1.25rem;
  }
}
.selection-index-support__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media (max-width: 48rem) {
  .selection-index-support__list {
    gap: 2.5rem;
  }
}
.selection-index-support__item {
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .selection-index-support__item {
    gap: 0.75rem;
  }
}
.selection-index-support__num {
  flex-shrink: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-index-support__num {
    font-size: 1.125rem;
  }
}
.selection-index-support__ttl {
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-index-support__ttl {
    font-size: 1.125rem;
  }
}
.selection-index-support__txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .selection-index-support__txt {
    font-size: 0.875rem;
  }
}

/* 売却・賃貸管理をお任せいただいたご所有者様へ
-------------------------------------------------------------------- */
.selection-index-discount {
  color: #262740;
}
.selection-index-discount__head {
  background-color: #907F50;
  padding: 0.75rem;
  color: #FFFFFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.22;
}
@media (max-width: 48rem) {
  .selection-index-discount__head {
    font-size: 1.125rem;
    padding: 0.5rem;
  }
}
.selection-index-discount__body {
  background-color: #FFFFFF;
  padding: 2.5rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__body {
    padding: 1.25rem 1rem;
  }
}
@media (max-width: 48rem) {
  .selection-index-discount__body {
    flex-direction: column;
  }
}
.selection-index-discount__item {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-right: 1rem;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__item {
    margin-right: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .selection-index-discount__item {
    margin-right: unset;
    gap: 0.25rem;
  }
}
.selection-index-discount__item-txt {
  font-weight: 500;
  font-size: 0.875rem;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__item-txt {
    font-size: 0.8125rem;
  }
}
.selection-index-discount__item-txt .txt-red {
  color: #BD4242;
  font-weight: bold;
  font-size: 1.375rem;
  margin-right: 0.5rem;
  position: relative;
  padding-bottom: 0.25rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__item-txt .txt-red {
    font-size: 1.3125rem;
  }
}
.selection-index-discount__item-txt .txt-red::after {
  content: "";
  height: 0.0625rem;
  width: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #BD4242;
}
.selection-index-discount__main {
  flex-shrink: 0;
  line-height: 1;
  font-size: 3.75rem;
  font-weight: 600;
  margin-right: 3rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__main {
    font-size: 3.6875rem;
    margin-right: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .selection-index-discount__main {
    margin-right: unset;
  }
}
.selection-index-discount__main .txt-red {
  color: #BD4242;
}
.selection-index-discount__main .txt-gold {
  margin-left: 0.75rem;
  color: #997821;
}
@media (max-width: 48rem) {
  .selection-index-discount__main .txt-gold {
    margin-left: unset;
  }
}
.selection-index-discount__main .txt-l {
  font-size: 5.6875rem;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__main .txt-l {
    font-size: 5.625rem;
  }
}
.selection-index-discount__desc {
  font-size: 1.0625rem;
  line-height: 1.6;
}
@media (max-width: 66.25rem) {
  .selection-index-discount__desc {
    font-size: 0.8125rem;
  }
}
@media (max-width: 48rem) {
  .selection-index-discount__desc {
    margin-top: 0.75rem;
  }
}

/* =========================================================== */
/* 棟詳細 メインビジュアル */
/* =========================================================== */
.selection-detail-msg {
  color: #FFFFFF;
  margin-bottom: 1.5rem;
  font-weight: 500;
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .selection-detail-msg {
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
  }
}

.selection-detail-txt {
  color: #FFFFFF;
  margin-bottom: 1.5rem;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .selection-detail-txt {
    font-size: 0.875rem;
  }
}

/* 見出しエリア
-------------------------------------------------------------------- */
/* メインビジュアル
-------------------------------------------------------------------- */
.selection-detail-mv {
  display: flex;
}
@media (max-width: 66.25rem) {
  .selection-detail-mv {
    flex-direction: column;
  }
}

/* スライダーエリア
-------------------------------------------------------------------- */
.selection-detail-slider {
  flex: 1;
  margin-bottom: 2rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-slider {
    width: 100%;
    margin-bottom: 1.25rem;
  }
}
.selection-detail-slider__thumb {
  aspect-ratio: 1154/763.93;
  height: 29.65625rem;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: #262740;
}
@media (max-width: 66.25rem) {
  .selection-detail-slider__thumb {
    height: auto;
  }
}
.selection-detail-slider__cap {
  margin-top: 1rem;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.5;
  font-size: 0.75rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-slider__cap {
    width: calc(100% - 2.5rem);
    max-width: 66.25rem;
    margin-inline: auto;
  }
}
@media (max-width: 48rem) {
  .selection-detail-slider__cap {
    text-align: left;
    margin-top: 0.5rem;
    font-size: 0.625rem;
  }
}
.selection-detail-slider__counter {
  width: 100%;
  position: absolute;
  z-index: 1;
  display: flex;
  justify-content: center;
  top: 27.03125rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-slider__counter {
    top: calc(66.198440208vw - 1.625rem - 1rem);
  }
}
@media (max-width: 48rem) {
  .selection-detail-slider__counter {
    top: calc(66.198440208vw - 1.625rem - 0.4375rem);
  }
}
.selection-detail-slider__counter .counter {
  background-color: rgba(16, 18, 59, 0.5);
  padding: 0 0.5rem;
  line-height: 1.625rem;
  color: #FFFFFF;
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
}
.selection-detail-slider .splide__track {
  overflow: hidden;
}
.selection-detail-slider.splide.is-initialized:not(.is-active) .splide__list {
  display: flex;
  flex-wrap: wrap;
}
.selection-detail-slider .splide__arrows.splide__arrows--ltr {
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  position: absolute;
  bottom: unset;
  right: 1.25rem;
  top: 24.40625rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-slider .splide__arrows.splide__arrows--ltr {
    top: calc(66.198440208vw - 4.25rem - 1rem);
  }
}
.selection-detail-slider .splide__arrow {
  border-radius: unset;
  left: unset;
  right: unset;
  top: unset;
  transform: unset;
  opacity: 1;
  position: relative;
  background-color: rgba(16, 18, 59, 0.5);
  width: 4.25rem;
  height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
}
.selection-detail-slider .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;
}
.selection-detail-slider .splide__arrow:disabled {
  opacity: 1;
  pointer-events: none;
}
.selection-detail-slider .splide__arrow--prev {
  transform: scaleX(-1);
}
.selection-detail-slider:not(.is-initialized) {
  visibility: visible;
}
.selection-detail-slider:not(.is-initialized) .splide__arrows {
  display: none;
}
.selection-detail-slider:not(.is-initialized) .splide__slide {
  width: 100%;
}

/* アサイドエリア
-------------------------------------------------------------------- */
.selection-detail-aside {
  width: min(454px, 28.2338308458vw);
  flex-shrink: 0;
  padding: 2rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-aside {
    padding: unset;
    width: calc(100% - 2.5rem);
    max-width: 66.25rem;
    margin: 0 auto;
  }
}
.selection-detail-aside__link {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .selection-detail-aside__link {
    gap: 0.5rem;
  }
}
.selection-detail-aside .cmn-page-link-ms {
  width: 100%;
  border-radius: 0.25rem;
  line-height: 1.5;
}
.selection-detail-aside__data {
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-detail-aside__data {
    margin-top: 1.5rem;
  }
}
.selection-detail-aside__data-row {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .selection-detail-aside__data-row {
    gap: 0.25rem;
  }
}
.selection-detail-aside__data-row + .selection-detail-aside__data-row {
  margin-top: 0.5rem;
}
.selection-detail-aside__data-icon {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  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;
}
.selection-detail-aside__data-icon.--access {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.selection-detail-aside__data-icon.--train {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.selection-detail-aside__data-icon.--info {
  -webkit-mask-image: url(../../../img/common/icon-info.svg);
          mask-image: url(../../../img/common/icon-info.svg);
  height: 1rem;
}
.selection-detail-aside__data-desc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
}
@media (max-width: 48rem) {
  .selection-detail-aside__data-desc {
    gap: 0.25rem 0.5rem;
  }
}
.selection-detail-aside__data-txt {
  font-size: 0.875rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .selection-detail-aside__data-txt {
    font-size: 0.875rem;
  }
}
.selection-detail-aside .selection-detail-aside__popularity {
  border: 0.0625rem solid #D5C4A2;
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-detail-aside .selection-detail-aside__popularity {
    margin-top: 1rem;
  }
}
.selection-detail-aside__popularity-head {
  background-color: #D5C4A2;
  padding: 0.5rem 1.875rem;
  color: #262740;
  font-weight: 500;
  font-size: 1rem;
}
.selection-detail-aside__popularity-body {
  background-color: #FFFFFF;
  padding: 0.5rem 1.25rem;
}
.selection-detail-aside__popularity-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.selection-detail-aside__popularity-row + .selection-detail-aside__popularity-row {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 0.0625rem solid #E4E5E9;
}
.selection-detail-aside__popularity-icon {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #D5C4A2;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.selection-detail-aside__popularity-icon.--favorite {
  -webkit-mask-image: url(../../../img/common/icon-favorite.svg);
          mask-image: url(../../../img/common/icon-favorite.svg);
}
.selection-detail-aside__popularity-icon.--mail {
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
}
.selection-detail-aside__popularity-desc {
  font-size: 0.875rem;
}
.selection-detail-aside__popularity-desc .num {
  font-size: 1.25rem;
  font-family: "Lato", sans-serif;
  color: #CC0000;
}
.selection-detail-aside .cmn-btn-ms {
  width: 100%;
  margin-top: 1.25rem;
  padding: 0.5rem 0.75rem 0.5rem 1rem;
  display: flex;
  gap: 0.375rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-aside .cmn-btn-ms {
    margin-top: 2rem;
    min-height: 4.125rem;
    position: relative;
    padding: 0 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .selection-detail-aside .cmn-btn-ms::before {
    content: "";
    display: block;
    margin: 0.125rem;
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 0.0625rem solid #D5C4A2;
  }
}
@media (any-hover: hover) and (max-width: 66.25rem) {
  .selection-detail-aside .cmn-btn-ms:not(:disabled):hover {
    background-color: #CA0000;
  }
  .selection-detail-aside .cmn-btn-ms:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .selection-detail-aside .cmn-btn-ms:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #FFFFFF;
  }
}
.selection-detail-aside .cmn-btn-ms .center-txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  font-size: 1rem;
}
@media (max-width: 66.25rem) {
  .selection-detail-aside .cmn-btn-ms .center-txt {
    font-weight: bold;
    font-size: 0.8125rem;
    position: relative;
    z-index: 2;
  }
}
.selection-detail-aside .cmn-btn-ms .sub-txt {
  font-size: 0.875rem;
  font-weight: bold;
}
@media (max-width: 66.25rem) {
  .selection-detail-aside .cmn-btn-ms .sub-txt {
    line-height: 1.16666;
    text-align: center;
    font-size: 0.6875rem;
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
    padding: 0.25rem 0;
  }
  .selection-detail-aside .cmn-btn-ms .sub-txt::before, .selection-detail-aside .cmn-btn-ms .sub-txt::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.41);
    height: 0.0625rem;
  }
  .selection-detail-aside .cmn-btn-ms .sub-txt::before {
    top: 0;
  }
  .selection-detail-aside .cmn-btn-ms .sub-txt::after {
    bottom: 0;
  }
}
@media (max-width: 66.25rem) {
  .selection-detail-aside .cmn-btn-ms .cmn-btn-ms__icon {
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0.625rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.2);
  }
  .selection-detail-aside .cmn-btn-ms .cmn-btn-ms__icon::before {
    content: "";
    display: block;
    background-color: #FFFFFF;
    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;
  }
}

.selection-detail-gallery-note {
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .selection-detail-gallery-note {
    margin-top: 0.75rem;
  }
}
.selection-detail-gallery-note .cmn-txt-link-ms {
  font-size: 0.875rem;
  color: #777B96;
  display: inline;
}
@media (max-width: 48rem) {
  .selection-detail-gallery-note .cmn-txt-link-ms {
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .selection-detail-gallery-note .cmn-txt-link-ms:hover .cmn-txt-link-ms__txt {
    color: #777B96;
    text-decoration: underline;
  }
}
.selection-detail-gallery-note .cmn-txt-link-ms .cmn-txt-link-ms__icon {
  top: 0.125rem;
  position: relative;
}
.selection-detail-gallery-note .cmn-txt-link-ms .cmn-txt-link-ms__icon::before {
  background-color: #777B96;
}

/* =========================================================== */
/* 地図・周辺情報 */
/* =========================================================== */
/* 地図
-------------------------------------------------------------------- */
.selection-detail-map {
  aspect-ratio: 1060/451;
}
.selection-detail-map iframe {
  width: 100%;
  height: 100%;
}
.selection-detail-map__cap {
  font-size: 0.875rem;
  color: #FFFFFF;
  margin-top: 1.25rem;
}
.selection-detail-map__btn-wrap {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .selection-detail-map__btn-wrap {
    margin-top: 1.25rem;
  }
}
.selection-detail-map {
  /* 周辺情報
  -------------------------------------------------------------------- */
}
.selection-detail-map__info {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  margin-top: 4rem;
}
@media (max-width: 48rem) {
  .selection-detail-map__info {
    margin-top: 2rem;
    gap: 1.25rem;
  }
}
.selection-detail-map__info-item {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .selection-detail-map__info-item {
    width: 100%;
  }
}
.selection-detail-map__info-ttl {
  text-align: center;
  background-color: #F2F2F2;
  border-radius: 0.1875rem;
  font-size: 0.875rem;
  font-weight: bold;
  color: #4D4D4D;
  width: 100%;
  padding: 0.25rem;
}
@media (max-width: 48rem) {
  .selection-detail-map__info-ttl {
    min-width: 9rem;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 0.75rem;
  }
}
.selection-detail-map__info-desc {
  margin-top: 0.75rem;
  color: #FFFFFF;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .selection-detail-map__info-desc {
    margin-top: 0.5rem;
    font-size: 0.75rem;
  }
}

/* =========================================================== */
/* 物件情報 */
/* =========================================================== */
/* 特長
-------------------------------------------------------------------- */
.selection-detail-features {
  color: #FFFFFF;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .selection-detail-features {
    gap: 1rem 0.75rem;
  }
}
.selection-detail-features__item {
  width: calc((100% - 16rem) / 9);
}
@media (max-width: 48rem) {
  .selection-detail-features__item {
    width: calc((100% - 2.25rem) / 4);
  }
}
.selection-detail-features__item img {
  aspect-ratio: 1/1;
}
.selection-detail-features__txt {
  display: block;
  line-height: 1.5;
  margin-top: 0.375rem;
  font-size: 0.875rem;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media (max-width: 48rem) {
  .selection-detail-features__txt {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.25;
  }
}

/* =========================================================== */
/* 検索ページスタイル */
/* =========================================================== */
/* =========================================================== */
/* マンションブランドで探す */
/* =========================================================== */
.cmn-page-head-ms.brand-sub {
  min-height: 33.3125rem;
  padding: 6rem 1.25rem 5rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.brand-sub {
    min-height: 28.5rem;
    padding: 2.5rem 1.25rem;
  }
}

.selection-brand-page-head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.selection-brand-page-head__logo {
  aspect-ratio: 337/16;
  width: 21.0625rem;
}
.selection-brand-page-head__ttl {
  font-family: "Noto Serif JP", serif;
  color: #262740;
  font-weight: 600;
  font-size: 2.5rem;
  line-height: 1.875rem;
  margin-top: 1.5rem;
  text-align: center;
}
@media (max-width: 48rem) {
  .selection-brand-page-head__ttl {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}

.selection-brand__ttl-wrap {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .selection-brand__ttl-wrap {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .selection-brand__ttl-wrap .cmn-txt-link {
    margin-left: auto;
  }
}
.selection-brand__ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 3.5rem;
}
@media (max-width: 48rem) {
  .selection-brand__ttl {
    font-size: 1.375rem;
    line-height: 1.875rem;
  }
}

.selection-brand__link {
  align-items: baseline;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .selection-brand__link span {
    font-size: 1rem;
  }
}
.selection-brand__link .u-mask-arrow {
  flex-shrink: 0;
  width: 0.3125rem;
  height: 0.625rem;
  background-color: #CA0000;
}
.selection-brand__link-wrap {
  display: flex;
  flex-direction: column;
  padding-left: 0.5rem;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-brand__link-wrap {
    gap: 1rem;
  }
}

.selection-brand-list__ttl {
  font-size: 1.125rem;
  color: #262740;
  font-weight: 700;
  padding-bottom: 1rem;
  position: relative;
}
@media (max-width: 48rem) {
  .selection-brand-list__ttl {
    padding-bottom: 0.5rem;
  }
}
.cmn-container-ms.--navy .selection-brand-list__ttl {
  color: #FFFFFF;
}
.selection-brand-list__ttl::before, .selection-brand-list__ttl::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.selection-brand-list__ttl::before {
  width: 100%;
  background-color: #CCCCCC;
}
.selection-brand-list__ttl::after {
  width: 2.5rem;
  background-color: #020055;
}
.cmn-container-ms.--navy .selection-brand-list__ttl::after {
  background-color: #D5C4A2;
}

.selection-brand-list__ttl-wrap {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .selection-brand-list__ttl-wrap {
    margin-bottom: 1.5rem;
  }
}

.selection-brand-bottom {
  background-color: #10123B;
}
.selection-brand-bottom__inner {
  width: calc(100% - 4.5rem);
  max-width: 66.25rem;
  margin: 0 auto;
  padding: 2.5rem 0rem;
  position: relative;
}
.selection-brand-bottom__lineup {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.selection-brand-bottom__lineup-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #FFFFFF;
  text-align: center;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__lineup-ttl {
    font-size: 1.125rem;
    font-weight: 600;
  }
}
.selection-brand-bottom__lineup-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__lineup-list {
    gap: 1rem;
  }
}
.selection-brand-bottom__lineup-list li {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__lineup-list li {
    width: 100%;
  }
}
.selection-brand-bottom__lineup-list li > .cmn-btn-ms {
  width: 100%;
}
.selection-brand-bottom__assessment {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment {
    flex-direction: column;
  }
}
.selection-brand-bottom__assessment-txt-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
  max-width: 41.25rem;
  margin-inline: auto;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-txt-wrap {
    gap: 1rem;
  }
}
.selection-brand-bottom__assessment-ttl {
  font-size: 2.5rem;
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-ttl {
    font-size: 1.5rem;
  }
}
.selection-brand-bottom__assessment-desc-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-desc-wrap {
    flex-direction: column;
    gap: 0.25rem;
  }
}
.selection-brand-bottom__assessment-catch {
  font-size: 0.875rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #CC0000;
  line-height: 1;
  padding: 0.25rem 0.75rem;
  border-radius: 624.9375rem;
  flex-shrink: 0;
}
.selection-brand-bottom__assessment-catch .en {
  font-family: "Lato", sans-serif;
  font-size: 1rem;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-catch .en {
    font-size: 0.75rem;
  }
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-catch {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
  }
}
.selection-brand-bottom__assessment-desc {
  font-size: 1.25rem;
  color: #FFFFFF;
  font-weight: 700;
}
.selection-brand-bottom__assessment-desc .font-large {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-desc .font-large {
    font-size: 1.125rem;
  }
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-desc {
    font-size: 0.875rem;
  }
}
.selection-brand-bottom__assessment-btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 66.25rem) {
  .selection-brand-bottom__assessment-btn-wrap {
    align-items: center;
    width: 100%;
  }
}

.mansion-search-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.875rem;
  max-width: 54.75rem;
  margin: 0 auto;
}
@media (max-width: 48rem) {
  .mansion-search-box {
    max-width: 100%;
    gap: 1rem;
    flex-direction: column;
  }
}
.mansion-search-box__label-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mansion-search-box__label-wrap {
    gap: 0.25rem;
  }
}
.mansion-search-box__label {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .mansion-search-box__label {
    font-size: 1.125rem;
  }
}
.mansion-search-box__help {
  font-size: 0.875rem;
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .mansion-search-box__help {
    font-size: 0.75rem;
  }
}
.mansion-search-box__form {
  position: relative;
}
@media (max-width: 48rem) {
  .mansion-search-box__form {
    width: 100%;
  }
}
.mansion-search-box__input {
  min-width: 31.875rem;
  width: 100%;
  height: 4rem;
  padding: 1.25rem;
  border: 2px solid #CCCCCC;
  background-color: #FFFFFF;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mansion-search-box__input {
    min-width: 100%;
  }
}
@media (any-hover: hover) {
  .mansion-search-box__input:hover {
    background-color: #F2F2F2;
  }
}
.mansion-search-box__input:-moz-placeholder {
  color: #808080;
}
.mansion-search-box__input:placeholder-shown {
  color: #808080;
}
.mansion-search-box__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) {
  .mansion-search-box__btn:hover {
    background-color: #AF0808;
  }
}
.mansion-search-box__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;
}

.selection-brand__graph {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-brand__graph {
    flex-direction: column;
    align-items: center;
  }
}
.selection-brand__graph-catch {
  font-size: 2rem;
  font-weight: 500;
  padding-top: 4.625rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .selection-brand__graph-catch {
    text-align: center;
    font-size: 1.125rem;
    padding-top: 0;
  }
}
.selection-brand__graph-ttl {
  font-size: 1.75rem;
  font-weight: 500;
  margin-bottom: 2rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .selection-brand__graph-ttl {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
}
.selection-brand__graph-lead {
  font-size: 1.125rem;
  margin-bottom: 1rem;
  font-weight: 700;
}
@media (max-width: 48rem) {
  .selection-brand__graph-lead {
    font-size: 1rem;
  }
}
.selection-brand__graph-txt {
  font-size: 0.875rem;
}
.selection-brand__graph-figure {
  max-width: 31.875rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.selection-brand__graph-figure figcaption {
  font-size: 0.75rem;
}

.brand-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
}
@media (max-width: 66.25rem) {
  .brand-section {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.brand-section__head {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  flex-shrink: 0;
}
@media (max-width: 66.25rem) {
  .brand-section__head {
    flex-direction: column-reverse;
    gap: 0;
  }
}
.brand-section__ttl {
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 66.25rem) {
  .brand-section__ttl {
    font-size: 1.375rem;
  }
}
.brand-section__logo {
  flex-shrink: 0;
  width: 9.3125rem;
  height: 2.5rem;
}
@media (max-width: 66.25rem) {
  .brand-section__logo {
    width: 20.8125rem;
    padding-block: 0.875rem;
  }
}
@media (max-width: 66.25rem) {
  .brand-section__logo img {
    width: 17.5rem;
    height: 0.875rem;
  }
}

.brand-flex-list {
  display: flex;
  gap: 2rem;
}
@media (max-width: 66.25rem) {
  .brand-flex-list {
    flex-direction: column;
  }
}
.brand-flex-list__item {
  max-width: 20.75rem;
}

/* 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;
}

/* =========================================================== */
/* セレクションマンション一覧 */
/* =========================================================== */
.selection-list-search {
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .selection-list-search {
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
  }
}
.selection-list-search__item {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #CCCCCC;
}
@media (max-width: 48rem) {
  .selection-list-search__item {
    gap: 0.75rem;
  }
}
.selection-list-search__item .cmn-btn-ms {
  flex-shrink: 0;
  min-width: 8.75rem;
}
.selection-list-search__label {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .selection-list-search__label {
    gap: 0.5rem;
  }
}
.selection-list-search__label p {
  color: #262740;
  font-weight: 500;
  font-size: 1rem;
}
.selection-list-search__badge {
  flex-shrink: 0;
  display: inline-block;
  background-color: #F2F2F2;
  color: #262740;
  font-size: 0.875rem;
  line-height: 1.2;
  padding: 0.125rem 0.5rem;
}

.selection-list .text-16 {
  font-size: 1rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .selection-list .text-16 {
    font-size: 1rem;
  }
}
.selection-list__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.selection-list__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .selection-list__header {
    flex-direction: column;
  }
}
.selection-list__count {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  font-size: 1.125rem;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .selection-list__count {
    width: 100%;
    font-size: 1rem;
    padding-bottom: 1.125rem;
    border-bottom: 1px solid #CCCCCC;
  }
}
.selection-list__count span {
  font-size: 1.75rem;
  font-weight: 500;
  font-family: "Lato", sans-serif;
  color: #CC0000;
}
.selection-list__status {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .selection-list__status {
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
    font-size: 1rem;
  }
}
.selection-list__status-item {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}
.selection-list__status-item a {
  font-size: 1.75rem;
  margin-left: 0.25rem;
  color: #CC0000;
  text-decoration: underline;
  font-family: "Lato", sans-serif;
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .selection-list__status-item a:hover {
    opacity: 0.6;
    text-decoration: none;
  }
}
@media (max-width: 48rem) {
  .selection-list__status-item a {
    font-size: 1.5rem;
    margin-left: 0;
  }
}
.selection-list__cards-wrap {
  display: flex;
  flex-direction: column;
}
.selection-list__cards {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .selection-list__cards {
    gap: 1.5rem;
  }
}
.selection-list__pagination {
  margin-top: 5rem;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .selection-list__pagination {
    margin-top: 2.5rem;
    gap: 0.5rem;
  }
}
.selection-list__pagination-prev, .selection-list__pagination-next {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background-color: rgba(16, 18, 59, 0.5);
  transition: background-color 0.3s ease-out;
  cursor: pointer;
}
.selection-list__pagination-prev::before, .selection-list__pagination-next::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms02.svg);
          mask-image: url(../../../img/common/icon-arrow-ms02.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .selection-list__pagination-prev::before, .selection-list__pagination-next::before {
    width: 0.375rem;
    height: 0.625rem;
    -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
            mask-image: url(../../../img/common/icon-arrow-ms.svg);
  }
}
@media (max-width: 48rem) {
  .selection-list__pagination-prev, .selection-list__pagination-next {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media (any-hover: hover) {
  .selection-list__pagination-prev:not(:disabled):hover, .selection-list__pagination-next:not(:disabled):hover {
    background-color: rgba(16, 18, 59, 0.7);
  }
}
.selection-list__pagination-prev:disabled, .selection-list__pagination-next:disabled {
  background-color: rgba(16, 18, 59, 0.1);
}
.selection-list__pagination-prev::before {
  transform: rotate(180deg);
}
.selection-list__pagination-numbers {
  display: flex;
  align-items: baseline;
  gap: 0.625rem;
  font-family: "Lato", sans-serif;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .selection-list__pagination-numbers {
    gap: 0.5rem;
  }
}
.selection-list__pagination-number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  cursor: pointer;
}
@media (max-width: 48rem) {
  .selection-list__pagination-number {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.selection-list__pagination-number.is-current {
  background-color: #020055;
  border-color: #020055;
  color: #FFFFFF;
  cursor: default;
}
@media (any-hover: hover) {
  .selection-list__pagination-number:hover:not(.is-current) {
    background-color: rgba(2, 0, 85, 0.7);
    border-color: rgba(2, 0, 85, 0.7);
    color: #FFFFFF;
  }
}

.selection-list-cta {
  padding-block: 2rem;
}
.selection-list-cta.--bg-blue {
  background-color: #020055;
}
.selection-list-cta.--bg-ivory {
  background-color: #FAF6F2;
}
.selection-list-cta__property-area-wrap {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 48rem) {
  .selection-list-cta__property-area-wrap {
    flex-direction: column;
    text-align: center;
    gap: 2.5rem;
  }
}
.selection-list-cta__property-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .selection-list-cta__property-ttl {
    font-size: 1.25rem;
  }
}
.selection-list-cta__property-area {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .selection-list-cta__property-area {
    gap: 2rem;
    width: 100%;
    padding-inline: 1rem;
  }
}
.selection-list-cta__property-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .selection-list-cta__property-item {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.selection-list-cta__property-label {
  font-size: 1.125rem;
  color: #FFFFFF;
  font-weight: 700;
}
.selection-list-cta__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.selection-list-cta__action-ttl {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-list-cta__action-ttl {
    font-size: 1.25rem;
  }
}
.selection-list-cta__action-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .selection-list-cta__action-area {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    padding-inline: 1rem;
  }
}

.selection-list-feature__block {
  display: grid;
  grid-template-columns: 1fr 25rem;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
@media (max-width: 48rem) {
  .selection-list-feature__block {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
.selection-list-feature__block .mod-read-more-ms,
.selection-list-feature__block .mod-read-more-ms__content {
  display: contents;
}
@media (max-width: 48rem) {
  .selection-list-feature__block .mod-read-more-ms,
  .selection-list-feature__block .mod-read-more-ms__content {
    display: block;
  }
}
.selection-list-feature__intro {
  grid-column: 1;
  grid-row: 1;
}
@media (max-width: 48rem) {
  .selection-list-feature__intro {
    margin-top: 0;
  }
}
.selection-list-feature__map-wrap {
  grid-column: 2;
  grid-row: 1;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .selection-list-feature__map-wrap {
    width: 100%;
    max-width: 100%;
  }
}
.selection-list-feature__lead, .selection-list-feature__txt, .selection-list-feature__data-list {
  grid-column: 1/3;
}
.selection-list-feature__lead {
  font-size: 1.125rem;
  font-weight: 700;
  padding-left: 1.5rem;
  position: relative;
  margin-bottom: 0.75rem;
}
.selection-list-feature__lead::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1rem;
  height: 0.8660254038rem;
  background-color: #937B5B;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.selection-list-feature__data-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2.5rem;
}
.selection-list-feature__data-item {
  width: calc((100% - 2.5rem) / 2);
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
@media (max-width: 66.25rem) {
  .selection-list-feature__data-item {
    width: 100%;
    flex-direction: column;
    gap: 0.25rem;
  }
}
.selection-list-feature__data-item > dt {
  position: relative;
  padding-left: 1rem;
  flex-shrink: 0;
}
.selection-list-feature__data-item > dt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.0625rem;
  background-color: #937B5B;
}

/* 地図から探す
-------------------------------------------------------------------- */
.selection .mod-list-map {
  border-radius: 0;
}
.selection .mod-list-map .u-mask-access02.--sell {
  background-color: #CA0000;
}
.selection .mod-list-map .u-mask-access02.--rent {
  background-color: #AA9272;
}
.selection .mod-list-map .u-mask-access02.--sell-rent {
  background-color: #3A397B;
}
.selection .mod-list-map .u-mask-access02.--no-listing {
  background-color: #CCCCCC;
}
.selection .mod-list-map-iframe-mask__close {
  background-color: #020055;
}
.selection .mod-list-map-legend {
  background-color: #F2F2F2;
}
@media (max-width: 48rem) {
  .selection .mod-list-map-legend {
    display: flex;
    flex-wrap: wrap;
  }
}

/* =========================================================== */
/* こだわりマンション特集 */
/* =========================================================== */
.selection-tokushu-feature {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .selection-tokushu-feature {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.selection-tokushu-feature__txt {
  font-size: 1rem;
  line-height: 1.75;
  color: #262740;
}
@media (max-width: 48rem) {
  .selection-tokushu-feature__txt {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}
.selection-tokushu-feature__img-wrap {
  width: 100%;
  max-width: 31.875rem;
  aspect-ratio: 510/387;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .selection-tokushu-feature__img-wrap {
    max-width: 100%;
    aspect-ratio: 336/255;
  }
}
.selection-tokushu-feature__img-wrap img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* =========================================================== */
/* 棟詳細売却特化 */
/* =========================================================== */
.selection-detail-thumb {
  background-color: #262740;
  margin-bottom: 2.5rem;
  height: 19.140625vw;
  min-height: 18.375rem;
}
@media (max-width: 48rem) {
  .selection-detail-thumb {
    margin-bottom: 1.25rem;
    height: auto;
    min-height: unset;
    aspect-ratio: 1060/630;
  }
}
.selection-detail-thumb img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.selection-detail-corporate-msg {
  position: relative;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1.5rem 2.25rem;
  border: 0.0625rem solid #D5C4A2;
  outline: 0.0625rem solid #D5C4A2;
  outline-offset: -0.25rem;
}
@media (max-width: 48rem) {
  .selection-detail-corporate-msg {
    padding: 0.25rem 1rem 0.25rem;
  }
}
@media (max-width: 48rem) {
  .selection-detail-corporate-msg:has(.selection-detail-corporate-msg__accordion-item.is-active) {
    padding: 0.25rem 1rem 2.25rem;
  }
}
.selection-detail-corporate-msg .img-wrap {
  max-width: 100%;
  width: 22.9375rem;
  height: 6.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .selection-detail-corporate-msg .img-wrap {
    height: 5.375rem;
  }
}
.selection-detail-corporate-msg img {
  width: 18.75rem;
}
@media (max-width: 48rem) {
  .selection-detail-corporate-msg img {
    width: 13.75rem;
  }
}
.selection-detail-corporate-msg .txt {
  font-weight: 600;
  font-size: 1rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .selection-detail-corporate-msg .txt {
    font-size: 0.875rem;
  }
}
.selection-detail-corporate-msg__accordion-body {
  position: absolute;
  visibility: hidden;
  height: 0;
}
.selection-detail-corporate-msg__accordion-item.is-active .selection-detail-corporate-msg__accordion-body {
  height: auto;
  visibility: visible;
  position: relative;
}
.selection-detail-corporate-msg__accordion-body .txt {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.selection-detail-corporate-msg__accordion-item.is-active .selection-detail-corporate-msg__accordion-body .txt {
  opacity: 1;
}
.selection-detail-corporate-msg__accordion-trigger {
  cursor: pointer;
  position: absolute;
  right: 0.5rem;
  bottom: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #777B96;
  font-size: 0.75rem;
  font-weight: 500;
}
.selection-detail-corporate-msg__accordion-trigger::after {
  content: "";
  display: block;
  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);
}
.selection-detail-corporate-msg__accordion-item.is-active .selection-detail-corporate-msg__accordion-trigger::after {
  transform: rotate(-90deg);
}
.selection-detail-corporate-msg__accordion-trigger .open-txt {
  display: block;
}
.selection-detail-corporate-msg__accordion-item.is-active .selection-detail-corporate-msg__accordion-trigger .open-txt {
  display: none;
}
.selection-detail-corporate-msg__accordion-trigger .close-txt {
  display: none;
}
.selection-detail-corporate-msg__accordion-item.is-active .selection-detail-corporate-msg__accordion-trigger .close-txt {
  display: block;
}

/* 売却内容　リスト
-------------------------------------------------------------------- */
.selection-detail-sale-list {
  background-color: #FFFFFF;
  border: 0.0625rem solid #D5C4A2;
  padding: 2.5rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .selection-detail-sale-list {
    padding: 1rem 1rem 1.5rem;
  }
}
.selection-detail-sale-list__head {
  font-size: 1.25rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  padding-bottom: 1.25rem;
  border-bottom: 0.0625rem solid #D5C4A2;
}
@media (max-width: 48rem) {
  .selection-detail-sale-list__head {
    font-size: 1rem;
    padding-bottom: 1rem;
    text-align: center;
  }
}
.selection-detail-sale-list__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 3rem 0;
}
@media (max-width: 48rem) {
  .selection-detail-sale-list__body {
    grid-template-columns: unset;
    font-size: 0.875rem;
    padding: 1.5rem 1rem 2.5rem;
  }
}
.selection-detail-sale-list__item {
  display: grid;
  place-content: center;
}
@media (max-width: 48rem) {
  .selection-detail-sale-list__item {
    place-content: unset;
    margin-top: 1.5rem;
  }
}
.selection-detail-sale-list__img {
  display: block;
  max-width: 26.25rem;
}
.selection-detail-sale-list__check {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .selection-detail-sale-list__check {
    font-size: 0.875rem;
  }
}

/* 上書き
-------------------------------------------------------------------- */
:root {
  --header-height: 5rem;
}
@media (max-width: 48rem) {
  :root {
    --header-height: 3.75rem;
  }
}

body.selection {
  font-family: "Zen Kaku Gothic Antique", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
/* カテゴリ共通コード
-------------------------------------------------------------------- */
/*# sourceMappingURL=index.css.map */
