@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

body.add-set {
  width: 100%;
  color: #333;
  min-width: 1220px;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  body.add-set {
    min-width: auto;
  }
}
@media screen and (max-width: 767px) {
  body.add-set.menu-open {
    overflow-y: hidden;
  }
}
body.add-set.modal-open {
  overflow-y: hidden;
}
body.add-set.modal-open .header {
  display: none;
}

#primary {
  width: 100%;
  padding: 0;
  margin: 0;
}

a {
  color: #333;
  transition: 0.2s linear;
}
a:hover {
  color: #333;
  opacity: 0.7;
}
a:visited {
  color: #333;
}
a:active {
  color: #707070;
}
a.link {
  text-decoration: underline;
}

input[type=radio] {
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #333;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #333;
  content: "";
}

input[type=checkbox] {
  width: 100%;
  position: relative;
  width: 20px;
  height: 20px;
  border: 2px solid #333;
  border-radius: 4px;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=checkbox]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 6px;
  height: 9px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  content: "";
}

input[type=textarea],
input[type=select] {
  width: 100%;
  border: 1px solid #333;
  border-radius: 4px;
  padding: 8px;
}

.add-set .common-container {
  width: 1220px;
  padding-left: 40px;
  padding-right: 40px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .add-set .common-container {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media screen and (min-width: 768px) {
  .add-set .common-container__column {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .add-set .common-container__column .side {
    width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .add-set .common-container__column .side {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
  }
}
@media screen and (max-width: 767px) {
  .add-set .common-container__column .side.active {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .add-set .common-container__column .side.active::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
  }
}
@media screen and (max-width: 767px) {
  .add-set .common-container__column .side .modal-body {
    width: calc(100% - 32px);
    max-height: 85vh;
    border-radius: 8px;
    padding: 24px 16px;
    background: #fff;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    overflow-y: auto;
  }
}
@media screen and (min-width: 768px) {
  .add-set .common-container__column .side .modal-close {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .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: 6;
  }
  .add-set .common-container__column .side .modal-close::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .add-set .common-container__column .side .modal-close::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
.add-set .common-container__column .main {
  flex: 1;
}

.heading {
  font-size: 24px;
  font-weight: bold;
  margin: 120px 0 16px;
}
@media screen and (max-width: 767px) {
  .heading {
    font-size: 20px;
    margin-top: 80px;
  }
}

#dvProductDetailArea h2.heading {
  font-size: 24px;
  font-weight: bold;
  margin: 80px 0 16px;
}
@media screen and (max-width: 767px) {
  #dvProductDetailArea h2.heading {
    font-size: 20px;
    margin-top: 56px;
  }
}

.tab__btn-wrap {
  display: flex;
  margin: 40px 0;
}
.tab__btn {
  font-size: 16px;
  color: #707070;
  border-bottom: 1px solid #ddd;
  padding: 0 24px 12px;
}
.tab__btn.is-active {
  font-weight: bold;
  color: #333;
  border-bottom: 1px solid #333;
}

.common-slider .slide-arrow {
  width: 48px;
  height: 48px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 1;
}
.common-slider .prev-arrow {
  left: 24px;
}
.common-slider .prev-arrow::after {
  content: "";
  width: 12px;
  height: 12px;
  border-bottom: 3px solid #707070;
  border-left: 3px solid #707070;
  position: absolute;
  left: 19px;
  top: 17px;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .common-slider .prev-arrow {
    left: calc(50% - 100px);
  }
}
.common-slider .next-arrow {
  right: 24px;
}
.common-slider .next-arrow::after {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 3px solid #707070;
  border-right: 3px solid #707070;
  position: absolute;
  right: 19px;
  top: 17px;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .common-slider .next-arrow {
    right: calc(50% - 100px);
  }
}
.common-slider .slick-dots {
  bottom: -32px;
}
.common-slider .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 6px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .common-slider .slick-dots li {
    width: 8px;
    height: 8px;
    margin: 0 3px;
  }
}
.common-slider .slick-dots li.slick-active {
  background: rgba(0, 0, 0, 0.5);
}
.common-slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
.common-slider .slick-dots li button::before {
  font-size: 0;
  line-height: 0;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  content: "";
  opacity: 1;
}

.btn-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  margin-top: 40px;
}

.btn {
  min-width: 160px;
  border-radius: 4px;
  padding: 8px 24px;
}
.btn--secondary {
  background: #FFF;
  color: #fff !important;
}
.btn--secondary:hover {
  background: #FFF;
  color: #fff !important;
  opacity: 0.7;
}

.accordion-trigger {
  display: inline-block;
  cursor: pointer;
  transition: 0.2s;
}
.accordion-trigger:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.accordion-trigger::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.accordion-trigger.is-active::after {
  transform: translateY(-20%) rotate(-135deg);
}

.accordion-content {
  display: none;
}

#dvCheckList .productCheckList {
  float: none;
  margin: 0;
}

#dvCheckList .productCheckList ul {
  width: 100%;
}

#dvCheckList .productCheckList ul li {
  margin: 4px 0;
}

#dvCheckList .productCheckList ul li.thumnail a {
  display: inline-block;
  line-height: 1;
}

#dvCheckList .productCheckList ul li.thumnail img {
  width: 100%;
}

#dvCheckList .productCheckList ul li.thumnail .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;
}

.list-product {
  display: grid;
  gap: 40px 24px;
}
@media screen and (max-width: 767px) {
  .list-product {
    gap: 16px;
  }
}
.list-product__col3-2 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col3-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.list-product__col4-2 {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col4-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.list-product__col5-2 {
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col5-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.list-product__col6-2 {
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col6-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.list-product__col3-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col3-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.list-product__col4-3 {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col4-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.list-product__col5-3 {
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 767px) {
  .list-product__col5-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.list-product__col6-3 {
  grid-template-columns: repeat(6, 1fr);
  gap: 24px 16px;
}
@media screen and (max-width: 767px) {
  .list-product__col6-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 8px;
  }
}
.list-product .thumb {
  position: relative;
  line-height: 1;
}
.list-product .thumb a {
  display: inline-block;
}
.list-product .thumb img {
  width: 100%;
  margin: 0 auto;
}
.list-product .thumb .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;
}
.list-product .icon {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.list-product .icon img {
  height: 22px;
}
.list-product .productName,
.list-product .name {
  font-size: 14px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 8px;
}
.list-product .productPrice,
.list-product .price {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 8px;
}
.list-product .productPrice .tax,
.list-product .price .tax {
  font-size: 12px;
}
.list-product .productPrice .teiki,
.list-product .price .teiki {
  font-size: 14px;
}
.list-product .sale {
  color: #C5412D;
}
.list-product__icon {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 14px;
}
.list-product__icon img {
  height: 22px;
}
.list-product .rank {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 8px;
}

#breadcrumb {
  margin: 32px 0;
}
@media screen and (max-width: 767px) {
  #breadcrumb {
    font-size: 12px;
    margin: 16px 0;
    overflow-x: auto;
  }
}
#breadcrumb ul {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #breadcrumb ul {
    flex-wrap: nowrap;
    width: fit-content;
  }
}
#breadcrumb ul li {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #breadcrumb ul li a {
    white-space: nowrap;
  }
}

#Head {
  background-color: #fff;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 20px 40px;
  background: #fff;
  border-bottom: 1px solid #ddd;
  gap: 40px;
  transition: 0.5s;
  z-index: 9;
}
@media screen and (max-width: 767px) {
  .header {
    padding: 16px 8px;
    gap: 8px;
    justify-content: space-between;
  }
}
.header.hide {
  top: -100%;
  transition: 1s;
}
.header__logo img {
  width: 88px;
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: 170px;
  }
}
.header__logo a {
  display: inline-block;
}
.header__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .header__nav {
    flex: none;
  }
}
.header__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
}
@media screen and (max-width: 767px) {
  .header__menu {
    display: none;
  }
}
.header__menu .has-child {
  position: relative;
  padding-right: 16px;
  cursor: pointer;
}
.header__menu .has-child::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #707070;
  border-bottom: 2px solid #707070;
  position: absolute;
  right: 0;
  top: 3px;
  transform: rotate(45deg);
}
.header__menu .has-child.is-active::after {
  top: 7px;
  transform: rotate(-135deg);
}
.header__menu-child {
  display: none;
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 100%;
  background-color: #f0f0f0;
  padding: 64px 0;
  z-index: 9;
}
@media screen and (max-width: 767px) {
  .header__menu-child {
    position: static;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-child .common-container {
    padding: 0;
  }
}
.header__item {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 768px) {
  .header__item {
    gap: 16px 40px;
  }
}
.header__item > li {
  border-bottom: 1px solid #ccc;
}
.header__item a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
}
.header__item a span {
  flex: 1;
}
.header__utility {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .header__utility {
    gap: 8px;
  }
}
@media screen and (min-width: 768px) {
  .header__utility .search {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header__utility img {
    width: 32px;
  }
}
@media screen and (max-width: 767px) {
  .header__search {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header .hamburger-menu {
    display: none;
  }
}

#HeadSearch {
  position: relative;
  width: 240px;
  height: auto;
  padding: 0;
  float: none;
}
@media screen and (max-width: 767px) {
  #HeadSearch {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    width: 100%;
    padding: 16px;
    background: #fff;
  }
}

#HeadSearch .wrapSearch,
#HeadSearch .textBox {
  width: 100%;
}

#HeadSearch .textBox input {
  width: 100%;
  font-size: 14px;
  color: #333;
  background-color: #f0f0f0;
  border-radius: 4px;
  padding: 12px 10px;
}

#HeadSearch .textBox input::-webkit-input-placeholder {
  color: #999;
}

#HeadSearch .btnSearch {
  width: auto;
  line-height: 0;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  #HeadSearch .btnSearch {
    right: 16px;
  }
}

#HeadSearch .btnSearch a {
  display: inline-block;
}

#HeadSearch .btnSearch a img {
  width: 36px;
}

#HeadCartView {
  width: auto;
  height: auto;
  float: none;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  #HeadCartView img {
    width: 20px;
  }
}
#HeadCartView .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #C5412D;
  font-size: 11px;
  color: #fff;
  position: absolute;
  top: -6px;
  right: -8px;
}
#HeadCartView .menu {
  position: absolute;
  top: calc(100% + 16px);
  right: 0;
  background-color: #f0f0f0;
  border-radius: 8px;
  min-width: 220px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #HeadCartView .menu {
    display: none !important;
  }
}
#HeadCartView .dvMiniCart {
  background: none;
}

#HeadCartView > a {
  height: auto;
  line-height: 1;
}

.dvMiniCart {
  border-radius: 8px;
  padding: 8px;
}
.dvMiniCart .miniCart {
  display: flex;
  gap: 16px;
  margin: 16px 0;
}
.dvMiniCart .miniCart__img {
  width: 30%;
}
.dvMiniCart .miniCart__text {
  flex: 1;
}

.dvMiniCart ul li.productInfo .productName,
.dvMiniCart ul li.productInfo .productPrice {
  float: none;
  display: block;
  width: 200px;
  margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
  .hamburger-menu .menu-trigger {
    position: relative;
    width: 32px;
    height: 32px;
  }
  .hamburger-menu .menu-trigger span {
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: #333;
    position: absolute;
  }
  .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;
    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;
  }
  .hamburger-menu .menu-content .header__menu > li a {
    display: block;
    padding: 12px 16px;
  }
  .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 + 8px);
    width: 40px;
    height: 40px;
    background-color: #333;
    border-radius: 50%;
    z-index: 3;
  }
  .hamburger-menu .menu-close::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .hamburger-menu .menu-close::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .hamburger-menu .menu-close.open {
    display: block;
  }
  .hamburger-menu .btn-wrap {
    padding: 32px 16px;
    margin-top: 0;
  }
  .hamburger-menu .header__menu {
    border-top: 1px solid #ddd;
  }
  .hamburger-menu .header__menu .has-child {
    display: block;
    width: 100%;
    padding: 12px 16px;
  }
  .hamburger-menu .header__menu .has-child::after {
    top: 18px;
    right: 16px;
  }
  .hamburger-menu .header__menu .has-child.is-active::after {
    top: 20px;
  }
  .hamburger-menu .header__item {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
  .hamburger-menu .header__item > li {
    border-bottom: none;
    border-top: 1px solid #ddd;
  }
  .hamburger-menu .header__item a {
    gap: 8px;
    padding: 8px 16px;
  }
  .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;
  }
  .hamburger-menu .header__category-list a:not(.header__category-parent) {
    padding-left: 56px;
  }
  .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;
  }
  .hamburger-menu .menu-content__list li {
    border-bottom: 1px solid #333;
    padding: 0 16px;
  }
  .hamburger-menu .menu-content__list li a {
    display: block;
    font-size: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
#Foot {
  border-top: none;
  padding: 0;
}

.footer {
  background-color: #f0f0f0;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .footer {
    letter-spacing: 0;
  }
}
.footer__inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 80px;
  }
}
.footer__logo a {
  display: block;
}
.footer__logo img {
  width: 160px;
}
@media screen and (max-width: 767px) {
  .footer__logo img {
    width: 120px;
  }
}
.footer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 40px;
}
.footer__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.footer__nav {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    flex-direction: column;
  }
}
.footer__nav-item {
  min-width: 200px;
}
@media screen and (max-width: 767px) {
  .footer__nav-item {
    min-width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
  }
}
.footer__nav-item p {
  font-size: 14px;
  font-weight: 600;
  padding: 8px 0;
}
@media screen and (max-width: 767px) {
  .footer__nav-item p {
    width: calc(50% - 8px);
  }
}
.footer__nav-item ul {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .footer__nav-item ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
  }
}
.footer__nav-item li {
  font-size: 14px;
  padding: 4px 0;
}
@media screen and (max-width: 767px) {
  .footer__nav-item li {
    width: calc(50% - 8px);
  }
}
.footer__nav-title {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 767px) {
  .footer__nav-title {
    width: 100% !important;
  }
}
.footer__copy {
  font-size: 12px;
  font-weight: 400;
  color: #707070;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .footer__copy {
    text-align: center;
  }
}

.main-slider {
  margin: 24px 0 -40px;
}
@media screen and (max-width: 767px) {
  .main-slider {
    margin: 16px 0 0;
  }
}
.main-slider .slick-slide {
  padding: 0 12px;
}
@media screen and (max-width: 767px) {
  .main-slider .slick-slide {
    padding: 0 4px;
  }
}
.main-slider .slick-slide img {
  width: 100%;
}

.list-feature {
  margin: 0 -12px;
}
@media screen and (max-width: 767px) {
  .list-feature {
    width: 100vw;
    margin: 0 -16px;
  }
}
.list-feature__item {
  position: relative;
  margin: 0 12px;
}
@media screen and (max-width: 767px) {
  .list-feature__item {
    margin: 0 8px;
  }
}
.list-feature__img {
  text-align: center;
}
.list-feature__img img {
  max-width: 100%;
}
.list-feature__text {
  line-height: 1.7;
  margin-top: 12px;
}
.list-feature__title {
  font-size: 18px;
  font-weight: bold;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.list-feature__desc {
  font-size: 14px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 8px;
}

.list-info li {
  display: flex;
  gap: 56px;
  padding: 24px;
  border-bottom: 1px solid #e4e4e4;
}
@media screen and (max-width: 767px) {
  .list-info li {
    flex-wrap: wrap;
    gap: 8px 0;
    padding: 16px 0;
  }
}
.list-info li:last-child {
  border-bottom: none;
}
.list-info span {
  width: 100px;
  font-size: 14px;
  color: #707070;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  .list-info span {
    width: 100%;
  }
}
.list-info__text {
  flex: 1;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .list-info__text {
    width: 100%;
  }
}
.list-info__text a {
  text-decoration: underline;
}

.product-list-page__title {
  font-size: 28px;
  font-weight: 700;
  width: 100%;
  margin: 32px 0 16px;
}
@media screen and (max-width: 767px) {
  .product-list-page__title {
    font-size: 20px;
  }
}
.product-list-page__sort-wrap {
  display: flex;
  gap: 16px 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .product-list-page__sort-wrap {
    flex-direction: column;
    margin: 24px 0;
  }
}
.product-list-page #pagination.above {
  margin: 0;
}
.product-list-page #pagination.above .add-pager__link-wrapper {
  display: none;
}
.product-list-page #pagination.above .add-pager__wrapper {
  padding: 4px 0;
}
.product-list-page #pagination.above .add-total {
  flex: 1;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .product-list-page #pagination.above .add-total {
    width: 100%;
  }
}
.product-list-page #pagination.above .add-total span {
  font-size: 20px;
}
.product-list-page #pagination.below {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .product-list-page #pagination.below {
    margin-top: 56px;
  }
}
.product-list-page #pagination.below .add-total {
  display: none;
}
.product-list-page #pagination.below .add-pager__wrapper {
  display: block;
}
.product-list-page #pagination.below .add-pager__link-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
.product-list-page #pagination.below .add-num {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 18px;
  font-weight: bold;
}
.product-list-page #pagination.below .add-back a {
  position: relative;
  color: rgba(0, 0, 0, 0);
}
.product-list-page #pagination.below .add-back a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid #707070;
  border-bottom: 2px solid #707070;
  position: absolute;
  top: 4px;
  left: 0;
  transform: rotate(45deg);
}
.product-list-page #pagination.below .add-next a {
  position: relative;
  color: rgba(0, 0, 0, 0);
}
.product-list-page #pagination.below .add-next a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #707070;
  border-top: 2px solid #707070;
  position: absolute;
  top: 4px;
  right: 0;
  transform: rotate(45deg);
}
.product-list-page .sp-search-btn {
  position: static;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .product-list-page .sp-search-btn {
    display: none;
  }
}
.product-list-page .sp-search-btn.fixed-bottom {
  position: fixed;
  bottom: 8px;
  left: 16px;
  width: calc(100% - 32px);
  z-index: 2;
}
.product-list-page .sp-search-btn a {
  display: block;
  text-align: center;
  width: 100%;
  background: url(../img/common/icon_filter_white.svg) left 16px center #333 no-repeat;
  border-radius: 24px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  padding: 8px 24px;
}

.add-set #sortBox {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  flex: 1;
  padding: 0;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .add-set #sortBox {
    flex-wrap: nowrap;
    gap: 8px;
  }
}
.add-set #sortBox .box {
  position: relative;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .box {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .box:last-child .nav {
    left: auto;
    right: 0;
  }
}
.add-set #sortBox .title {
  position: relative;
  font-size: 14px;
  cursor: pointer;
  margin: 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .title {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 11px;
    letter-spacing: 0;
    margin-right: 0 !important;
  }
}
.add-set #sortBox .title:hover {
  opacity: 0.7;
}
.add-set #sortBox .title .selected {
  position: relative;
  font-weight: bold;
  padding-right: 16px;
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .title .selected {
    width: calc((100vw - 24px - 32px) / 4);
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 4px;
    font-size: 14px;
    font-weight: normal;
    overflow-x: hidden;
    word-break: keep-all;
  }
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .title .selected::before {
    content: "";
    width: 16px;
    height: 100%;
    background: #FFF;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
  }
}
.add-set #sortBox .title .selected::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #707070;
  border-bottom: 2px solid #707070;
  position: absolute;
  right: 0;
  top: 2px;
  transform: rotate(45deg);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .title .selected::after {
    top: 14px;
    right: 4px;
  }
}
.add-set #sortBox .nav {
  display: none;
  width: 160px;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #f9f9f9;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .add-set #sortBox .nav {
    right: auto;
    left: 0;
  }
}
.add-set #sortBox .nav li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.add-set #sortBox .nav li.active {
  font-size: 100%;
  padding: 6px 16px;
  height: auto;
  line-height: inherit;
  color: #333;
  background-color: #e9e9e9;
}
.add-set #sortBox .nav li a {
  padding: 6px 16px !important;
  height: auto !important;
  background-color: #f9f9f9 !important;
}

.side .categoryList:not(:first-child) {
  margin-top: 8px;
}
.side .categoryList .title {
  position: relative;
  display: block;
  font-weight: bold;
  background-color: #eee;
  border-radius: 4px;
  padding: 8px 32px 8px 8px;
}
.side .categoryList .title::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_plus.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
}
.side .categoryList .title.is-active::after {
  content: "";
  background: url(../img/common/icon_minus.svg) no-repeat;
  background-size: contain;
}
.side .categoryList ul:not(.search-color) li a {
  display: block;
  padding: 8px;
}
.side .categoryList ul:not(.search-color) li:not(:last-of-type) {
  border-bottom: 1px solid #ddd;
}
.side .categoryList .child {
  background-color: #f7f7f7;
}
.side .categoryList .child li {
  position: relative;
  padding-left: 16px;
}
.side .categoryList .child li::before {
  content: "";
  width: 6px;
  height: 8px;
  border-left: 1px solid #777;
  border-bottom: 1px solid #777;
  position: absolute;
  left: 12px;
  top: 12px;
}
.side .search-color {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 16px 0;
}
.side .search-color li {
  font-size: 11px;
}
.side .search-color a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.side .search-color img {
  width: 32px;
  max-width: 100%;
}

