@charset "UTF-8";
/* ==============================================================
# Color
============================================================== */
.dib {
  display: inline-block;
}

/* ==============================================================
# テーマ共通
============================================================== */
.page-template-default .l-content,
.models-template-default .l-content {
  padding-top: 0 !important;
}

@media (min-width: 600px) {
  .post_content h2 {
    font-size: 1.75em;
  }
}
@media screen and (max-width: 959px) {
  .p-fixBtnWrap {
    bottom: 4.5rem;
  }
}

.single .p-breadcrumb__item:last-child > span.p-breadcrumb__text {
  display: block;
}


.c-spnav>li>a {
	font-weight: 700;
}

.p-breadcrumb__list {
	overflow-x: auto;
	padding-bottom: 0.5rem;
}


/* ==============================================================
# 下層ページ共通
============================================================== */
.l-topTitleArea {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.l-topTitleArea img {
  display: none;
}
.l-topTitleArea::before {
  display: none;
}
.l-topTitleArea::after {
  display: none;
}

.l-topTitleArea__body {
  text-shadow: none;
  color: #222;
}

.c-pageTitle {
  position: relative;
  font-size: 2em;
  padding-left: 1em;
  line-height: 1.3;
}
.c-pageTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.5em;
  height: 0.5em;
  border-radius: 999px;
  background: #0495F6;
}
@media screen and (max-width: 768px) {
  .c-pageTitle {
    font-size: 1.75em;
    padding-left: 1em;
  }
}

.c-pageTitle__inner {
  padding-top: 0;
  line-height: 1.3;
}

/* ==============================================================
# header
============================================================== */
.l-header .c-gnav > .menu-item > a,
.l-fixHeader .c-gnav > .menu-item > a {
  font-weight: 700;
}
@media screen and (min-width: 960px) {
	.-series .l-header__logo {
     margin-right: 0;
    }
	.l-fixHeader__logo {
        margin-right: 0;
    }
	    .-series .c-headLogo {
        margin-right: 0;
    }
}

@media screen and (max-width: 1399px) {
  .l-header {
    position: sticky;
    top: 0;
  }
  .l-header .menu-item:not(.cta-btn) {
    display: none;
  }
  .l-fixHeader {
    position: sticky;
    top: 5em;
    border-top: 1px solid #ddd;
    opacity: 1;
    visibility: visible;
    padding: 1.25em 0;
    transform: inherit;
    transition: inherit !important;
  }
  .l-fixHeader .l-fixHeader__logo,
  .l-fixHeader .menu-item.cta-btn {
    display: none;
  }
  .l-fixHeader .l-fixHeader__gnav {
    margin: 0;
  }
  .l-fixHeader__inner {
    display: block;
  }
  .l-fixHeader__gnav .c-gnav {
    justify-content: space-around;
  }
}
.l-header__inner,
.l-fixHeader__inner {
  max-width: inherit;
}

.menu-item.cta-btn {
  display: flex;
  align-items: center;
  margin-left: 0.75em;
}
@media screen and (max-width: 959px) {
  .menu-item.cta-btn {
    margin-top: 1em !important;
  }
}
.menu-item.cta-btn a {
  color: #fff;
  padding: 1em;
  height: auto;
  border-radius: 0.25em;
  position: relative;
  flex-direction: row;
  align-items: center;
  gap: 0.5em;
  transition: opacity 0.3s ease;
}
.menu-item.cta-btn a::before {
  content: "";
  position: relative;
  top: inherit;
  transform: inherit;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
}
.menu-item.cta-btn a::after {
  display: none;
}
@media (hover: hover) {
  .menu-item.cta-btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 959px) {
  .menu-item.cta-btn a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.menu-item.estimate-btn a {
  background: #0495F6;
}
.menu-item.estimate-btn a::before {
  mask: url(../img/icon_calculator.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #fff;
  transition: background 0.3s;
}
.menu-item.line-btn a {
  background: #06C755;
}
.menu-item.line-btn a::before {
  background: url(../img/icon_line.svg) no-repeat center center/contain;
}

#fix_bottom_menu {
  box-shadow: inherit;
}
#fix_bottom_menu::before {
  content: "";
  background: transparent;
}
#fix_bottom_menu .menu_list {
  height: inherit;
}
#fix_bottom_menu .menu-item {
  margin-top: 0 !important;
}
#fix_bottom_menu .menu-item i {
  display: none;
}
#fix_bottom_menu .menu-item a {
  border-radius: 0;
  display: flex;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
}
#fix_bottom_menu .menu-item a span {
  margin-top: 0;
  display: inline-block;
  color: #fff;
  width: auto;
  font-size: 0.875em;
  font-weight: 700;
}

/* ==============================================================
# footer
============================================================== */
@media screen and (max-width: 959px) {
  .l-footer {
    padding-bottom: 3.5em;
  }
}
.l-footer .l-container {
  max-width: inherit;
}

.l-footer__foot {
  padding: 0;
}
.l-footer__foot .c-iconList {
  margin-bottom: 1em;
}
.l-footer__foot .c-iconList .u-fz-14 {
  font-size: 1em;
}
@media screen and (max-width: 768px) {
  .l-footer__foot .c-iconList .u-fz-14 {
    font-size: 20px;
  }
}

.l-footer__widgetArea {
  padding: 2.5em 0 !important;
}

.w-footer__box {
  padding: 0;
}
.w-footer__box:nth-child(1) {
  flex: 0 0 25em;
}
.w-footer__box:nth-child(1) p {
  font-size: 0.875em;
}
.w-footer__box:nth-child(1) .textwidget {
  padding-left: 0.5em;
}
.w-footer__box:nth-child(1) a {
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .w-footer__box:nth-child(1) a:hover {
    opacity: 0.7;
  }
}
.w-footer__box:nth-child(2) {
  display: flex;
  gap: 2em;
  justify-content: end;
}
@media screen and (max-width: 959px) {
  .w-footer__box:nth-child(2) {
    justify-content: start;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .w-footer__box:nth-child(2) {
    margin-top: 2.5em;
    gap: 2.5em;
  }
}
.w-footer__box:nth-child(2) .c-widget {
  flex: 0 1 16em;
}
@media screen and (max-width: 959px) {
  .w-footer__box:nth-child(2) .c-widget {
    flex: inherit;
  }
}
.w-footer__box:nth-child(2) .c-listMenu .menu {
  padding-left: 0.5em;
}
.w-footer__box:nth-child(2) .c-listMenu a {
  font-size: 0.875em;
  border-bottom: none;
  padding: 0.25em 0.5em 0.25em 1.5em;
}
@media (hover: hover) {
  .w-footer__box:nth-child(2) .c-listMenu a:hover {
    text-decoration: underline;
  }
  .w-footer__box:nth-child(2) .c-listMenu a:hover::before {
    text-decoration: none;
  }
}
.w-footer__box .c-widget + .c-widget {
  margin-top: 0em;
}
.w-footer__box .c-widget__title {
  padding: 0;
  margin-bottom: 0.5em;
  font-size: 14px;
}
.w-footer__box .c-widget__title::before, .w-footer__box .c-widget__title::after {
  display: none;
}

.l-footer__foot {
  border-top: 1px solid #666;
}
.l-footer__foot .l-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .l-footer__foot .l-container {
    flex-direction: column;
    align-items: start;
  }
}

.l-footer__nav {
  padding: 1em 0;
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    padding: 1em 0 0;
    gap: 1em;
  }
}
.l-footer__nav a {
  font-size: 0.75em;
  padding: 0 1em;
  border-color: #999 !important;
}
@media screen and (max-width: 768px) {
  .l-footer__nav a {
    padding: 0;
    font-size: 0.875em;
  }
}
@media (hover: hover) {
  .l-footer__nav a:hover {
    text-decoration: underline;
  }
}

.copyright {
  padding: 1em 0;
}
@media screen and (max-width: 768px) {
  .copyright {
    padding: 4em 0 1em;
  }
}

/* ==============================================================
# 壊れたMacBookの買取について
============================================================== */
.id_30 .p-home-purchase {
  background: transparent !important;
}

/* ==============================================================
# 選ばれる理由
============================================================== */
.p-reasons__block:nth-child(2n) .swell-block-columns__inner {
  flex-direction: row-reverse;
}
.p-reasons__block .swell-block-column {
  position: relative;
}
.p-reasons__block .swell-block-column .wp-block-heading {
  margin-top: 1rem;
}
.p-reasons__block .swell-block-column .wp-block-image {
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-reasons__num {
  margin-bottom: 1rem !important;
  padding-bottom: 1rem;
  font-weight: 700;
  font-size: 3rem;
  color: #0495F6;
  line-height: 1;
  position: relative;
}
.p-reasons__num::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1rem;
  height: 2px;
  background: #0495F6;
}

