@charset "UTF-8";
/* カラーコード
-------------------------------------------------------------------- */
/* box-shadow
-------------------------------------------------------------------- */
/* ピクセルをremに置き換えて返す関数
-------------------------------------------------------------------- */
/* ブレイクポイント
-------------------------------------------------------------------- */
/* メディアクエリ
-------------------------------------------------------------------- */
/* イージング
-------------------------------------------------------------------- */
/* ホバーで画像拡大
-------------------------------------------------------------------- */
/* フォントファミリー
-------------------------------------------------------------------- */
/* z-index
-------------------------------------------------------------------- */
/* css カスタムプロパティー
-------------------------------------------------------------------- */
:root {
  --header-height: 5.25rem;
}
@media (max-width: 80rem) {
  :root {
    --header-height: 6rem;
  }
}
:root {
  --header-form-height: 4.6875rem;
}
@media (max-width: 48rem) {
  :root {
    --header-form-height: 3.3125rem;
  }
}
:root {
  --header-ms-height: 5.625rem;
}
@media (max-width: 48rem) {
  :root {
    --header-ms-height: 3.75rem;
  }
}
:root {
  --header-ms-float-height: 4rem;
}
@media (max-width: 48rem) {
  :root {
    --header-ms-float-height: 3.125rem;
  }
}
:root {
  --header-ms-ex-height: 9rem;
}
@media (max-width: 66.25rem) {
  :root {
    --header-ms-ex-height: 10.4375rem;
  }
}
@media (max-width: 48rem) {
  :root {
    --header-ms-ex-height: 9.0625rem;
  }
}

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* dialog */
/* ============================================ */
:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

::-moz-selection {
  text-shadow: none;
}

::selection {
  text-shadow: none;
}

body {
  width: 100%;
  background: #FFFFFF;
  color: #000000;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-east-asian: proportional-width;
  overflow-wrap: break-word;
  text-rendering: optimizelegibility;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.75;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  body {
    font-size: 0.875rem;
  }
}

main {
  padding-top: var(--header-height);
  overflow-x: clip;
}

.form main {
  padding-top: var(--header-form-height);
}

.selection main {
  padding-top: var(--header-ms-height);
}

.selection:has(.--type02.--type-float) main {
  padding-top: 0;
}

input, select, textarea {
  font-size: 1rem;
}

label,
input,
select {
  cursor: pointer;
}

input[type=radio] {
  opacity: 0;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

dt {
  font-weight: inherit;
}

em {
  font-style: normal;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 0.125rem solid #000000;
}

/* cmn-container
-------------------------------------------------------------------- */
.cmn-container {
  padding: 5rem 0;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-container {
    padding: 2.5rem 0;
  }
}
.cmn-container:first-of-type {
  padding-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container:first-of-type {
    padding-top: 2.5rem;
  }
}
.cmn-container.--first-rounded {
  border-top-left-radius: 1.875rem !important;
  padding-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--first-rounded {
    border-top-left-radius: 1.5rem !important;
    padding-top: 2.5rem;
  }
}
.cmn-container.--first-not-rounded {
  border-top-left-radius: unset !important;
}
.cmn-container.--last-not-rounded {
  border-bottom-right-radius: unset !important;
}
.cmn-container.--not-rounded {
  border-top-left-radius: unset !important;
  border-bottom-right-radius: unset !important;
}
.cmn-container.--narrow-first {
  padding-top: 3rem;
}
@media (max-width: 48rem) {
  .cmn-container.--narrow-first {
    padding-top: 1.5rem;
  }
}
.cmn-container.--narrow {
  padding: 5rem 0;
}
@media (max-width: 48rem) {
  .cmn-container.--narrow {
    padding: 2.125rem 0;
  }
}
.cmn-container.--narrow:first-of-type {
  padding-top: 4.5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--narrow:first-of-type {
    padding-top: 3rem;
  }
}
.cmn-container.--navy::before, .cmn-container.--navy::after, .cmn-container.--white::before, .cmn-container.--white::after, .cmn-container.--white02::before, .cmn-container.--white02::after, .cmn-container.--brown::before, .cmn-container.--brown::after, .cmn-container.--blue::before, .cmn-container.--blue::after, .cmn-container.--red::before, .cmn-container.--red::after, .cmn-container.--gray::before, .cmn-container.--gray::after {
  content: "";
  display: block;
  width: 100%;
  height: 2.5rem;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
}
.cmn-container.--navy::before, .cmn-container.--white::before, .cmn-container.--white02::before, .cmn-container.--brown::before, .cmn-container.--blue::before, .cmn-container.--red::before, .cmn-container.--gray::before {
  top: 0;
}
.cmn-container.--navy::after, .cmn-container.--white::after, .cmn-container.--white02::after, .cmn-container.--brown::after, .cmn-container.--blue::after, .cmn-container.--red::after, .cmn-container.--gray::after {
  top: -2.5rem;
}
.cmn-container.--navy:not(:first-of-type), .cmn-container.--white:not(:first-of-type), .cmn-container.--white02:not(:first-of-type), .cmn-container.--brown:not(:first-of-type), .cmn-container.--blue:not(:first-of-type), .cmn-container.--red:not(:first-of-type), .cmn-container.--gray:not(:first-of-type) {
  border-top-left-radius: 1.875rem;
  padding-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--navy:not(:first-of-type), .cmn-container.--white:not(:first-of-type), .cmn-container.--white02:not(:first-of-type), .cmn-container.--brown:not(:first-of-type), .cmn-container.--blue:not(:first-of-type), .cmn-container.--red:not(:first-of-type), .cmn-container.--gray:not(:first-of-type) {
    border-top-left-radius: 1.5rem;
    padding-top: 2.5rem;
  }
}
.cmn-container.--navy:not(:last-child), .cmn-container.--white:not(:last-child), .cmn-container.--white02:not(:last-child), .cmn-container.--brown:not(:last-child), .cmn-container.--blue:not(:last-child), .cmn-container.--red:not(:last-child), .cmn-container.--gray:not(:last-child) {
  border-bottom-right-radius: 1.875rem;
  padding-bottom: 5rem;
}
@media (max-width: 48rem) {
  .cmn-container.--navy:not(:last-child), .cmn-container.--white:not(:last-child), .cmn-container.--white02:not(:last-child), .cmn-container.--brown:not(:last-child), .cmn-container.--blue:not(:last-child), .cmn-container.--red:not(:last-child), .cmn-container.--gray:not(:last-child) {
    border-bottom-right-radius: 1.5rem;
    padding-bottom: 2.5rem;
  }
}
.cmn-container.--white {
  background-color: #FFFFFF;
}
.cmn-container.--white::after {
  background-color: #FFFFFF;
}
.cmn-container.--brown {
  background-color: #F6F1EE;
}
.cmn-container.--brown::after {
  background-color: #F6F1EE;
}
.cmn-container.--white02 {
  background-color: #FFFFFF;
}
.cmn-container.--white02::after {
  background-color: #FFFFFF;
}
.cmn-container.--blue {
  background-color: #E1E1EA;
}
.cmn-container.--blue::after {
  background-color: #E1E1EA;
}
.cmn-container.--red {
  background-color: #CC0000;
}
.cmn-container.--red::after {
  background-color: #CC0000;
}
.cmn-container.--navy {
  background-color: #10123B;
}
.cmn-container.--navy::after {
  background-color: #10123B;
}
.cmn-container.--gray {
  background-color: #F2F2F2;
}
.cmn-container.--gray::after {
  background-color: #F2F2F2;
}

.cmn-container.--white + .cmn-container::before,
.cmn-container.--white02 + .cmn-container::before {
  background-color: #FFFFFF;
}

.cmn-container.--brown + .cmn-container::before {
  background-color: #F6F1EE;
}

.cmn-container.--blue + .cmn-container::before {
  background-color: #E1E1EA;
}

.cmn-container.--red + .cmn-container::before {
  background-color: #CC0000;
}

.cmn-container.--navy + .cmn-container::before {
  background-color: #10123B;
}

.cmn-container.--gray + .cmn-container::before {
  background-color: #F2F2F2;
}

.home-about + .cmn-container::before {
  background-color: #CC0000;
}

/* cmn-inner
-------------------------------------------------------------------- */
.cmn-inner {
  width: calc(100% - 2.5rem);
  max-width: 66.25rem;
  margin: 0 auto;
  position: relative;
}
.cmn-inner.--wide {
  max-width: 80rem;
}
.cmn-inner.--sp-wide {
  width: calc(100% - 2rem);
}

.cmn-offset-inner {
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
}

/* cmn-spacer
-------------------------------------------------------------------- */
.cmn-spacer {
  display: block;
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer {
    margin-top: 2.5rem;
  }
}
.cmn-spacer.--s {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer.--s {
    margin-top: 2.5rem;
  }
}
.cmn-spacer.--ss {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer.--ss {
    margin-top: 2.5rem;
  }
}
.cmn-spacer.--xs {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer.--xs {
    margin-top: 2rem;
  }
}

/* cmn-flow-spacer
-------------------------------------------------------------------- */
.cmn-flow-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3.5rem 0;
}
@media (max-width: 48rem) {
  .cmn-flow-spacer {
    width: calc(100% + 2.5rem);
    margin: 2.5rem -1.25rem;
  }
}
.cmn-flow-spacer::before {
  z-index: 1;
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
.cmn-flow-spacer img {
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  width: 1.75rem;
  height: 1.75rem;
}
@media (max-width: 48rem) {
  .cmn-flow-spacer img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.cmn-flow-spacer__arrow {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  z-index: 2;
  background-color: #FFFFFF;
  background-image: url("../../../img/common/icon-flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.395625rem 1.291875rem;
}
@media (max-width: 48rem) {
  .cmn-flow-spacer__arrow {
    width: 1.5rem;
    height: 1.5rem;
    background-size: 1.19625rem 1.106875rem;
  }
}

/* cmn-line-spacer
-------------------------------------------------------------------- */
.cmn-line-spacer {
  display: block;
  width: 100vw;
  margin: 5rem 0;
  position: relative;
  height: 0.125rem;
  background-color: #DDDDDD;
}
@media (max-width: 48rem) {
  .cmn-line-spacer {
    margin: 2.5rem 0;
  }
}
.cmn-line-spacer.--secondary {
  background-color: #BD967C;
}
.cmn-inner .cmn-line-spacer {
  margin: 5rem calc(100% - 100vw);
  left: calc((100vw - 100%) / 2);
}
@media (max-width: 1100px) {
  .cmn-inner .cmn-line-spacer {
    margin: 5rem -1.25rem;
    left: unset;
  }
}
@media (max-width: 48rem) {
  .cmn-inner .cmn-line-spacer {
    margin: 2.5rem -1.25rem;
  }
}
@media (max-width: 1320px) {
  .cmn-inner.--wide .cmn-line-spacer {
    margin: 5rem -1.25rem;
  }
}
@media (max-width: 48rem) {
  .cmn-inner.--wide .cmn-line-spacer {
    margin: 2.5rem -1.25rem;
  }
}

/* cmn-line-spacer02 //2カラムレイアウトのmainの中で区切る
-------------------------------------------------------------------- */
.cmn-line-spacer02 {
  display: block;
  margin-top: 5rem;
  margin-bottom: 5rem;
  height: 0.125rem;
  background-color: #DDDDDD;
}
.cmn-line-spacer02.--left {
  margin-left: calc(50% - 50vw);
}
.cmn-line-spacer02.--right {
  margin-right: calc(50% - 50vw);
}
@media (max-width: 66.25rem) {
  .cmn-line-spacer02.--left {
    margin-right: calc(50% - 50vw);
  }
  .cmn-line-spacer02.--right {
    margin-left: calc(50% - 50vw);
  }
}
@media (max-width: 48rem) {
  .cmn-line-spacer02 {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

/* cmn-dotline-spacer //inner幅に応じたシンプルな点線の区切り線
-------------------------------------------------------------------- */
.cmn-dotline-spacer {
  display: block;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  border-top: 1px dotted #808080;
}
@media (max-width: 48rem) {
  .cmn-dotline-spacer {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

/* cmn-dot-spacer
-------------------------------------------------------------------- */
.cmn-dot-spacer {
  display: block;
  width: 100%;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  position: relative;
  height: 0.0625rem;
}
@media (max-width: 48rem) {
  .cmn-dot-spacer {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.cmn-dot-spacer::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}

/* cmn-drag-scrollable
-------------------------------------------------------------------- */
.cmn-drag-scrollable {
  overflow-x: auto;
}
@media (max-width: 66.25rem) {
  .cmn-drag-scrollable {
    padding-bottom: 1rem;
  }
}

/* cmn-2col-layout
-------------------------------------------------------------------- */
.cmn-2col-layout {
  display: flex;
  gap: 2.5rem;
}
.cmn-2col-layout .cmn-2col-layout__aside {
  width: 22.5rem;
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
  position: sticky;
  top: var(--header-height);
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout .cmn-2col-layout__aside {
    display: none;
  }
}
.cmn-2col-layout .cmn-2col-layout__main {
  container-type: inline-size;
  width: calc(100% - 3.125rem - 21.875rem + 0.625rem);
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout .cmn-2col-layout__main {
    width: 100%;
  }
}

.cmn-2col-layout02 {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-2col-layout02 {
    flex-direction: column;
    gap: unset;
  }
}
.cmn-2col-layout02 .cmn-2col-layout02__head {
  flex-shrink: 0;
  width: 20.75rem;
}
@media (max-width: 48rem) {
  .cmn-2col-layout02 .cmn-2col-layout02__head {
    width: 100%;
  }
}
.cmn-2col-layout02 .cmn-2col-layout02__body {
  max-width: 41.25rem;
  width: calc(100% - 2rem - 20.75rem);
}
@media (max-width: 48rem) {
  .cmn-2col-layout02 .cmn-2col-layout02__body {
    width: 100%;
    max-width: unset;
  }
}

.cmn-2col-layout03 {
  display: flex;
  gap: 2.5rem;
  flex-direction: row-reverse;
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout03:not(.--md) {
    flex-direction: column;
  }
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout03:not(.--md) .cmn-2col-layout03__aside {
    position: static;
    width: 100%;
    height: auto;
  }
  .cmn-2col-layout03:not(.--md) .cmn-2col-layout03__aside > * {
    width: 100%;
  }
}
@media (max-width: 66.25rem) {
  .cmn-2col-layout03:not(.--md) .cmn-2col-layout03__main {
    width: 100%;
  }
}
@media (max-width: 48rem) {
  .cmn-2col-layout03 {
    flex-direction: column;
  }
}
.cmn-2col-layout03 .cmn-2col-layout03__aside {
  width: 22.5rem;
  flex-shrink: 0;
  height: -moz-fit-content;
  height: fit-content;
  position: sticky;
  top: calc(var(--header-height) + 4.5rem);
}
@media (max-width: 48rem) {
  .cmn-2col-layout03 .cmn-2col-layout03__aside {
    position: static;
    width: 100%;
    height: auto;
  }
  .cmn-2col-layout03 .cmn-2col-layout03__aside > * {
    width: 100%;
  }
}
.cmn-2col-layout03 .cmn-2col-layout03__main {
  container-type: inline-size;
  width: calc(100% - 3.125rem - 21.875rem + 0.625rem);
}
@media (max-width: 48rem) {
  .cmn-2col-layout03 .cmn-2col-layout03__main {
    width: 100%;
  }
}

/* cmn-grid
-------------------------------------------------------------------- */
.cmn-grid-col4 {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem 2.5rem;
}
@media (max-width: 66.25rem) {
  .cmn-grid-col4 {
    gap: 4rem 2rem;
  }
}
@media (max-width: 48rem) {
  .cmn-grid-col4 {
    gap: 2rem;
  }
}
@media (max-width: 40rem) {
  .cmn-grid-col4 {
    gap: 1.5rem;
  }
}
.cmn-grid-col4 > * {
  width: calc((100% - 7.5rem) / 4);
}
@media (max-width: 66.25rem) {
  .cmn-grid-col4 > * {
    width: calc((100% - 4rem) / 3);
  }
}
@media (max-width: 48rem) {
  .cmn-grid-col4 > * {
    width: calc((100% - 2rem) / 2);
  }
}
@media (max-width: 40rem) {
  .cmn-grid-col4 > * {
    width: 100%;
  }
}

.cmn-grid-col4-02 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col4-02 {
    gap: 2rem;
  }
}
.cmn-grid-col4-02 > * {
  width: calc((100% - 4.5rem) / 4);
}
@media (max-width: 48rem) {
  .cmn-grid-col4-02 > * {
    width: 100%;
  }
}

.cmn-grid-col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col3 {
    gap: 1.5rem;
  }
}
.cmn-grid-col3 > * {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .cmn-grid-col3 > * {
    width: 100%;
  }
}

.cmn-grid-col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-grid-col2 {
    gap: 1.25rem;
  }
}
.cmn-grid-col2 > * {
  width: calc((100% - 2.5rem) / 2);
}
@media (max-width: 48rem) {
  .cmn-grid-col2 > * {
    width: 100%;
  }
}

/* cmn-slider
-------------------------------------------------------------------- */
.cmn-slider.--overflow-hidden .splide__track {
  overflow: hidden;
}
@media (max-width: 48rem) {
  .cmn-slider.--overflow-hidden .splide__track {
    overflow: visible;
  }
}
@media (max-width: 30rem) {
  .cmn-slider.--sp-w300 .splide__slide {
    width: 18.75rem !important;
    margin-inline: auto;
  }
}
.cmn-slider .splide__track {
  overflow: visible;
}
.cmn-slider.splide.is-initialized:not(.is-active) .splide__list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-slider .splide__list:has(> :only-child) .splide__slide {
    margin-right: 0 !important;
    width: 100% !important;
  }
}
.cmn-slider .splide__arrows.--right {
  justify-content: flex-end;
}
.cmn-slider .splide__arrows.splide__arrows--ltr {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cmn-slider .splide__arrow {
  left: unset;
  right: unset;
  top: unset;
  transform: unset;
  opacity: 1;
  position: relative;
  border: #EEE6E0 solid 0.125rem;
  background-color: #FFFFFF;
  border-radius: 50%;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
}
.cmn-slider .splide__arrow::before {
  content: "";
  transform: unset;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
.cmn-slider .splide__arrow:disabled {
  opacity: 1;
  pointer-events: none;
}
@media (any-hover: hover) {
  .cmn-slider .splide__arrow:hover {
    background-color: #F00000;
    border-color: #F00000;
  }
  .cmn-slider .splide__arrow:hover::before {
    background-color: #FFFFFF;
  }
}
.cmn-slider .splide__arrow--prev {
  transform: scaleX(-1);
}
.cmn-slider .splide__pagination {
  padding: unset;
  position: static;
  margin-top: 2rem;
  gap: 1.25rem;
}
.cmn-slider .splide__pagination__page {
  width: 0.5rem;
  height: 0.5rem;
  background-color: #CCCCCC;
  margin: unset;
}
.cmn-slider .splide__pagination__page.is-active {
  transform: scale(1.25);
  background-color: #F00000;
}
.cmn-slider.--2col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
.cmn-slider.--2col .splide__slide {
  width: calc((100% - 2rem) / 2);
}
.cmn-slider:not(.is-initialized) {
  visibility: visible;
}
.cmn-slider:not(.is-initialized) .splide__arrows {
  display: none;
}
.cmn-slider:not(.is-initialized) .splide__slide {
  width: 100%;
}
.cmn-slider.--1col .splide__track {
  overflow: hidden;
}
.cmn-slider.--1col .splide__slide {
  padding: 0 0.2rem;
}
.cmn-slider.--1col .splide__arrows {
  margin-left: auto;
}
.cmn-slider.--1col.--overflow-visible .splide__track {
  overflow: visible;
}
.cmn-slider.--3col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-slider.--3col.splide.is-initialized:not(.is-active) .splide__list {
    gap: 1rem;
  }
}
.cmn-slider.--3col .splide__slide {
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .cmn-slider.--3col .splide__slide {
    width: calc((100% - 2rem) / 3);
  }
}
@media (max-width: 48rem) {
  .cmn-slider.--3col.--sp-2col .splide__slide {
    width: calc((100% - 1rem) / 2);
  }
}
.cmn-slider.--4col .splide__track {
  overflow-x: clip;
}
@media (max-width: 48rem) {
  .cmn-slider.--4col .splide__track {
    overflow-x: visible;
  }
}
.cmn-slider.--4col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 1.5rem;
}
.cmn-slider.--4col .splide__slide {
  width: calc((100% - 4.5rem) / 4);
}
.cmn-slider__arrow-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-slider__arrow-wrap {
    display: none;
  }
}

/* cmn-section-ttl h2
-------------------------------------------------------------------- */
.cmn-section-ttl {
  font-weight: bold;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl {
    gap: 0.125rem;
  }
}
.cmn-section-ttl .en {
  font-size: 1rem;
  font-family: "Lato", sans-serif;
  color: #F00000;
}
@media (max-width: 48rem) {
  .cmn-section-ttl .en {
    font-size: 0.75rem;
  }
}
.cmn-section-ttl .ja {
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl .ja {
    font-size: 1.25rem;
  }
}
.cmn-section-ttl-wrap.--txt-s .cmn-section-ttl .ja {
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--txt-s .cmn-section-ttl .ja {
    font-size: 1.125rem;
  }
}

.cmn-container.--navy .cmn-section-ttl .en, .cmn-container.--navy .cmn-section-ttl .ja {
  color: #FFFFFF;
}

.cmn-section-ttl-wrap {
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap {
    margin-bottom: 2.5rem;
  }
}
.cmn-section-ttl-wrap.--narrow {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--narrow {
    margin-bottom: 1.5rem;
  }
}
.cmn-section-ttl-wrap.--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 3.5rem;
  justify-content: space-between;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--row {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
}
.cmn-section-ttl-wrap.--pc-center {
  text-align: center;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-wrap.--pc-center {
    text-align: left;
  }
}
.cmn-section-ttl-wrap.--center {
  text-align: center;
}

/* cmn-contents-ttl h3
-------------------------------------------------------------------- */
.cmn-contents-ttl {
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding-left: 1.375rem;
  position: relative;
}
.cmn-contents-ttl.--font-large {
  font-size: 2rem;
  padding-left: 1.5rem;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl.--font-large {
    font-size: 1.125rem;
    padding-left: 1.375rem;
  }
}
.cmn-contents-ttl.--lead {
  flex-direction: column;
  gap: 0.125rem;
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl {
    font-size: 1.125rem;
    line-height: 1.5;
    padding-left: 1.125rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
.cmn-contents-ttl::before {
  content: "";
  display: block;
  width: 0.375rem;
  position: absolute;
  top: 8.333334%;
  bottom: 8.333334%;
  left: 0;
  background-color: #F00000;
  border-radius: 0.1875rem;
  flex-shrink: 0;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl::before {
    top: 3.333334%;
    bottom: 3.333334%;
  }
}
.cmn-contents-ttl__caption {
  margin-right: 0.75rem;
  font-size: 1rem;
  font-weight: 400;
}
.cmn-contents-ttl__lead {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl__lead {
    font-size: 0.625rem;
  }
}
.cmn-contents-ttl__lead.--s {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl__lead.--s {
    font-size: 0.625rem;
  }
}

.cmn-contents-ttl-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap {
    margin-bottom: 2rem;
  }
}
.cmn-contents-ttl-wrap.--narrow {
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--narrow {
    margin-bottom: 1rem;
  }
}
.cmn-contents-ttl-wrap.--compact {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--compact {
    margin-bottom: 2.25rem;
  }
}
.cmn-contents-ttl-wrap.--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 3.5rem;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--row {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
}
.cmn-contents-ttl-wrap.--row .cmn-contents-ttl-sub {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-wrap.--row .cmn-contents-ttl-sub {
    gap: 0.25rem 1.25rem;
  }
}

/* cmn-block-ttl h4
-------------------------------------------------------------------- */
.cmn-block-ttl {
  font-size: 1.25rem;
  font-weight: bold;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .cmn-block-ttl {
    font-size: 1rem;
  }
}

.cmn-block-ttl-wrap {
  margin-bottom: 1rem;
}
/* 該当件数テキスト
-------------------------------------------------------------------- */
.cmn-highlight-listing-txt {
  margin-bottom: 0.75rem;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt {
    font-size: 0.875rem;
    font-weight: bold;
  }
}
.cmn-highlight-listing-txt.--wide {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt.--wide {
    margin-bottom: 1rem;
  }
}
.cmn-highlight-listing-txt .num {
  font-size: 2rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  color: #CC0000;
  margin: 0 0.25rem;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt .num {
    font-size: 1.5rem;
  }
}

.cmn-highlight-listing-txt02 {
  margin-bottom: 2.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt02 {
    margin-bottom: 2rem;
    font-size: 1rem;
    font-weight: bold;
  }
}
.cmn-highlight-listing-txt02 .num {
  font-size: 1.75rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  margin: 0 0.1875rem 0 0.5rem;
  color: #CC0000;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt02 .num {
    font-size: 1.5rem;
    margin: 0 0.1875rem 0 0.25rem;
  }
}

/* まとめてチェック
-------------------------------------------------------------------- */
.cmn-at-once {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-at-once {
    margin-bottom: 0.75rem;
  }
}
.cmn-at-once__txt {
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-weight: bold;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-at-once__txt {
    gap: 0.5rem;
    font-size: 0.875rem;
  }
}
.cmn-at-once__txt::before {
  flex-shrink: 0;
  content: "";
  width: 3.5rem;
  height: 3.9475rem;
  display: block;
  background-image: url("../../../img/mypage/mypage-list-head-pc.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (max-width: 48rem) {
  .cmn-at-once__txt::before {
    width: 2.5rem;
    height: 2.885rem;
    background-image: url("../../../img/mypage/mypage-list-head-sp.svg");
  }
}

/* 吹き出し見出し 
-------------------------------------------------------------------- */
.cmn-bubble-head {
  margin-bottom: 2.5rem;
  position: relative;
  padding: 0.5rem 2rem;
  background-color: #AF0808;
  border-radius: 0.5rem;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 1.5rem;
}
.cmn-bubble-head::after {
  position: absolute;
  left: 50%;
  bottom: -1.25rem;
  translate: -50% 0;
  content: "";
  display: block;
  width: 3.5rem;
  height: 1.25rem;
  background-color: #AF0808;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media (max-width: 48rem) {
  .cmn-bubble-head::after {
    bottom: -1.125rem;
  }
}
@media (max-width: 48rem) {
  .cmn-bubble-head {
    margin-bottom: 2.125rem;
    padding: 0.5rem 1rem;
    font-size: 1.125rem;
  }
  .cmn-bubble-head::after {
    width: 3rem;
    height: 1.125rem;
  }
}

/* cmn-page-head h1
-------------------------------------------------------------------- */
.cmn-page-head {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  height: 14.375rem;
  min-height: -moz-fit-content;
  min-height: fit-content;
  width: 100%;
}
@media (max-width: 48rem) {
  .cmn-page-head {
    background-color: #F6F1EE;
    min-height: 8.25rem;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.cmn-page-head__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  position: absolute;
  z-index: 2;
}
@media (max-width: 48rem) {
  .cmn-page-head__ttl {
    gap: 0.625rem;
  }
}
.cmn-page-head__sub {
  color: #4D4D4D;
  font-size: 1rem;
  font-weight: bold;
  line-height: 2rem;
  padding: 0 0.75rem;
  background-color: #FFFFFF;
  border-radius: 0.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head__sub {
    font-size: 0.75rem;
    line-height: 1.5625rem;
    background-color: #BD967C;
    color: #FFFFFF;
  }
}
.cmn-page-head__sub.--brown {
  background-color: #BD967C;
  color: #FFFFFF;
}
.cmn-page-head__main {
  font-weight: bold;
  font-size: 2rem;
  color: #FFFFFF;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .cmn-page-head__main {
    font-size: 1.25rem;
    color: #000000;
  }
}
.cmn-page-head__bg {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #F6F1EE;
}
.cmn-page-head__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .cmn-page-head__bg img {
    display: none;
  }
}
.cmn-page-head.--child {
  height: 10.875rem;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child {
    height: 9.5rem;
  }
}
.cmn-page-head.--child.--pc-left .cmn-page-head__ttl {
  align-items: flex-start;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child.--pc-left .cmn-page-head__ttl {
    align-items: center;
  }
}
.cmn-page-head.--child.--pc-left .cmn-page-head__sub {
  display: none;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child.--pc-left .cmn-page-head__sub {
    display: block;
  }
}
.cmn-page-head.--child .cmn-page-head__sub {
  color: #FFFFFF;
  background-color: #BD967C;
}
.cmn-page-head.--child .cmn-page-head__main {
  font-size: 2rem;
  color: #000000;
}
@media (max-width: 48rem) {
  .cmn-page-head.--child .cmn-page-head__main {
    font-size: 1.25rem;
    line-height: 1.75;
  }
}
@media (max-width: 48rem) {
  .cmn-page-head.--child .cmn-page-head__main.--sp-lg {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media (max-width: 48rem) {
  .cmn-page-head.--sp-child {
    height: 3.875rem;
  }
  .cmn-page-head.--sp-child + .cmn-container {
    padding-top: 1rem;
  }
}

/* cmn-promo-visual 売りたい マンション・戸建て・土地
-------------------------------------------------------------------- */
.cmn-promo-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 25.75rem;
  width: 100%;
  padding: 1.25rem 0;
}
@media (max-width: 48rem) {
  .cmn-promo-visual {
    min-height: unset;
    height: auto;
    padding: 1rem 0 2rem;
    background-color: #F6F1EE;
  }
}
.cmn-promo-visual__inner {
  z-index: 2;
}
.cmn-promo-visual__ttl {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__ttl {
    color: #000000;
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
.cmn-promo-visual__main {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__main {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }
}
.cmn-promo-visual__main .no1-badge {
  width: 51.8867924528%;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__main .no1-badge {
    width: 100%;
  }
}
.cmn-promo-visual__main .no1-badge img {
  aspect-ratio: 550/143.31;
}
.cmn-promo-visual__main .no1-badge figcaption {
  font-size: 0.875rem;
  margin-top: 0.75rem;
  line-height: 1.5;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__main .no1-badge figcaption {
    font-size: 0.5625rem;
    color: #000000;
    margin-top: 0.5rem;
  }
}
.cmn-promo-visual__msg {
  flex: 1;
  color: #FFFFFF;
  line-height: 1.5;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__msg {
    color: #000000;
  }
}
.cmn-promo-visual__msg-ttl {
  font-size: 1.25rem;
  margin-bottom: 1.25rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__msg-ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.cmn-promo-visual__msg-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__msg-txt {
    font-size: 0.875rem;
  }
}
.cmn-promo-visual__msg-txt strong {
  font-weight: bold;
}
.cmn-promo-visual__bg {
  display: block;
  position: absolute;
  inset: 0;
  height: 100%;
  background-color: #F6F1EE;
}
.cmn-promo-visual__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .cmn-promo-visual__bg img {
    display: none;
  }
}

/* =========================================================== */
/* ボタン テキストリンク */
/* =========================================================== */
/* ボタン 
-------------------------------------------------------------------- */
.cmn-btn {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  border-radius: 2rem;
  padding: 0.25rem 2.5rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 3.5rem;
  color: #FFFFFF;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
}
@media (max-width: 48rem) {
  .cmn-btn {
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.25rem 2rem;
  }
}
@media (max-width: 30rem) {
  .cmn-btn {
    width: 100%;
  }
}
.cmn-btn.--s {
  min-height: 3rem;
}
.cmn-btn.--font-14 {
  font-size: 0.875rem;
}
.cmn-btn.--all-radius {
  border-radius: 624.9375rem;
}
@media (max-width: 48rem) {
  .cmn-btn.--sp-large {
    min-height: 3.5rem;
  }
}
.cmn-btn.--red {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-btn.--red:not(:disabled):hover {
    background-color: #AF0808;
  }
}
.cmn-btn.--blue {
  background-color: #020055;
}
@media (any-hover: hover) {
  .cmn-btn.--blue:not(:disabled):hover {
    background-color: #3A397B;
  }
}
.cmn-btn.--green {
  background-color: #133822;
}
@media (any-hover: hover) {
  .cmn-btn.--green:not(:disabled):hover {
    background-color: #476453;
  }
}
.cmn-btn.--secondary {
  color: #F00000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #F00000;
}
.cmn-btn.--secondary .cmn-btn__icon {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-btn.--secondary:not(:disabled):hover {
    color: #FFFFFF;
    background-color: #AF0808;
    border: 0.0625rem solid #AF0808;
  }
  .cmn-btn.--secondary:not(:disabled):hover .cmn-btn__icon {
    background-color: #FFFFFF;
  }
}
.cmn-btn.--secondary.--black {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--secondary.--black .cmn-btn__icon {
  background-color: #000000;
}
@media (any-hover: hover) {
  .cmn-btn.--secondary.--black:not(:disabled):hover {
    color: #FFFFFF;
    background-color: #AF0808;
    border: 0.0625rem solid #AF0808;
  }
  .cmn-btn.--secondary.--black:not(:disabled):hover .cmn-btn__icon {
    background-color: #FFFFFF;
  }
}
.cmn-btn.--tertiary {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--tertiary .cmn-btn__icon {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-btn.--tertiary:not(:disabled):hover {
    color: #F00000;
    border: 0.0625rem solid #F00000;
  }
}
.cmn-btn.--tertiary.--blue {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--tertiary.--blue .cmn-btn__icon {
  background-color: #020055;
}
@media (any-hover: hover) {
  .cmn-btn.--tertiary.--blue:not(:disabled):hover {
    color: #3A397B;
    border: 0.0625rem solid #3A397B;
  }
}
.cmn-btn.--tertiary.--black {
  color: #000000;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
.cmn-btn.--tertiary.--black .cmn-btn__icon {
  background-color: #000000;
}
@media (any-hover: hover) {
  .cmn-btn.--tertiary.--black:not(:disabled):hover {
    color: #F00000;
    border: 0.0625rem solid #F00000;
  }
  .cmn-btn.--tertiary.--black:not(:disabled):hover .cmn-btn__icon {
    background-color: #F00000;
  }
}
.cmn-btn.--primary-grad {
  position: relative;
  isolation: isolate;
  color: #FFFFFF;
  overflow: hidden;
  background-color: #808080;
  transition: background-color 0.3s ease-out;
}
.cmn-btn.--primary-grad::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, #AF0808 0%, #BF0606 50%, #F00000 100%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.cmn-btn.--primary-grad::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #830909 0%, #9B0000 50%, #BE0F0F 100%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.cmn-btn.--primary-grad:not(:disabled)::before {
  opacity: 1;
}
@media (any-hover: hover) {
  .cmn-btn.--primary-grad:not(:disabled):hover::after {
    opacity: 1;
  }
}
.cmn-btn.--primary-grad .cmn-btn__icon {
  background-color: #FFFFFF;
}
.cmn-btn.is-disabled {
  cursor: default;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.cmn-btn__icon {
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1.5rem;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-btn__icon {
    right: 1rem;
  }
}
.cmn-btn__icon.--return {
  transform: rotate(180deg);
  left: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-btn__icon.--return {
    left: 1rem;
  }
}
.cmn-btn__icon.--down {
  transform: rotate(90deg);
}
.cmn-btn.--download, .cmn-btn.--pdf, .cmn-btn.--external {
  padding-inline: 2.75rem;
}
.cmn-btn.--download .cmn-btn__icon, .cmn-btn.--pdf .cmn-btn__icon, .cmn-btn.--external .cmn-btn__icon {
  width: 1rem;
  height: 1rem;
  right: 1.25rem;
}
.cmn-btn.--search {
  padding-inline: 2.75rem;
}
.cmn-btn.--search .cmn-btn__icon {
  width: 1.25rem;
  height: 1.25rem;
  right: 1rem;
  -webkit-mask-image: url(../../../img/common/icon-search.svg);
          mask-image: url(../../../img/common/icon-search.svg);
}
.cmn-btn.--new-mail .cmn-btn__icon, .cmn-btn.--save .cmn-btn__icon, .cmn-btn.--favorite .cmn-btn__icon, .cmn-btn.--calender .cmn-btn__icon, .cmn-btn.--mail .cmn-btn__icon, .cmn-btn.--tel .cmn-btn__icon {
  right: unset;
  left: 2rem;
}
.cmn-btn.--download .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-download.svg);
          mask-image: url(../../../img/common/icon-download.svg);
}
.cmn-btn.--pdf .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
}
.cmn-btn.--external .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
}
.cmn-btn.--new-mail {
  padding-inline: 3.75rem;
}
.cmn-btn.--new-mail .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-new-mail.svg);
          mask-image: url(../../../img/common/icon-new-mail.svg);
  width: 1.5rem;
  height: auto;
  aspect-ratio: 24/18;
}
.cmn-btn.--save {
  padding-inline: 3.75rem;
}
.cmn-btn.--save .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-save.svg);
          mask-image: url(../../../img/common/icon-save.svg);
  width: 1.5rem;
  height: 1.5rem;
}
.cmn-btn.--favorite {
  padding-inline: 3.676875rem;
}
.cmn-btn.--favorite .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-favorite.svg);
          mask-image: url(../../../img/common/icon-favorite.svg);
  width: 1.426875rem;
  height: 1.25rem;
}
.cmn-btn.--favorite.is-disabled {
  color: #F00000;
}
.cmn-btn.--favorite.is-disabled .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-favorite-added.svg);
          mask-image: url(../../../img/common/icon-favorite-added.svg);
}
.cmn-btn.--favorite.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.cmn-btn.--favorite.is-added .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-favorite-added.svg);
          mask-image: url(../../../img/common/icon-favorite-added.svg);
}
.cmn-btn.--calender {
  padding-inline: 3.418125rem;
}
.cmn-btn.--calender .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  width: 1.168125rem;
  height: 1.25rem;
}
.cmn-btn.--mail {
  padding-inline: 3.683125rem;
}
.cmn-btn.--mail .cmn-btn__icon {
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
  width: 1.433125rem;
  height: 1.125rem;
}
.cmn-btn.--tel {
  padding-inline: 3.5rem;
}
.cmn-btn.--tel .cmn-btn__icon {
  background-color: #020055;
  -webkit-mask-image: url(../../../img/common/icon-tel.svg);
          mask-image: url(../../../img/common/icon-tel.svg);
  width: 1.25rem;
  height: 1.25rem;
}
.cmn-btn.--tel .tel-txt {
  font-weight: 600;
  font-size: 0.75rem;
}
.cmn-btn.--tel .num {
  color: #020055;
  font-weight: 900;
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
}
.cmn-btn.--balloon {
  margin-top: 1.125rem;
}
.cmn-btn.--balloon .cmn-btn__balloon {
  position: absolute;
  top: -1.125rem;
  right: 50%;
  transform: translateX(50%);
  line-height: 1.5rem;
  padding: 0 0.625rem;
  white-space: nowrap;
  min-width: 8.75rem;
  font-size: 0.75rem;
  color: #FFFFFF;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #AA8872;
  border-radius: 1.375rem;
}
.cmn-btn.--balloon .cmn-btn__balloon::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.25rem;
  width: 0.375rem;
  height: 0.25rem;
  background: #AA8872;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.cmn-btn.--balloon.--blue .cmn-btn__balloon {
  border: 1px solid #020055;
  background-color: #FFFFFF;
  color: #020055;
}
.cmn-btn.--balloon.--blue .cmn-btn__balloon::after {
  background: #FFFFFF;
}
.cmn-btn.--inline-narrow {
  padding-right: 2rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--inline-narrow {
    padding-right: 1rem;
    padding-left: 2.5rem;
  }
  .cmn-btn.--inline-narrow .cmn-btn__icon {
    left: 1rem;
  }
}
.cmn-btn.--w-full {
  width: 100%;
}
@media (max-width: 30rem) {
  .cmn-btn.--w-full {
    width: 100%;
  }
}
.cmn-btn.--w400 {
  min-width: 25rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w400 {
    min-width: unset;
  }
}
.cmn-btn.--w308 {
  min-width: 19.25rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w308 {
    min-width: unset;
  }
}
.cmn-btn.--w304 {
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w304 {
    min-width: unset;
  }
}
.cmn-btn.--w294 {
  min-width: 18.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w294 {
    min-width: unset;
  }
}
.cmn-btn.--w266 {
  min-width: 16.625rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w266 {
    min-width: unset;
  }
}
.cmn-btn.--w264 {
  min-width: 16.5rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w264 {
    min-width: unset;
  }
}
.cmn-btn.--w260 {
  min-width: 16.25rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w260 {
    min-width: unset;
  }
}
.cmn-btn.--w250 {
  min-width: 15.625rem;
}
@media (max-width: 30rem) {
  .cmn-btn.--w250 {
    min-width: unset;
  }
}
@media (max-width: 48rem) {
  .cmn-btn.--md\:w212 {
    min-width: unset;
    width: 13.25rem;
  }
}
@media (max-width: 30rem) {
  .cmn-btn.--xs\:w212 {
    min-width: unset;
    width: 13.25rem;
  }
}

