@charset "UTF-8";
/*--------- common style ------------*/
body {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px) {
  body {
    min-width: 1200px;
    overflow-x: auto;
  }
}

body.add-set {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  width: 100%;
  color: rgba(0, 0, 0, 0.87);
}
@media screen and (min-width: 769px) {
  body.add-set {
    min-width: 1200px;
  }
}
body.add-set {
  overflow-x: auto;
}
@media screen and (max-width: 768px) {
  body.add-set {
    min-width: 100%;
    font-size: 3.2710280374vw;
  }
}

.add-set .common-container {
  width: 1200px;
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .add-set .common-container {
    min-width: 100%;
    width: 100%;
    padding-left: 3.738317757vw;
    padding-right: 3.738317757vw;
  }
}

.add-set .add-main__wrapper {
  font-size: 14px;
  width: 946px;
  margin: 0 auto;
  padding-top: 0px;
}
@media screen and (max-width: 768px) {
  .add-set .add-main__wrapper {
    min-width: 100%;
    width: 100%;
    padding-top: 0;
    padding-left: 3.738317757vw;
    padding-right: 3.738317757vw;
    font-size: 3.2710280374vw;
  }
}

#wrapper main {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.87);
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #wrapper main {
    font-size: 3.738317757vw;
  }
}

.for_pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .for_pc {
    display: none;
  }
}

.for_sp {
  display: block;
}
@media screen and (min-width: 769px) {
  .for_sp {
    display: none;
  }
}

.sp-space {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-space {
    display: inline;
  }
  .sp-space::after {
    content: " ";
    padding: 0 4px;
  } /* 半角相当のスペース */
}
.mt-s {
  margin-top: 8px;
}

.mt-m {
  margin-top: 16px;
}

.mt-xl {
  margin-top: 40px;
}

.mb-s {
  margin-bottom: 8px;
}

.mb-m {
  margin-bottom: 16px;
}

.mb-xl {
  margin-bottom: 40px;
}

sup {
  vertical-align: top;
  font-size: 30%;
}

/*--------- inner style ------------*/
.inner {
  min-width: 1140px;
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .inner {
    min-width: 100%;
    width: 100%;
    padding-left: 3.738317757vw;
    padding-right: 3.738317757vw;
  }
}

.inner__sp-full {
  min-width: 1140px;
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  .inner__sp-full {
    min-width: 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 0vw;
    padding-right: 0vw;
  }
}

.inner--full {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

#breadcrumb {
  margin: 24px 0 40px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  #breadcrumb {
    margin: 5.6074766355vw 0 9.3457943925vw;
    font-size: 2.8037383178vw;
  }
}

@media screen and (max-width: 768px) {
  .product-list-page #pagination.above .add-total {
    font-size: 3.2710280374vw;
  }
}

.page__heading {
  font-size: 32px;
  font-weight: 700;
  color: #E82E34;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page__heading {
    font-size: 6.5420560748vw;
    margin-bottom: 5.6074766355vw;
  }
}

.add-set .add-title__page {
  font-size: 32px;
  font-weight: bold !important;
  padding: 18px 0 32px;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .add-set .add-title__page {
    font-size: 6.5420560748vw;
    padding: 9.3457943925vw 0 5.6074766355vw;
  }
}

.heading--red {
  color: #E82E34;
}

select {
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.83);
  background: url("../img/common/arrow.svg") no-repeat right 12px center/12px auto;
}
@media screen and (max-width: 768px) {
  select {
    background: url("../img/common/arrow.svg") no-repeat right 2.8037383178vw center/2.8037383178vw auto;
    background-color: #fff;
  }
}

.add-set .add-pager__wrapper {
  display: flex;
  padding: 8px 0;
  justify-content: center;
  gap: 24px;
  align-items: center;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .add-set .add-pager__wrapper {
    padding: 1.8691588785vw 0;
    gap: 5.6074766355vw;
  }
}

.Feature-pagelist .add-total {
  display: none;
}

/* ページャー全体 */
.add-pager__link-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .add-pager__link-wrapper {
    gap: 4.6728971963vw;
  }
}

/* 戻る・次へ */
.add-back,
.add-next {
  width: 8px;
  height: 8px;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .add-back,
  .add-next {
    width: 1.8691588785vw;
    height: 1.8691588785vw;
  }
}

.add-back::before,
.add-next::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(-135deg);
  margin: auto;
}
@media screen and (max-width: 768px) {
  .add-back::before,
  .add-next::before {
    border-top-width: 0.4672897196vw;
    border-right-width: 0.4672897196vw;
  }
}

.add-next::before {
  transform: rotate(45deg);
}

/* 数字 */
.add-num span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 16px;
  font-weight: 500;
  color: #333;
}
@media screen and (max-width: 768px) {
  .add-num span {
    width: 7.476635514vw;
    height: 7.476635514vw;
    font-size: 3.738317757vw;
  }
}

/* アクティブ（画像の赤2） */
.add-num span.is-current {
  color: #d33;
  font-weight: 700;
}

.add-set .add-pager__wrapper .add-num span {
  display: inline-flex;
  width: 32px;
  height: 32px;
  color: #E82E34;
  border: none;
  background: #fff;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .add-set .add-pager__wrapper .add-num span {
    width: 7.476635514vw;
    height: 7.476635514vw;
  }
}

.add-set .add-pager__wrapper .add-num a {
  display: inline-flex;
  width: 32px;
  height: 32px;
  color: rgba(0, 0, 0, 0.57);
  border: none;
  background: #fff;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .add-set .add-pager__wrapper .add-num a {
    width: 7.476635514vw;
    height: 7.476635514vw;
    font-size: 3.738317757vw;
  }
}

.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-list.is-top .news-item__body {
  display: none;
}

.news-item {
  display: flex;
  align-items: flex-start;
  padding-block: 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  .news-item {
    padding-top: 5.6074766355vw;
    padding-bottom: 5.6074766355vw;
    grid-template-columns: auto;
    gap: 5.6074766355vw;
  }
}
.news-item:first-child {
  padding-top: 0vw;
}
.news-item__date {
  font-size: 13px;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .news-item__date {
    font-size: 3.0373831776vw;
  }
}
.news-item__title {
  display: block;
  font-size: 15px;
  text-decoration: none;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .news-item__title {
    font-size: 3.738317757vw;
  }
}
.news-item__body {
  font-size: 14px;
  margin-top: 12px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .news-item__body {
    font-size: 3.2710280374vw;
    margin-top: 2.8037383178vw;
  }
}

.feature-page-parts-category-links-items {
  align-items: baseline;
}

#breadcrumb li {
  line-height: 1;
}
#breadcrumb li + #breadcrumb li::before {
  content: ">";
  display: inline-flex;
  align-items: center;
  line-height: 1;
  opacity: 0.7;
  margin-right: 12px;
}

.dvUserBtnBox__actions {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px !important;
}
@media screen and (max-width: 768px) {
  .dvUserBtnBox__actions {
    flex-direction: row;
    gap: 3.738317757vw;
    margin-top: 3.738317757vw !important;
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .dvUserBtnBox__actions > span {
    width: 100%;
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  width: 332px;
}
@media screen and (max-width: 768px) {
  .btn {
    padding: 3.738317757vw 5.6074766355vw;
    font-size: 3.2710280374vw;
    max-width: 100%;
    width: 100%;
  }
}
.btn--primary {
  background: #111;
  color: #fff;
  border: 1px solid #111;
}
.btn--primary:hover {
  color: #fff;
  background: #111;
  border: 1px solid #111;
  opacity: 0.6;
}
.btn--secondary {
  border: 1px solid #111;
  color: #111 !important;
  background: #fff;
}
.btn--secondary:hover {
  opacity: 0.6;
  color: #111 !important;
}

.u-center {
  text-align: center;
}

.add-flex-col {
  display: flex !important;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.user-regist-regulation__field {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .user-regist-regulation__field {
    align-items: flex-start;
    gap: 1.8691588785vw;
    flex-direction: column;
  }
}
.user-regist-regulation__field p {
  font-weight: bold;
  width: 120px;
}
@media screen and (max-width: 768px) {
  .user-regist-regulation__field p {
    width: 28.0373831776vw;
  }
}

.user-regist-regulation__agree {
  text-align: center;
  margin: 40px 0;
}
@media screen and (max-width: 768px) {
  .user-regist-regulation__agree {
    margin: 5.6074766355vw 0;
    display: flex;
    justify-content: center;
    gap: 4px;
    align-content: center;
    align-items: center;
  }
}

.radioBtn label {
  vertical-align: -1px !important;
}

#dvUserBox #dvUserRegistInput table, #dvUserBox #dvUserRegistConfirm table {
  width: 100%;
  padding: 0;
  margin: 0px;
  border-spacing: 0;
  empty-cells: show;
  border-collapse: separate;
  border: none !important;
}

#dvUserBox #dvUserRegistInput table th, #dvUserBox #dvUserRegistConfirm table th {
  border: none;
  background-color: transparent;
  padding: 0 0 8px 0;
  text-align: left;
  width: auto;
}

#dvUserBox #dvUserRegistInput table td, #dvUserBox #dvUserRegistConfirm table td {
  border: none;
  background-color: transparent;
  padding: 0px;
  text-align: left;
}

#dvHeaderRegistClumbs img {
  max-width: 100%;
}

.upload-user-document__request-contact {
  background-color: #fff !important;
  padding-top: 24px !important;
}
@media screen and (max-width: 768px) {
  .upload-user-document__request-contact {
    padding: 3.738317757vw !important;
  }
}

.product-error {
  color: #d03f3f !important;
}

.header {
  padding: 0;
  display: block;
  border: 0;
}
@media screen and (max-width: 768px) {
  .header {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0;
  }
}
.header__top {
  background: rgba(0, 0, 0, 0.87);
  color: #fff;
}
.header__top-inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 5px 50px;
}
@media screen and (max-width: 768px) {
  .header__top-inner {
    justify-content: flex-start;
    padding-inline: 3.738317757vw;
    padding-block: 0.9345794393vw;
  }
}
.header__top-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .header__top-right {
    gap: 1.8691588785vw;
    width: 100%;
    justify-content: space-between;
  }
}
.header__user {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .header__user {
    gap: 1.8691588785vw;
  }
}
.header__user-icon {
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 768px) {
  .header__user-icon {
    width: 4.2056074766vw;
    height: 4.2056074766vw;
  }
}
.header__user-text {
  font-size: 13px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .header__user-text {
    font-size: 3.0373831776vw;
  }
}
.header__user-name {
  font-size: 16px;
  padding: 0 8px;
  font-weight: 200;
}
@media screen and (max-width: 768px) {
  .header__user-name {
    font-size: 3.738317757vw;
    padding: 0 1.8691588785vw;
  }
}
.header__point {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .header__point {
    gap: 0.9345794393vw;
  }
}
.header__point-icon {
  display: flex;
  margin-right: 4px;
}
@media screen and (max-width: 768px) {
  .header__point-icon {
    margin-right: 0.9345794393vw;
  }
}
.header__point-icon img {
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 768px) {
  .header__point-icon img {
    width: 5.6074766355vw;
    height: 5.6074766355vw;
  }
}
.header__point-value {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .header__point-value {
    font-size: 3.738317757vw;
  }
}
.header__point-unit {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .header__point-unit {
    font-size: 3.0373831776vw;
  }
}
.header__bottom {
  background: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08), 0 0 8px 0 rgba(0, 0, 0, 0.08);
}
.header__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
}
.header__brand {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .header__brand {
    gap: 3.738317757vw;
  }
}
.header__logo img {
  display: block;
  width: 108px;
}
@media screen and (max-width: 768px) {
  .header__logo img {
    width: 25.2336448598vw;
  }
}
.header__logo a {
  vertical-align: top;
}
.header__title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.01rem;
}
@media screen and (max-width: 768px) {
  .header__title {
    font-size: 3.2710280374vw;
    line-height: 1.2;
  }
}
.header__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex: 1;
  padding-right: 40px;
}
@media screen and (max-width: 768px) {
  .header__nav {
    padding-right: 3.738317757vw;
  }
}
.header__utility {
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .header__utility {
    gap: 1.8691588785vw;
  }
}
@media screen and (max-width: 768px) {
  .header .header__utility img {
    width: 9.3457943925vw;
  }
}
.header #HeadCartView .num {
  top: 4px;
  right: 2px;
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
}
@media screen and (max-width: 768px) {
  .header #HeadCartView .num {
    top: 0.9345794393vw;
    right: 0vw;
    font-size: 2.5700934579vw;
    width: 3.738317757vw;
    height: 3.738317757vw;
  }
}

/* ----------------------------

 ハンバーガーメニュー　共通使用

----------------------------  */
.header .hamburger-menu {
  display: block;
}

.hamburger-menu .menu-trigger {
  position: relative;
  width: 32px;
  height: 48px;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-trigger {
    width: 7.476635514vw;
    height: 11.214953271vw;
    margin-top: 0.9345794393vw;
  }
}

.hamburger-menu .menu-trigger span {
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: #333;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-trigger span {
    width: 5.6074766355vw;
    border-radius: 0.4672897196vw;
  }
}

.hamburger-menu .menu-trigger span:first-child {
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
}

.hamburger-menu .menu-trigger span:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hamburger-menu .menu-trigger span:last-child {
  bottom: 30%;
  left: 50%;
  transform: translateX(-50%);
}

.hamburger-menu .menu-content {
  position: fixed;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  left: -85vw;
  top: 0;
  width: 85vw;
  height: 100%;
  background: #fff;
  transition: all 0.5s;
  z-index: 3;
}

.hamburger-menu .menu-content.open {
  left: 0;
}

.hamburger-menu .menu-content .header__menu {
  display: block;
}

.hamburger-menu .menu-content .header__menu > li {
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-content .header__menu > li {
    border-bottom-width: 0.2336448598vw;
  }
}

.hamburger-menu .menu-content .header__menu > li a {
  display: block;
  padding: 12px 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-content .header__menu > li a {
    padding: 2.8037383178vw 3.738317757vw;
  }
}

.hamburger-menu .overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
}

.hamburger-menu .overlay.open {
  display: block;
  opacity: 1;
}

.hamburger-menu .menu-close {
  display: none;
  position: fixed;
  top: 24px;
  left: calc(85vw + 24px);
  width: 40px;
  height: 40px;
  background-color: #D9D9D9;
  border-radius: 50%;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-close {
    top: 5.6074766355vw;
    left: calc(85vw + 1.8691588785vw);
    width: 9.3457943925vw;
    height: 9.3457943925vw;
  }
}

.hamburger-menu .menu-close::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 3px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.8);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-close::before {
    width: 4.2056074766vw;
    height: 0.7009345794vw;
    border-radius: 0.4672897196vw;
  }
}

.hamburger-menu .menu-close::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 3px;
  background: rgba(0, 0, 0, 0.8);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-close::after {
    width: 4.2056074766vw;
    height: 0.7009345794vw;
  }
}

.hamburger-menu .menu-close.open {
  display: block;
}

.hamburger-menu .btn-wrap {
  padding: 32px 16px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .btn-wrap {
    padding: 7.476635514vw 3.738317757vw;
  }
}

.hamburger-menu .header__menu {
  border-top: 1px solid #ddd;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__menu {
    border-top-width: 0.2336448598vw;
  }
}

.hamburger-menu .header__menu .has-child {
  display: block;
  width: auto;
  padding: 12px 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__menu .has-child {
    padding: 2.8037383178vw 3.738317757vw;
  }
}

.hamburger-menu .header__menu .has-child::after {
  top: 18px;
  right: 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__menu .has-child::after {
    top: 4.2056074766vw;
    right: 3.738317757vw;
  }
}

.hamburger-menu .header__menu .has-child.is-active::after {
  top: 20px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__menu .has-child.is-active::after {
    top: 4.6728971963vw;
  }
}

.hamburger-menu .header__item {
  grid-template-columns: 1fr;
  margin-top: 0;
}

.hamburger-menu .header__item > li {
  border-bottom: none;
  border-top: 1px solid #ddd;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__item > li {
    border-top-width: 0.2336448598vw;
  }
}

.hamburger-menu .header__item a {
  gap: 8px;
  padding: 8px 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__item a {
    gap: 1.8691588785vw;
    padding: 1.8691588785vw 3.738317757vw;
  }
}

.hamburger-menu .header__category {
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 0;
}

.hamburger-menu .header__category li {
  display: block;
  border-bottom: none;
  padding-bottom: 0;
}

.hamburger-menu .header__category-parent {
  display: none;
}

.hamburger-menu .header__category-list {
  display: block;
}

.hamburger-menu .header__category-list a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  border-right: none;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__category-list a {
    gap: 1.8691588785vw;
    padding: 2.8037383178vw 3.738317757vw;
    border-bottom-width: 0.2336448598vw;
  }
}

.hamburger-menu .header__category-list a:not(.header__category-parent) {
  padding-left: 56px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__category-list a:not(.header__category-parent) {
    padding-left: 13.0841121495vw;
  }
}

.hamburger-menu .header__category-list a:not(.header__category-parent)::before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 1px solid #333;
  border-bottom: 1px solid #333;
  position: absolute;
  left: 32px;
  top: 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header__category-list a:not(.header__category-parent)::before {
    width: 1.8691588785vw;
    height: 1.8691588785vw;
    border-left-width: 0.2336448598vw;
    border-bottom-width: 0.2336448598vw;
    left: 7.476635514vw;
    top: 3.738317757vw;
  }
}

.hamburger-menu .menu-content__list li {
  border-bottom: 1px solid #333;
  padding: 0 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-content__list li {
    border-bottom-width: 0.2336448598vw;
    padding: 0 3.738317757vw;
  }
}

.hamburger-menu .menu-content__list li a {
  display: block;
  font-size: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .menu-content__list li a {
    font-size: 3.738317757vw;
    padding-top: 2.8037383178vw;
    padding-bottom: 2.8037383178vw;
  }
}

@media screen and (max-width: 768px) {
  #HeadCartView img {
    width: 9.3457943925vw;
  }
}

/* ----------------------------

 ハンバーガーメニュー　カスタム

----------------------------  */
@media screen and (min-width: 769px) {
  .hamburger-menu .header-menu__inner {
    padding-top: 40px;
    min-width: auto;
    width: 100%;
    max-width: 1200px;
  }
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__inner {
    padding-top: 5.6074766355vw;
    padding-bottom: 9.3457943925vw;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.hamburger-menu .header-menu {
  /* 上部ユーザーエリア */
}
.hamburger-menu .header-menu__user {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  max-width: 364px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__user {
    align-items: flex-start;
    row-gap: 3.738317757vw;
    margin-bottom: 1.8691588785vw;
    max-width: 100%;
  }
}
.hamburger-menu .header-menu__user-left {
  display: flex;
  align-items: center;
  column-gap: 16px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__user-left {
    column-gap: 3.738317757vw;
  }
}
.hamburger-menu .header-menu__user-avatar {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__user-avatar {
    width: 9.3457943925vw;
    height: 9.3457943925vw;
  }
}
.hamburger-menu .header-menu__user-texts {
  display: flex;
  flex-direction: column;
  row-gap: 0px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__user-texts {
    row-gap: 0vw;
  }
}
.hamburger-menu .header-menu__welcome {
  margin: 0;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.87);
  position: relative;
  padding: 0px 12px;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .hamburger-menu .header-menu__welcome {
    max-width: 180px;
  }
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__welcome {
    font-size: 3.2710280374vw;
    padding: 0px 2.8037383178vw;
  }
}
.hamburger-menu .header-menu__welcome::before, .hamburger-menu .header-menu__welcome::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 16px;
  height: 1px; /* 太さ */
  background: rgba(0, 0, 0, 0.6);
}
.hamburger-menu .header-menu__welcome::before {
  left: 66px;
  transform: translateY(-50%) rotate(-70deg);
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__welcome::before {
    left: 16.3551401869vw;
  }
}
.hamburger-menu .header-menu__welcome::after {
  left: -3px;
  transform: translateY(-50%) rotate(70deg); /* ／ */
}
.hamburger-menu .header-menu__name {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__name {
    font-size: 5.6074766355vw;
  }
}
.hamburger-menu .header-menu__name-suffix {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__name-suffix {
    font-size: 3.0373831776vw;
  }
}
.hamburger-menu .header-menu {
  /* ポイント */
}
.hamburger-menu .header-menu__point {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__point {
    text-align: left;
  }
}
.hamburger-menu .header-menu__point-label {
  margin: 0 0 0px;
  font-size: 13px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__point-label {
    margin-bottom: 0vw;
    font-size: 3.0373831776vw;
  }
}
.hamburger-menu .header-menu__point-value {
  margin: 0;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__point-value {
    font-size: 3.0373831776vw;
  }
}
.hamburger-menu .header-menu__point-number {
  font-size: 28px;
  font-weight: bold;
  color: #E82E34;
  margin-right: 4px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__point-number {
    font-size: 6.5420560748vw;
    margin-right: 0.9345794393vw;
  }
}
.hamburger-menu .header-menu__point-unit {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__point-unit {
    font-size: 3.0373831776vw;
  }
}
.hamburger-menu .header-menu {
  /* マイページリンク */
}
.hamburger-menu .header-menu__mypage-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  padding: 8px 16px;
  background: #F6EDC9;
  border-radius: 4px;
  font-size: 16px;
  max-width: 364px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__mypage-link {
    justify-content: center;
    margin-bottom: 4.6728971963vw;
    text-align: center;
    padding-block: 1.8691588785vw;
    padding-inline: 3.738317757vw;
    font-size: 3.738317757vw;
    max-width: 100%;
  }
}
.hamburger-menu .header-menu__mypage-link::after {
  position: absolute;
  right: 16px;
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("../img/common/arrow_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__mypage-link::after {
    right: 1.8691588785vw;
    width: 3.738317757vw;
    height: 3.738317757vw;
  }
}
.hamburger-menu .header-menu__mypage-arrow {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__mypage-arrow {
    font-size: 3.0373831776vw;
  }
}
.hamburger-menu .header-menu {
  /* 2カラムナビ本体 */
}
.hamburger-menu .header-menu__nav {
  font-weight: 700;
  display: flex;
  gap: 96px;
  padding: 48px 0 48px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.87);
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__nav {
    display: block;
    padding: 5.6074766355vw 0;
  }
}
.hamburger-menu .header-menu__nav-col {
  margin: 0;
  padding: 0;
}
.hamburger-menu .header-menu__nav-col--right {
  width: 261px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__nav-col--right {
    width: 100%;
    margin-top: 9.3457943925vw;
  }
}
.hamburger-menu .header-menu__nav-col--right .header-menu__link {
  font-size: 15px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__nav-col--right .header-menu__link {
    font-size: 3.5046728972vw;
  }
}
.hamburger-menu .header-menu {
  /* リスト */
}
.hamburger-menu .header-menu__item {
  list-style: none;
  margin: 0 0 20px;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__item {
    margin-bottom: 4.6728971963vw;
    font-size: 4.2056074766vw;
  }
}
.hamburger-menu .header-menu__item--title {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.87);
  margin-bottom: 24px;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__item--title {
    padding-bottom: 1.8691588785vw;
    margin-bottom: 3.738317757vw;
    font-size: 3.0373831776vw;
  }
}
.hamburger-menu .header-menu__link {
  font-size: 18px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .hamburger-menu .header-menu__link {
    font-size: 4.2056074766vw;
  }
}

.footer {
  background: #212121;
  padding-block: 80px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-top: 18.691588785vw;
    padding-bottom: 37.3831775701vw;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0px;
}
.footer__logo img {
  width: 108px;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .footer__logo img {
    width: 25.2336448598vw;
  }
}
.footer__copy {
  display: block;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.87);
  margin-top: 64px;
  font-weight: 200;
}
@media screen and (max-width: 768px) {
  .footer__copy {
    font-size: 2.8037383178vw;
    margin-top: 14.953271028vw;
  }
}

.button-primary {
  background-color: #E82E34;
  color: #fff;
}
.button-primary:hover {
  background-color: #E82E34;
  color: #fff;
}

.button {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 267px;
  height: 48px;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .button {
    width: 100%;
    height: 11.214953271vw;
    font-size: 3.2710280374vw;
  }
}
.button-secondary {
  background-color: #212121;
  color: #fff;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .button-secondary {
    margin-top: 5.6074766355vw;
  }
}

.link-more__text {
  position: relative;
  font-size: 13px;
  padding-right: 21px;
  color: rgba(0, 0, 0, 0.8);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .link-more__text {
    font-size: 3.0373831776vw;
    padding-right: 4.9065420561vw;
  }
}
.link-more__text::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 13px;
  height: 13px;
  background-image: url(../img/common/arrow_red.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .link-more__text::after {
    width: 3.0373831776vw;
    height: 3.0373831776vw;
  }
}

.button__icon-search {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 48px;
  background: black;
  border-radius: 9999px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .button__icon-search {
    gap: 1.8691588785vw;
    height: 11.214953271vw;
    font-size: 3.2710280374vw;
  }
}
.button__icon-search::before {
  content: "";
  width: 40px;
  height: 40px;
  background: url("../img/common/icon_search-white.svg") no-repeat center/contain;
  display: inline-block;
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 768px) {
  .button__icon-search::before {
    width: 9.3457943925vw;
    height: 9.3457943925vw;
  }
}
.button__icon-search .btn {
  min-width: auto;
  border-radius: 4px;
  padding: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .button__icon-search .btn {
    border-radius: 0.9345794393vw;
    padding: 0vw;
  }
}

.btn__outline {
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 267px;
  height: 48px;
  background: #fff;
  border-radius: 9999px;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid #000;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .btn__outline {
    gap: 1.8691588785vw;
    width: 100%;
    height: 11.214953271vw;
    font-size: 3.2710280374vw;
  }
}
.btn__outline--review::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("../img/common/icon_pen.svg") no-repeat center/contain;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .btn__outline--review::before {
    width: 5.6074766355vw;
    height: 5.6074766355vw;
  }
}

.bottom-nav {
  position: fixed;
  right: 0;
  top: 20%;
  z-index: 8;
  background: #111;
  padding: 12px;
  border-radius: 8px 0 0 8px;
}
@media screen and (max-width: 768px) {
  .bottom-nav {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    padding: 1.8691588785vw 0;
    border-radius: 0;
  }
}
.bottom-nav__list {
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  .bottom-nav__list {
    gap: 0vw;
  }
}
@media screen and (min-width: 769px) {
  .bottom-nav__list {
    flex-direction: column;
  }
}
.bottom-nav__item {
  flex: 1 1 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bottom-nav__item + .bottom-nav__item::before {
    content: "";
    position: absolute;
    left: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.25);
    top: 2.3364485981vw;
    bottom: 2.3364485981vw;
  }
}
.bottom-nav__item a:hover {
  color: #fff;
  opacity: 0.7;
}
.bottom-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-decoration: none;
  color: #fff;
  font-size: 12px;
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .bottom-nav__link {
    padding-block: 0.4672897196vw;
    gap: 0vw;
    font-size: 2.8037383178vw;
  }
}
.bottom-nav__icon img {
  width: 40px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .bottom-nav__icon img {
    width: 9.3457943925vw;
  }
}
.bottom-nav__label {
  letter-spacing: 0.04em;
}