.p-reasons__labels {
  gap: 0.5rem;
  flex-wrap: wrap;
}
.p-reasons__labels .wp-block-paragraph {
  border-radius: 0.25rem;
  padding: 0.125rem 0.5rem !important;
  background: #f5fcfb;
  color: #00ada0;
  font-weight: 600;
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  border: 1px solid #00ada0;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .p-reasons__labels .wp-block-paragraph {
    font-size: 1em;
  }
}

/* ==============================================================
# 買取の流れ
============================================================== */
.p-flow .wp-block-list {
  padding: 1rem;
  background: #f5fcfb;
  border: 1px solid #00ada0;
  border-radius: 0.25rem;
}
.p-flow .wp-block-list li {
  color: #00ada0;
}
.p-flow .wp-block-list li::before {
  color: #00ada0;
}
.p-flow .is-style-big_icon_caution {
  padding: 1.5rem 1rem 1rem;
}
.p-flow .wp-block-group.is-row {
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-flow .wp-block-group.is-row .swell-block-button {
    width: 100%;
  }
}

.swell-block-step__title {
  line-height: 1.5;
}

/* ==============================================================
# 買い取れるもの
============================================================== */
.p-purchase .swell-block-column {
  position: relative;
}
.p-purchase .swell-block-column h3.wp-block-heading {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  padding: 0 1.5rem;
  border-radius: 0.25rem;
  width: max-content;
}

.p-purchase__column--ok {
  background: #f5fcfb;
  border: 1px solid #00ada0;
  padding: 2rem !important;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-purchase__column--ok {
    padding: 2em 1em !important;
  }
}
.p-purchase__column--ok h3.wp-block-heading {
  background: #00ada0;
  color: #fff;
}
.p-purchase__column--ok h4.wp-block-heading {
  border-color: #00ada0;
  color: #00ada0;
}
.p-purchase__column--ok li::before {
  color: #00ada0;
}

.p-purchase__column--ng {
  background: #fff5f4;
  border: 1px solid #ff524b;
  padding: 2rem !important;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-purchase__column--ng {
    padding: 2em 1em !important;
  }
}
.p-purchase__column--ng h3.wp-block-heading {
  background: #ff524b;
  color: #fff;
}
.p-purchase__column--ng h4.wp-block-heading {
  border-color: #ff524b;
  color: #ff524b;
}

.p-purchase-point img {
  border-radius: 0.25rem;
}
.p-purchase-point .comment {
  padding: 0 0.5rem;
}
.p-purchase-point .comment.comment-line {
  color: #00ada0;
  background: rgba(0, 173, 160, 0.05);
}
.p-purchase-point .comment.comment-good {
  color: #0495F6;
  background: rgba(4, 149, 246, 0.05);
}
.p-purchase-point .comment.comment-bad {
  color: #ff524b;
  background: rgba(255, 82, 75, 0.05);
}

.p-purchase-point__label span {
  display: inline-block;
  border-radius: 0.25rem;
  padding: 0 0.5rem;
}