.dvProductAdvancedSearch {
  margin-top: 24px;
}
.dvProductAdvancedSearch__title {
  position: relative;
  display: block;
  font-weight: bold;
  background: url(../img/common/icon_search_white.svg) left 4px center #777 no-repeat;
  background-size: 24px;
  color: #fff;
  border-radius: 4px;
  padding: 8px 32px 8px 28px;
}
.dvProductAdvancedSearch__content .title {
  position: relative;
  display: block;
  width: 100%;
  font-weight: bold;
  text-align: left;
  background-color: #eee;
  border-radius: 4px;
  padding: 8px 32px 8px 8px;
  margin-top: 8px;
}
.dvProductAdvancedSearch__content .title.accordion-trigger::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_plus.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
}
.dvProductAdvancedSearch__content .title.accordion-trigger.is-active::after {
  content: "";
  background: url(../img/common/icon_minus.svg) no-repeat;
  background-size: contain;
}
.dvProductAdvancedSearch__content .accordion-content {
  display: none;
}
.dvProductAdvancedSearch__content input[type=search] {
  border: 1px solid #ccc;
  padding: 8px;
  width: 100%;
  border-radius: 4px;
}
.dvProductAdvancedSearch__content table td {
  padding: 8px 0;
}
.dvProductAdvancedSearch__content table td select {
  border: 1px solid #ccc;
  padding: 8px;
  width: 100%;
  border-radius: 4px;
}
.dvProductAdvancedSearch .search-color {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  font-size: 11px;
  margin: 16px 0;
}
.dvProductAdvancedSearch .search-color__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px;
}
.dvProductAdvancedSearch .search-color__trigger {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}
.dvProductAdvancedSearch .button {
  padding: 0;
  margin-top: 16px;
}

.product-detail__container {
  display: flex;
  gap: 24px 80px;
}
@media screen and (max-width: 767px) {
  .product-detail__container {
    flex-direction: column;
  }
}
.product-detail #dvProductDetailArea #detailImage {
  width: 558px;
}
@media screen and (max-width: 767px) {
  .product-detail #dvProductDetailArea #detailImage {
    width: 100vw;
    margin-left: -16px;
    margin-right: -16px;
  }
}
.product-detail #dvProductDetailArea #detailOne {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .product-detail #dvProductDetailArea #detailOne {
    width: 100%;
  }
}
.product-detail__slider img {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.product-detail__thumbnail {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .product-detail__thumbnail {
    margin: 8px 8px 0;
  }
}
.product-detail__thumbnail img {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.product-detail__thumbnail .slick-track {
  transform: unset !important;
  width: 100% !important;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .product-detail__thumbnail .slick-track {
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
  }
}
.product-detail__thumbnail .slick-track::before {
  content: none;
}
.product-detail__thumbnail .slick-track::after {
  content: none;
}
.product-detail__thumbnail .slick-slide {
  width: auto !important;
  cursor: pointer;
}
.product-detail__thumbnail .slick-current img {
  border: 2px solid #333;
}
.product-detail .icon {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.product-detail .icon .soldout {
  font-size: 14px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 2px 12px;
}
.product-detail__copy {
  margin: 16px 0 8px;
}
.product-detail__name {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
}
.product-detail__id {
  font-size: 13px;
  color: #707070;
}
.product-detail .wrapProductPrice {
  margin: 24px 0;
}
.product-detail .wrapProductPrice .productPrice {
  font-size: 14px;
  font-weight: bold;
}
.product-detail .wrapProductPrice .productPrice span {
  font-size: 28px;
}
.product-detail__set-promotion {
  background-color: #f9f0dc;
  border-radius: 4px;
  padding: 8px 16px;
  margin: 16px 0 !important;
}
.product-detail__novelty {
  margin: 24px 0;
}
.product-detail__novelty .noveltyProduct {
  gap: 16px;
  padding: 8px;
  border: none;
  border-radius: 8px;
  background: #f7f7f7;
  margin-bottom: 0;
}
.product-detail__novelty .noveltyProduct .image {
  width: 72px;
  line-height: 1;
}
.product-detail__novelty .noveltyProduct .image img {
  width: 100% !important;
  height: auto !important;
}
.product-detail__novelty-head {
  margin-bottom: 10px;
}
.product-detail__novelty-title {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #333;
  padding-bottom: 4px;
  margin-bottom: 8px;
}
.product-detail__novelty-name {
  font-weight: bold;
  margin-bottom: 8px;
}
.product-detail .productSellInfo {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.product-detail .productSellInfo .selectVariation {
  margin: 24px 0;
}
.product-detail .productSellInfo .selectVariation__wrap + .selectVariation__wrap {
  margin-top: 8px;
}
.product-detail .productSellInfo .selectVariation__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .product-detail .productSellInfo .selectVariation__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.product-detail .productSellInfo .selectVariation__item a {
  display: block;
}
.product-detail .productSellInfo .selectVariation__img {
  width: 100%;
}
.product-detail .productSellInfo .selectVariation__name {
  font-size: 12px;
  text-align: center;
  margin: 4px 0 0 !important;
}
.product-detail .productSellInfo .selectVariation .VariationPanel__img {
  display: block;
  border: 1px solid #ccc;
  border-radius: 4px;
  line-height: 0;
}
.product-detail .productSellInfo .selectVariation .VariationPanel__img.selected {
  border: 2px solid #333;
  border-radius: 4px;
}
.product-detail .productSellInfo .selectVariation .VariationPanel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  text-align: center;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.product-detail .productSellInfo .selectVariation .VariationPanel.selected {
  border: 2px solid #333;
}
.product-detail .productSellInfo .selectVariation select {
  min-width: 300px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 12px 16px;
}
.product-detail .option-value {
  margin: 24px 0;
}
.product-detail .option-value__title {
  display: block;
  margin: 8px 0 4px;
}
.product-detail .option-value__checkbox {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 12px 0;
}
.product-detail .option-value__textbox {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 12px 16px;
}
.product-detail .option-value__selectbox {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 12px 16px;
}
.product-detail__btn-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 24px 0 16px;
}
@media screen and (max-width: 767px) {
  .product-detail .addCart {
    flex: 1;
  }
}
.product-detail .addCart .btnCart {
  padding: 0;
  margin: 0 !important;
}
.product-detail .addCart .btnCart .btn {
  min-width: 300px;
  font-size: 16px;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .product-detail .addCart .btnCart .btn {
    min-width: auto;
    width: 100%;
    max-width: 300px;
  }
}
.product-detail .btn-mail {
  min-width: 300px;
}
.product-detail .productAmount {
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin: 24px 0;
}
.product-detail .productAmount input {
  width: 72px !important;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 12px 16px;
}
.product-detail #divProductArrivalMail {
  padding: 0;
}
.product-detail #divProductArrivalMail td {
  padding: 16px !important;
}
.product-detail #divProductArrivalMail input {
  width: 100% !important;
  background: #F7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 8px;
}
.product-detail .btnListContact li + li {
  margin-top: 4px;
}
.product-detail .snsList {
  margin: 24px 0;
}
.product-detail .multi-variation {
  border-bottom: 1px solid #ddd;
  margin: 40px 0 !important;
}
.product-detail .multi-variation__item {
  display: flex;
  align-items: center;
  gap: 8px 16px;
  border-top: 1px solid #ddd;
  padding: 12px 16px;
}
@media screen and (max-width: 767px) {
  .product-detail .multi-variation__item {
    flex-wrap: wrap;
    padding: 12px 0;
  }
}
.product-detail .multi-variation__text {
  flex: 1;
  font-size: 13px;
}
.product-detail .multi-variation__kind {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}
.product-detail .multi-variation__btn-area {
  width: 250px;
}
@media screen and (max-width: 767px) {
  .product-detail .multi-variation__btn-area {
    width: 100%;
  }
}
.product-detail .multi-variation__btn-area .addCart {
  display: flex;
  align-items: center;
}
.product-detail .multi-variation__btn-area .btnCart .btn {
  min-width: 200px;
  font-size: 14px;
  margin-right: 8px;
}
.product-detail .multi-variation__btn-area .btnCart:empty {
  display: none;
}
.product-detail .multi-variation .error {
  font-size: 12px;
}
.product-detail .multi-variation .product-detail__set-promotion {
  font-size: 12px;
  padding: 2px 8px;
  margin: 8px 0 !important;
}
.product-detail .multi-variation .product-detail__set-promotion:empty {
  display: none;
}
.product-detail .tblReviewInput {
  background: #f9f9f9;
  padding: 40px 80px;
}
@media screen and (max-width: 767px) {
  .product-detail .tblReviewInput {
    padding: 16px;
  }
}
.product-detail .tblReviewInput tr {
  display: flex;
  align-items: center;
  padding: 4px 0;
}
.product-detail .tblReviewInput th {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .product-detail .tblReviewInput th {
    width: 110px;
  }
}
.product-detail .tblReviewInput td {
  flex: 1;
}
.product-detail .tblReviewInput input,
.product-detail .tblReviewInput textarea {
  width: 100%;
  padding: 8px 16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.product-detail .tblReviewInput select {
  padding: 8px 16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.product-detail .tblReviewInput .btn-wrap {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 0;
}
.product-detail .review .spMessage {
  margin-bottom: 16px;
}
.product-detail .review__item {
  border-top: 1px solid #ccc;
  padding: 24px;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .product-detail .review__item {
    padding: 24px 0;
  }
}
.product-detail .review__info {
  display: flex;
  align-items: center;
  gap: 16px;
}
.product-detail .review__info span {
  display: flex;
  align-items: center;
}
.product-detail .review__title {
  font-size: 16px;
  font-weight: bold;
  margin: 16px 0;
}
.product-detail .review__comment {
  margin-bottom: 0 !important;
}

.product-desc__item:has(.accordion-content__inner:empty) {
  display: none;
}
.product-desc__item:has(.product-desc__text:empty) {
  display: none;
}

#dvProductDetailArea .wrapProductPrice p strike {
  color: #333 !important;
}

#dvProductDetailArea .wrapProductPrice p .sale {
  color: #C5412D;
}
#dvProductDetailArea .wrapProductPrice p .sale span {
  color: #C5412D;
}

.add-set .add-u__form-wrapper .add-u__w-auto {
  display: inline-block;
}
.add-set .add-u__form-wrapper .add-u__w-auto select {
  width: auto;
  padding-right: 48px;
}

@media screen and (min-width: 768px) {
  .add-set .add-shipping__list .shippingName {
    padding-right: 16px;
  }
}

@media screen and (min-width: 768px) {
  .add-set .add-coupon__list tr {
    gap: 16px;
    flex-wrap: nowrap;
  }
}

@media screen and (min-width: 768px) {
  .add-set .add-coupon__list tr .add-code {
    flex: 0 0 160px;
  }
}

@media screen and (min-width: 768px) {
  .add-set .add-coupon__list tr .add-name {
    flex: 0 0 300px;
  }
}

@media screen and (min-width: 768px) {
  .add-set .add-coupon__list tr .add-waribiki {
    flex: 0 0 104px;
  }
}

.search-coordinate {
  margin-bottom: 8px;
}
.search-coordinate__item:not(:first-child) {
  margin-top: 8px;
}
.search-coordinate .title {
  position: relative;
  display: block;
  font-weight: bold;
  background-color: #eee;
  border-radius: 4px;
  padding: 8px 32px 8px 8px;
}
.search-coordinate ul li:not(:last-of-type) {
  border-bottom: 1px solid #ddd;
}
.search-coordinate ul li a {
  display: block;
  padding: 8px;
}
.search-coordinate .keyword-search {
  display: block;
  margin-bottom: 16px;
}
.search-coordinate .keyword-search input {
  width: 100%;
  height: auto;
  line-height: 1.4;
  border: 1px solid #ccc;
  padding: 8px;
  margin: 0;
  width: 100%;
  border-radius: 4px;
  background: #fff url(../img/common/icon_search.svg) right center no-repeat;
  background-size: 32px;
}