/* お気に入りボタン
-------------------------------------------------------------------- */
.cmn-favorite-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}
@media (max-width: 48rem) {
  .cmn-favorite-btn {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.cmn-favorite-btn .icon-favorite {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  width: 1.426875rem;
  height: 1.25rem;
  background-image: url(../../../img/common/icon-favorite.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 48rem) {
  .cmn-favorite-btn .icon-favorite {
    width: 1.28375rem;
    height: 1.125rem;
  }
}
.cmn-favorite-btn.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.cmn-favorite-btn.is-added .icon-favorite {
  background-image: url(../../../img/common/icon-favorite-added.svg);
}

/* フォローボタン
-------------------------------------------------------------------- */
.cmn-follow-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
}
.cmn-follow-btn .icon-follow {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: block;
  width: 1.00875rem;
  height: 1.133125rem;
  background-image: url(../../../img/common/icon-follow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.cmn-follow-btn.is-added {
  background-color: #F7EAEA;
  border: 0.0625rem solid #F4E2E2;
}
.cmn-follow-btn.is-added .icon-follow {
  background-image: url(../../../img/common/icon-follow-added.svg);
}

/* テキストリンク
-------------------------------------------------------------------- */
.cmn-txt-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: -moz-fit-content;
  width: fit-content;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-txt-link {
    gap: 0.5rem;
  }
}
@media (any-hover: hover) {
  .cmn-txt-link:hover {
    color: #F00000;
    text-decoration: underline;
  }
}
.cmn-txt-link span {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-txt-link span {
    font-size: 0.875rem;
  }
}
.cmn-txt-link img {
  display: block;
  width: 0.5rem;
  height: auto;
}
.cmn-txt-link.--blank {
  gap: 0.25rem;
}
.cmn-txt-link.--blank img {
  width: 1rem;
  aspect-ratio: 1/1;
}
.cmn-txt-link.--pdf img {
  width: 0.984375rem;
  aspect-ratio: 15.75/19.55;
}
.cmn-txt-link.--access {
  gap: 0.25rem;
}
.cmn-txt-link.--access .u-mask-access {
  width: 1rem;
  height: 1rem;
}
.cmn-txt-link.--blue05 {
  color: #020055;
}
@media (any-hover: hover) {
  .cmn-txt-link.--blue05:hover {
    color: #020055;
  }
}
.cmn-txt-link.--uline {
  text-decoration: underline;
}
.cmn-txt-link02 {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  transition: color 0.3s ease-out;
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-txt-link02:hover .txt {
    text-decoration: underline;
  }
}
.cmn-txt-link02 .txt {
  font-size: 0.875rem;
}
.cmn-txt-link02 .icon-arrow {
  display: inline-block;
  margin-left: 0.5rem;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
.cmn-txt-link02.--blue05 {
  color: #020055;
}
.cmn-txt-link02.--blank .icon-arrow {
  width: 1rem;
  height: 1rem;
  background-color: #808080;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
}
.cmn-txt-link02.--normal {
  color: #000000;
}
.cmn-txt-link02.--normal .icon-arrow {
  background-color: #F00000;
}
@media (any-hover: hover) {
  .cmn-txt-link02.--normal:hover {
    color: #F00000;
  }
}
.cmn-txt-link02.--large-txt .txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-txt-link02.--large-txt .txt {
    font-size: 0.875rem;
  }
}

.cmn-blue-link {
  color: #074EBB;
}
.cmn-blue-link.--uline {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .cmn-blue-link.--uline:hover {
    text-decoration: none;
  }
}

.cmn-txt-link-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-end;
}

/* スクエアボタン 
-------------------------------------------------------------------- */
.cmn-square-btn {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.5rem;
  padding: 0.25rem 1.779375rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 3.5rem;
  color: #000000;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .cmn-square-btn {
    justify-content: flex-start;
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.25rem 2rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn:not(:disabled):hover {
    border-color: #F00000;
  }
}
.cmn-square-btn__icon {
  display: block;
  width: 0.416875rem;
  aspect-ratio: 6.67/11.67;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  pointer-events: none;
  right: 0.8625rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn__icon {
    right: 0.79375rem;
    width: 0.333125rem;
  }
}
.cmn-square-btn__icon.--blank {
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  width: 1rem;
  height: 1rem;
  right: 1.5rem;
}
.cmn-square-btn.--select, .cmn-square-btn.--input {
  min-height: unset;
  font-weight: 400;
  padding: 0;
}
.cmn-square-btn.--select select,
.cmn-square-btn.--select input, .cmn-square-btn.--input select,
.cmn-square-btn.--input input {
  min-height: 3rem;
  padding: 0.25rem 1.25rem;
  width: 100%;
  height: 100%;
  border-radius: 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn.--select select,
  .cmn-square-btn.--select input, .cmn-square-btn.--input select,
  .cmn-square-btn.--input input {
    padding: 0.25rem 1.5625rem 0.25rem 1rem;
    min-height: 2.5rem;
  }
}
.cmn-square-btn.--select {
  justify-content: flex-start;
}
.cmn-square-btn.--select select {
  padding-right: 2.37375rem;
}
.cmn-square-btn.--select .cmn-square-btn__icon {
  width: 0.5rem;
  transform: rotate(90deg);
  right: 1rem;
}
.cmn-square-btn.--w-full {
  width: 100%;
}
@media (max-width: 30rem) {
  .cmn-square-btn.--w-full {
    width: 100%;
  }
}
.cmn-square-btn.--w300 {
  min-width: 18.75rem;
}
.cmn-square-btn.--w246 {
  min-width: 15.375rem;
}
.cmn-square-btn.--w227 {
  min-width: 14.1875rem;
}
.cmn-square-btn.--w200 {
  min-width: 12.5rem;
}
.cmn-square-btn.--w150 {
  min-width: 9.375rem;
}
.cmn-square-btn.--w100 {
  min-width: 6.25rem;
}
.cmn-square-btn.--max227 {
  max-width: 14.1875rem;
}
.cmn-square-btn.--max150 {
  max-width: 9.375rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn.--w300, .cmn-square-btn.--w246, .cmn-square-btn.--w227, .cmn-square-btn.--w200, .cmn-square-btn.--w150, .cmn-square-btn.--w100 {
    width: 100%;
    min-width: unset;
  }
  .cmn-square-btn.--max227, .cmn-square-btn.--max150 {
    max-width: 100%;
  }
}
.cmn-square-btn.--case {
  justify-content: flex-start;
  min-height: 3.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn.--case {
    min-height: 3.125rem;
    padding-left: 0.75rem;
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn.--case:not(:disabled):hover {
    color: #F00000;
  }
}

/* チェックボタン 
-------------------------------------------------------------------- */
.cmn-check-btn {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.5rem;
  border: 0.0625rem solid #DDDDDD;
  outline: 0.125rem solid transparent;
  padding: 0.5rem 3rem 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  transition: outline-color 0.3s ease-out;
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-check-btn {
    padding: 0.375rem 3rem 0.375rem 0.75rem;
  }
}
.cmn-check-btn:has(input:checked) {
  outline-color: transparent;
  outline-color: #F00000;
}
.cmn-check-btn.--sp-square {
  transition: box-shadow 0.3s ease-out, outline-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square {
    justify-content: center;
    flex-direction: column;
    padding: 0.75rem 0.375rem 0.375rem;
    gap: 0.25rem;
  }
}
.cmn-check-btn.--sp-square:has(input:checked) {
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.16);
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .box {
    width: 1rem;
    height: 1rem;
    right: 0.5rem;
    top: 0.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .box::before {
    top: -0.0625rem;
    right: -0.1875rem;
    width: 1.125rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .icon {
    width: 3rem;
    height: 3rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .icon::before {
    width: 1.75rem;
    height: 1.75rem;
  }
}
@media (max-width: 48rem) {
  .cmn-check-btn.--sp-square .txt {
    font-size: 0.75rem;
  }
}
.cmn-check-btn input {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}
.cmn-check-btn input:checked + .box::before {
  content: "";
}
.cmn-check-btn .box {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.1875rem;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cmn-check-btn .box::before {
  display: block;
  position: absolute;
  top: -0.09375rem;
  right: -0.28125rem;
  width: 1.6875rem;
  aspect-ratio: 27/22;
  height: auto;
  background-image: url(../../../img/common/icon-check-large.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cmn-check-btn .icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 100%;
  background-color: #F6F1EE;
}
@media (max-width: 48rem) {
  .cmn-check-btn .icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.cmn-check-btn .icon::before {
  content: "";
  z-index: 2;
  width: 1.75rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .cmn-check-btn .icon::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.cmn-check-btn .icon.--mansion::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.cmn-check-btn .icon.--house::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.cmn-check-btn .icon.--land::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.cmn-check-btn .txt {
  font-size: 1rem;
}
/* アイコンボタン 
-------------------------------------------------------------------- */
.cmn-icon-btn {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.5rem;
  padding: 0.5rem 2.1875rem 0.5rem 1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 4rem;
  transition: outline-color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  outline: 0.125rem solid transparent;
}
@media (max-width: 48rem) {
  .cmn-icon-btn {
    padding: 0.375rem 2.0625rem 0.375rem 0.75rem;
    min-height: 3.25rem;
  }
}
@media (any-hover: hover) {
  .cmn-icon-btn:not(:disabled):not(.--type02):not(.--type03):hover {
    border-color: transparent;
    outline-color: #F00000;
  }
}
.cmn-icon-btn__arrow {
  display: block;
  width: 0.5rem;
  aspect-ratio: 8/14;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  right: 1.1875rem;
  transition: background-color 0.3s ease-out;
}
.cmn-icon-btn__icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #F6F1EE;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 48rem) {
  .cmn-icon-btn__icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.cmn-icon-btn__icon::before {
  content: "";
  display: block;
  width: 3rem;
  height: 1.75rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 48rem) {
  .cmn-icon-btn__icon::before {
    width: 2.5rem;
    height: 1.5rem;
  }
}
.cmn-icon-btn.--mansion .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.cmn-icon-btn.--house .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.cmn-icon-btn.--all .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-all.svg);
          mask-image: url(../../../img/common/icon-all.svg);
}
.cmn-icon-btn.--land .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.cmn-icon-btn.--rent .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-rent.svg);
          mask-image: url(../../../img/common/icon-rent.svg);
}
.cmn-icon-btn.--area .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
}
.cmn-icon-btn.--train .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-train.svg);
          mask-image: url(../../../img/common/icon-train.svg);
}
.cmn-icon-btn.--map .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-map-search.svg);
          mask-image: url(../../../img/common/icon-map-search.svg);
}
.cmn-icon-btn.--building .cmn-icon-btn__icon::before {
  -webkit-mask-image: url(../../../img/common/icon-building.svg);
          mask-image: url(../../../img/common/icon-building.svg);
}
.cmn-icon-btn.--sp-icon-non .cmn-icon-btn__arrow {
  display: none;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--sp-icon-non {
    font-size: 0.75rem;
    padding: 0.375rem 1rem;
    justify-content: center;
  }
  .cmn-icon-btn.--sp-icon-non .cmn-icon-btn__icon {
    display: none;
  }
}
.cmn-icon-btn.--type02 {
  border-radius: 0.75rem;
  font-size: 1.25rem;
  min-height: 5.25rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  border: 0.125rem solid #F00000;
  outline: unset;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type02 {
    font-size: 1.125rem;
  }
}
@media (any-hover: hover) {
  .cmn-icon-btn.--type02:not(:disabled):hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .cmn-icon-btn.--type02:not(:disabled):hover .cmn-icon-btn__arrow {
    background-color: #FFFFFF;
  }
}
.cmn-icon-btn.--type02 .cmn-icon-btn__txt {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  line-height: 1.5;
}
.cmn-icon-btn.--type02 .num {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type02 .num {
    font-size: 0.875rem;
  }
}
.cmn-icon-btn.--type02 .cmn-icon-btn__icon {
  width: 3.75rem;
  height: 3.75rem;
}
.cmn-icon-btn.--type02 .cmn-icon-btn__icon::before {
  width: 3.75rem;
  height: 2.25rem;
}
.cmn-icon-btn.--type02.--all .cmn-icon-btn__icon::before {
  width: 2.25rem;
}
.cmn-icon-btn.--type02.--font-s {
  font-size: 1rem;
}
.cmn-icon-btn.--type03 {
  border-radius: 0.75rem;
  font-size: 0.875rem;
  min-height: 7.5rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
  border: 0.125rem solid #F00000;
  outline: unset;
  filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.16));
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem 2.1875rem;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type03 {
    justify-content: flex-start;
    gap: 1rem;
    padding: 0.375rem 2.0625rem 0.375rem 0.75rem;
    flex-direction: row;
    font-size: 1.125rem;
    min-height: 5.25rem;
  }
}
@media (any-hover: hover) {
  .cmn-icon-btn.--type03:not(:disabled):hover {
    background-color: #F00000;
    color: #FFFFFF;
  }
  .cmn-icon-btn.--type03:not(:disabled):hover .cmn-icon-btn__arrow {
    background-color: #FFFFFF;
  }
}
.cmn-icon-btn.--type03 .cmn-icon-btn__icon {
  width: 4.25rem;
  height: 4.25rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type03 .cmn-icon-btn__icon {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.cmn-icon-btn.--type03 .cmn-icon-btn__icon::before {
  width: 4.25rem;
  height: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn.--type03 .cmn-icon-btn__icon::before {
    width: 3.75rem;
    height: 2.25rem;
  }
}

/* LINEボタン
-------------------------------------------------------------------- */
.cmn-line-btn {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2rem;
  padding: 0.5rem 2.5rem 0.5rem 4.75rem;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  min-height: 3.5rem;
  position: relative;
  max-width: 100%;
  background-color: #12C85C;
}
@media (max-width: 48rem) {
  .cmn-line-btn {
    padding: 0.5rem 3.625rem;
    justify-content: center;
  }
}
@media (max-width: 30rem) {
  .cmn-line-btn {
    width: 100%;
  }
}
@media (any-hover: hover) {
  .cmn-line-btn:not(:disabled):hover .cmn-line-btn__icon,
  .cmn-line-btn:not(:disabled):hover .cmn-line-btn__txt {
    opacity: 0.8;
  }
}
.cmn-line-btn__txt {
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 500;
  transition: opacity 0.3s ease-out;
}
.cmn-line-btn__icon {
  transition: opacity 0.3s ease-out;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../../../img/common/icon-line.svg);
  position: absolute;
  left: 2rem;
}
@media (max-width: 48rem) {
  .cmn-line-btn__icon {
    left: 1.125rem;
  }
}

/* 設定ボタン
-------------------------------------------------------------------- */
.cmn-setting-btn {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn {
    flex-direction: column;
    gap: 0.1875rem;
  }
}
.cmn-setting-btn:has(input:checked) .cmn-setting-btn__txt .on-txt {
  display: block;
}
.cmn-setting-btn:has(input:checked) .cmn-setting-btn__txt .off-txt {
  display: none;
}
.cmn-setting-btn__txt {
  font-weight: 400;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__txt {
    font-size: 0.875rem;
  }
}
.cmn-setting-btn__txt .on-txt {
  display: none;
}
.cmn-setting-btn__txt .off-txt {
  display: block;
}
.cmn-setting-btn__label {
  position: relative;
  width: 3.5rem;
  height: 2rem;
  padding: 0.25rem;
  display: inline-block;
}
.cmn-setting-btn__label input {
  opacity: 0;
  width: 0;
  height: 0;
}
.cmn-setting-btn__label input:checked + .cmn-setting-btn__slider {
  background-color: #F00000;
}
.cmn-setting-btn__label input:checked + .cmn-setting-btn__slider::before {
  transform: translateX(1.5rem);
}
.cmn-setting-btn__slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #CCCCCC;
  transition: background-color 0.3s ease-out;
  border-radius: 2rem;
  display: flex;
  align-items: center;
}
.cmn-setting-btn__slider::before {
  position: absolute;
  content: "";
  height: 1.5rem;
  width: 1.5rem;
  left: 0.25rem;
  background-color: #FFFFFF;
  transition: transform 0.3s ease-out;
  border-radius: 50%;
}
.cmn-setting-btn__wrapper {
  border-radius: 0.75rem;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  padding: 1.5rem;
  display: flex;
  gap: 1.25rem;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__wrapper {
    padding: 1rem;
  }
}
.cmn-setting-btn__wrapper + .cmn-setting-btn__wrapper {
  margin-top: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__wrapper + .cmn-setting-btn__wrapper {
    margin-top: 1.25rem;
  }
}
.cmn-setting-btn__wrapper:has(input:checked) .cmn-setting-btn__ttl .on-txt {
  display: block;
}
.cmn-setting-btn__wrapper:has(input:checked) .cmn-setting-btn__ttl .off-txt {
  display: none;
}
.cmn-setting-btn__ttl {
  font-weight: bold;
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .cmn-setting-btn__ttl {
    font-size: 0.875rem;
  }
}
.cmn-setting-btn__ttl .on-txt {
  display: none;
}
.cmn-setting-btn__ttl .off-txt {
  display: block;
}