.p-purchase-custom .wp-block-image {
  background: #fff;
  border-radius: 999px;
  position: relative;
  margin: 0 auto;
  width: 5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-purchase-custom .wp-block-heading {
  margin-top: 1rem;
}
.p-purchase-custom .swell-block-column:nth-child(2) {
  border-left: 1px solid #D7D9DB;
}
@media screen and (max-width: 768px) {
  .p-purchase-custom .swell-block-column:nth-child(2) {
    border-left: none;
    border-top: 1px solid #D7D9DB;
    padding: 1em 0 0;
  }
}

/* ==============================================================
# 型番の調べ方
============================================================== */
.p-research .swell-block-capbox {
  padding: 1.5rem 1rem 1rem;
  max-width: 60rem;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 768px) {
  .p-research .swell-block-dl__dt {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .p-research .swell-block-dl__dd {
    width: 100%;
  }
}
.p-research .wp-block-paragraph {
  padding-left: 1em;
  text-indent: -1em;
}
.p-research .c-tabBody {
  margin-top: 2rem;
}
.p-research .c-tabBody__item:nth-child(2) .wp-block-list.is-style-check_list {
  padding: 0;
  background: inherit;
  border: none;
  border-radius: 0;
}
.p-research .c-tabBody__item:nth-child(2) .wp-block-list.is-style-check_list li {
  color: inherit;
}
.p-research .c-tabBody__item:nth-child(2) .wp-block-list.is-style-check_list li::before {
  color: #0495F6;
}
.p-research .wp-block-list.is-style-num_circle li::before {
  background: #222;
  box-shadow: 0 0 0 1px #222;
}
.p-research .wp-block-list.is-style-check_list {
  padding: 1rem;
  background: #f5fcfb;
  border: 1px solid #00ada0;
  border-radius: 0.25rem;
}
.p-research .wp-block-list.is-style-check_list li {
  color: #00ada0;
}
.p-research .wp-block-list.is-style-check_list li::before {
  color: #00ada0;
}
.p-research small {
  opacity: 1;
}

/* ==============================================================
# 状態ランクについて
============================================================== */
.p-rank .swell-block-column {
  border: 1px solid;
  border-radius: 0.25rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-rank .swell-block-column {
    padding: 2em 1em;
  }
}
.p-rank .swell-block-column.rank--s {
  border-color: #d4a017;
  background: rgba(212, 160, 23, 0.075);
}
.p-rank .swell-block-column.rank--s .label {
  background: #0495F6;
}
.p-rank .swell-block-column.rank--a {
  border-color: #9e9e9e;
  background: rgba(158, 158, 158, 0.075);
}
.p-rank .swell-block-column.rank--a .label {
  background: #00ada0;
}
.p-rank .swell-block-column.rank--b {
  border-color: #cd7f32;
  background: rgba(205, 127, 50, 0.075);
}
.p-rank .swell-block-column.rank--b .label {
  background: #FFC905;
}
.p-rank .swell-block-column.rank--c {
  border-color: #555555;
  background: rgba(85, 85, 85, 0.075);
}
.p-rank .swell-block-column.rank--c .label {
  background: #ff524b;
}
.p-rank .swell-block-column.rank--d {
  border-color: #ee6828;
  background: rgba(238, 104, 40, 0.075);
}
.p-rank .swell-block-column.rank--d .label {
  background: #ff524b;
}
.p-rank .swell-block-column .label {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(10%, -25%);
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 0.125rem;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-rank .swell-block-column .label {
    font-size: 0.875em;
  }
}
.p-rank .swell-block-column h3.wp-block-heading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-rank .swell-block-column .swl-bg-color {
  display: inline-block;
  border-radius: 0.25rem;
  line-height: 1;
  font-size: 80%;
  padding: 0.5rem 0.5rem;
}
.p-rank .swell-block-column .wp-block-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-rank .swell-block-column .wp-block-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-rank .swell-block-column img {
  border-radius: 0.25rem;
}
@media screen and (max-width: 768px) {
  .p-rank .swell-block-column .wp-block-gallery {
    gap: 0.5em;
  }
}

/* ==============================================================
# 梱包方法
============================================================== */
.p-package .is-style-big_icon_check,
.p-package .is-style-big_icon_caution {
  padding: 1.5rem 1rem 1rem;
}
.p-package .swell-block-step__item:first-child .swell-block-step__body {
  background: #fff5f4;
  padding: 2rem 1.5rem;
  border-radius: 0.5rem;
}
.p-package .swell-block-step__item:first-child .swell-block-capbox {
  background: #fff;
}

.p-package__caution {
  max-width: 60rem;
  margin: 0 auto;
}
.p-package__caution .wp-block-list {
  padding-left: 0;
}
.p-package__caution .wp-block-list li {
  list-style: none;
}
.p-package__caution .wp-block-list li .swl-inline-icon:after {
  background: #ff524b;
}

/* ==============================================================
# カスタム品買取
============================================================== */
.p-custom-lead .wp-block-group .wp-block-paragraph {
  background: #F4F5F6;
  color: #3f4756;
  padding: 1rem;
  border-radius: 0.5rem;
  text-align: center;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-custom-lead .wp-block-group .wp-block-paragraph {
    padding: 1em 0.5em;
    font-size: 0.85em !important;
  }
}
.p-custom-lead .wp-block-group .wp-block-paragraph::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  mask: url(../img/icon_worries.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #a3acbd;
  transition: background 0.3s;
  opacity: 0.5;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-custom-lead .wp-block-group .wp-block-paragraph::before {
    opacity: 0.3;
  }
}

.p-custom-compare .swell-block-capbox {
  max-width: 60rem;
  margin: 0 auto;
}
.p-custom-compare .cap_box_ttl {
  justify-content: center;
}

.p-table thead th {
  color: #fff;
}
.p-table thead th:nth-child(3) {
  background: #0495F6;
}
.p-table tbody td {
  background: #fff;
}
.p-table tbody td:last-child {
  background: #F2F8FD;
  font-weight: 700;
}
.p-table tbody td:last-child .swl-inline-icon:after {
  color: #0495F6;
}

.p-custom-service .swell-block-column {
  padding: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-custom-service .swell-block-column {
    padding: 1.5em 0;
  }
}
.p-custom-service .swell-block-column:nth-child(n+3) {
  border-top: 1px solid #D7D9DB;
}
.p-custom-service .swell-block-column:nth-child(2n) {
  border-left: 1px solid #D7D9DB;
}
@media screen and (max-width: 768px) {
  .p-custom-service .swell-block-column:nth-child(2n) {
    border-left: none;
  }
}
@media screen and (max-width: 768px) {
  .p-custom-service .swell-block-column:nth-child(n+2) {
    border-top: 1px solid #D7D9DB;
  }
}
.p-custom-service .swell-block-column ul,
.p-custom-service .swell-block-column p {
  padding-left: 1rem;
}
@media screen and (max-width: 768px) {
  .p-custom-service .swell-block-column ul,
  .p-custom-service .swell-block-column p {
    padding-left: 0;
  }
}
.p-custom-service .swell-block-capbox {
  max-width: 60rem;
  margin: 0 auto;
}
.p-custom-service .swell-block-dl__dt {
  width: 22.5rem;
}
@media screen and (max-width: 768px) {
  .p-custom-service .swell-block-dl__dt {
    width: auto;
  }
}
.p-custom-service .swell-block-dl__dd {
  width: calc(100% - 22.5rem);
}
@media screen and (max-width: 768px) {
  .p-custom-service .swell-block-dl__dd {
    width: 100%;
    padding-top: 0 !important;
  }
}
.p-custom-service .swell-block-dl__dt,
.p-custom-service .swell-block-dl__dd {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* ==============================================================
# 故障品買取
============================================================== */
.p-repair-flow .swell-block-step {
  max-width: 60rem;
  margin: 0 auto;
}
.p-repair-flow .swell-block-step__item {
  padding-bottom: 1rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-repair-flow .swell-block-step__item {
    padding-bottom: 1.5em;
  }
}
.p-repair-flow .swell-block-step__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  width: 1px;
  height: 100%;
  background: #D7D9DB;
  z-index: -1;
}
.p-repair-flow .swell-block-step__body {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-repair-flow .swell-block-step__body {
    margin-top: 0.5em;
    margin-left: 0 !important;
  }
}
.p-repair-flow .swell-block-step__title {
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-repair-flow .swell-block-step__title {
    font-size: 1.1em !important;
  }
}

.p-repair-compare .has-xs-font-size.wp-block-paragraph {
  padding-left: 1em;
  text-indent: -1em;
}

.p-repair-service .swell-block-column {
  padding: 1.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-repair-service .swell-block-column {
    padding: 1.5em 0;
  }
}
.p-repair-service .swell-block-column:nth-child(n+3) {
  border-top: 1px solid #D7D9DB;
}
.p-repair-service .swell-block-column:nth-child(2n) {
  border-left: 1px solid #D7D9DB;
}
@media screen and (max-width: 768px) {
  .p-repair-service .swell-block-column:nth-child(2n) {
    border-left: none;
  }
}
@media screen and (max-width: 768px) {
  .p-repair-service .swell-block-column:nth-child(n+2) {
    border-top: 1px solid #D7D9DB;
  }
}
.p-repair-service .swell-block-column ul,
.p-repair-service .swell-block-column p {
  padding-left: 1rem;
}
.p-repair-service .swell-block-column.icon-display .wp-block-heading::before {
  mask: url(../img/icon_display.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #a3acbd;
}
.p-repair-service .swell-block-column.icon-battery .wp-block-heading::before {
  mask: url(../img/icon_battery.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #a3acbd;
}
.p-repair-service .swell-block-column.icon-keyboard .wp-block-heading::before {
  mask: url(../img/icon_keyboard.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #a3acbd;
}
.p-repair-service .swell-block-column.icon-os .wp-block-heading::before {
  mask: url(../img/icon_gear.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #a3acbd;
}
.p-repair-service .swell-block-column .wp-block-heading {
  position: relative;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.p-repair-service .swell-block-column .wp-block-heading::before {
  content: "";
  position: relative;
  left: inherit;
  bottom: inherit;
  display: inline-block;
  width: 3rem;
  height: 3rem;
  transition: background 0.3s;
}
.p-repair-service .swell-block-capbox {
  max-width: 60rem;
  margin: 0 auto;
}
.p-repair-service .cap_box_ttl {
  justify-content: center;
}

.p-faq .wp-block-heading {
  background: #F4F5F6;
  padding: 1rem;
}
.p-faq .swell-block-linkList {
  position: sticky;
  top: 8rem;
}

.swell-block-faq .swell-block-faq__item {
  background: #fff;
}
.swell-block-faq .faq_q {
  cursor: pointer;
  padding: 1em 1em 0.5em 4em;
}
@media screen and (max-width: 768px) {
  .swell-block-faq .faq_q {
    padding: 1em 0.5em 0.5em 3em;
  }
}
.swell-block-faq .faq_q::before {
  left: 1em;
}
@media screen and (max-width: 768px) {
  .swell-block-faq .faq_q::before {
    left: 0.5em;
  }
}
.swell-block-faq .faq_a {
  padding: 0 !important;
}
.swell-block-faq .faq_a.block-editor-block-list__layout {
  height: inherit !important;
}
.swell-block-faq .faq_a::before {
  left: 1em;
}
@media screen and (max-width: 768px) {
  .swell-block-faq .faq_a::before {
    left: 0.5em;
  }
}
.swell-block-faq .faq_a .wp-block-paragraph {
  padding: 1em 1em 1em 4em;
}
@media screen and (max-width: 768px) {
  .swell-block-faq .faq_a .wp-block-paragraph {
    padding: 1em 0.5em 1em 3em;
  }
}

.swell-block-faq .swell-block-faq__item + .swell-block-faq__item {
  position: relative;
}

/* ==============================================================
# お問い合わせフォーム（Contact Form 7）
============================================================== */
.p-form input[type=text],
.p-form input[type=tel],
.p-form input[type=email],
.p-form textarea,
.p-form select {
  width: 100%;
  padding: 0.5em 1em;
  font-size: 1em;
  color: #222;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.25em;
  line-height: 1.5;
}
.p-form input[type=text]::placeholder,
.p-form input[type=tel]::placeholder,
.p-form input[type=email]::placeholder,
.p-form textarea::placeholder,
.p-form select::placeholder {
  color: #aaa;
}
.p-form input[type=text]:focus,
.p-form input[type=tel]:focus,
.p-form input[type=email]:focus,
.p-form textarea:focus,
.p-form select:focus {
  outline: 2px solid rgba(4, 149, 246, 0.5);
  outline-offset: 0;
}
.p-form textarea {
  min-height: 13em;
  resize: vertical;
}
.p-form select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2.75em;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23999' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 1.25em center/0.75em;
  cursor: pointer;
}
.p-form .wpcf7-form-control-wrap {
  display: block;
}
.p-form .wpcf7-form-control-wrap[data-name=your-message] {
  line-height: 1;
}
.p-form .wpcf7-not-valid-tip {
  font-size: 0.75em;
  margin-top: 0.25em;
}
.p-form [data-id=group-estimate] {
  margin-top: 2em;
}

.p-form__row {
  display: grid;
  grid-template-columns: 12em 1fr;
  gap: 1em 2.5em;
  align-items: start;
}
.p-form__row:nth-child(n+2) {
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-form__row:nth-child(n+2) {
    margin-top: 1.25em;
  }
}
@media screen and (max-width: 768px) {
  .p-form__row {
    grid-template-columns: 1fr;
    gap: 0.25em;
  }
}
.p-form__row.-group-start {
  border-top: 1px solid #D7D9DB;
  padding-top: 2em;
  margin-top: 2em !important;
}

.p-form__label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 700;
  margin-bottom: 0;
  padding-top: 0.5em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-form__label {
    padding-top: 0;
    gap: 0.25em;
  }
}

.p-form__badge {
  flex-shrink: 0;
  display: inline-block;
  font-size: 0.6875em;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  padding: 0.375em 0.625em;
  border-radius: 0.125em;
}
.p-form__badge.-required {
  background: #ff524b;
}
.p-form__badge.-optional {
  background: #888;
}

.p-form__field.-half .wpcf7-form-control-wrap {
  max-width: 20em;
}
@media screen and (max-width: 768px) {
  .p-form__field.-half .wpcf7-form-control-wrap {
    max-width: none;
  }
}

.p-form__note {
  font-size: 0.75em;
  color: #666;
  margin: 0.5em 0 0;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.p-form__note a {
  color: #0495F6;
  text-decoration: underline;
}
@media (hover: hover) {
  .p-form__note a:hover {
    text-decoration: none;
  }
}

.p-form__type .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .p-form__type .wpcf7-radio {
    grid-template-columns: 1fr;
  }
}
.p-form__type .wpcf7-list-item {
  margin: 0;
}
.p-form__type .wpcf7-list-item label {
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.25em;
  padding: 0.75em 1em;
  cursor: pointer;
}
.p-form__type .wpcf7-list-item label::before {
  display: block;
  font-size: 0.75em;
  color: #666;
}
.p-form__type .wpcf7-list-item label:has(input:checked) {
  border-color: #0495F6;
  background: #EEF7FE;
}
.p-form__type .wpcf7-list-item label:has(input:checked) .wpcf7-list-item-label {
  color: #0495F6;
}
.p-form__type .wpcf7-list-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.p-form__type .wpcf7-list-item.first label::before {
  content: "MacBookの買取価格を知りたい方はこちら";
}
.p-form__type .wpcf7-list-item.last label::before {
  content: "買取以外のご質問・その他の方はこちら";
}
.p-form__type .wpcf7-list-item .wpcf7-list-item-label {
  font-weight: 700;
}

.p-form__checks {
  padding-top: 0.75em;
}
@media screen and (max-width: 768px) {
  .p-form__checks {
    padding-top: 0;
  }
}
.p-form__checks .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em 1em;
}
.p-form__checks .wpcf7-list-item {
  margin: 0;
}
.p-form__checks .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: 0.9375em;
  font-weight: 700;
  cursor: pointer;
}
.p-form__checks .wpcf7-list-item input[type=checkbox] {
  width: 1.125em;
  height: 1.125em;
  accent-color: #0495F6;
  cursor: pointer;
}

.p-form__agree {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25em 0.5em;
  border-top: 1px solid #D7D9DB;
  margin-top: 1em;
  padding-top: 2.5em;
}
.p-form__agree .wpcf7-list-item {
  margin: 0;
}
.p-form__agree .wpcf7-acceptance label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-form__agree .wpcf7-acceptance label {
    font-size: 0.875em;
  }
}
.p-form__agree input[type=checkbox] {
  width: 1.25em;
  height: 1.25em;
  accent-color: #0495F6;
  cursor: pointer;
}
.p-form__agree a {
  color: #222;
  text-decoration: underline;
}
@media (hover: hover) {
  .p-form__agree a:hover {
    text-decoration: none;
  }
}

.p-form__submit {
  text-align: center;
  margin-top: 2em;
}
.p-form__submit input[type=submit] {
  min-width: 22em;
  padding: 1em 2.5em;
  font-size: 1em;
  font-weight: 700;
  color: #fff;
  background: #0495F6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'%3E%3Cpath d='M1 1l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 1.5em center/0.5em;
  border: none;
  border-radius: 0.25em;
  cursor: pointer;
  transition: opacity 0.3s;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-form__submit input[type=submit] {
    width: 100%;
    min-width: 0;
  }
}
.p-form__submit input[type=submit]:disabled {
  background: #ccc;
}
@media (hover: hover) {
  .p-form__submit input[type=submit]:hover {
    opacity: 0.8;
  }
}
.p-form__submit .wpcf7-spinner {
  display: block;
  margin: 0.5em auto 0;
}

.p-form__footNotes {
  margin-top: 1em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-form__footNotes {
    text-align: left;
  }
}
.p-form__footNotes p {
  font-size: 0.75em;
  margin-bottom: 0.25em;
}
@media screen and (max-width: 768px) {
  .p-form__footNotes p {
    text-indent: -1em;
    padding-left: 1em;
  }
}

/* ==============================================================
# 買取価格サイトマップ（/estimate-sitemap/）
============================================================== */
.p-estimateSitemap__series {
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__series {
    margin-bottom: 2.5em;
  }
}
.p-estimateSitemap__series:last-child {
  margin-bottom: 0;
}
.p-estimateSitemap__series a {
  color: #222;
  display: block;
  text-decoration: none;
  position: relative;
  line-height: 1.5;
}
.p-estimateSitemap__series a::after {
  font-family: icomoon !important;
  content: "\e921";
  position: absolute;
  top: 50%;
  right: 1rem;
  font-weight: 400;
  transform: translateY(-50%);
  color: #999;
  transition: right 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__series a::after {
    right: 0.5rem;
  }
}
@media (hover: hover) {
  .p-estimateSitemap__series a:hover {
    text-decoration: underline;
  }
  .p-estimateSitemap__series a:hover::after {
    text-decoration: none;
    right: 0.75rem;
  }
}

.p-estimateSitemap__seriesTitle {
  margin: 0 0 2rem 0 !important;
  border-left: none !important;
  padding: 0 !important;
}
.p-estimateSitemap__seriesTitle a {
  font-size: 1em !important;
  font-weight: 700;
  color: #222;
  padding: 1rem 3rem 1rem 1rem;
  background: #F4F5F6;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__seriesTitle a {
    padding: 1rem 2rem 1rem 1rem;
  }
}

.p-estimateSitemap__year {
  display: flex;
  align-items: start;
  gap: 2em;
  padding: 0 1rem;
}
.p-estimateSitemap__year:first-of-type {
  padding-top: 0;
}
.p-estimateSitemap__year:nth-child(n+2) {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__year:nth-child(n+2) {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 959px) {
  .p-estimateSitemap__year {
    display: block;
    padding: 0;
  }
}

.p-estimateSitemap__yearTitle {
  flex: 0 0 25rem;
  margin: 0 !important;
  border-bottom: 1px solid #D7D9DB;
  padding: 0 !important;
}
.p-estimateSitemap__yearTitle a {
  font-size: 1rem !important;
  font-weight: 700;
  padding: 0.5rem 2rem 0.5rem 1rem;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__yearTitle a {
    padding: 1rem 2rem 1rem 0;
  }
}
.p-estimateSitemap__yearTitle::before {
  display: none !important;
}

.p-estimateSitemap__list {
  flex: 0 1 100%;
  display: grid;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0 !important;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__list {
    margin-top: 1rem;
    padding-left: 1rem !important;
  }
}
.p-estimateSitemap__list li {
  margin: 0;
}

.p-estimateSitemap__btn {
  display: block;
  font-size: 0.75rem;
  color: #222;
  border-bottom: 1px solid #D7D9DB;
  padding: 0.75rem 2rem 0.75rem 1rem;
  text-decoration: none;
  transition: border-color 0.3s, color 0.3s, background 0.3s;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__btn {
    font-size: 0.825rem;
    padding: 0.75rem 2rem 0.75rem 0rem;
    display: block;
    border: none;
    border-bottom: 1px solid #D7D9DB;
    border-radius: 0;
  }
}

.p-estimateSitemap__btnSeries {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-estimateSitemap__btnSeries {
    display: inline;
    font-weight: 700;
  }
}

.p-estimateSitemap__btnColor {
  font-size: 0.875em;
  color: #888;
}

.p-estimateSitemap__btn:hover .p-estimateSitemap__btnColor {
  color: inherit;
}

/* ==============================================================
# 買取価格一覧（/estimate/）
============================================================== */
.p-estimate {
  padding: 2em 0 6em;
}

.p-estimate__lead {
  font-size: 0.9375em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 768px) {
  .p-estimate__lead {
    font-size: 0.875em;
    margin-bottom: 2em;
  }
}

/* -----------------------------
# 絞り込み検索フォーム
----------------------------- */
.home .p-estimateSearch {
  background: #fff;
}
.home .p-estimateSearch__head {
  display: none;
}

.p-estimateSearch {
  background: #F4F5F6;
  border-radius: 0.25em;
  padding: 1.5em 2em 1.5em;
}
@media screen and (max-width: 959px) {
  .p-estimateSearch {
    padding: 2em 1.5em 1.5em;
  }
}
@media screen and (max-width: 768px) {
  .p-estimateSearch {
    padding: 1.5em 1.25em;
  }
}

.p-estimateSearch__head {
  text-align: center;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__head {
    margin-bottom: 1em;
  }
}

.p-estimateSearch__title {
  font-size: 1.125em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__title {
    font-size: 1em;
  }
}

.p-estimateSearch__lead {
  font-size: 0.8735em;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__lead {
    font-size: 0.75em;
  }
}

.p-estimateSearch__label {
  display: block;
  font-size: 0.8735em;
  font-weight: 700;
  margin-bottom: 0.125em;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__label {
    margin-bottom: 0;
  }
}

.p-estimateSearch__keyword {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__keyword {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-bottom: 0.5em;
  }
}
.p-estimateSearch__keyword .p-estimateSearch__label {
  margin-bottom: 0;
  flex-shrink: 0;
}
.p-estimateSearch__keyword input[type=text] {
  width: 100%;
  max-width: 24.5em;
  padding: 0.5em 1em;
  font-size: 1em;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.25em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__keyword input[type=text] {
    max-width: none;
  }
}
.p-estimateSearch__keyword input[type=text]::placeholder {
  color: #aaa;
}
.p-estimateSearch__keyword input[type=text]:focus {
  outline: 2px solid rgba(4, 149, 246, 0.5);
  outline-offset: 0;
}

.p-estimateSearch__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1em;
}
@media screen and (max-width: 959px) {
  .p-estimateSearch__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__grid {
    grid-template-columns: 1fr;
    gap: 0.5em;
  }
}

@media screen and (max-width: 768px) {
  .p-estimateSearch__field.-detail {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .p-estimateSearch.is-open .p-estimateSearch__field.-detail {
    display: block;
  }
}

.p-estimateSearch__select {
  position: relative;
}
.p-estimateSearch__select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
.p-estimateSearch__select select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding: 0.5em 2.5em 0.5em 1em;
  font-size: 1em;
  color: #222;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.25em;
  line-height: 1.5;
  cursor: pointer;
}
.p-estimateSearch__select select:focus {
  outline: 2px solid rgba(4, 149, 246, 0.5);
  outline-offset: 0;
}

.p-estimateSearch__toggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    margin: 1em auto 0;
    padding: 0.25em 0.5em;
    font-size: 0.875em;
    font-weight: 700;
    color: #0495F6;
    background: none;
    border: none;
    cursor: pointer;
  }
  .p-estimateSearch__toggle::before {
    content: "＋";
    font-weight: 700;
  }
}