.coordinate-list-page #pagination.above {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .coordinate-list-page #pagination.above {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .coordinate-list-page .sp-search-btn {
    display: none;
  }
}
.coordinate-list-page .sp-search-btn a {
  display: block;
  text-align: center;
  width: 100%;
  background: url(../img/common/icon_filter_white.svg) left 16px center #333 no-repeat;
  border-radius: 24px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  padding: 8px 24px;
}
.coordinate-list-page .sp-search-btn.fixed-bottom {
  position: fixed;
  bottom: 8px;
  left: 16px;
  width: calc(100% - 32px);
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .coordinate-top-page {
    padding-top: 40px;
  }
}
.coordinate-top-page main > .unit:first-child .heading {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .coordinate-top-page main > .unit:first-child .heading {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) {
  .coordinate-top-page .sp-search-btn {
    display: none;
  }
}
.coordinate-top-page .sp-search-btn a {
  display: block;
  text-align: center;
  width: 100%;
  background: url(../img/common/icon_filter_white.svg) left 16px center #333 no-repeat;
  border-radius: 24px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  padding: 8px 24px;
}
.coordinate-top-page .sp-search-btn.fixed-bottom {
  position: fixed;
  bottom: 8px;
  left: 16px;
  width: calc(100% - 32px);
  z-index: 2;
}

.list-coordinate__img img {
  max-width: 100%;
}
.list-coordinate__name {
  margin: 12px 0;
}
.list-coordinate__staff {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.list-coordinate__staff-img {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}
.list-coordinate__staff-img img {
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.list-coordinate__info {
  margin-top: 8px;
}
.list-coordinate__info + .list-coordinate__info {
  margin-top: 0px;
}

.top_recommend_curetor {
  padding: 40px !important;
  margin-top: 80px;
}
.top_recommend_curetor__heading {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 1em;
}
.top_recommend_curetor__list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 24px;
}
.top_recommend_curetor__item {
  width: calc((100% - 72px) / 4);
}
.top_recommend_curetor__img {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 16px;
}
.top_recommend_curetor__img img {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top_recommend_curetor__name {
  text-align: center;
}

.coordinate-detail-page #dvProductDetailArea #detailImage {
  width: 558px;
}
@media screen and (max-width: 767px) {
  .coordinate-detail-page #dvProductDetailArea #detailImage {
    width: 100vw;
    margin-left: -16px;
    margin-right: -16px;
  }
}
.coordinate-detail-page #dvProductDetailArea #detailOne {
  flex: 1;
  width: auto;
  float: none;
}
.coordinate-detail-page__staff {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.coordinate-detail-page__staff-img {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
}
.coordinate-detail-page__staff-img img {
  width: auto;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.coordinate-detail-page__staff-info {
  flex: 1;
}
.coordinate-detail-page__staff-name {
  font-size: 20px;
  font-weight: bold;
}
.coordinate-detail-page__staff-insta {
  margin-top: 4px;
}
.coordinate-detail-page__staff-insta a {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: bold;
}
.coordinate-detail-page__staff-insta img {
  width: 24px;
}
.coordinate-detail-page__follow-btn .btn {
  min-width: auto;
  border-radius: 24px;
  padding: 8px 16px;
}
.coordinate-detail-page .afterfollow {
  border: 1px solid #ccc;
}
.coordinate-detail-page__info {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  margin-top: 24px;
}
.coordinate-detail-page__title {
  font-size: 20px;
  margin: 8px 0;
}
.coordinate-detail-page__like-btn {
  margin-top: 24px;
}
.coordinate-detail-page__like-btn a {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.coordinate-detail-page__like-btn img {
  width: 24px;
}
.coordinate-detail-page .snsList {
  display: flex;
  align-items: center;
  gap: 0 16px;
  margin-top: 24px;
}
.coordinate-detail-page__use {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  margin-top: 24px;
}
.coordinate-detail-page__use-heading {
  font-size: 16px !important;
  font-weight: bold;
  text-align: center;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 8px;
  margin-bottom: 20px !important;
}
.coordinate-detail-page__use-item {
  display: flex;
  gap: 24px;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
  padding-bottom: 24px;
  margin-bottom: 24px;
}
.coordinate-detail-page__use-item:last-of-type {
  border-bottom: 1px solid #ddd;
}
.coordinate-detail-page__use-img {
  width: 136px;
}
.coordinate-detail-page__use-img img {
  max-width: 100%;
}
.coordinate-detail-page__use-detail {
  flex: 1;
}
.coordinate-detail-page__use-name {
  font-size: 16px;
}
.coordinate-detail-page__use-variation select {
  width: 100%;
  border: 1px solid #ddd;
  padding: 8px 12px;
  border-radius: 4px;
}
.coordinate-detail-page__use-variation + .coordinate-detail-page__use-variation {
  margin-top: 8px;
}
.coordinate-detail-page__use-btn {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.coordinate-detail-page__tags {
  background: #f7f7f7;
  padding: 16px 16px 1px;
  border-radius: 8px;
  margin-top: 40px;
}
.coordinate-detail-page__tags p {
  font-weight: bold;
  border-bottom: 1px solid #ddd;
  padding-bottom: 8px;
  margin-bottom: 16px;
}
.coordinate-detail-page__tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 24px;
}
.coordinate-detail-page__tags ul a {
  display: inline-block;
  text-decoration: none;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 24px;
  padding: 4px 12px;
}/*# sourceMappingURL=custom.css.map */


/* ==========================================================================
マイページ背景レイアウト（受信メール履歴）
========================================================================== */
/* メインコンテンツカード */
.add-mypage__main-board {
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

/* ヘッダー */
.add-mypage__header-block {
  margin-bottom: 24px !important;
}

/* ==========================================================================
  マイページ背景レイアウト
========================================================================== */
/* 外側背景 */
.add-main__wrapper {
  background: #FAFAFA !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

/* メインコンテンツカード */
.add-mypage__main-board {
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

/* ヘッダー共通マージン */
.add-mypage__header-block {
  margin-bottom: 24px !important;
}

/* ==========================================================================
  マイページ共通ヘッダー
========================================================================== */
.add-main__wrapper .add-mypage__header-block,
.add-mypage__header-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 0 0 0 !important;
}

.add-main__wrapper .add-mypage__header-block .add-mypage__title-common,
.add-mypage__title-common {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #333 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.add-mypage__title-icon {
  display: inline-block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.add-main__wrapper .add-mypage__header-block .add-mypage__sub-title-common,
.add-mypage__sub-title-common {
  display: block !important;
  margin: 0 !important;
  padding-left: 46px !important;
  color: #666 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.add-main__wrapper .add-u__message-2 {
  display: none !important;
}

/* ==========================================================================
  受信メール履歴（一覧ページ用）
========================================================================== */
.add-mypage__list-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 24px 0 !important;
}

.add-mypage__card-item {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 24px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease !important;
}

.add-mypage__list-container .add-mypage__card-item:first-child {
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
}

.add-mypage__card-item:hover {
  background-color: #fafafa !important;
  border-color: #ececec !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
  transform: translateY(-1px) !important;
}

.add-mypage__card-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

.add-mail__item-date {
  width: 140px !important;
  flex-shrink: 0 !important;
  color: #8a8a8a !important;
  font-size: 13px !important;
}

.add-mail__item-subject {
  flex: 1 !important;
  padding-right: 16px !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  word-break: break-word !important;
}

/* 上部・下部ページネーション */
.add-main__wrapper #pagination.above {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  background: #fff !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 8px 8px 0 0 !important;
  float: none !important;
}

.add-main__wrapper #pagination.below {
  margin-top: 16px !important;
}

/* ==========================================================================
  受信メール詳細（新設：専用レイアウト）
========================================================================== */
.add-mail-detail__container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.add-mail-detail__row {
  display: flex !important;
  align-items: center !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #eeeeee !important;
}

.add-mail-detail__row--body {
  align-items: flex-start !important;
}

/* 左カラム：項目名 */
.add-mail-detail__label {
  width: 160px !important;
  flex-shrink: 0 !important;
  color: #333333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* 右カラム：データ表示エリア */
.add-mail-detail__value {
  flex: 1 !important;
  min-width: 0 !important;
  color: #333333 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* 件名の強調 */
.add-mail-detail__subject {
  font-weight: 600 !important;
}

/* メール本文テキスト（折り返し・改行維持対策） */
.add-mail-detail__text {
  white-space: pre-wrap !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

/* HTML表示ボタン */
.add-mail-detail__html-btn {
  margin-bottom: 12px !important;
}

.add-u__btn-html {
  padding: 6px 16px !important;
  background: #f5f5f5 !important;
  border: 1px solid #cccccc !important;
  border-radius: 4px !important;
  color: #333333 !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.add-u__btn-html:hover {
  background: #e8e8e8 !important;
}

/* 下部アクション（戻るボタン） */
.add-mail-detail__actions {
  display: flex !important;
  justify-content: center !important;
  margin-top: 32px !important;
}

.add-mail-detail__back-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 200px !important;
  height: 48px !important;
  padding: 0 24px !important;
  background: #ffffff !important;
  border: 1px solid #333333 !important;
  border-radius: 24px !important;
  color: #333333 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

.add-mail-detail__back-btn:hover {
  background: #333333 !important;
  color: #ffffff !important;
}

/* ==========================================================================
  マイドキュメント
========================================================================== */
.add-document__summary {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
  padding: 14px 18px !important;
  background: #fff8f8 !important;
  border: 1px solid #ffe0e0 !important;
  border-radius: 10px !important;
  color: #333333 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.add-document__empty {
  padding: 40px 20px !important;
  text-align: center !important;
  background: #fafafa !important;
  border: 1px solid #eeeeee !important;
  border-radius: 12px !important;
  color: #666666 !important;
  font-size: 14px !important;
}

.add-document__header {
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr) 100px 100px;
  align-items: center !important;
  padding: 16px 20px !important;
  background: #fafafa !important;
  border: 1px solid #eeeeee !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
  color: #333333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.add-document__row {
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr) 100px 100px;
  align-items: center !important;
  gap: 0 !important;
  padding: 18px 20px !important;
  background: #ffffff !important;
  border-left: 1px solid #eeeeee !important;
  border-right: 1px solid #eeeeee !important;
  border-bottom: 1px solid #eeeeee !important;
  transition: background 0.2s ease !important;
}

.add-document__row:last-child {
  border-radius: 0 0 12px 12px !important;
}

.add-document__row:hover {
  background: #fffafa !important;
}

/* ドキュメントカラム */
.doc-col-no {
  text-align: center !important;
  color: #666666 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.doc-col-name {
  min-width: 0 !important;
  padding-right: 16px !important;
}

.doc-col-type {
  text-align: center !important;
  color: #666666 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.doc-col-download {
  text-align: center !important;
}

.add-document__file {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.file-icon {
  flex-shrink: 0 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

.file-name {
  display: block !important;
  min-width: 0 !important;
  color: #333333 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

/* ダウンロードボタン */
.doc-col-download a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  color: #E60012 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.doc-col-download a:hover {
  background: #fff3f3 !important;
  transform: translateY(-1px);
}

.doc-col-download svg {
  display: block !important;
}

/* ガイドエリア共通 */
.add-document__guide {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  margin-top: 24px !important;
  padding: 20px 24px !important;
  background: #fafafa !important;
  border: 1px solid #eeeeee !important;
  border-radius: 12px !important;
}

.add-document__guide-badge {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: #edf5ff !important;
  border-radius: 50% !important;
}

.add-document__guide-content {
  flex: 1 !important;
}

.add-document__guide-content h3 {
  margin: 0 0 6px 0 !important;
  color: #333333 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.add-document__guide-content ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.add-document__guide-content li {
  margin-bottom: 4px !important;
  padding: 0 !important;
  color: #666666 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  list-style-type: none !important;
}

.add-document__guide-content li:last-child {
  margin-bottom: 0 !important;
}

/* ==========================================================================
  SP (767px以下) 総合メディアクエリ
========================================================================== */
@media screen and (max-width: 767px) {
  /* 共通レイアウト基盤 */
  .add-main__wrapper {
    padding: 16px !important;
  }

  .add-mypage__main-board {
    padding: 16px !important;
  }

  .add-main__wrapper .add-mypage__header-block {
    padding: 0 !important;
  }

  .add-main__wrapper .add-mypage__header-block .add-mypage__title-common {
    gap: 12px !important;
    font-size: 22px !important;
  }

  .add-main__wrapper .add-mypage__header-block .add-mypage__sub-title-common {
    padding-left: 40px !important;
    font-size: 11px !important;
  }

  /* 受信メール履歴（一覧ページ用SP） */
  .add-main__wrapper #pagination.above {
    padding: 12px 16px !important;
  }

  .add-mypage__card-item {
    position: relative !important;
    flex-wrap: wrap !important;
    padding: 16px 18px !important;
  }

  .add-mypage__card-arrow {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    transform: translateY(-50%) !important;
  }

  .add-mail__item-date {
    width: 100% !important;
    margin-bottom: 4px !important;
    font-size: 12px !important;
  }

  .add-mail__item-subject {
    font-size: 14px !important;
  }

  /* 【新設】受信メール詳細用（SP時：見出しと本文を縦積み1列化） */
  .add-mail-detail__row {
    display: block !important;
    padding: 16px 0 !important;
  }

  .add-mail-detail__label {
    width: 100% !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
    color: #333333 !important;
  }

  .add-mail-detail__value {
    width: 100% !important;
    font-size: 14px !important;
  }

  .add-mail-detail__back-btn {
    width: 100% !important;
    height: 44px !important;
  }

  /* マイドキュメント用（SP時） */
  .add-document__header {
    display: none !important;
  }

  .add-document__row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    padding: 14px 12px !important;
    border: 1px solid #eeeeee !important;
    border-radius: 12px !important;
  }

  .add-document__row:last-child {
    border-radius: 12px !important;
  }

  .doc-col-no {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin-bottom: 0 !important;
    background: #fff0f0 !important;
    border-radius: 50% !important;
    color: #f25c5c !important;
    font-size: 11px !important;
  }

  .doc-col-name {
    flex: 1 !important;
    padding-right: 4px !important;
    min-width: 0 !important;
  }

  .add-document__file {
    gap: 10px !important;
  }

  .file-name {
    font-size: 13px !important;
  }

  .doc-col-type {
    display: none !important;
  }

  .doc-col-download {
    flex-shrink: 0 !important;
    margin-top: 0 !important;
    text-align: center !important;
  }

  .doc-col-download a {
    width: 36px !important;
    height: 36px !important;
  }

  .add-document__summary {
    font-size: 13px !important;
    margin-bottom: 16px !important;
  }

  /* ガイドエリア用（SP時） */
  .add-document__guide {
    padding: 16px !important;
    gap: 12px !important;
  }

  .add-document__guide-badge {
    width: 36px !important;
    height: 36px !important;
  }

  .add-document__guide-content h3 {
    font-size: 14px !important;
  }

  .add-document__guide-content li {
    font-size: 12px !important;
  }
}

/* ==========================================================================
  オーナー限定クーポン
========================================================================== */
.add-coupon__container {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    margin-top: 16px !important;
}

/* クーポンのご利用について案内バナー（ピンク背景のボックスデザイン） */
.add-coupon__info-banner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    background: #fff8f8 !important;
    border: 1px solid #ffe8e8 !important;
    border-radius: 14px !important;
    padding: 24px !important;
    margin-bottom: 24px !important;
}

.add-coupon__info-banner .info-icon {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(230, 0, 18, 0.06) !important;
}

.add-coupon__info-banner .info-text {
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: #333333 !important;
}

.add-coupon__info-banner .info-text strong {
    font-size: 14px !important;
    color: #e60012 !important;
    display: inline-block !important;
    margin-bottom: 6px !important;
}

/* クーポンカード基本構造（シャドウとボーダー質感） */
.coupon-card {
    display: flex !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}

/* 未使用バッジ（左上に絶対配置固定） */
.coupon-card__badge {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 2 !important;
    padding: 3px 12px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
}

/* 左側エリア（割引アピール面） */
.coupon-card__left {
    width: 260px !important;
    min-width: 260px !important;
    padding: 48px 24px 40px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
}

.coupon-card .discount-label {
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: center !important;
    align-self: center !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.coupon-card .discount-value {
    width: 100% !important;
    justify-content: center !important;
    align-items: baseline !important;
    margin: 0 0 8px !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -1px !important;
    white-space: nowrap !important;
}

.coupon-card .discount-value::after {
    font-size: 17px !important;
    font-weight: 700 !important;
    margin-left: 4px !important;
    letter-spacing: 0 !important;
}

.coupon-card .discount-desc {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    color: #666666 !important;
}

/* 金額クーポン */
.coupon-card--gold .discount-value {
    font-size: 40px !important;
    font-weight: 800 !important;
}

.coupon-card--gold .discount-value::after {
    font-size: 17px !important;
    font-weight: 700 !important;
    margin-left: 4px !important;
}

/* 右側エリア（詳細グリッド＋ボタン） */
.coupon-card__right {
    flex: 1 !important;
    padding: 32px !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important; /* 横並び配置 */
    gap: 24px !important;
}

/* 内包する定義リスト形式のグリッド */
.add-coupon__detail-grid {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.detail-row {
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 10px !important;
    font-size: 14px !important;
}

.detail-label {
    width: 140px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.detail-label svg {
    color: #94a3b8 !important;
    flex-shrink: 0 !important;
}

.detail-value {
    flex: 1 !important;
    color: #1e293b !important;
    font-weight: 700 !important;
}

/* コーポコード・コピーボタン */
.detail-value--code {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.code-text {
    font-family: 'Courier New', Courier, monospace !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: 0.5px !important;
}

.copy-btn {
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #e60012 !important;
    padding: 3px 14px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.copy-btn:hover {
    background: #fff5f5 !important;
    border-color: #ffcccc !important;
}

.detail-value--expire {
    color: #e60012 !important; /* お手本通り期限は赤文字 */
}

/* ボタンコンテナ */
.add-coupon__btn-container {
    flex-shrink: 0 !important;
    width: 180px !important;
}

/* クーポンを利用するボタン（矢印インライン） */
.use-coupon-btn {
    width: 100% !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 23px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #ffffff !important;
    transition: transform 0.2s ease, background-color 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.use-coupon-btn:hover {
    transform: translateY(-1px) !important;
}

/* ==========================================================================
  【重要修正】CSS自動テーマ切り替え＆文字被り解消システム
========================================================================== */
/* 基準値（初期値）：レッドテーマ (優待・％など) */
.coupon-card {
    border-left: 10px solid #e60012 !important; /* 左端の太線 */
}
.coupon-card .coupon-card__badge {
    color: #e60012 !important;
    border: 1px solid #ffcccc !important;
}
.coupon-card__left {
    background-color: #fff5f5 !important;
    color: #e60012 !important;
}
.coupon-card .use-coupon-btn {
    background: #e60012 !important;
}
.coupon-card .use-coupon-btn:hover {
    background: #c9000f !important;
}

/* パーセントクーポンの場合の後ろの単位「%OFF」を自動合成 */
.coupon-card .discount-value::after {
    content: "%OFF" !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
}

/* ゴールドテーマ自動適用 (クラス名に「_¥」または「円」が含まれる金額クーポンをピンポイントに上書き) */
.coupon-card--gold,
.coupon-card[class*="_¥"],
.coupon-card[class*="_円"] {
    border-left: 10px solid #d4af37 !important; /* 引き締まったゴールドエッジ */
}

.coupon-card--gold .coupon-card__badge,
.coupon-card[class*="_¥"] .coupon-card__badge,
.coupon-card[class*="_円"] .coupon-card__badge {
    color: #b58900 !important;
    border: 1px solid #f3e1b6 !important;
}

.coupon-card--gold .coupon-card__left,
.coupon-card[class*="_¥"] .coupon-card__left,
.coupon-card[class*="_円"] .coupon-card__left {
    background-color: #fdf8eb !important; /* 明るく上品なゴールド背景 */
    color: #b58900 !important;
}

/* 金額クーポンの場合は「%OFF」を打ち消し、「円OFF」を自動合成 */
.coupon-card--gold .discount-value::after,
.coupon-card[class*="_¥"] .discount-value::after,
.coupon-card[class*="_円"] .discount-value::after {
    content: "円OFF" !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
}

/* 金額クーポン時に生じる「¥」記号を画面上から綺麗に消去し、数字だけを前に出す処理 */
.coupon-card--gold .discount-value,
.coupon-card[class*="_¥"] .discount-value,
.coupon-card[class*="_円"] .discount-value {
    overflow: hidden !important;
    text-indent: -0.0em !important; /* 先頭に自動出力されてしまう「¥」だけを左枠外へ追いやるマジック */
    letter-spacing: -1px !important;
}

.coupon-card--gold .use-coupon-btn,
.coupon-card[class*="_¥"] .use-coupon-btn,
.coupon-card[class*="_円"] .use-coupon-btn {
    background: #d4af37 !important;
    color: #ffffff !important;
}

.coupon-card--gold .use-coupon-btn:hover,
.coupon-card[class*="_¥"] .use-coupon-btn:hover,
.coupon-card[class*="_円"] .use-coupon-btn:hover {
    background: #c29d2c !important;
}

/* ==========================================================================
   フッターヘルプエリア
   ========================================================================== */
.add-coupon__footer-help {
    margin-top: 32px !important;
    padding: 24px !important;
    background: #fff8f8 !important; /* カンプ通りの薄ピンク背景 */
    border: 1px solid #ffe8e8 !important;
    border-radius: 12px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important; /* 左右の要素を縦中央で綺麗に揃える */
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 左側ブロック：アイコンとテキストエリアの横並び */
.help-question {
    display: flex !important;
    align-items: center !important; /* アイコンとテキスト全体を縦中央揃えに */
    gap: 16px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

/* クエスチョンマークの丸アイコン */
.help-icon-round {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;  /* 添付画像の大きめのバランスに調整 */
    height: 44px !important;
    background: #ffffff !important;
    border: 1px solid #e60012 !important; /* ブランドの赤細線 */
    border-radius: 50% !important;
    color: #e60012 !important;
    font-size: 20px !important;
    font-weight: normal !important;
    flex-shrink: 0 !important;
}

/* テキストを縦に2行並べるためのブロック */
.help-text-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important; /* タイトルと注記文の間の絶妙な隙間 */
    flex: 1 !important;
    min-width: 0 !important;
}

/* 「クーポンが使えない場合」タイトル */
.help-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    line-height: 1.2 !important;
}

/* 注記文テキスト */
.help-question .info-text {
    font-size: 11px !important; /* 添付画像の少し小さめのシャープな文字サイズ */
    line-height: 1.4 !important;
    color: #333333 !important;
    font-weight: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 右側：「お問い合わせはこちら」の白ボタン */
.help-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    color: #333333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
    margin-left: 24px !important;
}

.help-btn:hover {
    background: #fdf8f8 !important;
    border-color: #e60012 !important;
    color: #e60012 !important;
}

/* ==========================================================================
  スマホ（SP版）カンプ完全再現
========================================================================== */
@media screen and (max-width: 767px) {
    .add-coupon__info-banner {
        padding: 16px !important;
        gap: 12px !important;
    }
    
    .add-coupon__info-banner .info-icon {
        width: 36px !important;
        height: 36px !important;
    }
    .add-coupon__info-banner .info-icon svg {
        width: 22px !important;
        height: 22px !important;
    }

    /* スマホではカードを完全縦積みに */
    .coupon-card {
        flex-direction: column !important;
    }
    
    .coupon-card__left {
        width: 100% !important;
        padding: 45px 20px 24px 20px !important;
    }
    
    .discount-value {
        font-size: 36px !important;
    }
    
    .coupon-card__right {
        padding: 20px !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    .add-coupon__detail-grid {
        width: 100% !important;
    }
    
    .detail-row {
        padding-bottom: 8px !important;
    }
    
    .detail-label {
        width: 110px !important;
        font-size: 12px !important;
    }
    
    .detail-value {
        font-size: 13px !important;
    }
    
    .code-text {
        font-size: 14px !important;
    }

    .add-coupon__btn-container {
        width: 100% !important;
    }
    
    .add-coupon__footer-help {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
        padding: 16px !important;
    }
    
    .help-question {
        width: 100% !important;
        align-items: flex-start !important; /* スマホでは上揃えが見やすい */
    }
    
    .help-icon-round {
        width: 32px !important;
        height: 32px !important;
        font-size: 16px !important;
    }

    .help-btn {
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: space-between !important;
        padding: 12px 16px !important;
    }
}

/* ==========================================================================
   ポイント履歴
========================================================================== */

/* 現在の保有ポイント表示カード */
.add-point__summary-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}

.summary-card__inner {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

/* カンプの丸型 P アイコン */
.point-badge-icon {
    width: 54px !important;
    height: 54px !important;
    border: 2px solid #e60012 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #e60012 !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
}

.point-value-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.point-label {
    font-size: 13px !important;
    color: #333333 !important;
    font-weight: 600 !important;
}

.point-number {
    font-size: 38px !important;
    font-weight: 700 !important;
    color: #e60012 !important;
    line-height: 1 !important;
    font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
}

.point-number .point-unit {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    margin-left: 6px !important;
}

/* 利用履歴リスト全体の丸角コンテナ */
.add-point__history-list {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
}

/* 履歴レコード各行の横並びフレックス構造 */
.history-item-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 24px !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: #ffffff !important;
    gap: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.history-item-row:last-child {
    border-bottom: none !important;
}

/* 左側カラム：日付 */
.history-item__date {
    font-size: 14px !important;
    color: #333333 !important;
    font-weight: 500 !important;
    width: 90px !important;
    flex-shrink: 0 !important;
}

.history-item__content-block {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

/* 獲得・利用のステータスバッジ基本定義 */
.status-badge {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 2px 12px !important;
    border-radius: 4px !important;
    line-height: 1.4 !important;
}

/* 獲得：薄ピンク背景に赤文字 */
.status-badge.badge-get {
    background: #fff0f0 !important;
    color: #e60012 !important;
}

/* 利用：薄グレー背景に濃グレー文字 */
.status-badge.badge-use {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

.history-item__title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.discount-desc {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 12px !important;
    color: #666666 !important;
    line-height: 1.5 !important;
}

.discount-desc .memo-link {
    color: #0066cc !important;
    text-decoration: underline !important;
}

/* 仮ポイント用の案内注意文 */
.history-item__temp-note {
    font-size: 12px !important;
    color: #e60012 !important;
    font-weight: 600 !important;
}

/* PC版・右側カラム：ポイント数値（固定幅130pxで綺麗に整列） */
.history-item__value-block {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    width: 130px !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 数値テキスト領域 */
.history-item__value-block .point-display {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
}

/* 単位（pt）部分 */
.add-point__history-list .history-item__value-block .unit {
    display: inline-block !important;
    position: static !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 0 0 4px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    flex: none !important;
    flex-basis: auto !important;
    justify-content: flex-start !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #e60012 !important;
    font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
}

/* プラス（獲得）は赤文字 */
.history-item__value-block.is-plus {
    color: #e60012 !important;
}

/* マイナス（利用）は黒文字 */
.history-item__value-block.is-minus {
    color: #333333 !important;
}
.history-item__value-block.is-minus .unit {
    color: #333333 !important;
}

/* 右端の矢印装飾アイコン */
.history-item__arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
}

.history-item__arrow svg {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
}

/* --------------------------------------------------------------------------
   ポイント履歴：SP版（767px以下）レスポンシブ 【テキスト左寄せ・折り返し最適化】
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .add-point__summary-card {
        padding: 20px !important;
    }
    
    .point-badge-icon {
        width: 44px !important;
        height: 44px !important;
        font-size: 20px !important;
    }
    
    .point-number {
        font-size: 28px !important;
    }

    .history-item-row {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        padding: 16px 12px !important;
        gap: 10px !important;
    }
    .history-item__date {
        width: 72px !important;
        flex: 0 0 72px !important;
        margin-top: 2px !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
        color: #888 !important;
    }
    .history-item__content-block {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        flex-wrap: wrap !important;
    }
    .status-badge {
        display: inline-block !important;
        flex: 0 0 auto !important;
        order: 1 !important;
        margin: 0 2px 0 0 !important;
    }
    .history-item__title {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        display: block !important;
        order: 2 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        font-weight: 700 !important;
        color: #333 !important;
        text-align: left !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }
    .discount-desc {
        display: block !important;
        width: 100% !important;
        order: 4 !important;
        margin-top: 6px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }
    .add-point__history-list .history-item__value-block {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        align-items: baseline !important;
        justify-content: flex-end !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 0 0 auto !important;
        white-space: nowrap !important;
        order: 3 !important;
    }
    .add-point__history-list .history-item__value-block .point-display {
        font-size: 13px !important;
        font-weight: 700 !important;
    }
    .add-point__history-list .history-item__value-block .unit {
        font-size: 11px !important;
    }
    .history-item__arrow {
        display: none !important;
    }
}

/* ==========================================================================
   定期点検サポート
========================================================================== */

/* ヘッダーとイラストを包括するフレックスコンテナ（PC版：横並び） */
.add-mente__header-flex-wrap {
    display: flex !important;
    flex-direction: row !important;         /* PC版はタイトルの横に並べる */
    justify-content: space-between !important;
    align-items: flex-end !important;       /* ★タイトルの下ラインとイラストのボトムを綺麗に同期 */
    width: 100% !important;
    max-width: 800px !important;            /* 左右の余白感を詰めるため、最大幅を800pxに拡張 */
    margin: 0 auto 12px auto !important;    /* ★上部の空きを完全リセット。下側は12pxでカードとの距離を美しく */
    padding-top: 0 !important;
    box-sizing: border-box !important;
    gap: 32px !important;
}

/* ★2594行目の影響を安全に上書き・リセットするブロック */
.add-mente__header-flex-wrap .add-mypage__header-block {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    /* ★ご提案の通りマージンを広げ、イラストの縦幅と一致させて上部のデッドスペースを相殺 */
    margin-bottom: 60px !important; 
}

/* イラストエリアのPC版制御 */
.add-mente__hero-image {
    flex-shrink: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
}

.add-mente__hero-image img {
    width: 100% !important;
    max-width: 290px !important;            /* PC版の大きめイラストサイズ */
    height: auto !important;
    display: block !important;
}

/* 定期点検メインカードコンテナ */
.add-mente__container {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;                   /* 各セクションの間の縦余白 */
    width: 100% !important;
    max-width: 800px !important;            /* 左右のデッドスペースを削減 */
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.add-mente__property-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    width: 100% !important;
}

/* --------------------------------------------------------------------------
   2. 次回点検のご案内カード（薄ピンクグラデーション）
-------------------------------------------------------------------------- */
.add-mente__alert-card {
    background: linear-gradient(180deg, #fff6f6 0%, #fff1f1 100%) !important;
    border: 1px solid #fecaca !important;
    border-radius: 16px !important;
    padding: 40px !important;
    box-shadow: 0 4px 20px rgba(230, 0, 18, 0.01) !important;
    box-sizing: border-box !important;
}

.alert-card__inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 32px !important;
    margin-bottom: 28px !important;
}

/* カレンダーアイコン */
.alert-card__icon-wrap {
    flex-shrink: 0 !important;
    width: 54px !important;
    height: 54px !important;
    background: #ffffff !important;
    border: 2px solid #e60012 !important;
    border-radius: 12px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.alert-card__icon-wrap::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 12px !important;
    background: #e60012 !important;
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
}

.alert-card__icon-wrap::after {
    content: "･･\A･･" !important;
    white-space: pre !important;
    font-size: 20px !important;
    line-height: 10px !important;
    letter-spacing: 2px !important;
    font-weight: bold !important;
    color: #e60012 !important;
    position: absolute !important;
    top: 58% !important;
    left: 52% !important;
    transform: translate(-50%, -50%) !important;
}

.alert-card__info-wrap {
    flex: 1 !important;
    min-width: 0 !important;
}

.alert-card__title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #e60012 !important;
    margin: 0 0 18px 0 !important;
    letter-spacing: 0.02em !important;
}

/* 「予定時期」と「対象物件」の左右並び制御 */
.alert-card__grid {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 80px !important;
}

.grid-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.alert-card__grid .grid-item:first-child {
    width: 160px !important;
    flex-shrink: 0 !important;
}

.grid-label {
    font-size: 12px !important;
    color: #666666 !important;
    font-weight: 600 !important;
}

/* 日付表記 */
.grid-value--large {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #e60012 !important;
    line-height: 1.1 !important;
    font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
    white-space: nowrap !important;
}

.grid-value--property {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    line-height: 1.4 !important;
}

.grid-value--sub {
    font-size: 12px !important;
    color: #707070 !important;
    margin-top: 2px !important;
}

.alert-card__note {
    font-size: 12px !important;
    color: #333333 !important;
    line-height: 1.6 !important;
    margin: 0 0 28px 0 !important;
}

/* 点検予約ボタン */
.alert-card__btn-container {
    width: 100% !important;
}

.add-mente__btn-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 54px !important;
    background: #e60012 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    position: relative !important;
    box-shadow: 0 4px 14px rgba(230, 0, 18, 0.15) !important;
}

.add-mente__btn-submit::after {
    content: '' !important;
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 8px !important;
    height: 8px !important;
    border-top: 2px solid #ffffff !important;
    border-right: 2px solid #ffffff !important;
}

/* --------------------------------------------------------------------------
   3. ご登録物件情報テーブル（★上部マージンの最適化調整）
-------------------------------------------------------------------------- */
.add-mente__info-section {
    width: 100% !important;
    margin-top: 16px !important;            /* ★上のピンクカードとの間の詰まり感を解消し、美しい余白を確保 */
}

.add-mente__section-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    margin: 0 0 18px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.add-mente__section-title::before {
    content: '🏠' !important;
    font-size: 18px !important;
    display: inline-block !important;
    margin-top: -2px !important;
}

.add-mente__data-table {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    width: 100% !important;
}

.table-row {
    display: flex !important;
    flex-direction: row !important;
    border-bottom: 1px solid #edf2f7 !important;
    min-height: 54px !important;
    align-items: center !important;
}

.table-row:last-child {
    border-bottom: none !important;
}

.table-label {
    width: 180px !important;
    background: #f8fafc !important;
    padding: 16px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

.table-value {
    flex: 1 !important;
    padding: 16px 24px !important;
    font-size: 14px !important;
    color: #333333 !important;
    box-sizing: border-box !important;
}

/* 定期点検についてバナーカード */
.add-mente__banner-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 28px 32px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 32px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.banner-card__inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.banner-card__inner::before {
    content: '📖' !important;
    font-size: 32px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

.banner-card__text-wrap {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
}

.banner-card__text-wrap h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    margin: 0 0 6px 0 !important;
}

.banner-card__text-wrap p {
    font-size: 13px !important;
    color: #666666 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.add-mente__btn-link-out {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 220px !important;
    height: 44px !important;
    border: 1px solid #e60012 !important;
    background: #ffffff !important;
    color: #e60012 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.add-mente__btn-link-out::after {
    content: '↗' !important;
    font-size: 12px !important;
    margin-left: 6px !important;
    font-weight: bold !important;
}

/* 下部注意書きエリア */
.add-mente__footer-guide {
    background: #f8fafc !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.guide-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    margin: 0 0 10px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.guide-title::before {
    content: 'ⓘ' !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

.guide-list {
    margin: 0 !important;
    padding-left: 18px !important;
    list-style-type: disc !important;
}

.guide-list li {
    font-size: 12px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    margin-bottom: 6px !important;
}

/* --------------------------------------------------------------------------
   SP版（767px以下）レスポンシブ
-------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .add-mente__header-flex-wrap {
        flex-direction: column !important;
        align-items: center !important;
        gap: 16px !important;
        margin: 0 auto 2px auto !important;
        max-width: 100% !important;
    }

    .add-mente__header-flex-wrap .add-mypage__header-block {
        margin-bottom: 2px !important;
    }

    .add-mente__hero-image img {
        max-width: 260px !important;
    }

    .add-mente__container {
        max-width: 100% !important;
        gap: 24px !important;
        padding: 0 4px !important;
    }

    .add-mente__alert-card {
        padding: 24px 20px !important;
    }

    .alert-card__inner {
        gap: 16px !important;
        margin-bottom: 16px !important;
    }

    .alert-card__grid {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .add-mente__container .alert-card__grid .grid-item:first-child {
        width: 100% !important;
    }

    .grid-value--large {
        font-size: 28px !important;
    }

    .add-mente__btn-submit {
        height: 48px !important;
        font-size: 15px !important;
    }

    /* ★スマホ版登録物件情報の調整 */
    .add-mente__info-section {
        margin-top: 8px !important;
    }

    .table-row {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .table-label {
        width: 100% !important;
        background: #f8fafc !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .table-value {
        width: 100% !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
    }

    .add-mente__banner-card {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px 16px !important;
        gap: 20px !important;
    }

    .add-mente__banner-card .banner-card__btn-wrap {
        width: 100% !important;
        flex-shrink: 0 !important;
    }

    .banner-card__inner::before {
        font-size: 28px !important;
    }

    .add-mente__btn-link-out {
        width: 100% !important;
        max-width: 100% !important;
        height: 42px !important;
    }
}

/* ==========================================================================
   追加：オプション一覧画面（新規作成ページ用・最終デザイン完成版）
   ========================================================================== */
.pc-only { display: block; }
@media screen and (max-width: 768px) {
  .pc-only { display: none; }
}

/* --------------------------------------------------------------------------
   1. タイトル背景画像（Heroエリア）
   -------------------------------------------------------------------------- */
#dvUserBox .add-main__wrapper .add-mypage__option-hero {
  position: relative;
  width: calc(100% + 80px) !important; /* 親要素のパディング40px×2を打ち消して画面端まで広げる */
  margin-left: -40px !important;       /* 左側の隙間をゼロにする */
  margin-right: -40px !important;      /* 右側の隙間をゼロにする */
  margin-top: -24px !important;        /* 上部の隙間も詰める */
  margin-bottom: 48px !important;      /* 下の商品エリアとの絶妙な余白 */
  border-radius: 0px !important;       /* 端まで広げるため角丸を解除 */
  overflow: hidden;
  background-color: #ffffff;
}
/* 1. お問い合わせバナー専用：親要素（外枠）の余白・高さのリセット */
/* お問い合わせバナー専用：他ページへ影響させない安全な指定 */
#dvUserBox .add-main__wrapper .add-mypage__option-hero .option-hero__img {
    width: 100% !important;
    height: auto !important;          /* 320pxの固定高さを解除 */
    max-height: none !important;
    aspect-ratio: 1026 / 320;        /* 1026:320の縦横比に固定して隙間を防止 */
    object-fit: cover !important;
    display: block !important;
    vertical-align: bottom !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 文字エリアの背景色：透明感のある明るいグラデーションへ変更 */
#dvUserBox .add-main__wrapper .add-mypage__option-hero .option-hero__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(90deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 100%) !important;
  padding: 0 60px !important;          /* 文字の位置を少し内側に入れて上品に */
  box-sizing: border-box;
}

/* 文字色を明るい背景に映える高貴な「濃グレー・黒」へ最適化 */
#dvUserBox .add-main__wrapper .add-mypage__option-hero .add-title__page {
  font-size: 36px !important;          /* タイトルをより堂々と大きく */
  font-weight: bold;
  margin-bottom: 36px !important;
  color: #333333 !important;           /* 明るい背景に合わせて引き締まった色へ */
  border: none;
  padding: 0;
  letter-spacing: 0.03em;
}
#dvUserBox .add-main__wrapper .add-mypage__option-hero .option-hero__lead {
  font-size: 15px;
  line-height: 1.7;
  color: #555555 !important;           /* 説明文も読みやすい濃い色へ */
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   2. カテゴリ・グリッド構造（PC版）
   -------------------------------------------------------------------------- */
.add-mypage__option-section {
  margin-bottom: 48px;
}
.add-mypage__category-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  padding-left: 12px;
  border-left: 4px solid #e51717; /* アクセント of 赤ライン */
}

/* 【PC版】商品グリッドレイアウト（1行4商品） */
.add-mypage__options-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px 12px !important;
  box-sizing: border-box;
}

/* 商品カード基本構造 */
.add-mypage__option-item {
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  position: relative;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease !important;
}

/* --------------------------------------------------------------------------
   3. 人気No.1〜5 バッジ制御（main.css強制上書き＆左上寄せ＆ダーク茶文字）
   -------------------------------------------------------------------------- */
/* 元々あった既存・余計なバッジの文字残像を一律で完全に非表示化 */
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-badge,
.add-mypage__item-badge {
  display: none !important;
  content: none !important;
}

/* JSで選ばれた「1〜5番目のカスタムバッジ（is-active付き）」だけをカンペキに配置・有効化 */
#dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-badge-custom.is-active {
    display: block !important;
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background-color: #e51717 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: bold !important;
    padding: 4px 10px !important;
    border-radius: 992px !important;
    z-index: 2 !important;
    content: normal !important;
}

/* --------------------------------------------------------------------------
   4. カード内パーツ・テキスト・ボタン
   -------------------------------------------------------------------------- */
/* オプション商品：画像エリア */
.add-mypage__option-item .add-mypage__item-thumb {
    width: calc(100% + 40px) !important;
    margin-left: -20px !important;
    margin-right: -20px !important;
    margin-top: -20px !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    border-radius: 6px 6px 0 0 !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
    background: #fff !important;
}

/* オプション商品画像 */
.add-mypage__option-item .add-mypage__item-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transform: none !important;
    filter: none !important;
}

.add-mypage__option-item .add-mypage__item-detail {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.add-mypage__option-item .add-mypage__item-name {
  font-size: 18px !important; /* 文字サイズを大きくし、タイトルとしての視認性をアップ */
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 8px;
  color: #333333;
  display: flex !important;
  align-items: flex-start !important;
}
/* 特定の長い商品名（ウィンドウトリートメント）だけ狙い撃ちして1行に収まるよう縮小 */
.add-mypage__option-item[data-prod-name*="ウィンドウトリートメント"] .add-mypage__item-name {
  font-size: 14px !important;
  letter-spacing: -0.03em !important;
}
.add-mypage__option-item .add-mypage__item-text {
  font-size: 14px !important;
  color: #666666;
  line-height: 1.6 !important; /* 行間を広げて読みやすく整える */
  margin-bottom: 24px !important;
  flex-grow: 1; /* テキスト量にかかわらずボタン位置を下に揃える */
}

/* 「見積もりリストに追加」ボタン（通常時：対策案Aの白背景＋赤枠仕様） */
.add-mypage__option-item .add-mypage__item-btn-submit {
  display: block;
  text-align: center;
  background-color: #ffffff !important; /* 背景を白にして赤の面積を大幅カット */
  color: #e51717 !important;            /* 文字色を鮮やかな赤にして視認性をキープ */
  border: 2px solid #e51717 !important; /* 2pxの綺麗な赤枠線を引く */
  font-size: 14px !important;
  font-weight: bold;
  padding: 12px 0 !important;           /* 枠線が2px付いた分、縦パディングを14px→12pxにして全体の高さを統一 */
  border-radius: 4px;
  text-decoration: none;
  position: relative;
  letter-spacing: 0.05em !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important; /* ホバー時のアニメーションを滑らかに */
}

/* ボタン右側の矢印「＞」の色も赤に同調 */
.add-mypage__option-item .add-mypage__item-btn-submit::after {
  content: "＞";
  position: absolute;
  right: 20px !important;
  font-size: 12px !important;
  color: #e51717 !important;
  transition: all 0.25s ease !important;
}

/* 選択中（is-selected）状態のボタン表示コントロール（PC外部CSS上書き用保険） */
.add-mypage__option-item.is-selected .add-mypage__item-btn-submit {
  background-color: #e51717 !important;
  color: #ffffff !important;
  border-color: #e51717 !important;
}
.add-mypage__option-item.is-selected .add-mypage__item-btn-submit::after {
  content: "✓" !important;
  color: #ffffff !important;
  right: 20px !important;
  font-size: 14px !important;
}

/* 【PC版限定】通常時のマウスホバー演出 */
@media (hover: hover) {
  .add-mypage__option-item .add-mypage__item-btn-submit:hover {
    background-color: #e51717 !important;
    color: #ffffff !important;
    opacity: 1 !important;
  }
  .add-mypage__option-item .add-mypage__item-btn-submit:hover::after {
    color: #ffffff !important;
  }
}

/* --------------------------------------------------------------------------
   5. オプション一覧（option.aspx）限定の下部余白の詰め（他ページ影響なし）
   -------------------------------------------------------------------------- */
#dvUserFltContents .add-main__wrapper {
  padding-bottom: 10px !important;
}
#dvUserFltContents .add-mypage__option-section:last-of-type {
  margin-bottom: 20px !important;
}

/* ==========================================================================
   【SP版】レスポンシブ対応（画面幅 768px 以下）絶対配置・バランス最終最適化版
   ========================================================================== */
@media screen and (max-width: 768px) {
  
  /* スマホ版のHeroエリア：余白を詰めて最適化 */
    #dvUserBox .add-main__wrapper .add-mypage__option-hero {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: -16px !important;
        margin-bottom: 32px !important;
        box-sizing: border-box !important;
    }
  #dvUserBox .add-main__wrapper .add-mypage__option-hero .option-hero__img {
    height: 180px !important;
  }
  
  /* ★修正：白グラデーションの不透明度を「0.9→0.75」「0.6→0.45」へ下げて、背景がより透けて見えるように調整 */
  #dvUserBox .add-main__wrapper .add-mypage__option-hero .option-hero__content {
    padding: 0 24px !important;
    background: linear-gradient(90deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.45) 70%, rgba(255,255,255,0) 100%) !important;
  }
  
  /* ★修正：「オプション一覧」見出しの下マージンを 6px → 12px に広げて、説明文との間隔を空けます */
  #dvUserBox .add-main__wrapper .add-mypage__option-hero .add-title__page {
    font-size: 20px !important;
    margin-bottom: 12px !important; /* 隙間を広げて見やすく調整 */
  }
  #dvUserBox .add-main__wrapper .add-mypage__option-hero .option-hero__lead {
    font-size: 12px !important;
  }

  /* セクション見出し（オプション商品など）のフォントサイズを 16px に調整 */
  #dvUserBox .add-main__wrapper .add-mypage__category-title,
  .add-mypage__category-title {
    font-size: 16px !important;
    margin-bottom: 16px !important;
    padding-left: 10px !important;
  }

  /* 親グリッドの横スクロール・vw指定を完全に解除して縦1列に */
  #dvUserBox .add-main__wrapper .add-mypage__options-grid {
    display: block !important;
    overflow-x: visible !important;
    width: 100% !important;
  }
  
  /* 下部余白を詰めたカード全体の土台（高さ164px） */
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 164px !important;
    min-height: 164px !important;
    margin-bottom: 16px !important;
    padding: 16px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }
  
  /* 写真エリア（横幅160px × 高さ120px） */
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-thumb {
        position: absolute !important;
        top: 16px !important;
        left: 16px !important;
        width: 160px !important;
        height: 120px !important;
        margin: 0 !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        display: block !important;
        z-index: 3 !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-thumb img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

  /* テキストエリア */
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-detail {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        z-index: 3 !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-name {
        font-size: 12px !important;
        line-height: 1.4 !important;
        margin: 0 0 4px !important;
        padding: 0 !important;
        text-align: left !important;
        font-weight: bold !important;
        color: #333333 !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-text {
        font-size: 12px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        color: #666666 !important;
    }

  /* 通常時の横長ボタン */
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-btn-submit {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        margin: 18px 0 0 !important;
        padding: 8px 6px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
        background-color: #ffffff !important;
        color: #e51717 !important;
        border: 2px solid #e51717 !important;
        border-radius: 4px !important;
        display: block !important;
        text-align: center !important;
        z-index: 4 !important;
    }

  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-btn-submit::after {
    display: none !important;
    content: none !important;
  }
  
  /* 選択中（is-selected）のボタン */
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item.is-selected .add-mypage__item-btn-submit {
    position: absolute !important;
    top: 88px !important;
    left: 16px !important;
    width: calc(100% - 32px) !important;
    font-size: 10px !important;
    padding: 8px 0 !important;
    background-color: #e51717 !important;
    color: #ffffff !important;
    border-color: #e51717 !important;
  }
  #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item.is-selected .add-mypage__item-btn-submit::after {
    display: inline-block !important;
    content: " ✓" !important;
    position: static !important;
    color: #ffffff !important;
    font-size: 11px !important;
  }

  /* スマホ版人気バッジの位置調整 */
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-badge-custom.is-active {
        top: 24px !important;
        left: 24px !important;
        font-size: 10px !important;
        padding: 3px 8px !important;
        z-index: 5 !important;
    }

/* --------------------------------------------------------------------------
     ★スマホ版限定：下部見積もり固定バーを画面の一番最前面へ強制表示
     -------------------------------------------------------------------------- */
  #dvUserBox .add-main__wrapper .add-mypage__cart-footer-bar,
  .add-mypage__cart-footer-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: rgba(255, 255, 255, 0.98) !important; /* 背景の白をほぼ不透明にして文字の被りを防止 */
    box-shadow: 0 -4px 16px rgba(0,0,0,0.15) !important;
    padding: 12px 16px !important;                     /* スマホ用にパディングを少しスマートに */
    box-sizing: border-box !important;
    display: flex !important;                           /* 横並びを強制 */
    justify-content: space-between !important;          /* 件数とボタンを左右に綺麗に振り分け */
    align-items: center !important;
    z-index: 999999 !important;                         /* ★最重要：他のどんなパーツよりも上に表示 */
  }

  /* バーの中のテキスト */
  #dvUserBox .add-main__wrapper .add-mypage__cart-footer-bar .cart-status-text,
  .cart-status-text {
    font-size: 11px !important;
    color: #333333 !important;
    margin: 0 !important;
    font-weight: bold !important;
  }

  /* バーの中の赤い遷移ボタン */
  #dvUserBox .add-main__wrapper .add-mypage__cart-footer-bar .add-mypage__cart-btn-next,
  .add-mypage__cart-btn-next {
    display: block !important;
    text-align: center !important;
    background-color: #e51717 !important;
    color: #ffffff !important;
    font-size: 12px !important;                         /* スマホに合わせたサイズ */
    font-weight: bold !important;
    padding: 10px 16px !important;                      /* 押しやすいサイズ感 */
    border-radius: 4px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(229, 23, 23, 0.2) !important;
    margin: 0 !important;
  }
}