.link-text {
  text-decoration: underline;
}

.u-arrow-right {
  position: relative;
}

.u-arrow-right::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}
.modal.is-open {
  display: block;
}
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.modal__dialog {
  position: relative;
  max-width: 558px;
  width: 80%;
  margin: 40px auto;
  background: #fff;
  border-radius: 16px;
  padding: 40px;
  overflow-y: auto;
  max-height: calc(90% - 80px);
}
@media screen and (max-width: 768px) {
  .modal__dialog {
    max-width: 100%;
    width: 100%;
    margin: 0vw auto;
    border-radius: 0vw;
    padding: 9.3457943925vw 3.738317757vw;
    max-height: 100%;
  }
}
.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: #D9D9D9;
  cursor: pointer;
}
.modal__close::before, .modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: rgba(0, 0, 0, 0.8);
  transform-origin: center;
}
.modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .modal__close {
    top: 3.738317757vw;
    right: 3.738317757vw;
    width: 7.476635514vw;
    height: 7.476635514vw;
  }
}
.modal__header {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .modal__header {
    margin-bottom: 7.476635514vw;
  }
}
.modal__title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .modal__title {
    font-size: 5.6074766355vw;
    margin-bottom: 3.738317757vw;
  }
}
.modal__lead {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .modal__lead {
    font-size: 3.2710280374vw;
    margin-bottom: 5.6074766355vw;
  }
}
.modal__detail-link {
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  padding: 0px 32px 0px 0;
  display: block;
  text-align: right;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .modal__detail-link {
    font-size: 3.738317757vw;
    padding: 1.8691588785vw 7.476635514vw 1.8691588785vw 0;
    margin-top: 5.6074766355vw;
  }
}
.modal__detail-link::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  background-image: url(../img/common/icon_detail.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .modal__detail-link::after {
    width: 5.6074766355vw;
    height: 5.6074766355vw;
  }
}
.modal__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .modal__body {
    gap: 7.476635514vw;
  }
}
.modal__block {
  border-top: 1px solid rgba(0, 0, 0, 0.34);
  padding-top: 24px;
}
@media screen and (max-width: 768px) {
  .modal__block {
    border-top-width: 0.2336448598vw;
    padding-top: 5.6074766355vw;
  }
}
.modal__block-title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .modal__block-title {
    font-size: 4.2056074766vw;
    margin-bottom: 1.8691588785vw;
  }
}
.modal__block-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .modal__block-text {
    font-size: 3.2710280374vw;
  }
}
.modal__buttons {
  display: flex;
  gap: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .modal__buttons {
    flex-direction: row;
    gap: 3.738317757vw;
    margin-top: 5.6074766355vw;
  }
}
.modal__btn {
  flex: 1 1 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  padding: 12px 24px;
  font-size: 14px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .modal__btn {
    padding: 3.738317757vw 5.6074766355vw;
    font-size: 3.2710280374vw;
  }
}
.modal__btn--primary {
  background: #E82E34;
  color: #fff;
}
.modal__btn--primary:hover {
  color: #fff;
}
.modal__btn--secondary {
  background: #111;
  color: #fff;
}
.modal__btn--secondary:hover {
  color: #fff;
}
.modal__list-title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .modal__list-title {
    margin-bottom: 3.738317757vw;
    font-size: 4.2056074766vw;
  }
}
.modal__list-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .modal__list-items {
    gap: 3.738317757vw;
  }
}
.modal__list-item {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .modal__list-item {
    border-radius: 1.8691588785vw;
  }
}
.modal__list-item-inner {
  display: grid;
  grid-template-columns: 60px 1fr;
  align-items: center;
  gap: 16px;
  padding: 16px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .modal__list-item-inner {
    grid-template-columns: 11.214953271vw 1fr;
    gap: 3.738317757vw;
    padding: 3.738317757vw;
  }
}
.modal__list-icon {
  width: 60px;
  height: 60px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.08);
  display: grid;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .modal__list-icon {
    width: 11.214953271vw;
    height: 11.214953271vw;
  }
}
.modal__list-icon-img {
  font-size: 12px;
  line-height: 1;
  color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .modal__list-icon-img {
    font-size: 2.8037383178vw;
  }
}
.modal__list-content {
  min-width: 0; /* 長文タイトルのはみ出し対策 */
}
.modal__list-item-title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .modal__list-item-title {
    margin-bottom: 1.4018691589vw;
    font-size: 3.738317757vw;
  }
}
.modal__list-item-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 768px) {
  .modal__list-item-text {
    font-size: 3.2710280374vw;
  }
}
.modal__list-arrow {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .modal__list-arrow {
    width: 5.6074766355vw;
    height: 5.6074766355vw;
  }
}
.modal__list-arrow-icon {
  font-size: 24px;
  line-height: 1;
  color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 768px) {
  .modal__list-arrow-icon {
    font-size: 5.6074766355vw;
  }
}

body.is-modal-open {
  overflow: hidden;
}

.top-slider {
  /* slick 共通調整 */
}
.top-slider .slick-list {
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .top-slider .slick-list {
    overflow: hidden;
  }
}
.top-slider {
  /* ドット */
}
.top-slider .slick-dots {
  position: relative;
  display: flex;
  justify-content: center;
  column-gap: 8px;
  padding: 0;
  bottom: 0;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .top-slider .slick-dots {
    column-gap: 1.8691588785vw;
    margin-top: 7.476635514vw;
    bottom: 0vw;
  }
}
.top-slider .slick-dots li {
  list-style: none;
  margin: 0;
}
.top-slider .slick-dots button:before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #cccccc;
  border: none;
  padding: 0;
  font-size: 0;
}
@media screen and (max-width: 768px) {
  .top-slider .slick-dots button:before {
    width: 1.8691588785vw;
    height: 1.8691588785vw;
  }
}
.top-slider .slick-dots .slick-active button:before {
  background: #d43921;
}
.top-slider {
  /* 矢印（左右の丸ボタン） */
}
.top-slider .slider {
  position: absolute;
  z-index: 2;
  bottom: -60px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  color: #fff;
  border: none;
  padding: 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .top-slider .slider {
    bottom: -7.476635514vw;
    width: 8.4112149533vw;
    height: 8.4112149533vw;
    background-size: contain;
  }
}
.top-slider .slider--prev {
  left: 0;
}
.top-slider .slider--next {
  right: 0;
}
.top-slider .slider::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (max-width: 768px) {
  .top-slider .slider::before {
    width: 2.3364485981vw;
    height: 2.3364485981vw;
    border-width: 0.4672897196vw;
  }
}
.top-slider .slider--prev::before {
  transform: rotate(-135deg);
}
.top-slider .slider--next::before {
  transform: rotate(45deg);
}
.top-slider .slick-track {
  display: flex;
}
.top-slider .slider__arrow {
  position: absolute;
  bottom: -48px;
  width: 32px;
  height: 32px;
  background-image: url("../img/common/slider-arrow.svg");
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  background-color: transparent;
  color: #fff;
  border: none;
  padding: 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .top-slider .slider__arrow {
    background-size: contain;
    bottom: -7.476635514vw;
    width: 8.4112149533vw;
    height: 8.4112149533vw;
  }
}
.top-slider .slider__arrow--prev {
  left: 0;
  bottom: 0px;
  transform: rotate(-180deg);
}
@media screen and (max-width: 768px) {
  .top-slider .slider__arrow--prev {
    left: 3.738317757vw;
  }
}
.top-slider .slider__arrow--next {
  right: 0;
  bottom: 0px;
}
@media screen and (max-width: 768px) {
  .top-slider .slider__arrow--next {
    right: 3.738317757vw;
  }
}
.top-slider .slider__arrow--prev::before {
  transform: rotate(-135deg);
}
.top-slider .slider__arrow--next::before {
  transform: rotate(45deg);
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.top-hero {
  padding-top: 24px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-hero {
    padding-top: 0vw;
    padding-bottom: 9.3457943925vw;
    margin-top: -1px;
  }
}
.top-hero__wrap {
  max-width: 1140px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .top-hero__wrap {
    width: 100%;
    max-width: 100%;
  }
}
.top-hero__slider {
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-hero__slider {
    margin-bottom: 0 !important;
  }
}
.top-hero__slide {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  margin-right: 24px;
}
@media screen and (min-width: 769px) {
  .top-hero__slide {
    width: 587px;
  }
}
@media screen and (max-width: 768px) {
  .top-hero__slide {
    border-radius: 0vw;
    margin-right: 0;
    width: 100%;
  }
}
.top-hero__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 768px) {
  .top-hero__img img {
    height: 74.7663551402vw;
    width: 100%;
  }
}
.top-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}
.top-hero__copy {
  margin: 0;
  padding-inline: 40px;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}
@media screen and (max-width: 768px) {
  .top-hero__copy {
    padding-inline: 5.6074766355vw;
    font-size: 4.2056074766vw;
  }
}

/* =========================
   カード
   ========================= */
.top-estate {
  font-weight: bold;
}
.top-estate__inner {
  background: #f7eecb;
  padding: 24px;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .top-estate__inner {
    padding: 9.3457943925vw 0 0vw;
    border-radius: 0vw;
  }
}
.top-estate__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .top-estate__header {
    gap: 1.8691588785vw;
    margin-bottom: 5.6074766355vw;
    padding: 0 3.738317757vw;
  }
}
.top-estate__icon {
  width: 48px;
  height: 48px;
}
.top-estate__icon img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .top-estate__icon {
    width: 7.476635514vw;
    height: 7.476635514vw;
  }
}
.top-estate__title {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-estate__title {
    font-size: 4.6728971963vw;
  }
}
.top-estate {
  /* =========================
      カード一覧
     ========================= */
}
.top-estate__cards {
  display: flex;
  gap: 24px;
}
@media screen and (min-width: 769px) {
  .top-estate__cards {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .top-estate__cards {
    overflow-x: auto;
    padding: 0 3.738317757vw 3.738317757vw;
    gap: 3.738317757vw;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 3.738317757vw;
  }
}
.top-estate {
  /* =========================
     カード本体
     ========================= */
}
.top-estate-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  scroll-snap-align: start;
}
@media screen and (max-width: 768px) {
  .top-estate-card {
    padding: 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}
.top-estate-card {
  /* ヘッダー */
}
.top-estate-card__head {
  padding: 16px 24px;
  margin: 0 0 24px;
  background: #F0F0F0;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__head {
    padding: 3.738317757vw 5.6074766355vw;
    margin: 0 0 5.6074766355vw;
    border-radius: 0.9345794393vw;
  }
}
.top-estate-card__head-inner {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.top-estate-card__label {
  font-size: 13px;
  margin-right: 8px;
  font-weight: bold;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__label {
    font-size: 3.0373831776vw;
    margin-right: 1.8691588785vw;
  }
}
.top-estate-card__number {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  color: #e53935;
  margin-right: 24px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__number {
    font-size: 4.6728971963vw;
    margin-right: 1.8691588785vw;
  }
}
.top-estate-card__address {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-estate-card__address {
    font-size: 3.738317757vw;
  }
}
.top-estate-card {
  /* 上段3カラム */
}
.top-estate-card__summary {
  display: flex;
  gap: 24px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
}
@media screen and (max-width: 768px) {
  .top-estate-card__summary {
    gap: 1.8691588785vw;
    padding-bottom: 3.738317757vw;
    margin-bottom: 3.738317757vw;
  }
}
.top-estate-card__summary-title {
  font-size: 13px;
  color: #e53935;
}
@media screen and (max-width: 768px) {
  .top-estate-card__summary-title {
    font-size: 3.0373831776vw;
  }
}
.top-estate-card__summary-text {
  font-size: 20px;
  font-weight: 700;
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__summary-text {
    font-size: 4.6728971963vw;
  }
}
.top-estate-card__summary-text span {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__summary-text span {
    font-size: 3.2710280374vw;
  }
}
.top-estate-card {
  /* サービス状況 */
}
.top-estate-card__services-title {
  font-size: 12px;
  color: #e53935;
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__services-title {
    font-size: 2.8037383178vw;
    margin-bottom: 0vw;
  }
}
.top-estate-card__service-list {
  display: flex;
  gap: 0 16px;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .top-estate-card__service-list {
    gap: 0 3.738317757vw;
  }
}
.top-estate-card__service-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px dashed #d6d6d6;
}
@media screen and (max-width: 768px) {
  .top-estate-card__service-item {
    padding: 3.738317757vw 0;
  }
}
.top-estate-card__service-label {
  max-width: 81%;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__service-label {
    font-size: 3.2710280374vw;
  }
}
.top-estate-card__status-icon {
  width: 24px;
  height: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-estate-card__status-icon {
    width: 4.6728971963vw;
    height: 4.6728971963vw;
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.top-estate-card__status-icon.is-off {
  background-image: url("../img/common/icon_check_off.svg");
}
.top-estate-card__status-icon.is-on {
  background-image: url("../img/common/icon_check_on.svg");
}
.top-estate-card {
  /* 保険情報 */
}
.top-estate-card__insure {
  display: flex;
  justify-content: flex-start;
  gap: 56px;
  padding-top: 16px;
  margin-top: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__insure {
    gap: 3.738317757vw;
    padding-top: 3.738317757vw;
    margin-top: 1.8691588785vw;
    margin-bottom: 5.6074766355vw;
  }
}
.top-estate-card__insure-item {
  padding-right: 0px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: space-between;
}
.top-estate-card__insure-label {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__insure-label {
    font-size: 3.0373831776vw;
  }
}
.top-estate-card__insure-text {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-estate-card__insure-text {
    font-size: 3.738317757vw;
  }
}
.top-estate-card {
  /* ボタン */
}
.top-estate-card__buttons {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .top-estate-card__buttons {
    gap: 3.738317757vw;
  }
}
.top-estate-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  width: 332px;
}
@media screen and (max-width: 768px) {
  .top-estate-card__btn {
    padding: 3.738317757vw 5.6074766355vw;
    font-size: 3.2710280374vw;
    max-width: 100%;
    width: 100%;
  }
}
.top-estate-card__btn--primary {
  background: #111;
  color: #fff;
}
.top-estate-card__btn--secondary {
  border: 1px solid #111;
  color: #111;
  background: #fff;
}
.top-estate {
  /* =========================================================
     1枚だけの時：1枚目のデザイン（1カラム）
     ========================================================= */
}
.top-estate__cards:has(> .top-estate-card:only-child) > .top-estate-card {
  flex: 1 1 100%;
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:only-child) > .top-estate-card {
    box-sizing: border-box;
    max-width: 100%;
  }
}
.top-estate {
  /* 1枚だけ：service をPC 4列に */
}
.top-estate__cards:has(> .top-estate-card:only-child) .top-estate-card__service-item {
  width: calc(25% - 12px);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:only-child) .top-estate-card__service-item {
    width: calc(50% - 1.8691588785vw);
  }
}
.top-estate {
  /* =========================================================
     2枚だけの時：2枚目のデザイン（2カラム）
     ========================================================= */
}
.top-estate__cards:has(> .top-estate-card:nth-child(2):last-child) > .top-estate-card {
  width: calc(50% - 48px);
  flex: 1 1 calc((80% - 24px) / 2);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:nth-child(2):last-child) > .top-estate-card {
    flex: 0 0 100%;
    box-sizing: border-box;
    max-width: 97%;
  }
}
.top-estate__cards:has(> .top-estate-card:nth-child(2):last-child) > .top-estate-card .top-estate-card__service-item {
  width: calc(50% - 12px);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:nth-child(2):last-child) > .top-estate-card .top-estate-card__service-item {
    width: calc(50% - 2.8037383178vw);
  }
}
.top-estate {
  /* =========================================================
     3枚だけの時：1枚目のデザイン（3カラム）
     ========================================================= */
}
.top-estate__cards:has(> .top-estate-card:nth-child(3):last-child) > .top-estate-card {
  width: calc(33% - 72px);
  flex: 1 1 calc((100% - 48px) / 3);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:nth-child(3):last-child) > .top-estate-card {
    flex: 0 0 100%;
    box-sizing: border-box;
    max-width: 97%;
  }
}
.top-estate {
  /* 3枚だけ：service-item*/
}
.top-estate__cards:has(> .top-estate-card:nth-child(3):last-child) > .top-estate-card .top-estate-card__service-item {
  width: calc(50% - 12px);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:nth-child(3):last-child) > .top-estate-card .top-estate-card__service-item {
    width: calc(50% - 2.8037383178vw);
  }
}
.top-estate {
  /* =========================================================
     4枚以降：別デザイン
     ========================================================= */
}
.top-estate__cards:has(> .top-estate-card:nth-child(4)) > .top-estate-card {
  width: calc(33% - 72px);
  flex: 0 0 calc((100% - 48px) / 3);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:nth-child(4)) > .top-estate-card {
    flex: 0 0 100%;
    box-sizing: border-box;
    max-width: 97%;
  }
}
.top-estate__cards:has(> .top-estate-card:nth-child(4)) .top-estate-card__service-item {
  width: calc(50% - 12px);
}
@media screen and (max-width: 768px) {
  .top-estate__cards:has(> .top-estate-card:nth-child(4)) .top-estate-card__service-item {
    width: calc(50% - 2.8037383178vw);
  }
}

/* =========================
   メニュー
   ========================= */
.top-menu {
  font-weight: bold;
  padding: 40px 0 80px;
}
@media screen and (max-width: 768px) {
  .top-menu {
    padding-top: 9.3457943925vw;
    padding-bottom: 9.3457943925vw;
  }
}
.top-menu__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .top-menu__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.8691588785vw;
    row-gap: 1.8691588785vw;
  }
}
.top-menu__grid--extra {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .top-menu__grid--extra {
    margin-top: 1.8691588785vw;
  }
}
.top-menu__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 32px 16px;
  text-align: center;
  background: #F7F5F3;
  border-radius: 16px;
  text-decoration: none;
  color: #111;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  .top-menu__item {
    padding: 7.476635514vw 0.9345794393vw 5.6074766355vw;
    border-radius: 1.8691588785vw;
  }
}
.top-menu__icon {
  display: block;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .top-menu__icon {
    margin-bottom: 2.8037383178vw;
  }
}
.top-menu__icon img {
  width: 63px;
  height: 63px;
  display: block;
}
@media screen and (max-width: 768px) {
  .top-menu__icon img {
    width: 11.214953271vw;
    height: 11.214953271vw;
  }
}
.top-menu__label {
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-menu__label {
    font-size: 2.8037383178vw;
  }
}
.top-menu {
  /* トグル本体は非表示 */
}
.top-menu__toggle {
  display: none;
}
.top-menu {
  /* すべて見るラッパー：PCでは非表示、SPだけ表示 */
}
.top-menu__more-wrap {
  display: none;
}
@media screen and (max-width: 768px) {
  .top-menu__more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 3.738317757vw;
  }
}
.top-menu__more-wrap {
  position: relative;
}
.top-menu__more-wrap::before, .top-menu__more-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  background: #ccc;
  transform: translateY(-50%);
}
.top-menu__more-wrap::before {
  left: 0;
  right: 50%;
  margin-right: 70px;
}
.top-menu__more-wrap::after {
  left: 50%;
  right: 0;
  margin-left: 70px;
}
@media screen and (max-width: 768px) {
  .top-menu__more-wrap::before {
    margin-right: 21.4953271028vw;
  }
  .top-menu__more-wrap::after {
    margin-left: 21.4953271028vw;
  }
}
.top-menu__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 40px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  background: #fff;
  cursor: pointer;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .top-menu__more {
    position: relative;
    padding: 1.8691588785vw 9.3457943925vw;
    font-size: 3.0373831776vw;
  }
}
.top-menu__more-text {
  margin-right: 8px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-menu__more-text {
    margin-right: 0.9345794393vw;
  }
}
.top-menu__more-text::before {
  content: "すべて見る";
}
.top-menu__more-icon {
  width: 10px;
  height: 10px;
  border-left: 2px solid #E82E34;
  border-bottom: 2px solid #E82E34;
  transform: rotate(-45deg) translateY(-1px);
}
@media screen and (max-width: 768px) {
  .top-menu__more-icon {
    width: 2.3364485981vw;
    height: 2.3364485981vw;
    border-width: 0.4672897196vw;
    position: absolute;
    right: 3.738317757vw;
    top: 0;
    bottom: 0.7009345794vw;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  .top-menu {
    /* SPでは extra を初期非表示 */
  }
  .top-menu__grid--extra {
    display: none;
  }
  .top-menu__toggle:checked ~ .top-menu__more-wrap {
    display: none;
  }
  .top-menu__toggle:checked ~ .top-menu__grid--extra {
    display: grid;
  }
}

/* =========================
   特集
   ========================= */
.top-feature {
  font-weight: bold;
  padding-block: 80px;
  background: #f5f5f5;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-feature {
    padding-top: 9.3457943925vw;
    padding-bottom: 9.3457943925vw;
  }
}
.top-feature__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .top-feature__header {
    margin-bottom: 5.6074766355vw;
  }
}
.top-feature__title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #e53935;
}
@media screen and (max-width: 768px) {
  .top-feature__title {
    font-size: 4.6728971963vw;
  }
}
.top-feature__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  text-decoration: none;
  color: #111;
}
@media screen and (max-width: 768px) {
  .top-feature__more {
    font-size: 2.8037383178vw;
    gap: 0.9345794393vw;
  }
}
.top-feature {
  /* スライダー本体 */
}
.top-feature__slider {
  position: relative;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .top-feature__slide {
    margin-right: 24px;
    width: 267px;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 768px) {
  .top-feature__slide {
    margin-right: 0px;
    width: 86.9158878505vw;
  }
}
.top-feature {
  /* カード */
}
.top-feature .top-feature-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: #111;
}
@media screen and (max-width: 768px) {
  .top-feature .top-feature-card {
    border-radius: 1.8691588785vw;
  }
}
.top-feature .top-feature-card__thumb {
  margin: 0;
}
.top-feature .top-feature-card__thumb img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .top-feature .top-feature-card__thumb img {
    height: 65.1869158879vw;
  }
}
.top-feature .top-feature-card__body {
  padding: 16px;
}
@media screen and (max-width: 768px) {
  .top-feature .top-feature-card__body {
    padding: 5.6074766355vw 3.738317757vw;
  }
}
.top-feature .top-feature-card__title {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .top-feature .top-feature-card__title {
    font-size: 3.0373831776vw;
  }
}
.top-feature .top-feature-card__date {
  margin: 0 0 8px 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 768px) {
  .top-feature .top-feature-card__date {
    font-size: 3.0373831776vw;
  }
}

@media screen and (max-width: 768px) {
  .top-feature__slider {
    margin-left: -16px;
    margin-right: -16px;
  }
  .js-top-feature {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    -webkit-overflow-scrolling: touch;
    padding-left: 16px;
    padding-right: 16px;
  }
  .js-top-feature > * {
    flex: 0 0 auto;
  }
}
/* ======================
   おすすめ商品
   ====================== */
.top-recommend {
  padding-block: 80px;
}
@media screen and (max-width: 768px) {
  .top-recommend {
    padding-top: 9.3457943925vw;
    padding-bottom: 3.738317757vw;
  }
}
.top-recommend__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .top-recommend__header {
    margin-bottom: 5.6074766355vw;
  }
}
.top-recommend__title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #e53935;
}
@media screen and (max-width: 768px) {
  .top-recommend__title {
    font-size: 4.6728971963vw;
  }
}
.top-recommend__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .top-recommend__list {
    gap: 3.738317757vw;
  }
}

/* =========================================
   カード共通
   ========================================= */
.top-recommend-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: hidden;
  text-decoration: none;
  color: #111;
}
@media screen and (max-width: 768px) {
  .top-recommend-card {
    border-radius: 0vw;
  }
}
.top-recommend-card__thumb {
  margin: 0;
  border-radius: 8px;
}
.top-recommend-card__thumb img {
  border-radius: 8px;
  display: block;
  width: 100%;
  height: 260px;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__thumb img {
    height: 51.4018691589vw;
  }
}
.top-recommend-card__body {
  padding: 16px 24px 20px;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__body {
    padding: 2.8037383178vw 3.738317757vw 3.738317757vw;
  }
}
.top-recommend-card__name {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__name {
    margin-bottom: 3.738317757vw;
    font-size: 4.2056074766vw;
  }
}
.top-recommend-card__price {
  margin: 0 0 16px 0;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__price {
    font-size: 3.2710280374vw;
  }
}
.top-recommend-card__price--tax {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__price--tax {
    font-size: 2.8037383178vw;
  }
}
.top-recommend-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__tags {
    gap: 1.8691588785vw;
    margin-top: 3.738317757vw;
  }
}
.top-recommend-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__tag {
    padding: 0.9345794393vw 2.8037383178vw;
    font-size: 2.5700934579vw;
  }
}
.top-recommend-card__tag--sale {
  background: #f8d35e;
  color: #704c00;
}
.top-recommend-card__tag--pickup {
  background: #f7eecb;
  color: #b36b00;
}
.top-recommend-card__desc {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__desc {
    margin-top: 3.738317757vw;
    font-size: 3.0373831776vw;
  }
}
.top-recommend-card__footer {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .top-recommend-card__footer {
    margin-top: 3.738317757vw;
  }
}
.top-recommend-card .button {
  display: none;
}

.top-recommend-card__icons {
  margin-top: 16px;
}

/* =========================================
   ① 1件だけの時のレイアウト
   （.top-recommend-card が 1枚 = :only-child）
   PC/SPとも「大きいカード + 説明 + ボタン」
   ========================================= */
/* 親セクション側で判定して、もっと見るを消す */
.top-recommend:has(.top-recommend__list > .top-recommend-card:only-child) .top-recommend__more {
  display: none;
}
.top-recommend:has(.top-recommend__list > .top-recommend-card:only-child) .top-recommend-card__icons {
  margin: 0 0 16px;
}