.p-estimateSearch.is-open .p-estimateSearch__toggle::before {
  content: "−";
}

.p-estimateSearch__actions {
  position: relative;
  text-align: center;
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__actions {
    margin-top: 1.5em;
  }
}

.p-estimateSearch__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-width: 20em;
  padding: 0.75em 2em;
  font-weight: 700;
  font-size: 1em;
  color: #fff;
  background: #0495F6;
  border: none;
  border-radius: 0.25em;
  cursor: pointer;
  transition: opacity 0.3s;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__submit {
    width: 100%;
    min-width: 0;
  }
}
.p-estimateSearch__submit::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  z-index: -1;
  transition: width 0.3s ease-in-out;
}
@media (hover: hover) {
  .p-estimateSearch__submit:hover {
    box-shadow: none;
  }
  .p-estimateSearch__submit:hover::after {
    width: 100%;
  }
}

.p-estimateSearch__clear {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 0.75em;
  color: #999;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-estimateSearch__clear {
    position: static;
    display: inline-block;
    margin-top: 1.25em;
  }
}
@media (hover: hover) {
  .p-estimateSearch__clear:hover {
    color: #222;
  }
}

/* -----------------------------
# 検索結果
----------------------------- */
.p-estimateResult {
  margin-top: 3em;
}
@media screen and (max-width: 768px) {
  .p-estimateResult {
    margin-top: 2.5em;
  }
}