@media screen and (max-width: 390px) {
    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item {
        padding-left: 148px !important;
        min-height: 137px !important;
    }

    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-thumb {
        width: 140px !important;
        height: 105px !important;
    }

    #dvUserBox .add-main__wrapper .add-mypage__options-grid .add-mypage__option-item .add-mypage__item-btn-submit {
        margin-top: 12px !important;
        font-size: 10px !important;
        padding: 7px 4px !important;
    }
}

/* ==========================================================================
   お見積り依頼フォーム（全体デザイン完全統合・ボタン縦並び重なり完全解消版）
   ========================================================================== */

/* --- 1. メインヘッダー＆サブ（赤・白トーン） --- */
.keiai-form-title {
  font-size: 24px !important;
  font-weight: bold !important;
  color: #e51717 !important;
  text-align: center !important;
  margin: 32px 0 8px 0 !important;
  letter-spacing: 0.02em !important;
}
.keiai-form-sub {
  font-size: 13px !important;
  color: #666666 !important;
  text-align: center !important;
  margin-bottom: 40px !important;
}

/* --- 2. 進捗ステップバー --- */
.keiai-step-bar {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 40px !important;
  margin-bottom: 48px !important;
}
.keiai-step-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.keiai-step-number {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background-color: #e5e5e5 !important;
  color: #666666 !important;
  font-size: 12px !important;
  font-weight: bold !important;
  text-align: center !important;
  line-height: 24px !important;
}
.keiai-step-text {
  font-size: 12px !important;
  color: #666666 !important;
  font-weight: bold !important;
}
.keiai-step-arrow {
  font-size: 12px !important;
  color: #cccccc !important;
}
.keiai-step-item.is-active .keiai-step-number {
  background-color: #e51717 !important;
  color: #ffffff !important;
}
.keiai-step-item.is-active .keiai-step-text {
  color: #e51717 !important;
}

/* --- 3. 見出しパーツ＆必須バッジ＆2色背景の1色統合 --- */
.keiai-section-title {
  font-size: 16px !important;
  font-weight: bold !important;
  color: #333333 !important;
  margin: 40px 0 16px 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* main.css 3745行目の強力な二重余白とグレー背景をピンポイントで完全無効化 */
#dvUserInquiryInput .dvUserInfo .add-set .add-mypage__unit1,
#dvUserInquiryInput .dvUserInfo .add-mypage__unit1 {
  background: transparent !important;
  padding-top: 16px !important;
  box-shadow: none !important;
  border: none !important;
}

/* フォーム全体のコンテナ背景色が `#FAFAFA` になるよう外枠を確実担保 */
#dvUserInquiryInput {
  background-color: #FAFAFA !important;
}

/* 最初の見出し「1. 物件名称を選択してください」自体の上のマージンを完全ゼロ化 */
#dvUserInquiryInput .dvUserInfo .add-mypage__unit1 > .keiai-section-title:first-of-type {
  margin-top: 0px !important;
}