/* タグボタン
-------------------------------------------------------------------- */
.cmn-tag-btn {
  display: inline-block;
  font-size: 0.875rem;
  border: 0.0625rem solid #DDDDDD;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  transition: color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-tag-btn {
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn-tag-btn:hover {
    border-color: #F00000;
    background-color: #FCE2E2;
    color: #F00000;
  }
}

/* ボタンラップ
-------------------------------------------------------------------- */
.cmn-btn-wrap {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-btn-wrap {
    margin-top: 2rem;
    flex-direction: column;
  }
}
.cmn-btn-wrap.--wide {
  margin-top: 5rem;
}
@media (max-width: 48rem) {
  .cmn-btn-wrap.--wide {
    margin-top: 2.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-btn-wrap.--reverse {
    flex-direction: column-reverse;
  }
}

.cmn-btn-nav-txt {
  text-align: center;
  font-size: 0.75rem;
  margin-top: 1rem;
}
@media (max-width: 48rem) {
  .cmn-btn-nav-txt {
    font-size: 0.625rem;
    margin-top: 0.75rem;
  }
}
.cmn-container.--navy .cmn-btn-nav-txt {
  color: #FFFFFF;
}

.cmn-icon-btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-icon-btn-wrap {
    gap: 0.75rem;
  }
}
.cmn-icon-btn-wrap .cmn-icon-btn {
  flex: 1;
}

/* ボタンリスト
-------------------------------------------------------------------- */
.cmn-btn-list {
  display: flex;
  gap: 0.75rem 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-btn-list {
    gap: 0.5rem 1rem;
  }
}
.cmn-btn-list > * {
  width: calc((100% - 1.5rem) / 4);
}
@media (max-width: 48rem) {
  .cmn-btn-list > * {
    width: calc((100% - 1rem) / 2);
  }
}

.cmn-icon-btn-list {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list {
    gap: 1.25rem;
  }
}
.cmn-icon-btn-list .cmn-icon-btn {
  flex: 1;
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list .cmn-icon-btn {
    flex: unset;
    width: 100%;
  }
}
.cmn-icon-btn-list.--col3 .cmn-icon-btn {
  flex: unset;
  width: calc((100% - 4rem) / 3);
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list.--col3 .cmn-icon-btn {
    width: 100%;
  }
}
.cmn-icon-btn-list.--col4 {
  gap: 1.25rem;
}
.cmn-icon-btn-list.--col4 .cmn-icon-btn {
  flex: unset;
  width: calc((100% - 3.75rem) / 4);
}
@media (max-width: 48rem) {
  .cmn-icon-btn-list.--col4 .cmn-icon-btn {
    width: 100%;
  }
}

.cmn-check-btn-list {
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-check-btn-list {
    gap: 0.75rem;
  }
}
.cmn-check-btn-list .cmn-check-btn {
  flex: 1;
}
/* スイッチ切り替えタブ
-------------------------------------------------------------------- */
.cmn-switch {
  background-color: #F2F2F2;
  padding: 0.25rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (max-width: 48rem) {
  .cmn-switch {
    padding: 0.125rem;
    border-radius: 0.5rem;
  }
}
.cmn-switch__btn {
  font-weight: 500;
  font-size: 1.125rem;
  border-radius: 0.5rem;
  height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}
@media (max-width: 48rem) {
  .cmn-switch__btn {
    height: 2.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
  }
}
.cmn-switch__btn.--current {
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.16));
  background-color: #FFFFFF;
}

.cmn-tag-btn-list {
  display: flex;
  gap: 0.75rem 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 48rem) {
  .cmn-tag-btn-list {
    gap: 0.5rem 0.25rem;
  }
}

/* 0件ページの補助ボタン
-------------------------------------------------------------------- */
.cmn-assist-link {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  align-items: center;
  font-weight: 500;
  font-size: 1rem;
  padding: 1rem;
  min-height: 3.5rem;
  border-radius: 0.5rem;
  border: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-assist-link {
    font-size: 0.875rem;
    min-height: 3.375rem;
  }
}
.cmn-assist-link::before {
  content: "";
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../../../img/common/icon-btn-cross.svg);
}

.cmn-assist-link-wrap {
  margin-top: 2rem;
}
@media (max-width: 48rem) {
  .cmn-assist-link-wrap {
    margin-top: 1.5rem;
  }
}

/* テキストボックス
-------------------------------------------------------------------- */
.cmn-input-text {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 0.5rem;
  padding: 0.875rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #F2F2F2;
}
.cmn-input-text:-moz-placeholder {
  color: #808080;
}
.cmn-input-text:placeholder-shown {
  color: #808080;
}
.cmn-input-text:not(:-moz-placeholder) {
  background-color: #FFFFFF;
}
.cmn-input-text:not(:placeholder-shown), .cmn-input-text:focus, .cmn-input-text:active {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-input-text:hover {
    background-color: #FFFFFF;
  }
}