/* 1枚だけの時 */
@media screen and (max-width: 768px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) {
    max-width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card {
    flex-direction: row;
    align-items: center;
  }
}
.top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .button {
  display: flex;
}
@media screen and (min-width: 769px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__thumb {
    width: 50%;
  }
}
.top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__thumb img {
  height: 558px;
}
@media screen and (max-width: 768px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__thumb img {
    height: 92.523364486vw;
  }
}
.top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__body {
  padding: 24px 0 24px 40px;
}
@media screen and (min-width: 769px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__body {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__body {
    padding: 5.6074766355vw 0;
  }
}
.top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__name {
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__name {
    font-size: 4.6728971963vw;
  }
}
.top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__desc {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .top-recommend__list:has(> .top-recommend-card:only-child) > .top-recommend-card .top-recommend-card__desc {
    font-size: 3.738317757vw;
    margin-top: 5.6074766355vw;
  }
}

/* =========================================
   ② 2件以上ある時のレイアウト（PC）
   左：大きいカード 1枚
   右：2×2 の小カード（計4件想定）
   ========================================= */
@media screen and (min-width: 769px) {
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 24px;
    row-gap: 24px;
    align-items: start;
    /* 1枚目：左で2段分 */
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/3;
    background: #fff;
    overflow: hidden;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(1) .top-recommend-card__thumb img {
    width: 100%;
    height: 558px;
    object-fit: cover;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(1) .top-recommend-card__body {
    padding: 16px 0 20px;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(1) .top-recommend-card__desc,
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(1) .top-recommend-card__footer {
    display: none;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) {
    /* 2〜5枚目：右側 */
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) {
    background: #fff;
    overflow: hidden;
    padding-bottom: 24px;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) .top-recommend-card__thumb {
    margin: 0;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) .top-recommend-card__thumb img {
    width: 100%;
    height: 267px;
    object-fit: cover;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) .top-recommend-card__body {
    padding: 24px 0;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) .top-recommend-card__name {
    font-size: 14px;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) .top-recommend-card__desc,
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(n+2):nth-child(-n+5) .top-recommend-card__footer {
    display: none;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) {
    /* 右側の配置（2〜5） */
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(3) {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(4) {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:nth-child(5) {
    grid-column: 3/4;
    grid-row: 2/3;
  }
}
/* =========================================
   ③ 2件以上ある時のレイアウト（SP）
   2枚目以降がある = リスト風（横サムネ＋テキスト）
   ========================================= */
@media screen and (max-width: 768px) {
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) {
    display: flex;
    flex-direction: column;
    gap: 5.6074766355vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card:not(:last-child) {
    border-bottom: 1px dashed #d6d6d6;
    padding-bottom: 5.6074766355vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card {
    flex-direction: row;
    align-items: flex-start;
    padding-bottom: 5.6074766355vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card .top-recommend-card__thumb {
    flex: 0 0 31.7757009346vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card .top-recommend-card__thumb img {
    height: 31.7757009346vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card .top-recommend-card__body {
    padding: 1.8691588785vw 1.8691588785vw 1.8691588785vw 2.8037383178vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card .top-recommend-card__name {
    font-size: 4.2056074766vw;
  }
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card .top-recommend-card__desc,
  .top-recommend__list:has(> .top-recommend-card:nth-child(2)) > .top-recommend-card .top-recommend-card__footer {
    display: none;
  }
  .top-recommend-card__icons {
    margin-top: 3.738317757vw;
  }
}
/* =========================================
   ニュース

   ========================================= */
.top-news {
  border-top: 1px solid rgba(0, 0, 0, 0.34);
  padding-block: 80px;
}
@media screen and (max-width: 768px) {
  .top-news {
    padding-top: 9.3457943925vw;
    padding-bottom: 9.3457943925vw;
  }
}
.top-news__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .top-news__header {
    margin-bottom: 3.738317757vw;
  }
}
.top-news__title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .top-news__title {
    font-size: 4.6728971963vw;
  }
}
.top-news .news-item__body {
  display: none;
}
.top-news__list {
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 769px) {
  .top-news__list {
    margin: 0 0 0 auto;
    width: 752px;
    margin: 0 0 0 auto;
  }
}
.top-news__item {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: center;
  padding-block: 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
}
@media screen and (max-width: 768px) {
  .top-news__item {
    padding-top: 5.6074766355vw;
    padding-bottom: 5.6074766355vw;
    grid-template-columns: auto;
    grid-gap: 1.8691588785vw;
  }
}
.top-news__item:first-child {
  padding-top: 0vw;
}
.top-news__item:nth-child(n+5) {
  display: none;
}
.top-news__date {
  font-size: 13px;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .top-news__date {
    font-size: 3.0373831776vw;
  }
}
.top-news__link {
  display: block;
  font-size: 16px;
  text-decoration: none;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .top-news__link {
    font-size: 3.738317757vw;
  }
}

.top-service {
  padding-block: 20px;
  background: #ffffff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .top-service {
    padding-top: 9.3457943925vw;
    padding-bottom: 9.3457943925vw;
    margin-bottom: 10px;
  }
}
.top-service__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 24px;
}
@media screen and (max-width: 768px) {
  .top-service__list {
    grid-template-columns: 1fr;
    row-gap: 3.738317757vw;
  }
}
.top-service__item {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .top-service__item {
    border-radius: 1.8691588785vw;
  }
}
.top-service__icon {
  margin: 0;
}
.top-service__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.icon img {
  height: 23px !important;
}
@media screen and (max-width: 768px) {
  .icon img {
    height: 5.3738317757vw !important;
  }
}

.top-recommend-card__thumb {
  position: relative;
}

.top-recommend__list .soldout {
  position: absolute;
  top: 8px;
  left: 8px;
  display: inline-block;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  padding: 2px 8px;
  width: auto;
  height: auto;
  line-height: 1.4;
  opacity: 1;
}

.add-set .add-mypage__menu-wrapper {
  margin-top: 40px;
  padding-top: 24px;
  border-top: solid 1px rgba(0, 0, 0, 0.87);
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__menu-wrapper {
    width: 100%;
    margin-top: 5.6074766355vw;
    padding: 3.738317757vw 3.738317757vw 0;
    border: none;
  }
}
.add-set .add-mypage__unit1 {
  margin-bottom: 12px;
  padding: 40px;
  border-radius: 8px;
  background: #f0f0f0 !important;
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__unit1 {
    margin-bottom: 0;
    padding: 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}
.add-set .add-mypage__unit1-2 {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__unit1-2 {
    font-size: 3.738317757vw;
  }
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__unit1-4 {
    flex-basis: 100%;
    justify-content: space-between;
  }
}
.add-set .add-mypage__unit1-5 {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__unit1-5 {
    font-size: 4.6728971963vw;
  }
}
.add-set .add-mypage__menu {
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 0;
  column-gap: 24px;
  padding: 0;
  border: none;
  border-radius: 0;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__menu {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5.6074766355vw;
    font-size: 3.738317757vw;
  }
}
.add-set .add-mypage__menu > li {
  position: relative;
  display: flex;
  align-items: center;
  padding: 16px 16px 16px 0 !important;
  border-bottom: solid 1px #ddd;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__menu > li {
    padding: 3.738317757vw 3.738317757vw 3.738317757vw 0 !important;
    border-bottom-width: 0.2336448598vw;
  }
}
.add-set .add-mypage__menu > li::after {
  position: absolute;
  right: 0;
  width: 13px;
  height: 13px;
  background-image: url(../img/common/arrow_red.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .add-set .add-mypage__menu > li::after {
    width: 3.0373831776vw;
    height: 3.0373831776vw;
  }
}
.add-set .add-regulation__box {
  display: block;
  padding: 40px;
  border: solid 1px #ddd;
  border-radius: 8px;
  height: 360px;
  overflow-y: auto;
  margin: 40px 0;
}
@media screen and (max-width: 768px) {
  .add-set .add-regulation__box {
    margin: 5.6074766355vw 0;
    padding: 5.6074766355vw 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}

.add-mypage__unit1-4--right {
  margin: 0 0 0 auto;
}

#dvUserBox table td.add-mypage__unit1-5 {
  color: #e82e34;
}
#dvUserBox table td.add-mypage__unit1-5 span {
  margin-left: 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.57);
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  #dvUserBox table td.add-mypage__unit1-5 span {
    margin-left: 1.8691588785vw;
    font-size: 3.0373831776vw;
  }
}
#dvUserBox table td.add-mypage__unit1-3 {
  color: #e82e34;
}
@media screen and (max-width: 768px) {
  #dvUserBox table td.add-mypage__unit1-3 {
    font-size: 9.3457943925vw;
  }
}
#dvUserBox table td.add-mypage__unit1-3 span {
  margin-left: 4px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.57);
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  #dvUserBox table td.add-mypage__unit1-3 span {
    margin-left: 0.9345794393vw;
    font-size: 3.0373831776vw;
  }
}

.add-mypage__unit1-6 {
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .add-mypage__unit1-6 {
    font-size: 3.738317757vw;
  }
}

.add-mypage__menu-logoff {
  margin: 24px 0 0 auto;
  display: block;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .add-mypage__menu-logoff {
    margin: 5.6074766355vw 0 0 auto;
  }
}
.add-mypage__menu-logoff a {
  font-size: 14px;
  position: relative;
  padding-left: 28px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .add-mypage__menu-logoff a {
    font-size: 3.2710280374vw;
    padding-left: 6.5420560748vw;
  }
}
.add-mypage__menu-logoff a::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  background-image: url(../img/common/icon_logout.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .add-mypage__menu-logoff a::after {
    width: 5.6074766355vw;
    height: 5.6074766355vw;
  }
}

.mypage-head__user {
  display: flex;
  align-items: center;
  font-weight: 700;
  gap: 40px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .mypage-head__user {
    justify-content: space-between;
    gap: 9.3457943925vw;
    margin-bottom: 3.738317757vw;
  }
}

#dvUserBox p.mypage-head__name {
  font-size: 24px;
  padding-left: 64px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #dvUserBox p.mypage-head__name {
    font-size: 5.6074766355vw;
    padding-left: 14.953271028vw;
  }
}
#dvUserBox p.mypage-head__name::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 48px;
  height: 48px;
  background-image: url(../img/mypage/icon_mypage-name.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 768px) {
  #dvUserBox p.mypage-head__name::after {
    width: 11.214953271vw;
    height: 11.214953271vw;
  }
}

.mypage-head__honor {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.57);
  padding-left: 4px;
}
@media screen and (max-width: 768px) {
  .mypage-head__honor {
    font-size: 3.0373831776vw;
    padding-left: 0.9345794393vw;
  }
}

#dvUserFltContents {
  width: 740px;
  margin: 0;
  float: none;
  display: inline;
}
@media screen and (max-width: 768px) {
  #dvUserFltContents {
    width: 100%;
  }
}

/* =========================
   カード
   ========================= */
.user-property {
  font-weight: bold;
}
.user-property__inner {
  background: #f7eecb;
  padding: 24px;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .user-property__inner {
    padding: 9.3457943925vw 0 0vw;
    border-radius: 0vw;
  }
}
.user-property__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .user-property__header {
    gap: 1.8691588785vw;
    margin-bottom: 5.6074766355vw;
    padding: 0 3.738317757vw;
  }
}
.user-property__icon {
  width: 48px;
  height: 48px;
}
.user-property__icon img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .user-property__icon {
    width: 7.476635514vw;
    height: 7.476635514vw;
  }
}
.user-property__title {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .user-property__title {
    font-size: 4.6728971963vw;
  }
}
.user-property {
  /* =========================
      カード一覧
     ========================= */
}
.user-property__cards {
  display: flex;
  gap: 24px;
}
@media screen and (min-width: 769px) {
  .user-property__cards {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .user-property__cards {
    padding: 0 0 3.738317757vw;
    gap: 3.738317757vw;
    flex-wrap: wrap;
  }
}
.user-property {
  /* =========================
   カード本体
   ========================= */
}
.user-property-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .user-property-card {
    padding: 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}
.user-property-card {
  /* ヘッダー */
}
.user-property-card__head {
  padding: 16px 24px;
  margin: 0 0 24px;
  background: #f0f0f0;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .user-property-card__head {
    padding: 3.738317757vw 5.6074766355vw;
    margin: 0 0 5.6074766355vw;
    border-radius: 0.9345794393vw;
  }
}
.user-property-card__head-inner {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.user-property-card__label {
  font-size: 13px;
  margin-right: 8px !important;
  font-weight: bold;
  margin-top: 4px !important;
}
@media screen and (max-width: 768px) {
  .user-property-card__label {
    font-size: 3.0373831776vw;
    margin-right: 1.8691588785vw;
  }
}
.user-property-card__number {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  color: #e53935;
  margin-right: 24px !important;
}
@media screen and (max-width: 768px) {
  .user-property-card__number {
    font-size: 4.6728971963vw;
    margin-right: 1.8691588785vw;
  }
}
.user-property-card__address {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .user-property-card__address {
    font-size: 3.738317757vw;
  }
}
.user-property-card {
  /* 上段3カラム */
}
.user-property-card__summary {
  display: flex;
  gap: 16px;
  flex-direction: column;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .user-property-card__summary {
    gap: 3.738317757vw;
    padding-bottom: 3.738317757vw;
    margin-bottom: 3.738317757vw;
  }
}
.user-property-card__summary-title {
  font-size: 13px;
  margin-bottom: 4px !important;
}
@media screen and (max-width: 768px) {
  .user-property-card__summary-title {
    font-size: 3.0373831776vw;
    margin-bottom: 0.9345794393vw !important;
  }
}
.user-property-card__summary-text {
  font-size: 20px;
  font-weight: 700;
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .user-property-card__summary-text {
    font-size: 4.6728971963vw;
  }
}
.user-property-card__summary-text span {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .user-property-card__summary-text span {
    font-size: 3.2710280374vw;
  }
}
.user-property-card {
  /* サービス状況 */
}
.user-property-card__services-title {
  font-size: 12px;
  color: #e53935;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .user-property-card__services-title {
    font-size: 2.8037383178vw;
    margin-bottom: 0vw;
  }
}
.user-property-card__service-list {
  display: flex;
  gap: 16px;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .user-property-card__service-list {
    gap: 1.8691588785vw;
  }
}
.user-property-card__service-item {
  width: calc(25% - 12px);
  padding: 16px !important;
  background: #f5f5f5;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .user-property-card__service-item {
    width: calc(50% - 1.8691588785vw);
    padding: 3.738317757vw !important;
  }
}
.user-property-card__service-label {
  display: inline-block;
  max-width: 80%;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .user-property-card__service-label {
    font-size: 3.2710280374vw;
  }
}
.user-property-card__status-icon {
  width: 24px;
  height: 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .user-property-card__status-icon {
    width: 4.6728971963vw;
    height: 4.6728971963vw;
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.user-property-card__status-icon.is-off {
  background-image: url("../img/common/icon_check_off.svg");
}
.user-property-card__status-icon.is-on {
  background-image: url("../img/common/icon_check_on.svg");
}
.user-property-card {
  /* 保険情報 */
}
.user-property-card__insure {
  display: flex;
  justify-content: flex-start;
  gap: 56px;
  padding-top: 16px;
  margin-top: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .user-property-card__insure {
    gap: 3.738317757vw;
    padding-top: 3.738317757vw;
    margin-top: 1.8691588785vw;
    margin-bottom: 5.6074766355vw;
  }
}
.user-property-card__insure-item {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 0;
}
.user-property-card__insure-label {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.6);
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .user-property-card__insure-label {
    font-size: 3.0373831776vw;
  }
}
.user-property-card__insure-text {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .user-property-card__insure-text {
    font-size: 3.738317757vw;
  }
}
.user-property-card {
  /* ボタン */
}
.user-property-card__buttons {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 24px;
}
@media screen and (max-width: 768px) {
  .user-property-card__buttons {
    gap: 3.738317757vw;
  }
}
.user-property-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  width: 332px;
}
@media screen and (max-width: 768px) {
  .user-property-card__btn {
    padding: 3.738317757vw 5.6074766355vw;
    font-size: 3.2710280374vw;
    max-width: 100%;
    width: 100%;
  }
}
.user-property-card__btn--primary {
  background: #111;
  color: #fff;
  border: 1px solid #111;
}
.user-property-card__btn--primary:hover {
  color: #fff;
}
.user-property-card__btn--secondary {
  border: 1px solid #111;
  color: #111;
  background: #fff;
}
.user-property-card__summary-item {
  padding: 16px 0;
  border-bottom: 1px dashed #d6d6d6;
}
@media screen and (max-width: 768px) {
  .user-property-card__summary-item {
    padding: 3.738317757vw 0;
  }
}
.user-property-card.user-property-card__userPropertyList .user-property-card__head {
  margin: 0 0 8px;
}
@media screen and (max-width: 768px) {
  .user-property-card.user-property-card__userPropertyList .user-property-card__head {
    margin: 0 0 1.8691588785vw;
  }
}
.user-property-card.user-property-card__userPropertyList .user-property-card__summary {
  gap: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.user-property-card__userAgreementList .user-property-card__head {
  margin: 0 0 8px;
}
@media screen and (max-width: 768px) {
  .user-property-card__userAgreementList .user-property-card__head {
    margin: 0 0 1.8691588785vw;
  }
}
.user-property-card__userAgreementList .user-property-detail-card__summary {
  gap: 0 16px;
}
@media screen and (max-width: 768px) {
  .user-property-card__userAgreementList .user-property-detail-card__summary {
    gap: 0 3.738317757vw;
  }
}
.user-property {
  /* =========================================================
   1枚だけの時：1枚目のデザイン（1カラム / サービス4列）
   ========================================================= */
}
.user-property__cards:has(> .user-property-card:only-child) > .user-property-card {
  flex: 1 1 100%;
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:only-child) > .user-property-card {
    box-sizing: border-box;
    max-width: 100%;
  }
}
.user-property__cards:has(> .user-property-card:only-child) .user-property-card__userPropertyList .user-property-card__summary {
  flex-direction: row;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:only-child) .user-property-card__userPropertyList .user-property-card__summary {
    flex-direction: column;
    gap: 1.8691588785vw;
  }
}
.user-property__cards:has(> .user-property-card:only-child) .user-property-card__userPropertyList .user-property-card__summary .user-property-card__summary-item {
  flex: 1 1 100%;
}
.user-property__cards:has(> .user-property-card:only-child) .user-property-card__userAgreementList .user-property-detail-card__summary {
  gap: 0 16px;
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:only-child) .user-property-card__userAgreementList .user-property-detail-card__summary {
    gap: 0 3.738317757vw;
  }
}
.user-property__cards:has(> .user-property-card:only-child) .user-property-card__userAgreementList .user-property-detail-card__summary .user-property-card__summary-item {
  width: calc(25% - 12px);
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:only-child) .user-property-card__userAgreementList .user-property-detail-card__summary .user-property-card__summary-item {
    width: 100%;
  }
}
.user-property {
  /* =========================================================
   2枚以上の時：すべて50%幅（2カラム / サービス2列）
   ========================================================= */
}
.user-property__cards:has(> .user-property-card:nth-child(2)) {
  display: flex;
  flex-wrap: wrap;
  column-gap: 24px;
  row-gap: 24px;
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:nth-child(2)) {
    column-gap: 3.738317757vw;
    row-gap: 3.738317757vw;
  }
}
.user-property__cards:has(> .user-property-card:nth-child(2)) > .user-property-card {
  flex: 0 0 calc(50% - 12px);
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:nth-child(2)) > .user-property-card {
    flex: 0 0 100%;
    box-sizing: border-box;
  }
}
.user-property__cards:has(> .user-property-card:nth-child(2)) .user-property-card__service-item {
  width: calc(50% - 12px);
}
@media screen and (max-width: 768px) {
  .user-property__cards:has(> .user-property-card:nth-child(2)) .user-property-card__service-item {
    width: calc(50% - 2.8037383178vw);
  }
}
.user-property-detail-card__summary {
  display: flex;
  justify-content: flex-start;
  gap: 16px;
  flex-direction: row;
  margin-bottom: 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .user-property-detail-card__summary {
    gap: 3.738317757vw;
  }
}
.user-property-detail-card__summary .user-property-card__summary-item {
  width: calc(50% - 8px);
}
@media screen and (max-width: 768px) {
  .user-property-detail-card__summary .user-property-card__summary-item {
    width: 100%;
  }
}
.user-property-detail__cards .user-property-card__head {
  padding: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-card__head {
    margin-bottom: 3.738317757vw;
  }
}
.user-property-detail__cards .user-property-card__head-inner {
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-card__head-inner {
    gap: 0.9345794393vw;
  }
}
.user-property-detail__cards .user-property-card__label {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-card__label {
    font-size: 3.2710280374vw;
  }
}
.user-property-detail__cards .user-property-card__summary-title {
  color: rgba(0, 0, 0, 0.87);
  font-weight: normal;
}
.user-property-detail__cards .user-property-detail-card__summary {
  margin-top: 0;
  padding: 24px;
  background: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary {
    padding: 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}
.user-property-detail__cards .user-property-card__services {
  margin-top: 0;
  margin-bottom: 24px;
  padding: 24px;
  background: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-card__services {
    margin-bottom: 5.6074766355vw;
    padding: 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}
.user-property-detail__cards .user-property-card__service-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.user-property-detail__cards .user-property-card__service-dates {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-card__service-dates {
    margin-top: 3.738317757vw;
  }
}
.user-property-detail__cards .user-property-card__buttons {
  border-top: 0 solid rgba(0, 0, 0, 0.34);
}
.user-property-detail__cards .user-property-detail-card__summary--spec {
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary--spec {
    gap: 1.8691588785vw;
  }
}
.user-property-detail__cards .user-property-detail-card__summary--spec .user-property-card__summary-item {
  display: flex;
  justify-content: space-between;
  width: calc(25% - 12px);
  padding: 0 0 16px;
  border-bottom: 1px dashed #d6d6d6;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary--spec .user-property-card__summary-item {
    width: calc(50% - 4px);
    padding: 0 0 3.738317757vw;
  }
}
.user-property-detail__cards .user-property-detail-card__summary--single {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary--single {
    margin-bottom: 5.6074766355vw;
  }
}
.user-property-detail__cards .user-property-detail-card__summary--single .user-property-card__summary-item {
  display: flex;
  width: 100%;
  padding: 0 0 16px;
  border-bottom: 1px dashed #d6d6d6;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary--single .user-property-card__summary-item {
    padding: 0 0 3.738317757vw;
  }
}
.user-property-detail__cards .user-property-detail-card__summary--single .user-property-card__summary-item .user-property-card__summary-title {
  width: 10%;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary--single .user-property-card__summary-item .user-property-card__summary-title {
    width: 27%;
  }
}
.user-property-detail__cards .user-property-detail-card__summary--single .user-property-card__summary-item .user-property-card__summary-text {
  width: 90%;
}
@media screen and (max-width: 768px) {
  .user-property-detail__cards .user-property-detail-card__summary--single .user-property-card__summary-item .user-property-card__summary-text {
    width: 73%;
  }
}

.user-modify-form {
  width: 100%;
}
.user-modify-form__section--profile {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .user-modify-form__section--profile {
    margin-top: 5.6074766355vw;
  }
}
.user-modify-form .add-type1 {
  border: none !important;
  width: auto !important;
}
.user-modify-form .add-type1 th {
  border: none !important;
  background-color: transparent !important;
  padding: 10px;
  text-align: left;
  width: auto !important;
}
@media screen and (max-width: 768px) {
  .user-modify-form .add-type1 th {
    padding: 1.8691588785vw;
  }
}
.user-modify-form .add-type1 td {
  border: none !important;
}
.user-modify-form .add-u__form-wrapper {
  padding: 40px !important;
}
@media screen and (max-width: 768px) {
  .user-modify-form .add-u__form-wrapper {
    padding: 3.738317757vw !important;
  }
}

.user-modify-mail-send__field {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .user-modify-mail-send__field {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.8691588785vw;
  }
}

.user-modify-mail-send__label {
  width: 140px;
}
@media screen and (max-width: 768px) {
  .user-modify-mail-send__label {
    width: 100%;
  }
}

.user-modify-mail-send__input {
  width: 100%;
  border-radius: 4px;
  background: #fafafa !important;
  border: solid 1px #eee;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .user-modify-mail-send__input {
    border-radius: 0.9345794393vw;
    border-width: 0.2336448598vw;
    height: 9.3457943925vw;
    padding: 0 1.8691588785vw;
    font-size: 3.738317757vw;
  }
}

.doc-category-title {
  font-size: 14px;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .doc-category-title {
    font-size: 3.2710280374vw;
    border-bottom-width: 0.2336448598vw;
    padding-bottom: 0.9345794393vw;
  }
}

.doc-category-box {
  padding: 8px 16px;
  min-height: 40px;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .doc-category-box {
    min-height: 9.3457943925vw;
    padding: 1.8691588785vw 3.738317757vw;
  }
}

.doc-category-wrap ul {
  padding-left: 1.2em !important;
  margin: 12px 0 24px !important;
}
@media screen and (max-width: 768px) {
  .doc-category-wrap ul {
    margin: 2.8037383178vw 0 3.738317757vw !important;
  }
}

.doc-category-wrap ul li {
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin: 8px 0 !important;
  list-style: disc !important;
}
.doc-category-wrap ul li::marker {
  color: #e82e34 !important;
}
@media screen and (max-width: 768px) {
  .doc-category-wrap ul li {
    font-size: 3.2710280374vw !important;
    margin: 1.8691588785vw 0 !important;
  }
}

