@charset "UTF-8";
:root {
  --mine-yellow: #f4b400;
  --mine-black: #0b0b0b;
  --mine-line: #e8e8e8;
  --mine-muted: #666;
}

.rec {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* lead */
.rec__lead {
  text-align: center;
  color: #000000;
}
.rec__leadMain {
  font-size: 34px;
  line-height: 1.8;
  font-weight: bold;
}
.rec__leadSub {
  display: inline-block;
  font-size: 24px;
  line-height: 1.6;
  margin: 0;
  font-weight: bold;
}
.rec__leadSub span {
  font-size: 34px;
  color: #000000;
  -webkit-text-stroke: 1px #f4b400;
}
/* photo */
.rec__photo {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 12px;
}
.rec__photo img {
  width: 100%;
  height: auto;
  display: block;
}

/* title */
.rec__ttl {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 20px;
}
.rec__ttlBar {
  width: 18px;
  height: 18px;
  background: var(--mine-yellow);
  display: inline-block;
}

/* cards */
.rec__cards {
  display: grid;
  grid-template-columns: 1fr;
}
.rec__cardKicker {
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--mine-muted);
  font-weight: 700;
}
.rec__cardTtl {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 800;
}
.rec__cardTxt {
  margin: 0;
  line-height: 1.9;
  color: #000000;
  font-size: 18px;
}
.rec__con {
  text-align: center;
  padding: 20px 0 35px 0;
  border-radius: 12px;
  background-position: 0 10%;
  border: 2px #000 solid;
  box-shadow: 3px 3px #000;
  margin-top: 40px;
}
.rec__con__head h4 {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  text-align: center;
  font-size: 42px;
  position: relative;
  z-index: 1;
  margin-bottom: 5px;
  color: #000000;
}
.rec__con__head p {
  margin-bottom: 20px;
  font-size: 18px;
}
.rec__con__body p {
  line-height: 2;
  font-size: 16px;
}
.rec__con__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  z-index: 1;
  color: #000000;
  font-size: 18px;
}
.rec__con__body p a {
  color: #000000;
}
.rec__body__con__btn {
  margin-top: 20px;
}
.rec__body__con__btn a {
  background: #f4b400;
  padding: 20px 10px 20px 40px;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  text-align: right;
}
.rec__body__con__btn span {
  padding-left: 10px;
}
@media (max-width: 540px) {
  .rec__ttl {
    font-size: 20px;
  }
  .rec__cardTxt {
    font-size: 16px;
  }
  .rec__con {
    text-align: center;
    padding: 20px 0 30px 0;
    border-radius: 12px;
    background-position: 0 10%;
    border: 2px #000 solid;
    box-shadow: 3px 3px #000;
    margin-top: 40px;
  }
  .rec__con__head h4 {
    font-size: 28px;
  }
  .rec__con__head p {
    margin-bottom: 10px;
    font-size: 16px;
  }
  .rec__con__body {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .rec__con__body p {
    line-height: 1.8;
    font-size: 12px;
  }
  .rec__body__con__btn a {
    font-size: 14px;
  }
  .rec__body__con__btn a {
    background: #f4b400;
    padding: 15px 15px 15px 20px;
  }
}