.p-estimateResult__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75em 1.5em;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .p-estimateResult__head {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-estimateResult__count {
  font-weight: 700;
  margin-bottom: 0;
}
.p-estimateResult__count em {
  font-style: normal;
  font-size: 1.75em;
  line-height: 1;
  color: #ff524b;
  margin: 0 0.125em;
}

.p-estimateResult__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em;
  list-style: none;
  margin: 0;
  padding: 0 !important;
}
.p-estimateResult__chips li {
  font-size: 0.75em;
  color: #0495F6;
  background: rgba(4, 149, 246, 0.08);
  border-radius: 0.125em;
  padding: 0.25em 0.75em;
}

.p-estimateResult__tableWrap {
  overflow-x: auto;
}
@media screen and (max-width: 768px) {
  .p-estimateResult__tableWrap {
    display: none;
  }
}

.p-estimateResult__table {
  width: 100%;
  min-width: 60em;
  border-collapse: collapse;
}
.p-estimateResult__table thead th {
  font-size: 0.8125em;
  font-weight: 700;
  text-align: center;
  background: #F4F5F6;
  color: #222;
  padding: 0.75em 0.75em;
  border: none;
  border-bottom: 1px solid #AAAAAA;
}
.p-estimateResult__table thead th:first-child {
  text-align: left;
  padding-left: 1.25em;
}
.p-estimateResult__table tbody tr {
  border-bottom: 1px solid #D7D9DB;
  cursor: pointer;
  transition: background 0.2s;
}
@media (hover: hover) {
  .p-estimateResult__table tbody tr:hover {
    background: rgba(4, 149, 246, 0.05);
  }
}
.p-estimateResult__table tbody th,
.p-estimateResult__table tbody td {
  font-size: 0.875em;
  text-align: center;
  vertical-align: middle;
  padding: 0.75em 0.5em;
  border: none;
  line-height: 1.5;
}
.p-estimateResult__table tbody th {
  text-align: left;
  padding-left: 1em;
  background: transparent;
}
.p-estimateResult__table tbody .-price {
  font-weight: 700;
  color: #ff524b;
  white-space: nowrap;
  font-size: 1.125em;
}
.p-estimateResult__table tbody .-link {
  white-space: nowrap;
}
.p-estimateResult__table tbody .-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 700;
  color: #222;
  text-decoration: none;
}
@media (hover: hover) {
  .p-estimateResult__table tbody .-link a:hover {
    color: #0495F6;
  }
  .p-estimateResult__table tbody .-link a:hover::after {
    border-color: #0495F6;
  }
}

.p-estimateResult__cards {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-estimateResult__cards {
    display: grid;
    gap: 1em;
  }
}

.p-estimateResult__notes {
  margin-top: 4em;
}
.p-estimateResult__notes p {
  font-size: 0.75em;
  line-height: 1.8;
  margin-bottom: 0.25em;
}

.p-estimateResult__empty {
  text-align: center;
  padding: 4em 0 0;
  line-height: 2;
}

/* -----------------------------
# 検索結果カード（SP）
----------------------------- */
.p-estimateCard {
  position: relative;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.25em;
  padding: 1em;
}

.p-estimateCard__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5em;
  margin-bottom: 0.5em;
}

.p-estimateCard__title {
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 0;
}

.p-estimateCard__model {
  font-size: 0.75em;
  margin-bottom: 0;
  white-space: nowrap;
}

.p-estimateCard__data {
  margin: 0 0 0.5em;
  display: grid;
  gap: 0.125em;
}
.p-estimateCard__data div {
  display: flex;
  align-items: baseline;
  gap: 1em;
}
.p-estimateCard__data dt {
  flex: 0 0 9em;
  font-size: 0.75em;
  font-weight: 700;
  color: #999;
}
.p-estimateCard__data dd {
  font-size: 0.75em;
  font-weight: 700;
  margin: 0;
}

.p-estimateCard__price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  border-top: 1px solid #D7D9DB;
  padding-top: 0.25em;
  margin-bottom: 0.25em;
}

.p-estimateCard__priceLabel {
  font-size: 0.875em;
  font-weight: 700;
}

.p-estimateCard__priceValue {
  font-size: 1.5em;
  font-weight: 700;
  color: #ff524b;
}

.p-estimateCard__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: 100%;
  padding: 0.75em 1em;
  font-size: 0.75em;
  font-weight: 700;
  color: #fff;
  background: #222;
  border-radius: 0.25em;
  text-decoration: none;
  transition: opacity 0.3s;
  position: relative;
}
.p-estimateCard__btn::before {
  content: "";
  position: absolute;
  inset: 0;
}
@media (hover: hover) {
  .p-estimateCard__btn:hover {
    opacity: 0.8;
    color: #fff;
  }
}

/* ==============================================================
# 商品詳細（single-models）
============================================================== */
.single-models .l-content {
  margin-bottom: 0;
}

.p-modelDetail {
  padding: 4em 0 6em;
  margin: 0 calc(50% - 50vw);
}

.p-modelDetail__heading {
  font-size: 1.25em;
  font-weight: 700;
  margin-bottom: 1rem;
}

.p-modelDetail__notes {
  margin-top: 1em;
}
.p-modelDetail__notes p {
  font-size: 0.75em;
  margin-bottom: 0.25em;
  padding-left: 1em;
  text-indent: -1em;
}

.p-modelDetail__layout {
  display: grid;
  grid-template-columns: 1fr 25em;
  grid-template-areas: "price side" "spec side" "variations side";
  grid-template-rows: auto auto 1fr;
  gap: 3em;
  align-items: start;
}
@media screen and (max-width: 959px) {
  .p-modelDetail__layout {
    grid-template-columns: 1fr;
    grid-template-areas: "price" "side" "spec" "variations";
    gap: 2.5em;
  }
}

.p-modelDetail__content {
  margin-top: 4em;
  padding-top: 4em;
  border-top: 1px solid #666;
}

/* -----------------------------
# 状態別の買取目安価格
----------------------------- */
.p-modelPrice {
  grid-area: price;
}

.p-modelPrice__table {
  display: grid;
  gap: 2px;
}

.p-modelPrice__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.5em;
  padding: 1em;
}
@media screen and (max-width: 599px) {
  .p-modelPrice__row {
    gap: 0.75em;
    padding: 1em 0.75em;
  }
}
.p-modelPrice__row.-rank-s {
  background: rgba(212, 160, 23, 0.07);
}
.p-modelPrice__row.-rank-s .p-modelPrice__badge {
  background: #D4A017;
}
.p-modelPrice__row.-rank-a {
  background: rgba(158, 158, 158, 0.07);
}
.p-modelPrice__row.-rank-a .p-modelPrice__badge {
  background: #9E9E9E;
}
.p-modelPrice__row.-rank-b {
  background: rgba(205, 127, 50, 0.07);
}
.p-modelPrice__row.-rank-b .p-modelPrice__badge {
  background: #CD7F32;
}
.p-modelPrice__row.-rank-c {
  background: rgba(85, 85, 85, 0.07);
}
.p-modelPrice__row.-rank-c .p-modelPrice__badge {
  background: #555555;
}
.p-modelPrice__row.-rank-d {
  background: rgba(221, 221, 221, 0.07);
}
.p-modelPrice__row.-rank-d .p-modelPrice__badge {
  background: #FA5A51;
}