.cmn-input-text-wrap {
  width: 100%;
}
.cmn-input-text-wrap.--w577 {
  width: 36.0625rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w300 {
  width: 18.75rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w227 {
  width: 14.1875rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w200 {
  width: 12.5rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w150 {
  width: 9.375rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w120 {
  width: 7.5rem;
  max-width: 100%;
}
.cmn-input-text-wrap.--w100 {
  width: 6.25rem;
  max-width: 100%;
}
@media (max-width: 48rem) {
  .cmn-input-text-wrap.--w577, .cmn-input-text-wrap.--w300, .cmn-input-text-wrap.--w227, .cmn-input-text-wrap.--w200, .cmn-input-text-wrap.--w150, .cmn-input-text-wrap.--w120, .cmn-input-text-wrap.--w100 {
    width: 100%;
  }
}
.cmn-input-text-wrap.--password {
  display: flex;
  position: relative;
  align-items: center;
}
.cmn-input-text-wrap.--password .cmn-input-text {
  padding-right: 3.125rem;
}
@media (max-width: 48rem) {
  .cmn-input-text-wrap.--password .cmn-input-text {
    padding-right: 2.875rem;
  }
}
.cmn-input-text-wrap.--password .cmn-password-icon {
  position: absolute;
  width: 1.375rem;
  height: auto;
  right: 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-input-text-wrap.--password .cmn-password-icon {
    right: 1rem;
  }
}

.cmn-input-text__label {
  display: inline-block;
  text-align: end;
  min-width: 2rem;
}

/* テキストエリア
-------------------------------------------------------------------- */
.cmn-textarea-wrap {
  width: 100%;
}
.cmn-textarea-wrap.--w600 {
  width: 37.5rem;
  max-width: 100%;
}
.cmn-textarea-wrap.--w577 {
  width: 36.0625rem;
  max-width: 100%;
}
.cmn-textarea-wrap.--w400 {
  width: 25rem;
  max-width: 100%;
}
@media (max-width: 48rem) {
  .cmn-textarea-wrap.--w600, .cmn-textarea-wrap.--w400 {
    width: 100%;
  }
}

.cmn-textarea {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  background-color: #F2F2F2;
  resize: vertical;
  min-height: 11.5rem;
}
.cmn-textarea:-moz-placeholder {
  color: #808080;
}
.cmn-textarea:placeholder-shown {
  color: #808080;
}
.cmn-textarea:not(:-moz-placeholder) {
  background-color: #FFFFFF;
}
.cmn-textarea:not(:placeholder-shown), .cmn-textarea:focus, .cmn-textarea:active {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-textarea:hover {
    background-color: #FFFFFF;
  }
}

/* ラジオボタン
-------------------------------------------------------------------- */
.cmn-radio {
  display: flex;
  position: relative;
}
.cmn-radio__text {
  line-height: 1.25;
}

/* input type="radio" 本体は .u-visually-hidden を使用して非表示にしているためスタイル不要 */
.cmn-radio__label {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  line-height: 2;
  cursor: pointer;
}
.cmn-radio__label.--with-description {
  align-items: flex-start;
}

.cmn-radio__control {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #CCCCCC;
  border-radius: 50%;
  transition: border-color 0.3s ease;
  flex-shrink: 0;
}
.cmn-radio__control::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #F00000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cmn-radio__input:checked ~ .cmn-radio__label .cmn-radio__control {
  border-color: #F00000;
}
.cmn-radio__input:checked ~ .cmn-radio__label .cmn-radio__control::before {
  opacity: 1;
}

/* チェックボックス
-------------------------------------------------------------------- */
.cmn-checkbox {
  flex-shrink: 0;
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cmn-checkbox .icon {
  display: block;
  position: absolute;
  aspect-ratio: 11.72/8.07;
  width: 0.7325rem;
  height: auto;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  opacity: 0;
}
.cmn-checkbox input {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  border-radius: 0.25rem;
}
.cmn-checkbox input:checked {
  border-color: #F00000;
  background-color: #F00000;
}
.cmn-checkbox input:checked + .icon {
  opacity: 1;
}

.cmn-checkbox__label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 2;
  cursor: pointer;
  max-width: -moz-max-content;
  max-width: max-content;
}
.cmn-checkbox__label.--tertiary .cmn-checkbox input:checked {
  border-color: #CCCCCC;
  background-color: #FFFFFF;
}
.cmn-checkbox__label.--tertiary .cmn-checkbox input:checked + .icon {
  background-color: #F00000;
}

/* カレンダー (calendarModule.js必須)
-------------------------------------------------------------------- */
.mod-calendar-wrap {
  position: relative;
}
.mod-calendar-wrap.--w227 {
  width: 14.1875rem;
}
@media (max-width: 48rem) {
  .mod-calendar-wrap.--w227 {
    width: 100%;
  }
}
.mod-calendar-wrap .mod-calendar__icon {
  display: block;
  width: 1.25rem;
  height: 1.338125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
  transition: background-color 0.3s ease-out;
}

.mod-calendar {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 3rem;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  flex-shrink: 0;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  background-color: #F2F2F2;
  border: 1px solid #CCCCCC;
  color: #000000;
}
.mod-calendar.is-default {
  color: #808080;
  background-color: #F2F2F2;
}
.mod-calendar:not(.is-default) {
  color: #000000;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
}
.mod-calendar:focus, .mod-calendar:active {
  background-color: #FFFFFF;
  border-color: #F00000;
  color: #000000;
}
@media (any-hover: hover) {
  .mod-calendar:hover {
    background-color: #FFFFFF;
    border-color: #F00000;
    color: #000000;
  }
}
.mod-calendar:invalid {
  border: transparent;
  background-color: #FCE2E2;
}
@media (max-width: 48rem) {
  .mod-calendar {
    min-height: 3rem;
  }
}

/* カレンダーポップアップ本体 */
.mod-calendar__popup {
  display: none;
  position: absolute;
  top: calc(100% + 1.125rem);
  left: 0;
  width: 21.5rem;
  background: #FFFFFF;
  border-radius: 0.5rem;
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16);
  z-index: 10;
  padding: 1.25rem 1.125rem;
}
@media (max-width: 48rem) {
  .mod-calendar__popup {
    width: calc(100% + 2.5rem);
    left: 50%;
    transform: translateX(-50%);
  }
}
.mod-calendar__popup.is-open {
  display: block;
}

.mod-calendar-wrap.is-open .mod-calendar__popup {
  display: block;
}

.mod-calendar-wrap.is-open .mod-calendar {
  color: #808080;
}

.mod-calendar-wrap.is-open .mod-calendar__icon {
  background-color: #CCCCCC;
}

/* ヘッダー (月/年 と ナビ) */
.mod-calendar__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
  padding: 0 0.875rem;
}

.mod-calendar__month-year {
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Lato", sans-serif;
}

.mod-calendar__nav {
  background: #000000;
  border: none;
  cursor: pointer;
  padding: 0;
  height: 0.875rem;
  width: 0.757771875rem;
  transition: opacity 0.2s;
}
@media (any-hover: hover) {
  .mod-calendar__nav:hover {
    opacity: 0.7;
  }
}
.mod-calendar__nav.--prev {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.mod-calendar__nav.--next {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* 曜日 */
.mod-calendar__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 0.5rem;
}
.mod-calendar__weekdays span {
  text-align: center;
  font-size: 0.875rem;
  color: #DDDDDD;
  font-weight: 500;
  line-height: 1.5;
}

/* 日付グリッド */
.mod-calendar__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

/* 日付ボタン */
.mod-calendar__day {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 44/40;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-calendar__day.--holiday {
  background-color: #F7F7F7;
  color: #DDDDDD;
}
.mod-calendar__day.--other-month {
  color: #CCCCCC;
  pointer-events: none;
}
.mod-calendar__day.--today {
  border: 1px solid #CCCCCC;
}
@media (any-hover: hover) {
  .mod-calendar__day:hover:not(.--other-month):not(.--selected) {
    background-color: #F2F2F2;
  }
}
.mod-calendar__day.--selected {
  border: 1px solid #F00000;
  color: #F00000;
}

.mod-calendar__close-btn {
  max-width: 8.25rem;
  width: 100%;
  margin: 0 auto;
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  background-color: #E8E8E8;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-calendar__close-btn::before {
  content: "";
  display: block;
  width: 0.75rem;
  aspect-ratio: 1/1;
  background-color: #000000;
  -webkit-mask-image: url(../../../img/form/icon-close.svg);
          mask-image: url(../../../img/form/icon-close.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (any-hover: hover) {
  .mod-calendar__close-btn:hover {
    background-color: #CCCCCC;
  }
}

/* エラースタイル
-------------------------------------------------------------------- */
.is-invalid {
  border-color: transparent !important;
  background-color: #FCE2E2 !important;
}

/* 表示 / 非表示
-------------------------------------------------------------------- */
@media (max-width: 48rem) {
  .u-pc-only {
    display: none !important;
  }
}

@media (min-width: 48.0625rem) {
  .u-sp-only {
    display: none !important;
  }
}

@media (max-width: 90rem) {
  .u-pc-only--2xl {
    display: none !important;
  }
}

@media (min-width: 90.0625rem) {
  .u-sp-only--2xl {
    display: none !important;
  }
}

@media (max-width: 80rem) {
  .u-pc-only--xl {
    display: none !important;
  }
}

@media (min-width: 80.0625rem) {
  .u-sp-only--xl {
    display: none !important;
  }
}

@media (max-width: 66.25rem) {
  .u-pc-only--lg {
    display: none !important;
  }
}

@media (min-width: 66.3125rem) {
  .u-sp-only--lg {
    display: none !important;
  }
}

@media (max-width: 30rem) {
  .u-pc-only--xs {
    display: none !important;
  }
}

@media (min-width: 30.0625rem) {
  .u-sp-only--xs {
    display: none !important;
  }
}

.u-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  /* stylelint-disable-next-line property-disallowed-list, property-no-vendor-prefix */
  clip-path: inset(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.u-relative {
  position: relative;
}

.u-overflow-visible {
  overflow: visible !important;
}

/* SVG fill stroke
-------------------------------------------------------------------- */
.u-fill-black {
  fill: #000000;
}

.u-fill-white {
  fill: #FFFFFF;
}

.u-fill-primary01 {
  fill: #F00000;
}

.u-stroke-black {
  stroke: #000000;
}

.u-stroke-white {
  stroke: #FFFFFF;
}

.u-stroke-primary01 {
  stroke: #F00000;
}

.u-stroke-secondary {
  stroke: #BD967C;
}

/* SVG mask
-------------------------------------------------------------------- */
.u-mask-arrow {
  flex-shrink: 0;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-arrow-ms {
  flex-shrink: 0;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-download {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-download.svg);
          mask-image: url(../../../img/common/icon-download.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-pdf {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-external {
  flex-shrink: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-calender {
  flex-shrink: 0;
  display: block;
  width: 1.168125rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-calender.svg);
          mask-image: url(../../../img/common/icon-calender.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-mail {
  flex-shrink: 0;
  display: block;
  width: 1.433125rem;
  height: 1.125rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-mail.svg);
          mask-image: url(../../../img/common/icon-mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-tel {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-tel.svg);
          mask-image: url(../../../img/common/icon-tel.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-close {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-close.svg);
          mask-image: url(../../../img/common/icon-close.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-alert {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-alert.svg);
          mask-image: url(../../../img/common/icon-alert.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-access {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-access.svg);
          mask-image: url(../../../img/common/icon-access.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-access02 {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-access02.svg);
          mask-image: url(../../../img/common/icon-access02.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.u-mask-calculator {
  flex-shrink: 0;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #F00000;
  -webkit-mask-image: url(../../../img/common/icon-calculator.svg);
          mask-image: url(../../../img/common/icon-calculator.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

/* テキスト関連
-------------------------------------------------------------------- */
.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-pc-right {
  text-align: right;
}
@media (max-width: 48rem) {
  .u-text-pc-right {
    text-align: left;
  }
}

.u-text-pc-center {
  text-align: center;
}
@media (max-width: 48rem) {
  .u-text-pc-center {
    text-align: left;
  }
}

.u-text-sp-center {
  text-align: left;
}
@media (max-width: 48rem) {
  .u-text-sp-center {
    text-align: center;
  }
}

.u-text-bold {
  font-weight: bold !important;
}

.u-font-lato {
  font-family: "Lato", sans-serif !important;
  font-weight: bold;
}

.u-font-noto-serif {
  font-family: "Noto Serif JP", serif !important;
}

.u-font-marcellus {
  font-family: "Marcellus", serif !important;
}

.u-color-white {
  color: #FFFFFF !important;
}

.u-color-red {
  color: #F00000 !important;
}

.u-color-red02 {
  color: #CC0000 !important;
}

.u-color-blue {
  color: #020055 !important;
}

.u-underline {
  text-decoration: underline !important;
}

.u-line-marker {
  background: linear-gradient(transparent 64%, #F4E2E2 64%);
}

.u-text-between {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .u-text-between.--only-pc {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.u-text-3xl {
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .u-text-3xl {
    font-size: 1.75rem;
  }
}

.u-text-2xl {
  font-size: 1.5rem;
}
@media (max-width: 48rem) {
  .u-text-2xl {
    font-size: 1.375rem;
  }
}

.u-text-xl {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .u-text-xl {
    font-size: 1.125rem;
  }
}

.u-text-l {
  font-size: 1.125rem;
}
@media (max-width: 48rem) {
  .u-text-l {
    font-size: 1rem;
  }
}

.u-text-m {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .u-text-m {
    font-size: 0.875rem;
  }
}

.u-text-s {
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .u-text-s {
    font-size: 0.75rem;
  }
}

.u-text-ss {
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .u-text-ss {
    font-size: 0.625rem;
  }
}

/* リンク関連
-------------------------------------------------------------------- */
.u-anchor-adjust {
  position: relative;
  top: calc(var(--header-height) * -1);
}
.u-anchor-adjust.--ms-ex {
  top: calc(var(--header-ms-ex-height) * -1);
}
.u-anchor-adjust.--detail {
  top: calc((4.5rem + var(--header-height)) * -1);
}
@media (max-width: 48rem) {
  .u-anchor-adjust.--detail {
    top: calc((3.5rem + var(--header-height)) * -1);
  }
}

/* hover
-------------------------------------------------------------------- */
.u-hover-txt-red {
  transition: color 0.3s ease-out;
}
@media (any-hover: hover) {
  .u-hover-txt-red:hover {
    color: #F00000;
    text-decoration: underline;
  }
}

.u-hover-img {
  transition: opacity 0.3s ease-out;
}
@media (any-hover: hover) {
  .u-hover-img:hover {
    opacity: 0.6;
  }
}

/* 余白
-------------------------------------------------------------------- */
.u-pt00 {
  padding-top: 0 !important;
}

.u-pt08 {
  padding-top: 0.5rem !important;
}

.u-pt12 {
  padding-top: 0.75rem !important;
}

.u-pt16 {
  padding-top: 1rem !important;
}

.u-pt24 {
  padding-top: 1.5rem !important;
}

.u-pt40 {
  padding-top: 2.5rem !important;
}

.u-pt64 {
  padding-top: 4rem !important;
}

.u-pl04 {
  padding-left: 0.25rem !important;
}

.u-pl08 {
  padding-left: 0.5rem !important;
}

.u-pb00 {
  padding-bottom: 0 !important;
}

.u-pb16 {
  padding-bottom: 1rem !important;
}

.u-pb40 {
  padding-bottom: 2.5rem !important;
}

.u-pb80 {
  padding-bottom: 5rem !important;
}

.u-miauto {
  margin-inline: auto !important;
}

.u-mt00 {
  margin-top: 0 !important;
}

.u-mt04 {
  margin-top: 0.25rem !important;
}

.u-mt08 {
  margin-top: 0.5rem !important;
}

.u-mt12 {
  margin-top: 0.75rem !important;
}

.u-mt16 {
  margin-top: 1rem !important;
}

.u-mt20 {
  margin-top: 1.25rem !important;
}

.u-mt24 {
  margin-top: 1.5rem !important;
}

.u-mt32 {
  margin-top: 2rem !important;
}

.u-mt48 {
  margin-top: 3rem !important;
}

.u-mt40 {
  margin-top: 2.5rem !important;
}

.u-mt56 {
  margin-top: 3.5rem !important;
}

.u-mt64 {
  margin-top: 4rem !important;
}

.u-mt80 {
  margin-top: 5rem !important;
}

.u-mb00 {
  margin-bottom: 0 !important;
}

.u-mb08 {
  margin-bottom: 0.5rem !important;
}

.u-mb12 {
  margin-bottom: 0.75rem !important;
}

.u-mb16 {
  margin-bottom: 1rem !important;
}

.u-mb20 {
  margin-bottom: 1.25rem !important;
}

.u-mb24 {
  margin-bottom: 1.5rem !important;
}

.u-mb32 {
  margin-bottom: 2rem !important;
}

.u-mb40 {
  margin-bottom: 2.5rem !important;
}

.u-mb48 {
  margin-bottom: 3rem !important;
}

.u-mb56 {
  margin-bottom: 3.5rem !important;
}

.u-mb64 {
  margin-bottom: 4rem !important;
}

.u-mb80 {
  margin-bottom: 5rem !important;
}

.u-ml00 {
  margin-left: 0 !important;
}

.u-ml08 {
  margin-left: 0.5rem !important;
}

.u-mlauto {
  margin-left: auto !important;
}

.u-mr12 {
  margin-right: 0.75rem !important;
}

@media (max-width: 66.25rem) {
  .u-lg\:pt16 {
    padding-top: 1rem !important;
  }
}

@media (max-width: 66.25rem) {
  .u-lg\:pt20 {
    padding-top: 1.25rem !important;
  }
}

@media (max-width: 66.25rem) {
  .u-lg\:miauto {
    margin-inline: auto !important;
  }
}

@media (max-width: 66.25rem) {
  .u-lg\:mt32 {
    margin-top: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:miauto {
    margin-inline: auto !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt00 {
    padding-top: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt16 {
    padding-top: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt20 {
    padding-top: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt24 {
    padding-top: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt32 {
    padding-top: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt40 {
    padding-top: 2.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt48 {
    padding-top: 3rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pt80 {
    padding-top: 5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb00 {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb16 {
    padding-bottom: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb20 {
    padding-bottom: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb24 {
    padding-bottom: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb30 {
    padding-bottom: 1.875rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb40 {
    padding-bottom: 2.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:pb80 {
    padding-bottom: 5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt00 {
    margin-top: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt04 {
    margin-top: 0.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt08 {
    margin-top: 0.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt12 {
    margin-top: 0.75rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt14 {
    margin-top: 0.875rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt16 {
    margin-top: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt20 {
    margin-top: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt22 {
    margin-top: 1.375rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt24 {
    margin-top: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt32 {
    margin-top: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt40 {
    margin-top: 2.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt48 {
    margin-top: 3rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mt56 {
    margin-top: 3.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb00 {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb08 {
    margin-bottom: 0.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb10 {
    margin-bottom: 0.625rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb12 {
    margin-bottom: 0.75rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb16 {
    margin-bottom: 1rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb18 {
    margin-bottom: 1.125rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb20 {
    margin-bottom: 1.25rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb24 {
    margin-bottom: 1.5rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb32 {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 48rem) {
  .u-md\:mb40 {
    margin-bottom: 2.5rem !important;
  }
}

/* その他
-------------------------------------------------------------------- */
.u-no-shrink {
  flex-shrink: 0;
}

.u-w100 {
  width: 100%;
}

.u-round-image-8 {
  border-radius: 0.5rem;
}

.u-round-image-12 {
  border-radius: 0.75rem;
}

/* リード文
-------------------------------------------------------------------- */
.cmn-lead-txt {
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-lead-txt {
    font-size: 0.875rem;
  }
}
.cmn-container.--navy .cmn-lead-txt {
  color: #FFFFFF;
}

/* 注記
-------------------------------------------------------------------- */
.cmn-note {
  font-size: 0.75rem;
  margin-top: 1rem;
}
.cmn-note-wrap .cmn-note {
  margin-top: unset;
}
@media (max-width: 48rem) {
  .cmn-note {
    font-size: 0.625rem;
  }
}

.cmn-note-wrap {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-note-wrap {
    margin-top: 1.5rem;
  }
}

/* テキストコンテナ
-------------------------------------------------------------------- */
.cmn-pc-right-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 48rem) {
  .cmn-pc-right-container {
    align-items: flex-start;
  }
}

/* =========================================================== */
/* リスト */
/* =========================================================== */
.cmn-list-circle01 li::before {
  background-color: #F00000;
}
.cmn-list-circle01 li ul {
  margin-top: 1rem;
  display: grid;
  gap: 1.5rem;
}
.cmn-list-circle01 li ul li::before {
  background-color: transparent;
  border: 1px solid #F00000;
}

.cmn-list-circle02 li::before {
  background-color: #4D4D4D;
}

.cmn-list-circle01, .cmn-list-circle02 {
  list-style: none;
  display: grid;
  font-size: 1rem;
  gap: 1.5rem;
}
.cmn-list-circle01.--col2, .cmn-list-circle02.--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cmn-list-circle01.--col6, .cmn-list-circle02.--col6 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-list-circle01, .cmn-list-circle02 {
    font-size: 0.875rem;
  }
  .cmn-list-circle01.--col2, .cmn-list-circle01.--col6, .cmn-list-circle02.--col2, .cmn-list-circle02.--col6 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .cmn-list-circle01.--col2-md, .cmn-list-circle02.--col2-md {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.cmn-list-circle01 li, .cmn-list-circle02 li {
  position: relative;
  padding-left: 1.5rem;
}
.cmn-list-circle01 li::before, .cmn-list-circle02 li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
}
@media (max-width: 48rem) {
  .cmn-list-circle01 li::before, .cmn-list-circle02 li::before {
    top: 0.4375rem;
  }
}
.cmn-list-circle01 .--no-dot li::before, .cmn-list-circle02 .--no-dot li::before {
  position: static;
  width: auto;
  height: auto;
  background-color: transparent;
  border-radius: 0;
}
.cmn-list-circle01.--flex-wrap, .cmn-list-circle02.--flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-circle01.--flex-wrap, .cmn-list-circle02.--flex-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}

.cmn-list-check01, .cmn-list-check02 {
  display: grid;
  gap: 1.5rem;
  font-size: 1rem;
}
.cmn-list-check01.--col2, .cmn-list-check02.--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cmn-list-check01.--col3, .cmn-list-check02.--col3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.cmn-list-check01.--col6, .cmn-list-check02.--col6 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-list-check01, .cmn-list-check02 {
    font-size: 0.875rem;
  }
  .cmn-list-check01.--col2, .cmn-list-check01.--col3, .cmn-list-check01.--col6, .cmn-list-check02.--col2, .cmn-list-check02.--col3, .cmn-list-check02.--col6 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .cmn-list-check01.--col2-md, .cmn-list-check02.--col2-md {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.cmn-list-check01 li, .cmn-list-check02 li {
  position: relative;
  padding-left: 1.625rem;
}
.cmn-list-check01 li ul, .cmn-list-check02 li ul {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.cmn-list-check01 .icon-check, .cmn-list-check01 .icon-arrow, .cmn-list-check02 .icon-check, .cmn-list-check02 .icon-arrow {
  position: absolute;
  left: 0;
  top: 0.2em;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
}
.cmn-list-check01 .icon-check::before, .cmn-list-check01 .icon-arrow::before, .cmn-list-check02 .icon-check::before, .cmn-list-check02 .icon-arrow::before {
  content: "";
  display: block;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 0.75rem;
  height: 0.875rem;
  translate: 0 0.25rem;
  transition: background-color 0.3s ease-out;
}
.cmn-list-check01 .icon-check::before, .cmn-list-check02 .icon-check::before {
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
}
.cmn-list-check01 .icon-arrow::before, .cmn-list-check02 .icon-arrow::before {
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  width: 0.375rem;
  height: 1.25rem;
  margin-left: 0.125rem;
}

.cmn-list-check01 .icon-check, .cmn-list-check01 .icon-arrow {
  background-color: #EEE6E0;
}
.cmn-list-check01 .icon-check::before, .cmn-list-check01 .icon-arrow::before {
  background-color: #BD967C;
}

.cmn-list-check02 .icon-check, .cmn-list-check02 .icon-arrow {
  background-color: #F00000;
}
.cmn-list-check02 .icon-check::before, .cmn-list-check02 .icon-arrow::before {
  background-color: #FFFFFF;
}

.cmn-list-num {
  counter-reset: num;
  display: grid;
  gap: 1rem;
}
.cmn-list-num.--col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.cmn-list-num.--col3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.cmn-list-num.--col6 {
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
}
@media (max-width: 48rem) {
  .cmn-list-num.--col2, .cmn-list-num.--col3, .cmn-list-num.--col6 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .cmn-list-num.--col2-md {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.cmn-list-num li {
  position: relative;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-list-num li {
    font-size: 0.875rem;
  }
}
.cmn-list-num li::before {
  flex-shrink: 0;
  counter-increment: num;
  content: counter(num) ".";
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #F00000;
}
.cmn-list-num-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-num-container {
    gap: 1.5rem;
  }
}

.cmn-list-num-box {
  width: calc((100% - 2.5rem) / 2);
  border-bottom: 0.0625rem solid #DDDDDD;
  padding-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-num-box {
    width: 100%;
    padding-bottom: 1.5rem;
  }
}

.cmn-list-num02 {
  counter-reset: num;
  display: grid;
  gap: 1.5rem;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .cmn-list-num02 {
    font-size: 0.875rem;
    gap: 1rem;
  }
}
.cmn-list-num02 > li {
  position: relative;
  padding-left: 1.5rem;
}
.cmn-list-num02 > li::before {
  counter-increment: num;
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  color: #F00000;
}
.cmn-list-num02 > li ol, .cmn-list-num02 > li ul {
  margin-top: 1.5rem;
  display: grid;
  gap: 1.5rem;
}
.cmn-list-num02 > li ol li, .cmn-list-num02 > li ul li {
  position: relative;
  padding-left: 1.5rem;
}
.cmn-list-num02 > li ol li::before, .cmn-list-num02 > li ul li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #F00000;
  border-radius: 50%;
}
@media (max-width: 48rem) {
  .cmn-list-num02 > li ol li::before, .cmn-list-num02 > li ul li::before {
    top: 0.4375rem;
  }
}
.cmn-list-num02.--flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-list-num02.--flex-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}

/* cmn-table01
-------------------------------------------------------------------- */
.cmn-table01 {
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.5;
}
.cmn-table01 th {
  padding: 0.5rem 0;
  background-color: #F6F1EE;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
}
.cmn-table01 th:empty {
  background-color: transparent;
}
.cmn-table01 td {
  padding: 0.5rem 0;
  text-align: center;
  vertical-align: middle;
}
.cmn-table01 tbody tr:not(:last-child) {
  border-bottom: 1px solid #D8C3B4;
}

.cmn-table02 {
  width: 100%;
  line-height: 1.5;
  border-top: 0.0625rem solid #DDDDDD;
  border-right: 0.0625rem solid #DDDDDD;
  table-layout: fixed;
  border-collapse: collapse;
}
@media (max-width: 48rem) {
  .cmn-table02 {
    min-width: 33.75rem;
    width: 100%;
  }
}
.cmn-table02 th, .cmn-table02 td {
  padding: 0.5rem;
  vertical-align: middle;
  font-weight: 400;
  border-left: 0.0625rem solid #DDDDDD;
  border-bottom: 0.0625rem solid #DDDDDD;
  white-space: normal;
}
.cmn-table02 th {
  text-align: center;
  background-color: #F6F1EE;
}
.cmn-table02 tbody tr:not(:last-child) {
  border-bottom: 0.0625rem solid #D8C3B4;
}

@media (max-width: 48rem) {
  .cmn-table02-wrap {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

/* バナー
-------------------------------------------------------------------- */
.cmn-bnr-link {
  display: block;
  width: 100%;
  aspect-ratio: 332/190;
  transition: box-shadow 0.3s ease-out;
  overflow: hidden;
  isolation: isolate;
  position: relative;
  filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.08));
  border-radius: 0.75rem;
}
@media (any-hover: hover) {
  .cmn-bnr-link:hover img {
    transform: scale(1.08);
  }
}
.cmn-bnr-link.--border {
  border: 0.0625rem solid #DDDDDD;
}
.cmn-bnr-link img {
  transition: transform 0.3s ease-out;
  aspect-ratio: 332/190;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--sp-square {
    aspect-ratio: 160/109;
  }
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--sp-square img {
    aspect-ratio: 160/109;
  }
}
.cmn-bnr-link.--landscape {
  aspect-ratio: 514/190;
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--landscape {
    aspect-ratio: 672/248;
  }
}
.cmn-bnr-link.--landscape img {
  aspect-ratio: 514/190;
}
@media (max-width: 48rem) {
  .cmn-bnr-link.--landscape img {
    aspect-ratio: 672/248;
  }
}

.cmn-bnr-link-wrap {
  display: flex;
  gap: 2rem;
}
@media (max-width: 48rem) {
  .cmn-bnr-link-wrap {
    gap: 1.25rem;
    flex-direction: column;
  }
}
.cmn-bnr-link-wrap .cmn-bnr-link {
  flex: 1;
}

/* cmn-container-ms
-------------------------------------------------------------------- */
.cmn-container-ms {
  padding: 6rem 0;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-container-ms {
    padding: 4rem 0 5rem;
  }
}
.cmn-container-ms.--white {
  background-color: #FFFFFF;
}
.cmn-container-ms.--navy {
  background-color: #10123B;
}
.cmn-container-ms.--ivory {
  background-color: #FAF6F2;
}
.cmn-container-ms.--gray {
  background-color: #F0F0F0;
}
.cmn-container-ms.--img {
  padding: 6rem 0 7rem;
  background-position: center;
  background-size: cover;
  background-image: url("../../../img/selection/bg-container-ms01.webp");
}
@media (max-width: 48rem) {
  .cmn-container-ms.--img {
    padding: 2.5rem 0;
  }
}

/* cmn-inner-ms
-------------------------------------------------------------------- */
.cmn-inner-ms {
  width: calc(100% - 2.5rem);
  max-width: 66.25rem;
  margin: 0 auto;
  position: relative;
}
.cmn-inner-ms.--wide {
  max-width: 78.5rem;
}

/* cmn-spacer-ms
-------------------------------------------------------------------- */
.cmn-spacer-ms {
  display: block;
  margin-top: 6rem;
}
@media (max-width: 48rem) {
  .cmn-spacer-ms {
    margin-top: 4rem;
  }
}
.cmn-spacer-ms.--s {
  margin-top: 4rem;
}
@media (max-width: 48rem) {
  .cmn-spacer-ms.--s {
    margin-top: 2.5rem;
  }
}
.cmn-spacer-ms.--ss {
  margin-top: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-spacer-ms.--ss {
    margin-top: 2.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-spacer-ms.--ss.--sp-large {
    margin-top: 5rem;
  }
}

/* cmn-slider-ms
-------------------------------------------------------------------- */
@media (max-width: 48rem) {
  .cmn-slider-ms {
    padding-bottom: 0.875rem;
  }
}
.cmn-slider-ms .splide__track {
  overflow: visible;
}
.cmn-slider-ms.splide.is-initialized:not(.is-active) .splide__list {
  display: flex;
  flex-wrap: wrap;
}
.cmn-slider-ms .splide__arrows {
  position: static;
  transform: none;
}
.cmn-slider-ms .splide__arrows.splide__arrows--ltr {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cmn-slider-ms .splide__arrow {
  left: unset;
  right: unset;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  position: absolute;
  z-index: 1;
  background-color: rgba(16, 18, 59, 0.5);
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out, opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-slider-ms .splide__arrow {
    width: 2.5rem;
    height: 2.5rem;
    background-color: rgba(16, 18, 59, 0.6);
    top: auto;
    bottom: 0;
    transform: unset;
  }
}
.cmn-container.--navy .cmn-slider-ms .splide__arrow {
  background-color: rgba(255, 255, 255, 0.5);
}
.cmn-slider-ms .splide__arrow::before {
  content: "";
  transform: unset;
  display: block;
  width: 0.5rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-primary01.svg);
          mask-image: url(../../../img/common/icon-arrow-primary01.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease-out;
}
.cmn-slider-ms .splide__arrow:disabled {
  opacity: 0.3;
  pointer-events: none;
}
.cmn-container.--navy .cmn-slider-ms .splide__arrow:disabled {
  opacity: 1;
}
@media (any-hover: hover) {
  .cmn-slider-ms .splide__arrow:hover {
    background-color: rgba(16, 18, 59, 0.8);
  }
}
.cmn-slider-ms .splide__arrow--prev {
  transform: scaleX(-1);
  left: -5.5rem;
  top: calc(50% - 1.78125rem);
}
@media (max-width: 48rem) {
  .cmn-slider-ms .splide__arrow--prev {
    left: 0rem;
    top: auto;
  }
}
.cmn-slider-ms .splide__arrow--next {
  right: -5.5rem;
  top: calc(50% - 1.78125rem);
}
@media (max-width: 48rem) {
  .cmn-slider-ms .splide__arrow--next {
    right: 0rem;
    top: auto;
  }
}
.cmn-slider-ms .splide__pagination {
  padding: unset;
  position: static;
  margin-top: 2.5rem;
  gap: 1.75rem;
}
.cmn-slider-ms .splide__pagination__page {
  width: 0.75rem;
  height: 0.75rem;
  background-color: #DDDDDD;
  margin: unset;
}
.cmn-container.--navy .cmn-slider-ms .splide__pagination__page {
  background-color: #D2D2D2;
  opacity: 1;
}
.cmn-slider-ms .splide__pagination__page.is-active {
  background-color: #000000;
  transform: scale(1);
}
.cmn-container.--navy .cmn-slider-ms .splide__pagination__page.is-active {
  background-color: #FFFFFF;
}
.cmn-slider-ms.--2col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
.cmn-slider-ms.--2col .splide__slide {
  width: calc((100% - 2rem) / 2);
}
.cmn-slider-ms:not(.is-initialized) {
  visibility: visible;
}
.cmn-slider-ms:not(.is-initialized) .splide__arrows {
  display: none;
}
.cmn-slider-ms:not(.is-initialized) .splide__slide {
  width: 100%;
}
.cmn-slider-ms.--1col .splide__track {
  overflow: hidden;
}
.cmn-slider-ms.--1col .splide__slide {
  padding: 0 0.2rem;
}
.cmn-slider-ms.--3col .splide__track {
  overflow-x: clip;
}
@media (max-width: 48rem) {
  .cmn-slider-ms.--3col .splide__track {
    overflow-x: visible;
  }
}
.cmn-slider-ms.--3col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 2rem;
}
.cmn-slider-ms.--3col .splide__slide {
  width: calc((100% - 4rem) / 3);
}
.cmn-slider-ms.--4col .splide__track {
  overflow-x: clip;
}
@media (max-width: 48rem) {
  .cmn-slider-ms.--4col .splide__track {
    overflow-x: visible;
  }
}
.cmn-slider-ms.--4col.splide.is-initialized:not(.is-active) .splide__list {
  gap: 1.5rem;
}
.cmn-slider-ms.--4col .splide__slide {
  width: calc((100% - 4.5rem) / 4);
}
.cmn-slider-ms:has(.mod-brand-link) .splide__arrow--prev,
.cmn-slider-ms:has(.mod-brand-link) .splide__arrow--next {
  top: 5.8125rem;
}
@media (max-width: 48rem) {
  .cmn-slider-ms:has(.mod-brand-link) .splide__arrow--prev,
  .cmn-slider-ms:has(.mod-brand-link) .splide__arrow--next {
    display: none;
  }
}
.cmn-slider-ms:has(.mod-brand-link) .splide__arrow--next {
  transform: unset;
}

/* cmn-grid-ms
-------------------------------------------------------------------- */
.cmn-grid-ms {
  display: grid;
  gap: 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-grid-ms {
    gap: 2rem;
  }
}
.cmn-grid-ms.--4col {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 66.25rem) {
  .cmn-grid-ms.--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 48rem) {
  .cmn-grid-ms.--4col {
    grid-template-columns: 1fr;
  }
}
.cmn-grid-ms__item:nth-child(n+9) {
  display: none;
}
@media (max-width: 66.25rem) {
  .cmn-grid-ms__item:nth-child(n+7) {
    display: none;
  }
}
@media (max-width: 48rem) {
  .cmn-grid-ms__item:nth-child(n+5) {
    display: none;
  }
}

/* =========================================================== */
/* マンションセレクション共通ボタン */
/* =========================================================== */
/* ボタン 
-------------------------------------------------------------------- */
.cmn-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 4rem;
  line-height: 1.75;
  border-radius: 0.25rem;
  padding: 1rem 1.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: bold;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  color: #000000;
}
.cmn-btn-ms.is-disabled, .cmn-btn-ms:disabled {
  cursor: default !important;
  pointer-events: none !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
  background-color: #CCCCCC !important;
  color: #FFFFFF !important;
}
.cmn-btn-ms.is-disabled .cmn-btn-ms__icon, .cmn-btn-ms:disabled .cmn-btn-ms__icon {
  background-color: #808080 !important;
}
.cmn-btn-ms.is-disabled .cmn-btn-ms__icon::before, .cmn-btn-ms:disabled .cmn-btn-ms__icon::before {
  background-color: #FFFFFF !important;
}
@media (any-hover: hover) {
  .cmn-btn-ms:not(:disabled):hover {
    color: #FFFFFF;
    border-color: #F00000;
    background-color: #F00000;
  }
  .cmn-btn-ms:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .cmn-btn-ms:not(:disabled):hover .cmn-btn-ms__icon::before {
    border-radius: unset;
    aspect-ratio: 2.83/5.66;
    width: 0.3125rem;
    height: auto;
    background-color: #CC0000;
    -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
            mask-image: url(../../../img/common/icon-arrow-ms.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
  }
}
.cmn-btn-ms.--blue {
  color: #FFFFFF;
  border-color: #020055;
  background-color: #020055;
}
.cmn-btn-ms.--blue .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.cmn-btn-ms.--blue .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--blue:not(:disabled):hover {
    border-color: #3A397B;
    background-color: #3A397B;
  }
  .cmn-btn-ms.--blue:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .cmn-btn-ms.--blue:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #FFFFFF;
  }
}
.cmn-btn-ms.--secondary {
  color: #FFFFFF;
  background-color: #CC0000;
  border: 0.0625rem solid #CC0000;
}
.cmn-btn-ms.--secondary .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.cmn-btn-ms.--secondary .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--secondary:not(:disabled):hover {
    background-color: #AF0808;
    border-color: #AF0808;
  }
  .cmn-btn-ms.--secondary:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .cmn-btn-ms.--secondary:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #CC0000;
  }
}
.cmn-btn-ms.--gold {
  color: #FFFFFF;
  background-color: #AA9272;
  border: 0.0625rem solid #AA9272;
}
.cmn-btn-ms.--gold .cmn-btn-ms__icon {
  background-color: rgba(255, 255, 255, 0.4);
}
.cmn-btn-ms.--gold .cmn-btn-ms__icon::before {
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--gold:not(:disabled):hover {
    background-color: #937B5B;
    border-color: #937B5B;
  }
  .cmn-btn-ms.--gold:not(:disabled):hover .cmn-btn-ms__icon {
    background-color: #FFFFFF;
  }
  .cmn-btn-ms.--gold:not(:disabled):hover .cmn-btn-ms__icon::before {
    background-color: #937B5B;
  }
}
.cmn-btn-ms__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: rgba(204, 0, 0, 0.2);
  position: relative;
  transition: background-color 0.3s ease-out;
}
.cmn-btn-ms__icon::before {
  content: "";
  display: block;
  border-radius: unset;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  background-color: #CC0000;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.cmn-btn-ms.--s {
  font-size: 0.875rem;
  min-height: 2.75rem;
  padding: 0.75rem 1.25rem;
}
.cmn-btn-ms.--ss {
  font-size: 0.875rem;
  min-height: 2.25rem;
  padding: 0.5rem 0.75rem;
}
.cmn-btn-ms.--contact {
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.cmn-btn-ms.--contact .cmn-btn-ms__icon {
  background-color: #EEE6E0;
}
.cmn-btn-ms.--contact .cmn-btn-ms__icon::before {
  border-radius: unset;
  height: auto;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  aspect-ratio: 12.18/9;
  width: 0.76125rem;
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  margin-left: 0.0625rem;
}
@media (any-hover: hover) {
  .cmn-btn-ms.--contact:not(:disabled):hover {
    background-color: #CC0000;
    color: #FFFFFF;
  }
  .cmn-btn-ms.--contact:not(:disabled):hover .cmn-btn-ms__icon::before {
    border-radius: unset;
    height: auto;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    aspect-ratio: 12.18/9;
    width: 0.76125rem;
    -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
            mask-image: url(../../../img/selection/icon-mail-ms.svg);
    margin-left: 0.0625rem;
  }
}
.cmn-btn-ms.--contact.is-disabled .cmn-btn-ms__icon {
  background-color: #FFFFFF;
}
.cmn-btn-ms.--contact.is-disabled .cmn-btn-ms__icon::before {
  border-radius: unset;
  height: auto;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  aspect-ratio: 12.18/9;
  width: 0.76125rem;
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  margin-left: 0.0625rem;
  background-color: #CCCCCC;
}
.cmn-btn-ms.--w294 {
  min-width: 18.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w294 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w304 {
  min-width: 19rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w304 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w332 {
  min-width: 20.75rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w332 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w374 {
  min-width: 23.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w374 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w420 {
  min-width: 26.25rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w420 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--w566 {
  min-width: 35.375rem;
}
@media (max-width: 30rem) {
  .cmn-btn-ms.--w566 {
    min-width: unset;
    width: 100%;
  }
}
.cmn-btn-ms.--full {
  width: 100%;
}

.cmn-btn-ms-wrap {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-btn-ms-wrap {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
}
@media (max-width: 30rem) {
  .cmn-btn-ms-wrap.--xs-narrow {
    margin-inline: 1rem;
  }
}

/* ページ内リンク
-------------------------------------------------------------------- */
.cmn-page-link-ms {
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  min-height: 3rem;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-weight: bold;
  font-size: 1rem;
  padding: 0 0.75rem 0 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 48rem) {
  .cmn-page-link-ms {
    padding: 0 1rem;
  }
}
.cmn-page-link-ms.is-disabled {
  pointer-events: none;
}
.cmn-page-link-ms.is-disabled .cmn-page-link-ms__icon {
  display: none;
}
.cmn-page-link-ms.is-disabled .cmn-page-link-ms__txt {
  opacity: 0.3;
}
.cmn-page-link-ms.--ex .cmn-page-link-ms__icon {
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEE6E0;
}
.cmn-page-link-ms.--ex .cmn-page-link-ms__icon::before {
  transform: rotate(0deg);
  background-color: #BD967C;
}
.cmn-page-link-ms.--contact {
  border-radius: 0.25rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .cmn-page-link-ms.--contact {
    min-height: 2.75rem;
  }
}
.cmn-page-link-ms.--contact:hover {
  background-color: #CC0000;
  color: #FFFFFF;
}
.cmn-page-link-ms.--contact .cmn-page-link-ms__icon {
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEE6E0;
}
.cmn-page-link-ms.--contact .cmn-page-link-ms__icon::before {
  aspect-ratio: 12.18/9;
  width: 0.76125rem;
  -webkit-mask-image: url(../../../img/selection/icon-mail-ms.svg);
          mask-image: url(../../../img/selection/icon-mail-ms.svg);
  margin-left: 0.0625rem;
  transform: rotate(0deg);
}
.cmn-page-link-ms__txt {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cmn-page-link-ms__num {
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  padding: 0 0.625rem;
  line-height: 1.0625rem;
  border-radius: 0.5625rem;
  color: #FFFFFF;
}
.cmn-page-link-ms__num.--red {
  background-color: #F00000;
}
.cmn-page-link-ms__num.--blue {
  background-color: #10123B;
}
.cmn-page-link-ms__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
}
.cmn-page-link-ms__icon::before {
  content: "";
  display: block;
  background-color: #CC0000;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transform: rotate(90deg);
}

/* セレクトボタン 
-------------------------------------------------------------------- */
.cmn-select-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.125rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  font-size: 1rem;
  color: #000000;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 0.0625rem solid #DDDDDD;
  font-weight: 400;
}
@media (max-width: 48rem) {
  .cmn-select-btn-ms {
    font-size: 0.875rem;
  }
}
.cmn-select-btn-ms select {
  min-height: 3rem;
  padding: 0 1.875rem 0 1rem;
  width: 100%;
  height: 100%;
  border-radius: 0.125rem;
}
@media (max-width: 48rem) {
  .cmn-select-btn-ms select {
    padding: 0 1.625rem 0 1rem;
    min-height: 2.5rem;
  }
}
.cmn-select-btn-ms__icon {
  display: block;
  pointer-events: none;
  background-color: #020055;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transform: rotate(90deg);
  position: absolute;
  right: 1rem;
}
@media (max-width: 48rem) {
  .cmn-select-btn-ms__icon {
    right: 0.75rem;
  }
}

/* Googleマップボタン 
-------------------------------------------------------------------- */
.cmn-map-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  min-height: 4rem;
  line-height: 1.75;
  border-radius: 0.25rem;
  padding: 1rem 1.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: bold;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
}
@media (any-hover: hover) {
  .cmn-map-btn-ms:not(:disabled):hover {
    color: #FFFFFF;
    border-color: #F00000;
    background-color: #F00000;
  }
  .cmn-map-btn-ms:not(:disabled):hover .cmn-map-btn-ms__icon {
    background-color: #FFFFFF;
  }
}
.cmn-map-btn-ms__icon {
  flex-shrink: 0;
  transition: background-color 0.3s ease-out;
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #000000;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.cmn-map-btn-ms.--w302 {
  min-width: 18.875rem;
}
@media (max-width: 30rem) {
  .cmn-map-btn-ms.--w302 {
    min-width: unset;
  }
}

/* テキストリンク
-------------------------------------------------------------------- */
.cmn-txt-link-ms {
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .cmn-txt-link-ms {
    font-size: 0.875rem;
  }
}
@media (any-hover: hover) {
  .cmn-txt-link-ms:hover .cmn-txt-link-ms__txt {
    color: #020055;
    text-decoration: underline;
  }
}
.cmn-txt-link-ms.--white {
  color: #FFFFFF;
}
@media (any-hover: hover) {
  .cmn-txt-link-ms.--white:hover .cmn-txt-link-ms__txt {
    color: #FFFFFF;
  }
}
.cmn-txt-link-ms__icon {
  flex-shrink: 0;
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #EEE6E0;
}
.cmn-txt-link-ms.--white .cmn-txt-link-ms__icon {
  background-color: rgba(255, 255, 255, 0.2);
}
.cmn-txt-link-ms__icon::before {
  content: "";
  display: block;
  aspect-ratio: 2.83/5.66;
  width: 0.3125rem;
  height: auto;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #BD967C;
}
.cmn-txt-link-ms.--white .cmn-txt-link-ms__icon::before {
  background-color: #FFFFFF;
}
.cmn-txt-link-ms.--red .cmn-txt-link-ms__icon::before {
  background-color: #CA0000;
}
.cmn-txt-link-ms.--blue .cmn-txt-link-ms__icon::before {
  background-color: #020055;
}
.cmn-txt-link-ms.--external {
  gap: 0.5rem;
}
.cmn-txt-link-ms.--external .cmn-txt-link-ms__icon {
  border-radius: unset;
  width: 1rem;
  height: 1rem;
  background-color: unset;
}
.cmn-txt-link-ms.--external .cmn-txt-link-ms__icon::before {
  aspect-ratio: 1/1;
  width: 1rem;
  -webkit-mask-image: url(../../../img/common/icon-external.svg);
          mask-image: url(../../../img/common/icon-external.svg);
}
.cmn-txt-link-ms.--file {
  gap: 0.25rem;
}
.cmn-txt-link-ms.--file .cmn-txt-link-ms__icon {
  border-radius: unset;
  width: 0.805625rem;
  height: 1rem;
  background-color: unset;
}
.cmn-txt-link-ms.--file .cmn-txt-link-ms__icon::before {
  aspect-ratio: 12.89/16;
  width: 0.805625rem;
  -webkit-mask-image: url(../../../img/common/icon-pdf.svg);
          mask-image: url(../../../img/common/icon-pdf.svg);
}

/* スクエアボタン 
-------------------------------------------------------------------- */
.cmn-square-btn-ms {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 1.779375rem;
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  min-height: 3.5rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  position: relative;
  max-width: 100%;
  color: #FFFFFF;
  background-color: #020055;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms {
    justify-content: flex-start;
    font-size: 0.875rem;
    min-height: 3rem;
    padding: 0.25rem 2rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn-ms:not(:disabled):hover {
    background-color: #F00000;
  }
}
.cmn-square-btn-ms__icon {
  display: block;
  width: 0.416875rem;
  aspect-ratio: 6.67/11.67;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../../../img/common/icon-arrow-ms.svg);
          mask-image: url(../../../img/common/icon-arrow-ms.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  pointer-events: none;
  right: 0.8625rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms__icon {
    right: 0.79375rem;
    width: 0.333125rem;
  }
}
.cmn-square-btn-ms.--select, .cmn-square-btn-ms.--input {
  min-height: unset;
  font-weight: 400;
  padding: 0;
}
.cmn-square-btn-ms.--select select,
.cmn-square-btn-ms.--select input, .cmn-square-btn-ms.--input select,
.cmn-square-btn-ms.--input input {
  min-height: 3rem;
  padding: 0.25rem 1.25rem;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms.--select select,
  .cmn-square-btn-ms.--select input, .cmn-square-btn-ms.--input select,
  .cmn-square-btn-ms.--input input {
    padding: 0.25rem 1.5625rem 0.25rem 1rem;
    min-height: 2.5rem;
  }
}
.cmn-square-btn-ms.--select {
  justify-content: flex-start;
}
.cmn-square-btn-ms.--select select {
  padding-right: 2.37375rem;
}
.cmn-square-btn-ms.--select option,
.cmn-square-btn-ms.--select optgroup {
  color: initial;
}
.cmn-square-btn-ms.--select .cmn-square-btn-ms__icon {
  width: 0.5rem;
  transform: rotate(90deg);
  right: 1rem;
}
.cmn-square-btn-ms.--w300 {
  min-width: 18.75rem;
}
.cmn-square-btn-ms.--w246 {
  min-width: 15.375rem;
}
.cmn-square-btn-ms.--w227 {
  min-width: 14.1875rem;
}
.cmn-square-btn-ms.--w200 {
  min-width: 12.5rem;
}
.cmn-square-btn-ms.--w150 {
  min-width: 9.375rem;
}
.cmn-square-btn-ms.--w100 {
  min-width: 6.25rem;
}
.cmn-square-btn-ms.--max227 {
  max-width: 14.1875rem;
}
.cmn-square-btn-ms.--max150 {
  max-width: 9.375rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms.--w300, .cmn-square-btn-ms.--w246, .cmn-square-btn-ms.--w227, .cmn-square-btn-ms.--w200, .cmn-square-btn-ms.--w150, .cmn-square-btn-ms.--w100 {
    width: 100%;
    min-width: unset;
  }
  .cmn-square-btn-ms.--max227, .cmn-square-btn-ms.--max150 {
    max-width: 100%;
  }
}
.cmn-square-btn-ms.--case {
  justify-content: flex-start;
  min-height: 3.75rem;
  font-size: 0.875rem;
}
@media (max-width: 48rem) {
  .cmn-square-btn-ms.--case {
    min-height: 3.125rem;
    padding-left: 0.75rem;
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .cmn-square-btn-ms.--case:not(:disabled):hover {
    color: #F00000;
  }
}

/* cmn-page-head-ms h1
-------------------------------------------------------------------- */
.cmn-page-head-ms {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  min-height: -moz-fit-content;
  min-height: fit-content;
  width: 100%;
  padding: 6rem 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms {
    min-height: 8.25rem;
    padding: 3.5rem 1.25rem;
    align-items: flex-start;
  }
  .cmn-page-head-ms:has(.cmn-page-head-ms__sub) {
    padding: 3rem 1.25rem;
  }
}
.cmn-page-head-ms__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cmn-page-head-ms__ttl:has(.cmn-page-head-ms__sub) .cmn-page-head-ms__desc {
  margin-top: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__ttl:has(.cmn-page-head-ms__sub) .cmn-page-head-ms__desc {
    margin-top: 1rem;
  }
}
.cmn-page-head-ms__sub {
  color: #FFFFFF;
  font-size: 1rem;
  line-height: 1.5rem;
}
.cmn-page-head-ms__sub.--en {
  font-family: "Marcellus", serif;
}
.cmn-page-head-ms__sub-badge {
  flex-shrink: 0;
  display: inline-block;
  background-color: #020055;
  color: #FFFFFF;
  font-size: 0.875rem;
  line-height: 1.2;
  padding: 0.25rem 0.75rem;
  border-radius: 0.125rem;
  margin-bottom: 1rem;
}
.cmn-page-head-ms__sub-badge.--en {
  font-family: "Marcellus", serif;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__sub-badge {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
    margin-bottom: 0.75rem;
  }
}
.cmn-page-head-ms__main {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 2.5rem;
  color: #FFFFFF;
  line-height: 3.75rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__main {
    font-size: 1.75rem;
    line-height: 2.5rem;
  }
}
.cmn-page-head-ms__desc {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  margin-top: 1.5rem;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__desc {
    font-size: 0.875rem;
    text-align: start;
  }
}
.cmn-page-head-ms__bg {
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  height: 100%;
  background-color: #10123B;
}
.cmn-page-head-ms__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmn-page-head-ms__bg-2col {
  position: absolute;
  inset: 0;
  z-index: -1;
  height: 100%;
  background-color: #10123B;
  display: flex;
  align-items: center;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__bg-2col {
    flex-direction: column;
  }
}
.cmn-page-head-ms__bg-2col img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmn-page-head-ms__bnr {
  margin-top: 2.5rem;
}
.cmn-page-head-ms__bnr img {
  width: 25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms__bnr img {
    width: 18rem;
  }
}
.cmn-page-head-ms.--child {
  min-height: 16.875rem;
  background-color: #10123B;
  padding: 2.5rem 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--child {
    min-height: 14.375rem;
  }
}
.cmn-page-head-ms.--child02 {
  min-height: 10.4375rem;
  background-color: #10123B;
  padding: 4rem 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--child02 {
    min-height: 4.9375rem;
    padding: 1.5rem 1.25rem;
  }
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--sp-child {
    padding: 3.5rem 1.25rem;
  }
}
.cmn-page-head-ms.--search {
  min-height: 26.25rem;
  padding-bottom: 10rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--search {
    min-height: 15.75rem;
    padding-bottom: 8.125rem;
  }
}
.cmn-page-head-ms.--search:not(:has(.cmn-page-head-ms__bg-2col)) {
  padding-bottom: 5rem;
}
@media (max-width: 48rem) {
  .cmn-page-head-ms.--search:not(:has(.cmn-page-head-ms__bg-2col)) {
    padding-bottom: 8.125rem;
  }
}
.cmn-page-head-ms.--gray {
  background-color: #F2F2F2;
}
.cmn-page-head-ms.--gray .cmn-page-head-ms__main {
  color: #000000;
  font-weight: 500;
}

/* cmn-section-ttl-ms h2
-------------------------------------------------------------------- */
.cmn-section-ttl-ms {
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms {
    gap: 0.75rem;
  }
}
@media (max-width: 48rem) {
  .cmn-container-ms.--navy .cmn-section-ttl-ms, .cmn-container.--navy .cmn-section-ttl-ms {
    gap: 0.5rem;
  }
}
.cmn-section-ttl-ms .en {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Marcellus", serif;
  color: #020055;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .en {
    font-size: 0.8125rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .en, .cmn-container.--navy .cmn-section-ttl-ms .en {
  color: #FFFFFF;
}
.cmn-section-ttl-ms .ja {
  font-weight: 600;
  font-size: 2.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .ja {
    font-size: 1.25rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .ja, .cmn-container.--navy .cmn-section-ttl-ms .ja {
  color: #FFFFFF;
  font-size: 2rem;
}
@media (max-width: 48rem) {
  .cmn-container-ms.--navy .cmn-section-ttl-ms .ja, .cmn-container.--navy .cmn-section-ttl-ms .ja {
    font-size: 1.125rem;
  }
}
.cmn-section-ttl-ms .ja-m {
  font-weight: 600;
  font-size: 1.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .ja-m {
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .ja-m, .cmn-container.--navy .cmn-section-ttl-ms .ja-m {
  color: #FFFFFF;
}
.cmn-section-ttl-ms .ja-s {
  font-weight: 600;
  font-size: 1rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms .ja-s {
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-section-ttl-ms .ja-s, .cmn-container.--navy .cmn-section-ttl-ms .ja-s {
  color: #FFFFFF;
}
.cmn-section-ttl-ms-wrap {
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms-wrap {
    margin-bottom: 2.5rem;
  }
}
.cmn-section-ttl-ms-wrap.--narrow {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms-wrap.--narrow {
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .cmn-section-ttl-ms-wrap.--sp-center {
    text-align: center;
  }
}

/* cmn-contents-ttl-ms h3
-------------------------------------------------------------------- */
.cmn-contents-ttl-ms {
  line-height: 1.5;
  font-size: 1.4375rem;
  color: #020055;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  padding-bottom: 0.5rem;
  position: relative;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms {
    font-size: 1.125rem;
  }
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms, .cmn-container.--navy .cmn-contents-ttl-ms {
  color: #FFFFFF;
}
.cmn-contents-ttl-ms::before, .cmn-contents-ttl-ms::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cmn-contents-ttl-ms::before {
  width: 100%;
  background-color: #CCCCCC;
}
.cmn-contents-ttl-ms::after {
  width: 3.125rem;
  background-color: #020055;
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms::after, .cmn-container.--navy .cmn-contents-ttl-ms::after {
  background-color: #D5C4A2;
}
.cmn-contents-ttl-ms .sub-txt {
  margin-left: 0.5rem;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 600;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms .sub-txt {
    font-size: 0.75rem;
    margin-left: unset;
    display: block;
  }
}
.cmn-contents-ttl-ms__copy {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms__copy {
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms__copy, .cmn-container.--navy .cmn-contents-ttl-ms__copy {
  color: #FFFFFF;
}

.cmn-contents-ttl-ms-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap {
    margin-bottom: 1.5rem;
  }
}
.cmn-contents-ttl-ms-wrap.--narrow {
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap.--narrow {
    margin-bottom: 1.5rem;
  }
}
.cmn-contents-ttl-ms-wrap.--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 3.5rem;
  justify-content: space-between;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap.--row {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
}
.cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 0.5rem;
  gap: 0.25rem 1.5rem;
}
@media (max-width: 48rem) {
  .cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub {
    gap: 0.25rem 1.25rem;
  }
}
.cmn-container-ms.--navy .cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub .cmn-txt-link-ms__txt, .cmn-container.--navy .cmn-contents-ttl-ms-wrap .cmn-contents-ttl-ms-sub .cmn-txt-link-ms__txt {
  color: #FFFFFF;
}

/* cmn-block-ttl-ms h4
-------------------------------------------------------------------- */
.cmn-block-ttl-ms {
  line-height: 1.5;
  font-size: 1.125rem;
  color: #020055;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-block-ttl-ms {
    font-size: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-block-ttl-ms, .cmn-container.--navy .cmn-block-ttl-ms {
  color: #FFFFFF;
}

.cmn-block-ttl-ms-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-block-ttl-ms-wrap {
    margin-bottom: 1.5rem;
  }
}

/* 該当件数テキスト
-------------------------------------------------------------------- */
.cmn-highlight-listing-txt-ms {
  margin-bottom: 2rem;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt-ms {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-highlight-listing-txt-ms, .cmn-container.--navy .cmn-highlight-listing-txt-ms {
  color: #FFFFFF;
}
.cmn-highlight-listing-txt-ms.--narrow {
  margin-bottom: 1rem;
}
.cmn-highlight-listing-txt-ms .num {
  font-size: 1.75rem;
  font-family: "Lato", sans-serif;
  color: #CC0000;
  margin: 0 0.25rem 0 0.5rem;
}
@media (max-width: 48rem) {
  .cmn-highlight-listing-txt-ms .num {
    font-size: 1.5rem;
    margin: 0 0.25rem;
  }
}
.cmn-container-ms.--navy .cmn-highlight-listing-txt-ms .num, .cmn-container.--navy .cmn-highlight-listing-txt-ms .num {
  color: #FFFFFF;
}

/* cmn-tag-ttl-ms h1 h2
-------------------------------------------------------------------- */
.cmn-tag-ttl-ms {
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms {
    gap: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-tag-ttl-ms, .cmn-container.--navy .cmn-tag-ttl-ms {
  color: #FFFFFF;
}
.cmn-tag-ttl-ms-wrap.--h1 .cmn-tag-ttl-ms .ttl {
  font-weight: 500;
}
.cmn-tag-ttl-ms .tag {
  font-size: 1rem;
  font-weight: bold;
  color: #FFFFFF;
  line-height: 1.75rem;
  white-space: nowrap;
  background-color: #CA0000;
  border-radius: 0.125rem;
  padding: 0 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms .tag {
    font-size: 0.75rem;
    line-height: 1.3125rem;
  }
}
.cmn-tag-ttl-ms .ttl {
  font-weight: 600;
  font-size: 1.5rem;
  font-family: "Noto Serif JP", serif;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms .ttl {
    font-size: 1.25rem;
  }
}
.cmn-container-ms.--navy .cmn-tag-ttl-ms .ttl, .cmn-container.--navy .cmn-tag-ttl-ms .ttl {
  color: #FFFFFF;
}
.cmn-tag-ttl-ms-wrap {
  margin-bottom: 2.5rem;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms-wrap {
    margin-bottom: 1.25rem;
  }
}

.cmn-tag-ttl-ms-page-head {
  display: flex;
  align-items: center;
  min-height: 14.125rem;
  padding: 4rem 0;
}
@media (max-width: 48rem) {
  .cmn-tag-ttl-ms-page-head {
    padding: 1.5rem 0;
    min-height: 11.125rem;
  }
}

/* cmn-subheading-ms
-------------------------------------------------------------------- */
.cmn-subheading-ms {
  font-size: 1.375rem;
  margin-bottom: 1.5rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .cmn-subheading-ms {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.cmn-container-ms.--navy .cmn-subheading-ms, .cmn-container.--navy .cmn-subheading-ms {
  color: #FFFFFF;
}

/* リード文
-------------------------------------------------------------------- */
.cmn-txt-ms {
  font-size: 1rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .cmn-txt-ms {
    font-size: 0.875rem;
  }
}
.cmn-container-ms.--navy .cmn-txt-ms {
  color: #FFFFFF;
}

/* メッセージ文
-------------------------------------------------------------------- */
.cmn-msg-ms {
  font-size: 1.25rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .cmn-msg-ms {
    font-size: 0.625rem;
  }
}
.cmn-container-ms.--navy .cmn-msg-ms {
  color: #FFFFFF;
}

/* 青背景の白文字メッセージ文
-------------------------------------------------------------------- */
.cmn-blue-msg-ms {
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: bold;
  background-color: #020055;
  color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  padding: 1rem 1.5rem;
  margin-bottom: 3.5rem;
}
@media (max-width: 48rem) {
  .cmn-blue-msg-ms {
    font-weight: 600;
    font-size: 1.125rem;
    padding: 1rem;
    margin-bottom: 2rem;
  }
}

/* 注記
-------------------------------------------------------------------- */
.cmn-note-ms {
  font-size: 0.75rem;
  display: inline-block;
  margin-top: 1rem;
  color: #262740;
}
@media (max-width: 48rem) {
  .cmn-note-ms {
    font-size: 0.75rem;
  }
}
.cmn-container-ms.--navy .cmn-note-ms {
  color: #FFFFFF;
}

/* =========================================================== */
/* ヘッダー */
/* =========================================================== */
/* PC
-------------------------------------------------------------------- */
.mod-header {
  height: var(--header-height);
  width: 100%;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  transition: transform 0.3s ease-out;
}
.mod-header.is-header-hidden {
  transform: translateY(-100%);
}
.mod-header::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(1px) brightness(1.12);
  -webkit-backdrop-filter: blur(1px) brightness(1.12);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-header.is-dropdown-open::before, .mod-header.is-drawer-active::before {
  opacity: 1;
  visibility: visible;
}
.mod-header.is-dropdown-open {
  z-index: 1001;
}
.mod-header__inner {
  height: 100%;
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background-color: #FFFFFF;
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.12);
  z-index: 10;
}
@media (max-width: 80rem) {
  .mod-header__inner {
    flex-direction: column;
  }
}
@media (max-width: 80rem) {
  .mod-header.is-drawer-active .mod-header__inner {
    min-height: unset;
    height: auto;
  }
}
.mod-header__top {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-left: 3.375rem;
  transition: box-shadow 0.3s ease-out;
}
@media (max-width: 80rem) {
  .mod-header__top {
    gap: 1rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #F2F2F2;
    justify-content: space-between;
    width: 100%;
  }
  .mod-header.is-drawer-active .mod-header__top {
    border-color: transparent;
  }
}
@media (max-width: 48rem) {
  .mod-header__top {
    padding: 0.75rem 1rem;
  }
}
.mod-header__logo {
  display: block;
  width: 14.75rem;
}
@media (max-width: 66.25rem) {
  .mod-header__logo {
    width: 11.1875rem;
  }
}
.mod-header__zone-select {
  flex-shrink: 0;
  background-color: #FFFFFF;
  border: 0.0625rem solid #CCCCCC;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  position: relative;
  max-width: 100%;
  min-height: 1.75rem;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
}
.mod-header__zone-select select {
  font-size: 0.875rem;
  line-height: 1.25rem;
  min-width: 6.5rem;
  height: 100%;
  padding: 0.25rem 1.75rem 0.25rem 1.25rem;
  border-radius: 624.9375rem;
}
@media (any-hover: hover) {
  .mod-header__zone-select:not(:disabled):hover {
    border-color: #F00000;
  }
}
.mod-header__zone-select-arrow {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  background-color: #000000;
  transform: translateY(-45%) rotate(90deg);
  pointer-events: none;
  width: 0.5rem;
  height: 0.8125rem;
}
.mod-header__nav {
  display: flex;
  height: 100%;
  align-items: flex-end;
  gap: 1.25rem;
}
.mod-header__nav-list {
  display: flex;
  align-items: center;
  gap: 1.375rem;
}
@media (max-width: 90rem) {
  .mod-header__nav-list {
    gap: 1rem;
  }
}
.mod-header__nav-list-item {
  height: 100%;
}
.mod-header__nav-list-item > a {
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: auto;
  padding: 0 0.625rem 1.6875rem;
  transition: color 0.3s ease-out;
  position: relative;
  height: 100%;
}
@media (max-width: 90rem) {
  .mod-header__nav-list-item > a {
    padding: 0 0.375rem 1.6875rem;
  }
}
.mod-header__nav-list-item > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background-color: #F00000;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (any-hover: hover) {
  .mod-header__nav-list-item > a:hover {
    color: #F00000;
  }
  .mod-header__nav-list-item > a:hover::after {
    transform: scaleX(1);
  }
  .mod-header__nav-list-item > a:hover .mod-header__nav-list-arrow {
    background-color: #F00000;
  }
}
.mod-header__nav-list-item > a.is-active {
  color: #F00000;
}
.mod-header__nav-list-item > a.is-active .mod-header__nav-list-arrow {
  background-color: #F00000;
  transform: rotate(270deg);
}
.mod-header__nav-list-item > a.is-active::after {
  transform: scaleX(1);
}
.mod-header__nav-list-arrow {
  transition: background-color 0.3s ease-out, transform 0.3s ease-out;
  background-color: #CCCCCC;
  transform: rotate(90deg);
}
.mod-header__nav-util {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  height: 100%;
}
.mod-header__nav-util::before {
  content: "";
  display: block;
  width: 0.0625rem;
  height: 2.5rem;
  border-radius: 624.9375rem;
  background-color: #DDDDDD;
}
.mod-header__nav-util-item {
  height: 100%;
}
.mod-header__nav-util-item > a {
  font-size: 0.75rem;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  aspect-ratio: 1/1;
  max-width: 5.875rem;
  width: 100%;
  height: 100%;
  gap: 0.375rem;
  position: relative;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}
@media (any-hover: hover) {
  .mod-header__nav-util-item > a:hover {
    color: #FFFFFF;
    background-color: #F00000;
    font-weight: 600;
  }
  .mod-header__nav-util-item > a:hover .util-icon {
    background-color: #FFFFFF;
  }
  .mod-header__nav-util-item > a:hover .util-count {
    background-color: #FFFFFF;
    color: #CC0000;
    border-color: #F00000;
  }
}
.mod-header__nav-util-item .util-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background-color: #BD967C;
  transition: background-color 0.3s ease-out;
  position: relative;
  z-index: 1;
}
.mod-header__nav-util-item .util-icon.--favorite {
  -webkit-mask-image: url("../../../img/common/icon-favorite.svg");
          mask-image: url("../../../img/common/icon-favorite.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__nav-util-item .util-icon.--clock {
  -webkit-mask-image: url("../../../img/common/icon-clock.svg");
          mask-image: url("../../../img/common/icon-clock.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__nav-util-item .util-icon.--mypage {
  -webkit-mask-image: url("../../../img/common/icon-mypage.svg");
          mask-image: url("../../../img/common/icon-mypage.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__nav-util-item .util-count {
  position: absolute;
  top: calc(50% - 0.5625rem);
  right: calc(50% - 0.53125rem);
  transform: translate(50%, -50%);
  min-width: 0.875rem;
  height: 0.875rem;
  padding: 0rem 0.1875rem 0.0625rem 0.25rem;
  background-color: #CC0000;
  border: 1px solid #FFFFFF;
  border-radius: 624.9375rem;
  color: #FFFFFF;
  font-size: 0.625rem;
  line-height: 1;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, border-color 0.3s ease-out;
  z-index: 2;
}

/* PC dropdown
-------------------------------------------------------------------- */
.mod-header__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #F6F1EE;
  overflow: hidden;
  z-index: 1001;
  min-height: 31.25rem;
  max-height: calc(100dvh - var(--header-height));
  display: flex;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-header__dropdown.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.mod-header__dropdown-inner {
  display: flex;
  gap: 4.375rem;
  max-width: 100.5rem;
  margin-inline: auto;
  width: 100%;
  position: relative;
  height: 100%;
  min-height: 0;
  flex: 1;
}
.mod-header__dropdown-ttl-wrap {
  padding-top: 12.1875rem;
  min-width: 14.5625rem;
  padding-right: 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2.5rem;
  background-color: #F00000;
  position: relative;
  flex-shrink: 0;
}
@media (max-width: 96rem) {
  .mod-header__dropdown-ttl-wrap {
    align-items: center;
  }
}
.mod-header__dropdown-ttl-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background-color: #F00000;
  pointer-events: none;
}
.mod-header__dropdown-ttl {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.mod-header__dropdown-ttl .mod-header__dropdown-ttl-en {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  line-height: 1.25;
}
.mod-header__dropdown-ttl .mod-header__dropdown-ttl-ja {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 700;
}
.mod-header__dropdown-ttl-link {
  color: #FFFFFF;
  font-size: 1.125rem;
  line-height: 1.25;
  transition: opacity 0.3s ease-out;
}
.mod-header__dropdown-ttl-link .u-mask-arrow {
  width: 0.5rem;
  height: 0.8125rem;
  background-color: #FFFFFF;
}
@media (any-hover: hover) {
  .mod-header__dropdown-ttl-link:hover {
    color: #FFFFFF;
    opacity: 0.6;
  }
}
.mod-header__dropdown-content {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding-block: 4rem;
  padding-right: 8rem;
  width: 100%;
  min-height: 0;
}
.mod-header__dropdown-content-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.mod-header__dropdown-content-body {
  display: flex;
  align-items: flex-end;
  gap: 2.5rem;
  margin-bottom: 4rem;
}
.mod-header__dropdown-content-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2.625rem;
  max-width: 34.375rem;
  width: 100%;
}
.mod-header__dropdown-search-type {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.mod-header__dropdown-search-type-ttl {
  font-size: 1.125rem;
  font-weight: 700;
}
.mod-header__dropdown-search-type-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.mod-header__dropdown-search-type-list > li {
  width: calc((100% - 1.5rem) / 3);
}
.mod-header__dropdown-search-type-list > li .cmn-icon-btn {
  width: 100%;
  padding: 1rem 1.25rem 0.75rem;
}
.mod-header__dropdown-search-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mod-header__dropdown-search-form-ttl {
  font-size: 1.125rem;
  line-height: 1.2;
  font-weight: 700;
}
.mod-header__dropdown-case-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.75rem;
}
.mod-header__dropdown-case-list > li {
  width: 100%;
}
.mod-header__dropdown-case-list > li .cmn-square-btn {
  width: 100%;
  min-height: 3.625rem;
}
.mod-header__dropdown-bottom-links {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 2.5rem;
}
.mod-header__dropdown-bottom-links-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.mod-header__dropdown-bottom-links-ttl::before, .mod-header__dropdown-bottom-links-ttl::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.mod-header__dropdown-bottom-links-ttl::before {
  width: 100%;
  background-color: #D8C3B4;
}
.mod-header__dropdown-bottom-links-ttl::after {
  width: 3.125rem;
  background-color: #F00000;
}
.mod-header__dropdown-bottom-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mod-header__dropdown-bottom-links-list.--2column {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}
.mod-header__dropdown-bottom-links-list.--2column > li {
  width: calc((100% - 1.25rem) / 2);
}
.mod-header__dropdown-close {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 1rem;
  right: 2rem;
  background-color: #F00000;
  border-radius: 50%;
  transition: background-color 0.3s ease-out;
}
.mod-header__dropdown-close .u-mask-close {
  width: 0.875rem;
  height: 0.875rem;
  background-color: #FFFFFF;
  transition: transform 0.3s ease-out;
}
.mod-header__dropdown-close .close-txt {
  font-size: 0.625rem;
  color: #FFFFFF;
  line-height: 1;
}
@media (any-hover: hover) {
  .mod-header__dropdown-close:hover {
    background-color: #AF0808;
  }
  .mod-header__dropdown-close:hover .u-mask-close {
    transform: scale(0.7857);
  }
}

/* SP
-------------------------------------------------------------------- */
.mod-header__sp-controls {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}
.mod-header.is-drawer-active .mod-header__sp-controls {
  align-items: center;
}
.mod-header__sp-util-link {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 0.0625rem;
  line-height: 1;
}
@media (max-width: 66.25rem) {
  .mod-header__sp-util-link {
    font-size: 0.625rem;
  }
}
@media (any-hover: hover) {
  .mod-header__sp-util-link:hover {
    color: #F00000;
    font-weight: 600;
  }
  .mod-header__sp-util-link:hover .util-icon {
    background-color: #F00000;
  }
}
.mod-header__sp-util-link .util-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background-color: #BD967C;
  transition: background-color 0.3s ease-out;
}
.mod-header__sp-util-link .util-icon.--mypage {
  -webkit-mask-image: url("../../../img/common/icon-mypage.svg");
          mask-image: url("../../../img/common/icon-mypage.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__sp-util-link .util-text {
  font-size: 0.625rem;
}
.mod-header__sp-menu-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  line-height: 1;
  padding-inline: 0.125rem;
}
@media (max-width: 66.25rem) {
  .mod-header__sp-menu-btn {
    font-size: 0.625rem;
  }
}
@media (any-hover: hover) {
  .mod-header__sp-menu-btn:hover {
    color: #F00000;
    font-weight: 600;
  }
  .mod-header__sp-menu-btn:hover .mod-header__sp-menu-icon .bar {
    background-color: #F00000;
  }
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar {
  background-color: #4D4D4D;
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar:nth-child(1) {
  transform: translateY(0.4375rem) rotate(45deg);
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar:nth-child(2) {
  opacity: 0;
}
.mod-header__sp-menu-btn.is-active .mod-header__sp-menu-icon .bar:nth-child(3) {
  transform: translateY(-0.4375rem) rotate(-45deg);
}
.mod-header__sp-menu-btn.is-active .util-text {
  display: none;
}
.mod-header__sp-menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.3125rem;
}
.mod-header__sp-menu-icon .bar {
  display: block;
  width: 1.5rem;
  height: 0.125rem;
  background-color: #4D4D4D;
  border-radius: 624.9375rem;
  transition: background-color 0.3s ease-out, transform 0.3s ease-out, opacity 0.3s ease-out;
}
.mod-header__sp-bottom {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  max-height: 3.75rem;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out, max-height 0.3s ease-out;
}
.mod-header.is-drawer-active .mod-header__sp-bottom {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  max-height: 0;
}
.mod-header__sp-bottom-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding-block: 0.5625rem;
  flex: 1;
  height: 100%;
  line-height: 1;
}
@media (max-width: 66.25rem) {
  .mod-header__sp-bottom-btn {
    font-size: 0.75rem;
    padding-block: 0.375rem;
  }
}
@media (max-width: 48rem) {
  .mod-header__sp-bottom-btn {
    padding-block: 0.5625rem;
  }
}
@media (any-hover: hover) {
  .mod-header__sp-bottom-btn:hover {
    color: #FFFFFF;
    background-color: #F00000;
    font-weight: 600;
  }
  .mod-header__sp-bottom-btn:hover .util-icon {
    background-color: #FFFFFF;
  }
}
.mod-header__sp-bottom-btn .util-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background-color: #BD967C;
  transition: background-color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-header__sp-bottom-btn .util-icon {
    width: 0.875rem;
    height: 0.75rem;
  }
}
.mod-header__sp-bottom-btn .util-icon.--favorite {
  -webkit-mask-image: url("../../../img/common/icon-favorite.svg");
          mask-image: url("../../../img/common/icon-favorite.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-header__sp-bottom-btn .util-icon.--clock {
  -webkit-mask-image: url("../../../img/common/icon-clock.svg");
          mask-image: url("../../../img/common/icon-clock.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

/* SP drawer
-------------------------------------------------------------------- */
.mod-header__sp-menu {
  position: absolute;
  z-index: 1;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
  overflow-y: auto;
  overscroll-behavior: contain;
  height: calc(100dvh - var(--header-height) + 2.3125rem);
  padding-bottom: 5rem;
  width: 100%;
}
.mod-header__sp-menu.is-active {
  transform: translateX(0);
}
.mod-header__sp-menu-list {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
}
.mod-header__sp-menu-item {
  line-height: 1;
}
.mod-header__sp-menu-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #F6F1EE;
  border-bottom: 1px solid #DDDDDD;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  min-height: 4rem;
  padding: 1.25rem;
}
.mod-header__sp-menu-trigger .icon-accordion {
  width: 1.5rem;
  height: 1.5rem;
  transition: transform 0.3s ease-out;
  position: relative;
}
.mod-header__sp-menu-trigger .icon-accordion::before, .mod-header__sp-menu-trigger .icon-accordion::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 1.125rem;
  height: 0.125rem;
  border-radius: 624.9375rem;
  background-color: #F00000;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.mod-header__sp-menu-trigger .icon-accordion::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.mod-header__sp-menu-trigger .u-mask-arrow, .mod-header__sp-menu-trigger .u-mask-external {
  background-color: #4D4D4D;
}
.mod-header__sp-menu-trigger.is-active {
  color: #F00000;
}
.mod-header__sp-menu-trigger.is-active .u-mask-arrow, .mod-header__sp-menu-trigger.is-active .u-mask-external {
  background-color: #F00000;
}
.mod-header__sp-menu-trigger.is-active .icon-accordion::before {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}
.mod-header__sp-menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  min-height: 4rem;
  padding: 1.25rem;
  background-color: #F6F1EE;
  border-bottom: 1px solid #DDDDDD;
}
.mod-header__sp-menu-link .u-mask-arrow, .mod-header__sp-menu-link .u-mask-external {
  background-color: #4D4D4D;
}
.mod-header__sp-menu-content {
  height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out;
}
.mod-header__sp-menu-content.is-active {
  opacity: 1;
  visibility: visible;
}
.mod-header__sp-menu-content > li {
  font-size: 1rem;
  background-color: #FFFFFF;
  border-bottom: 1px solid #DDDDDD;
}
.mod-header__sp-menu-content > li > a {
  width: 100%;
  padding: 1rem 1.6875rem 1rem 2.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 3.5rem;
}
.mod-header__sp-menu-content > li .u-mask-arrow, .mod-header__sp-menu-content > li .u-mask-external {
  background-color: #4D4D4D;
  flex-shrink: 0;
}
.mod-header__sp-menu-content > li.mod-header__sp-menu-btns-item {
  padding: 1.5rem 2.25rem;
  font-size: 0.875rem;
}
.mod-header__sp-menu-content > li.mod-header__sp-menu-btns-item .mod-header__sp-menu-btns {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-header__sp-menu-content > li.mod-header__sp-menu-btns-item .mod-header__sp-menu-btns {
    flex-direction: column;
    gap: 0.75rem;
  }
}

.mod-header__sp-zone-select {
  width: 100%;
  border-bottom: 0.0625rem solid #CCCCCC;
  background-color: #FFFFFF;
  font-size: 1rem;
}
.mod-header__sp-zone-ttl {
  font-weight: 500;
  padding: 1.25rem;
  border-bottom: 1px solid #DDDDDD;
}
.mod-header__sp-zone-list {
  display: flex;
  flex-wrap: wrap;
}
.mod-header__sp-zone-list > li {
  width: 50%;
  padding: 1rem 2.25rem;
  transition: background-color 0.3s ease-out;
}
.mod-header__sp-zone-list > li:not(:last-child) {
  border-bottom: 1px solid #DDDDDD;
}
@media (any-hover: hover) {
  .mod-header__sp-zone-list > li:hover {
    background-color: #F2F2F2;
  }
}

/* =========================================================== */
/* フッター */
/* =========================================================== */
/* フッター
-------------------------------------------------------------------- */
.mod-footer {
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #EEE6E0;
}
.mod-footer::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #000000;
}
.mod-footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 1.875rem;
  height: 1.875rem;
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #FFFFFF 70%);
  pointer-events: none;
}
@media (max-width: 48rem) {
  .mod-footer::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.mod-footer.--brown::after {
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #F6F1EE 70%);
}
.mod-footer__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.mod-footer__main-menu {
  display: flex;
  gap: 5.25rem;
  max-width: 100.5rem;
  margin-inline: auto;
  width: calc(100% - 2.5rem);
  position: relative;
  height: 100%;
  min-height: 0;
  flex: 1;
  background-color: #EEE6E0;
}
@media (max-width: 80rem) {
  .mod-footer__main-menu {
    flex-direction: column;
    gap: 0rem;
    max-width: 100%;
    width: 100%;
  }
}
.mod-footer__ttl-wrap {
  padding-top: 18.75rem;
  padding-inline: 2.125rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.25rem;
  background-color: #F00000;
  position: relative;
  flex-shrink: 0;
}
.mod-footer__ttl-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background-color: #F00000;
  pointer-events: none;
}
@media (max-width: 80rem) {
  .mod-footer__ttl-wrap {
    padding: 2.5rem 1.75rem;
    gap: 0.25rem;
  }
}
.mod-footer__ttl-logo {
  display: block;
  width: 17.25rem;
  height: 20.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__ttl-logo {
    width: 20rem;
    height: 4.875rem;
  }
}
.mod-footer__ttl-txt {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: #FFFFFF;
}
@media (max-width: 48rem) {
  .mod-footer__ttl-txt {
    font-size: 0.75rem;
  }
}
.mod-footer__content {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding-block: 5rem 2.5rem;
  max-width: 63.5rem;
  width: 100%;
  min-height: 0;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer__content {
    max-width: 100%;
    padding: 0;
  }
}
.mod-footer__content-head {
  margin-bottom: 3.5rem;
}
@media (max-width: 80rem) {
  .mod-footer__content-head {
    margin-bottom: 0;
    padding: 1.5rem;
    border-bottom: 1px solid #F6F1EE;
  }
}
.mod-footer__content-head-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 80rem) {
  .mod-footer__content-head-list {
    gap: 0.75rem 1.25rem;
    justify-content: center;
  }
}
.mod-footer__content-head-list > li > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  line-height: 1;
}
.mod-footer__content-head-list > li > a .u-mask-arrow, .mod-footer__content-head-list > li > a .u-mask-external {
  background-color: #808080;
}
.mod-footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 2.5rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links {
    gap: 0;
    flex-direction: column;
  }
}
.mod-footer__bottom-links-item {
  width: calc((100% - 7.5rem) / 4);
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-item {
    width: 100%;
    background-color: #FFFFFF;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-item.is-active .mod-footer__accordion-trigger .icon-accordion::before {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
  }
  .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-ttl:not(.--arrow-link) {
    color: #F00000;
  }
  .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-ttl:not(.--arrow-link) .u-mask-arrow, .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-ttl:not(.--arrow-link) .u-mask-external {
    background-color: #F00000;
  }
}
.mod-footer__accordion-header {
  width: 100%;
  position: relative;
}
@media (max-width: 80rem) {
  .mod-footer__accordion-header {
    background-color: #EEE6E0;
    border-bottom: 1px solid #F6F1EE;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.mod-footer__bottom-links-ttl {
  width: 100%;
  font-weight: 700;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.mod-footer__bottom-links-ttl::before, .mod-footer__bottom-links-ttl::after {
  content: "";
  display: block;
  height: 0.0625rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
.mod-footer__bottom-links-ttl::before {
  width: 100%;
  background-color: #D8C3B4;
}
.mod-footer__bottom-links-ttl::after {
  width: 3.125rem;
  background-color: #F00000;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-ttl {
    margin-bottom: 0;
    padding: 0;
    font-weight: 500;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    z-index: 2;
  }
  .mod-footer__bottom-links-ttl .u-mask-arrow, .mod-footer__bottom-links-ttl .u-mask-external {
    background-color: #CAAB97;
    margin-right: 0.5rem;
  }
  .mod-footer__bottom-links-ttl.--arrow-link {
    background-color: #EEE6E0;
    border-bottom: 1px solid #F6F1EE;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .mod-footer__bottom-links-ttl::before, .mod-footer__bottom-links-ttl::after {
    display: none;
  }
  .mod-footer__bottom-links-ttl .icon-accordion {
    width: 1.5rem;
    height: 1.5rem;
    transition: transform 0.3s ease-out;
    position: relative;
  }
  .mod-footer__bottom-links-ttl .icon-accordion::before, .mod-footer__bottom-links-ttl .icon-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    display: block;
    width: 1.125rem;
    height: 0.125rem;
    border-radius: 624.9375rem;
    background-color: #CAAB97;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .mod-footer__bottom-links-ttl .icon-accordion::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.mod-footer__accordion-trigger {
  display: none;
}
@media (max-width: 80rem) {
  .mod-footer__accordion-trigger {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    cursor: pointer;
    background: transparent;
    border: none;
  }
  .mod-footer__accordion-trigger .icon-accordion {
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
  }
  .mod-footer__accordion-trigger .icon-accordion::before, .mod-footer__accordion-trigger .icon-accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background-color: #CAAB97;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
  }
  .mod-footer__accordion-trigger .icon-accordion::before {
    width: 1.125rem;
    height: 0.125rem;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .mod-footer__accordion-trigger .icon-accordion::after {
    width: 1.125rem;
    height: 0.125rem;
  }
}
.mod-footer__bottom-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list {
    gap: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-item.is-active .mod-footer__bottom-links-list {
    max-height: 62.5rem;
    opacity: 1;
    visibility: visible;
  }
}
.mod-footer__bottom-links-list > li.biz-link > a {
  display: flex;
  flex-direction: column;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li.biz-link > a {
    align-items: flex-start;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li.biz-link > a > span.cmn-txt-link {
    width: 100%;
    justify-content: space-between;
  }
}
.mod-footer__bottom-links-list > li.biz-link > a > span.cmn-txt-link span {
  font-size: 0.875rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li.biz-link > a > span.cmn-txt-link span {
    font-size: 1rem;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li {
    background-color: #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer__bottom-links-list > li > a .u-mask-arrow, .mod-footer__bottom-links-list > li > a .u-mask-external {
  background-color: #808080;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 1rem;
    width: 100%;
    min-height: 3.5rem;
    padding: 1rem 1.6875rem 1rem 2.25rem;
  }
  .mod-footer__bottom-links-list > li > a .u-mask-arrow, .mod-footer__bottom-links-list > li > a .u-mask-external {
    background-color: #CAAB97;
  }
}
.mod-footer__bottom-links-list > li > a > span {
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-list > li > a > span {
    font-size: 1rem;
  }
}
.mod-footer__bottom-links-ttl-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-ttl-list {
    gap: 0;
  }
}
.mod-footer__bottom-links-subitem {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-subitem {
    gap: 0;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer__bottom-links-sublist {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist {
    gap: 0;
  }
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist > li {
    background-color: #FFFFFF;
    border-bottom: 1px solid #DDDDDD;
  }
}
.mod-footer__bottom-links-sublist > li > a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mod-footer__bottom-links-sublist > li > a::before {
  content: "";
  height: 0.0625rem;
  width: 0.125rem;
  background-color: #000000;
  display: block;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.5rem;
    padding: 1rem 1.6875rem 1rem 2.25rem;
  }
  .mod-footer__bottom-links-sublist > li > a::before {
    display: none;
  }
}
.mod-footer__bottom-links-sublist > li > a > span {
  font-size: 0.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__bottom-links-sublist > li > a > span {
    font-size: 1rem;
  }
}
.mod-footer__bottom-links-sublist > li > a .u-mask-arrow, .mod-footer__bottom-links-sublist > li > a .u-mask-external {
  background-color: #CAAB97;
}
.mod-footer__policy-wrap {
  display: flex;
  margin-left: auto;
  margin-top: 3.75rem;
}
@media (max-width: 80rem) {
  .mod-footer__policy-wrap {
    background-color: #EEE6E0;
    margin-left: 0;
    padding: 1.5rem 1.25rem;
    margin-top: 0;
  }
}
.mod-footer__policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.mod-footer__policy-links > li {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.25;
}
.mod-footer__policy-links > li:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 0.75rem;
  width: 0.0625rem;
  height: 1rem;
  background-color: #CCCCCC;
}
@media (max-width: 80rem) {
  .mod-footer__policy-links > li:not(:last-child)::after {
    display: none;
  }
}
@media (max-width: 80rem) {
  .mod-footer__policy-links {
    flex-direction: column;
  }
}
.mod-footer__copyright {
  width: 100%;
  margin-inline: auto;
  padding: 2.5rem 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 1.125rem;
  background-color: #FFFFFF;
}
@media (max-width: 80rem) {
  .mod-footer__copyright {
    flex-direction: column;
  }
}
.mod-footer__copyright-logo {
  width: 31.5625rem;
  height: 1.5rem;
}
@media (max-width: 80rem) {
  .mod-footer__copyright-logo {
    width: 20.5rem;
    height: 1rem;
  }
}
.mod-footer__copyright-txt {
  font-size: 0.875rem;
  font-family: "Lato", sans-serif;
  line-height: 1;
}
@media (max-width: 80rem) {
  .mod-footer__copyright-txt {
    font-size: 0.625rem;
  }
}
.mod-footer__to-top-btn {
  position: absolute;
  bottom: 2.5rem;
  right: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.25rem;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  font-size: 0.625rem;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  color: #FFFFFF;
  background-color: #F00000;
}
.mod-footer__to-top-btn .u-mask-arrow {
  transform: rotate(-90deg);
  background-color: #FFFFFF;
}
@media (max-width: 96rem) {
  .mod-footer__to-top-btn {
    bottom: 4.5rem;
  }
}
@media (max-width: 80rem) {
  .mod-footer__to-top-btn {
    bottom: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .mod-footer__to-top-btn {
    right: 1.25rem;
    width: 3rem;
    height: 3rem;
  }
}

/* mainの最後のcmn-containerに応じた背景色調整
-------------------------------------------------------------------- */
body:has(main > .cmn-container.--white:last-of-type) .mod-footer::after {
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #FFFFFF 70%);
}

body:has(main > .cmn-container.--brown:last-of-type) .mod-footer::after {
  background-image: radial-gradient(circle at 100% 100%, transparent 69%, #F6F1EE 70%);
}

/* =========================================================== */
/* パンくず */
/* =========================================================== */
.mod-breadcrumb {
  background-color: #FFFFFF;
  position: relative;
  padding-bottom: 2.25rem;
  border-bottom-right-radius: 1.875rem;
}
@media (max-width: 48rem) {
  .mod-breadcrumb {
    padding-bottom: 1.6875rem;
    border-bottom-right-radius: 1.5rem;
  }
}
.mod-breadcrumb::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #EEE6E0;
}
@media (max-width: 80rem) {
  .mod-breadcrumb::before {
    background-color: #F00000;
  }
}
.mod-breadcrumb .cmn-inner {
  overflow-x: auto;
}
.mod-breadcrumb__list {
  padding: 0.875rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
.mod-breadcrumb__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.mod-breadcrumb__item:first-child img {
  width: 1.136875rem;
  height: 1rem;
}
.mod-breadcrumb__item:not(:first-child)::before {
  content: "> ";
  display: block;
  color: #F00000;
  font-size: 0.875rem;
}
.mod-breadcrumb__link {
  font-size: 0.75rem;
}
.mod-breadcrumb__current {
  font-size: 0.75rem;
  color: #808080;
}

/* mainの最後のcmn-containerに応じた背景色調整
-------------------------------------------------------------------- */
body:has(main > .cmn-container.--white:last-of-type) .mod-breadcrumb {
  background-color: #FFFFFF;
}

body:has(main > .cmn-container.--brown:last-of-type) .mod-breadcrumb {
  background-color: #F6F1EE;
}

/* =========================================================== */
/* ページ下部固定リンク */
/* =========================================================== */
.mod-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%;
}
/* =========================================================== */
/* アコーディオン */
/* =========================================================== */
.mod-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .mod-accordion {
    gap: 0.75rem;
  }
}
.mod-accordion__item {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  border: 0.0625rem solid #DDDDDD;
}
@media (max-width: 48rem) {
  .mod-accordion__item {
    border-radius: 0.5rem;
  }
}
.mod-accordion__eyecatch {
  flex-shrink: 0;
  line-height: 1.75rem;
  font-weight: 700;
  font-size: 1.5rem;
  color: #BD967C;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-family: "Lato", sans-serif;
}
@media (max-width: 48rem) {
  .mod-accordion__eyecatch {
    line-height: 1.53125rem;
    font-size: 1.25rem;
  }
}
.mod-accordion__txt {
  font-size: 1rem;
  transition: color 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-accordion__txt {
    font-size: 0.875rem;
  }
}
.mod-accordion__txt.--medium {
  font-weight: 500;
}
.mod-accordion__head {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: center;
  padding: 2rem 2.5rem;
  cursor: pointer;
}
@media (max-width: 48rem) {
  .mod-accordion__head {
    gap: 0.75rem;
    padding: 1rem;
  }
}
.mod-accordion__head.--no-hover {
  cursor: auto;
}
@media (any-hover: hover) {
  .mod-accordion__head:not(.--no-hover):hover .mod-accordion__txt {
    color: #F00000;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
  }
}
.mod-accordion__head-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-accordion__head-wrap {
    gap: 0.75rem;
  }
}
.mod-accordion__body {
  position: absolute;
  visibility: hidden;
  height: 0;
  padding: 2rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-accordion__body {
    gap: 0.75rem;
    padding: 1rem;
  }
}
.mod-accordion__body-wrap {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
@media (max-width: 48rem) {
  .mod-accordion__body-wrap {
    gap: 0.75rem;
  }
}
.mod-accordion__body-wrap.--list-wrap {
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}
.mod-accordion__body-wrap.--normal {
  display: block;
}
.mod-accordion__btn-wrap {
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}
.mod-accordion__btn {
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #BD967C;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mod-accordion__btn::before, .mod-accordion__btn::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #FFFFFF;
  width: 0.625rem;
  height: 0.075rem;
  transition: all 0.3s ease-out;
  border-radius: 3.125rem;
}
.mod-accordion__btn::before {
  transform: rotate(90deg);
}
.mod-accordion__link {
  color: #074EBB;
  font-size: 1rem;
}
@media (max-width: 48rem) {
  .mod-accordion__link {
    font-size: 0.875rem;
  }
}
.mod-accordion__item.is-active .mod-accordion__btn::before {
  opacity: 0;
  visibility: hidden;
}
.mod-accordion__item.is-active .mod-accordion__body {
  height: auto;
  visibility: visible;
  position: relative;
}
.mod-accordion__item.is-active .mod-accordion__body::before {
  display: block;
  content: "";
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 2.5rem;
  right: 2.5rem;
  background-image: linear-gradient(to right, #808080 1px, transparent 1px);
  background-size: 0.25rem 0.0625rem;
  background-repeat: repeat-x;
}
@media (max-width: 48rem) {
  .mod-accordion__item.is-active .mod-accordion__body::before {
    left: 1rem;
    right: 1rem;
  }
}
.mod-accordion__item.is-active .mod-accordion__body-wrap {
  opacity: 1;
}

/* =========================================================== */
/* 無料査定フォーム */
/* =========================================================== */
.mod-appraisal-form {
  overflow: hidden;
  padding: 1.5rem 2.5rem;
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.75rem;
  filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.16));
}
@media (max-width: 48rem) {
  .mod-appraisal-form {
    padding: 1.5rem 1rem 1rem;
  }
}
.mod-modal .mod-appraisal-form {
  filter: unset;
  padding: unset;
}
@media (max-width: 48rem) {
  .mod-modal .mod-appraisal-form {
    padding: 0 1rem 1rem;
    margin-inline: -1rem;
  }
}
.mod-appraisal-form.mansion-sell {
  padding: 2.5rem 2.5rem 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form.mansion-sell {
    padding: 1.25rem 1rem 1rem;
  }
}
.mod-appraisal-form.mansion-sell .icon-checked {
  background-color: #FFFFFF;
  border: 1px solid #808080;
}
.mod-appraisal-form.mansion-sell .icon-checked::before {
  background-color: #808080;
}
.mod-appraisal-form.mansion-sell .is-checked .icon-checked,
.mod-appraisal-form.mansion-sell .is-biz .mod-appraisal-form__option .icon-checked {
  background-color: #4FA43D;
  border: none;
}
.mod-appraisal-form.mansion-sell .is-checked .icon-checked::before,
.mod-appraisal-form.mansion-sell .is-biz .mod-appraisal-form__option .icon-checked::before {
  background-color: #FFFFFF;
}
.mod-appraisal-form.mansyon {
  padding: 1.5rem 2.5rem 2.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form.mansyon {
    padding: 1rem;
  }
}
.mod-tab-sp-accordion .mod-appraisal-form {
  padding: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: transparent;
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion .mod-appraisal-form {
    filter: none;
    overflow: visible;
  }
}
@media (max-width: 66.25rem) {
  .mod-tab-sp-accordion .mod-appraisal-form.is-active .mod-appraisal-form__body {
    margin-top: 1rem;
    padding: 1rem;
    height: auto;
  }
}
.mod-appraisal-form__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem 0.75rem;
  margin-bottom: 1rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head {
    flex-direction: column;
  }
}
.mod-appraisal-form__head.--column {
  flex-direction: column;
}
.mod-appraisal-form__head .sub {
  border-radius: 3.125rem;
  text-align: center;
  flex-shrink: 0;
  line-height: 1.25;
  display: inline-block;
  padding: 0.25rem 1rem;
  font-weight: bold;
  font-size: 0.875rem;
  color: #FFFFFF;
  background-color: #BD967C;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .sub {
    font-size: 0.75rem;
  }
}
.mod-appraisal-form__head .ttl {
  line-height: 1.25;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .ttl {
    font-size: 1.125rem;
  }
}
.mod-appraisal-form__head .ttl:has(br) {
  transform: translateY(-0.5rem);
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .ttl.--sp-large {
    font-size: 1.375rem;
  }
}
.mod-appraisal-form__head .small {
  font-size: 1.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .small {
    font-size: 1.125rem;
  }
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .small.--sp-large {
    font-size: 1.375rem;
  }
}
.mod-appraisal-form__head .small-ex {
  font-size: 1.25rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__head .small-ex {
    font-size: 0.875rem;
  }
}
.mansyon .mod-appraisal-form__head {
  gap: 0.5rem 1rem;
  margin-bottom: 1.5rem;
}
.mansyon .mod-appraisal-form__head .sub {
  padding: 0.5rem 1rem;
}
@media (max-width: 48rem) {
  .mansyon .mod-appraisal-form__head .sub {
    padding: 0.25rem 0.5rem;
  }
}
.mod-appraisal-form__ttl-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.125rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl-block {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }
}
.mod-appraisal-form__ttl-block .ttl {
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl-block .ttl {
    font-size: 1.125rem;
  }
}
.mod-appraisal-form__ttl-block .desc {
  font-size: 1.25rem;
  text-align: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl-block .desc {
    font-size: 0.875rem;
  }
}
.mod-appraisal-form__body {
  background-color: #F6F1EE;
  border-radius: 0.75rem;
  padding: 1.5rem 2.5rem;
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__body {
    flex-direction: column;
    gap: 1.5rem;
    border-radius: unset;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    padding: 1.25rem 1rem 1.5rem;
  }
}
.mod-appraisal-form__body:has(.mod-appraisal-form__two-ways) {
  display: block;
}
.mansion-sell .mod-appraisal-form__body {
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__body {
    padding: 1.5rem 1rem;
  }
}
.mansyon .mod-appraisal-form__body {
  padding: 2.5rem;
}
@media (max-width: 48rem) {
  .mansyon .mod-appraisal-form__body {
    margin-bottom: -1rem;
    padding: 1.5rem 1rem;
  }
}
.mod-appraisal-form__body.mod-tab-sp-accordion__body {
  padding: 2.5rem 2.625rem;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: #FFFFFF;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__body.mod-tab-sp-accordion__body {
    display: grid;
    overflow: hidden;
    margin-top: 0;
    margin-inline: 0;
    padding: 0;
    height: 0;
    border-radius: 0.75rem;
    width: 100%;
    transition: margin-top 0.3s ease-out, padding 0.3s ease-out, height 0.3s ease-out;
    filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.16));
  }
}
.mod-appraisal-form__block {
  width: calc((100% - 5rem - 1.75rem) / 2);
}
@media (max-width: 48rem) {
  .mod-appraisal-form__block {
    width: 100%;
  }
}
.mod-appraisal-form .flow-spacer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form .flow-spacer {
    display: none;
  }
}
.mod-appraisal-form .flow-spacer::before {
  z-index: 1;
  display: block;
  content: "";
  width: 0.0625rem;
  position: absolute;
  top: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, #808080 1px, transparent 1px);
  background-size: 0.0625rem 0.25rem;
  background-repeat: repeat-y;
}
.mod-appraisal-form .flow-spacer__arrow {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  z-index: 2;
  background-color: #F6F1EE;
  transform: rotate(-90deg);
  background-image: url("../../../img/common/icon-flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.395625rem 1.291875rem;
  top: calc(-50% + 1.75rem + 6.25rem);
}
.mod-appraisal-form__ttl {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.mod-appraisal-form__ttl .num {
  width: 1.375rem;
  height: 1.375rem;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  background-color: #BD967C;
  border-radius: 100%;
  font-family: "Lato", sans-serif;
  position: relative;
  top: 0.1875rem;
  flex-shrink: 0;
}
.mod-appraisal-form__ttl .ttl {
  font-size: 1rem;
  font-weight: bold;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__ttl .ttl {
    font-weight: 600;
  }
}
.mod-appraisal-form__ttl .icon-checked {
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #808080;
}
.mod-appraisal-form__ttl .icon-checked::before {
  content: "";
  width: 0.50125rem;
  height: 0.355rem;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
}
.mansion-sell .mod-appraisal-form__ttl .icon-checked {
  background-color: #FFFFFF;
  border: 1px solid #808080;
}
.mansion-sell .mod-appraisal-form__ttl .icon-checked::before {
  background-color: #808080;
}
.mod-appraisal-form__ttl-mansion, .mod-appraisal-form__ttl-address {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.mod-appraisal-form__ttl-mansion.is-hidden, .mod-appraisal-form__ttl-address.is-hidden {
  display: none !important;
}
.mod-appraisal-form__ttl-mansion.is-checked .icon-checked, .mod-appraisal-form__ttl-address.is-checked .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form__step2.--select {
  display: block;
}
.is-biz .mod-appraisal-form__step2.--select {
  display: none;
}
.mod-appraisal-form__step2.--net-biz {
  display: none;
}
.is-biz .mod-appraisal-form__step2.--net-biz {
  display: block;
}
.mod-appraisal-form__input-list {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.mod-appraisal-form__input-list > * {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__input-list > * {
    width: calc((100% - 0.75rem) / 2);
    flex: unset;
  }
}
.mod-appraisal-form__input-list > *.--mansion-name {
  max-width: 29.8125rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-list > *.--mansion-name {
    max-width: 100%;
  }
}
.mod-appraisal-form__input-wrap {
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out, margin 0.3s ease-out;
}
.mod-appraisal-form__input-wrap.is-checked .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form__input-wrap.is-hidden {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  margin-top: 0;
}
.mod-appraisal-form__input-wrap.is-appear {
  visibility: visible;
  opacity: 1;
  max-height: 5.53125rem;
  margin-top: 0.75rem;
}
.mod-appraisal-form__input-wrap.--row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__input-wrap.--row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.mansyon .mod-appraisal-form__input-wrap .cmn-square-btn, .mansyon .mod-appraisal-form__input-wrap .cmn-square-btn input {
  border-radius: 624.9375rem;
}
.mod-appraisal-form.is-biz .mod-appraisal-form__option .icon-checked {
  background-color: #4FA43D;
}
.mod-appraisal-form__input-ttl {
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.875rem;
}
.mod-appraisal-form__input-wrap.--row .mod-appraisal-form__input-ttl {
  margin-bottom: 0rem;
  font-size: 1rem;
}
.mod-appraisal-form__input-ttl .icon-checked {
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #808080;
}
.mod-appraisal-form__input-ttl .icon-checked::before {
  content: "";
  width: 0.50125rem;
  height: 0.355rem;
  background-color: #FFFFFF;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-image: url(../../../img/common/icon-check.svg);
          mask-image: url(../../../img/common/icon-check.svg);
}
.mod-appraisal-form__input-ttl-wrap {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.mod-appraisal-form__input-box-wrap {
  position: relative;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-box-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
}
.mod-appraisal-form__input-box-wrap .cmn-btn {
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-box-wrap .cmn-btn {
    position: static;
    transform: unset;
    width: 100%;
  }
}
.mod-appraisal-form__radio-box {
  background-color: #FFFFFF;
  position: relative;
  border-radius: 0.5rem;
  outline: 0.125rem solid transparent;
  padding: 1rem 0.5rem 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.625rem;
  transition: outline-color 0.3s ease-out;
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.08);
}
.mod-appraisal-form__radio-box:has(input:checked) {
  outline-color: #F00000;
}
.mod-appraisal-form__radio-box input {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.mod-appraisal-form__radio-box input:checked {
  outline-color: #F00000;
}
.mod-appraisal-form__radio-box input:checked + .ball::before {
  content: "";
}
.mod-appraisal-form__radio-box .ball {
  border: 0.0625rem solid #DDDDDD;
  border-radius: 100%;
  position: absolute;
  width: 1rem;
  height: 1rem;
  right: 0.375rem;
  top: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__radio-box .ball {
    right: 0.5rem;
    top: 0.5rem;
  }
}
.mod-appraisal-form__radio-box .ball::before {
  border-radius: 100%;
  display: block;
  background-color: #F00000;
  width: 0.625rem;
  height: 0.625rem;
}
.mod-appraisal-form__radio-box .icon {
  width: 2.53125rem;
  height: 2.25rem;
  background-color: #F00000;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.mod-appraisal-form__radio-box .icon.--mansion {
  -webkit-mask-image: url(../../../img/common/icon-mansion.svg);
          mask-image: url(../../../img/common/icon-mansion.svg);
}
.mod-appraisal-form__radio-box .icon.--house {
  -webkit-mask-image: url(../../../img/common/icon-house.svg);
          mask-image: url(../../../img/common/icon-house.svg);
}
.mod-appraisal-form__radio-box .icon.--land {
  -webkit-mask-image: url(../../../img/common/icon-land.svg);
          mask-image: url(../../../img/common/icon-land.svg);
}
.mod-appraisal-form__radio-box .icon.--building {
  -webkit-mask-image: url(../../../img/common/icon-building.svg);
          mask-image: url(../../../img/common/icon-building.svg);
}
.mod-appraisal-form__radio-box .txt {
  font-weight: 500;
  font-size: 0.75rem;
}
.mod-appraisal-form .or-txt {
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: 1rem;
  margin-top: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form .or-txt {
    font-weight: 500;
    font-size: 0.875rem;
  }
}
.mod-appraisal-form .or-txt.--separate {
  margin: 1rem 0;
}
.mod-appraisal-form__select .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form__mansion {
  width: 100%;
}
.mod-appraisal-form__mansion .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form__mansion .cmn-square-btn input {
  min-height: 4rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__mansion .cmn-square-btn input {
    min-height: 3rem;
  }
}
.mod-appraisal-form__net-biz {
  margin-top: 1.875rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__net-biz {
    margin-top: 1rem;
  }
}
.mod-appraisal-form__net-biz .cmn-btn {
  width: 22.75rem;
}
.mod-appraisal-form__conv {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__conv {
    margin-top: 1rem;
    gap: 0.75rem;
  }
}
.mod-appraisal-form__conv .err-txt {
  color: #F00000;
  text-align: center;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__conv .err-txt {
    margin-bottom: 1.25rem;
    text-align: left;
  }
}
.mod-appraisal-form__conv .note {
  font-size: 0.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__conv .note {
    font-size: 0.625rem;
  }
}
.mod-appraisal-form__conv .cmn-btn:disabled {
  background-color: #808080;
}
.mod-appraisal-form__btn-wrap {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__btn-wrap {
    margin-top: 1rem;
  }
}
.mod-appraisal-form__submit:disabled {
  background-color: #808080;
}
.mod-appraisal-form__note {
  font-size: 0.75rem;
  text-align: center;
  width: 100%;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__note {
    font-size: 0.625rem;
  }
}
.mod-appraisal-form__address-area.is-hidden {
  display: none !important;
}
.mod-appraisal-form__warning {
  font-size: 0.875rem;
  padding: 1rem;
  background-color: #F4E2E2;
  border: 1px solid #D98F8F;
  border-radius: 0.5rem;
  width: 100%;
  text-align: center;
}
.mod-appraisal-form__two-ways {
  width: 100%;
  display: flex;
  align-items: flex-end;
  gap: 4.375rem;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}
.mod-appraisal-form__two-ways > .mod-appraisal-form__input-wrap {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways > .mod-appraisal-form__input-wrap {
    width: 100%;
  }
}
.mod-appraisal-form__two-ways > .mod-appraisal-form__input-wrap .cmn-square-btn {
  width: 100%;
}
.mod-appraisal-form__two-ways .mod-appraisal-form__submit {
  width: 16.25rem;
  max-width: 18.375rem;
  flex-shrink: 0;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways .mod-appraisal-form__submit {
    width: 100%;
  }
}
.mod-appraisal-form__two-ways-select-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways-select-wrap {
    width: 100%;
  }
}
@media (max-width: 40rem) {
  .mod-appraisal-form__two-ways-select-wrap {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap {
  flex: 1;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap {
    width: 100%;
  }
}
.mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap .cmn-square-btn {
  width: 100%;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap .mod-appraisal-form__input-ttl {
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap .cmn-square-btn.--select select {
    min-height: 3rem;
  }
}
.mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap:not(.--mansion-name) {
  flex: 1 1 12.5rem;
  min-width: 10rem;
}
@media (max-width: 66.25rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap:not(.--mansion-name) {
    max-width: 100%;
    min-width: unset;
  }
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap:not(.--mansion-name) {
    flex: unset;
  }
}
.mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap.--mansion-name {
  flex: 1 1 29.8125rem;
  max-width: 29.8125rem;
  min-width: 10rem;
}
@media (max-width: 66.25rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap.--mansion-name {
    max-width: 100%;
    min-width: unset;
  }
}
@media (max-width: 48rem) {
  .mansion-sell .mod-appraisal-form__two-ways-select-wrap > .mod-appraisal-form__input-wrap.--mansion-name {
    flex: unset;
  }
}
.mod-appraisal-form__input-flex-wrap {
  display: flex;
  gap: 1.375rem;
}
@media (max-width: 66.25rem) {
  .mod-appraisal-form__input-flex-wrap {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}
.mod-appraisal-form__input-flex-wrap .mod-appraisal-form__input-ttl {
  flex-shrink: 0;
}
.mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input, .mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input input {
  min-height: 3.75rem;
}
@media (max-width: 48rem) {
  .mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input, .mod-appraisal-form__input-flex-wrap .cmn-square-btn.--input input {
    min-height: 3rem;
  }
}

/* 不動産売却後の税金や費用を抑えたい方LP
-------------------------------------------------------------------- */
.mask-triangle {
  flex-shrink: 0;
  display: block;
  width: 4.375rem;
  height: 1.5rem;
  background-color: #CC0000;
  -webkit-mask-image: url(../../../img/lp/tax/icon-triangle.svg);
          mask-image: url(../../../img/lp/tax/icon-triangle.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.tax-head-container {
  text-align: center;
  background: linear-gradient(90deg, #AF0808 0%, #BF0606 50%, #F00000 100%);
  color: #FFFFFF;
}
.tax-head__ttl {
  padding: 1.875rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
}
@media (max-width: 48rem) {
  .tax-head__ttl {
    padding: 1.25rem 1rem;
    gap: 0.625rem;
  }
}
.tax-head__ttl .text-large {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .tax-head__ttl .text-large {
    font-size: 1.75rem;
  }
}
.tax-head__ttl .text-medium {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
}
@media (max-width: 48rem) {
  .tax-head__ttl .text-medium {
    font-size: 1.125rem;
  }
}

.tax-intro-box {
  background-color: #EEE6E0;
  padding: 1.875rem 1rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.625rem;
}
@media (max-width: 48rem) {
  .tax-intro-box {
    gap: 0.75rem;
    padding: 1rem 1rem 1.5rem;
  }
}

.tax-costs-box {
  padding-block: 2.5rem;
}
.tax-costs-box__ttl {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 48rem) {
  .tax-costs-box__ttl {
    font-size: 1.25rem;
  }
}

.tax-costs-content {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .tax-costs-content {
    margin-top: 1rem;
  }
}

.tax-costs-table {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 48rem) {
  .tax-costs-table {
    gap: 0.5rem;
    width: 100%;
  }
}
.tax-costs-table__cell {
  text-align: center;
  padding: 1.25rem 1.875rem;
  font-size: 1.125rem;
  font-weight: 700;
  border: 0.0625rem solid #CC0000;
}
@media (max-width: 48rem) {
  .tax-costs-table__cell {
    padding: 1.375rem 0.25rem 1.5rem;
    font-size: 1rem;
    flex: 1;
  }
}
.tax-costs-table__cell.--red {
  background-color: #CC0000;
  color: #FFFFFF;
  font-size: 1.375rem;
}
@media (max-width: 48rem) {
  .tax-costs-table__cell.--red {
    font-size: 1.125rem;
    flex: 1.5;
  }
}
.tax-costs-table__mark {
  background-color: #CC0000;
  width: 1.1875rem;
  height: 0.3125rem;
}
.tax-costs-table__mark--equal {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.tax-costs-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.tax-costs-list > li {
  width: calc((100% - 2.25rem) / 4);
  text-align: center;
  padding: 0.25rem;
  background-color: #FFFFFF;
}
@media (max-width: 66.25rem) {
  .tax-costs-list > li {
    width: calc((100% - 0.75rem) / 2);
  }
}
.tax-costs-list-inner {
  max-width: 39.625rem;
  width: 100%;
}
@media (max-width: 48rem) {
  .tax-costs-list-inner {
    max-width: 100%;
  }
}
.tax-costs-list-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #F6F1EE;
  padding: 1rem 1rem 1.25rem;
}
@media (max-width: 48rem) {
  .tax-costs-list-wrap {
    padding: 0.75rem 0.625rem 1rem;
  }
}
.tax-costs-list__ttl {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 1rem;
  text-align: center;
}
.tax-costs-list__note {
  margin-top: 0.75rem;
  background-color: #4D4D4D;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 0.25rem 0.375rem 0.5rem;
  width: 100%;
  text-align: center;
}
@media (max-width: 48rem) {
  .tax-costs-list__note {
    padding: 0.125rem 0.375rem 0.375rem;
  }
}

/* 実際によせられたご相談事例
-------------------------------------------------------------------- */
.tax-consultation-section__bg {
  background-color: #F6F1EE;
  padding-block: 3.75rem 2.875rem;
}
@media (max-width: 48rem) {
  .tax-consultation-section__bg {
    padding-block: 2rem 2.25rem;
  }
}
.tax-consultation__ttl-wrap {
  text-align: center;
  margin-bottom: 2rem;
}
@media (max-width: 48rem) {
  .tax-consultation__ttl-wrap {
    margin-bottom: 1.5rem;
  }
}
.tax-consultation__ttl {
  font-size: 2rem;
  font-weight: 700;
}
@media (max-width: 48rem) {
  .tax-consultation__ttl {
    font-size: 1.25rem;
  }
}
.tax-consultation__content-ttl-wrap {
  display: flex;
  align-items: center;
  height: 3.5rem;
  border-bottom: 0.0625rem solid #CC0000;
  width: 100%;
  margin-bottom: 1.875rem;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-ttl-wrap {
    height: auto;
    align-items: stretch;
    margin-right: -1rem;
    width: 100vw;
  }
}
.tax-consultation__content-ttl-wrap .consultation-case {
  flex-shrink: 0;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.375rem;
  background-color: #CC0000;
  padding: 0.625rem 1.25rem;
  line-height: 1;
  display: flex;
  align-items: center;
  height: 100%;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-ttl-wrap .consultation-case {
    height: auto;
    font-size: 1.125rem;
    padding: 0.75rem 0.5rem;
    align-items: baseline;
  }
}
.tax-consultation__content-ttl-wrap .consultation-case .u-font-lato {
  margin-top: 0.25rem;
}
.tax-consultation__content-ttl-wrap .consultation-case__ttl-wrap {
  background-color: #FFFFFF;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-ttl-wrap .consultation-case__ttl-wrap {
    flex-direction: column;
    align-items: flex-start;
    padding-right: 2rem;
  }
}
.tax-consultation__content-ttl-wrap .consultation-case__ttl {
  color: #CC0000;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-ttl-wrap .consultation-case__ttl {
    font-size: 1.125rem;
  }
}
.tax-consultation__content {
  display: flex;
  gap: 1.875rem;
}
@media (max-width: 30rem) {
  .tax-consultation__content {
    flex-direction: column;
    align-items: center;
  }
}
.tax-consultation__content-item {
  flex: 1;
  display: flex;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-item {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 30rem) {
  .tax-consultation__content-item:nth-child(odd) {
    margin-left: -1rem;
    margin-right: 1rem;
  }
}
.tax-consultation__content-item:nth-child(odd) .tax-consultation__content-img img {
  border-top-left-radius: 1.875rem;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-item:nth-child(odd) .tax-consultation__content-img img {
    border-top-left-radius: 0rem;
    border-top-right-radius: 2.5rem;
  }
}
.tax-consultation__content-item:nth-child(odd) .tax-consultation__content-qt {
  width: 100%;
  height: 2.0625rem;
  margin-bottom: 1rem;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-item:nth-child(odd) .tax-consultation__content-qt {
    height: 1.625rem;
    margin-bottom: 0.25rem;
  }
}
@media (max-width: 30rem) {
  .tax-consultation__content-item:nth-child(even) {
    margin-right: -1rem;
    margin-left: 1rem;
  }
}
.tax-consultation__content-item:nth-child(even) .tax-consultation__content-img img {
  border-bottom-left-radius: 1.875rem;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-item:nth-child(even) .tax-consultation__content-img img {
    border-bottom-left-radius: 0rem;
    border-top-left-radius: 2.5rem;
  }
}
.tax-consultation__content-item:nth-child(even) .tax-consultation__content-qt {
  width: 100%;
  height: 3.625rem;
  margin-bottom: 0.75rem;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-item:nth-child(even) .tax-consultation__content-qt {
    height: 1.625rem;
    margin-bottom: 0.25rem;
  }
}
.tax-consultation__content-img {
  flex-shrink: 0;
  width: 14.625rem;
}
.tax-consultation__content-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-img {
    width: 100%;
    height: 12.5rem;
  }
}
.tax-consultation__content-img.--q-02 img {
  -o-object-position: 80% center;
     object-position: 80% center;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-img.--q-02 img {
    -o-object-position: center;
       object-position: center;
  }
}
.tax-consultation__content-qt img {
  width: auto;
  height: 100%;
}
.tax-consultation__content-txt {
  padding: 1.25rem 0.75rem;
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
}
@media (max-width: 66.25rem) {
  .tax-consultation__content-txt {
    flex-grow: 1;
  }
}
.tax-consultation-box-wrap {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.tax-consultation-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #F6F1EE;
  border: 0.1875rem solid #CC0000;
}
@media (max-width: 48rem) {
  .tax-consultation-box {
    width: 100vw;
  }
}
.tax-consultation-box__ttl {
  background-color: #CC0000;
  color: #FFFFFF;
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  padding: 0.75rem 1rem;
  width: 100%;
  line-height: 1.36;
}
@media (max-width: 48rem) {
  .tax-consultation-box__ttl {
    font-size: 1.125rem;
    padding: 0.75rem 1rem 1rem;
  }
}
.tax-consultation-box__txt {
  text-align: center;
  padding: 0.875rem 0.75rem 1.25rem;
}

/* 売却時の費用や税金の悩みを解決するサポートサービス
-------------------------------------------------------------------- */
.tax-support__ttl-wrap {
  text-align: center;
  margin-bottom: 0.5rem;
}
.tax-support__ttl {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 48rem) {
  .tax-support__ttl {
    font-size: 1.25rem;
  }
}
.tax-support-boxes {
  display: flex;
  gap: 1.875rem;
}
@media (max-width: 48rem) {
  .tax-support-boxes {
    flex-direction: column;
    gap: 1.25rem;
  }
}
.tax-support-boxes__item-wrap, .tax-support-boxes__item {
  flex: 1;
  height: 100%;
}
.tax-support-boxes__item {
  display: flex;
  flex-direction: column;
  border: 0.0625rem solid #CC0000;
  background-color: #FFFFFF;
}
.tax-support-boxes__ttl {
  width: 100%;
  background-color: #CC0000;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.2;
  text-align: center;
  padding: 0.5rem 0.75rem;
}
@media (max-width: 48rem) {
  .tax-support-boxes__ttl {
    font-size: 1.125rem;
    padding: 0.625rem;
  }
}
.tax-support-boxes__body {
  display: flex;
}
@media (max-width: 66.25rem) {
  .tax-support-boxes__body {
    flex-direction: column;
  }
}
.tax-support-boxes__img {
  flex-shrink: 0;
  width: 17.5rem;
  aspect-ratio: 280/220;
}
@media (max-width: 66.25rem) {
  .tax-support-boxes__img {
    width: 100%;
    aspect-ratio: 346/224;
  }
}
.tax-support-boxes__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tax-support-boxes__txt {
  padding: 0.625rem 0.625rem 0.625rem 0.875rem;
  flex-grow: 1;
}
@media (max-width: 66.25rem) {
  .tax-support-boxes__txt {
    padding: 0.625rem;
  }
}
.tax-support__award-box {
  background-color: #F8F8F0;
}
.tax-support__award-inner {
  max-width: 61.25rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.375rem;
  height: 16.25rem;
}
@media (max-width: 48rem) {
  .tax-support__award-inner {
    text-align: center;
    max-width: 100%;
    padding-bottom: 1rem;
    height: auto;
    flex-direction: column;
    gap: 1.125rem;
  }
}
.tax-support__award-img {
  flex-shrink: 0;
  width: 35rem;
}
@media (max-width: 48rem) {
  .tax-support__award-img {
    width: 21rem;
  }
}
.tax-support__award-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* 費用・税金のよくあるご質問
-------------------------------------------------------------------- */
.tax-qa-section {
  padding-block: 1.875rem 3.125rem;
  background-color: #F2F2F2;
}
@media (max-width: 48rem) {
  .tax-qa-section {
    padding-block: 0.625rem 1.875rem;
  }
}
.tax-qa-section__ttl-wrap {
  text-align: center;
  width: 100%;
  background-color: #BD967C;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.5rem;
  padding-block: 1rem 1.125rem;
  line-height: 1;
}
@media (max-width: 48rem) {
  .tax-qa-section__ttl-wrap {
    font-size: 1.125rem;
    padding-block: 1rem;
  }
}

/* 費用・税金の無料相談フォーム
-------------------------------------------------------------------- */
.tax-form-section {
  padding-block: 2.5rem 3.125rem;
}
@media (max-width: 48rem) {
  .tax-form-section {
    padding-block: 1.875rem 2.25rem;
  }
}
.tax-form-section .mod-appraisal-form__head.--column {
  gap: 0.875rem;
}
@media (max-width: 48rem) {
  .tax-form-section .mod-appraisal-form__head.--column {
    gap: 1rem;
  }
}
/*# sourceMappingURL=tax.css.map */