.dvUserInfo .sub-category-content {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content {
    margin-bottom: 3.738317757vw;
  }
}
.dvUserInfo .sub-category-content:last-child {
  margin-bottom: 0;
}
.dvUserInfo .sub-category-content .product-content {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content {
    gap: 3.738317757vw;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item {
  width: calc(50% - 8px);
  background-color: #fff;
  border-radius: 8px;
  transition: background-color 0.3s, border-color 0.3s;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item {
    width: 100%;
    border-radius: 1.8691588785vw;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item input {
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item input {
    flex: 1 1 5.6074766355vw;
    width: 5.6074766355vw;
    height: 5.6074766355vw;
    aspect-ratio: 1/1;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item img {
  max-width: 100%;
  object-fit: cover;
  width: 30%;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item img {
    width: 35%;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item .product-detail {
  width: 70%;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item .product-detail {
    width: 65%;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item:has(.product-item-checkbox input:checked) {
  background-color: #f7eecb;
}
.dvUserInfo .sub-category-content .product-content .product-item-checkbox {
  display: flex;
  gap: 16px;
  padding: 16px !important;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item-checkbox {
    gap: 2.8037383178vw;
    padding: 3.738317757vw !important;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item-checkbox .checkbox-item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item-checkbox .checkbox-item {
    gap: 2.8037383178vw;
    width: 100%;
  }
}
.dvUserInfo .sub-category-content .product-content .product-item-checkbox .product-name {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-item-checkbox .product-name {
    font-size: 3.738317757vw;
  }
}
.dvUserInfo .sub-category-content .product-content .product-price {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .product-price {
    margin-bottom: 1.8691588785vw;
    font-size: 3.2710280374vw;
  }
}
.dvUserInfo .sub-category-content .product-content .category-error {
  color: red;
}
.dvUserInfo .sub-category-content .product-content .upload-error {
  color: red;
  padding-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .sub-category-content .product-content .upload-error {
    padding-bottom: 1.8691588785vw;
  }
}
.dvUserInfo .category-name {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  padding-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .dvUserInfo .category-name {
    padding-bottom: 1.8691588785vw;
    font-size: 3.2710280374vw;
  }
}

.property-select-field,
.property-text-field {
  width: 100%;
  border-radius: 4px;
  background: #fafafa !important;
  border: solid 1px #eee;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .property-select-field,
  .property-text-field {
    border-radius: 0.9345794393vw;
    border-width: 0.2336448598vw;
    height: 9.3457943925vw;
    padding: 0 1.8691588785vw;
    font-size: 3.738317757vw;
  }
}

.add-u__form-select-wrapper select {
  width: 100%;
  border-radius: 4px;
  background: #fafafa !important;
  border: solid 1px #eee;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .add-u__form-select-wrapper select {
    border-radius: 0.9345794393vw;
    border-width: 0.2336448598vw;
    height: 9.3457943925vw;
    padding: 0 1.8691588785vw;
    font-size: 3.738317757vw;
  }
}

#dvUserBox #dvUserInquiryInput table th,
#dvUserBox #dvUserInquiryConfirm table th {
  border-bottom-style: none !important;
  border-bottom-width: 0;
  background-color: transparent !important;
  padding: 0 0 8px;
  text-align: left;
  width: auto !important;
}
@media screen and (max-width: 768px) {
  #dvUserBox #dvUserInquiryInput table th,
  #dvUserBox #dvUserInquiryConfirm table th {
    padding: 0 0 1.8691588785vw;
  }
}

#dvUserBox #dvUserInquiryInput table td,
#dvUserBox #dvUserInquiryConfirm table td {
  border: none !important;
  padding: 0;
  text-align: left;
}

#dvUserBox #dvUserInquiryInput table,
#dvUserBox #dvUserInquiryConfirm table {
  border: none !important;
}

#dvUserBox #dvUserModifyInput table th,
#dvUserBox #dvUserModifyConfirm table th {
  padding: 0 0 8px;
}
@media screen and (max-width: 768px) {
  #dvUserBox #dvUserModifyInput table th,
  #dvUserBox #dvUserModifyConfirm table th {
    padding: 0 0 1.8691588785vw;
  }
}

#dvUserBox #dvUserModifyInput table td,
#dvUserBox #dvUserModifyConfirm table td {
  padding: 0;
}

.unit--item .add-u__form-bloc .service-category__item {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .unit--item .add-u__form-bloc .service-category__item {
    flex-direction: column;
    gap: 3.738317757vw;
  }
}
.unit--item .add-u__form-bloc .category-item {
  background-color: #fafafa;
  padding: 16px;
  margin-bottom: 16px;
  width: calc(50% - 8px);
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .unit--item .add-u__form-bloc .category-item {
    width: 100%;
    margin-bottom: 0vw;
    padding: 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}
.unit--item .add-u__form-bloc .category-item .category-checkbox {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .unit--item .add-u__form-bloc .category-item .category-checkbox {
    margin-bottom: 2.8037383178vw;
    font-size: 3.2710280374vw;
  }
}
.unit--item .add-u__form-bloc .category-item .category-img {
  max-width: 100%;
}
.unit--item .add-u__form-bloc .category-item .checkbox-item {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .unit--item .add-u__form-bloc .category-item .checkbox-item {
    margin-top: 1.8691588785vw;
    gap: 1.8691588785vw;
  }
}

.category-item:has(input[type=checkbox]:checked) {
  background-color: #f7eecb;
}

.add-u__form-bloc:last-child {
  border-bottom: none;
}

.user-regist-regulation__input {
  width: 100%;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  border: solid 1px #eee;
  border-radius: 4px;
  background: #fafafa !important;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .user-regist-regulation__input {
    border-radius: 1.8691588785vw;
    border-width: 0.2336448598vw;
    height: 9.3457943925vw;
    padding: 0 1.8691588785vw;
    font-size: 3.738317757vw;
  }
}

.completeInfo {
  background-color: #f0f0f0 !important;
  border: none !important;
}

#dvUserBox #dvUserInquiryInput .dvUserInfo,
#dvUserBox #dvUserInquiryConfirm .dvUserInfo {
  margin-bottom: 0px;
}

#dvUserRegistConfirm .dvUserInfo h3,
#dvUserRegistConfirm .dvLoginInfo h3 {
  padding-top: 12px;
}
@media screen and (max-width: 768px) {
  #dvUserRegistConfirm .dvUserInfo h3,
  #dvUserRegistConfirm .dvLoginInfo h3 {
    padding-top: 1.8691588785vw;
  }
}

.regulation-list-dot {
  list-style: none;
  padding-left: 0;
}
.regulation-list-dot li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 4px !important;
}
@media screen and (max-width: 768px) {
  .regulation-list-dot li {
    font-size: 3.2710280374vw;
  }
}

.regulation-list-dot li::before {
  content: "・ ";
}

.regulation-list-number {
  padding-left: 1.25rem;
}
.regulation-list-number li {
  list-style: decimal !important;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 4px !important;
}
@media screen and (max-width: 768px) {
  .regulation-list-number li {
    font-size: 3.2710280374vw;
  }
}