.p-modelPrice__badge {
  display: inline-block;
  min-width: 5em;
  text-align: center;
  font-size: 0.75em;
  font-weight: 700;
  color: #fff;
  border-radius: 0.125em;
  padding: 0.25em 0.75em;
}

.p-modelPrice__state {
  display: flex;
  flex-direction: column;
  gap: 0.125em;
}
.p-modelPrice__state strong {
  font-size: 0.875em;
}
.p-modelPrice__state small {
  font-size: 0.75em;
  color: #A3ACBD;
}

.p-modelPrice__value {
  font-size: 1.25em;
  font-weight: 700;
  color: #ff524b;
  margin-bottom: 0;
  white-space: nowrap;
}
.p-modelPrice__value.-tbd {
  font-size: 0.875em;
  font-weight: 700;
  color: #999;
}
@media screen and (max-width: 599px) {
  .p-modelPrice__value {
    font-size: 1.125em;
  }
}

.p-modelPrice__rankLink {
  margin-top: 1em;
  font-size: 0.8125em;
}
.p-modelPrice__rankLink a {
  color: #0066CC;
  text-decoration: underline;
}
@media (hover: hover) {
  .p-modelPrice__rankLink a:hover {
    text-decoration: none;
  }
}

/* -----------------------------
# 画像・CTA（サイドエリア）
----------------------------- */
.p-modelSide {
  grid-area: side;
  position: sticky;
  top: 6em;
}
@media screen and (max-width: 959px) {
  .p-modelSide {
    position: static;
  }
}

.p-modelSide__inner {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

.p-modelSide__img {
  margin: 0;
  border-radius: 0.25em;
  overflow: hidden;
  background: #F4F5F6;
}
.p-modelSide__img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-modelSide__img.-noimage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12em;
}

.p-modelSide__noimg {
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #999;
}

.p-modelCta {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

.p-modelCta__title {
  text-align: center;
  font-weight: 700;
}

.p-modelCta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: 100%;
  padding: 0.9em 1em;
  font-size: 0.875em;
  font-weight: 700;
  color: #fff;
  border-radius: 0.25em;
  text-decoration: none;
  transition: opacity 0.3s;
  position: relative;
  z-index: 1;
}
.p-modelCta__btn svg {
  fill: currentColor;
}
.p-modelCta__btn.-line {
  background: #06C755;
}
.p-modelCta__btn.-line::before {
  content: "";
  display: inline-block;
  width: 1.375em;
  height: 1.375em;
  background: url(../img/icon_line.svg) no-repeat center center/contain;
}
.p-modelCta__btn.-mail {
  background: #222;
}
.p-modelCta__btn.-mail::before {
  content: "";
  display: inline-block;
  width: 1.375em;
  height: 1.375em;
  background: url(../img/icon_mail.svg) no-repeat center center/contain;
}
.p-modelCta__btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  z-index: -1;
  transition: width 0.3s ease-in-out;
}
@media (hover: hover) {
  .p-modelCta__btn:hover::after {
    width: 100%;
  }
}

.p-modelCta__badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5em;
  list-style: none;
  margin: 0.25em 0 0;
  padding: 0;
}
.p-modelCta__badges li {
  font-size: 0.75em;
  font-weight: 700;
}
.p-modelCta__badges li::before {
  content: "✓";
  color: #00ada0;
  font-weight: 700;
  margin-right: 0.25em;
}

/* -----------------------------
# スペック詳細
----------------------------- */
.p-modelSpec {
  grid-area: spec;
}

.p-modelSpec__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #D7D9DB;
}
.p-modelSpec__table th,
.p-modelSpec__table td {
  border-bottom: 1px solid #D7D9DB;
  padding: 0.75em;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 599px) {
  .p-modelSpec__table th,
  .p-modelSpec__table td {
    padding: 0.875em 0.75em;
  }
}
.p-modelSpec__table th {
  width: 8.5em;
  font-size: 0.8735em;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  .p-modelSpec__table th {
    width: 7.5em;
  }
}
.p-modelSpec__table td {
  font-size: 0.8735em;
}

/* -----------------------------
# 他の製品を見てみる
----------------------------- */
.p-modelVariations {
  grid-area: variations;
}

.p-modelVariations__box {
  background: #F4F5F6;
  border-radius: 0.25em;
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
@media screen and (max-width: 599px) {
  .p-modelVariations__box {
    padding: 1.25em 1em;
  }
}

.p-modelVariations__row {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
.p-modelVariations__label {
  flex: 0 0 6em;
  font-size: 0.8735em;
  font-weight: 700;
}
.p-modelVariations__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-modelVariations__item {
  display: inline-block;
  font-size: 0.75em;
  color: #999;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.125em;
  padding: 0.375em 1em;
  text-decoration: none;
  transition: border-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-modelVariations__item:hover {
    border-color: #0495F6;
    color: #0495F6;
  }
}
.p-modelVariations__item.is-current {
  background: #222;
  border-color: #222;
  color: #fff;
  font-weight: 700;
}

/* -----------------------------
# 口コミ・査定レビュー
----------------------------- */
.p-modelReviews {
  padding: 4em 0;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-modelReviews {
    margin-top: 3.5em;
  }
}

.p-modelReviews__heading {
  text-align: center;
  font-size: 1.75em;
  font-weight: 700;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .p-modelReviews__heading {
    font-size: 1.25em;
  }
}

.p-modelReviews__lead {
  text-align: center;
  margin-bottom: 2em;
}

.p-modelReviews__total {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25em;
  width: 100%;
  max-width: 30em;
  margin: 0 auto 1.5em;
  background: #F2F8FD;
  border-radius: 0.5em;
  padding: 0.75em 1em;
  font-size: 0.875em;
  font-weight: 700;
}
.p-modelReviews__total strong {
  font-size: 1.5em;
  color: #0495F6;
  margin-left: 0.5em;
}
.p-modelReviews__total small {
  font-size: 0.625em;
  font-weight: 400;
  color: #0495F6;
}

.p-modelReviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
}
@media screen and (max-width: 959px) {
  .p-modelReviews__grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}

.p-modelReviews__card {
  display: flex;
  flex-direction: column;
  background: #F9F9F9;
  border-radius: 0.5em 0.5em 0 0.5em;
  padding: 1em;
}

.p-modelReviews__stars {
  letter-spacing: 0.125em;
  margin-bottom: 0.5em;
  line-height: 1;
}
.p-modelReviews__stars .-fill {
  color: #f5a623;
}
.p-modelReviews__stars .-empty {
  color: #ddd;
}

.p-modelReviews__text {
  font-size: 0.875em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.p-modelReviews__user {
  margin-top: auto;
  font-size: 0.75em;
  color: #999;
  margin-bottom: 0;
  font-weight: 700;
}

/* -----------------------------
# 関連する買取価格
----------------------------- */
.p-modelRelated {
  padding: 4em 0 6em;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-modelRelated {
    padding: 4em 0;
  }
}

.p-modelRelated__heading {
  text-align: center;
  font-size: 1.75em;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-modelRelated__heading {
    font-size: 1.25em;
  }
}

.p-modelRelated__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
}
@media screen and (max-width: 959px) {
  .p-modelRelated__grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}

/* ==============================================================
# 買取事例 一覧（/works/）
============================================================== */
.post-type-archive-works .l-article {
  max-width: inherit;
}

.p-works__note {
  font-size: 0.75em;
  margin-bottom: 1.5em;
  padding-left: 1em;
  text-indent: -1em;
}

.p-works__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
}
@media screen and (max-width: 959px) {
  .p-works__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-works__grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}

.p-works__empty {
  text-align: center;
  padding: 3em 0 0;
}

/* -----------------------------
# 絞り込み
----------------------------- */
.p-worksFilter {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.75em 2em;
  margin-bottom: 4em;
}
@media screen and (max-width: 768px) {
  .p-worksFilter {
    gap: 0.75em 1em;
  }
}

.p-worksFilter__group {
  display: flex;
  align-items: center;
  gap: 0.75em;
}
@media screen and (max-width: 768px) {
  .p-worksFilter__group {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5em;
    width: 100%;
  }
}

.p-worksFilter__label {
  flex: 0 0 5em;
  font-size: 0.8125em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-worksFilter__label {
    flex: inherit;
  }
}

.p-worksFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-worksFilter__list li {
  margin: 0;
}

