.evl-japanbnb,
.evl-japanbnb * { box-sizing: border-box; }
.evl-japanbnb {
  padding: 72px 24px;
  background: #f6f3ed;
  color: #17242e;
}
.evl-japanbnb .evl-japanbnb__inner { width: 100%; max-width: 1120px; margin: 0 auto; }
.evl-japanbnb .evl-japanbnb__heading { text-align: center; margin-bottom: 32px; }
.evl-japanbnb .evl-japanbnb__eyebrow {
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .18em;
  color: #806528;
}
.evl-japanbnb h2 {
  position: static;
  margin: 0;
  padding: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.5;
  letter-spacing: .06em;
  color: #17242e;
}
.evl-japanbnb .evl-japanbnb__card {
  display: flex;
  align-items: stretch;
  border: 1px solid #ded7c7;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}
.evl-japanbnb .evl-japanbnb__brand {
  display: flex;
  flex: 0 1 40%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  padding: 40px 28px;
  background: #180e07;
}
.evl-japanbnb .evl-japanbnb__brand img {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.evl-japanbnb .evl-japanbnb__content { flex: 1 1 60%; min-width: 0; padding: 36px 40px; }
.evl-japanbnb .evl-japanbnb__category { display: block; font-size: 12px; font-weight: 600; line-height: 1.6; color: #6b571d; letter-spacing: .08em; }
.evl-japanbnb h3 { margin: 8px 0 12px; padding: 0; font-family: 'Noto Serif JP', serif; font-size: 30px; font-weight: 600; line-height: 1.3; color: #17242e; letter-spacing: .02em; }
.evl-japanbnb .evl-japanbnb__lead { margin: 0 0 10px; font-size: 18px; line-height: 1.6; font-weight: 600; color: #17242e; }
.evl-japanbnb .evl-japanbnb__description { margin: 0 0 24px; font-size: 14px; line-height: 1.9; color: #48565f; }
.evl-japanbnb .evl-japanbnb__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 100%;
  min-height: 48px;
  padding: 14px 20px;
  color: #fff;
  background: #142735;
  border: 1px solid #142735;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
  text-decoration: none;
  transition: background-color .2s ease;
}
.evl-japanbnb .evl-japanbnb__link > span:first-child { min-width: 0; }
.evl-japanbnb .evl-japanbnb__arrow { flex-shrink: 0; font-size: 22px; line-height: 1; }
.evl-japanbnb .evl-japanbnb__link:hover { background: #2a4354; color: #fff; }
.evl-japanbnb .evl-japanbnb__link:focus-visible { outline: 3px solid #806528; outline-offset: 4px; }
.evl-japanbnb .evl-japanbnb__note { margin: 10px 0 0; font-size: 12px; line-height: 1.7; color: #63717a; }
.evl-japanbnb p,
.evl-japanbnb h2,
.evl-japanbnb h3 { overflow-wrap: break-word; word-break: normal; }
@media (max-width: 767px) {
  .evl-japanbnb { padding: 48px 20px; }
  .evl-japanbnb .evl-japanbnb__heading { margin-bottom: 24px; }
  .evl-japanbnb .evl-japanbnb__card { flex-direction: column; }
  .evl-japanbnb .evl-japanbnb__brand { flex-basis: auto; padding: 28px 24px; }
  .evl-japanbnb .evl-japanbnb__brand img { max-width: 340px; }
  .evl-japanbnb .evl-japanbnb__content { flex-basis: auto; padding: 24px; }
  .evl-japanbnb h3 { font-size: 28px; }
  .evl-japanbnb .evl-japanbnb__lead { font-size: 17px; }
  .evl-japanbnb .evl-japanbnb__link { display: flex; width: 100%; gap: 12px; padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .evl-japanbnb .evl-japanbnb__link { transition: none; }
}