.keiai-badge-required {
  background-color: #e51717 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
  margin-left: 8px !important;
  font-weight: normal !important;
}

/* 物件名称のプルダウンとモダンな矢じるし（▼）調整 */
.add-u__form-select-wrapper {
  position: relative !important;
  width: 100% !important;
  max-width: 450px !important;
  display: block !important;
}
.property-select-field {
  width: 100% !important;
  max-width: 100% !important;
  height: 44px !important;
  border: 1px solid #cccccc !important;
  border-radius: 4px !important;
  padding: 0 40px 0 12px !important;
  font-size: 14px !important;
  color: #333333 !important;
  background: #ffffff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23707070" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') right 12px center / 18px no-repeat !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

/* --- 4. 商品選択枠レイアウト（PC版：綺麗な4列グリッド＆チェックボックス右寄せ） --- */
.keiai-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.product-item {
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  padding: 16px !important;
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
}
.product-item.is-checked-card {
  border-color: #e51717 !important;
  background-color: #fffafb !important;
}
.product-item-checkbox {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.checkbox-item {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.checkbox-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 4px !important;
    margin: 0 0 12px 0 !important;
}

.product-name {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #333333 !important;
  margin-bottom: 6px !important;
  padding-right: 24px !important;
}
.product-text {
  font-size: 11px !important;
  color: #666666 !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
}

.product-item-checkbox input[type="checkbox"] {
  position: absolute !important;
  top: 0px !important;
  right: 0px !important;
  margin: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border: 1px solid #cccccc !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  z-index: 3 !important;
  background-color: #ffffff !important;
}
.product-item-checkbox input[type="checkbox"]:checked {
  background-color: #e51717 !important;
  border-color: #e51717 !important;
}
.product-item-checkbox input[type="checkbox"]:checked:before {
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  transform: rotate(45deg) !important;
  width: 5px !important;
  height: 10px !important;
  border-right: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  content: "" !important;
}

.keiai-product-wrapper {
  width: 100% !important;
}
.keiai-product-more {
  text-align: center !important;
  margin: 24px 0 !important;
  width: 100% !important;
}
.keiai-btn-more {
  display: inline-block !important;
  padding: 12px 36px !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #555555 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: .2s !important;
}
.keiai-btn-more:hover {
  background: #f5f5f5 !important;
}

/* --- 5. メモエリア（テキストエリア） --- */
.keiai-textarea-wrapper {
  position: relative !important;
  width: 100% !important;
}
.keiai-textarea {
  width: 100% !important;
  height: 140px !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  padding: 16px !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  background-color: #ffffff !important;
}
.keiai-char-count {
  text-align: right !important;
  font-size: 12px !important;
  color: #999999 !important;
  margin-top: 4px !important;
}

/* --- 6. 添付ファイルエリア：W2インナー要素完全制御（★絶対配置完全撤廃・3行独立積み上げ版） --- */
#dvUserInquiryInput .keiai-upload-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important; /* 左右にきっちり50%ずつ分配 */
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 16px !important;
}

/* 白いカード枠の土台定義 */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box {
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  padding: 36px 50px 20px 50px !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important; /* 縦中央揃え */
  gap: 20px !important;
  position: relative !important;
}

/* 左側の丸アイコン土台 */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box::before{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:60px !important;
    height:60px !important;
    border-radius:50% !important;
    background:#fff6f6 !important;
    border:1px solid #fde3e3 !important;
    flex-shrink:0 !important;
    font-size:24px !important;
    box-sizing:border-box !important;
    transform:translateY(-10px);
    transition:.25s;
    line-height:1.6 !important; 
}
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box:hover::before{
    background:#ffecec !important;
    border-color:#f7b9b9 !important;
}
#dvUserInquiryInput .keiai-upload-container .keiai-upload-photo::before { content: "📷" !important; }
#dvUserInquiryInput .keiai-upload-container .keiai-upload-pdf::before { content: "📄" !important; }

/* W2標準インナーコンテナ：縦並びを確定させ、余計な高さを出さない */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box .file-upload-box {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important; 
  align-items: flex-start !important; 
  justify-content: center !important;
  gap: 0 !important; /* コンテナ側の隙間をゼロにして要素同士のmarginで制御 */
  flex: 1 !important;
  margin-top: 15px;
}

/* W2標準のノイズ要素を一括完全非表示 */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box p.file-upload-box-content:nth-of-type(1),
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box .dd-file-select-icon,
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box p.file-upload-box-content svg,
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box .file-upload-box-content,
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box [class*="file-upload-box-content"],
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box .btn-inverse,
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box .btn {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 中央の文字エリア：重なりの原因となっていた `position: relative` 内の挙動をリセット */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box p.file-upload-box-content:nth-of-type(2) {
  display: flex !important;
  flex-direction: column !important;   /* 1行目と2行目を縦並びに */
  align-items: flex-start !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: bold !important;
  color: #333333 !important;
  margin: 0 0 12px 0 !important;       /* ★3行目のボタンとの間に「12px」の安全な余白を確保 */
  padding: 0 !important;
  white-space: nowrap !important;
  width: 100% !important;
  gap: 4px !important;                  /* タイトル文言と注記の間の余白 */
  position: static !important;          /* ★重要：擬似要素の基準にさせないためstaticにリセット */
}

/* ★CSS側から安全に「JPG/PNG・PDFの容量上限注記」を2行目にインジェクション */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-photo p.file-upload-box-content:nth-of-type(2)::before {
  content: "JPG / PNG（最大5枚・1枚10MBまで）" !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: normal !important;
  color: #777777 !important;
  margin-top: 4px !important;
  order: 2 !important;
}
#dvUserInquiryInput .keiai-upload-container .keiai-upload-pdf p.file-upload-box-content:nth-of-type(2)::before {
  content: "PDF（最大5枚・1枚10MBまで）" !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: normal !important;
  color: #777777 !important;
  margin-top: 4px !important;
  order: 2 !important;
}

#dvUserInquiryInput .keiai-upload-container .keiai-upload-box p.file-upload-box-content:nth-of-type(2) {
  content: normal !important;
}

/* ★完全解決：重なりの原因になっていた `position: absolute` を一律で完全に解除・リセット */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box .file-upload-box::after {
    content: "ファイルを選択" !important;
    position: static !important;
    transform: none !important;
    top: auto !important;
    right: auto !important;
    display: inline-block !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #cccccc !important;
    border-radius: 16px !important;
    padding: 6px 18px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    box-shadow: none !important;
    order: 3 !important;
    flex-shrink: 0 !important;
    margin-top: 20px !important;
}

/* 本物のファイルインプットを透過させて全面拡張し、どこを押しても反応するようにする */
#dvUserInquiryInput .keiai-upload-container .keiai-upload-box input[type="file"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 10 !important;
}

/* --- 6-2. 画像やPDFがアップロードされている間（プレビューが存在する時）の最適化表示 --- */
#dvUserInquiryInput .keiai-upload-box:has(.uploaded-file-chip) {
  padding: 16px !important;
  background: #ffffff !important; 
}
#dvUserInquiryInput .keiai-upload-box:has(.uploaded-file-chip)::before,
#dvUserInquiryInput .keiai-upload-box:has(.uploaded-file-chip) p.file-upload-box-content:nth-of-type(2),
#dvUserInquiryInput .keiai-upload-box:has(.uploaded-file-chip) .file-upload-box::after {
  display: none !important;
  content: none !important;
}
#dvUserInquiryInput .keiai-upload-box:has(.uploaded-file-chip) input[type="file"] {
  width: 0 !important;
  height: 0 !important;
  z-index: -1 !important;
}

/* アップロード完了後のファイル名・削除ボタン・プレビュー画像の美化 */
.keiai-upload-box > div[id^="dvUploadedImages_"] {
  width: 100% !important;
  display: block !important;
}
.uploaded-file-chip {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 12px !important;
  gap: 16px !important;
}
.uploaded-file-chip p {
  font-size: 13px !important;
  font-weight: bold !important;
  color: #333333 !important;
  word-break: break-all !important;
}
.uploaded-file-chip .add-u__btn-mini,
.uploaded-file-chip button {
  background: #ffffff !important;
  border: 1px solid #333333 !important;
  border-radius: 16px !important;
  color: #333333 !important;
  padding: 4px 14px !important;
  font-size: 11px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background 0.2s !important;
}
.uploaded-file-chip .add-u__btn-mini:hover {
  background: #f5f5f5 !important;
}
.uploaded-file-preview {
  width: 120px !important;
  height: 120px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  border: 1px solid #e5e5e5 !important;
}
.uploaded-file-preview img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* --- 7. ラジオボタンコンテナ --- */
.keiai-radio-container {
  display: flex !important;
  gap: 32px !important;
  padding: 8px 0 !important;
}
.keiai-radio-container label {
  font-size: 13px !important;
  color: #333333 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* --- 8. 最下部確認ボタンまわり（Captcha未チェック時のグレーアウト制御） --- */
.keiai-captcha-zone {
  display: flex !important;
  justify-content: center !important;
  margin: 40px 0 24px 0 !important;
}
.dvUserBtnBox #keiai-submit-button-container {
  display: block !important;
}
.dvUserBtnBox .btn-inverse {
  display: inline-block !important;
  background-color: #e51717 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 16px 64px !important;
  font-size: 15px !important;
  font-weight: bold !important;
  border-radius: 24px !important;
  box-shadow: 0 4px 12px rgba(229, 23, 23, 0.2) !important;
  transition: background-color 0.2s, opacity 0.2s !important;
  cursor: pointer !important;
  text-decoration: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.dvUserBtnBox .btn-inverse:hover {
  background-color: #b81010 !important;
}
.dvUserBtnBox .btn-inverse.keiai-btn-disabled {
  background-color: #cccccc !important;
  color: #ffffff !important;
  box-shadow: none !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
}

/* ==========================================================================
   【SP版】レスポンシブ対応（画面幅 767px 以下に完全集約）
   ========================================================================= */
@media screen and (max-width: 767px) {
  .keiai-form-title {
    font-size: 20px !important;
  }
  .keiai-step-bar {
    gap: 12px !important;
    margin-bottom: 32px !important;
  }
  .keiai-step-arrow {
    display: none !important;
  }
  .keiai-step-text {
    font-size: 10px !important;
  }
  .property-select-field {
    max-width: 100% !important;
  }

  .keiai-product-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .product-item {
    display: flex !important;
    padding: 12px !important;
  }
  .product-item-checkbox {
    align-items: center !important;
    flex-direction: row !important;
  }
  .checkbox-item {
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .checkbox-item img {
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 0 !important;
  }
  .product-item-checkbox input[type="checkbox"] {
    position: static !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
  }
  
  #dvUserInquiryInput .keiai-upload-container {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  #dvUserInquiryInput .keiai-upload-container .keiai-upload-box {
    padding: 30px 30px !important;
  }
  
  #dvUserInquiryInput .dvUserInfo .add-set .add-mypage__unit1,
  #dvUserInquiryInput .dvUserInfo .add-mypage__unit1 {
    padding-top: 12px !important;
  }

  .keiai-radio-container {
    gap: 16px !important;
  }
  .dvUserBtnBox .btn-inverse {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 6px !important;
    padding: 14px 0 !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   お見積り依頼：確認画面（Design Renewal Version・2-2-2配置＆丸角統一決定版）
   ========================================================================== */

/* 確認画面全体のコンテナ・背景を#FAFAFA1色へ統合 */
#dvUserInquiryConfirm.keiai-confirm-wrapper {
  background-color: #FAFAFA !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 32px !important;
}

/* 不要な標準テーブル構造スタイルをリセット・無効化 */
#dvUserInquiryConfirm .dvUserInfo.unit {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
#dvUserInquiryConfirm table, 
#dvUserInquiryConfirm tr, 
#dvUserInquiryConfirm th, 
#dvUserInquiryConfirm td {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* １．2・2・2配置：2列の美しいグリッドレイアウト基盤 */
.keiai-confirm-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important; /* 1行に2個ずつ均等に並べる */
  gap: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 白背景＋薄いグレー線のモダンな確認カード（高さを揃えてビシッと整列） */
.keiai-confirm-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
  min-height: 120px !important; /* カードの最低高さを揃え、2-2-2の並びが絶対に崩れないようにします */
}

/* 2・2・2の並びを完全維持するため、1行ぶち抜き(span 2)の古い指定を完全に無効化 */
.keiai-confirm-card--full {
  grid-column: auto !important; /* 他のカードと全く同じ「1マスの均等サイズ」に統一 */
}

/* 項目見出し（小さめのスタイリッシュなグレー文字） */
.keiai-confirm-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  letter-spacing: 0.03em !important;
}

/* 入力データテキスト（引き締まった黒太文字） */
.keiai-confirm-value {
    margin-top: 0 !important;
    padding-top: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.5 !important;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

/* ２．申し込み内容の箇条書き最適化（赤線＋テキスト回り込み自動字下げ） */
.keiai-confirm-label{
    margin-bottom:4px !important;
    padding-bottom:0 !important;
}

.keiai-confirm-value{
    margin-top:0 !important;
    padding-top:0 !important;
}

.keiai-confirm-value--text{
    margin-top:0 !important;
    padding-top:0 !important;
    padding:0 0 8px 18px !important;
    line-height:1.7 !important;
}

/* PDFファイル名の装飾 */
.keiai-confirm-value--pdf {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}

/* --- 3. アクションボタン：完全なる丸角デザインの統一 --- */
.keiai-confirm-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  margin-top: 48px !important;
  width: 100% !important;
}

/* 「内容を修正する（戻る）」ボタン：白背景＋黒細枠（丸角カプセル） */
.keiai-btn-confirm-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 240px !important;
  height: 50px !important;
  background-color: #ffffff !important;
  color: #333333 !important;
  border: 1px solid #cccccc !important;
  border-radius: 25px !important; /* 完全な丸角カプセル型 */
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
}
.keiai-btn-confirm-back:hover {
  background-color: #f8fafc !important;
  color: #333333 !important;
  opacity: 1 !important;
}

/* 「この内容で申請する」ボタン：ブランド鮮やかレッド（完全丸角カプセル型へアップデート） */
.keiai-btn-confirm-send {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 280px !important;
  height: 50px !important;
  background-color: #e51717 !important; /* 鮮やかな赤色 */
  color: #ffffff !important;
  border: none !important;
  border-radius: 25px !important; /* ★ここを25pxにし、戻るボタンと完璧にシンクロする丸角に統一しました */
  font-size: 15px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(229, 23, 23, 0.15) !important;
}
.keiai-btn-confirm-send:hover {
  background-color: #b81010 !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

/* ==========================================================================
   【SP版】確認画面レスポンシブ対応（767px以下）
   ========================================================================== */
@media screen and (max-width: 767px) {
  /* スマホ版：自動で縦1列に美しく組み替え */
  .keiai-confirm-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  
  .keiai-confirm-card {
    padding: 16px !important;
    border-radius: 8px !important;
    min-height: auto !important; /* スマホ版では高さの固定をリセット */
  }
  
  .keiai-confirm-card--full {
    grid-column: auto !important;
  }
  
  /* スマホ版：ボタンを100%いっぱいに広げて縦積みに変更 */
  .keiai-confirm-actions {
    flex-direction: column-reverse !important; /* 戻るボタンが下になる押しやすい配置 */
    gap: 16px !important;
    margin-top: 32px !important;
  }
  
  .keiai-btn-confirm-back,
  .keiai-btn-confirm-send {
    width: 100% !important;
    min-width: auto !important;
    height: 46px !important;
    border-radius: 23px !important; /* スマホのボタン高さにジャストフィットさせた綺麗な丸角 */
  }
}

/* ==========================================================================
   お見積り依頼：完了画面（Design Renewal Version）
   ========================================================================== */
#dvUserRegistComplete {
  margin-top: 32px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 完了カード本体 */
#dvUserRegistComplete .unit {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
  padding: 40px !important;
  box-sizing: border-box !important;
}

/* チェックアイコン（美しいブランドグリーンとシャドウ） */
.keiai-complete-icon {
  width: 82px !important;
  height: 82px !important;
  margin: 0 auto 20px !important;
  border-radius: 50% !important;
  background: #fff3f3 !important; /* 安心感のあるグリーン */
  color: #e51717 !important;
  font-size: 44px !important;
  font-weight: bold !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-shadow: 0 8px 20px rgba(46, 125, 50, 0.2) !important;
}

/* 受付完了タイトル */
.keiai-complete-title {
  text-align: center !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin: 0 0 24px 0 !important;
  letter-spacing: 0.02em !important;
}

/* 案内本文 */
#dvUserRegistComplete .completeInfo {
  text-align: center !important;
  font-size: 15px !important;
  color: #333333 !important;
  line-height: 1.9 !important;
  margin: 0 0 24px 0 !important;
}
#dvUserRegistComplete .completeInfo strong {
  color: #e51717 !important; /* 営業日数を赤文字で強調してユーザーフレンドリーに */
}

/* 区切り線（ノイズにならない薄グレー） */
.keiai-complete-line {
  border: none !important;
  border-top: 1px solid #edf2f7 !important;
  margin: 32px 0 !important;
}

/* 下部ご案内カード（トンマナを合わせて角丸を12pxに統一） */
.keiai-complete-info {
  background: #fafafa !important; 
  border-left: 4px solid #e51717 !important; 
  border-radius: 12px !important; 
  padding: 24px !important; 
  box-sizing: border-box !important;
}

.keiai-complete-info p { 
  margin: 0 0 12px 0 !important; 
  font-size: 16px !important; 
  font-weight: 700 !important; 
  color: #1e293b !important; 
}

/* ★修正：user.css の list-style: none; を強制的に上書きして「・」を復活させます */
.keiai-complete-list { 
  margin: 0 !important; 
  padding-left: 20px !important; 
  list-style: disc !important; /* 標準の「・」を指定 */
}

.keiai-complete-list li { 
  margin: 8px 0 !important; 
  line-height: 1.7 !important; 
  color: #475569 !important; 
  font-size: 13px !important; 
  display: list-item !important; /* ★最重要：user.cssによって消された「リスト要素としての挙動」を強制復活 */
  list-style-type: disc !important; /* ★二重の保険で「・」を強制出力 */
}

.keiai-complete-list {
  margin: 0 !important;
  padding-left: 20px !important;
  list-style-type: disc !important;
}

.keiai-complete-list li {
  margin: 8px 0 !important;
  line-height: 1.7 !important;
  color: #475569 !important;
  font-size: 13px !important;
}

/* フォーム共通：最下部「トップページへ戻る」ボタン（完全丸角カプセル型） */
#dvUserRegistComplete .add-u__complete-actions {
  text-align: center !important;
  margin-top: 48px !important;
  width: 100% !important;
}

.keiai-btn-complete-home {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 280px !important;
  height: 52px !important;
  background-color: #e51717 !important; /* 鮮やかなKEIAIレッド */
  color: #ffffff !important;
  border: none !important;
  border-radius: 26px !important; /* 他のボタンと同系統の美しい完全丸角 */
  font-size: 15px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(229, 23, 23, 0.15) !important;
  cursor: pointer !important;
}

.keiai-btn-complete-home:hover {
  background-color: #b81010 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(229, 23, 23, 0.25) !important;
}

/* ==========================================================================
   【SP版】完了画面レスポンシブ（767px以下）
   ========================================================================== */
@media screen and (max-width: 767px) {
  #dvUserRegistComplete .unit {
    padding: 24px 16px !important;
    border-radius: 8px !important;
  }
  .keiai-complete-icon {
    width: 68px !important;
    height: 68px !important;
    font-size: 36px !important;
    margin-bottom: 16px !important;
  }
  .keiai-complete-title {
    font-size: 22px !important;
    margin-bottom: 18px !important;
  }
  #dvUserRegistComplete .completeInfo {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }
  .keiai-complete-info {
    padding: 16px !important;
    border-radius: 8px !important;
  }
  .keiai-complete-info p {
    font-size: 14px !important;
  }
  .keiai-complete-list li {
    font-size: 12px !important;
  }
  #dvUserRegistComplete .add-u__complete-actions {
    margin-top: 32px !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }
  /* スマホ版：横幅いっぱいの押しやすい丸角バーに変形 */
  .keiai-btn-complete-home {
    width: 100% !important;
    min-width: auto !important;
    height: 48px !important;
    border-radius: 24px !important;
    font-size: 14px !important;
  }
}

/*=========================================
 オプションサービス紹介
=========================================*/
.option-guide-box{
    margin:32px 0 40px;
    padding:32px 38px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(0,0,0,.05);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}
.option-guide-content{
    flex:1;
}
.option-guide-title{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:24px;
    font-weight:700;
    color:#222;
    margin-bottom:18px;
}
.option-guide-title::before{
    content:"🛋";
    font-size:28px;
}
.option-guide-text{
    font-size:15px;
    color:#555;
    line-height:2;
}
.option-guide-btn{
    flex-shrink:0;
}
.option-guide-btn a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    height:52px;
    border-radius:30px;
    background:#e51717;
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:bold;
    transition:.25s;
}
.option-guide-btn a:hover{
    background:#c51414;
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(229,23,23,.25);
}

/*========================
 SP
========================*/
@media(max-width:767px){

.option-guide-box{
    display:block;
    padding:24px;
    margin:24px 0 32px;
}
.option-guide-title{
    font-size:18px;
}
.option-guide-text{
    font-size:12px;
    line-height:1.9;
}
.option-guide-btn{
    margin-top:22px;
}
.option-guide-btn a{
    width:100%;
    min-width:inherit;
}
}