.p-worksFilter__btn {
  display: inline-block;
  font-size: 0.75em;
  color: #222;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.25em;
  padding: 0.25em 1em;
  text-decoration: none;
  transition: border-color 0.3s, color 0.3s, background 0.3s;
}
@media (hover: hover) {
  .p-worksFilter__btn:hover {
    border-color: #0495F6;
    color: #0495F6;
  }
}
@media screen and (max-width: 768px) {
  .p-worksFilter__btn {
    font-size: 0.875em;
    padding: 0.25em 0.5em;
  }
}
.p-worksFilter__btn.is-current {
  background: #222;
  border-color: #222;
  color: #fff;
  font-weight: 700;
}

.p-worksFilter__count {
  margin: 0 0 0 auto;
  font-size: 0.8125em;
  color: #777;
}
@media screen and (max-width: 768px) {
  .p-worksFilter__count {
    margin-left: 0;
  }
}

/* -----------------------------
# 事例カード
----------------------------- */
.p-worksCard {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #D7D9DB;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-worksCard__head {
  position: relative;
  background: #222;
  color: #fff;
  padding: 1.25em;
}

.p-worksCard__states {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.25em;
}

.p-worksCard__state {
  display: inline-block;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #ee6828;
  border-radius: 0.125em;
  padding: 0.25em 0.5em;
}
.p-worksCard__state.-submerged {
  background: #0495F6;
}
.p-worksCard__state.-custom {
  background: #7b61c4;
}
.p-worksCard__state.-excellent {
  background: #00ada0;
}
.p-worksCard__state.-bad-power-supply, .p-worksCard__state.-cracked-lcd {
  background: #ff524b;
}

.p-worksCard__title {
  font-weight: 700;
  color: #fff;
  font-size: 1em !important;
  margin: 0 0 0.5em !important;
  border-left: none !important;
  padding: 0 !important;
}

.p-workCard__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}

.p-worksCard__spec {
  font-size: 0.75em;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-worksCard__spec {
    font-size: 0.875em;
  }
}

.p-worksCard__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.25em 1em;
}

.p-worksCard__keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  list-style: none;
  margin: 0 0 1em;
  padding: 0 !important;
  font-size: 0.75em;
}
.p-worksCard__keywords li {
  margin: 0;
  padding: 0.25em;
  border-radius: 0.125em;
  background: #F4F5F6;
}

.p-worksCard__comment {
  font-size: 0.875em;
  margin-bottom: 1em;
  line-height: 1.7 !important;
}

.p-worksCard__price {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
  margin-top: auto;
  padding-top: 1em;
  border-top: 1px solid #D7D9DB;
}

.p-worksCard__priceLabel {
  flex: 0 0 5.5em;
  font-size: 0.75em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-worksCard__priceLabel {
    font-size: 1em;
  }
}

.p-worksCard__priceValue {
  font-size: 1.5em;
  font-weight: 700;
  color: #ff524b;
  line-height: 1;
}

.p-worksCard__compare {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5em;
  font-size: 0.75em;
  color: #777;
  margin: 0.375em 0 0;
}
@media screen and (max-width: 768px) {
  .p-worksCard__compare {
    font-size: 1em;
  }
}

.p-worksCard__compareLabel {
  flex: 0 0 5.5em;
}

.p-worksCard__compareUp {
  font-style: normal;
  font-weight: 700;
  color: #ff524b;
}

/* -----------------------------
# 買取事例（商品詳細内）
----------------------------- */
.p-modelWorks {
  padding: 4em 0;
  margin: 0 calc(50% - 50vw);
  background: #F4F5F6;
}

.p-modelWorks__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
}
@media screen and (max-width: 959px) {
  .p-modelWorks__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-modelWorks__grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}

.p-modelWorks__more {
  text-align: center;
  margin-top: 2em;
}

.p-modelWorks__moreBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-width: 20em;
  padding: 0.75em 1.5em;
  font-size: 1em;
  font-weight: 700;
  color: #fff;
  background: #222;
  border-radius: 0.25em;
  text-decoration: none;
  transition: color 0.3s, background 0.3s;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}
.p-modelWorks__moreBtn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  z-index: -1;
  transition: width 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .p-modelWorks__moreBtn {
    width: 100%;
    min-width: 0;
  }
}
.p-modelWorks__moreBtn svg {
  fill: currentColor;
}
@media (hover: hover) {
  .p-modelWorks__moreBtn:hover::after {
    width: 100%;
  }
}

/* -----------------------------
# 商品カード一覧（ショートコード [models_cards]）
----------------------------- */
.p-modelsCards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
}
@media screen and (max-width: 959px) {
  .p-modelsCards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-modelsCards {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}

/* ==============================================================
# CTAセクション
============================================================== */
.swell-block-button.is-style-btn_normal .swell-block-button__link {
  overflow: hidden;
  z-index: 1;
  transition: transform 0.3s ease;
}
.swell-block-button.is-style-btn_normal .swell-block-button__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  z-index: -1;
  transition: width 0.3s ease-in-out;
}
@media (hover: hover) {
  .swell-block-button.is-style-btn_normal .swell-block-button__link:hover {
    box-shadow: none;
  }
  .swell-block-button.is-style-btn_normal .swell-block-button__link:hover::after {
    width: 100%;
  }
}

.c-btn--line.is-style-btn_normal .swell-block-button__link::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(../img/icon_line.svg) no-repeat center center/contain;
  transition: background 0.3s;
}

.c-btn--estimate.is-style-btn_normal .swell-block-button__link::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  mask: url(../img/icon_calculator.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  background: #fff;
  transition: background 0.3s;
}

/* ==============================================================
# FV
============================================================== */
@media screen and (max-width: 959px) {
  .p-fv .swell-block-fullWide__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "catch" "title" "labels" "visual" "description" "features" "buttons";
  }
}

.p-fv__sub-title {
  grid-area: catch;
}

.p-fv__title {
  grid-area: title;
}

.p-fv__labels {
  grid-area: labels;
}

.p-fv__img {
  grid-area: visual;
  align-self: center;
  min-width: 0;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .p-fv__img {
    max-width: 35em;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__img::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, transparent, #000);
  }
}

.p-fv__text {
  grid-area: description;
}
@media screen and (max-width: 768px) {
  .p-fv__text {
    margin-top: -4em;
    font-size: 1rem;
  }
}

.p-fv__badges {
  grid-area: features;
}

.p-fv__btns {
  grid-area: buttons;
}

.p-fv {
  position: relative;
  z-index: 10;
}
.p-fv .swell-block-fullWide__inner {
  padding: 0 2.5em;
  max-width: 110em;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .p-fv .swell-block-fullWide__inner {
    padding: 0 4vw;
    max-width: 50rem;
  }
}
.p-fv .swell-block-columns__inner {
  display: grid;
  grid-template-columns: 52% 48%;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-fv .swell-block-columns__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "catch" "title" "labels" "visual" "description" "features" "buttons";
    gap: 0;
  }
}
.p-fv .swell-block-column {
  width: 100%;
}
.p-fv .swell-block-column:nth-child(1) {
  padding: 3em 0;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  .p-fv .swell-block-column:nth-child(1) {
    display: contents;
  }
}

.p-fv__sub-title {
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  .p-fv__sub-title {
    margin-bottom: 0.5em !important;
  }
}
.p-fv__sub-title span {
  display: inline-block;
  color: #222;
  border-radius: 0.125em;
  padding: 0 1em;
  font-weight: 700;
  font-size: 0.625em;
}

.p-fv__title {
  line-height: 1.3;
  font-size: clamp(24px, 2.222vw, 32px);
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-fv__title {
    font-size: 1em !important;
    margin-bottom: 1em !important;
  }
}
.p-fv__title strong {
  font-size: clamp(40px, 3.6111vw, 52px);
}
@media screen and (max-width: 768px) {
  .p-fv__title strong {
    font-size: 1.75em;
  }
}
.p-fv__title span {
  line-height: 1;
  font-size: clamp(56px, 5vw, 72px);
  display: inline-block;
  color: #f1d16b;
  /* 非対応ブラウザ用 */
  background: linear-gradient(90deg, #f1d16b 0%, #b69545 40%, #c9ad5d 52%, #edd98a 71%, #c6a95a 90%, #b69545 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-fv__title span {
    font-size: 3.25em;
  }
}

.p-fv__labels {
  display: flex;
  gap: 0.5em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 959px) {
  .p-fv__labels {
    margin-bottom: 0;
  }
}
.p-fv__labels .wp-block-paragraph {
  background: #EEEEEE !important;
  font-size: 0.935em;
  padding: 0.125em 0.5em;
  font-weight: 700;
  color: #222;
  border-radius: 0.125em;
}
@media screen and (max-width: 768px) {
  .p-fv__labels .wp-block-paragraph {
    font-size: 0.75em;
  }
}

