.hero-slider {
position: relative;
width: 100%;
height: 100svh;
min-height: 500px;
overflow: hidden;
}
.hero-slider__track {
display: flex;
height: 100%;
transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}
.hero-slider__slide {
flex-shrink: 0;
width: 100%;
height: 100%;
}
.hero-slider__slide img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
.hero-slider__controls {
position: absolute;
bottom: var(--space-6);
left: 50%;
transform: translateX(-50%);
display: flex;
gap: var(--space-3);
z-index: 10;
}
.hero-slider__dot {
width: 8px;
height: 8px;
border-radius: 50%;
border: 1px solid var(--bsg-white);
background: transparent;
cursor: pointer;
transition: background var(--transition-base);
}
.hero-slider__dot.is-active {
background: var(--bsg-white);
} .heritage-section {
padding: 40px 0 30px; text-align: center;
background-color: var(--bsg-dark-gray); }
.heritage-section__label {
font-family: var(--font-display);
font-size: 5.6rem;
letter-spacing: 0.2em;
color: var(--bsg-light-gray);
text-transform: uppercase;
margin-bottom: 0;
line-height: 1;
display: block;
}
.heritage-section__tagline {
font-family: var(--font-ja);
font-size: 1.8rem;
font-weight: 300;
line-height: 2.2;
color: rgba(255,255,255,0.9);
max-width: 1200px;
margin-inline: auto;
letter-spacing: 0.08em;
} .news-section {
padding: var(--space-16) 0;
}
.news-section__list {
display: flex;
flex-direction: column;
gap: 0;
}
.news-section__item {
border-bottom: 1px solid var(--bsg-border);
} .news-section__title {
font-weight: 700;
flex-shrink: 0; white-space: nowrap; }
.news-section__excerpt {
font-size: 0.85em;
color: #bcbcbc;
white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.news-section__link {
display: flex;
align-items: baseline;
flex-wrap: nowrap; gap: var(--space-4);
padding: var(--space-4) 0;
font-size: 1.6rem;
color: var(--bsg-off-white);
transition: color var(--transition-base);
overflow: hidden;
}
.news-section__link:hover {
color: var(--bsg-gold-light);
opacity: 1;
}
.news-section__link:hover .news-section__excerpt {
color: var(--bsg-gold-light);
}
.news-section__date {
font-family: var(--font-en);
font-size: var(--font-size-xs);
color: var(--bsg-light-gray);
white-space: nowrap;
flex-shrink: 0;
letter-spacing: 0.05em;
}
.event-banner {
margin-top: var(--space-8);
}
.event-banner img {
width: 100%;
max-width: 600px;
}
.event-banner__caption {
margin-top: var(--space-2);
font-size: var(--font-size-sm);
color: var(--bsg-light-gray);
} .models-section {
padding: var(--space-16) 0;
}
.models-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--space-6);
}
.model-card {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: var(--space-3);
transition: opacity var(--transition-base);
}
.model-card:hover {
opacity: 0.8;
}
.model-card__image {
width: 100%;
aspect-ratio: 2 / 3; object-fit: contain;
background-color: transparent; }
.model-card__series {
font-family: var(--font-en);
font-size: var(--font-size-xs);
color: var(--bsg-light-gray);
letter-spacing: 0.05em;
text-transform: uppercase;
}
.model-card__name {
font-family: var(--font-en);
font-size: var(--font-size-sm);
font-weight: 600;
color: var(--bsg-white);
letter-spacing: 0.05em;
}
.model-card__spec {
font-size: var(--font-size-xs);
color: var(--bsg-light-gray);
line-height: 1.6;
}
.view-more-btn {
display: inline-flex;
align-items: center;
gap: var(--space-3);
margin-top: var(--space-10);
font-family: var(--font-en);
font-size: var(--font-size-xs);
font-weight: 600;
letter-spacing: var(--tracking-widest);
text-transform: uppercase;
color: var(--bsg-white);
border: 1px solid var(--bsg-border);
padding: var(--space-4) var(--space-8);
transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}
.view-more-btn:hover {
background-color: #ffc107;
color: var(--bsg-black);
border-color: #ffc107;
opacity: 1;
}
.view-more-btn::after {
content: '→';
transition: transform var(--transition-base);
}
.view-more-btn:hover::after {
transform: translateX(4px);
} .information-section {
padding: var(--space-16) 0;
}
.info-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2px;
}
.info-card {
position: relative;
aspect-ratio: 1 / 1;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
}
.info-card__image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94), filter var(--transition-base);
filter: grayscale(80%) brightness(0.7);
}
.info-card:hover .info-card__image {
filter: grayscale(0%) brightness(0.85);
transform: scale(1.04);
}
.info-card__label {
position: relative;
z-index: 1;
text-align: center;
padding: 16px;
font-family: var(--font-en);
font-size: 2.4rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--bsg-white);
text-shadow: 0 1px 4px rgba(0,0,0,0.6);
} .builders-section {
padding: var(--space-16) 0;
}
.builders-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-12);
}
.builders-grid--single {
grid-template-columns: 1fr 1fr; max-width: 100%;
margin-inline: auto;
}
.builder-card {
display: flex;
flex-direction: column;
gap: 16px;
}
.builder-card__photo {
width: 100%;
max-width: 300px;
height: auto;
filter: grayscale(20%);
margin-bottom: 16px;
}
.builder-card__name {
display: flex;
align-items: baseline;
gap: 16px;
margin-bottom: 12px;
border-bottom: 1px solid rgb(255, 255, 255, 0.5);
padding-bottom: 4px;
}
.builder-card__name-ja {
font-family: 'Noto Serif JP', var(--font-ja);
font-size: 2.4rem;
font-weight: 600;
color: var(--bsg-white);
letter-spacing: 0.1em;
}
.builder-card__name-en {
font-family: var(--font-en);
font-size: 14px;
font-weight: 400;
color: var(--bsg-light-gray);
letter-spacing: 0.05em;
}
.builder-card__bio {
font-size: 12px;
color: #ffffff; line-height: 1.9;
margin-bottom: 16px;
}
.builder-card__youtube {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
background: var(--bsg-dark-gray);
}
.builder-card__youtube iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: none;
}
.builders-section__footer {
margin-top: 48px;
text-align: center;
}
.builders-section--about {
padding: var(--space-16) 0 0; }
.builders-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: var(--space-8) var(--space-12);
}
.builder-card--kuroiwa-profile  { grid-column: 1; grid-row: 1; }
.builder-card--yanagisawa-profile { grid-column: 2; grid-row: 1; }
.builder-card--kuroiwa-youtube  { grid-column: 1; grid-row: 2; }
.builder-card--yanagisawa-youtube { grid-column: 2; grid-row: 2; } .archive-header {
padding: var(--space-12) 0 var(--space-8);
}
.archive-models-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--space-6);
padding-bottom: var(--space-16);
}
.digimart-banners {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-6);
padding: var(--space-10) 0 0; border-top: 1px solid var(--bsg-border);
margin-top: 48px;
}
.digimart-card {
display: block;
position: relative;
transition: opacity var(--transition-base);
}
.digimart-card:hover {
opacity: 0.8;
}
.digimart-card img {
width: 100%;
border-radius: 4px; }
.digimart-card__overlay {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end; padding: 24px;
background: linear-gradient(transparent, rgba(0,0,0,0.6));
}
.digimart-card__title {
font-size: 3.6rem;
font-weight: 700;
color: #ffffff;
margin-bottom: 8px;
text-shadow: 0 2px 8px rgba(0,0,0,0.8); }
.digimart-card__subtitle {
font-size: 2.1rem;
color: rgba(255,255,255,0.85);
text-shadow: 0 2px 8px rgba(0,0,0,0.8); }
.pagination {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-2);
padding: var(--space-10) 0;
}
.pagination__item {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
font-family: var(--font-en);
font-size: var(--font-size-sm);
border: 1px solid var(--bsg-border);
color: var(--bsg-light-gray);
transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
}
.pagination__item:hover,
.pagination__item.is-active {
background-color: var(--bsg-white);
color: var(--bsg-black);
border-color: var(--bsg-white);
opacity: 1;
} .single-post {
max-width: 100%;
margin-inline: auto;
padding: var(--space-16) var(--space-6);
}
.single-post__meta {
display: flex;
align-items: center;
gap: var(--space-4);
margin-bottom: var(--space-6);
font-size: var(--font-size-xs);
color: var(--bsg-light-gray);
font-family: var(--font-en);
letter-spacing: 0.05em;
}
.single-post__category {
border: 1px solid var(--bsg-border);
padding: var(--space-1) var(--space-3);
text-transform: uppercase;
letter-spacing: 0.1em;
}
.single-post__title {
font-family: var(--font-en);
font-size: var(--font-size-2xl);
font-weight: 600;
letter-spacing: 0.05em;
line-height: 1.4;
color: var(--bsg-white);
margin-bottom: var(--space-8);
}
.single-post__content {
font-size: var(--font-size-sm);
line-height: 2;
color: var(--bsg-off-white);
}
.single-post__content img {
width: 100%;
margin: var(--space-8) 0;
}
.single-post__content h2,
.single-post__content h3 {
font-family: var(--font-en);
margin: var(--space-8) 0 var(--space-4);
font-size: var(--font-size-xl);
letter-spacing: 0.05em;
}
.single-post__content p {
margin-bottom: var(--space-4);
}
.single-post__content strong {
font-weight: 700;
}
.spec-table {
width: 100%;
border-collapse: collapse;
margin: var(--space-8) 0;
font-size: var(--font-size-sm);
}
.spec-table th,
.spec-table td {
padding: var(--space-3) var(--space-4);
border-bottom: 1px solid var(--bsg-border);
text-align: left;
}
.spec-table th {
font-family: var(--font-en);
font-weight: 600;
letter-spacing: 0.05em;
color: var(--bsg-light-gray);
width: 35%;
}
.spec-table td {
color: var(--bsg-off-white);
} .about-intro {
padding: var(--space-12) 0;
max-width: 992px;
margin-inline: auto;
text-align: left;
}
.about-intro__tagline {
font-family: 'Noto Serif JP', serif; font-size: 2.8rem; font-weight: 300;
line-height: 1.9;
color: #aaaaaa; margin-bottom: var(--space-8);
text-align: center;
}
.about-intro__body {
font-size: 1.6rem; color: #ffffff; line-height: 2;
} .artists-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
padding: var(--space-8) 0 0; }
.artist__tagline {
font-family: 'Noto Serif JP', serif; font-size: 2.8rem; font-weight: 300;
line-height: 1.9;
color: #aaaaaa; text-align: center;
}
.artist-order {
font-size:1.6rem;
text-align:center;
color:#ffffff; margin-top:8px;
}
.artist-card {
position: relative;
aspect-ratio: 3 / 4;
overflow: hidden;
cursor: pointer;
}
.artist-card__image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94), filter var(--transition-base);
filter: grayscale(20%);
}
.artist-card:hover .artist-card__image {
transform: scale(1.04);
filter: grayscale(0%);
} .artist-card__overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.55);
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
justify-content: center;
gap: 6px;
opacity: 0;
transition: opacity var(--transition-base);
}
.artist-card:hover .artist-card__overlay {
opacity: 1;
}
.artist-card__name-ja {
font-family: 'Noto Serif JP', serif; font-size: 1.8rem;
font-weight: 600;
color: var(--bsg-white);
letter-spacing: 0.1em;
}
.artist-card__name-en {
font-family: 'Noto Serif JP', serif; font-size: 1.4rem;
color: rgba(255,255,255,0.75);
letter-spacing: 0.1em;
padding-bottom: 15px;
}
.artist-card__group {
font-family: 'Noto Serif JP', serif;
font-size: 1.8rem;
font-weight: 600;
color: var(--bsg-gold-light);
letter-spacing: 0.05em;
}
.artist-card__links {
display: flex;
flex-direction: column;
gap: 12px; margin-top: 8px;
align-items: center;
}
.artist-card__link {
font-family: var(--font-en);
font-size: 1.2rem;
font-weight: 500;
letter-spacing: 0.1em;
color: rgba(255,255,255,0.7);
border: 1px solid rgba(255,255,255,0.3);
padding: 5px 10px;
transition: background var(--transition-base), color var(--transition-base);
width: 160px; text-align: center;
}
.artist-card__link:hover {
background: var(--bsg-white);
color: var(--bsg-black);
opacity: 1;
} .dealers-section-heading {
text-align: center; }
.dealers-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 64px 24px; padding: 32px 0;
}
.dealers__tagline {
font-family: 'Noto Serif JP', serif; font-size: 2.8rem; font-weight: 300;
line-height: 1.9;
color: #aaaaaa; text-align: left;
}
.dealers-order {
font-size:1.6rem;
text-align:center;
color:#ffffff; margin-top:8px;
}
.dealer-card {
display: flex;
flex-direction: column;
gap: 10px;
}
.dealer-card__name {
font-family: var(--font-ja);
font-size: 1.3rem;
font-weight: 600;
color: var(--bsg-white);
padding-bottom: 8px;
border-bottom: 1px solid rgba(255,255,255,0.2);
}
.dealer-card__address {
font-size: 1.2rem;
color: #ffffff; line-height: 1.8;
flex: 1;
}
.dealer-card__address a {
color: #ffffff;
}
.dealer-card__address a:hover {
color: var(--bsg-white);
opacity: 1;
}
.dealer-card__links {
display: flex;
gap: 8px;
margin-top: 4px;
}
.dealer-card__link {
font-family: var(--font-en);
font-size: 1rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--bsg-white);
background-color: #e74c3c;
padding: 4px 10px;
transition: opacity var(--transition-base);
border-radius: 4px; }
.dealer-card__link--map {
background-color: #e74c3c;
}
.dealer-card__link--web {
background-color: #2980b9;
}
.dealer-card__link:hover {
opacity: 0.8;
} .contact-section {
padding: 48px 0 0;
}
.contact-form-wrap {
max-width: 70%;
margin-inline: auto;
margin-bottom: 64px;
}
.contact-form-wrap__title {
font-family: 'Noto Serif JP', serif; font-size: 3.2rem;
font-weight: 600;
color: #aaaaaa;
margin-bottom: 16px;
}
.contact-form-wrap__note {
font-size: 1.6rem;
color: #ffffff;
line-height: 1.8;
margin-bottom: 32px;
}
.contact-form-wrap__note a {
color: #ffffff;
text-decoration: underline;
}
.contact-form-wrap__privacy {
font-size: 1.2rem;
color: #ffffff;
line-height: 1.9;
margin-top: 24px;
}
.wpcf7-form {
display: flex;
flex-direction: column;
gap: 24px;
}
.wpcf7-form label {
display: flex;
flex-direction: column;
gap: 8px;
font-size: 1.4rem;
color: #aaaaaa;
font-family: var(--font-ja);
letter-spacing: 0.05em;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea {
background-color: var(--bsg-dark-gray);
border: 1px solid var(--bsg-border);
color: var(--bsg-white);
padding: 12px 16px;
font-size: 1.4rem;
font-family: var(--font-ja);
width: 100%;
outline: none;
transition: border-color var(--transition-base);
}
.wpcf7-form select {
cursor: pointer;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
border-color: var(--bsg-light-gray);
}
.wpcf7-form textarea {
min-height: 240px;
resize: vertical;
}
.wpcf7-form input[type="submit"] {
width: 100%;
font-family: var(--font-ja);
font-size: 1.6rem;
font-weight: 600;
letter-spacing: 0.1em;
color: var(--bsg-white);
background: transparent;
border: 1px solid var(--bsg-border);
padding: 18px 24px;
cursor: pointer;
transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
}
.wpcf7-form input[type="submit"]:hover {
background-color: var(--bsg-white);
color: var(--bsg-black);
border-color: var(--bsg-white);
} .contact-info {
max-width: 1200px;
margin-inline: auto;
padding-top: 48px;
border-top: 1px solid var(--bsg-border);
}
.contact-info__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-bottom: 40px;
}
.contact-info__heading {
font-family: var(--font-ja);
font-size: 1.4rem;
font-weight: 600;
color: #ffffff;
margin-bottom: 20px;
line-height: 1.6;
}
.contact-info__offices {
display: flex;
flex-direction: column;
gap: 20px;
}
.contact-info__office {
font-size: 1.4rem;
color: #aaaaaa;
line-height: 2;
}
.contact-info__office a {
color: #aaaaaa;
}
.contact-info__office a:hover {
color: #ffffff;
opacity: 1;
}
.contact-info__office-name {
font-size: 1.2rem;
font-weight: 600;
color: #ffffff;
margin-bottom: 4px;
}
.contact-info__block {
font-size: 1.3rem;
color: #aaaaaa;
line-height: 2;
}
.contact-info__dealer-note {
font-size: 1.6rem;
color: #ffffff;
line-height: 1.9;
margin-bottom: 24px;
}
.contact-info__dealer-btn {
display: block;
text-align: center;
font-family: var(--font-en);
font-size: 1.4rem;
font-weight: 600;
letter-spacing: 0.05em;
color: var(--bsg-gold-light);
border: 1px solid var(--bsg-gold-light);
padding: 16px 24px;
transition: background var(--transition-base), color var(--transition-base);
}
.contact-info__dealer-btn:hover {
background-color: var(--bsg-gold-light);
color: var(--bsg-black);
opacity: 1;
} .price-section {
padding: 48px 0 0;
}
.price-note {
font-family: 'Noto Serif JP', serif; font-size: 2.8rem;
color: #aaaaaa;
line-height: 1.9;
text-align: center;
}
.price-note--top {
margin-bottom: 48px;
}
.price-note--bottom {
margin-top: 40px;
text-align: center;
color: #aaaaaa;
font-size: 1.6rem;
}
.price-series {
margin-bottom: 56px;
}
.price-series__title {
font-family: var(--font-display);
font-size: 4.2rem;
font-weight: 400;
letter-spacing: 0.1em;
color: #ffffff;
text-align: center;
margin-bottom: 32px;
}
.price-series__note {
font-size: 1.2rem;
color: #aaaaaa;
text-align: center;
margin-top: 16px;
}
.price-models-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0 24px; }
.price-model-item {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 8px 16px;
border-bottom: 1px solid var(--bsg-border);
gap: 16px;
}
.price-model-item__name {
font-size: 1.3rem;
color: #ffffff;
display: flex;
flex-direction: column;
gap: 2px;
}
.price-model-item__note {
font-size: 1.1rem;
color: #888888;
}
.price-model-item__price {
font-family: var(--font-en);
font-size: 1.3rem;
color: #ffffff;
white-space: nowrap;
flex-shrink: 0;
}
.price-dealer-section {
margin-top: 48px;
border-top: 1px solid var(--bsg-border);
padding-top: 40px;
}
.price-dealer-section__note {
font-size: 1.4rem;
color: #ffffff;
line-height: 1.9;
margin-bottom: 24px;
} .price-options {
margin-top: 56px;
}
.price-option-category {
margin-bottom: 24px;
}
.price-option-category__name {
font-family: var(--font-en);
font-size: 1.3rem;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.1em;
margin-bottom: 8px;
padding: 8px 0;
border-bottom: 1px solid rgba(255,255,255,0.2);
} .faq-section {
max-width: 70%;
margin-inline: auto;
padding: var(--space-12) var(--space-6) var(--space-20);
}
.faq-section-heading {
font-family: 'Noto Serif JP', serif; font-size: 3.2rem;
font-weight: 600;
color: #aaaaaa;
margin-bottom: 16px;
}
.faq-item {
border-bottom: 1px solid var(--bsg-border);
}
.faq-item__question {
display: flex;
align-items: flex-start;
gap: var(--space-4);
padding: var(--space-5) 0;
cursor: pointer;
font-size: var(--font-size-sm);
color: var(--bsg-gold-light);
font-weight: 500;
user-select: none;
}
.faq-item__question::before {
content: 'Q.';
font-family: var(--font-en);
font-weight: 700;
color: var(--bsg-gold-light);
flex-shrink: 0;
}
.faq-item__question-icon {
margin-left: auto;
flex-shrink: 0;
transition: transform var(--transition-base);
color: var(--bsg-light-gray);
}
.faq-item.is-open .faq-item__question-icon {
transform: rotate(45deg);
}
.faq-item__answer {
display: none;
padding: 0 0 var(--space-5) var(--space-8);
font-size: var(--font-size-sm);
color: #ffffff; line-height: 2;
}
.faq-item.is-open .faq-item__answer {
display: block;
} .page-footer-btn {
text-align: center;
padding-top: 48px;
padding-bottom: 64px;
} .archive-section {
padding: 48px 0 0;
}
.archive-filter {
display: flex;
flex-direction: column;
gap: 16px;
margin-bottom: 40px;
}
.archive-filter__row {
display: flex;
flex-wrap: wrap;
gap: 16px;
align-items: center;
}
.archive-filter__group {
display: flex;
align-items: flex-start;
gap: 16px;
}
.archive-filter__label {
font-family: var(--font-en);
font-size: 1.3rem;
font-weight: 600;
letter-spacing: 0.2em;
color: var(--bsg-light-gray);
flex-shrink: 0;
width: 60px;
padding-top: 6px; }
.archive-filter__buttons {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.archive-filter__btn {
font-family: var(--font-en);
font-size: 1.1rem;
font-weight: 500;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--bsg-light-gray);
border: 1px solid var(--bsg-border);
padding: 6px 14px;
transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
}
.archive-filter__btn:hover,
.archive-filter__btn.is-active {
background-color: var(--bsg-white);
color: var(--bsg-black);
border-color: var(--bsg-white);
opacity: 1;
}
.archive-pagination {
display: flex;
justify-content: center;
gap: 8px;
padding: 24px 0;
}
.archive-pagination .page-numbers {
font-family: var(--font-en);
font-size: 1.3rem;
color: var(--bsg-light-gray);
border: 1px solid var(--bsg-border);
padding: 6px 12px;
transition: background var(--transition-base), color var(--transition-base);
}
.archive-pagination .page-numbers:hover,
.archive-pagination .page-numbers.current {
background-color: var(--bsg-white);
color: var(--bsg-black);
border-color: var(--bsg-white);
opacity: 1;
}
.archive-models-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 48px 24px;
padding-bottom: 40px;
}
.model-card__image--empty {
width: 100%;
aspect-ratio: 2 / 3;
background: var(--bsg-dark-gray);
display: flex;
align-items: center;
justify-content: center;
color: var(--bsg-border);
font-size: 1.2rem;
}
.model-card__info {
display: flex;
flex-direction: column;
gap: 4px;
padding-top: 8px;
text-align: center;
}
.model-card__status {
font-family: var(--font-en);
font-size: 1.1rem;
letter-spacing: 0.1em;
}
.model-card__status--sold {
color: #e74c3c;
}
.model-card__status--coming {
color: var(--bsg-gold-light);
}
.archive-empty {
grid-column: 1 / -1;
text-align: center;
color: var(--bsg-light-gray);
padding: 64px 0;
} .page-title-bar__series {
position: relative;
z-index: 1;
font-family: var(--font-display);
font-size: 4.2rem;
font-weight: 400;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--bsg-white);
text-shadow: 0 2px 20px rgba(0,0,0,0.9);
margin-top: 8px;
}
.single-model-section {
padding: 48px 0 0;
}
.single-model__tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 12px;
}
.single-model__tag {
font-family: var(--font-en);
font-size: 1.1rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--bsg-light-gray);
border: 1px solid var(--bsg-border);
padding: 3px 10px;
transition: background var(--transition-base), color var(--transition-base);
}
.single-model__tag:hover {
background-color: var(--bsg-white);
color: var(--bsg-black);
border-color: var(--bsg-white);
opacity: 1;
}
.single-model__title {
font-family: var(--font-ja);
font-size: 4.2rem;
font-weight: 400;
color: var(--bsg-white);
line-height: 1.6;
}
.single-model__color {
font-family: var(--font-en);
font-size: 2.1rem;
color: #ffffff;
letter-spacing: 0.05em;
margin-bottom: 45px; }
.single-model__main {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-bottom: 48px;
}
.single-model__image-wrap {
display: flex;
align-items: flex-start;
}
.single-model__image {
width: 100%;
height: auto;
}
.single-model__specs-wrap {
display: flex;
flex-direction: column;
gap: 24px;
}
.single-model__specs {
font-family: var(--font-en);
font-size: 1.6rem;
color: #ffffff;
line-height: 2;
padding-top: 30px;
}
.single-model__specs p {
margin-bottom: 4px;
}
.single-model__price {
font-family: var(--font-en);
font-size: 2.4rem;
font-weight: 600;
color: var(--bsg-white);
letter-spacing: 0.05em;
padding-top: 16px;
border-top: 1px solid var(--bsg-border);
}
.single-model__price-note {
font-size: 1.4rem;
color: var(--bsg-light-gray);
line-height: 1.8;
margin-top: 8px;
}
.single-model__status {
font-family: var(--font-en);
font-size: 1.3rem;
letter-spacing: 0.15em;
font-weight: 600;
}
.single-model__status--sold {
color: #e74c3c;
}
.single-model__status--coming {
color: var(--bsg-gold-light);
}
.single-model__gallery {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 8px;
margin-bottom: 40px;
}
.single-model__gallery-item img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
transition: opacity var(--transition-base);
border-radius: 5px;
}
.single-model__gallery-item:hover img {
opacity: 0.8;
}
.single-model__share {
display: flex;
gap: 12px;
margin-bottom: 48px;
flex-wrap: wrap;
justify-content: center;
}
.single-model__share-btn {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: var(--font-en);
font-size: 1.2rem;
font-weight: 600;
letter-spacing: 0.05em;
color: #ffffff;
padding: 8px 20px;
border-radius: 4px;
transition: opacity var(--transition-base);
}
.single-model__share-btn:hover {
opacity: 0.8;
}
.single-model__share-btn--x {
background-color: #222222;
}
.single-model__share-btn--facebook {
background-color: #1877f2;
}
.single-model__share-btn--instagram {
background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
} .news-archive-section {
padding: 48px 0 0;
}
.news-archive-inner {
display: grid;
grid-template-columns: minmax(0, 1fr) 300px; gap: 48px;
align-items: start;
}
.news-archive-main {
min-width: 0;
width: 100%;
padding: 0; }
.news-archive-main__heading {
font-family: var(--font-en);
font-size: 1.6rem;
font-weight: 600;
letter-spacing: 0.15em;
color: #ffffff;
margin-bottom: 24px;
padding-bottom: 12px;
border-bottom: 1px solid var(--bsg-border);
} .news-archive-list {
display: flex;
flex-direction: column;
gap: 0;
}
.news-archive-item {
border-bottom: 1px solid var(--bsg-border);
}
.news-archive-item__link {
display: grid;
grid-template-columns: 160px 1fr;
gap: 24px;
padding: 32px 0; transition: opacity var(--transition-base);
}
.news-archive-item__link:hover {
opacity: 0.75;
}
.news-archive-item__thumbnail img {
width: 160px;
height: 110px;
object-fit: contain; background-color: transparent;
}
.news-archive-item__no-image {
width: 160px;
height: 110px;
background: var(--bsg-dark-gray);
}
.news-archive-item__meta {
display: flex;
align-items: center;
gap: 12px;
font-family: var(--font-en);
font-size: 1.2rem;
color: var(--bsg-light-gray);
margin-bottom: 4px;
}
.news-archive-item__cat {
background: var(--bsg-gold);
color: #ffffff;
font-size: 1.1rem;
padding: 2px 8px;
letter-spacing: 0.05em;
}
.news-archive-item__title {
font-family: var(--font-ja);
font-size: 1.8rem;
font-weight: 600;
color: #ffffff;
line-height: 1.4;
margin-bottom: 10px;
}
.news-archive-item__excerpt {
font-size: 1.4rem;
color: #ffffff; line-height: 1.4;
}
.news-archive-empty {
color: var(--bsg-light-gray);
padding: 48px 0;
text-align: center;
} .news-sidebar {
position: sticky;
top: 100px;
}
.sidebar-widget {
margin-bottom: 32px;
}
.sidebar-widget__title {
font-family: var(--font-en);
font-size: 1.2rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--bsg-light-gray);
padding-bottom: 8px;
border-bottom: 1px solid var(--bsg-border);
margin-bottom: 16px;
}
.sidebar-widget h2,
.sidebar-widget .wp-block-heading {
font-family: var(--font-en);
font-size: 1.4rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--bsg-white);
background-color: var(--bsg-mid-gray);
padding: 8px 12px;
border-left: 3px solid var(--bsg-gold-light);
margin-bottom: 16px;
} .sidebar-widget .search-form {
display: flex;
}
.sidebar-widget .search-field {
flex: 1;
background: var(--bsg-dark-gray);
border: 1px solid var(--bsg-border);
color: #ffffff;
padding: 8px 12px;
font-size: 1.3rem;
outline: none;
}
.sidebar-widget .search-submit {
background: var(--bsg-border);
border: 1px solid var(--bsg-border);
color: #ffffff;
padding: 8px 16px;
cursor: pointer;
font-size: 1.2rem;
transition: background var(--transition-base);
}
.sidebar-widget .search-submit:hover {
background: var(--bsg-white);
color: var(--bsg-black);
}
.sidebar-widget .wp-block-heading {
margin-bottom: 0;
} .sidebar-widget select {
width: 100%;
background: var(--bsg-dark-gray);
border: 1px solid var(--bsg-border);
color: #ffffff;
padding: 8px 12px;
font-size: 1.3rem;
outline: none;
cursor: pointer;
} .single-post {
width: 100%;
padding: 0; }
.single-post__meta {
display: flex;
align-items: center;
gap: 12px;
font-family: var(--font-en);
font-size: 1.2rem;
color: var(--bsg-light-gray);
margin-bottom: 16px;
}
.single-post__cat {
background: var(--bsg-gold);
color: #ffffff;
font-size: 1.1rem;
padding: 2px 8px;
letter-spacing: 0.05em;
}
.single-post__title {
font-family: var(--font-ja);
font-size: 2.4rem;
font-weight: 600;
color: #ffffff;
line-height: 1.6;
margin-bottom: 32px;
}
.single-post__thumbnail {
margin-bottom: 24px;
width: 100%;
}
.single-post__thumbnail img {
width: 100%;
height: auto;
display: block;
}
.single-post__content {
font-size: 1.6rem;
color: #ffffff;
line-height: 2;
width: 100%;
}
.single-post__content p {
margin-bottom: 16px;
}
.single-post__content img {
width: 100%;
height: auto;
margin: 16px 0;
}
.single-post__content h2 {
font-size: 2rem;
font-weight: 600;
margin: 32px 0 16px;
padding-bottom: 8px;
border-bottom: 1px solid var(--bsg-border);
}
.single-post__content h3 {
font-size: 1.8rem;
font-weight: 600;
margin: 24px 0 12px;
}
.single-post__nav {
display: flex;
justify-content: space-between;
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid var(--bsg-border);
font-size: 1.3rem;
color: var(--bsg-light-gray);
}
.single-post__nav a {
color: var(--bsg-light-gray);
transition: color var(--transition-base);
}
.single-post__nav a:hover {
color: #ffffff;
opacity: 1;
} .legal-section {
padding: 64px 0 0;
}
.legal-content {
max-width: 900px;
margin-inline: auto;
font-size: 1.4rem;
color: #ffffff;
line-height: 2;
}
.legal-content h2 {
font-family: var(--font-ja);
font-size: 1.8rem;
font-weight: 600;
color: #ffffff;
margin: 40px 0 16px;
padding-bottom: 8px;
border-bottom: 1px solid var(--bsg-border);
}
.legal-content h3 {
font-family: var(--font-ja);
font-size: 1.6rem;
font-weight: 600;
color: #ffffff;
margin: 24px 0 8px;
}
.legal-content p {
margin-bottom: 16px;
color: #aaaaaa;
}
.legal-content a {
color: #ffffff;
text-decoration: underline;
}
.legal-content a:hover {
color: var(--bsg-gold-light);
opacity: 1;
}
.legal-dl {
width: 100%;
}
.legal-dl__row {
display: grid;
grid-template-columns: 200px 1fr;
gap: 16px;
padding: 14px 0;
border-bottom: 1px solid var(--bsg-border);
}
.legal-dl dt {
font-size: 1.6rem;
color: #aaaaaa;
}
.legal-dl dd {
font-size: 1.6rem;
color: #ffffff;
line-height: 1.8;
}
.legal-dl dd ul {
list-style: disc;
padding-left: 20px;
margin-top: 8px;
}
.legal-dl dd ul li {
margin-bottom: 4px;
}