/*=========================================================
  リフォーム・太陽光ガイド
=========================================================*/
.keiai-guide-box{
    margin:24px;
    padding:24px 28px;
    background:#fffaf8;
    border:1px solid #f1d4d4;
    border-left:5px solid #e51717;
    border-radius:10px;
    box-sizing:border-box;
    box-shadow:0 4px 12px rgba(0,0,0,.04);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.keiai-guide-content{
    flex:1;
}

.keiai-guide-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    font-size:20px;
    font-weight:700;
    color:#333333;
}

.keiai-guide-text{
    font-size:14px;
    line-height:1.9;
    color:#555555;
}

.keiai-guide-link{
    flex-shrink:0;
}

.keiai-guide-link a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    height:46px;
    padding:0 28px;
    border-radius:24px;
    border:1px solid #e51717;
    background:#ffffff;
    color:#e51717;
    font-size:14px;
    font-weight:700;
    text-decoration:none;

    transition:.25s;
}

.keiai-guide-link a:hover{
    background:#e51717;
    color:#ffffff;
    transform:translateY(-2px);
    box-shadow:0 8px 16px rgba(229,23,23,.20);
}

/*==============================
 SP
==============================*/
@media screen and (max-width:767px){
    .keiai-guide-box{
        display:block;
        margin-top:18px;
        padding:18px;
    }
    .keiai-guide-title{
        font-size:16px;
        line-height:1.4;
    }
    .keiai-guide-text{
        font-size:12px;
        line-height:1.8;
        margin-bottom:20px;
    }
    .keiai-guide-link{
        margin-top:18px;
    }
    .keiai-guide-link a{
        width:100%;
        min-width:inherit;
        height:44px;
        font-size:13px;
    }
}

/* ==========================================================================
   サービス利用申請画面専用：3列カードグリッド対応（PC:3列 / SP:縦型大判カード）
   ========================================================================== */
.keiai-product-grid--3cols {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important; /* PC版：美しい均等な3列 */
  gap: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* PC版の画像高さ調整 */
.keiai-product-grid--3cols .checkbox-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
}

/* サービス案内内のお問い合わせフォームリンク */
.keiai-inquiry-link {
    color: #e51717 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.keiai-inquiry-link:hover {
    color: #c91414 !important;
    text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   【SP版】スマホ表示レスポンシブ最適化（767px以下）
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  /* スマホ時は縦にカードを1列に積む */
  .keiai-product-grid--3cols {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* カード本体：★アイコンが見切れないように親要素の制限を解除し、代わりに画像側を丸めます */
  .keiai-product-grid--3cols .product-item {
    display: block !important;
    padding: 0 !important;
    overflow: visible !important; /* ★ visible に変更して見切れを完全解消！ */
    position: relative !important;
    background: #ffffff !important;
    border-radius: 12px !important;
  }

  /* ラベル要素 */
  #dvUserBox .keiai-product-grid--3cols label,
  .keiai-product-grid--3cols .product-item-checkbox {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  /* 上画像・下テキストの縦積みを強制確定 */
  .keiai-product-grid--3cols .checkbox-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* スマホ版の画像：カードの丸角に合わせて、画像の上2つの角も完全に同期させて丸めます */
  .keiai-product-grid--3cols .checkbox-item img.category-img,
  .keiai-product-grid--3cols .checkbox-item img {
    width: 100% !important;
    height: 180px !important;
    max-height: 180px !important;
    object-fit: cover !important;
    object-position: top center !important;
    border-top-left-radius: 11px !important;  /* ★カードの枠にピタッと沿うように丸める */
    border-top-right-radius: 11px !important; /* ★カードの枠にピタッと沿うように丸める */
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
    display: block !important;
  }

  /* テキストブロックの左右余白 */
  .keiai-product-grid--3cols .product-name,
  .keiai-product-grid--3cols .category-price,
  .keiai-product-grid--3cols .category-text,
  .keiai-product-grid--3cols .product-text,
  .keiai-product-grid--3cols .checkbox-item [style*="color:#e51717"] {
    display: block !important;
    width: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* 商品タイトル */
  .keiai-product-grid--3cols .product-name,
  .keiai-product-grid--3cols .checkbox-item .product-name {
    font-size: 16px !important;
    font-weight: bold !important;
    color: #222222 !important;
    margin: 16px 0 6px 0 !important;
    line-height: 1.4 !important;
  }

  /* サービス価格（赤文字） */
  .keiai-product-grid--3cols .category-price,
  .keiai-product-grid--3cols .checkbox-item [style*="color:#e51717"] {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #e51717 !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.4 !important;
  }

  /* 説明文 */
  .keiai-product-grid--3cols .category-text,
  .keiai-product-grid--3cols .product-text {
    font-size: 13px !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    margin: 0 0 16px 0 !important;
    white-space: normal !important;
  }

  /* ★バグ解決：W2標準の2重チェックボックスのノイズ側を完全に消去します */
  .keiai-product-grid--3cols .category-checkbox span,
  .keiai-product-grid--3cols .category-checkbox label,
  .keiai-product-grid--3cols .category-checkbox::before,
  .keiai-product-grid--3cols .category-checkbox::after {
    display: none !important;
    content: none !important;
  }

  /* ★最重要：本物のチェックボックスだけを右上の美しい位置に絶対配置で固定します */
  .keiai-product-grid--3cols .category-checkbox input[type="checkbox"],
  .keiai-product-grid--3cols input[type="checkbox"] {
    position: absolute !important;
    top: 14px !important;    /* 画像の右上から絶妙なマージンで配置 */
    right: 14px !important;  /* 画像の右上から絶妙なマージンで配置 */
    margin: 0 !important;
    z-index: 10 !important;
    width: 24px !important;
    height: 24px !important;
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 4px !important;
    appearance: none !important; /* 標準のデザインをクリア */
    display: block !important;
  }

  /* チェックが入った瞬間の美しい赤背景と白チェックマークの指定 */
  .keiai-product-grid--3cols input[type="checkbox"]:checked {
    background-color: #e51717 !important;
    border-color: #e51717 !important;
  }
  .keiai-product-grid--3cols input[type="checkbox"]:checked:before {
    position: absolute !important;
    top: 3px !important;
    left: 8px !important;
    transform: rotate(45deg) !important;
    width: 5px !important;
    height: 11px !important;
    border-right: 2px solid #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
    content: "" !important;
  }
}

/* ==========================================================================
   お問合せ入力画面
   ========================================================================== */
/* 全体背景と2カラムレイアウト基盤 */
#dvUserInquiryInput {
  background-color: #FAFAFA !important;
}
.common-container__column {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}
.common-container__column .main {
  flex: 1 !important;
  min-width: 0 !important;
}
.common-container__column .side {
  width: 320px !important;
  flex-shrink: 0 !important;
}

/* W2インナーのノイズ背景・余白を完全無効化 */
#dvUserInquiryInput .dvUserInfo .add-set .add-mypage__unit1,
#dvUserInquiryInput .dvUserInfo .add-mypage__unit1 {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

/* フォーム項目のタイトル */
#dvUserInquiryInput .keiai-section-title {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #333333 !important;
  margin-bottom: 8px !important;
  margin-top: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#dvUserInquiryInput .keiai-section-title:first-of-type {
  margin-top: 0 !important;
}

/* 必須バッジ */
#dvUserInquiryInput .keiai-badge-required {
  background-color: #e51717 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: normal !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
  line-height: 1 !important;
}

/* プルダウン＆通常のテキスト入力フィールドの最適化 */
#dvUserInquiryInput .property-select-field {
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  color: #333333 !important;
  background-color: #ffffff !important;
  background-image: none !important; /* ★通常のTextBox欄（input）は背景画像を完全クリア */
  box-sizing: border-box !important;
}

/* ★プルダウン（select）本体のデザインと新しい矢印（1本のみ）の設定 */
#dvUserInquiryInput select.property-select-field {
  padding-right: 40px !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  height: 48px !important;
  width: 100% !important;
  font-size: 14px !important;
  color: #333333 !important;
  
  /* 既存のW2標準の背景画像を完全に上書きクリア */
  background: #ffffff !important; 
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23707070" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 18px !important;
  
  /* ブラウザ標準の矢印を消去 */
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
}

/* ★二重の犯人はこれ！W2標準がプルダウンの親要素（ラッパー）に仕込んでいる矢印を強制粉砕します */
#dvUserInquiryInput .add-u__form-select-wrapper::after,
#dvUserInquiryInput .add-u__form-select-wrapper::before,
#dvUserInquiryInput .add-u__form-select-wrapper [class*="arrow"],
#dvUserInquiryInput .add-u__form-select-wrapper [class*="icon"] {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}

/* IE/Edge用の古い標準矢印も重ねて防御 */
#dvUserInquiryInput select.property-select-field::-ms-expand {
  display: none !important;
}

/* お問い合わせ内容リッチテキストエリア */
#dvUserInquiryInput .keiai-textarea-wrapper {
  position: relative !important;
  width: 100% !important;
}
#dvUserInquiryInput .keiai-textarea {
  width: 100% !important;
  max-width: 100% !important;
  height: 200px !important;
  border: 1px solid #cccccc !important;
  border-radius: 6px !important;
  padding: 12px !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: #333333 !important;
  background-color: #ffffff !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}
#dvUserInquiryInput .keiai-textarea::placeholder {
  color: #aaaaaa !important;
}
#dvUserInquiryInput .keiai-char-count {
  text-align: right !important;
  font-size: 12px !important;
  color: #888888 !important;
  margin-top: 4px !important;
}

/* ご希望の連絡方法 */
#dvUserInquiryInput .keiai-radio-container {
    width: 100%;
    max-width: 546px;
    padding: 8px 0 !important;
}
#dvUserInquiryInput .keiai-radio-container > span {
    display: flex !important;
    width: 100% !important;
    gap: 12px !important;
}
/* ラジオ本体は非表示 */
#dvUserInquiryInput .keiai-radio-container input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* カード */
#dvUserInquiryInput .keiai-radio-container label {
    position: relative !important;
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 110px !important;
    padding: 20px 16px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #333 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}
/* 擬似ラジオ */
#dvUserInquiryInput .keiai-radio-container label::before {
    content: "" !important;
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #c7c7c7 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
/* 選択 */
#dvUserInquiryInput .keiai-radio-container input[type="radio"]:checked + label {
    border: 2px solid #e51717 !important;
    background: #fff7f7 !important;
    box-shadow: 0 6px 16px rgba(229, 23, 23, .10) !important;
}
/* 選択時の丸 */
#dvUserInquiryInput .keiai-radio-container input[type="radio"]:checked + label::before {
    border-color: #e51717 !important;
}
#dvUserInquiryInput .keiai-radio-container input[type="radio"]:checked + label::after {
    content: "" !important;
    position: absolute !important;
    top: 17px !important;
    left: 17px !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #e51717 !important;
}
/* Hover */
#dvUserInquiryInput .keiai-radio-container label:hover {
    border-color: #e51717 !important;
}
/* アイコン */
#dvUserInquiryInput .contact-icon{display:block;font-size:22px;line-height:1;margin-bottom:10px}
/* テキスト */
#dvUserInquiryInput .contact-text{display:block;font-size:14px;font-weight:700;line-height:1.45;color:#333;text-align:center}
/* SP */
@media screen and (max-width:767px){
    #dvUserInquiryInput .keiai-radio-container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 4px 0 !important;
    }
    #dvUserInquiryInput .keiai-radio-container > span {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    #dvUserInquiryInput .keiai-radio-container label {
        flex: none !important;
        width: 100% !important;
        min-height: 72px !important;
        height: 72px !important;
        padding: 0 16px 0 52px !important;
        justify-content: flex-start !important;
        align-items: center !important;
        text-align: left !important;
        font-size: 14px !important;
    }
    #dvUserInquiryInput .keiai-radio-container label::before {
        top: 50% !important;
        left: 16px !important;
        width: 20px !important;
        height: 20px !important;
        transform: translateY(-50%) !important;
    }
    #dvUserInquiryInput .keiai-radio-container input[type="radio"]:checked + label::after {
        top: 50% !important;
        left: 22px !important;
        width: 8px !important;
        height: 8px !important;
        transform: translateY(-50%) !important;
    }
    #dvUserInquiryInput .contact-icon{display:inline-block;font-size:18px;margin:0 8px 0 0}
    #dvUserInquiryInput .contact-text{display:inline;font-size:14px}
}

/* --------------------------------------------------------------------------
   レスポンシブ対応（スマホ表示：767px以下での最適化）
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  /* スマホ時は2カラムを解体し縦一列にする */
  .common-container__column {
    flex-direction: column !important;
    gap: 24px !important;
    padding: 0 16px !important;
  }
  .common-container__column .side {
    width: 100% !important;
  }

  /* ラジオボタンをスマホ時に縦1列に積み上げる */
  #dvUserInquiryInput .keiai-radio-container > span {
    flex-direction: column !important;
    gap: 10px !important;
  }
  #dvUserInquiryInput .keiai-radio-container label {
    padding: 12px 12px 12px 40px !important;
  }
  #dvUserInquiryInput .keiai-radio-container input[type="radio"] {
    left: 14px !important;
  }
  #dvUserInquiryInput .keiai-radio-container input[type="radio"]:checked + label {
    padding: 11px 11px 11px 39px !important;
  }

  /* ファイルアップロード：注記をボタンの下側へ綺麗に落とし込む */
  #dvUserInquiryInput .keiai-upload-box .file-upload-box {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 14px 16px !important;
  }
  #dvUserInquiryInput .keiai-upload-box .file-upload-box::after {
    text-align: left !important;
    font-size: 11px !important;
    padding-left: 24px !important; /* アイコンの縦ラインに合わせる */
  }
}

/* サイドバー */
#dvUserInquiryInput .keiai-sidebar{width:320px;flex-shrink:0}
/* 返信目安 */
#dvUserInquiryInput .keiai-sidebar .add-mente__banner-card{padding:20px;margin-bottom:16px;border-radius:8px}
#dvUserInquiryInput .keiai-sidebar .banner-card__inner{display:flex;align-items:flex-start;gap:12px}
#dvUserInquiryInput .keiai-sidebar .banner-card__icon{font-size:24px;flex-shrink:0}
#dvUserInquiryInput .keiai-sidebar .banner-card__text-wrap h4{font-size:14px;font-weight:700;margin-bottom:4px}
#dvUserInquiryInput .keiai-sidebar .banner-card__text-wrap p{font-size:11px;line-height:1.6;color:#666}
/* ご案内 */
#dvUserInquiryInput .keiai-sidebar .add-document__guide{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px}
#dvUserInquiryInput .keiai-sidebar .add-document__guide h3{font-size:14px;font-weight:700;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid #edf2f7}
#dvUserInquiryInput .keiai-sidebar .add-document__guide ul{display:flex;flex-direction:column;gap:18px}
#dvUserInquiryInput .keiai-sidebar .add-document__guide li{display:flex;gap:12px;align-items:flex-start}
#dvUserInquiryInput .keiai-sidebar .guide-icon{width:20px;text-align:center;font-size:18px;flex-shrink:0}

#dvUserInquiryInput .keiai-sidebar .guide-title{
    display:block !important;
    margin:0 0 4px !important;
    font-size:12px !important;
    font-weight:700 !important;
    color:#333 !important;
}
#dvUserInquiryInput .keiai-sidebar .guide-title::before{
    content:none !important;
    display:none !important;
}
#dvUserInquiryInput .keiai-sidebar .guide-text{display:block;font-size:12px;line-height:1.6;color:#666}
/* 電話案内 */
#dvUserInquiryInput .keiai-sidebar .add-coupon__info-banner{background:#fffaf8;border:1px solid #f1d4d4;border-radius:8px;padding:22px 18px;text-align:center}
#dvUserInquiryInput .keiai-sidebar .keiai-phone-caption{display:block;color:#e51717;font-size:13px;font-weight:700;margin-bottom:8px}
#dvUserInquiryInput .keiai-sidebar .keiai-phone-number{font-size:28px;font-family:"Jost",sans-serif;font-weight:700;color:#333;margin-bottom:10px;line-height:1.2}
#dvUserInquiryInput .keiai-sidebar .keiai-phone-time{font-size:11px;color:#666}
#dvUserInquiryInput .keiai-sidebar .banner-card__text-wrap h4{margin:0 0 6px 0 !important;padding:0 !important;font-size:16px !important;font-weight:700 !important;line-height:1.5 !important;color:#333333 !important}
/* SP */
@media screen and (max-width:767px){
    #dvUserInquiryInput .keiai-sidebar{display:none !important}
}

/* テーブルを包むコンテナ（グレー背景部分・上下マージンを追加） */
#dvResidenceInquiryConfirm .dvUserInfo { background: #FAFAFA !important; padding: 2px 24px !important; margin: 12px 0 !important; border-radius: 12px !important; width: 100% !important; height: auto !important; box-sizing: border-box !important; }
/* 確認画面テーブル・コンポーネント */
#dvResidenceInquiryConfirm .keiai-confirm-table { width: 100% !important; border-collapse: collapse !important; display: table !important; background: #fff !important; margin: 0 !important; padding: 0 !important; }
#dvResidenceInquiryConfirm .keiai-confirm-table tr { display: table-row !important; height: auto !important; }
#dvResidenceInquiryConfirm .keiai-confirm-table th { width: 240px !important; padding: 20px !important; font-size: 14px !important; font-weight: 700 !important; color: #333 !important; text-align: left !important; background: #fff !important; border-bottom: 1px solid #edf2f7 !important; vertical-align: middle !important; display: table-cell !important; height: auto !important; line-height: 1.5 !important; }
#dvResidenceInquiryConfirm .keiai-confirm-table td { padding: 20px !important; font-size: 14px !important; color: #333 !important; background: #fff !important; border-bottom: 1px solid #edf2f7 !important; vertical-align: middle !important; line-height: 1.6 !important; display: table-cell !important; width: auto !important; height: auto !important; }
#dvResidenceInquiryConfirm .keiai-confirm-table .text-multiline { vertical-align: top !important; }
#dvResidenceInquiryConfirm .contact-method-wrap, #dvResidenceInquiryConfirm .pdf-file-wrap { display: flex !important; align-items: center !important; gap: 8px !important; font-weight: 600 !important; width: auto !important; height: auto !important; }
#dvResidenceInquiryConfirm .contact-method-wrap i, #dvResidenceInquiryConfirm .pdf-file-wrap i { color: #e51717 !important; font-size: 18px !important; width: auto !important; height: auto !important; display: inline-block !important; }
#dvResidenceInquiryConfirm .confirm-image-gallery { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; width: 100% !important; height: auto !important; }
#dvResidenceInquiryConfirm .confirm-image-gallery .gallery-item { width: 80px !important; height: 80px !important; border-radius: 6px !important; overflow: hidden !important; border: 1px solid #e0e0e0 !important; background: #f9f9f9 !important; flex-shrink: 0 !important; }
#dvResidenceInquiryConfirm .confirm-image-gallery .gallery-item img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
/* 注意書きバナー */
#dvResidenceInquiryConfirm .confirm-notice-banner { background: #fff1f1 !important; border-radius: 8px !important; padding: 18px 40px !important; margin: 32px 0 !important; width: 100% !important; height: auto !important; }
#dvResidenceInquiryConfirm .confirm-notice-banner .notice-text { font-size: 13px !important; font-weight: 600 !important; color: #333 !important; line-height: 1.6 !important; margin: 0 !important; display: flex !important; align-items: flex-start !important; gap: 8px !important; width: auto !important; height: auto !important; }
#dvResidenceInquiryConfirm .confirm-notice-banner .notice-text i { color: #e51717 !important; font-size: 16px !important; margin-top: 2px !important; flex-shrink: 0 !important; width: auto !important; height: auto !important; display: inline-block !important; }
/* ボタンデザイン調整（最新カンプ再現版） */
#dvResidenceInquiryConfirm .dvUserBtnBox__actions { display: flex !important; justify-content: center !important; gap: 24px !important; margin-top: 1px !important; width: 100% !important; height: auto !important; padding: 0 !important; }
#dvResidenceInquiryConfirm .dvUserBtnBox__actions span { flex: 0 1 320px !important; width: 100% !important; display: block !important; height: auto !important; }
#dvResidenceInquiryConfirm .btn-back { display: flex !important; justify-content: center !important; align-items: center !important; width: 100% !important; height: 56px !important; background: #fff !important; border: 1px solid #ccc !important; border-radius: 28px !important; color: #333 !important; font-size: 15px !important; font-weight: 700 !important; text-decoration: none !important; transition: .25s !important; box-sizing: border-box !important; }
#dvResidenceInquiryConfirm .btn-back:hover { background: #f9f9f9 !important; border-color: #bbb !important; }
#dvResidenceInquiryConfirm .btn-submit { display: flex !important; justify-content: center !important; align-items: center !important; width: 100% !important; height: 56px !important; background: #e51717 !important; border: none !important; border-radius: 28px !important; color: #fff !important; font-size: 15px !important; font-weight: 700 !important; text-decoration: none !important; transition: .25s !important; box-sizing: border-box !important; box-shadow: 0 6px 20px rgba(229,23,23,0.3) !important; }
#dvResidenceInquiryConfirm .btn-submit:hover { background: #cc1212 !important; box-shadow: 0 4px 12px rgba(229,23,23,0.2) !important; }
/* SPレスポンシブ */
@media screen and (max-width: 767px) {
    #dvResidenceInquiryConfirm .dvUserInfo { padding: 16px 12px !important; margin: 24px 0 !important; }
    #dvResidenceInquiryConfirm .keiai-confirm-table, #dvResidenceInquiryConfirm .keiai-confirm-table tr { display: block !important; }
    #dvResidenceInquiryConfirm .keiai-confirm-table th, #dvResidenceInquiryConfirm .keiai-confirm-table td { display: block !important; width: 100% !important; padding: 12px 16px !important; }
    #dvResidenceInquiryConfirm .keiai-confirm-table th { background: #f7fafc !important; padding-top: 16px !important; border-bottom: none !important; }
    #dvResidenceInquiryConfirm .dvUserBtnBox__actions { flex-direction: column-reverse !important; gap: 16px !important; padding: 0 16px !important; }
    #dvResidenceInquiryConfirm .dvUserBtnBox__actions span { flex: 1 !important; width: 100% !important; }
    #dvResidenceInquiryConfirm .btn-back, #dvResidenceInquiryConfirm .btn-submit { height: 50px !important; }
}