#dvUserBox .add-main__wrapper .add-mypage__header {
  position: relative;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__header {
    margin-bottom: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__user-welcome .add-mypage__user-name {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 4px 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__user-welcome .add-mypage__user-name {
    font-size: 4.2056074766vw;
    margin-bottom: 0.9345794393vw;
    padding-right: 11.214953271vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__user-welcome .add-mypage__user-name .add-mypage__honor {
  font-size: 16px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__user-welcome .add-mypage__user-name .add-mypage__honor {
    font-size: 3.2710280374vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__user-welcome .add-mypage__user-subtext {
  font-size: 14px;
  margin-top: 8px !important;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__user-welcome .add-mypage__user-subtext {
    font-size: 3.2710280374vw;
    margin-top: 1.8691588785vw !important;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__last-login {
  position: absolute;
  right: 0px;
  bottom: 8px;
  background-color: #f5f5f5;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__last-login {
    position: static;
    margin-top: 3.738317757vw;
    display: inline-block;
    padding: 2.8037383178vw 3.738317757vw;
    border-radius: 1.8691588785vw;
    font-size: 3.2710280374vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__edit-btn {
  position: absolute;
  right: 0;
  bottom: 12px;
  display: inline-block;
  width: 32px;
  height: 32px;
  transition: opacity 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__edit-btn {
    top: 0;
    bottom: auto;
    width: 10.2803738318vw;
    height: 10.2803738318vw;
    border: solid 0.2336448598vw #ddd;
    border-radius: 50%;
    padding: 1.8691588785vw;
    box-sizing: border-box;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__edit-btn:hover {
    opacity: 0.7;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__header .add-mypage__edit-btn img {
  width: 100%;
  height: auto;
  display: block;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards {
    flex-direction: column;
    gap: 3.738317757vw;
    margin-bottom: 3.738317757vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card {
  flex: 1;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 240px;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card {
    border-radius: 1.8691588785vw;
    border-width: 0.2336448598vw;
    padding: 5.6074766355vw;
    min-height: auto;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__badge-unregistered {
  display: none;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__badge-unregistered {
    display: block;
    position: absolute;
    top: 3.738317757vw;
    right: 3.738317757vw;
    background-color: #666666;
    color: #ffffff;
    font-size: 2.3364485981vw;
    font-weight: bold;
    padding: 0.9345794393vw 1.8691588785vw;
    border-radius: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-title {
  font-size: 16px !important;
  font-weight: bold;
  margin: 0 0 0px 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-title {
    font-size: 3.738317757vw !important;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 16px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-body {
    margin-bottom: 3.738317757vw;
    padding: 1.8691588785vw 0;
    justify-content: flex-start;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-desc {
  margin-top: 4px;
  line-height: 1.5;
  font-size: 11px;
  color:#333;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-desc {
    margin-top: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__card-buttons {
  width: 100%;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__icon {
  width: 48px;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__icon img {
  max-width: 48px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__icon {
    width: 15.8878504673vw;
  }
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card .add-mypage__icon img {
    max-width: 15.8878504673vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point {
  background-color: #fffcfc;
  border-color: #fbe3e4;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__card-body {
  flex-direction: row;
  gap: 8px 16px;
  justify-content: flex-start;
  padding-left: 4px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__card-body {
    gap: 1.8691588785vw 3.738317757vw;
    padding-left: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__card-body .add-mypage__icon img {
  filter: brightness(0) saturate(100%) invert(21%) sepia(84%) saturate(1747%) hue-rotate(338deg) brightness(112%) contrast(97%);
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__card-title {
  color: #E82E34;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-info {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-info {
    text-align: left;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-stage {
  font-size: 12px;
  color: #e5a93c;
  font-weight: bold;
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-stage {
    font-size: 2.8037383178vw;
    margin-bottom: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-display {
  color: #E82E34;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-display {
    justify-content: flex-start;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-display .add-mypage__point-num {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-display .add-mypage__point-num {
    font-size: 7.476635514vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-display .add-mypage__point-unit {
  font-size: 16px;
  margin-left: 4px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-display .add-mypage__point-unit {
    font-size: 3.2710280374vw;
    margin-left: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-expiry {
  font-size: 14px;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-expiry {
    font-size: 3.2710280374vw;
    margin-top: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-content {
  width: 100%;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--point .add-mypage__point-content {
    margin-top: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection {
  background-color: #f8fdf9;
  border-color: #e3f6e8;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__card-title {
  color: #2e7d32;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-display {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #2e7d32;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-display {
    gap: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-display .add-mypage__icon {
  filter: brightness(0) saturate(100%) invert(36%) sepia(96%) saturate(364%) hue-rotate(72deg) brightness(89%) contrast(87%);
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-display .add-mypage__schedule-date {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-display .add-mypage__schedule-date {
    font-size: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-note {
  display: none;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--inspection .add-mypage__schedule-note {
    display: block;
    font-size: 2.8037383178vw;
    color: #727171;
    margin-top: 0.9345794393vw;
  }
}
#dvUserBox .add-mypage__card--inspection .add-mypage__schedule-display {
    align-items: center !important;
}
#dvUserBox .add-mypage__card--inspection .add-mypage__schedule-texts {
    flex-grow: 1 !important;
}

#dvUserBox .add-mypage__card--inspection .add-mypage__inspection-group {
    margin-bottom: 8px !important;
}
#dvUserBox .add-mypage__card--inspection .add-mypage__inspection-label {
    display: block !important;
    font-size: 11px !important;
    color: #333 !important;
}
#dvUserBox .add-mypage__card--inspection .add-mypage__inspection-prop {
    display: block !important;
    font-size: 12px !important;
    font-weight: bold !important;
    color: #2e7d32 !important;
}
#dvUserBox .add-mypage__card--inspection .add-mypage__card-desc {
    margin-top: 8px !important;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support {
  background-color: #f4f8fc;
  border-color: #e1edf7;
  color: #1565c0;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__card-title {
  color: #1565c0;
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display {
    gap: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-left-box {
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-left-box {
    gap: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__icon img {
  filter: brightness(0) saturate(100%) invert(27%) sepia(99%) saturate(1217%) hue-rotate(193deg) brightness(99%) contrast(93%);
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-status-title {
  font-size: 24px;
  font-weight: bold;
  color: #1565c0;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-status-title {
    font-size: 4.6728971963vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-status-desc {
  font-size: 14px;
  color: #727171;
  margin: 4px 0 0 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-status-desc {
    font-size: 3.2710280374vw;
    margin-top: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-house-icon {
  display: none;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__top-cards .add-mypage__card--support .add-mypage__support-display .add-mypage__support-house-icon {
    display: block;
    font-size: 7.476635514vw;
    opacity: 0.25;
    color: #1565c0;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__btn {
  display: block;
  text-align: center;
  padding: 12px 8px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 992px;
  text-decoration: none;
  box-sizing: border-box;
  transition: all 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__btn {
    padding: 2.8037383178vw 1.8691588785vw;
    font-size: 3.2710280374vw;
    border-radius: 233.4112149533vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__btn:hover {
    opacity: 0.8;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__btn--primary {
  background-color: #E82E34;
  color: #ffffff;
  border: 1px solid #E82E34;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--primary {
    border-width: 0.2336448598vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__btn--outline {
  background-color: #ffffff;
  color: #E82E34;
  border: 1px solid #E82E34;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--outline {
    border-width: 0.2336448598vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--outline:hover {
    background-color: #fffcfc;
    opacity: 1;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__btn--success-outline {
  background-color: #ffffff;
  color: #2e7d32;
  border: 1px solid #2e7d32;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--success-outline {
    border-width: 0.2336448598vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--success-outline:hover {
    background-color: #f8fdf9;
    opacity: 1;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__btn--info {
  background-color: #ffffff;
  color: #1565c0;
  border: 1px solid #1565c0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--info {
    border-width: 0.2336448598vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__btn--info:hover {
    background-color: #f4f8fc;
    opacity: 1;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background-color: #F7F5F3;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 40px;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club {
    flex-direction: column;
    align-items: flex-start;
    border-width: 0.2336448598vw;
    border-radius: 1.8691588785vw;
    padding: 9.3457943925vw 5.6074766355vw 5.6074766355vw 5.6074766355vw;
    margin-bottom: 9.3457943925vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-badge {
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: #E82E34;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  padding: 4px 16px;
  border-radius: 0 0 8px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-badge {
    order: 1;
    font-size: 3.2710280374vw;
    padding: 0.9345794393vw 3.738317757vw;
    border-radius: 0 0 1.8691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-content {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-content {
    gap: 3.738317757vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-text {
  color: #E82E34;
  font-size: 18px;
  margin: 0;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-text {
    order: 3;
    font-size: 4.2056074766vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-text strong {
  font-size: 150%;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-text strong {
    font-size: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-text p {
  font-size: 16px;
  color: #000;
  margin: 4px 0 0 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-text p {
    font-size: 3.4vw;
    margin-top: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand {
    order: 2;
    text-align: left;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand span {
  font-size: 14px;
  color: #E82E34;
  display: block;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand span {
    font-size: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand .add-mypage__banner-logo {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand .add-mypage__banner-logo {
    font-size: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand .add-mypage__banner-logo span {
  display: inline;
  color: #E82E34;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-brand .add-mypage__banner-logo span {
    font-size: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-icons {
  width: 200px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-icons {
    width: 56.0747663551vw;
    margin-top: 1.8691588785vw;
    margin-bottom: 1.8691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-icons img {
  width: 100%;
}
#dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-action {
  background-color: #E82E34;
  color: #ffffff;
  padding: 12px 32px 12px 24px;
  border-radius: 99px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-action {
    order: 4;
    padding: 2.8037383178vw 7.476635514vw 2.8037383178vw 5.6074766355vw;
    border-radius: 23.1308411215vw;
    font-size: 3.2710280374vw;
    margin-top: 3.738317757vw;
    width: 100%;
    text-align: center;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__banner-club .add-mypage__banner-action:hover {
    opacity: 0.8;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__section-header {
    margin-bottom: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__section-title,
#dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__panel-title {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__section-title,
  #dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__panel-title {
    font-size: 4.6728971963vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__section-link {
  font-size: 12px;
  color: #E82E34;
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__section-link {
    font-size: 2.8037383178vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__section-header .add-mypage__section-link:hover {
    opacity: 0.7;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid {
    display: flex;
    grid-template-columns: none;
    gap: 3.738317757vw;
    margin-bottom: 9.3457943925vw;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.9345794393vw;
  }
  #dvUserBox .add-main__wrapper .add-mypage__options-grid::-webkit-scrollbar {
    display: none;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 16px;
  position: relative;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item {
    flex-shrink: 0;
    width: 54.2056074766vw;
    border-width: 0.2336448598vw;
    border-radius: 1.8691588785vw;
    padding: 3.738317757vw;
    white-space: normal;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background-color: #e5ad35;
  color: #ffffff;
  font-size: 10px;
  padding: 4px 8px;
  border-radius: 992px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-badge {
    top: 1.8691588785vw;
    left: 1.8691588785vw;
    font-size: 2.3364485981vw;
    padding: 0.4672897196vw 0.9345794393vw;
    border-radius: 0.9345794393vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-thumb {
  height: 120px;
  border-radius: 4px 4px 0px 0px;
  overflow: hidden;
  margin: -16px -16px 16px -16px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-thumb {
    height: 28.0373831776vw;
    border-radius: 0.9345794393vw;
    margin: -3.738317757vw -3.738317757vw 3.738317757vw -3.738317757vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item h3 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  padding-bottom: 8px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item h3 {
    font-size: 3.738317757vw;
    padding-bottom: 1.8691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item p {
  font-size: 14px;
  flex-grow: 1;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item p {
    font-size: 3.2710280374vw;
    margin-bottom: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-btn {
  display: block;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.87);
  padding: 8px 0;
  font-size: 12px;
  border-radius: 992px;
  text-decoration: none;
  background-color: #ffffff;
  transition: all 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-btn {
    border-width: 0.2336448598vw;
    padding: 1.8691588785vw 0;
    font-size: 2.8037383178vw;
    border-radius: 0.9345794393vw;
    margin-top: auto;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    opacity: 0.8;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu {
  display: grid;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu {
    margin-bottom: 9.3457943925vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__panel-title {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 24px 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__panel-title {
    font-size: 4.6728971963vw;
    margin-bottom: 5.6074766355vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.8691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item {
  background: #F7F5F3;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 32px 16px;
  text-align: center;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.87);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: all 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item {
    border-width: 0.2336448598vw;
    border-radius: 1.8691588785vw;
    padding: 5.6074766355vw 1.8691588785vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item:hover {
    opacity: 0.7;
    background-color: #eeeae6;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item img {
  width: 50px;
  margin-bottom: 16px;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item img {
    width: 11.6822429907vw;
    margin-bottom: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item span {
  font-size: 14px;
  font-weight: bold;
  display: block;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__quick-grid .add-mypage__quick-item span {
    font-size: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li {
  padding: 12px 0;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li {
    padding: 2.8037383178vw 0;
    border-bottom-width: 0.2336448598vw;
    font-size: 2.8037383178vw;
    gap: 1.8691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-date {
  color: #727171;
  white-space: nowrap;
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-label {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 10px;
  color: #ffffff;
  font-weight: bold;
  min-width: 56px;
  text-align: center;
  box-sizing: border-box;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-label {
    padding: 0.9345794393vw 1.8691588785vw;
    border-radius: 0.9345794393vw;
    font-size: 2.3364485981vw;
    min-width: 11.214953271vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-label--important {
  background-color: #E82E34;
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-label--campaign {
  background-color: #3b82f6;
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-label--info {
  background-color: #64748b;
}
#dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-title {
  color: rgba(0, 0, 0, 0.87);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-grow: 1;
  transition: color 0.2s ease-out;
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__quick-menu .add-mypage__news-list li .add-mypage__news-title:hover {
    text-decoration: underline;
    color: #E82E34;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners {
    grid-template-columns: 1fr;
    gap: 3.738317757vw;
    margin-bottom: 18.691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner {
    border-width: 0.2336448598vw;
    border-radius: 1.8691588785vw;
    padding: 3.738317757vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner--contact {
  background-image: url("/assets/img/mypage/customer_image.webp");
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner--reform {
  background-image: url("/assets/img/mypage/reform_image.webp");
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content {
  max-width: 72%;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content {
    max-width: 100%;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content h3 {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  padding-bottom: 8px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content h3 {
    font-size: 3.738317757vw;
    padding-bottom: 1.8691588785vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content p {
  font-size: 14px;
  margin: 0 0 16px 0;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content p {
    font-size: 2.8037383178vw;
    margin-bottom: 2.8037383178vw;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content .add-mypage__f-banner-btn {
  display: inline-block;
  border: 1px solid rgba(0, 0, 0, 0.87);
  padding: 8px 32px 8px 24px;
  font-size: 14px;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
  text-decoration: none;
  border-radius: 24px;
  background-color: #ffffff;
  transition: all 0.2s ease-out;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content .add-mypage__f-banner-btn {
    border-width: 0.2336448598vw;
    padding: 1.8691588785vw 7.476635514vw 1.8691588785vw 3.738317757vw;
    font-size: 3.2710280374vw;
    border-radius: 5.6074766355vw;
  }
}
@media (hover: hover) {
  #dvUserBox .add-main__wrapper .add-mypage__footer-banners .add-mypage__f-banner .add-mypage__f-banner-content .add-mypage__f-banner-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    opacity: 0.8;
  }
}
#dvUserBox .add-main__wrapper .add-mypage__sp-fixed-footer {
  display: none;
}
@media screen and (max-width: 768px) {
  #dvUserBox .add-main__wrapper .add-mypage__sp-fixed-footer {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-top-width: 0.2336448598vw;
    z-index: 100;
    align-items: center;
    justify-content: space-between;
    padding: 2.8037383178vw 3.738317757vw;
    box-sizing: border-box;
    box-shadow: 0 -0.9345794393vw 2.8037383178vw rgba(0, 0, 0, 0.05);
  }
}
#dvUserBox .add-main__wrapper .add-mypage__sp-fixed-footer .add-mypage__sp-tel .add-mypage__sp-tel-num {
  font-size: 3.738317757vw;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.87);
  text-decoration: none;
  display: block;
  line-height: 1.2;
}
#dvUserBox .add-main__wrapper .add-mypage__sp-fixed-footer .add-mypage__sp-tel span {
  font-size: 2.3364485981vw;
  color: #727171;
  display: block;
  margin-top: 0.9345794393vw;
}
#dvUserBox .add-main__wrapper .add-mypage__sp-fixed-footer .add-mypage__sp-footer-btn {
  background-color: #E82E34;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 0.9345794393vw;
  padding: 2.8037383178vw 4.6728971963vw;
  font-size: 2.8037383178vw;
  text-align: center;
  box-shadow: 0 0.9345794393vw 0.9345794393vw rgba(0, 0, 0, 0.1);
  line-height: 1.2;
  transition: opacity 0.2s ease-out;
}
#dvUserBox .add-main__wrapper .add-mypage__sp-fixed-footer .add-mypage__sp-footer-btn span {
  font-size: 2.3364485981vw;
  display: block;
  font-weight: normal;
  margin-top: 0.9345794393vw;
}
.add-mypage__card--document {
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: none !important;
}
.add-mypage__card--document .add-mypage__card-title {
    color: #333333 !important;
}
.add-mypage__card--document .add-mypage__card-desc {
    color: #888888 !important;
}
.add-mypage__card--document .rec-sub-card__icon {
    display: inline-block !important;
    width: 48px !important;
    flex-shrink: 0 !important;
}
.add-mypage__card--document .rec-sub-card__icon img {
    filter: invert(37%) sepia(74%) saturate(3140%) hue-rotate(134deg) brightness(96%) contrast(101%) !important;
    width: 100% !important; 
    height: auto !important;
    max-width: 48px !important;
    display: block !important;
}
.add-mypage__btn--document {
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #e0e0e0 !important;
    transition: background-color 0.3s ease, opacity 0.3s ease;
}
.add-mypage__btn--document:hover {
    background-color: #f9f9f9 !important;
}
.add-mypage__btn--document::after {
    border-color: #333333 !important;
}
.add-mypage__card--document .add-mypage__support-display {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
}
.add-mypage__card--document .add-mypage__support-status {
    text-align: left !important;
    flex: 1 !important;
}
.add-mypage__card--document .add-mypage__card-desc {
    color: #888888 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}
@media screen and (max-width: 768px) {
    .add-mypage__card--document .rec-sub-card__icon {
        width: 15.8878504673vw !important;
    }
    .add-mypage__card--document .rec-sub-card__icon img {
        max-width: 15.8878504673vw !important;
    }
    .add-mypage__card--document .add-mypage__support-display {
        gap: 2.8037383178vw !important;
    }
    .add-mypage__card--document .add-mypage__card-desc {
        font-size: 3.2710280374vw !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item {
        position: relative !important;
        padding: 16px 16px 16px 192px !important;
        height: auto !important;
        min-height: 152px !important;
        box-sizing: border-box !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item h3 {
        font-size: 14px !important;
        font-weight: bold !important;
        margin: 0 0 6px 0 !important;
        line-height: 1.4 !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item p {
        font-size: 12px !important;
        color: #666666 !important;
        line-height: 1.5 !important;
        margin: 0 !important;
        white-space: normal !important;
    }
}
.side .categoryList:not(:first-child) {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .side .categoryList:not(:first-child) {
    margin-top: 5.6074766355vw;
  }
}

.side .categoryList .title {
  position: relative;
  display: block;
  font-weight: bold;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.34);
  border-radius: 4px;
  padding: 12px 32px 12px 8px;
  font-size: 16px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .side .categoryList .title {
    border-radius: 0.9345794393vw;
    padding: 2.8037383178vw 7.476635514vw 2.8037383178vw 1.8691588785vw;
    font-size: 3.738317757vw;
  }
}

.add-set #sortBox .title .selected::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #707070;
  border-bottom: 2px solid #707070;
  position: absolute;
  right: 8px;
  bottom: 0;
  top: 0;
  transform: rotate(45deg);
  z-index: 2;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .add-set #sortBox .title .selected::after {
    width: 1.4018691589vw;
    height: 1.4018691589vw;
    border-right-width: 0.4672897196vw;
    border-bottom-width: 0.4672897196vw;
    right: 1.8691588785vw;
  }
}

.add-set #sortBox .title .selected {
  position: relative;
  font-weight: bold;
  border: 1px solid;
  padding: 8px 56px 8px 8px;
  font-size: 16px;
  border-radius: 4px;
  font-weight: 400;
  border: 1px solid rgba(0, 0, 0, 0.34);
}
@media screen and (max-width: 768px) {
  .add-set #sortBox .title .selected {
    width: 100%;
    padding-right: 3.738317757vw;
    padding: 1.8691588785vw 13.0841121495vw 1.8691588785vw 1.8691588785vw;
    font-size: 3.738317757vw;
    border-radius: 0.9345794393vw;
  }
}

.dvProductAdvancedSearch__title {
  position: relative;
  display: block;
  font-weight: bold;
  background: #fff;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0px;
  padding: 2px 8px 2px;
  font-size: 20px;
  border-left: 3px solid #E82E34;
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__title {
    padding: 0.4672897196vw 1.8691588785vw 0.4672897196vw;
    margin-bottom: 9.3457943925vw;
    font-size: 4.6728971963vw;
    border-left-width: 0.7009345794vw;
    display: none;
  }
}

.icon-search input[type=search] {
  padding-left: 48px;
  background-image: url("../img/common/icon_search.svg");
  background-repeat: no-repeat;
  background-position: 0px center;
  background-size: 40px 40px;
}
@media screen and (max-width: 768px) {
  .icon-search input[type=search] {
    padding-left: 10.7476635514vw;
    background-position: 0.4672897196vw center;
    background-size: 9.3457943925vw 9.3457943925vw;
  }
}

.dvProductAdvancedSearch__content table td {
  padding: 0 0 24px 0;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__content table td {
    padding: 0 0 5.6074766355vw 0;
  }
}

.dvProductAdvancedSearch__content .title {
  position: relative;
  display: block;
  width: 100%;
  font-weight: bold;
  text-align: left;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.34);
  border-radius: 4px;
  padding: 12px 32px 12px 12px;
  margin-top: 0px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__content .title {
    border-radius: 0.9345794393vw;
    padding: 1.8691588785vw 7.476635514vw 1.8691588785vw 1.8691588785vw;
    margin-bottom: 5.6074766355vw;
  }
}

@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__accordion-box {
    position: relative;
    display: block;
    width: 100%;
    font-weight: bold;
    text-align: left;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.34);
    border-radius: 0.9345794393vw 0.9345794393vw;
    padding: 1.8691588785vw 0vw 1.8691588785vw 1.8691588785vw;
    margin-bottom: 5.6074766355vw;
  }
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__accordion-box .accordion-content {
    padding: 2.8037383178vw 2.8037383178vw;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__content .dvProductAdvancedSearch__accordion-box .title {
    display: block;
    width: 100%;
    font-weight: bold;
    text-align: left;
    background-color: #fff;
    border: 0;
    border-radius: 0px;
    padding: 0;
    margin-top: 0px;
    margin-bottom: 0px;
  }
}

.dvProductAdvancedSearch {
  margin-top: 0px;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch {
    margin-top: 0vw;
  }
}

@media screen and (max-width: 768px) {
  .product-list-page__sort-wrap {
    border-bottom: 0.2336448598vw solid rgba(0, 0, 0, 0.34);
    flex-direction: column;
    margin: 5.6074766355vw 0;
    padding-bottom: 5.6074766355vw;
  }
}

.add-set #sortBox {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  flex: 1;
  padding: 0;
  margin-top: 4px;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .add-set #sortBox {
    gap: 3.738317757vw;
    margin-top: 0.9345794393vw;
  }
}

.product-list-page .sp-search-btn a {
  display: block;
  text-align: center;
  width: 138px;
  max-width: 50%;
  border: 1px solid rgba(0, 0, 0, 0.8);
  background: url(../img/common/icon_search.svg) left 12px center #fff no-repeat;
  border-radius: 24px;
  font-size: 14px;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.8);
  padding: 12px 16px 12px 48px;
}
@media screen and (max-width: 768px) {
  .product-list-page .sp-search-btn a {
    width: 32.2429906542vw;
    margin: -14.953271028vw 0 0 auto;
    border-radius: 5.6074766355vw;
    font-size: 3.2710280374vw;
    background-position: left 2.8037383178vw center;
    padding: 2.8037383178vw 3.738317757vw 2.8037383178vw 9.3457943925vw;
    background-size: 9.3457943925vw;
  }
}
@media screen and (max-width: 768px) {
  .product-list-page .sp-search-btn.fixed-bottom {
    position: fixed;
    bottom: 14.953271028vw;
    left: 3.738317757vw;
    width: calc(100% - 32px);
    z-index: 2;
  }
}

@media screen and (max-width: 768px) {
  .add-set .common-container__column .side {
    z-index: 1000;
  }
}
@media screen and (max-width: 768px) {
  .add-set .common-container__column .side .modal-close {
    position: fixed;
    top: calc(7.5vh - 24px);
    right: 8px;
    width: 40px;
    height: 40px;
    background-color: #333;
    border-radius: 50%;
    z-index: 1003;
  }
}
@media screen and (max-width: 768px) {
  .add-set .common-container__column .side .modal-body {
    width: calc(100% - 0px);
    max-height: 85vh;
    border-radius: 0px;
    padding: 5.6074766355vw 3.738317757vw;
    background: #F5F5F5;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1002;
    overflow-y: auto;
    border-top: 1px solid rgba(0, 0, 0, 0.34);
    border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  }
}

.list-product .productName,
.list-product .name {
  font-size: 14px;
  margin-top: 16px;
  overflow: visible;
  -webkit-box-orient: initial;
}
@media screen and (max-width: 768px) {
  .list-product .productName,
  .list-product .name {
    font-size: 3.2710280374vw;
    margin-top: 3.738317757vw;
  }
}

.listProduct .price {
  display: flex;
  justify-content: space-between;
}
.listProduct .icon {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .listProduct .icon {
    margin-top: 3.738317757vw;
  }
}

.list-product .productPrice,
.list-product .price {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .list-product .productPrice,
  .list-product .price {
    font-size: 3.2710280374vw;
    margin-top: 3.738317757vw;
  }
}

@media screen and (max-width: 768px) {
  .list-product .thumb a {
    width: 100%;
  }
}
.list-product .thumb img {
  width: 100%;
  margin: 0 auto;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .list-product .thumb img {
    border-radius: 1.8691588785vw;
  }
}

.dvProductAdvancedSearch .button {
  padding: 0;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch .button {
    padding: 0vw;
    margin-top: 5.6074766355vw;
  }
}

.dvProductAdvancedSearch__content input[type=search] {
  border: 1px solid rgba(0, 0, 0, 0.34);
  padding: 12px 12px 12px 48px;
  width: 100%;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__content input[type=search] {
    padding: 2.8037383178vw 2.8037383178vw 2.8037383178vw 11.214953271vw;
    border-radius: 0.9345794393vw;
  }
}

.dvProductAdvancedSearch__content table td select {
  border: 1px solid rgba(0, 0, 0, 0.34);
  padding: 12px;
  width: 100%;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch__content table td select {
    padding: 2.8037383178vw;
    border-radius: 0.9345794393vw;
    background-color: #fff;
  }
}

.price-box .is-strike {
  position: relative;
}
.price-box .is-strike::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: currentColor;
}
@media screen and (max-width: 768px) {
  .price-box .is-strike {
    position: relative;
  }
}

.price-box p {
  margin-bottom: 4px;
}
.price-box p:last-child {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .price-box p {
    margin-bottom: 0.9345794393vw;
  }
  .price-box p:last-child {
    margin: 0vw;
  }
}

.add-set #sortBox .title {
  font-size: 12px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .add-set #sortBox .title {
    font-size: 2.8037383178vw;
  }
}

@media screen and (max-width: 768px) {
  .add-set #sortBox {
    justify-content: flex-start;
  }
  .add-set #sortBox .box {
    flex: none;
    /* width: 100%; */
  }
}
@media screen and (max-width: 768px) {
  .product-list-page .list-product {
    display: grid;
    overflow-x: auto;
    gap: 9.3457943925vw 3.738317757vw;
  }
}

.icon-search:before {
  visibility: hidden;
  content: "\e91a";
  display: none;
}

@media screen and (max-width: 768px) {
  .product-list-page .list-product {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.product-list-page #pagination.below {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .product-list-page #pagination.below {
    margin-top: 9.3457943925vw;
  }
}

#pagination {
  clear: both;
  margin: 0px 0;
}

@media screen and (max-width: 768px) {
  .dvProductAdvancedSearch .sort-price li {
    width: 100%;
    min-width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .list-product .productPrice .teiki, .list-product .price .teiki {
    font-size: 3.2710280374vw;
  }
}

@media screen and (max-width: 768px) {
  .list-product .productPrice .tax, .list-product .price .tax {
    font-size: 2.8037383178vw;
  }
}

.product-detail__name {
  color: #E82E34;
  padding: 20px 0 16px;
  margin-bottom: 0;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .product-detail__name {
    padding: 0vw 0 2.8037383178vw;
    font-size: 4.6728971963vw;
  }
}

.product-detail__copy {
  font-size: 18px;
  line-height: 2;
  font-weight: bold;
  margin: 0px 0 24px;
}
@media screen and (max-width: 768px) {
  .product-detail__copy {
    font-size: 4.2056074766vw;
    margin: 0vw 0 3.738317757vw;
  }
}

.product-detail__id {
  font-size: 14px;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 768px) {
  .product-detail__id {
    font-size: 3.2710280374vw;
    margin: 0vw 0 3.738317757vw;
  }
}

/* 商品説明 */
.product-desc {
  position: relative;
  width: 752px;
  margin: 0 auto;
  padding: 1px 0 80px;
}
@media screen and (max-width: 768px) {
  .product-desc {
    width: 100%;
    padding: 0.2336448598vw 0 9.3457943925vw;
  }
}
.product-desc::before, .product-desc::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100vw;
  height: 1px;
  background: #ccc;
  transform: translateX(-50%);
}
.product-desc::before {
  top: 0;
}
.product-desc::after {
  bottom: 0;
}
.product-desc p {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 768px) {
  .product-desc p {
    font-size: 3.2710280374vw;
  }
}
.product-desc .accordion-trigger {
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 12px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s;
}
@media screen and (max-width: 768px) {
  .product-desc .accordion-trigger {
    padding: 2.8037383178vw;
  }
}

.product-desc__item {
  width: 100%;
  background: #F5F5F5;
  border: 1px solid rgba(0, 0, 0, 0.34);
  border-radius: 4px;
  margin-bottom: 16px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .product-desc__item {
    margin-bottom: 3.738317757vw;
    font-size: 3.738317757vw;
  }
}
.product-desc__item .accordion-trigger::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 12px;
  height: 2px;
  background: #333;
  transform: translateY(-50%);
  border: none;
}
@media screen and (max-width: 768px) {
  .product-desc__item .accordion-trigger::after {
    right: 3.738317757vw;
    width: 2.8037383178vw;
    height: 0.4672897196vw;
  }
}
.product-desc__item .accordion-trigger::before {
  content: "";
  position: absolute;
  right: 21px;
  top: 50%;
  width: 2px;
  height: 12px;
  background: #333;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .product-desc__item .accordion-trigger::before {
    right: 4.9065420561vw;
    width: 0.4672897196vw;
    height: 2.8037383178vw;
  }
}

.accordion-trigger.is-active::before {
  opacity: 0;
}

.product-desc__content.accordion-content {
  border-top: 1px solid rgba(0, 0, 0, 0.34);
}
@media screen and (max-width: 768px) {
  .product-desc__content.accordion-content {
    border-top: 0.2336448598vw solid rgba(0, 0, 0, 0.34);
  }
}

/* レビュー */
#dvProductReviewArea {
  position: relative;
  padding: 1px 0 0;
}
@media screen and (max-width: 768px) {
  #dvProductReviewArea {
    padding: 0.2336448598vw 0 0;
  }
}
#dvProductReviewArea::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background: #ccc;
  transform: translateX(-50%);
}
#dvProductReviewArea {
  clear: both;
  margin: 0 !important;
}

/* 価格エリア */
.product-price-area {
  display: flex;
  justify-content: space-between;
  font-family: "Jost", "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px) {
  .product-price-area {
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .product-price-area {
    flex-direction: column;
  }
}

.product-detail__desc {
  color: rgba(0, 0, 0, 0.57);
  line-height: 2;
  padding-bottom: 24px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .product-detail__desc {
    padding: 0 0 5.6074766355vw 0;
    font-size: 3.2710280374vw;
  }
}

.product-detail__btn-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 24px 0;
}
@media screen and (max-width: 768px) {
  .product-detail__btn-wrap {
    gap: 3.738317757vw;
    margin: 5.6074766355vw 0;
  }
}
.product-detail__btn-wrap .addCart {
  width: 100%;
}

.product-detail .addCart .btnCart .btn {
  font-size: 16px;
  width: 100%;
  border-radius: 999px;
  padding: 16px;
}
@media screen and (max-width: 768px) {
  .product-detail .addCart .btnCart .btn {
    font-size: 3.738317757vw;
    padding: 3.738317757vw;
    border-radius: 233.4112149533vw;
    max-width: 100%;
  }
}

.product-detail .addCart .btnCart + .btnCart {
  margin-top: 8px !important;
}
@media screen and (max-width: 768px) {
  .product-detail .addCart .btnCart + .btnCart {
    margin-top: 1.8691588785vw !important;
  }
}

.btnListContact li a {
  display: flex;
  gap: 8px;
  font-weight: 700;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .btnListContact li a {
    gap: 1.8691588785vw;
  }
}

.product-detail .btnListContact li {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .product-detail .btnListContact li {
    margin-top: 5.6074766355vw;
  }
}
.product-detail .btnListContact li + li {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .product-detail .btnListContact li + li {
    margin-top: 5.6074766355vw;
  }
}

.productSellInfo strong {
  display: block;
}

/* 説明コンテンツ */
.product-desc__container {
  width: 752px;
  margin: 0 auto 80px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .product-desc__container {
    width: 100%;
    margin: 0 auto 9.3457943925vw;
  }
}
.product-desc__container .accordion-content__inner {
  padding: 40px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .product-desc__container .accordion-content__inner {
    padding: 9.3457943925vw 3.738317757vw;
    font-size: 3.2710280374vw;
  }
}
.product-desc__container .accordion-content__inner img {
  max-width: 100%;
  margin: 0 0 16px 0;
}
@media screen and (max-width: 768px) {
  .product-desc__container .accordion-content__inner img {
    margin: 0 0 3.738317757vw 0;
  }
}
.product-desc__container .accordion-content__inner h3 {
  margin: 0 0 16px 0;
  font-size: 18px;
  line-height: 2;
  color: #E82E34;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .product-desc__container .accordion-content__inner h3 {
    margin: 0 0 3.738317757vw 0;
    font-size: 4.2056074766vw;
  }
}
.product-desc__container p {
  margin: 0 0 16px 0;
}
@media screen and (max-width: 768px) {
  .product-desc__container p {
    margin: 0 0 3.738317757vw 0;
  }
}
.product-desc__container hr {
  height: 1px;
  border-top: 1px solid #ccc;
  margin: 32px 0;
}
@media screen and (max-width: 768px) {
  .product-desc__container hr {
    height: 0.2336448598vw;
    margin: 7.476635514vw 0;
  }
}

#dvProductReviewArea h2,
.product-desc__container h2 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #dvProductReviewArea h2,
  .product-desc__container h2 {
    text-align: left;
  }
}

/* レビューアイテム */
.product-detail .review__title {
  font-size: 16px;
  font-weight: bold;
  margin: 24px 0;
}
@media screen and (max-width: 768px) {
  .product-detail .review__title {
    font-size: 3.738317757vw;
    margin: 5.6074766355vw 0;
  }
}

.product-detail .review__item {
  border-top: 0 solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 24px 0;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px) {
  .product-detail .review__item:first-child {
    padding: 0 0 5.6074766355vw 0;
  }
}
@media screen and (max-width: 768px) {
  .product-detail .review__item {
    border-bottom: 0.2336448598vw solid #ccc;
    padding: 5.6074766355vw 0;
  }
}

/* スライダー */
.product-detail__slider img {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .product-detail__slider img {
    border: 0.2336448598vw solid rgba(0, 0, 0, 0.1);
    border-radius: 0vw;
  }
}

#imgProductImage {
  position: relative;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  #imgProductImage {
    border-radius: 1.8691588785vw;
  }
}

/* 矢印 */
.slide-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 32px;
  height: 32px;
  background-image: url(../img/common/slider-arrow.svg);
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  background-color: transparent;
  color: #fff;
  border: none;
  padding: 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .slide-arrow {
    background-size: contain;
    width: 7.476635514vw;
    height: 7.476635514vw;
  }
}
.slide-arrow.prev-arrow {
  left: 16px;
  transform: rotate(-180deg);
}
@media screen and (max-width: 768px) {
  .slide-arrow.prev-arrow {
    left: 3.738317757vw;
  }
}
.slide-arrow.next-arrow {
  right: 16px;
}
@media screen and (max-width: 768px) {
  .slide-arrow.next-arrow {
    right: 3.738317757vw;
  }
}

/* 価格表示（detailOne） */
#detailOne .productPrice span {
  font-size: 32px;
  padding: 0 8px 0 0;
}
@media screen and (max-width: 768px) {
  #detailOne .productPrice span {
    font-size: 7.476635514vw;
    padding: 0 1.8691588785vw 0 0;
  }
}

#detailOne .productPrice__red,
#detailOne .productPrice__red span {
  margin: 0;
  color: #E82E34 !important;
}

#detailOne .productSellInfo .productPrice {
  font-size: 12px !important;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #detailOne .productSellInfo .productPrice {
    font-size: 2.8037383178vw !important;
  }
}

/* バリエーション周り */
.selectVariation__text {
  font-size: 12px;
  margin: 0 0 8px;
}
@media screen and (max-width: 768px) {
  .selectVariation__text {
    font-size: 2.8037383178vw;
    margin: 0 0 1.8691588785vw;
  }
}

@media screen and (max-width: 768px) {
  .product-detail #dvProductDetailArea #detailImage {
    width: 100%;
    margin-left: 0vw;
    margin-right: 0vw;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

#dvProductDetailArea .wrapProductPrice {
  margin: 0 !important;
}

.productPrice {
  margin: 0;
}

.product-detail .productAmount {
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .product-detail .productAmount {
    gap: 0 1.8691588785vw;
    padding: 5.6074766355vw 0 0;
  }
}

.productAmount__tit {
  font-size: 12px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .productAmount__tit {
    font-size: 2.8037383178vw;
  }
}

.product-detail .option-value {
  margin: 0;
}

.product-detail__container {
  margin-bottom: 80px;
  gap: 24px 64px;
}
@media screen and (max-width: 768px) {
  .product-detail__container {
    margin-bottom: 9.3457943925vw;
    gap: 9.3457943925vw;
    flex-direction: column;
  }
}

/* 見出し（ここだけは元の &__sub が意図ズレしやすいから分離） */
#dvProductDetailArea h2.heading {
  font-size: 24px;
  font-weight: bold;
  margin: 80px 0 40px;
}
@media screen and (max-width: 768px) {
  #dvProductDetailArea h2.heading {
    font-size: 5.6074766355vw;
    margin: 9.3457943925vw 0 9.3457943925vw;
  }
}

#dvProductDetailArea h2.heading__sub {
  font-size: 20px;
  color: #E82E34;
  margin: 80px 0 40px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #dvProductDetailArea h2.heading__sub {
    font-size: 5.6074766355vw;
    margin: 9.3457943925vw 0 5.6074766355vw;
  }
}

h2.heading__sub {
  font-size: 20px;
  color: #E82E34;
  margin: 80px 0 40px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  h2.heading__sub {
    font-size: 5.6074766355vw;
    margin: 9.3457943925vw 0 5.6074766355vw;
  }
}

#dvProductReviewImage {
  margin: 0 !important;
  padding: 0 !important;
}

/* レビュー画像エリア */
#dvProductReviewImage .heading a {
  color: #E82E34;
}

#dvCheckList .productCheckList ul li.thumnail img {
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  #dvCheckList .productCheckList ul li.thumnail img {
    border-radius: 1.8691588785vw;
  }
}

#dvCheckList .productPrice {
  display: none;
}

/* サムネ */
@media screen and (max-width: 768px) {
  .product-detail__thumbnail {
    margin: 3.738317757vw 3.738317757vw 0;
  }
}

.product-detail__thumbnail .slick-current img {
  border: 2px solid #E82E34;
}
@media screen and (max-width: 768px) {
  .product-detail__thumbnail .slick-current img {
    border: 0.4672897196vw solid #E82E34;
  }
}

.product-detail__thumbnail img {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .product-detail__thumbnail img {
    border: 0.2336448598vw solid rgba(0, 0, 0, 0.1);
    border-radius: 1.8691588785vw;
  }
}

@media screen and (max-width: 768px) {
  .list-product__col5-2,
  .list-product__col6-3 {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 42.0560747664vw;
    gap: 3.738317757vw;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-left: 3.738317757vw;
    padding-right: 3.738317757vw;
    margin-left: -3.738317757vw;
    margin-right: -3.738317757vw;
  }
}

.ChangesByVariation {
  display: flex;
  flex-direction: column;
}

/* PCの順番（明示） */
.ChangesByVariation .product-detail__name {
  order: 2;
}
@media screen and (max-width: 768px) {
  .ChangesByVariation .product-detail__name {
    order: 1;
  }
}

.ChangesByVariation .product-detail__id {
  order: 3;
}
@media screen and (max-width: 768px) {
  .ChangesByVariation .product-detail__id {
    order: 2;
  }
}

.ChangesByVariation .icon {
  order: 1;
}
@media screen and (max-width: 768px) {
  .ChangesByVariation .icon {
    order: 3;
  }
}

.ChangesByVariation .product-detail__copy {
  order: 4;
}
@media screen and (max-width: 768px) {
  .ChangesByVariation .product-detail__copy {
    order: 4;
  }
}

.ChangesByVariation .product-detail__desc {
  order: 5;
}
@media screen and (max-width: 768px) {
  .ChangesByVariation .product-detail__desc {
    order: 5;
  }
}

@media screen and (min-width: 769px) {
  #dvProductDetailArea .product-detail__icon {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  #dvProductDetailArea .product-detail__icon {
    order: 3;
    padding-bottom: 3.738317757vw;
  }
}
#dvProductDetailArea .product-detail__icon {
  margin-bottom: 0 !important;
}

#dvProductDetailArea .product-detail__icon:empty,
#dvProductDetailArea .product-detail__icon:not(:has(*)) {
  margin: 0;
  padding: 0;
  height: 0;
}
@media screen and (max-width: 768px) {
  #dvProductDetailArea .product-detail__icon:empty,
  #dvProductDetailArea .product-detail__icon:not(:has(*)) {
    margin: 0;
    padding: 0;
    height: 0;
  }
}

#dvCrossSell .list-product__item .productPrice,
#dvUpSell .list-product__item .productPrice {
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  #dvCrossSell .list-product__item .productPrice,
  #dvUpSell .list-product__item .productPrice {
    margin-top: 1.8691588785vw;
  }
}

.product-detail .productSellInfo .selectVariation {
  margin: 0px 0;
}
@media screen and (max-width: 768px) {
  .product-detail .productSellInfo .selectVariation {
    margin: 0;
  }
}
.product-detail .productSellInfo .selectVariation select {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .product-detail .productSellInfo .selectVariation select {
    margin-bottom: 5.6074766355vw;
  }
}

@media screen and (min-width: 769px) {
  #dvProductReviewButtonControls {
    margin-top: 40px !important;
  }
}
@media screen and (max-width: 768px) {
  #dvProductReviewButtonControls {
    margin-top: 9.3457943925vw !important;
  }
}

.product-detail .icon .soldout {
  font-size: 14px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 2px 12px;
  display: flex;
  align-items: center;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .product-detail .icon .soldout {
    font-size: 3.2710280374vw;
    padding: 0.4672897196vw 2.8037383178vw;
  }
}

.Feature-pagelist__feature-list {
  border-top: 1px solid rgba(0, 0, 0, 0.34);
  margin: 24px 0 0px;
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .Feature-pagelist__feature-list {
    border-top-width: 0.2336448598vw;
    margin: 5.6074766355vw 0 0vw;
    padding-top: 5.6074766355vw;
  }
}

.feature-page-parts-category-links {
  display: flex;
}
.feature-page-parts-category-links-items {
  gap: 24px;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.57);
}
@media screen and (max-width: 768px) {
  .feature-page-parts-category-links-items {
    gap: 5.6074766355vw;
    font-size: 3.738317757vw;
  }
}

.feature-page-parts-category-links-item:hover {
  opacity: 0.3;
  background-color: transparent !important;
}

.feature-page-parts-category-links-item-isactive {
  color: #E82E34;
  border-bottom: 2px solid #E82E34;
  padding-bottom: 8px;
  background-color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .feature-page-parts-category-links-item-isactive {
    border-bottom-width: 0.4672897196vw;
    padding-bottom: 1.8691588785vw;
  }
}
.Feature-pagelist__feature-items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 24px;
}
@media screen and (max-width: 768px) {
  .Feature-pagelist__feature-items {
    grid-gap: 3.738317757vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.Feature-pagelist__feature-item {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .Feature-pagelist__feature-item {
    margin-bottom: 9.3457943925vw;
  }
}

.Feature-pagelist__feature-item ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .Feature-pagelist__feature-item ul {
    margin: 0vw;
    padding: 0vw;
  }
}

/* 画像 */
.Feature-pagelist__feature-thumb {
  margin: 0 0 16px;
  aspect-ratio: 4/3;
  border-radius: 8px;
  overflow: hidden;
  background: #eee;
}
@media screen and (max-width: 768px) {
  .Feature-pagelist__feature-thumb {
    margin: 0vw 0vw 3.738317757vw;
    border-radius: 1.8691588785vw;
  }
}

.Feature-pagelist__feature-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* タイトル */
.Feature-pagelist__feature-title p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .Feature-pagelist__feature-title p {
    margin: 0vw;
    font-size: 3.738317757vw;
  }
}
.Feature-pagelist__feature-title p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.sp-feature-article {
  max-width: 752px;
  margin: 0 auto;
  padding: 0 0px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article {
    padding: 0;
  }
}
.sp-feature-article .time {
  display: block;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.87);
  margin: 0px 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article .time {
    font-size: 3.2710280374vw;
    margin: 0vw 0 9.3457943925vw;
  }
}
.sp-feature-article h1 {
  font-size: 32px;
  font-weight: 700;
  color: #E82E34;
  line-height: 1.4;
  margin: 0 0 24px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article h1 {
    font-size: 4.6728971963vw;
    margin: 0 0 5.6074766355vw;
  }
}
.sp-feature-article h2 {
  font-size: 20px;
  font-weight: 700;
  color: #E82E34;
  padding-bottom: 8px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #E82E34;
}
@media screen and (max-width: 768px) {
  .sp-feature-article h2 {
    font-size: 4.6728971963vw;
    margin: 9.3457943925vw 0 4.6728971963vw;
  }
}
.sp-feature-article h3 {
  font-size: 18px;
  font-weight: 700;
  color: #E82E34;
  margin: 40px 0 20px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article h3 {
    font-size: 4.2056074766vw;
    margin: 9.3457943925vw 0 4.6728971963vw;
  }
}
.sp-feature-article img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article img {
    border-radius: 1.8691588785vw;
  }
}
.sp-feature-article p {
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article p {
    font-size: 3.738317757vw;
    margin: 0 0 9.3457943925vw;
  }
}
.sp-feature-article__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 0px 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__cards {
    grid-template-columns: 1fr;
    gap: 5.6074766355vw;
    margin: 0vw 0 0vw;
  }
}
.sp-feature-article__card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__card {
    gap: 4.6728971963vw;
  }
}
.sp-feature-article__media {
  margin: 0;
}
.sp-feature-article__subttl {
  font-size: 18px;
  font-weight: 700;
  color: #E82E34;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__subttl {
    font-size: 4.2056074766vw;
  }
}
.sp-feature-article__text {
  margin: 0;
}
.sp-feature-article hr {
  height: 1px;
  border: none;
  border-top: solid 1px #ccc;
}
.sp-feature-article__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.sp-feature-article table {
  display: table;
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article table {
    margin: 0 0 9.3457943925vw;
    min-width: 750px;
  }
}
.sp-feature-article table tbody {
  display: table-row-group;
}
.sp-feature-article table tr {
  display: table-row;
  border-top: 1px solid;
}
.sp-feature-article table th {
  display: table-cell;
  background: #f6f0c9;
  padding: 16px 8px;
  font-size: 14px;
  text-align: left;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sp-feature-article table th {
    padding: 3.738317757vw 1.8691588785vw;
    font-size: 3.2710280374vw;
  }
}
.sp-feature-article table td {
  display: table-cell;
  padding: 16px 8px;
  border-bottom: 1px solid #ccc;
  vertical-align: top;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article table td {
    padding: 3.738317757vw 1.8691588785vw;
    font-size: 3.738317757vw;
  }
}
.sp-feature-article__box {
  background: #f6f0c9;
  border-radius: 8px;
  padding: 24px;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__box {
    border-radius: 1.8691588785vw;
    padding: 3.738317757vw 1.8691588785vw;
    margin: 0 0 9.3457943925vw;
  }
}
.sp-feature-article__box p {
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__box p {
    margin: 0 0 3.738317757vw;
  }
}
.sp-feature-article__box p:last-child {
  margin-bottom: 0;
}
.sp-feature-article__box-ttl {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 16px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__box-ttl {
    font-size: 3.738317757vw;
    margin: 0 0 3.738317757vw;
  }
}
.sp-feature-article__list {
  padding-left: 1.2em;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__list {
    margin: 0 0 6.5420560748vw;
  }
}
.sp-feature-article__list li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 8px;
  list-style: disc;
}
.sp-feature-article__list li::marker {
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__list li {
    font-size: 3.2710280374vw;
  }
}
.sp-feature-article a {
  text-decoration: underline;
}
.sp-feature-article__buttons {
  display: flex;
  gap: 16px;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__buttons {
    gap: 3.738317757vw;
    margin: 0 0 9.3457943925vw;
  }
}
.sp-feature-article a.sp-feature-article__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 44px;
  font-weight: 700;
  border-radius: 9999px;
  border: 1px solid rgba(0, 0, 0, 0.87);
  font-size: 14px;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.87);
  background: #fff;
}
@media screen and (max-width: 768px) {
  .sp-feature-article a.sp-feature-article__btn {
    min-width: 37.3831775701vw;
    width: 50%;
    height: 10.2803738318vw;
    font-size: 3.2710280374vw;
  }
}
.sp-feature-article a.sp-feature-article__btn--primary {
  background: rgba(0, 0, 0, 0.87);
  color: #fff;
}
.sp-feature-article a.sp-feature-article__btn--ghost {
  background: #fff;
  color: rgba(0, 0, 0, 0.87);
}
.sp-feature-article__back {
  margin-top: 40px;
  position: relative;
}
.sp-feature-article__back::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(-135deg);
  margin: auto;
}
@media screen and (max-width: 768px) {
  .sp-feature-article__back::after {
    left: 2.3364485981vw;
    width: 1.8691588785vw;
    height: 1.8691588785vw;
    border-top-width: 0.4672897196vw;
    border-right-width: 0.4672897196vw;
  }
}
@media screen and (max-width: 768px) {
  .sp-feature-article__back {
    margin-top: 9.3457943925vw;
  }
}

#header-banner {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #header-banner {
    margin: 9.3457943925vw calc(50% - 50vw) 5.6074766355vw;
    width: 100vw;
  }
  #header-banner img {
    border-radius: 0;
  }
}

#feature-group-items {
  margin-top: 80px;
  background-color: #f7eecb;
  padding: 24px;
}
@media screen and (max-width: 768px) {
  #feature-group-items .feature-item {
    width: 100%;
  }
}
#feature-group-items .feature-vari-cart-add {
  margin: 8px 0;
}

.add-set #dvUserBox h2.add-title__page {
  font-size: 32px;
  font-weight: bold !important;
  padding: 48px 0;
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserBox h2.add-title__page {
    font-size: 6.5420560748vw;
    padding: 9.3457943925vw 0 5.6074766355vw;
  }
}

.add-set #dvUserBox h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 0;
  padding: 16px 0;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserBox h3 {
    font-size: 4.2056074766vw;
    padding-bottom: 3.738317757vw;
  }
}

.add-set #dvUserBox h4 {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  padding-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserBox h4 {
    font-size: 3.738317757vw;
    padding-bottom: 3.738317757vw;
  }
}

.add-set #dvUserContents .unit.page-section,
.add-set #dvUserFltContents .unit.page-section {
  display: block;
  float: none;
  padding: 40px;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px;
  background: #fff;
  justify-content: space-between;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserContents .unit.page-section,
  .add-set #dvUserFltContents .unit.page-section {
    padding: 3.738317757vw 3.738317757vw;
  }
}
.add-set #dvUserContents .unit.page-section p,
.add-set #dvUserFltContents .unit.page-section p {
  margin-bottom: 24px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserContents .unit.page-section p,
  .add-set #dvUserFltContents .unit.page-section p {
    margin-bottom: 5.6074766355vw;
  }
}

.page-section .faq .info-section + .info-section {
  padding-top: 32px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page-section .faq .info-section + .info-section {
    padding-top: 5.6074766355vw;
  }
}
.page-section .faq .faq__item {
  background-color: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__item {
    border-radius: 1.8691588785vw;
    margin-bottom: 3.738317757vw;
  }
}
.page-section .faq .faq__label {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-right: 12px;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__label {
    width: 7.476635514vw;
    height: 7.476635514vw;
    margin-right: 2.8037383178vw;
    font-size: 3.738317757vw;
  }
}
.page-section .faq .faq__label--q {
  background-color: #f0f0f0;
}
.page-section .faq .faq__label--a {
  background-color: #f0f0f0;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__label--a {
    border-width: 0.4672897196vw;
  }
}
.page-section .faq .faq__q {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 16px 48px 16px 16px;
  font-weight: 700;
  user-select: none;
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.page-section .faq .faq__q::-webkit-details-marker {
  display: none;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__q {
    padding: 3.738317757vw 11.214953271vw 3.738317757vw 3.738317757vw;
  }
}
.page-section .faq .faq__q::before, .page-section .faq .faq__q::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 14px;
  height: 2px;
  background: #E82E34;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__q::before, .page-section .faq .faq__q::after {
    right: 3.738317757vw;
    width: 3.2710280374vw;
    height: 0.4672897196vw;
  }
}
.page-section .faq .faq__q::before {
  transform: translateY(-50%);
}
.page-section .faq .faq__q::after {
  transform: translateY(-50%) rotate(90deg);
}
.page-section .faq .faq__item[open] .faq__q::after {
  opacity: 0;
  transform: translateY(-50%) rotate(0deg);
}
.page-section .faq .faq__a-container {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}
.page-section .faq .faq__a {
  min-height: 0;
  overflow: hidden;
  padding: 0 16px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__a {
    padding: 0 3.738317757vw;
  }
}
.page-section .faq .faq__a .faq__a-content {
  padding: 0 0 16px 0;
}
@media screen and (min-width: 769px) {
  .page-section .faq .faq__a .faq__a-content {
    min-height: 48px;
  }
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__a .faq__a-content {
    padding: 0 0 3.738317757vw 0;
  }
}
.page-section .faq .faq__a .faq__a-content p {
  padding: 0 0 8px 0 !important;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__a .faq__a-content p {
    padding: 0 0 1.8691588785vw 0 !important;
  }
}
.page-section .faq .faq__a .faq__a-content p:last-child {
  padding: 0 0 0 !important;
}
@media screen and (max-width: 768px) {
  .page-section .faq .faq__a .faq__a-content p:last-child {
    padding: 0 0 0 !important;
  }
}
.page-section .company__list {
  display: grid;
  grid-template-columns: 220px 1fr;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .page-section .company__list {
    grid-template-columns: 1fr;
  }
}
.page-section .company__term {
  font-weight: bold;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 24px 0px;
  border-bottom: 1px solid #eee;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page-section .company__term {
    border-bottom: 0;
    padding: 3.738317757vw 0 0 0;
  }
  .page-section .company__term:first-child {
    padding: 0;
  }
}
.page-section .company__desc {
  margin: 0;
  padding: 24px 0px;
  border-bottom: 1px solid #eee;
  line-height: 1.5;
}
.page-section .company__desc a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .page-section .company__desc {
    padding: 1.8691588785vw 0 3.738317757vw 0;
  }
}
.page-section.privacy ul {
  padding-left: 1rem !important;
}
.page-section.privacy ul li {
  list-style: decimal !important;
  padding-bottom: 4px !important;
}
@media screen and (max-width: 768px) {
  .page-section.privacy ul li {
    padding-bottom: 0.9345794393vw !important;
  }
}
.page-section ul li {
  padding-bottom: 4px !important;
}
@media screen and (max-width: 768px) {
  .page-section ul li {
    padding-bottom: 0.9345794393vw !important;
  }
}

#dvUserBox .page-section.benefits .info-section {
  border-bottom: 1px solid #ddd;
  padding-bottom: 28px;
}
#dvUserBox .page-section.benefits .info-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #dvUserBox .page-section.benefits .info-section {
    padding-bottom: 2.8037383178vw;
  }
}
#dvUserBox .page-section.benefits .benefits__list {
  padding-left: 1.2em;
  margin: 0 0 8px;
}
@media screen and (max-width: 768px) {
  #dvUserBox .page-section.benefits .benefits__list {
    margin: 0 0 1.8691588785vw;
  }
}
#dvUserBox .page-section.benefits .benefits__list li {
  font-size: 14px;
  line-height: 1.4;
  padding-bottom: 8px;
  list-style: disc;
}
#dvUserBox .page-section.benefits .benefits__list li::marker {
  color: #E82E34;
}
@media screen and (max-width: 768px) {
  #dvUserBox .page-section.benefits .benefits__list li {
    font-size: 3.2710280374vw;
  }
}
#dvUserBox .page-section.benefits .benefits__detail {
  margin-top: 8px;
}
#dvUserBox .page-section.benefits .benefits__detail p {
  margin-bottom: 8px !important;
}
@media screen and (max-width: 768px) {
  #dvUserBox .page-section.benefits .benefits__detail p {
    margin-bottom: 1.8691588785vw !important;
  }
}

.faq__lead {
  line-height: 2;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .faq__lead {
    margin-bottom: 5.6074766355vw;
  }
}

#dvUserBox #dvUserModifyInput .dvUserInfo,
#dvUserBox #dvUserModifyConfirm .dvUserInfo {
  margin-bottom: 40px;
}

.add-set #dvUserContents .unit.page-section .info-section {
  margin-bottom: 40px;
}
.add-set #dvUserContents .unit.page-section .info-section:last-child {
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserContents .unit.page-section .info-section:last-child {
    margin-bottom: 0vw;
  }
}
@media screen and (max-width: 768px) {
  .add-set #dvUserContents .unit.page-section .info-section {
    margin-bottom: 5.6074766355vw;
  }
}
.add-set #dvUserContents .unit.page-section .info-section p {
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .add-set #dvUserContents .unit.page-section .info-section p {
    margin-bottom: 2.8037383178vw;
  }
}
.add-set #dvUserContents .unit.page-section .info-section strong {
  font-weight: bold;
}

.info-list {
  display: flex;
  flex-wrap: wrap;
  border-bottom: solid 1px #ddd;
}
@media screen and (min-width: 769px) {
  .info-list {
    margin: 0 0 40px 0;
    padding: 0 0 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .info-list {
    margin: 0 0 5.6074766355vw 0;
    padding: 0 0 1.8691588785vw 0;
  }
}
.info-list dt,
.info-list dd {
  display: flex;
  align-items: flex-start;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .info-list dt,
  .info-list dd {
    padding: 8px 0;
  }
}
@media screen and (max-width: 768px) {
  .info-list dt,
  .info-list dd {
    padding: 0vw 0vw;
  }
}
.info-list dt {
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .info-list dt {
    width: 20%;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 768px) {
  .info-list dt {
    width: 100%;
    padding-bottom: 1.8691588785vw;
  }
}
.info-list dd {
  margin-left: 0;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .info-list dd {
    width: 70%;
  }
}
@media screen and (max-width: 768px) {
  .info-list dd {
    width: 100%;
    padding-bottom: 3.738317757vw;
  }
}
.info-list dd a {
  color: inherit;
  text-decoration: underline;
}
.info-list dd a:hover {
  text-decoration: none;
}/*# sourceMappingURL=main.css.map */

/* =========================================================
   TOPページ(物件情報)
========================================================= */
.custom-estate {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: sans-serif;
  box-sizing: border-box;
}

.custom-estate__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.custom-estate__header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.custom-estate__icon img {
  width: 28px !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
}

.custom-estate__title {
  font-size: 22px;
  font-weight: bold;
  color: #333;
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.custom-estate__title-sub {
  font-size: 16px;
  font-weight: bold;
  color: #333;
}

.custom-estate__link-all {
  font-size: 14px;
  font-weight: bold;
  color: #e60012;
  text-decoration: none;
}

.custom-estate__link-all:hover {
  text-decoration: underline;
}

.custom-estate__slider {
  display: flex !important;
  gap: 24px;
  overflow-x: auto;
  padding-bottom: 16px;
}

.custom-estate-card {
  display: flex !important;
  width: 100% !important;
  min-width: 320px;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03);
  box-sizing: border-box;
}

.custom-estate-card__image {
  width: 40% !important;
  flex-shrink: 0;
  background-color: #f0f0f0;
  min-height: 240px;
  position: relative;
}

.custom-estate-card__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.custom-estate-card__image {
    position: relative !important;
}

.custom-estate-card__image-note {
    position: absolute !important;
    left: 10px !important;
    bottom: 8px !important;
    padding: 3px 7px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #666666 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    border-radius: 3px !important;
    z-index: 2 !important;
    white-space: nowrap !important;
}

/* カード右側ボディ */
.custom-estate-card__body {
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  box-sizing: border-box;
  text-align: left;
}

.custom-estate-card__name {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-top: 0;
  margin-bottom: 16px;
}

.custom-estate-card__badges-area {
  margin-bottom: 20px;
}

.custom-estate-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: bold;
}

.custom-estate-badge.is-on {
  background-color: #eaf6ea;
  color: #009944;
}

.custom-estate-badge.is-off {
  display: none !important;
}

/* 引渡日と説明文の調整 */
.custom-estate-card__date {
  font-size: 15px;
  font-weight: bold;
  color: #333;
  margin-top: 0;
  margin-bottom: 4px;
}

/* ①色を黒に ②余白を足して下に下げる */
.custom-estate-card__desc {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  line-height: 1.6;
  margin-top: 16px;
  margin-bottom: 20px;
}

.custom-estate-card__action {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
}

.custom-estate-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  background-color: #fff;
  transition: all 0.2s;
}

.custom-estate-btn:hover {
  background-color: #f9f9f9;
  border-color: #999;
}

.js-estate-slider {
  position: relative !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}

.js-estate-slider .slick-list {
  overflow: hidden !important;
}

.custom-estate-card__wrapper {
  padding: 0 8px !important;
  box-sizing: border-box !important;
}

/* 画像が画面幅（カード幅）に合わせて自動縮小するレスポンシブ対応 */
.custom-estate-card__image img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.custom-estate-card {
  margin: 0 !important; 
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* スライダー */
.estate-slider-btn {
  position: absolute !important;
  top: 40% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 32px !important;
  height: 32px !important;
  background-color: #fff !important; 
  border: 1px solid #999 !important; 
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* スライダー位置 */
.estate-slider-btn--prev { left: -4px !important; }
.estate-slider-btn--next { right: -4px !important; }

/* スライダーのアイコン */
.estate-slider-btn::before {
  content: '' !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 2px solid #999 !important; 
  border-right: 2px solid #999 !important; 
}
.estate-slider-btn--prev::before {
  transform: rotate(-135deg) !important;
  margin-left: 4px !important;
}
.estate-slider-btn--next::before {
  transform: rotate(45deg) !important;
  margin-right: 4px !important;
}

/* SP用レスポンシブ（767px以下） */
@media screen and (max-width: 767px) {
  .custom-estate__header {
    margin-bottom: 16px;
  }

  .custom-estate__icon img {
    width: 22px !important;
  }

  .custom-estate__title {
    font-size: 14px;
    gap: 4px;
  }

  .custom-estate__title-sub {
    font-size: 11px;
  }

  .custom-estate__link-all {
    font-size: 12px;
  }

  /* カード本体 */
  .custom-estate-card {
    flex-direction: column !important;
  }

  .custom-estate-card__image {
    width: 100% !important;
    height: 200px !important;
    min-height: auto;
  }
  
  /* テキストは左寄せに */
  .custom-estate-card__body {
    padding: 20px 16px;
    align-items: flex-start;
    text-align: left;
  }

  .custom-estate-card__name {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .custom-estate-card__badges-area {
    margin-bottom: 12px;
  }

  .custom-estate-badge {
    padding: 4px 10px;
    font-size: 12px;
  }
  
  .custom-estate-card__date {
    font-size: 13px;
    margin-bottom: 0;
  }

  .custom-estate-card__desc {
    display: block !important;
    font-size: 12px;
    margin-top: 12px;
    margin-bottom: 20px;
  }
  
  /* ボタン全幅化 */
  .custom-estate-card__action {
    display: block;
    width: 100%;
    margin-top: 0;
  }

  .custom-estate-btn {
    display: flex;
    width: 100%;
    height: 48px;
    padding: 0;
    font-size: 13px;
  }

  .js-estate-slider .slick-track { display: flex !important; align-items: stretch !important; }
  .js-estate-slider .slick-slide { height: auto !important; display: flex !important; float: none !important; }
  .js-estate-slider .slick-slide > div { display: flex; width: 100%; height: 100%; }
  .custom-estate-card__wrapper { 
    display: flex; 
    width: 100%; 
    height: 100%;
    padding: 0 4px !important; /* スマホ版の隙間微調整 */
  }
  .custom-estate-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }
  .custom-estate-card__body {
    flex-grow: 1 !important; 
    height: auto !important; 
    display: flex !important;
    flex-direction: column !important;
  }
  /* ボタンを常にカードの一番下に配置する */
  .custom-estate-card__action {
    margin-top: auto !important;
  }
}

/* =========================================================
   TOPページ(おすすめサービス)
========================================================= */
  .recommend-services {
    padding: 0px 20px;
    background-color: #fff;
    font-family: sans-serif;
  }
  .recommend-services .inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  .recommend-services .is-sp {
    display: none;
  }
  
  .recommend-services__title {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .recommend-services__title-sub {
    color: #e60012;
    font-size: 24px;
  }
  
  .recommend-services__container {
    display: flex;
    gap: 24px;
    align-items: stretch;
  }
  
  /* 左側メインエリア */
  .recommend-services__main {
    display: flex;
    flex: 1;
    gap: 20px;
  }

  /* メインカード共通設定 */
  .rec-card {
    display: flex;
    flex-direction: column;
    flex: 1; 
    width: 100%;
    padding: 32px 20px;
    border-radius: 12px;
    text-align: center;
    background-color: #f9f9f9;
    box-sizing: border-box;
    cursor: default;
  }
  .rec-card__subtitle {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 16px;
    min-height: 2.8em;
    line-height: 1.4;
    text-align: center;
    width: 100%;
  }
  .rec-card__title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 24px;
  }
  
  /* アイコン配置 */
  .rec-card__icons {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
  }
  .rec-card__ill {
    max-width: 160px;
    width: 100%;
    height: auto;
  }
  .rec-card__ill--iesapo {
    max-width: 100%;
  }

  /* PC表示での詳しく見るボタン設定 */
  .rec-card__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 48px;
    box-sizing: border-box;
    padding: 0;
    border-radius: 6px;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  /* ホバー */
  .rec-card__btn:hover {
    background-color: #c90010;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(230, 0, 18, 0.25);
  }

  /* クリック */
  .rec-card__btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(230, 0, 18, 0.2);
  }

  /* カラーバリエーション */
  .rec-card--red {
    background-color: #fff5f5;
    flex: 1.25;
  }

  .rec-card--red .rec-card__subtitle {
    color: #e60012;
  }

  .rec-card--red .rec-card__btn {
    background-color: #e60012;
  }

  .rec-card--green { background-color: #f5fbf5; }
  .rec-card--green .rec-card__subtitle { color: #009944; }
  .rec-card--green .rec-card__btn { background-color: #009944; }

  .rec-card--orange { background-color: #fffaf0; }
  .rec-card--orange .rec-card__subtitle { color: #f39800; }
  .rec-card--orange .rec-card__btn { background-color: #f39800; }

  /* 右側エリア */
  .recommend-services__sub {
    display: flex;
    flex-direction: column;
    width: 280px;
    gap: 16px;
  }
  .rec-sub-card {
    display: flex;
    align-items: center;
    padding: 24px 20px;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    background-color: #fff;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    height: 100%;
    box-sizing: border-box;
  }
  .rec-sub-card:hover:not(.rec-sub-card--disabled) {
    border-color: #ccc;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  }
  
  .rec-sub-card__icon {
    width: 40px;
    flex-shrink: 0;
    margin-right: 20px;
    background-color: transparent; 
  }
  .rec-sub-card__icon img {
    width: 100%;
    height: auto;
    background-color: transparent;
    mix-blend-mode: multiply; 
  }
  
  .rec-sub-card__icon--document img {
    filter: invert(37%) sepia(74%) saturate(3140%) hue-rotate(134deg) brightness(96%) contrast(101%);
  }
  .rec-sub-card__body {
    flex-grow: 1;
  }
  .rec-sub-card__title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
    margin-top: 0;
  }
  .rec-sub-card__desc {
    font-size: 13px;
    color: #666;
    margin: 0;
    line-height: 1.4;
  }
  .rec-sub-card__arrow {
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    margin-left: 16px;
  }
  .rec-sub-card--disabled {
    background-color: #f9f9f9;
    cursor: default;
  }
  .rec-sub-card--disabled .rec-sub-card__title,
  .rec-sub-card--disabled .rec-sub-card__desc {
    color: #999;
  }
  .rec-sub-card--disabled .rec-sub-card__icon {
    opacity: 0.4;
  }

  @media screen and (min-width: 769px) {
    .rec-card__subtitle {
      font-size: 11.5px !important;
      white-space: nowrap !important;
      letter-spacing: -0.02em;
    }
    .rec-card__title {
      font-size: 19px !important;
      white-space: nowrap !important;
      letter-spacing: -0.05em;
    }
  }
  @media screen and (max-width: 768px) {
    .rec-card__subtitle {
      height: 2em !important; 
      min-height: auto !important;
      display: block !important;
    }
  }
  /* ▼▼▼ SPレスポンシブ調整 ▼▼▼ */
  @media screen and (max-width: 768px) {
    .recommend-services .is-sp { display: block; }
    
    /* スマホ版タイトル */
    .recommend-services__title {
      flex-direction: row;
      align-items: baseline;   
      gap: 6px;
      font-size: 15px;         
    }
    .recommend-services__title-sub {
      font-size: 18px;
    }
    
    .recommend-services__container {
      flex-direction: column;
      gap: 16px;
    }
    
    .recommend-services__main {
      flex-direction:column;
      gap: 8px;            
      width: 100%;
    }
    
    .rec-card {
      flex: 1 !important;
      padding: 12px 4px; 
      min-width: 0; 
    }
    
    /* メインカードの文字チューニング */
    .rec-card__subtitle {
      min-height: 3.6em;        
      font-size: 13px;          
      line-height: 1.2;         
      letter-spacing: -0.5px;   
      margin-bottom: 8px;
    }
    .rec-card__title {
      font-size: 13px;          
      line-height: 1.3;
      letter-spacing: -0.5px;
      margin-bottom: 12px;
    }
    
    .rec-card__icons {
      margin-bottom: 12px;
      min-width: 0;
    }
    
    .rec-card__icons--iesapo {
      width: 100%;
      overflow: hidden;    
      display: flex;
      justify-content: center; 
    }
    .rec-card__ill--iesapo {
      width: 140px !important;
      min-width: 140px !important;
      max-width: 140px !important;
      flex-shrink: 0;
    }
    
    .rec-card__ill:not(.rec-card__ill--iesapo) {
      max-width: 100px;
    }
    
    .rec-card__btn {
      width: 100%; 
      height: 34px;           
      font-size: 11px;    
      letter-spacing: -0.5px; 
    }
    
    /* 右側エリア：スマホ時に3列横並び */
    .recommend-services__sub {
      width: 100%;
      margin-top: 8px;
      flex-direction:column;
      gap: 8px;            
    }
    .rec-sub-card {
      flex: 1;
      flex-direction: column; 
      padding: 16px 4px;
      text-align: center;
      justify-content: center;
    }
    .rec-sub-card__icon {
      margin-right: 0;
      margin-bottom: 8px;   
      width: 32px;          
    }
    .rec-sub-card__title {
      font-size:13px;     
      line-height: 1.3;
      margin-bottom: 0;
    }
    .rec-sub-card__desc {
      display: none !important;
    }
    .rec-sub-card__arrow {
      display: none !important;
    }
  }

/* =========================================================
   TOPページ(お知らせ)
========================================================= */
 .custom-news-card {
    font-family: sans-serif;
    padding: 20px;
  }
  .custom-news-card .inner {
    background-color: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 32px;
    max-width: 800px; 
    margin: 0 auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
  }
  .custom-news-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
  }
  .custom-news-card__title {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin: 0;
  }
  
  /* 「すべて見る >」を赤色にする */
  .custom-news-card__more,
  .custom-news-card__more .link-more__text {
    color: #e60012 !important; 
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: opacity 0.2s;
  }
  .custom-news-card__more:hover {
    opacity: 0.7;
  }
  
  /* サイト共通CSSの矢印アイコン（→）を消去する */
  .custom-news-card__more::after,
  .custom-news-card__more .link-more__text::after {
    display: none !important;
    content: none !important;
    background: none !important;
  }

  .custom-news-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 24px; 
  }
  
  .custom-news-card__item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    border-bottom: 1px solid #eaeaea; 
    padding-bottom: 16px;
    min-width: 0; 
  }
  .custom-news-card__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  
  .custom-news-card__date {
    font-size: 15px;
    color: #333;
    flex-shrink: 0;
    font-weight: bold;
    width: 95px; 
    padding-top: 2px;
  }
  
  /* 全体の外枠 */
  .custom-news-card__link {
    font-size: 15px;
    color: #333;
    flex-grow: 1;
    min-width: 0; 
  }

  /* 1つ目の要素（タイトル段落）の制御：折り返しを許可して全文表示する */
  .custom-news-card__link > *:first-child {
    display: block !important;         
    white-space: normal !important;
    word-break: break-word !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 1.5 !important;
  }

  /* 2つ目以降の要素（本文の段落すべて）を完全に画面から消去（非表示）にする */
  .custom-news-card__link > *:not(:first-child) {
    display: none !important;          
  }

  .custom-news-card__link a {
    color: #333;
    text-decoration: none;
  }
  .custom-news-card__link a:hover {
    text-decoration: underline;
  }

  /* SP用レスポンシブ */
  @media screen and (max-width: 768px) {
    .custom-news-card {
      padding: 16px;
    }
    .custom-news-card .inner {
      padding: 24px 16px;
    }
    .custom-news-card__title {
      font-size: 18px;
    }
    .custom-news-card__item {
      align-items: flex-start;
      flex-direction: column;
      gap: 8px;
      padding-bottom: 16px;
      border-bottom: 1px dashed #eaeaea; 
    }
    .custom-news-card__item:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .custom-news-card__date {
      font-size: 13px;
      color: #666;
      width: auto;
      padding-top: 0;
    }
    .custom-news-card__link {
      font-size: 14px;
      width: 100%; 
    }
  }

/* ========================================================
    TOPページ(本体)
======================================================== */
  .top-hero-banner {
    position: relative;
    width: 100%;
    height: 520px;
    margin-bottom: 40px;
    overflow: hidden;
  }
  .top-hero-banner__image-wrap {
    width: 100%;
  }
  .top-hero-banner__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
  }
  @media (max-width:767px){
      .top-hero-banner{
          height:auto;
          overflow:visible;
      }

      .top-hero-banner__img{
          width:100%;
          height:auto;
          display:block;
          object-fit:initial;
      }
  }
  /* 画像の上に100%のサイズで重なる透明な座布団 */
  .top-hero-banner__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center; /* 縦中央揃え */
  }
  .top-hero-banner__inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
  }
  /* 文字を左側に寄せるためのボックス */
  .top-hero-banner__text-box {
    max-width: 550px;
    width: 100%;
  }
  .top-hero-banner__title {
    font-size: 36px;
    font-weight: bold;
    color: #333333;
    line-height: 1.4;
    margin: 0 0 24px 0;
    letter-spacing: -0.02em;
  }
  .top-hero-banner__title-highlight {
    color: #e60012; /* 24時間365日を赤文字に */
  }
  .top-hero-banner__lead {
    font-size: 16px;
    color: #333333;
    line-height: 1.6;
    margin: 0 0 40px 0;
    font-weight: 500;
  }
  .top-hero-banner__actions {
    display: flex;
    gap: 16px;
  }
  /* ボタンの共通デザイン（完全な角丸のピル型） */
  .top-hero-banner__btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 240px;
    height: 50px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s;
    position: relative;
  }
  /* 赤いボタン */
  .top-hero-banner__btn--red {
    background-color: #e60012;
    color: #ffffff;
    border: 1px solid #e60012;
  }

  /* ホバー時 */
  .top-hero-banner__btn--red:hover {
    background-color: #c90010;
    border-color: #c90010;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(230, 0, 18, 0.25);
  }

  /* クリック時 */
  .top-hero-banner__btn--red:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(230, 0, 18, 0.2);
  }

  /* 白抜きボタン */
  .top-hero-banner__btn--outline {
    background-color: #ffffff;
    color: #333333;
    border: 1px solid #333333;
  }
  .top-hero-banner__btn--outline:hover {
    background-color: #333333;
    color: #ffffff;
  }
  .top-hero-banner__btn .btn-arrow {
    font-size: 14px;
    margin-left: 4px;
  }

  /* --- ベース・コンテナ --- */
  .top-new-sections {
    font-family: sans-serif;
    padding: 40px 20px;
    background-color: transparent; 
  }
  .top-new-sections .inner {
    max-width: 1200px;
    margin: 0 auto;
  }

  /* --- おすすめオプション --- */
.top-option {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    border: 1px solid #eaeaea;
}
.top-option__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.top-option__title {
    margin: 0;
    padding: 0;
    font-size: 24px;
    line-height: 1.4;
    font-weight: bold;
    color: #222;
}
.top-option__title-main {
    display: inline;
}

.top-option__title-sub {
    display: inline;
    margin-left: 8px;
    color: #e51717;
}
.top-option__more {
    color: #e51717;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
}
  .top-option__more:hover {
    opacity: 0.7;
  }
  
  .top-option__tabs {
    display: flex;
    gap: 24px;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 24px;
    list-style: none;
    padding: 0;
  }
  .top-option__tab {
    padding-bottom: 12px;
    font-size: 15px;
    font-weight: bold;
    color: #e60012;
    position: relative;
  }
  .top-option__tab::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #e60012;
  }

  .top-option__list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
  }
  .top-option__item {
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    position: relative;
    background: #fff;
  }
  .top-option__item-badge {
    position: absolute;
    top: 0;
    left: 0;
    background: #f39800;
    color: #fff;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 8px 0 8px 0;
    font-weight: bold;
    z-index: 2;
  }
.top-option__thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    object-position: center center;
    border-radius: 4px;
    margin-bottom: 12px;
}
  .top-option__name {
    font-size: 13px;
    font-weight: bold;
    color: #333;
    /* margin-bottom: 12px;
    min-height: 2.8em; */
    margin-bottom: 4px;
    min-height: auto;
  }
  .top-option__btn {
    display: block;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 6px;
    color: #333;
    text-decoration: none;
    font-size: 11px;
    font-weight: bold;
    transition: background-color 0.2s;
  }
  .top-option__btn:hover {
    background-color: #f5f5f5;
  }

  /* --- 下部3カラムエリア --- */
  .top-three-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    width: 100%;
  }
  .top-three-columns > * {
    min-width: 0;
  }
  
  .top-col-card {
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: 100%;
  }
  .top-col-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }
  .top-col-card__title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin: 0;
  }

  @media screen and (max-width: 768px) {
  .top-option__list {
      gap: 6px !important; /* カード同士の隙間を狭くする */
    }
    .top-option__item {
      padding: 6px !important; /* カード内側の余白を狭くする */
    }
    .top-option__item-badge {
      padding: 2px 4px !important;
      font-size: 9px !important;
    }
    .top-option__name {
      font-size: 10px !important;
      /* margin-bottom: 6px !important; */
      letter-spacing: -0.5px;
      margin-bottom: 4px !important;
      min-height: auto !important;
    }
    .top-option__btn {
      padding: 4px !important;
      font-size: 10px !important;
    }
  }

  /* --- 次回点検予定 --- */
  .top-col-card--inspection {
    border: 1px solid #cde4d5; 
    background-color: #f6fbf8;
  }
  .top-col-card__title--inspection {
    color: #006633; 
  }
  .top-inspection-layout {
    display: flex;
    align-items: flex-start; /* アイコンを上揃えに変更 */
    gap: 16px;
    margin-bottom: 16px;
  }
  .top-inspection-icon {
    width: 44px; /* アイコンサイズを少し調整 */
    flex-shrink: 0;
  }
  .top-inspection-icon img {
    width: 100%;
    height: auto;
    filter: invert(22%) sepia(83%) saturate(2206%) hue-rotate(141deg) brightness(93%) contrast(101%);
  }
  .top-inspection-texts {
    flex-grow: 1;
    min-width: 0;
  }
  /* ▼ 追加: ラベルと値のグループ化 ▼ */
  .top-inspection-info-group {
    margin-bottom: 12px;
  }
  .top-inspection-info-group:last-child {
    margin-bottom: 0;
  }
  .top-inspection-label {
    display: block;
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
  }
  .top-inspection-date {
    display: block;
    font-size: 24px;
    font-weight: bold;
    color: #006633;
  }
  .top-inspection-prop {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #006633;
  }

  .top-inspection-desc {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
  }

  .top-col-card__btn--inspection {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 1px solid #006633;
    background-color: #006633;
    color: #ffffff;
    border-radius: 50px;
    padding: 14px 20px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    margin-top: auto;
    transition: all 0.2s;
  }

  .top-col-card__btn--inspection:hover {
    background-color: #006633;
    color: #ffffff;
  }

  .top-col-card__btn--inspection .btn-arrow {
    position: absolute;
    right: 20px;
    font-size: 16px;
    font-weight: bold;
  }

@media screen and (max-width: 768px) {
    .top-col-card--inspection {
        padding: 20px !important;
    }

    .top-col-card__header {
        margin-bottom: 16px;
    }

    .top-col-card__title--inspection {
        font-size: 18px !important;
        line-height: 1.5 !important;
    }

    .top-inspection-layout {
        display: flex;
        align-items: flex-start;
        gap: 14px;
    }

    .top-inspection-icon {
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
    }

    .top-inspection-icon img {
        display: block;
        width: 100%;
        height: auto;
    }

    .top-inspection-texts {
        flex: 1;
        min-width: 0;
    }

    .top-inspection-info-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 12px;
    }

    .top-inspection-info-group:last-child {
        margin-bottom: 0;
    }

    .top-inspection-label {
        margin-bottom: 3px;
        font-size: 12px;
        line-height: 1.4;
        color: #666;
    }

    .top-inspection-date,
    .top-inspection-prop {
        font-size: 15px;
        line-height: 1.5;
        font-weight: bold;
        color: #222;
        word-break: break-word;
    }

    .top-inspection-desc {
        margin: 16px 0 !important;
        font-size: 12px !important;
        line-height: 1.6 !important;
        color: #555 !important;
    }

    .top-col-card__btn--inspection {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 100% !important;
        min-height: 46px;
        padding: 10px 42px 10px 20px;
        box-sizing: border-box;
        border-radius: 50px;
        font-size: 14px;
        line-height: 1.4;
        font-weight: bold;
        text-align: center;
    }

    .top-col-card__btn--inspection .btn-arrow {
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
    }
}

  /* --- オーナー様の声 --- */
  .top-voice__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .top-voice__item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }
  .top-voice__icon {
      width: 40px !important;
      height: 40px !important;
      min-width: 40px !important;
      min-height: 40px !important;
      border-radius: 50% !important;
      background-color: #eee;
      flex-shrink: 0;
      object-fit: cover !important;
      object-position: center center !important;
      display: block !important;
  }
  .top-voice__text {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    margin: 0 0 4px 0;
  }
  .top-voice__attr {
    font-size: 11px;
    color: #666;
    margin: 0;
  }

/* --- ★修正② お知らせパーツの横幅爆発防止と強制改行・5行制限 --- */
  .top-news-wrapper {
    height: 100%;
    min-width: 0;
    width: 100%;
  }
  .top-news-wrapper .custom-news-card {
    padding: 0 !important;
    height: 100%;
    min-width: 0 !important;
    width: 100% !important;
  }
  .top-news-wrapper .custom-news-card .inner {
    border: 1px solid #eaeaea !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .top-news-wrapper .custom-news-card__list {
    flex-grow: 1;
    min-width: 0;
    width: 100%;
  }
  .top-news-wrapper .custom-news-card__item {
    min-width: 0;
    width: 100%;
  }
  
  /* ▼▼▼ 修正：リンクの枠自体に5行制限をかける（タグ無しテキスト対応） ▼▼▼ */
  .top-news-wrapper .custom-news-card__link {
    min-width: 0;
    flex-grow: 1;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    line-clamp: 5 !important;
    overflow: hidden !important;        
    word-break: break-all !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    line-height: 1.5 !important;
  }
  
  /* タグが存在する場合も考慮して、1つ目のタグにも同様の制限をかける */
  .top-news-wrapper .custom-news-card__link > *:first-child {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    line-clamp: 5 !important;
    overflow: hidden !important;        
    word-break: break-all !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  /* 念のため、タイトル以外の本文（2つ目以降の要素）は確実に非表示にする */
  .top-news-wrapper .custom-news-card__link > *:not(:first-child) {
    display: none !important;
  }

  /* お知らせを最新3件に絞る */
  .top-news-wrapper .custom-news-card__item:nth-child(n+4) {
    display: none !important;
  }

 /* --- SPレスポンシブ --- */
  @media screen and (max-width: 768px) {
    /* --- スマホ版の文字・ボタンの重なり微調整 --- */
    .top-hero-banner {
      margin-bottom: 24px;
    }
    .top-hero-banner__content {
      align-items: center; /* ★修正：上端寄せ(flex-start)をやめ、自動で縦中央揃え(center)にする */
      padding-top: 0;      /* ★修正：天井から押し下げる余計なpaddingを削除 */
    }
    .top-hero-banner__inner {
      padding: 0 24px;
    }
    .top-hero-banner__text-box {
      max-width: 100%;
      margin-top: 20px;
    }
    .top-hero-banner__title {
      font-size: 24px; /* ★見本画像に合わせて少し大きく強調 */
      margin-bottom: 12px;
      line-height: 1.4;
    }
    .top-hero-banner__lead {
      font-size: 14px;
      margin-bottom: 24px; /* ボタンとの間隔を最適化 */
    }
    .top-hero-banner__actions {
      flex-direction: column;
      gap: 12px;
      width: 100%;
      margin-top: 120px;
    }
    .top-hero-banner__btn {
      width: 100%;
      height: 50px; /* 見本画像に合わせてボタンを少し太く押しやすく */
      font-size: 14px;
    }
    .pc-only {
      display: none !important;
    }

    /* ▼▼▼ おすすめオプションのヘッダー調整（前回修正したまま変更なし） ▼▼▼ */
    .top-option__header {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
    }

    .top-option__title {
      font-size: 11px;
    }

    .top-option__more {
      font-size: 11px;
      align-self: flex-end;
    }

    .top-option__tab {
      font-size: 11px;
    }

    .top-option__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .top-option__item:nth-child(n+3) {
      display: none; 
    }

    /* ★ ここだけ余白修正 */
    .top-option__name {
      font-size: 11px;
      min-height: auto !important;
      margin-bottom: 4px !important;
    }

    .top-option__thumb {
      margin-bottom: 8px;
      height: auto !important;
      aspect-ratio: 16 / 9;
    }

    .top-three-columns {
      grid-template-columns: 1fr; 
    }

    .top-col-card {
      height: auto;
    }

    .top-news-wrapper .custom-news-card .inner {
      height: auto;
    }
    .top-new-sections .inner {
      display: grid;
      grid-template-columns: 1fr;
      grid-auto-rows: auto;
      gap: 24px;
    }
    .top-three-columns {
      display: contents;
    }
    .top-option {
        height: auto !important;
        min-height: 0 !important;
        align-self: start !important;
        border-radius: 10px !important;
        padding: 24px 20px !important;
    }
    .top-option__header {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 16px;
    }
    .top-option__title {
        margin: 0;
        font-size: 20px;
        line-height: 1.5;
    }
    .top-option__title-main {
        display: block;
        font-size: 15px;
    }

    .top-option__title-sub {
        display: block;
        font-size: 18px;
        margin: 0;
        color: #e51717;
    }
    .top-option__more {
        margin-top: 12px;
        font-size: 12px;
    }
    .top-option__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    /* ★ ここだけ余白修正 */
    .top-option__item {
      display: flex !important;
      flex-direction: column !important;
      height: auto !important;
    }

    .top-option__item:nth-child(n+3) {
      display: none !important;
    }

    .top-option__btn {
      margin-top: 8px !important;
    }
}

.add-mypage__banner-inquiry {
    display: inline-block;
    margin-top: 16px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.add-mypage__banner-inquiry:hover {
    color: #c91414 !important;
    text-decoration: underline !important;
}
@media screen and (max-width: 768px) {
    .add-mypage__banner-inquiry {
        margin-top: 16px;
        font-size: 13px;
    }
}

/* =========================================================
   アフター問い合わせバナー
   ========================================================= */
.top-contact-banner {
    width: 100%;
    height: 180px;
    margin-top: 24px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.top-contact-banner__image {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center center;
}

.top-contact-banner__content {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 40px;
    width: calc(100% - 80px);
    transform: translateY(-50%);
}

.top-contact-banner__content h3 {
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-size: 20px;
    line-height: 1.4;
    font-weight: bold;
    color: #222;
}

.top-contact-banner__content p {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
}

.top-contact-banner__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 265px !important;
    height: 44px !important;
    min-width: 265px !important;
    max-width: 265px !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 42px 0 24px !important;
    box-sizing: border-box !important;
    border: 1px solid #ed1c24 !important;
    border-radius: 50px !important;
    background-color: #ed1c24 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    transition: opacity 0.2s ease;
}

.top-contact-banner__btn span {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.top-contact-banner__btn .btn-arrow {
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}

.top-contact-banner__btn:hover {
    opacity: 0.85;
    color: #fff !important;
}

.sp-only {
    display: none;
}

@media screen and (max-width: 768px) {
    .top-contact-banner {
        position: relative;
        width: 100%;
        height: 190px;
        margin-top: 16px;
        border-radius: 8px;
        overflow: hidden;
    }

    .top-contact-banner__image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: right center !important;
        margin-left: 15% !important;
    }

    .top-contact-banner::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: rgba(255, 255, 255, 0.45);
        pointer-events: none;
    }

    .top-contact-banner__content {
        position: absolute;
        z-index: 2;
        top: 50%;
        left: 24px;
        right: 24px;
        width: auto;
        transform: translateY(-50%);
        text-align: left;
    }

    .top-contact-banner__content h3 {
        max-width: 300px;
        margin: 0 0 8px !important;
        padding: 0 !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
        font-weight: bold !important;
        color: #222 !important;
    }

    .top-contact-banner__content p {
        max-width: 300px;
        margin: 0 0 14px !important;
        padding: 0 !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        color: #333 !important;
    }

    .sp-only {
        display: inline;
    }

    .top-contact-banner__btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        width: 100% !important;
        height: 44px !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 42px 0 24px !important;
        box-sizing: border-box !important;
        border: 1px solid #ed1c24 !important;
        border-radius: 50px !important;
        background-color: #ed1c24 !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: bold !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .top-contact-banner__btn span {
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .top-contact-banner__btn .btn-arrow {
        position: absolute !important;
        right: 18px !important;
        top: 50% !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
        font-size: 16px !important;
        font-weight: bold !important;
        line-height: 1 !important;
    }

    .top-contact-banner__btn:hover {
        opacity: 1;
        color: #fff !important;
    }
}

/* ========================================================
    TOPページ(ヘッダー)
======================================================== */
  html, body, #Wrap, #WrapBottom, #WrapTop, #Contents, #divTopArea, form {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  
  /* 固定ヘッダーの高さ分だけ、bodyに正確な余白を設ける */
  body {
    padding-top: 100px !important; /* PCヘッダーの高さ */
  }

  @media screen and (max-width: 900px) {
    body {
      padding-top: 70px !important; /* SPヘッダーの高さ */
    }
  }

  .header--new {
    background-color: #ffffff;
    border-top: 1px solid #eaeaea; 
    border-bottom: 1px solid #eaeaea;
    position: fixed; /* 上部固定（スクロール追従） */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    font-family: sans-serif;
  }

  .header__inner {
    width: 100%; 
    margin: 0 auto;
    padding: 0 25px; 
    box-sizing: border-box;
    height: 100px; 
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* --- 左側（ロゴとナビゲーション） --- */
  .header__left {
    display: flex;
    align-items: center;
    gap: 64px; 
    height: 100%;
  }

  /* --- ロゴ (top-logo.svg) --- */
  .header__brand {
    height: 100%;
  }
  .header__brand .header__logo {
    margin: 0;
    display: flex;
    align-items: center;
    height: 100%;
  }
  .header__brand .header__logo a {
    display: flex;
    align-items: center;
    height: 100%;
  }
  .header__brand .header__logo-img {
    height: 70%; 
    width: auto;
    display: block;
  }

  /* --- 中央ナビゲーション (PC) --- */
  .header__main-nav {
    height: 100%;
  }
  .header__main-nav > ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
  }
  .header__main-nav > ul > li {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%; 
  }
  .header__main-nav > ul > li > a {
    font-size: 15px; 
    font-weight: bold;
    color: #333;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 0 32px; 
    height: 100%; 
    transition: all 0.2s;
  }
  .header__main-nav > ul > li > a:hover {
    color: #e60012;
    background-color: #f5f5f5; 
  }
  
  /* 矢印（ドロップダウンを持つ要素のみ） */
  .header__main-nav .has-dropdown > a::after {
    content: '';
    display: block; 
    width: 7px;
    height: 7px;
    border: solid currentColor;
    border-width: 0 2px 2px 0; 
    transform: translateY(-2px) rotate(45deg); 
    margin-left: 8px; 
    transition: transform 0.2s;
  }
  .header__main-nav .has-dropdown:hover > a::after {
    transform: translateY(2px) rotate(225deg); 
  }

  /* --- ドロップダウン（メガメニュー） --- */
  .header__dropdown {
    position: absolute;
    top: 100px; 
    left: 0; 
    transform: none; 
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    border: 1px solid #eaeaea;
    border-radius: 4px;
    padding: 0; 
    overflow: hidden; 
    display: none; 
    width: max-content;
  }
  .header__main-nav .has-dropdown:hover .header__dropdown {
    display: block;
    animation: fadeIn 0.2s ease;
  }
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  
  .header__dropdown-inner {
    display: flex;
    align-items: stretch; 
  }
  
  .dropdown-item {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: #333;
    padding: 24px; 
    border-right: 1px solid #eaeaea;
    transition: all 0.2s;
  }
  .dropdown-item:last-child {
    border-right: none;
  }
  .dropdown-item:hover {
    color: #e60012;
    background-color: #f5f5f5; 
  }
  
  .dropdown-icon {
    width: 32px;
    height: 32px;
    min-width: 32px; 
    flex-shrink: 0;  
    display: block;
  }
  
  .dropdown-text {
    display: flex;
    flex-direction: column;
  }
  .dropdown-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 4px;
    transition: color 0.2s;
  }
  .dropdown-desc {
    font-size: 10px;
    color: #666;
  }
  .dropdown-item::after {
    content: '>';
    margin-left: 12px;
    font-size: 14px;
    font-weight: bold;
    color: #333;
  }

  /* --- 右側ユーティリティ --- */
  .header__utils {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 100%;
  }
  
  /* ポイント表示とユーザー情報 */
  .header__point-box,
  .header__user-box {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 4px; 
    height: 52px; 
    padding: 0 16px;
    box-sizing: border-box;
    gap: 10px;
  }
  
  .header__point-box .p-icon {
    color: #e60012;
    border: 1px solid #e60012;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    min-width: 22px; 
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 12px;
  }
  .header__point-box .p-texts {
    display: flex;
    flex-direction: column;
  }
  .header__point-box .p-val {
    font-size: 14px;
    font-weight: bold;
    color: #333;
  }
  .header__point-box .p-lbl {
    font-size: 9px;
    color: #666;
  }
  
  .header__user-box .u-icon {
    width: 22px;
    height: 22px;
    min-width: 22px; 
    flex-shrink: 0;
    display: block;
  }
  .header__user-box .u-texts {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .header__user-box .u-name {
    font-size: 16px; 
    font-weight: bold;
    color: #333;
  }

  /* マイページ / メニューボタン */
  .header__menu-btn {
    background-color: #e60012;
    color: #ffffff;
    border-radius: 8px; 
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.2s;
    margin-left: 8px; 
  }
  .header__menu-btn:hover {
    background-color: #cc0010;
  }
  .header__menu-btn.is-active {
    background-color: #fff;
    border: 1px solid #eaeaea;
    color: #333;
  }
  .header__menu-btn .menu-trigger {
    width: 20px;
    height: 14px;
    position: relative;
  }
  .header__menu-btn .menu-trigger span {
    background-color: currentColor;
    position: absolute;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    transition: all 0.3s;
  }
  .header__menu-btn .menu-trigger span:nth-child(1) { top: 0; }
  .header__menu-btn .menu-trigger span:nth-child(2) { top: 6px; }
  .header__menu-btn .menu-trigger span:nth-child(3) { bottom: 0; }
  
  .header__menu-btn.is-active .menu-trigger span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .header__menu-btn.is-active .menu-trigger span:nth-child(2) {
    opacity: 0;
  }
  .header__menu-btn.is-active .menu-trigger span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .header__menu-btn .menu-text {
    font-size: 9px;
    font-weight: bold;
    margin-top: 6px;
  }
  .header__menu-btn.is-active .menu-text {
    display: none; 
  }

  /* --- サイドドロワーメニュー (PC/SP共通) --- */
  .drawer-menu {
    position: absolute; 
    top: 100%; 
    right: -100vw; 
    width: 360px;
    height: calc(100vh - 100px);
    height: calc(100dvh - 100px);
    background-color: #fff;
    box-shadow: -4px 0 12px rgba(0,0,0,0.05);
    transition: right 0.3s ease;
    z-index: 999;
    overflow-y: auto;
    overscroll-behavior: contain; 
  }
  .drawer-menu.is-open {
    right: 0;
  }
  .drawer-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .drawer-item {
    border-bottom: 1px solid #eaeaea;
  }
  .drawer-item__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    background: #fff;
    transition: all 0.2s;
  }
  .drawer-item__trigger:hover {
    background-color: #f5f5f5;
    color: #e60012;
  }
  .drawer-item__trigger-left {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  
  .drawer-item__trigger-left img,
  .drawer-item__trigger-left svg {
    width: 20px;
    height: 20px;
    min-width: 20px; 
    flex-shrink: 0;  
    display: block;
  }
  
  .drawer-item__icon-arrow {
    width: 10px;
    height: 10px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: rotate(45deg);
    transition: transform 0.3s;
  }
  .drawer-item.is-open .drawer-item__icon-arrow {
    transform: rotate(-135deg);
  }
  
  /* アコーディオン中身 */
  .drawer-item__content {
    display: none;
    background-color: #ffffff;
    padding: 0 0 16px 0; 
  }
  .drawer-item__content ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .drawer-item__content li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 24px 12px 56px; 
    font-size: 13px;
    color: #333;
    text-decoration: none;
    transition: all 0.2s;
  }
  .drawer-item__content li a:hover {
    color: #e60012;
    background-color: #f5f5f5;
  }
  
  /* 非活性用スタイル (キャンペーン用) */
  .drawer-item__content li a.is-disabled {
    color: #cccccc;
    pointer-events: none;
  }
  .drawer-item__content li a.is-disabled::after {
    border-right-color: #cccccc;
    border-top-color: #cccccc;
  }
  
  .drawer-item__content li a::after {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #999;
    border-top: 2px solid #999;
    transform: rotate(45deg);
    margin-right: 2px;
  }

  .drawer-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    display: none;
    z-index: 998;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .drawer-overlay.is-open {
    display: block;
    opacity: 1;
  }

  a.header__user-box:hover {
    background-color: #f5f5f5;
    transition: background-color 0.2s;
  }

  a.header__point-box:hover {
    background-color: #f5f5f5;
    transition: background-color 0.2s;
  }

  /* --- SPレスポンシブ --- */
  .sp-only { display: none; }
  @media screen and (max-width: 1300px) {
    .header__left { gap: 40px; }
    .header__main-nav > ul > li > a { padding: 0 24px; }
    .header__point-box, .header__user-box { padding: 0 12px; }
    .header__utils { gap: 12px; }
  }
  @media screen and (max-width: 1200px) {
    .header__left {
      gap: 12px;
    }
    .header__main-nav > ul > li > a {
      padding: 0 12px;
    }
    .header__point-box,
    .header__user-box {
      padding: 0 8px;
    }
  }
  @media screen and (max-width: 1100px) {
    .header__inner {
      padding: 0 10px; 
    }
    .header__brand .header__logo-img {
      height: 55%;
    }
    .header__left {
      gap: 8px; 
    }
    .header__main-nav > ul > li > a {
      padding: 0 6px; 
      font-size: 12px;
    }
    .header__utils {
      gap: 6px; 
    }
    .header__point-box,
    .header__user-box {
      padding: 0 4px; 
      gap: 4px;
    }
    .header__point-box .p-lbl {
      display: none;
    }
    .header__point-box .p-val,
    .header__user-box .u-name {
      font-size: 12px;
    }
    .header__menu-btn {
      width: 50px;
      height: 50px;
    }
  }
  @media screen and (max-width: 900px) {
    .pc-only { display: none !important; }
    .sp-only { display: block; }
    
    .header__inner {
      height: 70px; 
      padding: 0 12px; 
    }
    
    .header__brand .header__logo-img { 
      height: 48px; 
      max-width: none; 
    }
    
    .header__utils {
      gap: 6px; 
    }

    .header__point-box, .header__user-box {
      height: 34px; 
      padding: 0 6px;
      gap: 4px;
    }
    .header__point-box .p-icon { width: 14px; height: 14px; min-width: 14px; font-size: 9px; }
    .header__point-box .p-val { font-size: 11px; }
    .header__point-box .p-lbl { display: none; } 
    
    .header__user-box .u-icon { width: 14px; height: 14px; min-width: 14px; }
    .header__user-box .u-name { font-size: 10px; } 

    .header__menu-btn {
      width: 34px;
      height: 34px;
      margin-left: 2px;
      border-radius: 4px;
    }
    .header__menu-btn .menu-trigger { 
      width: 16px; 
      height: 10px; 
    }
    .header__menu-btn .menu-trigger span:nth-child(1) { top: 0px; }
    .header__menu-btn .menu-trigger span:nth-child(2) { top: 4px; }
    .header__menu-btn .menu-trigger span:nth-child(3) { top: 8px; }

    .header__menu-btn.is-active .menu-trigger span:nth-child(1) { transform: translateY(4px) rotate(45deg); }
    .header__menu-btn.is-active .menu-trigger span:nth-child(3) { transform: translateY(-4px) rotate(-45deg); }

    .header__menu-btn .menu-text { display: none; } 
    
    .drawer-menu {
      width: 100%;
      height: calc(100vh - 70px);
      height: calc(100dvh - 70px);
    }
  }
  @media screen and (max-width: 767px) {
    a.header__user-box[href*="CartList"] .u-texts,
    a.header__point-box .p-texts {
      display: none !important;
    }
    a.header__user-box[href*="CartList"],
    a.header__point-box {
      justify-content: center !important;
      align-items: center !important;
      width: 34px !important;
      padding: 0 !important;
      gap: 0 !important;
    }
    a.header__point-box .p-icon {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      line-height: 1 !important;
      padding-top: 1px !important;
      margin: 0 !important;
    }
    a.header__user-box[href*="CartList"] .u-icon {
      margin: 0 !important;
    }
  }
/* =========================================================
   TOPページ(フッター)
========================================================= */
  .new-footer {
    background-color: #ffffff; /* ① 外側の背景をグレーから白に変更 */
    padding: 40px 20px;
    font-family: sans-serif;
  }
  @media screen and (max-width: 767px) {
    .new-footer {
      padding: 10px 16px;
    }
  }

  .new-footer__inner {
    background-color: #ffffff;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 8px;
    padding: 20px;
  }
  @media screen and (max-width: 767px) {
    .new-footer__inner {
      padding: 10px 16px;
    }
  }

  .new-footer__nav {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 32px;
  }
  @media screen and (max-width: 767px) {
    .new-footer__nav {
      flex-direction: column;
      align-items: stretch;
      border-bottom: none;
      padding-bottom: 0;
      margin-bottom: 24px;
    }
  }

  .new-footer__nav li {
    position: relative;
  }
  @media screen and (min-width: 768px) {
    .new-footer__nav li {
      padding: 0 40px;
    }
    /* PC: リンク間の縦線 */
    .new-footer__nav li:not(:last-child):after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 1px;
      height: 16px;
      background-color: #eaeaea;
    }
  }
  @media screen and (max-width: 767px) {
    /* SP: リンク間の横線 */
    .new-footer__nav li {
      border-bottom: 1px solid #eaeaea;
    }
  }

  .new-footer__nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    transition: opacity 0.2s;
  }
  @media screen and (max-width: 767px) {
    .new-footer__nav a {
      justify-content: space-between;
      padding: 16px 8px;
    }
  }
  .new-footer__nav a:hover {
    opacity: 0.7;
  }
  /* 右側の赤い矢印（>） */
  .new-footer__nav a:after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #e60012;
    border-right: 2px solid #e60012;
    transform: rotate(45deg);
    margin-left: 16px;
  }
  @media screen and (max-width: 767px) {
    .new-footer__nav a:after {
      margin-left: 0;
    }
  }

  .new-footer__copy {
    display: block;
    text-align: center;
    color: #666;
    font-size: 12px;
  }

/* =========================================================
    物件情報一覧
========================================================= */
  .user-property-list-page {
    font-family: sans-serif;
  }

  /* タイトル・ヘッダーエリア */
  .add-mypage__header-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
  }
  .add-mypage__title-common {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin: 0;
    line-height: 1.2;
  }
  .add-mypage__title-icon {
    display: inline-block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
  }
  .add-mypage__sub-title-common {
    font-size: 14px;
    color: #666;
    margin: 0 0 0 48px;
  }

  /* 件数表示 */
  .property-count {
    font-size: 14px;
    font-weight: bold;
    color: #666;
    margin-bottom: 24px;
  }
  .property-count__num {
    color: #e60012;
    font-size: 18px;
  }

  /* カードリスト全体 */
  .property-card-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  /* 個別カード */
  .property-card {
    display: flex;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 16px;
    color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
  }
  @media screen and (max-width: 767px) {
    .property-card {
      flex-direction: column;
      padding: 0;
      overflow: hidden;
      position: relative;
    }
  }

  /* 画像エリア */
  .property-card__image-area {
    position: relative;
    width: 280px;
    flex-shrink: 0;
    margin-right: 24px;
  }
  @media screen and (max-width: 767px) {
    .property-card__image-area {
      width: 100%;
      margin-right: 0;
    }
  }
  .property-card__img {
    width: 100%;
    height: auto;           /* 固定高さを解除してレスポンシブ対応 */
    aspect-ratio: 14 / 9;  /* 画面幅に合わせて常に14:9を維持 */
    object-fit: cover;
    border-radius: 8px;
    display: block;
  }
  @media screen and (max-width: 767px) {
    .property-card__img {
      border-radius: 0;
    }
  }
  /* 加入中バッジ */
  .property-card__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #fff;
    color: #e60012;
    border: 1px solid #ffcccc;
    font-size: 11px;
    font-weight: bold;
    padding: 4px 12px;
    border-radius: 20px;
    z-index: 1;
  }
  .property-card__badge.is-hidden {
    display: none !important;
  }

  /* 未加入バッジのデザイン */
	.service-unsubscribed-badge {
		display: inline-block;
		background-color: #F0F0F0;
		color: #777777;
		font-size: 11px;
		font-weight: bold;
		padding: 2px 8px;
		border-radius: 4px;
		margin-left: auto;
		line-height: 1.5;
	}

	/* 【加入済み】の場合：未加入バッジを非表示にする */
	.property-card__service-list li.is-subscribed .service-unsubscribed-badge {
		display: none;
	}

	/* 【未加入】の場合：チェックマークを非表示にする */
	.property-card__service-list li:not(.is-subscribed) .service-check-icon {
		display: none;
	}

	/* 折りたたみボタン（他X件 / 閉じる）の中央揃え */
	.property-card__service-more {
		justify-content: center;
		text-align: center;
		width: 100%;
	}

  /* 物件情報エリア */
  .property-card__info-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 24px;
    border-right: none;
  }
  @media screen and (max-width: 767px) {
    .property-card__info-area {
      padding: 20px 16px;
      border-bottom: 1px dashed #eaeaea;
    }
  }
  .property-card__info-row {
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
  }
  .property-card__label {
    font-size: 11px;
    color: #888;
    margin-bottom: 4px;
    font-weight: normal;
  }
  .property-card__value {
    font-size: 15px;
  }
  .property-card__value--red {
    color: #e60012;
    font-weight: bold;
    font-size: 18px;
  }
  .property-card__value--bold {
    font-weight: bold;
    font-size: 18px;
  }
  .property-card__value--bold a {
      position: relative !important;
      display: inline-block !important;
      color: #333333 !important;
      text-decoration: none !important;
      font-weight: inherit !important;
  }

  .property-card__value--bold a::after {
      content: "" !important;
      display: block !important;
      width: 70% !important;
      height: 2px !important;
      margin-top: 4px !important;
      background-color: #4f9d69 !important;
      opacity: 0.8 !important;
      transition: width 0.2s ease, opacity 0.2s ease !important;
  }

  .property-card__value--bold a:hover {
      color: #4f9d69 !important;
  }

  .property-card__value--bold a:hover::after {
      width: 100% !important;
      opacity: 1 !important;
  }
  
  /* 間に薄く線をいれる */
  .property-card__dates {
    display: flex;
    gap: 32px;
    margin-top: auto;
    border-top: 1px solid #eaeaea;
    padding-top: 16px;
  }
  .property-card__date-col {
    display: flex;
    flex-direction: column;
  }
  .property-card__dates .property-card__value {
    font-weight: bold;
  }

  /* サービスエリア */
  .property-card__service-area {
    width: 240px;
    flex-shrink: 0;
    padding-left: 24px;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 767px) {
    .property-card__service-area {
      width: 100%;
      padding: 16px;
    }
  }
  .property-card__service-inner {
    flex: 1;
    background: #fafafa;
    border-radius: 8px;
    padding: 24px 20px;
  }

  /* 「加入中のサービス」の文言 */
  .property-card__service-inner .property-card__label {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    margin-bottom: 12px;
    display: block;
    white-space: nowrap;
  }

  .property-card__service-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  /* サポート名 */
  .property-card__service-list li {
    font-size: 13px;
    font-weight: normal;
    color: #aaa;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    white-space: nowrap;
  }
  .service-name-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
  }

  /* 未加入のサービスを非表示にするクラス */
  .property-card__service-list li.is-not-subscribed {
    display: none !important;
  }

  /* アイコンサイズ */
  .service-icon {
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex-shrink: 0;
    color: currentColor; 
  }
  .service-check-icon {
    display: none;
    width: 16px;
    height: 16px;
    color: #008000;
    flex-shrink: 0;
  }

  /* サービスアイテム（加入中） */
  .property-card__service-list li.is-subscribed {
    color: #333;
  }
  .property-card__service-list li.is-subscribed .service-check-icon {
    display: block;
  }

  /* アコーディオン機能（JSで折りたたみ制御） */
  .property-card__service-list:not(.is-expanded) li.is-hidden {
    display: none !important;
  }
  
  /* 「他〇件」の表示ボタン */
  .property-card__service-more {
    font-size: 13px;
    color: #666;
    margin: 16px 0 0 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    background: transparent;
    padding: 0;
    white-space: nowrap;
  }
  .arrow-down {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: rotate(45deg);
    margin-bottom: 2px;
  }
  .arrow-up {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #666;
    border-left: 2px solid #666;
    transform: rotate(45deg);
    margin-top: 4px;
  }

  /* 右端の矢印アイコン（クリック判定箇所） */
  .property-card__arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #eaeaea;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    flex-shrink: 0;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s;
    cursor: pointer;
  }
  .property-card__arrow:hover {
    background-color: #f5f5f5;
    border-color: #ccc;
  }
  .property-card__arrow::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    margin-right: 2px;
  }
  .property-card__arrow--pc {
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .property-card__arrow--pc {
      display: none;
    }
  }
  .property-card__arrow--sp {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .property-card__arrow--sp {
      display: flex;
      position: absolute;
      top: 50%;
      right: 16px;
      transform: translateY(-50%);
      background: rgba(255,255,255,0.9);
      z-index: 2;
    }
  }

  /* お問い合わせバナー */
  .property-contact-banner {
    display: flex;
    align-items: center;
    background: #fff5f5;
    border-radius: 12px;
    padding: 24px 32px;
    margin-top: 48px;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner {
      flex-direction: column;
      padding: 24px 16px;
      text-align: center;
    }
  }
  .property-contact-banner__img {
    width: 80px;
    flex-shrink: 0;
    margin-right: 24px;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner__img {
      margin-right: 0;
      margin-bottom: 16px;
    }
  }
  .property-contact-banner__img img {
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
  }
  .property-contact-banner__text {
    flex: 1;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner__text {
      margin-bottom: 24px;
    }
  }
  .property-contact-banner__title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin: 0 0 8px 0;
  }
  .property-contact-banner__desc {
    font-size: 13px;
    color: #666;
    margin: 0;
  }
  .property-contact-banner__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e60012;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    padding: 14px 24px;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.2s;
    gap: 8px;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner__btn {
      width: 100%;
    }
  }
  .property-contact-banner__btn:hover {
    background: #cc0010;
    color: #fff;
  }
  .contact-btn-icon {
    width: 24px;
    height: 24px;
  }

  /* =========================================================
    物件情報詳細
  ========================================================= */
  .user-property-detail-page {
    font-family: sans-serif;
    color: #333;
    max-width: 946px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }

  /* --- 画面タイトル・ヘッダーエリア --- */
  .add-mypage__header-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
  }
  .add-mypage__title-common {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin: 0;
    line-height: 1.2;
  }
  .add-mypage__title-icon {
    display: inline-block;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
  }
  .add-mypage__sub-title-common {
    font-size: 14px;
    color: #666;
    margin: 0 0 0 48px;
  }

  /* --- セクション共通（トップ・サービス・基本情報） --- */
  #dvOrderHistoryDetail {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }
  .detail-section {
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
    width: 100%;
    box-sizing: border-box;
  }
	.detail-section__icon {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
		color: #e60012 !important;
		display: block !important;
		flex-shrink: 0 !important;
	}
	.basic-info-row .value {
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
	}
  @media screen and (max-width: 767px) {
    .detail-section {
      padding: 24px 16px;
    }
  }
  .detail-section__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
  }
 
  .detail-section__title {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
  }
	.detail-section__icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
	}
  .detail-top-card {
    display: flex;
    gap: 32px;
  }
  @media screen and (max-width: 767px) {
    .detail-top-card {
      flex-direction: column;
      gap: 16px;
    }
  }
  .detail-top-card__image-area {
    position: relative;
    width: 360px;
    flex-shrink: 0;
  }
  @media screen and (max-width: 767px) {
    .detail-top-card__image-area {
      width: 100%;
    }
  }
  .detail-top-card__img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
  }
  .detail-top-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #fff;
    color: #e60012;
    border: 1px solid #ffcccc;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 12px;
    border-radius: 20px;
  }
  .detail-top-card__badge.is-hidden {
    display: none !important;
  }

  .detail-top-card__info-area {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  .detail-top-card__label {
    font-size: 12px;
    color: #888;
    margin-bottom: 4px;
  }
  .detail-top-card__value--red {
    color: #e60012;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 12px;
  }
  .detail-top-card__value--bold {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 24px;
  }

  .detail-top-card__dates {
    display: flex;
    gap: 40px;
    margin-bottom: 24px;
  }
  @media screen and (max-width: 767px) {
    .detail-top-card__dates {
      gap: 24px;
      justify-content: flex-start;
    }
  }
  .detail-top-card__date-col {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .detail-top-card__date-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex-shrink: 0;
    color: #333;
  }
  .detail-top-card__date-texts {
    display: flex;
    flex-direction: column;
  }
  .detail-top-card__date-label {
    font-size: 10px;
    color: #888;
  }
  .detail-top-card__date-val {
    font-size: 14px;
    font-weight: bold;
  }

  .detail-top-card__print-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 24px;
    border: 1px solid #ccc;
    border-radius: 30px;
    background: #fff;
    color: #333;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    align-self: flex-start;
    transition: background 0.2s;
    -webkit-appearance: none;
    appearance: none;
  }
  @media (hover: hover) {
    .detail-top-card__print-btn:hover {
      background: #f5f5f5;
    }
  }
  @media screen and (max-width: 767px) {
    .detail-top-card__print-btn {
      width: 100%;
    }
  }

  /* --- 加入中のサービスエリア --- */
  .service-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 1fr;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  @media screen and (max-width: 767px) {
    .service-cards-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }
  }
  .service-card-item {
    background: #fafafa;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 32px 16px 24px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%;
    box-sizing: border-box;
  }
  .service-card-item.is-hidden {
    display: none !important;
  }
  
  .service-card-item__title {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 11px;
    font-weight: bold;
    color: #333;
    margin-bottom: 4px;
  }
  .service-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex-shrink: 0;
    color: #333;
  }
  
  .service-card-item__dates-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding-left: 16px; 
    gap: 4px;
    margin-top: 12px;
    margin-bottom: 16px;
    box-sizing: border-box;
  }
  @media screen and (max-width: 767px) {
    .service-card-item__dates-wrap {
      padding-left: 8px;
    }
  }
  .service-card-item__date {
    font-size: 11px;
    color: #666;
    line-height: 1.4;
    text-align: left;
  }

  .service-card-item__badge {
    background: #fff;
    border: 1px solid #009944;
    color: #009944;
    font-size: 11px;
    font-weight: bold;
    padding: 4px 20px;
    border-radius: 20px;
    display: inline-block;
    margin-top: auto;
  }
  .service-card-item__badge.is-hidden {
    display: none !important;
  }

	.service-card-item__badge--unsubscribed {
		background-color: #F0F0F0 !important;
		color: #777777 !important;
		border-color: #F0F0F0 !important;
	}

	.is-hidden {
		display: none !important;
	}
  
  /* 「他4件を見る」スライダーボタン */
  .service-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
  }
  .service-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 40px;
    border: 1px solid #ccc;
    border-radius: 30px;
    background: #fff;
    font-size: 13px;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    transition: background 0.2s;
    -webkit-appearance: none;
    appearance: none;
  }
  @media (hover: hover) {
    .service-more-btn:hover {
      background: #f5f5f5;
    }
  }

  /* --- 基本情報エリア --- */
  .basic-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
  }
  @media screen and (max-width: 767px) {
    .basic-info-grid {
      grid-template-columns: 1fr;
      gap: 0;
    }
  }
  .basic-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding: 16px 0;
  }
  .basic-info-row .label {
    font-size: 13px;
    color: #666;
    width: 40%;
    flex-shrink: 0;
  }
  .basic-info-row .value {
    font-size: 13px;
    font-weight: bold;
    color: #333;
    width: 60%;
    text-align: right;
    word-break: break-all;
  }
  
  .is-more-item {
    display: none !important;
  }
  .is-more-item.is-visible {
    display: flex !important;
  }

  .basic-info-toggle-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
  }
  .basic-info-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 40px;
    border: 1px solid #ccc;
    border-radius: 30px;
    background: #fff;
    color: #333;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
    -webkit-appearance: none;
    appearance: none;
  }
  @media (hover: hover) {
    .basic-info-toggle-btn:hover {
      background: #f5f5f5;
    }
  }

  .arrow-down {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    margin-bottom: 2px;
  }
  .arrow-up {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-left: 2px solid #333;
    transform: rotate(45deg);
    margin-top: 4px;
  }

  /* --- お問い合わせバナー --- */
  .property-contact-banner {
    display: flex;
    align-items: center;
    background: #fff5f5;
    border-radius: 12px;
    padding: 24px 32px;
    width: 100%;
    box-sizing: border-box;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner {
      flex-direction: column;
      padding: 24px 16px;
      text-align: center;
    }
  }
  .property-contact-banner__img {
    width: 80px;
    flex-shrink: 0;
    margin-right: 24px;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner__img {
      margin-right: 0;
      margin-bottom: 16px;
    }
  }
  .property-contact-banner__img img {
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
  }
  .property-contact-banner__text {
    flex: 1;
    min-width: 0;
  }
  .property-contact-banner__title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin: 0 0 8px 0;
    white-space: nowrap;
  }
  .property-contact-banner__desc {
    font-size: 13px;
    color: #666;
    margin: 0;
    white-space: nowrap;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner__title {
      font-size: clamp(13px, 4vw, 18px);
      white-space: normal !important;
    }
    .property-contact-banner__desc {
      font-size: clamp(11px, 3.2vw, 13px);
      white-space: normal !important;
    }
  }
  .property-contact-banner__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e60012;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    padding: 14px 24px;
    border-radius: 30px;
    text-decoration: none;
    transition: background 0.2s;
    gap: 8px;
  }
  @media screen and (max-width: 767px) {
    .property-contact-banner__btn {
      width: 100%;
    }
  }
  @media (hover: hover) {
    .property-contact-banner__btn:hover {
      background: #cc0010;
      color: #fff;
    }
  }
  .contact-btn-icon {
    width: 24px;
    height: 24px;
  }

  /* --- 戻るボタン --- */
  .detail-back-action {
    display: flex;
    justify-content: center;
    margin-top: 16px;
    margin-bottom: 40px;
  }
  .detail-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 40px;
    border: 1px solid #ccc;
    border-radius: 30px;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    transition: background 0.2s;
    width: 200px;
    -webkit-appearance: none;
    appearance: none;
  }
  @media (hover: hover) {
    .detail-back-btn:hover {
      background: #f5f5f5;
    }
  }