.p-fv__badges {
  gap: 1em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 959px) {
  .p-fv__badges {
    margin-bottom: 1.5rem;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__badges {
    gap: 0.5rem;
  }
}

@media screen and (max-width: 959px) {
  .p-fv__btns {
    display: none;
  }
}
.p-fv__btns .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  gap: 1.5em;
}
@media screen and (max-width: 959px) {
  .p-fv__btns .wp-block-group__inner-container {
    gap: 0;
  }
}
.p-fv__btns .swell-block-button {
  margin: 0;
  width: 100%;
  max-width: 16em;
}
@media screen and (max-width: 959px) {
  .p-fv__btns .swell-block-button {
    max-width: 100%;
  }
}
.p-fv__btns .swell-block-button .swell-block-button__link {
  padding: 1em;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .p-fv__btns .swell-block-button .swell-block-button__link {
    border-radius: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-fv__btns .swell-block-button .swell-block-button__link {
    font-size: 1rem;
  }
}
.p-fv__btns .swell-block-button:nth-child(2) .swell-block-button__link {
  background: #fff;
  color: #222;
}
.p-fv__btns .swell-block-button:nth-child(2) .swell-block-button__link::before {
  background: #222;
}
.p-fv__btns .swell-block-button:nth-child(2) .swell-block-button__link::after {
  background: rgba(34, 34, 34, 0.1);
}

/* ==============================================================
# なぜ高く買い取れるのか？
============================================================== */
.p-home-why .swell-block-column {
  border-radius: 0.25em;
  padding: 3em 2em 2em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-home-why .swell-block-column {
    padding: 2.5em 1em 2em;
  }
}
.p-home-why .swell-block-column.column--common {
  background: #F4F5F6;
}
.p-home-why .swell-block-column.column--common .label {
  background: #dde0e4;
}
.p-home-why .swell-block-column.column--common .price .wp-block-group::before {
  background: #F9F9F9;
}
.p-home-why .swell-block-column.column--common .price .wp-block-group:nth-child(1)::before {
  width: 100%;
}
.p-home-why .swell-block-column.column--common .price .wp-block-group:nth-child(2)::before {
  width: 80%;
}
.p-home-why .swell-block-column.column--common .price .wp-block-group:nth-child(3)::before {
  width: 70%;
}
.p-home-why .swell-block-column.column--common .price .wp-block-group:nth-child(4)::before {
  width: 50%;
}
.p-home-why .swell-block-column.column--mlr {
  background: #FFF5F4;
}
.p-home-why .swell-block-column.column--mlr .label {
  background: #ff524b;
  color: #fff;
}
.p-home-why .swell-block-column.column--mlr .price {
  padding-bottom: 2em;
  margin-bottom: 2em;
}
.p-home-why .swell-block-column.column--mlr .price .wp-block-group {
  padding: 1em 0.5em;
}
.p-home-why .swell-block-column.column--mlr .price .wp-block-group::before {
  background: #fffafa;
}
.p-home-why .swell-block-column.column--mlr .price .wp-block-group:nth-child(1)::before {
  width: 100%;
}
.p-home-why .swell-block-column.column--mlr .price .wp-block-group:nth-child(2)::before {
  width: 80%;
}
.p-home-why .swell-block-column.column--mlr .sum .wp-block-paragraph:last-child {
  font-size: 2em;
}
.p-home-why .swell-block-column .label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  padding: 0.25em 1em;
  font-weight: 700;
  width: 100%;
  max-width: max-content;
}
.p-home-why .swell-block-column .body {
  margin-top: 2em;
  background: #fff;
  border-radius: 0.25em;
  padding: 1.5em 1em;
}
@media screen and (max-width: 768px) {
  .p-home-why .swell-block-column .body {
    margin-top: 1.5em;
  }
}
.p-home-why .swell-block-column .price {
  border-bottom: 1px solid #D7D9DB;
  padding-bottom: 1em;
  margin-bottom: 1em;
}
.p-home-why .swell-block-column .price .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.p-home-why .swell-block-column .price .wp-block-group {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  padding: 0.25em 0.5em;
}
.p-home-why .swell-block-column .price .wp-block-group::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-home-why .swell-block-column .price .wp-block-group strong {
    font-size: 0.875em;
  }
}
.p-home-why .swell-block-column .sum {
  display: inline-flex;
  padding: 0.5em 1em;
  justify-content: end;
  align-items: baseline;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .p-home-why .swell-block-column .sum {
    padding: 0.25em 0.5em;
  }
}
.p-home-why .swell-block-column .sum .wp-block-paragraph:last-child {
  font-size: 1.5em;
}
.p-home-why .swell-block-column .wp-block-group__inner-container:has(> .sum) {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-home-why .cap_box_ttl {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .p-home-why .cap_box_ttl span {
    text-align: center;
  }
}

/* ==============================================================
# 故障品/カスタム品を買い取る理由
============================================================== */
.p-home-purchase .swell-block-column {
  border-radius: 0.25em;
}
.p-home-purchase .swell-block-column.column--ng {
  background: #fff;
  border-color: #D7D9DB;
}
.p-home-purchase .swell-block-column.column--ok {
  background: #F5FCFB;
  border-color: #00ada0;
}

/* ==============================================================
# 選ばれる10の理由
============================================================== */
.p-home-reason .swell-block-column > .wp-block-group {
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .p-home-reason .swell-block-column > .wp-block-group {
    flex-direction: column;
    gap: 0.5em;
  }
}
.p-home-reason .swell-block-column .wp-block-image {
  flex: 0 0 5em;
}
@media screen and (max-width: 768px) {
  .p-home-reason .swell-block-column .wp-block-image {
    width: 4em;
    flex: inherit;
  }
}
@media screen and (max-width: 768px) {
  .p-home-reason .swell-block-column .wp-block-heading {
    font-size: 1.1em !important;
  }
}

/* ==============================================================
# 買取の流れ
============================================================== */
.p-home-flow .swell-block-step__item {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-home-flow .swell-block-step__item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    width: 1px;
    height: calc(100% + 1.5em);
    background: #666;
    z-index: -1;
  }
}
.p-home-flow .swell-block-step__body {
  margin-top: 0.5em;
}
@media screen and (max-width: 768px) {
  .p-home-flow .swell-block-step__body {
    margin-left: 0 !important;
  }
}
.p-home-flow .swell-block-step__body .wp-block-paragraph {
  margin-left: -4em;
}
@media screen and (max-width: 768px) {
  .p-home-flow .swell-block-step__body .wp-block-paragraph {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-home-flow .wp-block-paragraph {
    font-size: 1em !important;
  }
}
.p-home-flow .swell-block-button__link {
  background: #fff;
  color: #222 !important;
}
.p-home-flow .swell-block-button__link::after {
  background: rgba(34, 34, 34, 0.1) !important;
}

/* ==============================================================
# 買取価格の目安
============================================================== */
.p-home-guideline .swell-block-column {
  background: #fff;
}
.p-home-guideline .wp-block-paragraph.has-xs-font-size {
  padding-left: 1em;
  text-indent: -1em;
}

/* ==============================================================
# パーツの価値
============================================================== */
.p-home-value .swell-block-column.badge-high .wp-element-caption {
  color: #ff524b;
  background: #FFF5F4;
}
.p-home-value .swell-block-column.badge-medium .wp-element-caption {
  color: #00ada0;
  background: #F5FCFB;
}
.p-home-value .wp-block-image {
  position: relative;
  border-radius: 0.25em;
  overflow: hidden;
}
.p-home-value .wp-element-caption {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  background: #fff;
  font-weight: 700;
  border-radius: 0.25em;
  padding: 0.25em 0.5em;
  font-size: 0.75em;
  opacity: 1;
}
.p-home-value .has-xs-font-size.wp-block-paragraph {
  padding-left: 1em;
  text-indent: -1em;
}

/* ==============================================================
# ご利用ガイド
============================================================== */
.p-home-guide .wp-block-group.is-layout-grid {
  gap: 1px;
  background: #D7D9DB;
}
@media screen and (max-width: 959px) {
  .p-home-guide .wp-block-group.is-layout-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 599px) {
  .p-home-guide .wp-block-group.is-layout-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-home-guide .wp-block-group.is-layout-grid > .wp-block-group {
  position: relative;
  padding: 1em;
  background: #F4F5F6;
}
@media screen and (max-width: 599px) {
  .p-home-guide .wp-block-group.is-layout-grid > .wp-block-group {
    padding: 1em 0;
  }
}
.p-home-guide .wp-block-group.is-layout-grid > .wp-block-group .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.p-home-guide .wp-block-group.is-layout-grid > .wp-block-group .wp-block-group.is-row {
  margin-bottom: 0.5em;
}
.p-home-guide .wp-block-group.is-layout-grid > .wp-block-group p:has(> a) {
  margin-top: auto !important;
}
.p-home-guide .wp-block-group.is-layout-grid > .wp-block-group a {
  font-size: 0.75em;
  color: #222;
  text-decoration: none;
}
@media (hover: hover) {
  .p-home-guide .wp-block-group.is-layout-grid > .wp-block-group a:hover {
    text-decoration: underline;
  }
}
.p-home-guide .wp-block-group.is-layout-grid > .wp-block-group a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