/* --------------------------------------------------------------------------
  カート内容確認
   -------------------------------------------------------------------------- */
.custom-grand-total {
  display: none !important;
}
.custom-item-heading, 
.custom-box-title {
  background: none !important;
  background-color: transparent !important;
  color: #000 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  padding: 0 0 10px 0 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  margin-bottom: 15px !important;
}

h3.add-cart__item-heading.custom-item-heading,
p.add-title__02.custom-box-title {
  background: none !important;
  font-size: 18px !important;
}

.custom-point-box, 
.custom-coupon-box {
  background-color: #fff !important;
  padding: 15px 20px;
}

.custom-coupon-box table td,
.custom-point-box table td {
  vertical-align: middle !important;
  padding-right: 15px !important;
}
.custom-coupon-box input[type="radio"], 
.custom-coupon-box input[type="checkbox"],
.custom-point-box input[type="radio"], 
.custom-point-box input[type="checkbox"] {
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 5px 0 0 !important;
  position: static !important;
  opacity: 1 !important;
}
.custom-coupon-box label,
.custom-point-box label {
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 !important;
  font-weight: normal !important;
}

.custom-price-list-wrapper {
  padding: 20px;
}

.custom-result-total {
  background-color: #fff !important;
  padding: 15px 20px !important;
  margin-top: 15px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.custom-result-total dt, 
.custom-result-total dd {
  background-color: transparent !important;
  margin: 0;
  padding: 0;
}
.custom-gap-reducer {
  display: none !important;
}
.custom-action-area {
  padding-top: 10px !important;
  margin-top: 0 !important;
}

.custom-btn-primary {
  background-color: #e60012 !important;
  color: #fff !important;
  border: none !important;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-weight: bold;
}
.custom-btn-secondary {
  padding-left: 30px !important;
  padding-right: 30px !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.custom-btn-primary:hover {
  background-color: #e60012 !important;
  color: #e0e0e0 !important;
}
.custom-btn-secondary:hover {
  background-color: #e0e0e0 !important; 
  color: #333 !important;
}
body.add-set .add-u__form-wrapper input[type="text"].custom-bg-white,
body.add-set .add-u__form-select-wrapper select.custom-bg-white {
background-color: #ffffff !important;
border: 1px solid #ccc !important;
}
body.add-set .add-cart__item-heading-btn > a.custom-red-btn {
border: 1px solid #E82E34 !important;
color: #E82E34 !important;
}
body.add-set .add-cart__item-03 .delete > a.custom-red-btn,
body.add-set .delete > a.custom-red-btn {
border: 1px solid #E82E34 !important;
color: #E82E34 !important;
}
body.add-set .add-u__btn-mini.custom-red-btn {
border: 1px solid #E82E34 !important;
color: #E82E34 !important;
}
body.add-set .custom-red-btn:hover {
opacity: 0.7 !important;
}
body.add-set .add-u__form-select-wrapper.custom-coupon-select-wrap {
display: inline-block !important;
width: auto !important;
min-width: 240px !important;
}
body.add-set .add-u__form-select-wrapper.custom-coupon-select-wrap select {
width: 100% !important;
padding-right: 36px !important;
}
body.add-set .add-u__form-select-wrapper.custom-coupon-select-wrap::after {
top: 50% !important;
transform: translateY(-50%) !important;
right: 12px !important;
margin: 0 !important;
}
body.add-set .custom-coupon-code-wrap {
display: flex !important;
align-items: center !important;
gap: 8px !important;
margin: 0 !important;
}
@media screen and (max-width: 768px) {
  body.add-set .add-cart__pricelist dl:has(.add-coupon-name) {
    position: relative !important;
    padding-bottom: 28px !important;
    align-items: flex-start !important;
  }
  body.add-set .add-cart__pricelist dl dd .add-coupon-name {
    position: absolute !important;
    bottom: 8px !important;
    left: 16px !important;
    font-size: 11px !important;
    text-align: left !important;
    max-width: calc(100% - 32px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
}

/* --------------------------------------------------------------------------
  お届け先情報入力
   -------------------------------------------------------------------------- */
body.add-set {
	background-color: #ffffff !important;
}
body.add-set .add-u__form-wrapper.add-type1 {
	background-color: #ffffff !important;
	padding: 0 !important;
}
h1.add-title__01, 
.add-u__message-2, 
.add-u__form-desc, 
.add-u__message-02, 
h2.add-title__04 {
	display: none !important;
}
.custom-shipping-board {
	background-color: #fff !important;
	border-radius: 12px;
	padding: 32px;
	border: 1px solid #e5e5e5;
	margin-bottom: 10px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
/* セクションタイトル */
.custom-section-title {
	font-size: 18px !important;
	font-weight: bold !important;
	color: #000 !important;
	margin: 0 0 24px 0 !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #e5e5e5 !important;
	display: block !important;
}
/* フォームブロックの横並び設定 */
.custom-form-bloc {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start;
	padding: 18px 0 !important;
	border-bottom: 1px dashed #d3d3d3 !important;
	margin: 0 !important;
	border-top: none !important;
}
.custom-form-bloc:last-child {
	border-bottom: none !important;
}
.custom-form-bloc dt {
	width: 240px;
	flex-shrink: 0;
	font-size: 16px !important;
	font-weight: bold;
	color: #333;
	padding-top: 8px;
}
.custom-form-bloc dd {
	width: calc(100% - 240px) !important; 
	display: flex;
	flex-direction: column;
	align-items: flex-start !important; 
	justify-content: flex-start !important;
	text-align: left !important; 
	gap: 3px;
	color: #333;
	margin: 0 !important;
	padding: 0 !important;
}
.custom-form-bloc dt:nth-of-type(n+2),
.custom-form-bloc dd:nth-of-type(n+2) {
	margin-top: 24px !important;
}
.custom-form-bloc dd span.notes {
	display: block !important;
	width: 100% !important;
	white-space: normal !important;
}
/* ラジオ・チェックボックスの縦ズレ修正 */
.custom-form-bloc table td,
.custom-shipping-board table td {
	vertical-align: middle !important;
	padding-right: 16px !important;
	padding-bottom: 0 !important;
}
.custom-form-bloc label::before,
.custom-form-bloc label::after,
.custom-shipping-board label::before,
.custom-shipping-board label::after {
	content: none !important;
	display: none !important;
}
.custom-form-bloc input[type="radio"],
.custom-form-bloc input[type="checkbox"],
.custom-shipping-board input[type="radio"],
.custom-shipping-board input[type="checkbox"] {
	-webkit-appearance: auto !important;
	appearance: auto !important;
	vertical-align: middle !important;
	margin: 0 6px 0 0 !important;
	position: static !important;
	opacity: 1 !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
}
.custom-form-bloc label,
.custom-shipping-board label {
	vertical-align: middle !important;
	font-size: 15px !important;
	margin: 0 16px 0 0 !important;
	display: inline-block !important;
	font-weight: normal !important;
}
.custom-name-inputs, 
.custom-zip-inputs,
.custom-birth-inputs {
	display: flex;
	align-items: center;
	justify-content: flex-start !important; 
	width: 100%;
}
.custom-name-inputs > div {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
}
.custom-zip-inputs {
	display: flex;
	align-items: center;
	justify-content: flex-start !important;
	gap: 12px;
	width: 100%;
}
.custom-zip-inputs input[type="text"],
.custom-zip-inputs input[type="tel"] {
	width: 140px !important;
	max-width: 140px !important;
	margin: 0 !important;
}
.custom-zip-inputs .btn_add_sea {
	display: inline-flex;
	margin: 0;
	padding: 0;
}
.custom-zip-inputs .add-u__btn-mini,
.custom-form-bloc .btn_add_sea .btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 16px !important;
	background-color: #ffffff !important;
	color: #E82E34 !important;
	border: 1px solid #E82E34 !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-weight: bold !important;
	height: 44px !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	transition: opacity 0.2s ease !important;
}
.custom-zip-inputs .add-u__btn-mini:hover,
.custom-form-bloc .btn_add_sea .btn:hover {
	opacity: 0.7 !important;
	background-color: #ffffff !important;
}

.custom-form-bloc .btn_add_sea .btn[disabled],
.custom-form-bloc .btn_add_sea .aspNetDisabled,
.custom-form-bloc .btn_add_sea a.btn:disabled {
    background-color: #ffffff !important;
    color: #E82E34 !important; 
    border: 1px solid #E82E34 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}
.custom-form-bloc .btn_add_sea .btn[disabled]:hover,
.custom-form-bloc .btn_add_sea .aspNetDisabled:hover,
.custom-form-bloc .btn_add_sea a.btn:disabled:hover {
    opacity: 0.7 !important;
    background-color: #ffffff !important;
}

.custom-form-bloc dd small.fred,
.custom-form-bloc dd small.sOwnerZipError,
.custom-form-bloc dd small.sShippingZipError {
	display: block;
	width: 100%;
	margin-top: 4px;
}
.add-adj1, .add-adj2, .add-adj3, .add-adj4, 
.add-order-shipping__adj3, .add-order-shipping__adj4,
.input_align {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	justify-content: flex-start !important;
}
.custom-form-bloc dd > div {
	width: 100%;
	text-align: left !important;
}
.add-notes {
	display: block !important;
	text-align: left !important;
	margin-top: 4px !important;
}
.custom-form-bloc input[type="text"],
.custom-form-bloc input[type="tel"],
.custom-form-bloc input[type="email"],
.custom-form-bloc input[type="password"] {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 10px 12px !important;
	font-size: 15px !important;
	width: 100%;
	max-width: 400px;
	background-color: #fff !important;
	box-sizing: border-box;
}
.custom-form-bloc select {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 10px 32px 10px 12px !important;
	font-size: 15px !important;
	background-color: #fff !important;
	height: auto !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'%3E%3Cpath fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 16px auto !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	min-width: 120px;
}
body.add-set .add-u__form-wrapper .custom-form-bloc select,
body.add-set .add-u__form-wrapper .custom-shipping-board select {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 10px 32px 10px 12px !important;
	font-size: 15px !important;
	height: auto !important;
	min-width: 120px !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background: #fff url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM2NjYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=") no-repeat right 12px center / 16px auto !important;
}
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="text"],
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="tel"],
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="email"],
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="password"],
body.add-set .add-u__form-wrapper .custom-shipping-board input[type="text"],
body.add-set .add-u__form-wrapper .custom-shipping-board input[type="tel"],
body.add-set .add-u__form-wrapper .custom-shipping-board input[type="email"],
body.add-set .add-u__form-wrapper .custom-shipping-board input[type="password"] {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 10px 12px !important;
	font-size: 15px !important;
	width: 100%;
	max-width: 400px;
	background: #ffffff !important;
	box-sizing: border-box;
}
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="radio"],
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="checkbox"],
body.add-set .add-u__form-wrapper .custom-shipping-board input[type="radio"],
body.add-set .add-u__form-wrapper .custom-shipping-board input[type="checkbox"] {
	-webkit-appearance: auto !important;
	appearance: auto !important;
	vertical-align: middle !important;
	margin: 0 6px 0 0 !important;
	margin-top: -2px !important;
	position: static !important;
	opacity: 1 !important;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	border: 1px solid #999 !important;
	accent-color: #e60012 !important;
}
.custom-name-inputs {
	display: flex;
	align-items: center;
	justify-content: flex-start !important;
	width: 100%;
	gap: 12px !important; 
}
body.add-set .add-u__form-wrapper .custom-name-inputs > div {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	flex-basis: auto !important;
}
body.add-set .add-u__form-wrapper .custom-name-inputs input {
	width: 160px !important;
}
.custom-name-inputs > div {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
}
.custom-name-inputs input {
	width: 160px !important;
}
.custom-form-bloc table td {
	vertical-align: middle !important;
	padding-right: 16px !important;
	padding-bottom: 0 !important;
}
.custom-form-bloc input[type="radio"],
.custom-form-bloc input[type="checkbox"],
.custom-shipping-board input[type="radio"],
.custom-shipping-board input[type="checkbox"] {
	vertical-align: middle !important;
	margin-right: 4px !important;
	margin-top: -2px !important;
	display: inline-block !important;
}
.custom-form-bloc label,
.custom-shipping-board label {
	vertical-align: middle !important;
	font-size: 15px;
	margin-right: 16px !important;
	display: inline-block !important;
}
.fred {
	color: #e60012;
	font-size: 13px;
	font-weight: normal;
}
.add-notes {
	font-size: 13px;
	color: #666;
}
.error_inline {
	color: #e60012;
	font-size: 13px;
	margin-top: 4px;
	display: block;
}
.custom-order-product {
	display: flex;
	align-items: center;
	padding: 16px;
	border: 1px solid #eaeaea;
	border-radius: 8px;
	margin-bottom: 16px;
	background-color: #fafafa;
}
.custom-order-product img {
	width: 80px;
	height: auto;
	border-radius: 4px;
	margin-right: 16px;
}
.custom-order-product-info {
	flex: 1;
}
.custom-order-product-name {
	font-size: 15px;
	font-weight: bold;
	color: #333;
	margin-bottom: 8px;
}
.custom-order-product-price {
	font-size: 14px;
	color: #666;
}
dl[id$="divSaveToUserShipping"] {
	margin-bottom: 40px !important;
	display: block;
}
@media screen and (max-width: 768px) {
	/* 大枠の余白調整 */
	.custom-shipping-board {
		padding: 24px 16px !important;
		margin-bottom: 24px !important;
	}
	.custom-form-bloc {
		flex-direction: column !important;
		padding: 16px 0 !important;
	}
	.custom-form-bloc dt {
		width: 100% !important;
		padding-top: 0 !important;
		padding-bottom: 8px !important;
	}
	.custom-form-bloc dd {
		width: 100% !important;
	}
	/* 氏名などの横並び入力欄をスマホ幅に最適化 */
	.custom-name-inputs {
		width: 100% !important;
		gap: 8px !important;
	}
	.custom-name-inputs > div {
		flex: 1; /* 姓と名で50%ずつ幅を均等に分ける */
	}
	.custom-name-inputs input {
		width: 100% !important;
	}
	/* 郵便番号入力欄の幅最適化 */
	.custom-zip-inputs {
		width: 100% !important;
	}
	.custom-zip-inputs input {
		flex: 1; /* テキストボックスを可能な限り広げる */
	}
	.custom-zip-inputs .add-u__btn-mini {
		padding: 8px 12px !important;
		font-size: 12px !important;
	}
	/* 生年月日プルダウンの調整 */
	.custom-birth-inputs {
		flex-wrap: wrap !important;
	}
	.custom-birth-inputs select {
		width: auto !important;
		min-width: 70px !important;
		padding-left: 8px !important;
		padding-right: 24px !important;
	}
	/* 下部アクションボタンを縦並びにし、「次へ」を上に配置 */
	.custom-action-area {
		flex-direction: column-reverse !important;
		gap: 16px !important;
		margin-top: 24px !important;
		margin-bottom: 40px !important;
	}
	body.add-set .add-u__form-wrapper .custom-name-inputs > div {
		min-width: 0 !important;
	}
	body.add-set .add-u__form-wrapper .custom-name-inputs input {
		width: 100% !important;
		min-width: 0 !important;
	}
	body.add-set .add-u__form-radio-wrapper{
		display: grid !important;
		grid-template-columns: auto 1fr !important;
		align-items: center !important;
		row-gap: 8px !important;
	}
	body.add-set .add-u__form-radio-wrapper input[type="radio"]{
		display:inline-block !important;
		width:18px !important;
		height:18px !important;
		margin:0 6px 0 0 !important;
		vertical-align:middle !important;
	}
	body.add-set .add-u__form-radio-wrapper label{
		display:inline-block !important;
		vertical-align:middle !important;
		margin:0 !important;
		width:100%
	}
	body.add-set .custom-form-bloc dd span.notes {
		display: flex !important;
		align-items: center !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		white-space: nowrap !important;
	}
	body.add-set .custom-form-bloc dd span.notes span {
		white-space: nowrap !important;
	}
	body.add-set .authentication_success {
		display: inline-block !important;
		white-space: nowrap !important;
	}
  .custom-rbl-save {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    gap: 16px 0 !important;
  }
  .custom-rbl-save input[type="radio"] {
    width: 20px !important;
    margin: 0 8px 0 0 !important;
  }
  .custom-rbl-save label {
    width: calc(100% - 28px) !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* --------------------------------------------------------------------------
  お支払い方法入力
   -------------------------------------------------------------------------- */
body.add-set {
	background-color: #ffffff !important;
}
body.add-set .add-u__form-wrapper.add-type1 {
	background-color: transparent !important;
	padding: 0 !important;
	border: none !important;
}
#CartFlow, h1.add-title__01, .add-u__message-2, .add-u__form-desc, .add-u__message-02, h2.add-title__04, .add-u__border-lg-emp {
	display: none !important;
}
.add-u__btn-wrapper.add-rev > .add-u__fe {
	display: none !important;
}
.custom-cart-header {
	margin-bottom: 24px;
}
.custom-cart-header .add-mypage__title-common {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 28px;
	font-weight: bold;
	color: #333;
	margin: 0 0 16px 0;
}
.custom-cart-header .add-mypage__title-common svg {
	flex-shrink: 0 !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	display: block !important;
}
.custom-cart-header .add-mypage__sub-title-common {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	margin: 0;
}
.custom-payment-board {
	background-color: #ffffff !important;
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.cart-section-separator {
	margin-top: 40px !important;
}
.custom-section-title {
	font-size: 18px !important;
	font-weight: bold !important;
	color: #000 !important;
	margin: 0 0 24px 0 !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #e5e5e5 !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}
.custom-form-bloc {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start;
	padding: 16px 0 !important;
	border-bottom: 1px dashed #eaeaea !important;
	margin: 0 !important;
}
.custom-form-bloc .custom-dt {
	width: 240px;
	flex-shrink: 0;
	font-size: 15px !important;
	font-weight: bold;
	color: #333;
	padding-top: 30px !important;
}
.custom-form-bloc .custom-dd {
	width: calc(100% - 240px) !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
	color: #333;
	margin: 0 !important;
	padding: 0 !important;
}
.custom-form-bloc .custom-dt:nth-of-type(n+2),
.custom-form-bloc .custom-dd:nth-of-type(n+2) {
	margin-top: 16px !important;
}
div[id*="divCreditCardPersonalInfoConsentUndisp"] > p:first-child {
	display: none !important;
}

body.add-set .add-u__form-wrapper .custom-payment-board input[type="text"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="tel"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="email"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="password"] {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 10px 12px !important;
	font-size: 15px !important;
	height: 44px !important;
	width: 100% !important;
	max-width: 400px !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}
body.add-set .add-u__form-wrapper .custom-payment-board iframe {
	border: none !important; 
	padding: 0 !important;
	background: transparent !important;
	width: 100% !important;
	max-width: 400px !important;
	height: 44px !important;
	display: block !important;
}
body.add-set .add-u__form-wrapper .custom-payment-board .custom-dd span:has(iframe),
body.add-set .add-u__form-wrapper .custom-payment-board .custom-dd div:has(iframe) {
	display: block !important;
	width: 100% !important;
	max-width: 400px !important;
}
body.add-set .add-u__form-wrapper .custom-payment-board input[type="radio"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="checkbox"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="hidden"] {
	border: none !important;
	padding: 0 !important;
	height: auto !important;
	background: transparent !important;
}
.custom-payment-list > dt {
	margin-top: 16px;
	padding-bottom: 8px;
	font-size: 16px;
	font-weight: bold;
}
.custom-payment-list > dd {
	background-color: #fafafa !important;
	border: 1px solid #eaeaea !important;
	border-radius: 8px !important;
	padding: 16px 24px !important;
	margin-top: 8px !important;
	margin-left: 24px !important;
	margin-bottom: 24px !important;
	box-sizing: border-box !important;
	width: calc(100% - 24px) !important;
}
.custom-form-bloc table td,
.custom-payment-board table td {
	vertical-align: middle !important;
	padding-right: 16px !important;
	padding-bottom: 0 !important;
}
.custom-form-bloc label::before,
.custom-form-bloc label::after,
.custom-payment-board label::before,
.custom-payment-board label::after {
	content: none !important;
	display: none !important;
}
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="radio"],
body.add-set .add-u__form-wrapper .custom-form-bloc input[type="checkbox"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="radio"],
body.add-set .add-u__form-wrapper .custom-payment-board input[type="checkbox"] {
	-webkit-appearance: auto !important;
	appearance: auto !important;
	vertical-align: middle !important;
	margin: 0 6px 0 0 !important;
	margin-top: -2px !important;
	position: static !important;
	opacity: 1 !important;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	border: 1px solid #999 !important;
	background-color: transparent !important;
	accent-color: #e60012 !important;
}
.custom-form-bloc label,
.custom-payment-board label {
	vertical-align: middle !important;
	font-size: 15px !important;
	margin: 0 16px 0 0 !important;
	display: inline-block !important;
	font-weight: normal !important;
}
body.add-set .add-u__form-wrapper .custom-form-bloc select,
body.add-set .add-u__form-wrapper .custom-payment-board select {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 10px 32px 10px 12px !important;
	font-size: 15px !important;
	height: 44px !important;
	width: 100% !important;
	max-width: 400px !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background: #fff url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiM2NjYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=") no-repeat right 12px center / 16px auto !important;
}
.custom-expire-wrap select {
	width: 120px !important;
}
.custom-expire-wrap span {
	white-space: nowrap !important;
}
.fred, .add-fred {
	color: #e60012;
	font-size: 13px;
	font-weight: normal;
}
.add-notes {
	font-size: 13px;
	color: #666;
	display: block !important;
	text-align: left !important;
	margin-top: 4px !important;
}
.error_inline {
	color: #e60012;
	font-size: 13px;
	margin-top: 4px;
	display: block;
}
.custom-order-product {
	display: flex;
	align-items: center;
	padding: 16px;
	border: 1px solid #eaeaea;
	border-radius: 8px;
	margin-bottom: 16px;
	background-color: #FAFAFA;
}
.custom-order-product img {
	width: 80px;
	height: auto;
	border-radius: 4px;
	margin-right: 16px;
}
.custom-order-product-info {
	flex: 1;
}
.custom-order-product-name {
	font-size: 15px;
	font-weight: bold;
	color: #333;
	margin-bottom: 8px;
}
.custom-order-product-price {
	font-size: 14px;
	color: #666;
}
.custom-price-list-wrapper {
	padding-top: 24px;
}
.add-cart__pricelist dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-bottom: 1px solid #eaeaea;
	margin: 0;
}
.add-cart__pricelist dl dt {
	font-weight: bold;
	font-size: 14px;
	color: #333;
}
.add-cart__pricelist dl dd {
	font-size: 16px;
	color: #333;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}
.add-cart__pricelist dl dd.minus {
	color: #E82E34;
}
.add-coupon-name {
	font-size: 12px;
	color: #666;
}
.custom-btn-outline-red {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 8px 24px !important;
	background-color: #ffffff !important;
	color: #E82E34 !important;
	border: 1px solid #E82E34 !important;
	border-radius: 30px !important;
	font-size: 13px !important;
	font-weight: bold !important;
	text-decoration: none !important;
	transition: opacity 0.2s ease !important;
}
.custom-btn-outline-red:hover {
	opacity: 0.7 !important;
}
@media screen and (max-width: 768px) {
	.custom-payment-board {
		padding: 24px 16px !important;
	}
	.custom-cart-header .add-mypage__title-common {
		font-size: 20px !important;
	}
	.custom-cart-header .add-mypage__sub-title-common {
		font-size: 13px !important;
	}
	.custom-form-bloc {
		flex-direction: column !important;
		padding: 16px 0 !important;
	}
	.custom-form-bloc .custom-dt {
		width: 100% !important;
		padding-top: 0 !important;
		padding-bottom: 8px !important;
		font-size: 14px !important;
	}
	.custom-form-bloc .custom-dd {
		width: 100% !important;
	}
	.custom-payment-list > dd {
		margin-left: 8px !important;
		width: calc(100% - 8px) !important;
	}
	.custom-action-area {
		flex-direction: column-reverse !important;
		gap: 16px !important;
	}
	.custom-section-title {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}
}

/* --------------------------------------------------------------------------
  ご注文内容確認
   -------------------------------------------------------------------------- */
body.add-set {
	background-color: #ffffff !important;
}
#CartFlow, h1.add-title__01, .add-u__message, .add-u__border-lg-emp {
	display: none !important;
}
.custom-cart-header {
	margin-bottom: 24px;
}
.custom-cart-header .add-mypage__title-common {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 28px;
	font-weight: bold;
	color: #333;
	margin: 0 0 16px 0;
}
.custom-cart-header .add-mypage__sub-title-common {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	margin: 0;
}
.custom-confirm-board {
	background-color: #ffffff !important;
	border-radius: 12px;
	padding: 32px;
	margin-bottom: 32px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
	border: 1px solid #eaeaea;
}
.custom-section-confirm-title {
	font-size: 18px !important;
	font-weight: bold !important;
	color: #000 !important;
	margin: 0 0 24px 0 !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #e5e5e5 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.custom-section-title svg {
	flex-shrink: 0 !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	display: inline-block !important;
}
.custom-form-bloc {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start;
	padding: 8px 0 !important;
	border-bottom: 1px dashed #eaeaea !important;
	margin: 0 !important;
}
.custom-form-bloc:last-child {
	border-bottom: none !important;
}
.custom-form-bloc dt {
	width: 240px;
	flex-shrink: 0;
	font-size: 15px !important;
	font-weight: bold;
	color: #333;
}
.custom-form-bloc dd {
	width: calc(100% - 240px) !important;
	color: #333;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}
body.add-set .add-u__form-wrapper.add-type1 {
	background-color: transparent !important;
	padding: 0 !important;
	border: none !important;
}
.custom-btn-outline-red {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 8px 24px !important;
	background-color: #ffffff !important;
	color: #E82E34 !important;
	border: 1px solid #E82E34 !important;
	border-radius: 30px !important;
	font-size: 13px !important;
	font-weight: bold !important;
	text-decoration: none !important;
	transition: opacity 0.2s ease !important;
	cursor: pointer;
}
.custom-btn-outline-red:hover {
	opacity: 0.7 !important;
}
.custom-check-box {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}
.custom-check-box input[type="checkbox"] {
	-webkit-appearance: auto !important;
	appearance: auto !important;
	vertical-align: middle !important;
	margin: 0 6px 0 0 !important;
	position: static !important;
	opacity: 1 !important;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	border: 1px solid #999 !important;
	accent-color: #e60012 !important;
}
.custom-check-box label {
	vertical-align: middle !important;
	font-size: 15px !important;
	margin: 0 !important;
	display: inline-block !important;
	font-weight: normal !important;
}
@media screen and (max-width: 768px) {
	.custom-confirm-board {
		padding: 24px 16px !important;
		margin-bottom: 24px !important;
	}
	.custom-cart-header .add-mypage__title-common {
		font-size: 20px !important;
	}
	.custom-cart-header .add-mypage__sub-title-common {
		font-size: 13px !important;
	}
	.custom-form-bloc {
		flex-direction: column !important;
		padding: 12px 0 !important;
	}
	.custom-form-bloc dt {
		width: 100% !important;
		padding-bottom: 6px !important;
		font-size: 14px !important;
	}
	.custom-form-bloc dd {
		width: 100% !important;
	}
	.custom-action-area {
		flex-direction: column-reverse !important;
		gap: 16px !important;
		margin-top: 24px !important;
		margin-bottom: 40px !important;
	}
}

/* --------------------------------------------------------------------------
  ご注文完了ページ
   -------------------------------------------------------------------------- */
body.add-set-complete {
    background-color: #f7f7f7 !important;
}
#CartFlow, .add-u__dn-complete {
    display: none !important;
}
/* 白いコンテンツカード */
.custom-complete-card {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    padding: 64px 32px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important;
    text-align: center !important;
}
/* チェックマークアイコン */
.custom-complete-icon {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}
.custom-complete-icon svg {
    width: 64px !important;
    height: 64px !important;
    color: #e60012 !important;
}
/* 完了メインメッセージ */
.custom-complete-message-main {
    font-size: 24px !important;
    font-weight: bold !important;
    color: #333 !important;
    margin: 0 0 32px 0 !important;
    letter-spacing: 0.05em !important;
}
/* サブメッセージ群 */
.custom-complete-message-sub {
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin-bottom: 48px !important;
	text-align: center !important;
}
.custom-complete-message-sub p {
    margin: 0 0 16px 0 !important;
	text-align: center !important;
}
.custom-complete-message-sub p:last-child {
    margin-bottom: 0 !important;
}
.custom-btn-primary-complete {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 240px !important;
    height: 54px !important;
    background-color: #e60012 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: bold !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, opacity 0.2s ease !important;
}
.custom-btn-primary-complete:hover {
    background-color: #cc0010 !important;
    color: #ffffff !important;
    opacity: 0.9 !important;
}
/* スマートフォン用レスポンシブ */
@media screen and (max-width: 768px) {
    .add-main__wrapper-complete {
        padding: 24px 16px !important;
    }
    .custom-complete-card {
        padding: 40px 20px !important;
    }
    .custom-complete-icon svg {
        width: 48px !important;
        height: 48px !important;
    }
    .custom-complete-message-main {
        font-size: 18px !important;
        margin-bottom: 24px !important;
    }
    .custom-complete-message-sub {
        font-size: 13px !important;
        margin-bottom: 32px !important;
    }
    .custom-btn-primary-complete {
        width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
  ページャー
   -------------------------------------------------------------------------- */
/* 1. ページャー全体（件数テキストと数字）を縦並び・中央寄せにする */
.add-set .add-pager__wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important; /* 件数テキストと数字エリアの間の余白 */
}

/* 2. 現在のページ（アクティブ）：枠線なし、薄い赤背景、赤文字 */
.add-set .add-pager__wrapper .add-num span {
    border: none !important;
    border-radius: 50% !important;
    background-color: #fff1f2 !important; 
    color: #E82E34 !important;
    font-weight: bold !important;
}

/* 3. 他のページ（リンク）：枠線なし、背景透明、黒文字 */
.add-set .add-pager__wrapper .add-num a {
    border: none !important;
    border-radius: 50% !important;
    background-color: transparent !important;
    color: #333333 !important;
    font-weight: bold !important;
    transition: background-color 0.2s ease !important;
}

/* 4. 他のページをホバー（マウスを乗せた）時：薄いグレー背景 */
.add-set .add-pager__wrapper .add-num a:hover {
    background-color: #f5f5f5 !important;
}

/* 5. 「戻る(<)」「次へ(>)」の矢印の色を落ち着いたグレーにする */
.add-back::before,
.add-next::before {
    border-top-color: #999999 !important;
    border-right-color: #999999 !important;
}


/* ==========================================================
   お問い合わせ完了画面
   ResidenceInquiryComplete.aspx
==========================================================*/
#dvUserInquiryComplete {
  max-width: 980px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

/*==============================
 完了ヘッダー
==============================*/
#dvUserInquiryComplete .keiai-complete-header {
  text-align: center;
  margin-bottom: 40px;
}

#dvUserInquiryComplete .keiai-complete-icon {
  width: 110px;
  height: 110px;
  margin: 0 auto 28px;
  border-radius: 50%;
  background: #fff3f3;
  color: #e51717;
  font-size: 54px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .05);
}