/* =========================================================
  契約情報
========================================================= */
  .orderBtr {
    border: 1px solid #ccc;
    padding: 0;
    margin-bottom: 15px !important;
  }
  .orderHistoryList {
    margin-top: 0 !important;
  }

  .user-agreement-list-page {
    font-family: sans-serif;
  }

  /* --- カード全体のレイアウト --- */
  .agreement-card {
    display: flex;
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 16px;
    color: #333333;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
    gap: 5px;
    position: relative;
    box-sizing: border-box;
  }

  .agreement-card__left {
    flex-shrink: 0;
    display: flex;
    flex-direction: row; 
    align-items: center; 
    gap: 15px; 
  }

  .agreement-card__image-area {
    position: relative;
    width: 280px; 
    flex-shrink: 0;
  }

  .agreement-card__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #fff;
    color: #e60012;
    border: 1px solid #ffcccc;
    font-size: 11px;
    font-weight: bold;
    padding: 4px 12px;
    border-radius: 20px;
    z-index: 1;
  }

  .agreement-card__image-area img.property-card__img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
  }

  .agreement-card__basic-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 220px; 
    flex-shrink: 0;
  }
  .agreement-card__info-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .agreement-card__label {
    font-size: 11px;
    color: #888888;
    font-weight: normal;
  }
  .agreement-card__value {
    font-size: 13px;
    color: #333333;
    font-weight: bold;
    min-height: 1.5em; 
  }
  .agreement-card__value--red {
    color: #e60012;
    font-size: 18px;
  }
  .agreement-card__value--bold {
    font-size: 18px;
  }

  /* --- 右側（詳細情報グリッド） --- */
  .agreement-card__right {
    flex: 1;
    display: flex;
    align-items: center; 
    border-left: 1px solid #f0f0f0; 
    padding-left: 5px;
  }

  .agreement-card__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px 5px;
    width: 100%;
  }

  .agreement-card__grid-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .agreement-card__grid-item:nth-child(-n+4) {
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 16px;
    margin-bottom: 8px;
  }

  .agreement-card__info-row--sp-handover,
  .sp-agreement-more-wrap {
      display: none;
  }

  /* --- スマホ版（SP）レスポンシブ --- */
  @media screen and (max-width: 767px) {
    .agreement-card {
      flex-direction: column;
      padding: 0;
      gap: 0;
      overflow: hidden; 
    }

    .agreement-card__left {
      width: 100%;
      flex-direction: column; 
      padding: 0;
      box-sizing: border-box;
      gap: 0;
    }

    .agreement-card__image-area {
      width: 100%;
      margin-bottom: 0;
    }

    .agreement-card__image-area img.property-card__img {
      height: auto;
      aspect-ratio: 16 / 9;
      border-radius: 0;
    }
    
    /* スマホ時のテキストエリア余白 */
    .agreement-card__basic-info {
      width: 100%;
      padding: 20px 16px;
      box-sizing: border-box;
      border-bottom: 1px dashed #eaeaea;
    }

    .agreement-card__right {
      padding: 16px 16px 24px;
      border-left: none; 
    }

    .agreement-card__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }

    /* SP時はボーダー位置をリセットし、奇数行（1,2行目と3,4行目）の下にボーダーを引く */
    .agreement-card__grid-item:nth-child(-n+4) {
      border-bottom: none;
      padding-bottom: 0;
      margin-bottom: 0;
    }
    
    .agreement-card__grid-item:nth-child(1),
    .agreement-card__grid-item:nth-child(2),
    .agreement-card__grid-item:nth-child(3),
    .agreement-card__grid-item:nth-child(4) {
      border-bottom: 1px dashed #eaeaea;
      padding-bottom: 12px;
      margin-bottom: 8px;
    }
    .agreement-card__grid {
        grid-template-columns: repeat(12, 1fr) !important;
    }
    .agreement-card__grid-item:nth-child(-n+4) {
        grid-column: span 3 !important;
    }
    .agreement-card__grid-item:nth-child(n+5):nth-child(-n+7) {
        grid-column: span 4 !important;
    }
    .agreement-card__grid-item:nth-child(8) {
        display: none !important;
    }
    .agreement-card__info-row--sp-handover {
        display: flex;
    }
    .sp-agreement-more-wrap {
        display: flex;
        margin-top: 16px;
        margin-bottom: 24px;
    }
    .agreement-card__grid-item--pc-handover {
        display: none !important;
    }
    .agreement-card__right.js-agreement-detail:not(.is-expanded) {
        display: none !important;
    }
    .agreement-card__right.js-agreement-detail.is-expanded {
        display: flex !important;
        padding-bottom: 0;
    }
    .agreement-card {
        padding-bottom: 0;
    }
  }

