.page-hero {
background-color: #000;
height: 280px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
}
.page-hero__label {
font-weight: 600;
color: var(--white);
margin-bottom: -12px;
}
.page-hero__title {
font-weight: 600;
font-size: 48px;
position: relative;
margin: 0 0 18px;
color: var(--white);
padding: 0 12px;
}
.page-hero__title::after {
content: "";
display: inline-block;
position: absolute;
width: 60px;
height: 4px;
bottom: -8px;
left: 50%;
transform: translateX(-50%);
background: var(--gold);
border-radius: 2px;
}
.page-hero__subtitle {
font-weight: 400;
font-size: 16px;
line-height: 1.6;
color: #d1d5dc;
margin: 0;
padding: 0 12px;
}
h2 {
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
font-weight: 600;
position: relative;
margin: 0 0 18px;
text-align: center;
}
h2::after {
content: "";
display: inline-block;
position: absolute;
width: 48px;
height: 2px;
bottom: -8px;
left: 50%;
transform: translateX(-50%);
background: var(--green-dark);
border-radius: 2px;
}
h2.no-subtitle {
    margin-bottom: clamp(2.5rem, 2.139rem + 1.48vw, 3.25rem);
}
h3 {
    font-size: clamp(1.25rem, 1.009rem + 0.99vw, 1.75rem);
    margin-bottom: 12px;
    font-weight: 600;
}
.no-border-heading::after {
display: none;
}
/* ── Hero Banner ── */
.about-hero {
background-color: #000;
height: 305px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
}
.about-hero__title {
font-weight: 600;
font-size: 48px;
line-height: 1.2;
color: var(--white);
margin: 0;
}
.about-hero__subtitle {
font-weight: 400;
font-size: 16px;
line-height: 1.6;
color: #d1d5dc;
margin: 0;
}
/* ── Section 1: 骨董品買取に対する想い ── */
.about-mission__inner {
display: flex;
align-items: flex-start;
gap: 60px;
}
.about-mission__image {
flex-shrink: 0;
width: 340px;
}
.about-mission__image img {
width: 100%;
height: 400px;
object-fit: cover;
border-radius: 8px;
display: block;
}
.about-mission__body {
flex: 1;
}
.about-mission__heading {
margin: 0 0 8px;
}
.about-mission__heading::after {
display: none;
}
.about-mission__subtitle {
margin: 0px 0 20px;
}
.about-mission__text p {
line-height: 1.8;
margin: 0px 0 16px;
}
.about-mission__text p:last-child {
margin-bottom: 0;
}
.about-reasons__header {
text-align: center;
margin-bottom: clamp(1.75rem, 1.389rem + 1.48vw, 2.5rem);
}
.about-reason {
display: flex;
align-items: center;
gap: 60px;
margin-bottom: clamp(2.5rem, 1.898rem + 2.47vw, 3.75rem);
}
.about-reason:last-child {
margin-bottom: 0;
}
.about-reason--reverse {
flex-direction: row-reverse;
}
.about-reason__image {
flex-shrink: 0;
width: 440px;
}
.about-reason__image img {
width: 100%;
height: 340px;
object-fit: cover;
border-radius: 8px;
display: block;
}
.about-reason__body {
flex: 1;
}
.about-reason__num {
font-size: 14px;
font-weight: 600;
color: var(--green-dark);
letter-spacing: 0.06em;
margin: 0 0 4px;
}
.about-reason__lead {
margin: 0 0 20px;
}
.about-reason__text {
font-size: 16px;
line-height: 1.8;
margin: 0;
}
.about-comparison__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.about-comparison__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}
.about-comparison__card {
border-radius: 8px;
padding: clamp(1.25rem, 0.648rem + 2.47vw, 2.5rem);
}
.about-comparison__card--ours {
background-color: var(--green-dark, var(--green-dark));
}
.about-comparison__card--theirs {
background-color: var(--white);
border: 1px solid #e5e7eb;
}
.about-comparison__card-title {
font-weight: 600;
font-size: 24px;
margin: 0 0 clamp(1.125rem, 0.824rem + 1.23vw, 1.75rem);
text-align: center;
}
.about-comparison__card--ours .about-comparison__card-title {
color: var(--white);
}
.about-comparison__card--theirs .about-comparison__card-title {
}
.about-comparison__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: clamp(0.75rem, 0.63rem + 0.49vw, 1rem);
}
.about-comparison__item {
display: flex;
align-items: center;
gap: 14px;
font-size: 16px;
line-height: 1.5;
}
.about-comparison__card--ours .about-comparison__item {
color: #d0fae5;
}
.about-comparison__card--theirs .about-comparison__item {
color: #374151;
}
.about-comparison__badge {
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 600;
line-height: 1;
}
.about-comparison__badge--check {
background-color: rgba(255, 255, 255, 0.2);
color: var(--white);
}
.about-comparison__badge--cross {
background-color: #fee2e2;
color: #dc2626;
}
.about-flow__header {
text-align: center;
margin-bottom: clamp(2.75rem, 2.389rem + 1.48vw, 3.5rem);
}
.about-flow__steps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.about-flow__step {
position: relative;
background: var(--white);
border-radius: 8px;
padding: 56px 32px 32px;
text-align: center;
}
.about-flow__step-num {
position: absolute;
top: -16px;
left: 50%;
transform: translateX(-50%);
width: 48px;
height: 48px;
border-radius: 50%;
background-color: var(--green-dark, var(--green-dark));
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 20px;
color: var(--white);
line-height: 1;
}
.about-flow__step-icon {
width: 40px;
height: 40px;
margin: 0 auto 14px;
}
.about-flow__step-icon img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
}
.about-flow__step-heading {
font-weight: 600;
font-size: 20px;
margin: 0 0 10px;
}
.about-flow__step-text {
font-size: 14px;
line-height: 1.8;
margin: 0;
}
.about-flow__btn {
display: inline-block;
background-color: var(--green-dark, var(--green-dark));
color: var(--white);
font-weight: 500;
font-size: 16px;
line-height: 1.5;
padding: 14px 40px;
border-radius: 8px;
text-decoration: none;
transition: opacity 0.2s;
}
.about-flow__btn:hover {
opacity: 0.85;
color: var(--white);
}
.about-trust__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.about-trust__list {
display: flex;
flex-direction: column;
gap: 0;
}
.about-trust__item {
display: flex;
align-items: flex-start;
gap: 24px;
padding: 32px 0;
border-bottom: 1px solid #e5e7eb;
}
.about-trust__item:first-child {
padding-top: 0;
}
.about-trust__item:last-child {
border-bottom: none;
padding-bottom: 0;
}
.about-trust__icon-wrap {
flex-shrink: 0;
width: 64px;
height: 64px;
border-radius: 8px;
background: var(--green-dark);
display: flex;
align-items: center;
justify-content: center;
}
.about-trust__icon-wrap img {
width: 32px;
height: 32px;
object-fit: contain;
display: block;
}
.about-trust__body {
flex: 1;
}
.about-trust__item-heading {
font-weight: 600;
font-size: 22px;
margin: 0 0 12px;
line-height: 1.5;
}
.about-trust__item-text {
font-size: 16px;
line-height: 1.85;
margin: 0;
}
/* ── Responsive ── */
@media (max-width: 768px) {
.about-hero {
height: auto;
padding: 60px 20px;
}
.about-hero__title {
font-size: 28px;
}
.about-hero__subtitle {
font-size: 14px;
}
.about-mission__inner {
flex-direction: column;
gap: 32px;
}
.about-mission__image {
width: 100%;
}
.about-mission__image img {
height: 260px;
}
.about-reason {
flex-direction: column;
gap: 24px;
}
.about-reason--reverse {
flex-direction: column;
}
.about-reason__image {
width: 100%;
}
.about-reason__image img {
height: 220px;
}
.about-comparison__grid {
grid-template-columns: 1fr;
gap: 20px;
}
.about-flow__steps {
grid-template-columns: 1fr;
gap: 40px;
}
.about-trust__item {
display: grid;
grid-template-columns: 40px 1fr;
grid-template-rows: auto auto;
column-gap: 12px;
row-gap: 8px;
align-items: start;
}
/* body を透過させて子要素をグリッドに直接参加させる */
.about-trust__body {
display: contents;
}
.about-trust__icon-wrap {
width: 40px;
height: 40px;
grid-column: 1;
grid-row: 1;
align-self: center;
}
.about-trust__item-heading {
grid-column: 2;
grid-row: 1;
align-self: center;
font-size: 18px;
margin: 0;
}
.about-trust__item-text {
grid-column: 1 / 3;
grid-row: 2;
font-size: 14px;
}
.about-trust__icon-wrap img {
width: 24px;
height: 24px;
}
}
/* ══════════════════════════════════════════
出張買取ページ専用スタイル (.visit-*)
══════════════════════════════════════════ */
/* ── Hero Banner ── */
.visit-hero {
background-color: #000;
height: 305px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
padding: 0 20px;
}
.visit-hero__title {
font-weight: 600;
font-size: 48px;
line-height: 1.2;
color: var(--white);
margin: 0;
}
.visit-hero__subtitle {
font-weight: 400;
font-size: 16px;
line-height: 1.6;
color: #d1d5dc;
margin: 0;
max-width: 640px;
}
.visit-intro__header {
text-align: center;
margin-bottom: 28px;
}
.visit-intro__lead {
max-width: 800px;
margin: 0 auto 52px;
font-size: 16px;
line-height: 1.8;
text-align: center;
}
.visit-recommend__heading {
text-align: center;
margin-bottom: clamp(0.75rem, 0.509rem + 0.99vw, 1.25rem);
}
.visit-recommend__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}
/* カード上部に写真 */
.visit-recommend__card {
border: 1px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
flex-direction: column;
}
.visit-recommend__card-photo {
width: 100%;
height: 200px;
overflow: hidden;
flex-shrink: 0;
}
.visit-recommend__card-photo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.visit-recommend__card-body {
padding: clamp(0.75rem, 0.509rem + 0.99vw, 1.25rem);
flex: 1;
}
.visit-recommend__card-title {
font-weight: 600;
font-size: 18px;
margin-bottom: clamp(0.5rem, 0.38rem + 0.49vw, 0.75rem);
line-height: 1.5;
}
.visit-recommend__card-text {
font-size: 14px;
line-height: 1.8;
margin: 0;
}
.visit-area__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.visit-area__list {
display: flex;
flex-direction: column;
gap: 0;
}
.visit-area__item {
display: flex;
align-items: flex-start;
gap: 24px;
padding: 32px 0;
border-bottom: 1px solid #e5e7eb;
}
.visit-area__item:first-child {
padding-top: 0;
}
.visit-area__item:last-child {
border-bottom: none;
padding-bottom: 0;
}
/* グリーンサークル + SVGアイコン（about-trust__icon-wrap と同スタイル） */
.visit-area__icon-wrap {
flex-shrink: 0;
width: 64px;
height: 64px;
border-radius: 8px;
background: var(--green-dark);
display: flex;
align-items: center;
justify-content: center;
}
.visit-area__icon-wrap img {
width: 32px;
height: 32px;
object-fit: contain;
display: block;
}
.visit-area__body {
flex: 1;
}
.visit-area__heading {
font-weight: 600;
font-size: 22px;
margin: 0 0 12px;
line-height: 1.5;
}
.visit-area__text {
font-size: 16px;
line-height: 1.85;
margin: 0;
}
/* ── Section 4: 古物商許可・資格情報 ── */
.visit-license__inner {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
}
.visit-license__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.visit-license__subtitle {
font-size: 18px;
margin: 0;
}
.visit-license__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
max-width: 800px;
margin: 0 auto;
padding: 0;
}
.visit-license__item {
background: var(--white);
border-radius: 8px;
border: 1px solid #e5e7eb;
padding: 28px 32px;
}
.visit-license__label {
display: block;
font-size: 12px;
font-weight: 600;
color: var(--green-dark, var(--green-dark));
letter-spacing: 0.08em;
text-transform: uppercase;
margin: 0 0 8px;
}
.visit-license__value {
display: block;
font-size: 17px;
font-weight: 600;
line-height: 1.5;
margin: 0;
}
@media (max-width: 768px) {
.visit-hero {
height: auto;
padding: 60px 20px;
}
.visit-hero__title {
font-size: 28px;
}
.visit-hero__subtitle {
font-size: 13px;
}
.visit-intro__lead {
text-align: left;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.visit-recommend__grid {
grid-template-columns: 1fr;
gap: 20px;
}
.visit-recommend__card-photo {
height: 220px;
}
/* about-trust と同じグリッドトリック */
.visit-area__item {
display: grid;
grid-template-columns: 40px 1fr;
grid-template-rows: auto auto;
column-gap: 12px;
row-gap: 8px;
align-items: start;
}
.visit-area__body {
display: contents;
}
.visit-area__icon-wrap {
width: 40px;
height: 40px;
grid-column: 1;
grid-row: 1;
align-self: center;
}
.visit-area__icon-wrap img {
width: 22px;
height: 22px;
}
.visit-area__heading {
grid-column: 2;
grid-row: 1;
align-self: center;
font-size: 18px;
margin: 0;
}
.visit-area__text {
grid-column: 1 / 3;
grid-row: 2;
font-size: 14px;
}
.visit-license__grid {
grid-template-columns: 1fr;
gap: 16px;
}
}
.company-overview__table {
max-width: 860px;
margin: 0 auto;
border-top: 1px solid #e5e7eb;
}
.company-overview__row {
display: grid;
grid-template-columns: 200px 1fr;
border-bottom: 1px solid #e5e7eb;
}
.company-overview__row dt {
padding: 20px 24px 20px 0;
font-weight: 600;
font-size: 14px;
background: #f7f8f6;
padding-left: 20px;
display: flex;
align-items: flex-start;
line-height: 1.6;
}
.company-overview__row dt span {
font-weight: 400;
font-size: 12px;
display: block;
}
.company-overview__row dd {
padding: 20px 20px 20px 24px;
margin: 0;
line-height: 1.8;
}
.company-bank ul,.company-client ul {
    display: flex;
    flex-wrap: wrap;
    line-height: 1.4;

    gap: 4px;
}   
.company-bank ul li:not(:last-child)::after,.company-client ul li:not(:last-child)::after {
    content: "／";
    margin-left: 4px;
}
.company-overview__row dd a {
color: var(--green-dark);
text-decoration: none;
}
.company-overview__row dd a:hover { text-decoration: underline; }
.company-license__header {
text-align: center;
margin-bottom: 56px;
}
.company-license__title {
font-size: 32px;
font-weight: 600;
margin: 0 0 16px;
}
.company-license__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
max-width: 860px;
margin: 0 auto;
}
.company-license__item {
background: var(--white);
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 24px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.company-license__label {
font-size: 12px;
font-weight: 600;
color: var(--green-dark);
text-transform: uppercase;
letter-spacing: 0.04em;
margin: 0 0 8px;
}
.company-license__value {

font-weight: 600;
line-height: 1.6;
margin: 0;
}
.company-license__value span {
font-size: 13px;
font-weight: 400;
}
/* ── Responsive ── */
@media (max-width: 768px) {
.page-hero__title { font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem); }
.company-overview__row { grid-template-columns: 1fr; }
.company-overview__row dt {
    font-size: 16px;
    padding: 12px 0px 4px;
    background: none;
    border-bottom: none;
}
.company-overview__row dd {
    padding: 0 0 12px;
    font-size: 14px;
}
.company-license__grid {
grid-template-columns: 1fr;
gap: 12px;
}
.company-license__item {
padding: 12px;
}
.company-license__label {
    padding-bottom: 4px;
}
}
/* ══════════════════════════════════════════
ACCESS PAGE (アクセス)
══════════════════════════════════════════ */
/* ── Hero ── */
.access-hero {
background-color: #000;
height: 305px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
}
.access-hero__title {
font-weight: 600;
font-size: 48px;
line-height: 1.2;
color: var(--white);
margin: 0;
}
.access-hero__subtitle {
font-weight: 400;
font-size: 16px;
line-height: 1.6;
color: #d1d5dc;
margin: 0;
}
/* ── Breadcrumb ── */
.access-section {
padding: 60px 12px;
background: var(--white);
}
.access-section--gray { background: #f4f5f7; }
/* ── Map ── */
.access-map__inner {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
}
.access-map__address {
    text-align: center;
    font-size: 18px;
    line-height: 1.2;
    margin: 0 0 32px;
}
.access-map__address span {
font-size: 12px;
}
.access-map__embed {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
max-width: 800px;
margin: 0 auto;
}
.access-map__embed iframe {
display: block;
width: 100%;
height: 400px;
border: 0;
}
/* ── How (access methods) ── */
.access-how__inner {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
}
.access-how__cards {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 28px;
max-width: 860px;
margin: 0 auto;
}
.access-how__card {
background: var(--white);
border-radius: 8px;
padding: clamp(1.5rem, 1.38rem + 0.49vw, 1.75rem) clamp(1rem, 0.88rem + 0.49vw, 1.25rem);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.06);
}
.access-how__card-icon {
width: 56px;
height: 56px;
border-radius: 50%;
background: var(--green-mid);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
}
.access-how__card-icon svg {
width: 26px;
height: 26px;
color: var(--white);
}
.access-how__card-title {
font-size: 18px;
font-weight: 600;
margin: 0 0 12px;
}
.access-how__card-list {
padding-left: 18px;
margin: 0 0 12px;
    list-style: disc;
}
.access-how__card-list li {
font-size: 14px;
line-height: 1.5;
margin-bottom: 8px;
}
.access-how__card-list li::marker {
color: var(--green-dark);
}
.access-how__card-note {
font-size: 14px;
line-height: 1.6;
margin: 0 0 6px;
}
.access-how__card-note--caution {
color: var(--red);
}
/* ── Hours ── */
.access-hours__inner {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
}
.access-hours__header {
text-align: center;
margin-bottom: 56px;
}
.access-hours__cards {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 28px;
max-width: 860px;
margin: 0 auto;
}
.access-hours__card {
background: var(--white);
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: clamp(1.5rem, 1.38rem + 0.49vw, 1.75rem) clamp(1rem, 0.88rem + 0.49vw, 1.25rem);
text-align: center;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.access-hours__card-label {
font-size: 14px;
font-weight: 600;
color: var(--green-dark);
letter-spacing: 0.08em;
margin: 0 0 4px;
}
.access-hours__card-value {
font-size: 28px;
font-weight: 600;
margin: 0 0 4px;
}
.access-hours__card-note {
font-size: 13px;
margin: 0 0 16px;
}
.access-hours__card-sub {
font-size: 13px;
line-height: 1.8;
margin: 0;
text-align: left;
}
/* ── Responsive ── */
@media (max-width: 768px) {
.access-hero__title { font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem); }
.access-how__cards,
.access-hours__cards { grid-template-columns: 1fr; }
.access-map__embed iframe { height: 280px; }
}
/* ══════════════════════════════════════════
RECRUIT PAGE (採用情報)
══════════════════════════════════════════ */
/* ── Hero ── */
.recruit-hero {
background-color: #000;
height: 305px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
}
.recruit-hero__title {
font-weight: 600;
font-size: 48px;
line-height: 1.2;
color: var(--white);
margin: 0;
}
.recruit-hero__subtitle {
font-weight: 400;
font-size: 16px;
line-height: 1.6;
color: #d1d5dc;
margin: 0;
}
.recruit-job__header {
max-width: 860px;
margin: 0 auto 48px;
}
.recruit-job__badge {
display: inline-block;
background: var(--green-dark);
color: var(--white);
font-size: 12px;
font-weight: 600;
padding: 4px 14px;
border-radius: 4px;
margin-bottom: 4px;
letter-spacing: 0.05em;
}
.recruit-title {
font-size: clamp(1.25rem, 1.069rem + 0.74vw, 1.625rem);
font-weight: 600;
margin: 0 0 12px;
text-align: left;
}
.recruit-job__message {
margin-bottom: 20px;}
.recruit-job__table {
max-width: 860px;
margin: 0 auto;
border-top: 1px solid #e5e7eb;
}
.recruit-job__row {
display: grid;
grid-template-columns: 180px 1fr;
border-bottom: 1px solid #e5e7eb;
}
.recruit-job__row dt {
    padding: 16px;
    font-weight: 600;
background: var(--bg-gray);
display: flex;
align-items: flex-start;
line-height: 1.6;
}
.recruit-job__row dd {
padding: 16px;
margin: 0;

line-height: 1.8;
}
.recruit-job__row dd small {
font-size: 13px;
}
.recruit-job__row dd p { margin: 0 0 4px; }
.recruit-job__item-head {
font-weight: 600;
color: var(--green-dark);
}
/* ── Part-time ── */
.recruit-part__header {
max-width: 860px;
margin: 0 auto 24px;
}
.recruit-part__badge {
display: inline-block;
background: var(--green-dark);
color: var(--white);
font-size: 13px;
font-weight: 600;
padding: 4px 14px;
border-radius: 4px;
margin-bottom: 12px;
letter-spacing: 0.05em;
}
.recruit-part__badge--gray {
background: #9ca3af;
}
.recruit-part__notice {
max-width: 860px;
margin: 0 auto;
background: var(--white);
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 32px;
text-align: center;
font-size: 16px;
line-height: 1.8;
}
.recruit-part__notice p { margin: 0; }
.recruit-apply__title {
font-size: 32px;
font-weight: 600;
margin: 0 0 16px;
}
.recruit-apply__sub {
margin: 0;
}
.recruit-apply__cards {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 28px;
max-width: 720px;
margin: 0 auto;
}
.recruit-apply__card {
background: var(--white);
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 36px 28px;
text-align: center;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.recruit-apply__card-label {
font-size: 13px;
font-weight: 600;
letter-spacing: 0.06em;
margin: 0 0 16px;
}
.recruit-apply__tel {
display: block;
font-size: 26px;
font-weight: 600;
color: var(--gold);
text-decoration: none;
margin-bottom: 8px;
letter-spacing: 0.03em;
}
.recruit-apply__tel:hover { opacity: 0.6; }
.recruit-apply__btn {
display: inline-block;
background: var(--gold);
color: var(--white);
font-weight: 600;
padding: 14px 28px;
border-radius: 8px;
text-decoration: none;
margin-bottom: 8px;
transition: background 0.2s;
}
.recruit-apply__card-note {
font-size: 14px;
margin: 0;
}
/* ── Responsive ── */
@media (max-width: 768px) {
.recruit-hero__title { font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem); }
.recruit-job__row { grid-template-columns: 1fr; }
.recruit-job__row dt {
    padding: 12px 0 8px;
    background: none;
    border-bottom: none;
}
.recruit-job__row dd { padding: 0 0 12px; }
.recruit-apply__cards { grid-template-columns: 1fr; }
}
/* ══════════════════════════════════════════
PARTNER PAGE (パートナー企業募集)
══════════════════════════════════════════ */
/* ── Hero ── */
.partner-hero {
background-color: #000;
height: 305px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
text-align: center;
padding: 0 20px;
}
.partner-hero__title {
font-weight: 600;
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
line-height: 1.2;
color: var(--white);
margin: 0;
}
.partner-hero__subtitle {
font-weight: 400;
font-size: 16px;
line-height: 1.6;
color: #d1d5dc;
margin: 0;
}
.partner-intro__body {
max-width: 880px;
margin: 0 auto 48px;
}
.partner-intro__body p {
font-size: 16px;
line-height: 1.85;
margin: 0 0 16px;
}
/* Merit grid */
.partner-intro__merit {
max-width: 880px;
margin: 0 auto 48px;
}
.partner-intro__merit-title {
font-size: 20px;
font-weight: 600;
margin: 0 0 24px;
text-align: center;
}
.partner-intro__merit-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.partner-intro__merit-item {
background: var(--bg-gray);
border-radius: 8px;
padding: clamp(1rem, 0.88rem + 0.49vw, 1.25rem);
}
.partner-intro__merit-num {
font-size: 13px;
font-weight: 600;
color: var(--green-dark);
letter-spacing: 0.1em;
margin-bottom: 8px;
}
.partner-intro__merit-item h4 {
font-size: 16px;
font-weight: 600;
margin: 0 0 10px;
}
.partner-intro__merit-item p {
font-size: 14px;
line-height: 1.8;
margin: 0;
}
/* Case */
.partner-intro__case {
max-width: 880px;
margin: 0 auto;
border-radius: 8px;
}
.partner-intro__case-label {
font-size: 12px;
font-weight: 600;
color: var(--gold);
letter-spacing: 0.1em;
margin: 0 0 8px;
}
.partner-intro__case-text {
font-size: 18px;
font-weight: 600;
margin: 0 0 12px;
}
.partner-intro__case-text span { color: var(--green-dark); }
.partner-intro__case p:last-child {
font-size: 14px;
line-height: 1.8;
margin: 0;
}
.partner-clients__list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
max-width: 860px;
margin: 0 auto;
}
.partner-clients__item {
background: var(--white);
border-radius: 8px;
padding: clamp(0.75rem, 0.509rem + 0.99vw, 1.25rem);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
border-left: 4px solid var(--green-dark);
}
.partner-clients__name {

font-weight: 600;
margin: 0 0 6px;
}
.partner-clients__detail {
font-size: 13px;
line-height: 1.6;
margin: 0;
}
/* ── License ── */
.partner-license__inner {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
}
.partner-license__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.partner-license__title {
font-size: 28px;
font-weight: 600;
margin: 0 0 16px;
}
.partner-license__list {
max-width: 640px;
margin: 0 auto;
list-style: none;
padding: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.partner-license__list li {

padding: 14px 20px 14px 44px;
background: #f4f5f7;
border-radius: 8px;
position: relative;
}
.partner-license__list li::before {
content: '✓';
position: absolute;
left: 16px;
color: var(--green-dark);
font-weight: 600;
font-size: 16px;
}
/* ── CTA ── */
.partner-cta__inner {
max-width: var(--container);
margin: 0 auto;
padding: 0 20px;
text-align: center;
}
.partner-cta__title {
font-size: 28px;
font-weight: 600;
color: var(--white);
margin: 0 0 20px;
line-height: 1.4;
}
.partner-cta__text {
font-size: 16px;
color: rgba(255, 255, 255, 0.85);
line-height: 1.8;
margin: 0 0 36px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.partner-cta__btn {
display: inline-block;
background: var(--white);
color: var(--green-dark);
font-size: 16px;
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s, color 0.2s;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.partner-cta__btn:hover {
background: #f0faf5;
color: var(--green-dark);
}
/* ── Responsive ── */
@media (max-width: 768px) {
.partner-hero__title { font-size: 28px; }
.partner-intro__merit-grid { grid-template-columns: 1fr; }
.partner-clients__list { grid-template-columns: 1fr; }
.partner-cta__title { font-size: 22px; }
}
/* ============================================================
CONTACT PAGE  (page-contact.php)
============================================================ */
/* ── Hero ── */
.contact-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
color: var(--white);
text-align: center;
padding: 80px 24px 64px;
}
.contact-hero__title {
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
font-weight: 900;
letter-spacing: 0.06em;
margin: 0 0 12px;
}
.contact-hero__subtitle {
opacity: 0.88;
margin: 0;
}
.contact-methods__cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.contact-methods__card {
background: var(--white);
border-radius: 8px;
padding: clamp(1.5rem, 1.259rem + 0.99vw, 2rem) clamp(1rem, 0.759rem + 0.99vw, 1.5rem);
text-align: center;
box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.contact-methods__card-icon {
width: 56px;
height: 56px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px;
}
.contact-methods__card-icon--tel { background: var(--gold); color: var(--white); }
.contact-methods__card-icon--mail { background:var(--gold); color: var(--white); }
.contact-methods__card-icon--line { background: var(--green-dark); color: var(--white); }
.contact-methods__card-icon svg { width: 28px; height: 28px; }
.contact-methods__card-title {
font-size: 18px;
font-weight: 600;
color: #1a1a1a;
margin: 0 0 10px;
}
.contact-methods__card-text {
font-size: 14px;
color: #4b5563;
line-height: 1.8;
margin: 0 0 10px;
}
.contact-methods__card-time {
font-size: 13px;
color: var(--green-dark);
font-weight: 600;
margin: 0;
}
/* ── Tel (Section 2) ── */
.contact-tel__inner {
max-width: var(--container);
margin: 0 auto;
text-align: center;
}
.contact-tel__body {
text-align: center;
}
.contact-tel__label {
font-size: 12px;
letter-spacing: 0.05em;
margin: 0 0 8px;
}
.contact-tel__number {
display: inline-block;
font-size: 40px;
font-weight: bold;
color: var(--gold);
letter-spacing: 0.04em;
text-decoration: none;
line-height: 1;
margin-bottom: 12px;
}
.contact-tel__time {
font-size: 14px;
margin: 0 0 12px;
}
.contact-tel__note {
font-size: 14px;
max-width: 480px;
margin: 0 auto;
line-height: 1.8;
}
/* ── Form (Section 3) ── */
.contact-form__inner {
max-width: 720px;
margin: 0 auto;
}
.contact-form__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.contact-form__sub {
line-height: 1.8;
margin: 0 0 8px;
}
.contact-form__note {
font-size: 12px;
color: #5f5f5f;
margin: 0;
}
.contact-form__body {
    max-width: 800px;
border-radius: 8px;
padding: 40px;
margin: auto;
box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
/* ── CF7 Form ── */
.contact-form__body .wpcf7-form {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px 16px;
}
/* 全ラベル: デフォルトでフル幅 + 縦並び */
.contact-form__body .wpcf7-form > .form-list {
grid-column: 1 / -1;
display: flex;
flex-direction: column;
gap: 8px;
margin: 0;
font-weight: 600;
}
.contact-form__body .wpcf7-form > .form-list > label span {
font-size: 12px;
color: var(--red);
padding-left: 4px;
}
/* ── グリッド配置 ── */
.contact-form__body .wpcf7-form > .form-list:has([data-name="your-name"]) {
grid-column: 1 / 2;
}
.contact-form__body .wpcf7-form > .form-list:has([data-name="your-email"]) {
grid-column: 2 / 4;
}
/* tel / subject / message → デフォルトのフル幅 */
/* 写真3つ: 各1列ずつ */
.contact-form__body .wpcf7-form > .form-list:has(input[name^="multifile"]) {
grid-column: span 1;
}
/* ── ラジオチップ行 ── */
/* autop無効時: radioはspan.wpcf7-form-control-wrapとして直接グリッドに入る */
.contact-form__body .wpcf7-form > .form-list[data-name="radio-102"],
.contact-form__body .wpcf7-form > .form-list:has([data-name="radio-102"]) {
grid-column: 1 / -1;
}
.contact-form__body .wpcf7-radio {
display: flex !important;
flex-wrap: wrap;
gap: 8px;
}
/* CF7デフォルトのblock/list-itemを上書き */
.contact-form__body .wpcf7-list-item {
display: inline-flex !important;
align-items: stretch;
margin: 0;
position: relative;
}
/* inputをpillエリア全体に広げてクリック受け取り */
.contact-form__body .wpcf7-list-item input[type="radio"] {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
z-index: 1;
margin: 0;
pointer-events: auto;
}
.contact-form__body .wpcf7-list-item-label {
display: inline-block;
padding: 8px 16px;
border: 1.5px solid #d1d5db;
border-radius: 999px;
font-size: 13px;
color: #374151;
background: #f7f8f6;
transition: background 0.15s, border-color 0.15s, color 0.15s;
user-select: none;
cursor: pointer;
line-height: 1.4;
white-space: nowrap;
pointer-events: none;
}
.contact-form__body .wpcf7-list-item input[type="radio"]:checked ~ .wpcf7-list-item-label {
background: var(--green-dark);
border-color: var(--green-dark);
color: var(--white);
font-weight: 600;
}
.contact-form__body .wpcf7-list-item:hover .wpcf7-list-item-label {
border-color: var(--green-dark);
color: var(--green-dark);
}
.contact-form__body .wpcf7-list-item input[type="radio"]:checked ~ .wpcf7-list-item-label:hover {
color: var(--white);
}
/* ── スペーサー ── */
.contact-form__body .wpcf7-form .space {
grid-column: 1 / -1;
height: 1px;
background: #e5e7eb;
margin: 4px 0;
}
/* ── テキスト / email / tel ── */
.contact-form__body .wpcf7-form input[type="text"],
.contact-form__body .wpcf7-form input[type="email"],
.contact-form__body .wpcf7-form input[type="tel"] {
width: 100%;
padding: 10px 14px;
border: 1.5px solid #d1d5db;
border-radius: 8px;
font-size: 14px;
color: #1a1a1a;
background: var(--white);
outline: none;
transition: border-color 0.15s, box-shadow 0.15s;
box-sizing: border-box;
}
.contact-form__body .wpcf7-form input[type="text"]:focus,
.contact-form__body .wpcf7-form input[type="email"]:focus,
.contact-form__body .wpcf7-form input[type="tel"]:focus {
border-color: var(--green-dark);
box-shadow: 0 0 0 3px rgba(0,77,55,0.1);
}
/* ── ファイルアップロード ── */
.contact-form__body .wpcf7-form input[type="file"] {
display: block;
width: 100%;
padding: 10px 12px;
border: 1.5px dashed #9ca3af;
border-radius: 8px;
font-size: 12px;
background: #f7f8f6;
cursor: pointer;
box-sizing: border-box;
transition: border-color 0.15s;
}
.contact-form__body .wpcf7-form input[type="file"]:hover {
border-color: var(--green-dark);
}
/* ── テキストエリア ── */
.contact-form__body .wpcf7-form textarea {
width: 100%;
min-height: 120px;
padding: 10px 12px;
border: 1.5px solid #d1d5db;
border-radius: 8px;
font-size: 14px;
background: var(--white);
resize: vertical;
outline: none;
font-family: inherit;
line-height: 1.8;
transition: border-color 0.15s, box-shadow 0.15s;
box-sizing: border-box;
}
.contact-form__body .wpcf7-form textarea:focus {
border-color: var(--green-dark);
box-shadow: 0 0 0 3px rgba(0,77,55,0.1);
}
/* ── 送信ボタン ── */
.contact-form__body .wpcf7-form .wpcf7-submit {
grid-column: 1 / -1;
display: block;
width: 100%;
padding: 16px 20px;
background: var(--green-dark);
color: var(--white);
font-size: 16px;
font-weight: 600;
border: none;
border-radius: 8px;
cursor: pointer;
letter-spacing: 0.04em;
margin-top: 4px;
}
.contact-form__body .wpcf7-form .wpcf7-submit:active {
transform: scale(0.98);
}
/* ── バリデーションエラー ── */
.contact-form__body .wpcf7-form .wpcf7-not-valid {
border-color: #dc2626 !important;
}
.contact-form__body .wpcf7-form .wpcf7-not-valid-tip {
display: block;
font-size: 11px;
color: #dc2626;
margin-top: 4px;
}
/* ── レスポンス出力 ── */
.contact-form__body .wpcf7-response-output {
grid-column: 1 / -1;
margin: 0;
padding: 12px 16px;
border-radius: 8px;
font-size: 13px;
font-weight: 500;
border: none;
}
.contact-form__body .wpcf7-form.sent .wpcf7-response-output {
background: #ecfdf5;
color: #065f46;
}
.contact-form__body .wpcf7-form.failed .wpcf7-response-output,
.contact-form__body .wpcf7-form.invalid .wpcf7-response-output,
.contact-form__body .wpcf7-form.spam .wpcf7-response-output {
background: #fef2f2;
color: #991b1b;
}
/* ── モバイル ── */
@media (max-width: 640px) {
.contact-form__body .wpcf7-form {
grid-template-columns: 1fr;
}
.contact-form__body .wpcf7-form > .form-list:has([data-name="your-email"]) {
        grid-column: 1 / 2;
} 
}
.contact-form__body .wpcf7-form > label:has([data-name="your-name"]),
.contact-form__body .wpcf7-form > label:has([data-name="your-email"]),
.contact-form__body .wpcf7-form > label:has(input[name^="multifile"]) {
grid-column: 1 / -1;
}
}
.contact-line__step-heading {
    margin-bottom: 12px;
}
.contact-line__card {
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
    padding: clamp(1.25rem, 0.648rem + 2.47vw, 2.5rem);
    max-width: 800px;
    margin: 0 auto;
    display: grid;
    gap: 40px;
}
.contact-line__row {
display: flex;
gap: 20px;
align-items: flex-start;
}
.contact-line__methods {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
    flex-direction: column;
}
.contact-line__method-label {
display: inline-block;
font-size: 12px;
font-weight: 600;
color: var(--text-dark);
background: var(--bg-gray);
border-radius: 4px;
padding: 4px 12px;
margin: 0 0 8px;
letter-spacing: 0.04em;
}
.contact-line__method-desc {
margin-bottom: 12px;
}
.contact-line__method img {
display: block;
border: 1px solid var(--border);
border-radius: 8px;
}
.contact-line__method a img {
border: none;
border-radius: 0;
height: 44px;
width: auto;
}
.contact-line__methods-or {
font-size: 12px;
color: var(--text-light);
font-weight: 600;
padding: 0 4px;
}
.contact-line__sep {
height: 1px;
background: var(--border);
margin: 28px 0;
}
.contact-line__step-text {
font-size: 14px;
color: var(--text-mid);
margin: 0 0 12px;
line-height: 1.7;
}
.contact-line__more {
font-size: 14px;
font-weight: 600;
color: var(--green-dark);
text-decoration: none;
}
.contact-line__more:hover { text-decoration: underline; }
.contact-line__notice {
font-size: 12px;
color: var(--text-light);
text-align: center;
max-width: 560px;
margin: 20px auto 0;
line-height: 1.7;
}
/* ── Responsive ── */
@media (max-width: 768px) {
.contact-hero__title { font-size: 26px; }
.contact-methods__cards { grid-template-columns: 1fr; }
.contact-tel__number { font-size: 32px; }
.contact-form__body { padding: 20px 12px; }
.contact-line__card { padding: 28px 24px; }
.contact-line__methods { flex-direction: column; align-items: flex-start; gap: 16px; }
.contact-line__methods-or { display: none; }
}
/* ============================================================
LINE PAGE  (page-line.php)
============================================================ */
/* ── Hero ── */
.line-hero {
background: #000;
color: var(--white);
text-align: center;
padding: 80px 24px 64px;
}
.line-hero__title {
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
font-weight: 900;
letter-spacing: 0.06em;
margin: 0 0 12px;
}
.line-hero__subtitle {
opacity: 0.88;
margin: 0;
}
/* ── Breadcrumb ── */
.line-section {
padding: 72px 24px;
}
.line-section--green {
background: var(--green-dark);
}
.line-flow__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.line-flow__steps {
display: flex;
align-items: stretch;
justify-content: center;
gap: 32px;
flex-wrap: wrap;
margin-bottom: 32px;
}
.line-flow__step {
background: var(--bg-gray);
border-radius: 8px;
padding: 28px;
text-align: center;
min-width: 180px;
flex: 1;
max-width: 280px;
position: relative;
}
.line-flow__step:not(:last-child)::after {
content: "";
display: inline-block;
width: 24px;
height: 24px;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: contain;
mask-size: contain;
background-color: var(--green-dark); 
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -28px;
}
.line-flow__step-num {
display: block;
width: 36px;
height: 36px;
background: var(--green-dark);
color: var(--white);
border-radius: 50%;
font-size: 16px;
font-weight: 600;
line-height: 36px;
margin: 0 auto 16px;
}
.line-flow__step-icon {
width: 48px;
height: 48px;
color: var(--green-dark);
margin: 0 auto 12px;
}
.line-flow__step-icon svg {
width: 100%;
height: 100%;
}
.line-flow__step-title {
font-size: 18px;
font-weight: 600;
color: #1a1a1a;
margin: 0 0 8px;
}
.line-flow__step-text {
font-size: 14px;
line-height: 1.8;
}
.line-flow__arrow {
color: var(--green-dark);
display: flex;
align-items: center;
}
.line-flow__arrow svg { width: 28px; height: 28px; }
.line-flow__notice {
font-size: 12px;
color: #9ca3af;
text-align: center;
max-width: 600px;
margin: 0 auto;
line-height: 1.8;
}
/* ── Add (Section 2 green) ── */
.line-add__inner {
text-align: center;
margin: auto;
}
.line-add__title {
color: var(--white);
}
.line-add__title::after {
background: var(--white);
}
.line-add__text {
color: var(--white);
margin: 0 auto 28px;
}
.line-add__btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--white);
color: var(--green-dark);
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.line-add__btn img {
width: 28px;
height: auto;
}
.line-tips__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.line-tips__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.line-tips__item {
background: var(--white);
border-radius: 8px;
padding: 28px;
text-align: center;
}
.line-tips__item-icon {
width: 44px;
height: 44px;
color: var(--green-dark);
margin: 0 auto 14px;
}
.line-tips__item-icon svg { width: 100%; height: 100%; }
.line-tips__item-title {
font-size: 16px;
font-weight: 600;
color: #1a1a1a;
margin: 0 0 8px;
}
.line-tips__item-text {
line-height: 1.8;
font-size: 14px;
}
.line-purchase__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.line-purchase__cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: clamp(1.25rem, 0.889rem + 1.48vw, 2rem);
}
.line-purchase__card {
background: var(--bg-gray);
border-radius: 8px;
padding: clamp(1rem, 0.519rem + 1.98vw, 2rem) clamp(0.75rem, 0.269rem + 1.98vw, 1.75rem);
border-left: 4px solid var(--green-dark);
}
.line-purchase__card-title {
font-size: 20px;
font-weight: 600;
color: var(--green-dark);
margin: 0 0 clamp(0.25rem, 0.009rem + 0.99vw, 0.75rem);
}
.line-purchase__card-text {
font-size: 14px;
color: #4b5563;
line-height: 1.8;
margin: 0 0 16px;
}
.line-purchase__card-link {
font-size: 14px;
color: var(--green-dark);
font-weight: 600;
text-decoration: none;
}
.line-purchase__card-link:hover { text-decoration: underline; }
.line-purchase__items {
font-size: 13px;
text-align: center;
line-height: 1.8;
margin: 0;
}
/* ── Responsive ── */
@media (max-width: 768px) {
.line-hero__title { font-size: 26px; }
.line-flow__steps { flex-direction: column; }
.line-flow__step:not(:last-child)::after {
left: 50%;
transform: translateX(-50%);
bottom: -28px;
top: auto;
transform: translateX(-50%) rotate(90deg);
}
.line-flow__step {
max-width: 100%;
 padding: 28px 16px;
}
.line-tips__item {
 padding: 28px 16px;
}
.line-tips__grid { grid-template-columns: 1fr 1fr; }
.line-purchase__cards { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
.line-tips__grid { grid-template-columns: 1fr; }
}
/* ============================================================
FAQ PAGE  (page-faq.php)
============================================================ */
/* ── Hero ── */
.faq-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
color: var(--white);
text-align: center;
padding: 80px 24px 64px;
}
.faq-hero__title {
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
font-weight: 900;
letter-spacing: 0.06em;
margin: 0 0 12px;
}
.faq-hero__subtitle {
opacity: 0.88;
margin: 0;
}
/* ── Group ── */
.faq-group__inner {
max-width: 800px;
}
.faq-group__list {
display: flex;
flex-direction: column;
gap: 12px;
}
/* ── Accordion item (details/summary) ── */
.faq-item {
border: 1px solid var(--bg-gray);
border-radius: 8px;
overflow: hidden;
background: var(--white);
box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}
.faq-section--gray .faq-item {
background: var(--white);
}
.faq-item__question {
display: flex;
align-items: center;
gap: 16px;
padding: 20px 24px;
cursor: pointer;
list-style: none;
user-select: none;
transition: background 0.15s;
}
.faq-item__question::-webkit-details-marker { display: none; }
.faq-item__question::marker { display: none; }
.faq-item__question:hover { background: #f0faf5; }
.faq-item[open] .faq-item__question {
background: #f0faf5;
border-bottom: 1px solid #d1fae5;
}
.faq-item__q-label {
flex-shrink: 0;
width: 30px;
height: 30px;
background: var(--green-dark);
color: var(--white);
border-radius: 50%;
font-size: 14px;
font-weight: 600;
display: flex;
align-items: center;
justify-content: center;
}
.faq-item__q-text {
flex: 1;
font-size:clamp(0.938rem, 0.907rem + 0.12vw, 1rem) ;
font-weight: 600;
color: #1a1a1a;
line-height: 1.5;
}
.faq-item__icon {
flex-shrink: 0;
width: 20px;
height: 20px;
position: relative;
margin-left: auto;
}
.faq-item__icon::before,
.faq-item__icon::after {
content: "";
position: absolute;
background: var(--green-dark);
border-radius: 2px;
transition: transform 0.2s;
}
.faq-item__icon::before {
width: 14px;
height: 2px;
top: 9px;
left: 3px;
}
.faq-item__icon::after {
width: 2px;
height: 14px;
top: 3px;
left: 9px;
}
.faq-item[open] .faq-item__icon::after {
transform: rotate(90deg);
}
/* ── Answer ── */
.faq-item__answer {
display: flex;
gap: 14px;
padding: 20px 24px;
align-items: flex-start;
}
.faq-item__a-label {
flex-shrink: 0;
width: 30px;
height: 30px;
background: #e8f5e9;
color: var(--green-dark);
border-radius: 50%;
font-size: 14px;
font-weight: 600;
display: flex;
align-items: center;
justify-content: center;
}
.faq-item__a-text {
flex: 1;
}
.faq-item__a-text p {
font-size: 14px;
color: #374151;
line-height: 1.8;
margin: 0;
}
.faq-item__a-text a {
color: var(--green-dark);
text-decoration: underline;
}
.faq-item__a-text a:hover { color: #07986f; }
/* ── CTA ── */
.faq-cta__inner {
max-width: 640px;
margin: 0 auto;
text-align: center;
}
.faq-cta__title {
font-size: 24px;
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
}
.faq-cta__text {

color: rgba(255,255,255,0.88);
margin: 0 0 32px;
line-height: 1.8;
}
.faq-cta__btn {
display: inline-block;
background: var(--white);
color: var(--green-dark);
font-size: 16px;
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s, color 0.2s;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.faq-cta__btn:hover {
background: #f0faf5;
color: var(--green-dark);
}
/* ── Responsive ── */
@media (max-width: 768px) {
.faq-hero__title { font-size: 26px; }
.faq-item__question { padding: 16px 12px; }
.faq-item__answer { padding: 16px 12px; }
.faq-cta__title { font-size: 20px; }
}
/* ============================================================
AUCTION PAGE  (page-auction.php)
============================================================ */
/* ── Hero ── */
.auction-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 60px 12px 72px;
text-align: center;
position: relative;
overflow: hidden;
}
.auction-hero::before {
content: '';
position: absolute;
inset: 0;
background: url('../img/page/auction/hero.jpg') center/cover no-repeat;
opacity: 0.18;
}
.auction-hero__inner {
position: relative;
max-width: var(--container);
margin: 0 auto;
}
.auction-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 900;
color: var(--white);
letter-spacing: 0.06em;
margin: 0 0 16px;
line-height: 1.2;
}
.auction-hero__subtitle {
color: rgba(255,255,255,0.85);
margin: 0;
line-height: 1.8;
}
/* ── 共通ボタン ── */
.auction-btn {
display: inline-block;
background: var(--green-dark);
color: var(--white);

font-weight: 600;
padding: 14px 40px;
border-radius: 8px;
text-decoration: none;
letter-spacing: 0.04em;
transition: background 0.2s, transform 0.1s;
}
.auction-btn:hover { background: #07986f; }
.auction-btn:active { transform: scale(0.98); }
/* ── Section 1: イントロ ── */
.auction-intro__inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 56px;
align-items: center;
}
.auction-intro__text {

color: #374151;
line-height: 1.85;
margin: 0 0 16px;
}
.auction-intro__text:last-child { margin-bottom: 0; }
.auction-intro__images {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 8px;
}
.auction-intro__img {
width: 100%;
height: 180px;
object-fit: cover;
border-radius: 8px;
display: block;
}
.auction-intro__img--1 {
grid-column: 1 / 3;
height: 220px;
}
.auction-recommend__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.auction-recommend__cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.auction-recommend__card {
background: var(--white);
border: 1.5px solid #e5e7eb;
border-radius: 8px;
padding: 32px 24px;
text-align: center;
}
.auction-recommend__icon {
width: 52px;
height: 52px;
background: var(--green-dark);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
color: var(--white);
}
.auction-recommend__icon svg {
width: 26px;
height: 26px;
}
.auction-recommend__text {

color: #374151;
line-height: 1.8;
margin: 0;
}
.auction-recommend__cta {
text-align: center;
}
.auction-network__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.auction-network__body {
display: grid;
grid-template-columns: 1fr 420px;
gap: 56px;
align-items: center;
}
.auction-network__text {

color: #374151;
line-height: 1.85;
margin: 0 0 16px;
}
.auction-network__note {
font-size: 14px;
margin: 24px 0 0;
}
.auction-network__image img {
width: 100%;
border-radius: 8px;
display: block;
box-shadow: 0 4px 24px rgba(0,0,0,0.1);
}
.auction-flow__steps {
display: flex;
flex-direction: column;
gap: 0;
}
.auction-flow__step {
display: grid;
grid-template-columns: 100px 1fr;
gap: 0 24px;
position: relative;
padding-bottom: 0;
}
/* 縦線 */
.auction-flow__step::before {
content: '';
position: absolute;
left: 49px;
top: 52px;
bottom: -1px;
width: 2px;
background: var(--green-dark);
opacity: 0.6;
}
.auction-flow__step:last-child::before {
display: none;
}
.auction-flow__step-num {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 4px;
font-size: 10px;
font-weight: 600;
color: var(--green-dark);
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
gap: 4px;
}
.auction-flow__step-num span {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
background: var(--green-dark);
color: var(--white);
font-size: 18px;
font-weight: 900;
border-radius: 50%;
flex-shrink: 0;
position: relative;
z-index: 1;
}
.auction-flow__step-body {
padding: 4px 0 40px;
}
.auction-flow__step:last-child .auction-flow__step-body {
padding-bottom: 0;
}
.auction-flow__step-heading {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
margin: 6px 0 10px;
}
.auction-flow__step-text {
font-size: 14px;
color: #4b5563;
line-height: 1.8;
margin: 0;
}
.auction-flow__step-text a {
color: var(--green-dark);
text-decoration: underline;
}
.auction-flow__step-text small {
font-size: 12px;
color: #9ca3af;
display: block;
margin-top: 8px;
}
/* ── Section 5: 資格 ── */
.auction-license__inner {
max-width: 760px;
margin: 0 auto;
padding: 0 20px;
}
.auction-license__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.auction-license__title {
font-size: clamp(18px, 2.2vw, 24px);
font-weight: 600;
color: #1a1a1a;
margin: 0 0 16px;
}
.auction-license__list {
list-style: none;
margin: 0;
padding: 0;
border: 1.5px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
}
.auction-license__item {
display: flex;
align-items: center;
gap: 24px;
padding: 16px 24px;
border-bottom: 1px solid #e5e7eb;
}
.auction-license__item:last-child { border-bottom: none; }
.auction-license__item:nth-child(odd) { background: #f7f8f6; }
.auction-license__label {
font-size: 13px;
font-weight: 600;
color: #374151;
min-width: 220px;
flex-shrink: 0;
}
.auction-license__value {
font-size: 13px;
}
/* ── CTA ── */
.auction-cta {
background: var(--green-dark);
padding: 72px 20px;
text-align: center;
}
.auction-cta__inner {
max-width: var(--container);
margin: 0 auto;
}
.auction-cta__title {
font-size: clamp(18px, 2.5vw, 26px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
}
.auction-cta__text {
font-size: 14px;
color: rgba(255,255,255,0.8);
line-height: 1.8;
margin: 0 0 32px;
}
.auction-cta__btn {
display: inline-block;
background: var(--white);
color: var(--green-dark);
font-size: 16px;
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s, color 0.2s;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.auction-cta__btn:hover {
background: #f0faf5;
color: var(--green-dark);
}
/* ── Responsive ── */
@media (max-width: 900px) {
.auction-network__body {
grid-template-columns: 1fr;
}
.auction-network__image { order: -1; }
.auction-network__image img { max-height: 280px; object-fit: cover; }
}
@media (max-width: 768px) {
.auction-section { padding: 56px 0; }
.auction-intro__inner {
grid-template-columns: 1fr;
gap: 32px;
}
.auction-recommend__cards {
grid-template-columns: 1fr;
gap: 16px;
}
.auction-license__item { flex-direction: column; align-items: flex-start; gap: 4px; }
.auction-license__label { min-width: unset; }
}
/* ════════════════════════════════════════════
お客様の声 (page-voice.php)
════════════════════════════════════════════ */
/* ── Hero ── */
.voice-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 60px 12px 72px;
text-align: center;
position: relative;
overflow: hidden;
}
.voice-hero::before {
content: '';
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
opacity: 1;
}
.voice-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container, 1100px);
margin: 0 auto;
}
.voice-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
letter-spacing: 0.06em;
}
.voice-hero__subtitle {
font-size: clamp(13px, 1.8vw, 16px);
color: rgba(255,255,255,0.82);
margin: 0;
letter-spacing: 0.03em;
}
.voice-section__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
/* ── Grid ── */
.voice-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1.25rem, 1.009rem + 0.99vw, 1.75rem);
}
/* ── Card ── */
.voice-card {
background: var(--white);
border-radius: 8px;
padding: clamp(1.25rem, 0.889rem + 1.48vw, 2rem) clamp(1rem, 0.639rem + 1.48vw, 1.75rem);
box-shadow: 0 2px 16px rgba(0,0,0,0.07);
display: flex;
flex-direction: column;
gap: 0;
position: relative;
}
/* category badge */
.voice-card__category {
display: inline-flex;
background: var(--green-dark);
color: var(--white);
font-size: 12px;
font-weight: 600;
padding: 6px 12px;
border-radius: 8px;
margin-bottom: 8px;
align-self: flex-start;
letter-spacing: 0.03em;
line-height: 1;
}
/* large quote mark */
.voice-card__quote {
font-family: Georgia, serif;
font-size: 56px;
line-height: 1;
color: #c8e6d5;
margin-bottom: -20px;
user-select: none;
}
/* blockquote body */
.voice-card__body {
margin: 0 0 20px;
padding: 0;
border: none;
flex: 1;
}
.voice-card__body p {
font-size: 14px;
line-height: 1.8;
color: #374151;
margin: 0 0 10px;
}
.voice-card__body p:last-child {
margin-bottom: 0;
}
/* dl/dt/dd 顧客情報 */
.voice-card__info {
display: flex;
align-items: baseline;
gap: 10px;
border-top: 1px solid #f0f0f0;
padding-top: 16px;
margin: auto 0 0;
}
.voice-card__info dt,
.voice-card__info dd {
margin: 0;
padding: 0;
}
.voice-card__name {

font-weight: 600;
color: #1a2e22;
}
.voice-card__meta {
font-size: 12px;
color: #9ca3af;
}
/* ── CTA ── */
.voice-cta {
background: var(--green-dark);
padding: 72px 20px;
text-align: center;
}
.voice-cta__inner {
max-width: var(--container, 1100px);
margin: 0 auto;
}
.voice-cta__title {
font-size: clamp(18px, 2.5vw, 26px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
}
.voice-cta__text {
font-size: 14px;
color: rgba(255,255,255,0.8);
line-height: 1.8;
margin: 0 0 32px;
}
.voice-cta__btn {
display: inline-block;
background: var(--white);
color: var(--green-dark);
font-size: 16px;
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s, color 0.2s;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.voice-cta__btn:hover {
background: #f0faf5;
color: var(--green-dark);
}
/* ── Responsive ── */
@media (max-width: 768px) {
.voice-grid {
grid-template-columns: 1fr;
}
.voice-card__quote {
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
}
.voice-section {
padding: 56px 16px 64px;
}
}
/* ════════════════════════════════════════════
遺品整理・生前整理 (page-kaitai-ihin.php)
════════════════════════════════════════════ */
/* ── Hero ── */
.ihin-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 60px 12px 72px;
text-align: center;
position: relative;
overflow: hidden;
}
.ihin-hero::before {
content: '';
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
}
.ihin-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container, 1100px);
margin: 0 auto;
}
.ihin-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
letter-spacing: 0.06em;
}
.ihin-hero__subtitle {
font-size: clamp(13px, 1.8vw, 16px);
color: rgba(255,255,255,0.82);
margin: 0;
letter-spacing: 0.03em;
}
.ihin-section__heading {
font-size: clamp(20px, 2.8vw, 30px);
font-weight: 600;
color: #1a2e22;
margin: 0 0 16px;
letter-spacing: 0.04em;
}
.ihin-section__note {
line-height: 1.8;
}
.ihin-badge {
    display: table;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 14px;
    border-radius: 8px;
    text-align: center;
    margin: 0 auto clamp(1.75rem, 1.389rem + 1.48vw, 2.5rem);
}
.ihin-badge--paused {
background: var(--white);
color: var(--red);
border: 1px solid var(--red);
}
/* ── Intro section ── */
.ihin-intro {
max-width:800px;
margin: 0 auto;
text-align: center;
}
.ihin-intro__lead {
line-height: 1.8;
margin: 24px 0 38px;
}
.ihin-intro__list {
list-style: none;
margin: 0 0 36px;
padding: 0;
text-align: left;
display: flex;
flex-direction: column;
gap: 12px;
}
.ihin-intro__list li {
line-height: 1.8;
padding: 16px 16px 16px 38px;
background: var(--white);
border-radius: 8px;
border-left: 4px solid var(--green-dark);
position: relative;
box-shadow: 0 1px 4px rgb(0 0 0 / 24%);
font-weight: 600;
}
.ihin-intro__list li::before {
content: '✓';
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
color: var(--green-dark);
font-weight: 600;
}
.ihin-btn {
display: inline-block;
background: var(--green-dark);
font-weight: 600;
padding: 14px 40px;
border-radius: 8px;
text-decoration: none;
color: var(--white);
}
/* ── Cards (3-col) ── */
.ihin-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.ihin-card {
background: var(--white);
border-radius: 8px;
padding: 20px;
border-top: 4px solid var(--green-dark);
}
.ihin-card__icon {
color: var(--green-dark);
margin-bottom: 8px;
}
.ihin-card__heading {
margin-bottom: clamp(0.5rem, 0.38rem + 0.49vw, 0.75rem);
}
.ihin-card__text {
font-size: 14px;
line-height: 1.8;
margin: 0;
}
/* ── Flow ── */
.step-flow {
max-width: 800px;
margin-left: auto;
margin-right: auto;
display: flex;
flex-direction: column;
}
.step-flow__step {
display: grid;
grid-template-columns: 100px 1fr;
gap: 0 24px;
position: relative;
padding-bottom: 0;
}
.step-flow__step:not(:last-child):before {
content: '';
position: absolute;
left: 49px;
top: 52px;
bottom: -1px;
width: 2px;
background: var(--green-dark);
opacity: 0.6;
}
.step-flow__step:not(:last-child):before {
content: '';
position: absolute;
left: 49px;
top: 52px;
bottom: -1px;
width: 2px;
background: var(--green-dark);
opacity: 0.6;
}
.step-flow__num {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 4px;
font-size: 10px;
font-weight: 600;
color: var(--green-dark);
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
gap: 4px;
}
.step-flow__num span {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
background: var(--green-dark);
color: var(--white);
font-size: 18px;
font-weight: 900;
border-radius: 50%;
flex-shrink: 0;
position: relative;
z-index: 1;
}
.step-flow__body {
padding: 4px 0 40px;
}
.step-flow__title {
font-size: 16px;
font-weight: 600;
color: #1a2e22;
margin: 0 0 8px;
}
.step-flow__text {
font-size: 13px;
color: #4b5563;
line-height: 1.85;
margin: 0;
}
.step-flow__caution {
max-width: 760px;
margin: 0 auto;
font-size: 12px;
}
/* ── License (dl/dt/dd) ── */
.ihin-license {
max-width: 760px;
margin: 0 auto;
border: 1.5px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
}
.ihin-license__row {
display: flex;
align-items: center;
gap: 24px;
padding: 14px 24px;
border-bottom: 1px solid #e5e7eb;
}
.ihin-license__row:last-child {
border-bottom: none;
}
.ihin-license__row:nth-child(odd) {
background: #f7f8f6;
}
.ihin-license dt,
.ihin-license dd {
margin: 0;
padding: 0;
}
.ihin-license__label {
font-size: 13px;
font-weight: 600;
color: #374151;
min-width: 260px;
flex-shrink: 0;
}
.ihin-license__value {
font-size: 13px;
}
/* ── CTA ── */
.ihin-cta {
background: var(--green-dark);
padding: 72px 20px;
text-align: center;
}
.ihin-cta__inner {
max-width: var(--container, 1100px);
margin: 0 auto;
}
.ihin-cta__title {
font-size: clamp(18px, 2.5vw, 26px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
}
.ihin-cta__text {
font-size: 14px;
color: rgba(255,255,255,0.8);
line-height: 1.8;
margin: 0 0 32px;
}
.ihin-cta__btn {
display: inline-block;
background: var(--white);
color: var(--green-dark);
font-size: 16px;
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.ihin-cta__btn:hover {
background: #f0faf5;
color: var(--green-dark);
}
/* ── Responsive ── */
@media (max-width: 900px) {
.ihin-cards {
grid-template-columns: 1fr;
gap: 16px;
}
}
@media (max-width: 768px) {
.auction-flow__step,.step-flow__step {
grid-template-columns: 48px 1fr;
gap: 0 12px;
}
.auction-flow__step::before,.step-flow__step:not(:last-child)::before { left: 23px; }
.ihin-intro__list li {
      padding: 12px 12px 12px 32px;
      line-height: 1.6;
      font-size: 14px;
}
.ihin-license__row {
flex-direction: column;
gap: 4px;
align-items: flex-start;
}
.ihin-license__label {
min-width: unset;
}
}
/* ════════════════════════════════════════════
店頭買取 (page-artists.php)
════════════════════════════════════════════ */
/* ── Hero ── */
.tentou-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 60px 12px 72px;
text-align: center;
position: relative;
overflow: hidden;
}
.tentou-hero::before {
content: '';
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
}
.tentou-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container, 1100px);
margin: 0 auto;
}
.tentou-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
letter-spacing: 0.06em;
}
.tentou-hero__subtitle {
font-size: clamp(13px, 1.8vw, 16px);
color: rgba(255,255,255,0.82);
margin: 0;
letter-spacing: 0.03em;
}
.tentou-section__header {
text-align: center;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
/* ── Lead ── */
.tentou-lead {
max-width: 800px;
margin: 0 auto;
}
.tentou-lead__heading {
text-align: center;
}
.tentou-lead__text {
line-height: 1.8;
margin: 24px 0 38px;
}
.tentou-lead__note {
font-size: 12px;
margin: 24px 0 0;
}
.tentou-lead__note a {
color: var(--green-dark);
font-weight: 600;
}
/* ── Features (4-item list) ── */
.tentou-features {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}
.tentou-features__item {
display: flex;
align-items: flex-start;
gap: 16px;
background: var(--white);
border-radius: 8px;
padding: 20px;
box-shadow: 0 1px 8px rgba(0,0,0,0.07);
border-top: 3px solid var(--green-dark);
}
.tentou-features__icon {
flex-shrink: 0;
color: var(--green-dark);
margin-top: 2px;
}
.tentou-features__text {
display: flex;
flex-direction: column;
gap: 4px;
}
.tentou-features__text span {
font-size: 14px;
}
/* ── Voices / オススメ ── */
.tentou-voices {
list-style: none;
margin: 0 0 32px;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.tentou-voices__item {
display: flex;
flex-direction: column;
align-items: center;
}
.tentou-voices__bubble {
background: var(--white);
border: 2px solid #d2d2d2;
border-radius: 8px;
font-size: 14px;
padding: clamp(1rem, 0.88rem + 0.49vw, 1.25rem) clamp(0.75rem, 0.63rem + 0.49vw, 1rem);

font-weight: 600;
color: #1a2e22;
line-height: 1.8;
text-align: center;
position: relative;
width: 100%;
}
.tentou-voices__bubble::after {
content: '';
position: absolute;
bottom: -14px;
left: 50%;
transform: translateX(-50%);
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 14px solid #d2d2d2;
}
.tentou-voices__cta-note {
text-align: center;
margin: 48px 0 16px;
}
.tentou-voices__btn-wrap {
text-align: center;
}
/* ── Button ── */
.tentou-btn {
display: inline-block;
background: var(--green-dark);
color: var(--white);
font-weight: 600;
padding: 14px 40px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s;
}
.tentou-btn:hover {
background: #003d2b;
color: var(--white);
}
/* ── Flow (3 steps, reuses ihin pattern) ── */
.tentou-flow {
list-style: none;
margin: 0;
padding: 0;
position: relative;
max-width: 720px;
margin-left: auto;
margin-right: auto;
}
.tentou-flow::before {
content: '';
position: absolute;
left: 28px;
top: 0;
bottom: 0;
width: 2px;
background: #d1fae5;
}
.tentou-flow__step {
display: flex;
gap: 24px;
align-items: flex-start;
padding: 0 0 32px;
position: relative;
}
.tentou-flow__step:last-child {
padding-bottom: 0;
}
.tentou-flow__num {
flex-shrink: 0;
width: 56px;
height: 56px;
border-radius: 50%;
background: var(--green-dark);
color: var(--white);

font-weight: 600;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
letter-spacing: 0.05em;
}
.tentou-flow__body {
flex: 1;
padding-top: 14px;
}
.tentou-flow__title {
font-size: 16px;
font-weight: 600;
color: #1a2e22;
margin: 0 0 8px;
}
.tentou-flow__text {
font-size: 13px;
color: #4b5563;
line-height: 1.85;
margin: 0;
}
/* ── CTA ── */
.tentou-cta {
background: var(--green-dark);
padding: 72px 20px;
text-align: center;
}
.tentou-cta__inner {
max-width: var(--container, 1100px);
margin: 0 auto;
}
.tentou-cta__title {
font-size: clamp(18px, 2.5vw, 26px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
}
.tentou-cta__text {
font-size: 14px;
color: rgba(255,255,255,0.8);
line-height: 1.8;
margin: 0 0 32px;
}
.tentou-cta__btn {
display: inline-block;
background: var(--white);
color: var(--green-dark);
font-size: 16px;
font-weight: 600;
padding: 16px 48px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s;
box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.tentou-cta__btn:hover {
background: #f0faf5;
color: var(--green-dark);
}
/* ── Responsive ── */
@media (max-width: 768px) {
.tentou-features {
grid-template-columns: 1fr;
}
.tentou-voices {
grid-template-columns: 1fr;
gap: 28px;
}
.tentou-section {
padding: 56px 16px;
}
}
/* ════════════════════════════════════════════
対応エリア一覧 (archive-area)
════════════════════════════════════════════ */
/* ── Hero ── */
.ar-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 72px 20px 64px;
text-align: center;
position: relative;
overflow: hidden;
}
.ar-hero::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 70% 50%, rgba(255,255,255,0.04) 0%, transparent 60%);
pointer-events: none;
}
.ar-hero__inner {
position: relative;
max-width: 800px;
margin: 0 auto;
}
.ar-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
}
.ar-hero__subtitle {
font-size: clamp(13px, 1.6vw, 15px);
color: rgba(255,255,255,0.85);
margin: 0;
}
/* ── エリア一覧グリッド ── */
.ar-pref-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 24px;
}
.ar-pref-card {
border-radius: 8px;
padding: clamp(0.75rem, 0.63rem + 0.49vw, 1rem);
box-shadow: 0 2px 10px rgba(0,0,0,0.07);
}
.ar-pref-card__name {
font-size: 16px;
font-weight: 600;
color: var(--white);
background: var(--green-dark);
border-radius: 8px;
padding: 6px 14px;
margin: 0 0 16px;
display: inline-block;
}
.ar-city-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.ar-city-list__link {
display: inline-block;
font-size: 13px;
color: var(--green-dark);
background: #e8f4ee;
border: 1px solid #b6d9c8;
border-radius: 4px;
padding: 4px 10px;
text-decoration: none;
transition: background 0.15s, color 0.15s;
}
.ar-city-list__link:hover {
background: var(--green-dark);
color: var(--white);
border-color: var(--green-dark);
}
.ar-city-list__text {
display: inline-block;
font-size: 13px;
color: #9ca3af;
background: #f3f4f6;
border: 1px solid #e5e7eb;
border-radius: 4px;
padding: 4px 10px;
}
/* ── 特徴リスト ── */
.ar-features {
display: flex;
flex-direction: column;
gap: 32px;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.ar-features__item {
display: flex;
gap: 20px;
align-items: flex-start;
background: var(--white);
border-radius: 8px;
padding: 24px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.ar-features__icon {
flex-shrink: 0;
width: 56px;
display: flex;
align-items: center;
justify-content: center;
background: var(--green-dark);
border-radius: 50%;
}
.ar-features__icon img {
width: 32px;
}
.ar-features__title {
font-size: 16px;
font-weight: 600;
margin: 0 0 8px;
}
.ar-features__text {
line-height: 1.8;
}
/* ── リード文 ── */
.ar-lead {
line-height: 1.8;
background: var(--white);
border-left: 4px solid var(--green-dark);
padding: 12px;
border-radius: 0 8px 8px 0;
margin: 0 0 32px;
font-size: clamp(0.875rem, 0.815rem + 0.25vw, 1rem);
}
/* ── CTAボタン群 ── */
.ar-cta-btns {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
margin-top: 32px;
}
.ar-cta-btns a {
min-width: 240px;
}
.ar-cta-btns__tel {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--gold);
color: var(--white);
font-size: 16px;
font-weight: 600;
padding: 14px 32px;
border-radius: 8px;
text-decoration: none;
justify-content: center;
}
.ar-cta-btns__contact {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--green-dark);
color: var(--white);
font-size: 16px;
font-weight: 600;
padding: 14px 32px;
border-radius: 8px;
text-decoration: none;
justify-content: center;
}
.ra-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 72px 20px 64px;
text-align: center;
position: relative;
overflow: hidden;
}
.ra-hero::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 20% 50%, rgba(255,255,255,0.04) 0%, transparent 60%),
radial-gradient(ellipse at 80% 20%, rgba(255,255,255,0.03) 0%, transparent 50%);
}
.ra-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container, 1216px);
margin: 0 auto;
}
.ra-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
letter-spacing: 0.06em;
}
.ra-hero__subtitle {
font-size: clamp(13px, 1.6vw, 15px);
color: rgba(255,255,255,0.82);
margin: 0;
}
/* ── 2カラムレイアウト（メイン + サイドバー） ── */
.ra-layout,.si-layout {
display: grid;
grid-template-columns: 1fr 300px;
gap: 40px;
align-items: start;
}
/* ── サイドバー ウィジェット ── */
/* サイドバー → .sb（統一クラス）参照 */
/* ── Filter ── */
.rc-filter {
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.rc-filter__list {
display: flex;
flex-wrap: wrap;
gap: 8px;
list-style: none;
margin: 0;
padding: 0;
}
.rc-filter__btn {
display: inline-block;
padding: 7px 18px;
border-radius: 999px;
font-size: 13px;
font-weight: 600;
text-decoration: none;
background: var(--white);
color: #374151;
border: 1.5px solid #e5e7eb;
white-space: nowrap;
transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.rc-filter__btn:hover,
.rc-filter__btn.is-active {
background: var(--green-dark);
color: var(--white);
border-color: var(--green-dark);
}
/* ── Card list: 2列 ── */
.rc-list {
list-style: none;
margin: 0 0 48px;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
/* ── 横長カード ── */
.rc-item {
background: var(--white);
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 12px rgba(0,0,0,0.07);
transition: box-shadow 0.2s, transform 0.2s;
}
.rc-item:hover {
box-shadow: 0 6px 24px rgba(0,77,55,0.12);
transform: translateY(-2px);
}
.rc-item__link {
display: flex;
text-decoration: none;
color: inherit;
height: 100%;
}
/* サムネイル */
.rc-item__thumb {
flex-shrink: 0;
width: 180px;
aspect-ratio: 1;
overflow: hidden;
background: #f3f4f6;
}
.rc-item__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.3s;
}
.rc-item:hover .rc-item__thumb img {
transform: scale(1.04);
}
.rc-item__thumb-placeholder {
width: 100%;
height: 100%;
background: #e5e7eb;
display: flex;
align-items: center;
justify-content: center;
}
.rc-item__thumb-placeholder::after {
content: '写真なし';
font-size: 11px;
color: #9ca3af;
}
/* コンテンツ */
.rc-item__body {
flex: 1;
padding: 12px;
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
}
.rc-item__body .result-tag {
align-self: flex-start;
margin-bottom: 0;
}
.rc-item__title {
font-weight: 600;
line-height: 1.5;
margin: 0;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.rc-item__desc {
font-size: 12px;
line-height: 1.8;
margin: 0;
flex: 1;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.rc-item__meta {
margin: 4px 0 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 4px;
border-top: 1px solid #f3f4f6;
padding-top: 10px;
margin-top: auto;
}
.rc-item__meta-row {
display: flex;
align-items: center;
gap: 8px;
}
.rc-item__meta-row dt {
font-size: 10px;
font-weight: 600;
color: #9ca3af;
text-transform: uppercase;
letter-spacing: 0.05em;
flex-shrink: 0;
}
.rc-item__meta-row dd {
font-size: 12px;
color: #4b5563;
margin: 0;
}
.rc-item__meta-row--price dd {
font-size: 14px;
font-weight: 600;
color: var(--green-dark);
}
/* ── Pagination ── */
.rc-pagination {
display: flex;
justify-content: center;
}
.rc-pagination .page-numbers {
display: flex;
flex-wrap: wrap;
gap: 6px;
list-style: none;
margin: 0;
padding: 0;
}
.rc-pagination .page-numbers li a,
.rc-pagination .page-numbers li span {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 40px;
height: 40px;
padding: 0 14px;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
text-decoration: none;
background: var(--white);
color: #374151;
border: 1.5px solid #e5e7eb;
transition: background 0.15s, color 0.15s;
}
.rc-pagination .page-numbers li a:hover {
background: #f0faf5;
border-color: var(--green-dark);
color: var(--green-dark);
}
.rc-pagination .page-numbers li span.current {
background: var(--green-dark);
color: var(--white);
border-color: var(--green-dark);
}
.rc-pagination .page-numbers li span.dots {
background: transparent;
border-color: transparent;
color: #9ca3af;
}
/* ════════════════════════════════════════
お役立ち情報（media）
════════════════════════════════════════ */
/* ── Hero ── */
.ma-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 72px 20px 64px;
text-align: center;
position: relative;
overflow: hidden;
}
.ma-hero::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 50%, rgba(255,255,255,0.05) 0%, transparent 60%);
}
.ma-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container, 1216px);
margin: 0 auto;
}
.ma-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
letter-spacing: 0.06em;
}
.ma-hero__subtitle {
font-size: clamp(13px, 1.6vw, 15px);
color: rgba(255,255,255,0.82);
margin: 0;
}
/* ── Section / Layout ── */
.ma-section__heading {
color: var(--green-dark);
font-size: clamp(1.75rem, 1.63rem + 0.49vw, 2rem);
margin-bottom: 16px;
}
.ma-section {
background: var(--bg-gray, #f9fafb);
padding: 40px 20px 80px;
}
.ma-layout {
display: grid;
grid-template-columns: 1fr 300px;
gap: 40px;
align-items: start;
}
/* ── 記事カードリスト ── */
.mc-list {
list-style: none;
margin: 0 0 48px;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.mc-item {
background: var(--white);
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 12px rgba(0,0,0,0.07);
transition: box-shadow 0.2s, transform 0.2s;
}
.mc-item:hover {
box-shadow: 0 6px 24px rgba(0,60,80,0.12);
transform: translateY(-2px);
}
.mc-item__link {
display: flex;
flex-direction: column;
text-decoration: none;
color: inherit;
height: 100%;
}
.mc-item__thumb {
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
background: #f3f4f6;
flex-shrink: 0;
}
.mc-item__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.3s;
}
.mc-item:hover .mc-item__thumb img {
transform: scale(1.04);
}
.mc-item__thumb-placeholder {
width: 100%;
height: 100%;
background: #e5e7eb;
display: flex;
align-items: center;
justify-content: center;
}
.mc-item__body {
padding: 12px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}
.mc-item__cat {
display: inline-block;
font-size: 12px;
font-weight: 600;
color: var(--white);
background: var(--green-dark);
border-radius: 8px;
padding: 4px 8px;
align-self: flex-start;
}
/* カテゴリ別カラー */
.mc-item__cat--antique-types     { background: #c0622a; }
.mc-item__cat--guide             { background: #2563a8; }
.mc-item__cat--antique-collecting{ background: #6d47b3; }
.mc-item__cat--antique-storage   { background: var(--green-dark); }
.mc-item__title {
font-weight: 600;
color: #111827;
line-height: 1.6;
margin: 0;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.mc-item__desc {
font-size: 12px;
line-height: 1.8;
margin: 0;
flex: 1;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.mc-item__date {
font-size: 11px;
color: #9ca3af;
margin-top: auto;
}
/* ── Pagination ── */
.mc-pagination {
display: flex;
justify-content: center;
}
.mc-pagination .page-numbers {
display: flex;
flex-wrap: wrap;
gap: 6px;
list-style: none;
margin: 0;
padding: 0;
}
.mc-pagination .page-numbers li a,
.mc-pagination .page-numbers li span {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 40px;
height: 40px;
padding: 0 14px;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
text-decoration: none;
background: var(--white);
color: #374151;
border: 1.5px solid #e5e7eb;
transition: background 0.15s, color 0.15s;
}
.mc-pagination .page-numbers li a:hover {
border-color: var(--gold);
color: var(--gold);
}
.mc-pagination .page-numbers li span.current {
background: var(--gold);
color: var(--white);
border-color: var(--gold);
}
.mc-empty {
text-align: center;
padding: 60px 12px;
color: #9ca3af;
}
/* ── 本文 ── */
.ms-single__body {
margin: 20px 0 ;
line-height: 1.8;
}
.ms-single__body h2 {
font-size: 20px;
font-weight: 600;
color: var(--text-dark);
margin: 28px 0 12px;
padding: 12px;
background: var(--bg-gray);
border-left: 4px solid var(--green-dark);
border-radius: 0 8px 8px 0;
line-height: 1.4;
text-align: left;
}
.ms-single__body h2::after {
display: none;
}
.ms-single__body h3 {
font-size: 18px;
font-weight: 600;
    margin: 20px 0 8px;
}
.ms-single__body h4 {
font-size: 14px;
font-weight: 600;
color: #374151;
margin: 1.6em 0 0.6em;
}
.ms-single__body p {
margin: 0 0 16px;
}
.ms-single__body p:last-child {
margin-bottom: 0;
}
.ms-single__body ul {
list-style: disc;
margin: 0 0 16px;
padding-left: 1.8em;
}
.ms-single__body ol {
list-style: decimal;
margin: 0 0 16px;
padding-left: 1.8em;
}
.ms-single__body li {
margin-bottom: 0.5em;
}
.ms-single__body li::marker {
color: var(--green-dark);
}
.ms-single__body li > ul,
.ms-single__body li > ol {
margin-top: 0.4em;
margin-bottom: 0;
}
.ms-single__body img {
max-width: 100%;
height: auto;
border-radius: 8px;
margin: 1.2em 0;
display: block;
}
.ms-single__body table {
width: 100%;
border-collapse: collapse;
margin: 0 0 1.6em;
font-size: 14px;
}
.ms-single__body th,
.ms-single__body td {
border: 1px solid #d1d5db;
padding: 10px 14px;
text-align: left;
vertical-align: top;
}
.ms-single__body th {
background: var(--green-dark);
font-weight: 600;
color: var(--white);
}
.ms-single__body tr:nth-child(even) td {
background: #f7f8f6;
}
.ms-single__body blockquote {
border-left: 3px solid #2d6b6b;
margin: 0 0 16px;
padding: 12px 20px;
background: #f5f8f8;
color: #4b5563;
}
.ms-single__body code {
background: #f3f4f6;
border-radius: 4px;
padding: 2px 6px;
font-size: 13px;
font-family: monospace;
}
.ms-single__body pre {
background: #f3f4f6;
border-radius: 8px;
padding: 16px;
overflow-x: auto;
margin: 0 0 16px;
}
.ms-single__body pre code {
background: none;
padding: 0;
}
/* Responsive */
@media (max-width: 1024px) {
.ma-layout {
grid-template-columns: 1fr 260px;
gap: 28px;
}
}
@media (max-width: 900px) {
.ma-layout {
grid-template-columns: 1fr;
}
.sb {
order: -1;
}
.mc-list {
grid-template-columns: 1fr;
}
}
/* ════════════════════════════════════════
買取実績 シングル
════════════════════════════════════════ */
.rs-single {
background: var(--white);
border-radius: 8px 8px 0 0;
overflow: hidden;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
padding: 20px 12px;
}
/* ヘッダー */
.rs-single__header {
padding: 28px 32px 24px;
border-bottom: 1px solid #f0f0f0;
}
.rs-single__header .result-tag {
margin-bottom: 12px;
}
.rs-single__title {
font-size: clamp(18px, 2.4vw, 24px);
font-weight: 600;
color: #111827;
line-height: 1.5;
margin: 0 0 12px;
}
.rs-single__area {
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
margin: 0;
}
.rs-single__area-label {
font-size: 10px;
font-weight: 600;
color: #9ca3af;
text-transform: uppercase;
letter-spacing: 0.06em;
background: #f3f4f6;
border-radius: 4px;
padding: 2px 6px;
}
/* メイン画像 */
.rs-single__image {
width: 100%;
overflow: hidden;
background: #f3f4f6;
}
.rs-single__image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
/* 本文 */
.rs-single__body {
padding: 20px 0 0;

line-height: 1.8;
color: #374151;
}
.rs-single__body p {
margin: 0 0 16px;
}
.rs-single__body p:last-child {
margin-bottom: 0;
}
.rs-single__body h2 {
font-size: 20px;
font-weight: 600;
color: #1a2e1a;
border-left: 4px solid var(--green-dark);
padding-left: 12px;
margin: 2em 0 0.8em;
}
.rs-single__body h3 {
font-size: 17px;
font-weight: 600;
color: #1a2e1a;
margin: 1.8em 0 0.6em;
}
.rs-single__body ul {
list-style: disc;
margin: 0 0 16px;
padding-left: 1.8em;
}
.rs-single__body ol {
list-style: decimal;
margin: 0 0 16px;
padding-left: 1.8em;
}
.rs-single__body li {
margin-bottom: 0.4em;
}
.rs-single__body li > ul,
.rs-single__body li > ol {
margin-top: 0.4em;
margin-bottom: 0;
}
.rs-single__body table {
width: 100%;
border-collapse: collapse;
margin: 0 0 1.6em;
font-size: 14px;
}
.rs-single__body th,
.rs-single__body td {
border: 1px solid #d1d5db;
padding: 8px 12px;
text-align: left;
vertical-align: top;
}
.rs-single__body th {
background: #f0f4f0;
font-weight: 600;
color: #1a2e1a;
}
.rs-single__body tr:nth-child(even) td {
background: #f7f8f6;
}
.rs-single__body blockquote {
border-left: 4px solid #c8d8c8;
margin: 0 0 16px;
padding: 12px 20px;
background: #f5f8f5;
color: #4b5563;
font-style: italic;
}
.rs-single__body code {
background: #f3f4f6;
border-radius: 4px;
padding: 2px 6px;
font-size: 13px;
font-family: monospace;
}
.rs-single__body pre {
background: #f3f4f6;
border-radius: 8px;
padding: 16px;
overflow-x: auto;
margin: 0 0 16px;
}
.rs-single__body pre code {
background: none;
padding: 0;
}
.rs-single__body img {
max-width: 100%;
height: auto;
border-radius: 8px;
margin: 1em 0;
}
/* 戻るリンク */
.rs-single__back {
padding: 40px 0 20px;
display: flex;
justify-content: center;
}
.rs-single__back-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
font-weight: 600;
color: var(--green-dark);
text-decoration: none;
border: 1.5px solid var(--green-dark);
border-radius: 8px;
padding: 8px 24px;
transition: background 0.15s, color 0.15s;
}
.rs-single__back-link:hover {
background: var(--green-dark);
color: var(--white);
}
/* ── 日付・エリア メタ ── */
.rs-single__meta {
display: flex;
flex-wrap: wrap;
gap: 4px 24px;
margin-bottom: 12px;
}
.rs-single__area,
.rs-single__date {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
}
.rs-single__meta-label {
font-size: 10px;
font-weight: 600;
color: #9ca3af;
text-transform: uppercase;
letter-spacing: 0.06em;
background: #f3f4f6;
border-radius: 4px;
padding: 2px 6px;
flex-shrink: 0;
}
.rs-single__date--updated .rs-single__meta-label {
background: #fef3c7;
color: #92400e;
}
/* ── CTA バナー ── */
.rs-cta {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
border-radius: 0 0 8px 8px;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
padding: 20px 12px;
color: var(--white);
}
.rs-cta__heading {
font-size: clamp(16px, 2vw, 20px);
font-weight: 600;
margin: 0 0 12px;
letter-spacing: 0.03em;
}
.rs-cta__text {
font-size: 13px;
line-height: 1.8;
color: rgba(255,255,255,0.85);
margin: 0 0 20px;
}
.rs-cta__info {
margin: 0 0 24px;
padding: 0;
display: flex;
flex-direction: column;
gap: 4px;
}
.rs-cta__info-row {
display: flex;
gap: 12px;
font-size: 13px;
}
.rs-cta__info-row dt {
font-weight: 600;
color: rgba(255,255,255,0.6);
flex-shrink: 0;
min-width: 44px;
}
.rs-cta__info-row dd {
color: rgba(255,255,255,0.9);
margin: 0;
}
.rs-cta__tel {
display: inline-flex;
flex-direction: column;
align-items: center;
background: var(--white);
color: var(--green-dark);
text-decoration: none;
border-radius: 8px;
padding: 14px 32px;
gap: 2px;
transition: background 0.15s, transform 0.15s;
width: 100%;
text-align: center;
}
.rs-cta__tel:hover {
background: #f0faf5;
transform: translateY(-1px);
}
.rs-cta__tel-label {
font-size: 11px;
letter-spacing: 0.04em;
}
.rs-cta__tel-number {
font-size: clamp(22px, 4vw, 30px);
font-weight: 600;
letter-spacing: 0.04em;
line-height: 1.1;
}
.rs-cta__tel-note {
font-size: 11px;
}
/* ── Empty ── */
.rc-empty {
text-align: center;
padding: 60px 12px;

color: #9ca3af;
}
/* ── Responsive ── */
@media (max-width: 1024px) {
.ra-layout,.si-layout {
grid-template-columns: 1fr 260px;
gap: 28px;
}
}
@media (max-width: 900px) {
.ra-layout,.si-layout {
grid-template-columns: 1fr;
}
.ra-layout__sidebar,
.sb {
order: -1;
position: static;
}
.rc-item__thumb {
width: 140px;
}
.rs-cta {
    border-radius: 8px;
}
}
@media (max-width: 640px) {
.rc-list {
grid-template-columns: 1fr;
gap: 14px;
}
.rc-item__thumb {
width: 120px;
}
}
.ms-page__inner {
max-width: 1216px;
margin: 0 auto;
}
.ms-page__layout {
display: grid;
grid-template-columns: 1fr 300px;
gap: 40px;
align-items: start;
}
.ms-page__main {
min-width: 0;
}
/* .ms-page__sidebar → .sb（統一クラス）参照 */
/* ── 記事カード ── */
.ms-single {
background: var(--white);
border-radius: 8px 8px 0 0;
overflow: hidden;
box-shadow: 0 1px 6px rgba(0,0,0,0.08);
padding: 20px 12px;
}
/* ── ヘッダー（カテゴリ・タイトル・日付） ── */
.ms-single__cat {
display: inline-block;
font-size: 12px;
font-weight: 600;
color: var(--white);
background: var(--green-dark);
border-radius: 8px;
padding: 4px 8px;
margin-bottom: 4px;
}
.ms-single__cat--antique-types     { background: #c0622a; }
.ms-single__cat--guide             { background: #2563a8; }
.ms-single__cat--antique-collecting{ background: #6d47b3; }
.ms-single__cat--antique-storage   { background: var(--green-dark); }
.ms-single__title {
font-size: clamp(20px, 2.4vw, 26px);
font-weight: 600;
color: #1a2535;
line-height: 1.55;
margin: 0 0 12px;
}
.ms-single__meta {
display: flex;
flex-wrap: wrap;
gap: 4px 24px;
margin-bottom: 12px;
}
.ms-single__date {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
}
.ms-single__date svg {
flex-shrink: 0;
color: #9ca3af;
}
/* ── アイキャッチ ── */
.ms-single__image {
width: 100%;
aspect-ratio: 2 / 1;
overflow: hidden;
background: #e5e7eb;
}
.ms-single__image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
/* ── リード文（抜粋） ── */
.ms-single__lead {
padding: 12px 0 0;
line-height: 1.8;
}
/* ── 目次 ── */
.ms-single__toc {
margin: 20px 0;
background: #f7f8f6;
padding: 12px 32px;
border-radius: 8px;
margin-bottom: 12px;
}
.ms-single__toc-title {
font-size: 20px;
font-weight: 600;
letter-spacing: 0.18em;
color: var(--green-dark);
}
.ms-single__toc-item a {
display: flex;
align-items: baseline;
gap: 4px;
padding: 4px 0;
text-decoration: none;
font-size: 16px;
line-height: 1.55;
transition: color 0.15s;
}
.ms-single__toc-num {
flex-shrink: 0;
font-size: 16px;
font-weight: 600;
color: var(--green-dark);
}
.ms-single__toc-item--sub a {
padding-left: 20px;
font-size: 13px;
}
.ms-single__toc-item--sub .ms-single__toc-num {
color: #b0bec5;
font-size: 11px;
}
/* ── 戻るリンク ── */
.ms-single__back {
padding: 60px 12px 20px;
display: flex;
justify-content: center;
}
.ms-single__back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 600;
    color: var(--green-dark);
    text-decoration: none;
}
/* ══════════════════════════════════════════
サイドバー共通（.sb）
single-item / single-media / archive-media / taxonomy-media_cat
══════════════════════════════════════════ */
.sb {
top: 24px;
display: flex;
flex-direction: column;
gap: 24px;
}
/* ── CTAカード ── */
.sb__cta {
background: var(--green-dark);
border-radius: 8px;
padding: 20px 12px;
text-align: center;
}
.sb__cta-title {

font-weight: 600;
color: var(--white);
margin: 0 0 8px;
}
.sb__cta-text {
font-size: 12px;
color: rgba(255,255,255,0.78);
line-height: 1.8;
margin: 0 0 12px;
}
.sb__cta-actions {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.sb__cta-tel {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
height: 40px;
padding: 8px 0;
background: var(--gold);
color: var(--white);
text-decoration: none;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
transition: opacity 0.15s;
}
.sb__cta-tel:hover { opacity: 0.88; }
.sb__cta-line {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
height: 40px;
padding: 8px 0;
background: var(--white);
color: var(--green-dark);
text-decoration: none;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
transition: opacity 0.15s;
}
.sb__cta-line:hover { opacity: 0.88; }
/* ── ナビ（dl > dt + dd > ul） ── */
.sb__nav {
background: var(--white);
border: 1px solid var(--border);
border-radius: 8px;
overflow: hidden;
margin: 0;
}
.sb__nav dt {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.06em;
color: var(--white);
background: var(--green-dark);
padding: 12px 20px;
margin: 0;
}
.sb__nav dd { margin: 0; }
.sb__item {
border-bottom: 1px solid var(--border);
}
.sb__item:last-child { border-bottom: none; }
/* シンプルリンク（単品目リスト） */
.sb__item a,
.sb__item > span {
display: flex;
padding: 12px 12px;
font-size: 14px;
color: var(--text-dark);
text-decoration: none;
transition: background 0.15s, color 0.15s;
align-items: center;
line-height: 1;
}
.sb__item a:hover {
background: var(--bg-gray);
color: var(--green-dark);
}
.sb__item--current > span {
background: var(--bg-gray);
color: var(--green-dark);
font-weight: 600;
}
/* フレックスリンク（カテゴリ：ラベル＋件数＋矢印） */
.sb__link {
display: flex;
align-items: center;
padding: 10px 16px;
font-size: 13px;
color: var(--text-dark);
text-decoration: none;
gap: 6px;
transition: background 0.15s, color 0.15s;
}
.sb__link:hover,
.sb__link.is-active {
    color: var(--green-dark);
    font-weight: 600;
}
.sb__label { flex: 1; }
.sb__count {
font-size: 11px;
color: var(--text-light);
flex-shrink: 0;
text-box-trim: trim-end;
}
.sb__arrow {
font-size: 16px;
color: var(--text-light);
flex-shrink: 0;
text-box-trim: trim-end;
line-height: 1;
}
/* ── レスポンシブ ── */
@media (max-width: 900px) {
.ms-page__layout {
grid-template-columns: 1fr;
}
.ms-page {
    background: var(--white);
}
.ms-single {
    padding: 0;
    box-shadow: none;
}
.sb {
position: static;
}
}
@media (max-width: 768px) {
    .ms-single__body h2 {
        padding: 8px;
    }
.ms-page {
padding: 20px 12px 40px;
}
}
/* ══════════════════════════════════════════
single-area.php — sa-hero
══════════════════════════════════════════ */
/* ── Hero ── */
.sa-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 56px 20px 52px;
text-align: center;
position: relative;
overflow: hidden;
}
.sa-hero::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 70% 50%, rgba(255,255,255,0.04) 0%, transparent 60%);
pointer-events: none;
}
.sa-hero__inner {
position: relative;
max-width: 860px;
margin: 0 auto;
}
.sa-hero__title {
font-size: clamp(18px, 2.6vw, 32px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
line-height: 1.4;
}
.sa-hero__subtitle {
font-size: clamp(12px, 1.5vw, 14px);
color: rgba(255,255,255,0.85);
margin: 0 0 28px;
letter-spacing: 0.04em;
}
.sa-hero__btns {
display: flex;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
}
.sa-hero__btn-tel {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--gold);
color: var(--white);
font-weight: 600;

padding: 13px 28px;
border-radius: 8px;
text-decoration: none;
transition: background 0.2s;
}
.sa-hero__btn-tel:hover { background: #8b7020; }
.sa-hero__btn-contact {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: var(--white);
font-weight: 600;

padding: 13px 28px;
border-radius: 8px;
border: 2px solid rgba(255,255,255,0.5);
text-decoration: none;
transition: background 0.2s, border-color 0.2s;
}
.sa-hero__btn-contact:hover {
background: rgba(255,255,255,0.1);
border-color: rgba(255,255,255,0.8);
}
@media (max-width: 640px) {
.sa-hero { padding: 40px 16px 36px; }
.sa-hero__title { font-size: 17px; }
.sa-hero__btns { flex-direction: column; align-items: center; }
.sa-hero__btn-tel,
.sa-hero__btn-contact { width: 100%; max-width: 320px; justify-content: center; }
}
/* ════════════════════════════════════════════
ARCHIVE-ITEM (ai-)
════════════════════════════════════════════ */
/* ── Hero ── */
.ai-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 72px 20px 64px;
text-align: center;
position: relative;
overflow: hidden;
}
.ai-hero::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 20% 50%, rgba(255,255,255,0.04) 0%, transparent 60%),
radial-gradient(ellipse at 80% 20%, rgba(255,255,255,0.03) 0%, transparent 50%);
}
.ai-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container);
margin: 0 auto;
}
.ai-hero__title {
font-size: clamp(28px, 4vw, 44px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
letter-spacing: 0.06em;
}
.ai-hero__subtitle {
font-size: clamp(13px, 1.6vw, 15px);
color: rgba(255,255,255,0.82);
margin: 0;
}
/* ── Intro ── */
.ai-intro {
padding: 48px 12px;
}
.ai-intro__inner {
max-width: 800px;
margin: 0 auto;
text-align: center;
line-height: 1.8;
}
.ai-intro__inner p:not(:last-of-type) {
margin-bottom: 12px;
}
.ai-intro__badges {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
margin-top: 8px;
}
.ai-intro__badge {
display: inline-block;
padding: 4px 12px;
background: var(--green-dark);
color: var(--white);
font-size: 12px;
font-weight: 600;
border-radius: 999px;
}
.ai-section--gray {
background: var(--bg-gray);
}
.ai-group-header {
display: flex;
align-items: center;
gap: 20px;
margin-bottom: 32px;
padding-bottom: 20px;
border-bottom: 2px solid var(--border);
}
.ai-group-header__num {
font-size: clamp(1.5rem, 1.139rem + 1.48vw, 2.25rem);
font-weight: bold;
color: var(--green-dark);
line-height: 1;
letter-spacing: -0.02em;
font-feature-settings: 'tnum';
flex-shrink: 0;
}
.ai-group-header__title {
font-size: clamp(18px, 2.2vw, 24px);
text-align: left;
margin-bottom: 4px;
}
.ai-group-header__title::after {
display: none;
}
.ai-group-header__sub {
font-size: 13px;
color: var(--text-light);
}
/* ── Grid ── */
.ai-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
/* ── Card（画像背景対応） ── */
.ai-card {
position: relative;
border-radius: 8px;
overflow: hidden;
/* 画像がない場合のグラデーションフォールバック */
background: linear-gradient(135deg, var(--green-dark) 0%, #007a55 100%);
background-size: cover;
background-position: center;
aspect-ratio: 4 / 3;
transition: transform 0.25s, box-shadow 0.25s;
}
.ai-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}
/* 画像ズーム用の擬似要素 */
.ai-card::before {
content: '';
position: absolute;
inset: 0;
background: inherit;
background-size: cover;
background-position: center;
transition: transform 0.45s ease;
z-index: 0;
}
.ai-card:hover::before {
transform: scale(1.07);
}
.ai-card a {
display: flex;
flex-direction: column;
justify-content: flex-end;
position: absolute;
inset: 0;
text-decoration: none;
color: var(--white);
z-index: 2;
}
/* 画像の上のグラデーションオーバーレイ */
.ai-card__overlay {
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(0, 0, 0, 0.75) 0%,
rgba(0, 0, 0, 0.35) 50%,
rgba(0, 0, 0, 0.10) 100%
);
transition: opacity 0.3s;
z-index: 1;
}
.ai-card:hover .ai-card__overlay {
opacity: 0.85;
}
.ai-card__content {
position: relative;
z-index: 2;
padding: 16px 20px 20px;
}
.ai-card__title {
font-size: 16px;
font-weight: 600;
color: var(--white);
margin-bottom: 4px;
line-height: 1.4;
}
.ai-card__desc {
font-size: 12px;
line-height: 1.5;
}
.ai-card__arrow {
position: absolute;
top: 16px;
right: 16px;
z-index: 2;
font-size: 18px;
color: var(--white);
opacity: 0;
transform: translate(4px, -4px);
transition: opacity 0.2s, transform 0.2s;
}
.ai-card:hover .ai-card__arrow {
opacity: 1;
transform: translate(0, 0);
}
/* ── CTA ── */
.ai-cta {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
padding: 72px 20px;
text-align: center;
}
.ai-cta__inner {
max-width: 640px;
margin: 0 auto;
}
.ai-cta__title {
font-size: clamp(18px, 2.4vw, 24px);
font-weight: 600;
color: var(--white);
margin-bottom: 16px;
line-height: 1.5;
}
.ai-cta__text {
font-size: 14px;
color: rgba(255,255,255,0.8);
line-height: 1.8;
margin-bottom: 32px;
}
.ai-cta__btns {
display: flex;
justify-content: center;
gap: 16px;
flex-wrap: wrap;
}
.ai-cta__btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 32px;
border-radius: 8px;

font-weight: 600;
text-decoration: none;
transition: opacity 0.2s, transform 0.2s;
}
.ai-cta__btn:hover {
opacity: 0.88;
transform: translateY(-2px);
}
.ai-cta__btn--tel {
background: var(--white);
color: var(--green-dark);
}
.ai-cta__btn--contact {
background: var(--gold);
color: var(--white);
}
/* ── Responsive ── */
@media (max-width: 960px) {
.ai-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
.ai-hero { padding: 48px 16px 44px; }
.ai-intro { padding: 32px 16px; }
.ai-section { padding: 44px 16px; }
.ai-group-header { gap: 14px; margin-bottom: 20px; }
.ai-group-header__num { font-size: 28px; }
.ai-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
.ai-card__title { font-size: 14px; }
.ai-cta { padding: 48px 16px; }
.ai-cta__btns { flex-direction: column; align-items: center; }
.ai-cta__btn { width: 100%; max-width: 300px; justify-content: center; }
}
/* ════════════════════════════════════════════
共通コンポーネント
result-card / faq-grid / link-more
single-item / single-area などで共用
（フロントページは top.css で定義）
════════════════════════════════════════════ */
/* ── 買取実績カード ── */
.results-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 32px;
}
.result-card {
background: var(--white);
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.result-card-link {
display: block;
text-decoration: none;
}
.result-card-img {
height: 180px;
overflow: hidden;
}
.result-card-img img { width: 100%; height: 100%; object-fit: cover; }
.result-card-body { padding: 16px; }
.result-card-title {
font-size: 16px;
font-weight: 600;
color: var(--text-dark);
margin-bottom: 4px;
}
.result-price {
font-size: 22px;
font-weight: 600;
color: var(--gold);
line-height: 1.4;
margin-bottom: 6px;
}
.result-desc {
font-size: 13px;
color: var(--text-mid);
line-height: 1.5;
margin-bottom: 4px;
}
.result-location { font-size: 12px; color: var(--text-light); }
/* ── もっと見るリンク ── */
.link-more { text-align: center; }
.link-more a {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
font-size: 16px;
font-weight: 500;
color: var(--gold);
text-decoration: none;
cursor: pointer;
}
.link-more img { width: 20px; height: 20px; }
.link-more:hover { opacity: 0.8; }
/* ── FAQ グリッド（dl/dt/dd）── */
.faq-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px 32px;
background: var(--white);
border-radius: 8px;
padding: 12px;
margin-bottom: 32px;
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.faq-item dl { padding: 0; }
.faq-item dt {
font-size: 14px;
font-weight: 600;
color: var(--text-dark);
line-height: 1.5;
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
padding: 16px 12px;
cursor: pointer;
user-select: none;
}
.faq-item:hover dt { color: var(--green-dark); }
.faq-item dd {
display: none;
font-size: 14px;
color: var(--text-mid);
line-height: 1.8;
padding: 0 12px 14px;
margin: 0;
}
.faq-item.open dd { display: block; }
/* ── FAQ アイコン（＋→−）── */
.faq-icon {
position: relative;
display: inline-block;
width: 16px;
height: 16px;
flex-shrink: 0;
}
.faq-icon::before,
.faq-icon::after {
content: '';
position: absolute;
background: var(--text-light);
border-radius: 2px;
transition: transform 0.25s, opacity 0.25s;
}
.faq-icon::before { width: 12px; height: 2px; top: 7px; left: 2px; }
.faq-icon::after  { width: 2px; height: 12px; top: 2px; left: 7px; }
.faq-item.open .faq-icon::after { transform: scaleY(0); opacity: 0; }
.faq-item:hover .faq-icon::before,
.faq-item:hover .faq-icon::after { background: var(--green-dark); }
@media (max-width: 640px) {
.results-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
.result-card-img { height: 120px; }
.result-card-body { padding: 10px; }
.result-card-title { font-size: 14px; }
.faq-grid { grid-template-columns: 1fr; gap: 0; }
}
/* ════════════════════════════════════════════
SINGLE-ITEM (si-)
════════════════════════════════════════════ */
/* ── Hero ── */
.si-hero {
position: relative;
min-height: 420px;
display: flex;
align-items: center;
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
overflow: hidden;
}
/* 右側の斜めクリッピング画像 */
.si-hero__img {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 52%;
clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0% 100%);
z-index: 0;
}
.si-hero__img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top center;
display: block;
opacity: .75;
}
.si-hero__img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, #1a1a1a 0%, transparent 50%);
}
.si-hero__inner {
position: relative;
z-index: 1;
max-width: var(--container);
margin: 0 auto;
width: 100%;
padding: 64px 20px;
}
.si-hero__content {
max-width: 540px;
}
.si-hero__title {
font-size: clamp(24px, 3.5vw, 40px);
font-weight: 600;
color: var(--white);
margin: 0 0 16px;
line-height: 1.3;
letter-spacing: 0.03em;
}
.si-hero__sub {
font-size: 14px;
color: var(--white);
margin: 0 0 28px;
letter-spacing: 0.06em;
}
.si-hero__btns {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.si-hero__btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 13px 24px;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
text-decoration: none;
transition: opacity 0.2s, transform 0.2s;
}
.si-hero__btn:hover { opacity: 0.88; transform: translateY(-2px); }
.si-hero__btn--tel {
background: var(--gold);
color: var(--white);
}
.si-hero__btn--contact {
background: var(--green-dark);
color: var(--white);
}
.si-hero__btn--contact img {
width: 20px;
height: auto;
}
/* ── 2カラムレイアウト ── */
.si-main {
    background: var(--white);
    padding: 12px;
    border-radius: 8px;
}
.si-lead {
    line-height: 1.8;
    margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
/* ── 本文スタイル ── */
.si-body {
line-height: 1.8;
color: var(--text-dark);
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.si-body h2 {
font-size: 20px;
font-weight: 600;
color: var(--green-dark);
margin: 40px 0 14px;
padding-left: 12px;
border-left: 4px solid var(--green-dark);
line-height: 1.4;
}
.si-body h3 {
font-size: 17px;
font-weight: 600;
color: var(--text-dark);
margin: 28px 0 10px;
}
.si-body p { margin-bottom: 16px; }
.si-body ul, .si-body ol { padding-left: 1.4em; margin-bottom: 16px; }
.si-body ul li { list-style: disc; margin-bottom: 6px; }
.si-body ol li { list-style: decimal; margin-bottom: 6px; }
.si-body img { max-width: 100%; border-radius: 8px; margin: 16px 0; }
/* ── 注意事項 ── */
.si-notes {
background: var(--white)bf0;
border: 1px solid #e8d98b;
border-radius: 8px;
padding: 24px 28px;
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.si-notes__title {

font-weight: 600;
color: #7a6500;
margin-bottom: 10px;
}
.si-notes__text {
font-size: 14px;
line-height: 1.8;
color: var(--text-mid);
margin: 0;
}
/* ── 高く売るコツ ── */
.si-tips {
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
/* リスト */
.si-tips__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 32px;
}
.si-tips__item {
display: grid;
grid-template-columns: 220px 1fr;
gap: 28px;
align-items: start;
}
/* 画像なしの場合は1カラム */
.si-tips__item:not(:has(.si-tips__figure)) {
grid-template-columns: 1fr;
}
.si-tips__figure {
margin: 0;
border-radius: 8px;
overflow: hidden;
flex-shrink: 0;
}
.si-tips__figure img {
width: 100%;
height: auto;
display: block;
aspect-ratio: 4 / 3;
object-fit: cover;
}
/* dl */
.si-tips__dl { margin: 0; }
.si-tips__dt {
display: flex;
align-items: center;
gap: 12px;
font-size: 17px;
font-weight: 600;
color: var(--text-dark);
margin-bottom: 10px;
}
.si-tips__num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--green-dark);
color: var(--white);
font-size: 14px;
font-weight: 600;
flex-shrink: 0;
}
.si-tips__dd {
margin: 0;
font-size: 14px;
line-height: 1.8;
color: var(--text-mid);
}
@media (max-width: 900px) {
.si-wrap.bg-gray {
    background: var(--white);
}
.si-main {
    padding: 0;
    border-radius: 0;
}
}
@media (max-width: 640px) {
.si-tips__item {
grid-template-columns: 1fr !important;
}
.si-tips__figure {
max-width: 100%;
}
}
/* ── よくある質問 ── */
.si-faq {
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.si-faq__title {
font-size: 20px;
font-weight: 600;
color: var(--text-dark);
margin-bottom: 20px;
padding: 14px 18px;
background: var(--bg-gray);
border-left: 4px solid var(--green-dark);
border-radius: 0 8px 8px 0;
line-height: 1.4;
}
/* faq-grid を1列表示に上書き */
.si-faq__grid {
grid-template-columns: 1fr;
gap: 0;
padding: 0;
}
.si-faq__grid .faq-item {
border-bottom: 1px solid var(--border);
background: var(--bg-gray);
}
.si-faq__grid .faq-item:first-child {
border-top: 1px solid var(--border);
border-radius: 8px 8px 0 0 !important;
}
.si-faq__grid .faq-item:last-child {
border-radius: 0 0 8px 8px !important;
}
/* ── 関連実績（メイン内） ── */
.si-results {
margin-bottom: clamp(1.5rem, 1.019rem + 1.98vw, 2.5rem);
}
.si-results .results-grid {
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
/* ── 戻るリンク ── */
.si-back {
    text-align: center;
    padding: 20px 0;
}
.si-back__link {
font-size: 16px;
color: var(--green-dark);
text-decoration: none;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
.si-layout__inner {
gap: 28px;
}
}
@media (max-width: 960px) {
.si-layout__inner {
grid-template-columns: 1fr;
}
.sb {
position: static;
order: 2;
}
}
@media (max-width: 640px) {
.si-hero { min-height: 340px; }
/* SP：クリップを外してフル背景に */
.si-hero__img {
width: 100%;
clip-path: none;
opacity: 1;
}
.si-hero__img::after {
background: linear-gradient(to bottom,
rgba(0,20,12,0.35) 0%,
rgba(0,20,12,0.72) 60%,
rgba(0,20,12,0.88) 100%
);
}
.si-hero__content { max-width: 100%; }
.si-hero__inner { padding: 40px 16px; }
.si-hero__btns { flex-direction: column; }
.si-hero__btn { width: 100%; justify-content: center; }
}