#dvUserInquiryComplete .keiai-complete-title {
  font-size: 34px;
  font-weight: 700;
  color: #222;
  margin-bottom: 16px;
}

#dvUserInquiryComplete .keiai-complete-message {
  font-size: 16px;
  color: #666;
  line-height: 1.8;
}

/*==============================
 メール案内
==============================*/
#dvUserInquiryComplete .keiai-mail-box {
  display: flex;
  align-items: center;
  gap: 28px;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 30px 36px;
  margin-bottom: 34px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

#dvUserInquiryComplete .keiai-mail-icon {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: #fff3f3;
  color: #e51717;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  flex-shrink: 0;
}

#dvUserInquiryComplete .keiai-mail-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #333;
}

#dvUserInquiryComplete .keiai-mail-text {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
}

/*==============================
 ２カラム
==============================*/
#dvUserInquiryComplete .keiai-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 34px;
}

#dvUserInquiryComplete .keiai-info-card {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #ececec;
    padding: 34px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    height: 100%;
    box-sizing: border-box;
}

#dvUserInquiryComplete .keiai-info-icon {
  font-size: 38px;
  margin-bottom: 18px;
}

#dvUserInquiryComplete .keiai-info-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
  color: #333;
}

#dvUserInquiryComplete .keiai-info-text {
  color: #666;
  line-height: 1.8;
  font-size: 14px;
}

#dvUserInquiryComplete .keiai-phone-number {
  font-size: 34px;
  font-weight: 700;
  margin: 18px 0 10px;
  color: #222;
}

#dvUserInquiryComplete .keiai-phone-time {
  color: #777;
  font-size: 14px;
}

/*==============================
 FAQ
==============================*/
#dvUserInquiryComplete .keiai-faq-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
    color: #333;
    box-shadow: none;
    box-sizing: border-box;
    position: relative;
}

#dvUserInquiryComplete .keiai-faq-box:hover {
  border-color: #e51717;
  transform: translateY(-1px);
}

#dvUserInquiryComplete .keiai-faq-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100%;
}

#dvUserInquiryComplete .keiai-faq-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #fff3f3;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e51717;
    font-size: 24px;
    font-weight: bold;
}

#dvUserInquiryComplete .keiai-faq-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    text-align: center;
}

#dvUserInquiryComplete .keiai-faq-text {
    color: #666;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

#dvUserInquiryComplete .keiai-arrow {
    position: absolute;
    right: 20px;
    bottom: 18px;
    color: #e51717;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

/*==============================
 サービス
==============================*/
#dvUserInquiryComplete .keiai-service-box {
  display: grid;
  grid-template-columns: 40% 60%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 14px;
  margin-bottom: 40px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

#dvUserInquiryComplete .keiai-service-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:left center;
}

#dvUserInquiryComplete .keiai-service-body {
  padding: 42px;
}

#dvUserInquiryComplete .keiai-service-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 18px;
}

#dvUserInquiryComplete .keiai-service-text {
  color: #666;
  line-height: 1.8;
  margin-bottom: 28px;
}

#dvUserInquiryComplete .keiai-service-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 52px;
  border-radius: 52px;
  border: 1px solid #333;
  color: #333;
  font-weight: bold;
  text-decoration: none;
  transition: .2s;
}

#dvUserInquiryComplete .keiai-service-button:hover {
  background: #e51717;
  color: #fff;
  border-color: #e51717;
}

/*==============================
 ボタン
==============================*/
.add-u__complete-actions {
  margin-top: 30px;
  text-align: center;
}

#dvUserInquiryComplete .keiai-mail-box,
#dvUserInquiryComplete .keiai-info-card,
#dvUserInquiryComplete .keiai-faq-box,
#dvUserInquiryComplete .keiai-service-box {
    transition: .25s ease;
}

#dvUserInquiryComplete .keiai-info-card:hover,
#dvUserInquiryComplete .keiai-service-box:hover{
    transform:translateY(-2px);
}

/*==============================
 SP
==============================*/
@media screen and (max-width: 767px) {
  #dvUserInquiryComplete {
    padding: 0 16px 30px;
  }
  #dvUserInquiryComplete .keiai-complete-icon {
    width: 80px;
    height: 80px;
    font-size: 42px;
  }
  #dvUserInquiryComplete .keiai-complete-title {
    font-size: 28px;
  }
  #dvUserInquiryComplete .keiai-mail-box {
    flex-direction: column;
    text-align: center;
    padding: 24px;
  }
  #dvUserInquiryComplete .keiai-mail-title {
    font-size: 20px;
  }
  #dvUserInquiryComplete .keiai-info-grid {
    grid-template-columns: 1fr;
  }
  #dvUserInquiryComplete .keiai-phone-number {
    font-size: 32px;
  }
  #dvUserInquiryComplete .keiai-faq-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  #dvUserInquiryComplete .keiai-service-box {
    grid-template-columns: 1fr;
  }
  #dvUserInquiryComplete .keiai-service-body {
    padding: 18px;
  }
  #dvUserInquiryComplete .keiai-service-title {
    font-size: 18px;
  }
  #dvUserInquiryComplete .keiai-service-button {
    width: 100%;
  }
  #dvUserInquiryComplete .keiai-info-card{
      padding:24px;
  }
  #dvUserInquiryComplete .keiai-faq-box{
      padding:22px;
  }
  #dvUserInquiryComplete .keiai-mail-box{
      gap:18px;
  }
  #dvUserInquiryComplete .keiai-arrow{
    display:none;
  }
}

/*==============================
 表示設定
==============================*/
.hidden-item {
    display: none !important;
}

/*==============================
　問合せフォーム
==============================*/
@media screen and (max-width: 390px) {
    #dvUserInquiryInput .keiai-section-title {
        font-size: 16px !important;
        margin-top: 24px !important;
        margin-bottom: 8px !important;
        line-height: 1.4 !important;
    }

    #dvUserInquiryInput .keiai-section-title:first-of-type {
        margin-top: 0 !important;
    }

    #dvUserInquiryInput .add-u__form-select-wrapper {
        width: 90% !important;
        max-width: 90% !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    #dvUserInquiryInput select.property-select-field {
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 40px 0 12px !important;
        font-size: 14px !important;
        border: 1px solid #cccccc !important;
        border-radius: 6px !important;
        background-color: #ffffff !important;
        box-sizing: border-box !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    #dvUserInquiryInput .keiai-textarea {
        width: 90% !important;
        max-width: 90% !important;
        min-height: 180px !important;
        box-sizing: border-box !important;
    }

    #dvUserInquiryInput .keiai-radio-container {
        width: 95% !important;
        max-width: 95% !important;
        padding: 8px 0 !important;
    }

    #dvUserInquiryInput .keiai-radio-container > span {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    #dvUserInquiryInput .keiai-radio-container label {
        width: 100% !important;
        min-height: 82px !important;
        padding: 16px 16px 16px 48px !important;
        box-sizing: border-box !important;
        align-items: flex-start !important;
        justify-content: center !important;
        text-align: left !important;
    }

    #dvUserInquiryInput .keiai-upload-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 90% !important;
        max-width: 90% !important;
        box-sizing: border-box !important;
    }

    #dvUserInquiryInput .keiai-upload-container .keiai-upload-box {
        width: 95% !important;
        max-width: 95% !important;
        padding: 24px 20px !important;
        box-sizing: border-box !important;
    }

    #dvUserInquiryInput .keiai-char-count {
        width: 90% !important;
        max-width: 90% !important;
        box-sizing: border-box !important;
        text-align: right !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
    }
    #dvUserBox .add-main__wrapper .add-mypage__option-hero {
        box-sizing: border-box !important;
        max-width: 100vw !important;
    }
    #dvUserInquiryInput .keiai-radio-container > span {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    #dvUserInquiryInput .keiai-radio-container > span label {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 82px !important;
        padding: 16px 16px 16px 48px !important;
        box-sizing: border-box !important;
        text-align: center !important;
        line-height: 1.4 !important;
    }
    #dvUserInquiryInput .keiai-radio-container > span label .contact-text {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        line-height: 1.4 !important;
        white-space: normal !important;
    }
}

/*==============================
　リフォーム見積りフォーム
==============================*/
@media screen and (max-width: 390px) {

    /* リフォーム見積りフォーム：見出し */
    #dvUserInquiryInput .keiai-section-title {
        font-size: 11px !important;
        line-height: 1.4 !important;
        margin-top: 24px !important;
        margin-bottom: 8px !important;
    }

    #dvUserInquiryInput .keiai-section-title:first-of-type {
        margin-top: 0 !important;
    }

    /* 入力・選択項目 */
    #dvUserInquiryInput input[type="text"],
    #dvUserInquiryInput input[type="tel"],
    #dvUserInquiryInput input[type="email"],
    #dvUserInquiryInput select,
    #dvUserInquiryInput textarea {
        font-size: 14px !important;
        line-height: 1.5 !important;
        box-sizing: border-box !important;
    }

    /* セレクトボックス */
    #dvUserInquiryInput .add-u__form-select-wrapper {
        width: 90% !important;
        max-width: 90% !important;
        box-sizing: border-box !important;
    }

    #dvUserInquiryInput select.property-select-field {
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 40px 0 12px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        box-sizing: border-box !important;
    }

    /* テキストエリア */
    #dvUserInquiryInput .keiai-textarea {
        width: 95% !important;
        max-width: 95% !important;
        min-height: 180px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
        box-sizing: border-box !important;
    }

    /* ラジオボタン */
    #dvUserInquiryInput .keiai-radio-container {
        width: 95% !important;
        max-width: 95% !important;
        padding: 8px 0 !important;
    }

    #dvUserInquiryInput .keiai-radio-container > span {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    #dvUserInquiryInput .keiai-radio-container label {
        width: 100% !important;
        min-height: 82px !important;
        padding: 16px 16px 16px 48px !important;
        box-sizing: border-box !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        align-items: flex-start !important;
        justify-content: center !important;
        text-align: left !important;
    }

    /* 添付ファイル */
    #dvUserInquiryInput .keiai-upload-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 90% !important;
        max-width: 90% !important;
        box-sizing: border-box !important;
    }

    #dvUserInquiryInput .keiai-upload-container .keiai-upload-box {
        width: 95% !important;
        max-width: 95% !important;
        padding: 24px 20px !important;
        box-sizing: border-box !important;
        font-size: 14px !important;
    }

    /* 文字数カウント */
    #dvUserInquiryInput .keiai-char-count {
        width: 90% !important;
        max-width: 90% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: right !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
        box-sizing: border-box !important;
    }
    #dvUserInquiryInput .product-detail {
        margin-right: 10px !important;
    }
}

/*==============================
　認証ボタン
==============================*/
/* --- reCAPTCHA 外枠の表示調整 --- */
.keiai-captcha-zone {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.keiai-captcha-zone .g-recaptcha {
    width: 304px !important;
    max-width: 304px !important;
    height: 78px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.keiai-captcha-zone .g-recaptcha > div {
    width: 304px !important;
    max-width: 304px !important;
    height: 78px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.keiai-captcha-zone .g-recaptcha iframe {
    display: block !important;
    width: 304px !important;
    max-width: none !important;
    height: 78px !important;
    box-sizing: border-box !important;
    border: 0 !important;
}

@media screen and (max-width: 390px) {
    .keiai-captcha-zone {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .keiai-captcha-zone .g-recaptcha {
        width: 304px !important;
        max-width: 304px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}