/* ==========================================================================
   住まいのトラブルバナーの調整（Parts900FAT_002.ascx）
   ========================================================================== */
#divTopArea #dvUserBox .add-main__wrapper {
    width: 100% !important;
    max-width: 1200px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}
#divTopArea #dvUserBox .add-main__wrapper .add-mypage__banner-club {
    background-color: #ffffff !important;
}
@media screen and (max-width: 767px) {
    #divTopArea #dvUserBox .add-main__wrapper {
        padding: 0 20px !important;
    }
}

/* =========================================================
  ページャーの「前」「次」テキストをサイト全体で非表示
========================================================= */
.add-pager__wrapper .add-back a,
.add-pager__wrapper .add-next a,
.add-pager__wrapper .add-back span,
.add-pager__wrapper .add-next span {
    color: transparent !important;
    font-size: 0 !important;
}


/* =========================================================
   特集ページ画像のトリミング調整（中央で切り抜き）
========================================================= */

/* 1. トップページ（BodyFeaturePageList.ascx）のスライダー画像用 */
.top-feature-card__thumb img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 2. 特集一覧ページ（FeaturePageList.aspx）のサムネイル画像用 */
.Feature-pagelist__feature-thumb img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    display: block;
}

.feature-grid-list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr)!important;
  gap: 24px !important;
  width: 100% !important;
}

.feature-grid-item {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: #333333;
  height: 100%;
  transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.feature-grid-item:hover {
  opacity: 0.85;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.feature-grid-thumb {
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f5f5;
}

.feature-grid-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.feature-grid-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-grid-title {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .feature-grid-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 3.738317757vw !important;
  }
  .feature-grid-item {
    border-radius: 1.8691588785vw;
    border-width: 0.2336448598vw;
  }
  .feature-grid-body {
    padding: 2.8037383178vw;
  }
  .feature-grid-title {
    font-size: 3.0373831776vw;
  }
}
