@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
  --orange: #ef6c00;
}

/* ==========================================

  月刊誌「Home Club」最新情報 - PC Styles

========================================== */

/* Modified 202405
------------------------------------------ */
#foot_info, #footer_area { display: none; }
.l-contents { padding: 0; }

/* ==========================================
  Page Header
========================================== */
.page-header {
  position: relative;
  width: 100%;
  height: auto;
}
.page-header picture img {
  width: 100%;
  height: 320px;
  aspect-ratio: 1400 / 320;
  object-fit: cover;
}
.page-header .catch-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
}
.catch-area h2 {
  width: auto;
  height: auto;
}
.page-header h2 img {
  width: 100%;
  height: auto;
}

.header-catch h2 i {
  width: 86px;
  margin: 0 auto 15px;
  display: block;
}
.catch-area h2 span {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.2;
  font-weight: 400;
  color: #ffffff;
  display: inline-block;
  letter-spacing: 0.05em;
}


/* ==========================================
  Contents
========================================== */
.intro {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 2.0;
  text-align: center;
  margin: 0 0 110px;
}
.lead span {
  display: inline-block;
  background-color: #efefef;
  margin: 0 15px 0 0;
  padding: 0.15em 1em;
  white-space: nowrap;
}

/* 特集
------------------------------------------ */
.feature-unit {
  text-align: center;
  padding: 135px 0;
}
.feature-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 60px;
}
.feature-heading > div {
  width: 450px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
.feature-heading h3 span {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--orange);
  background-color: #fff5f2;
  display: block;
  margin: 40px 0 0;
}
.feature-heading p {
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 500;
  color: var(--orange);
}
.feature-heading p small {
  font-size: calc(18 / 48 * 1em);
  letter-spacing: 0.075em;
}
.feature-heading figure {
  width: 330px;
  margin: 0 0 0 85px;
}
.feature-index h4 {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: calc(36 / 22);
  margin: 0 0 30px;
}
.feature-index p {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.075em;
  line-height: calc(24 / 14);
}

/* Swiper Slider */
.swiper-container {
  position: relative;
  width: 660px;
  margin: 65px auto 0;
}
.swiper-ctrl {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-pagination {
  position: relative;
  top: initial;
  left: initial;
  bottom: initial;
  width: fit-content;
  font-size: 16px;
  font-size: 1.6rem;
  color: #535353;
  text-align: left;
  display: inline-block;
  margin: 0 15px 0 0;
}

/* Scrollbar */
.swiper-scrollbar {
  position: relative;
  max-width: 320px;
  height: 4px !important;
  background-color: #bcbcbc;
}
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: relative;
  top: initial;
  left: initial;
  bottom: initial;
  width: 320px;
}
.swiper-scrollbar-drag {
  height: 18px;
  aspect-ratio: 1 / 1;
  border: solid 4px #0d436f;
  border-radius: 50%;
  margin: calc((18px - 4px) / 2 * -1) 0;
  background-color: #ffffff;
}

/* 関連カタログプレセント
------------------------------------------ */
.present-unit {
  background-color: #f1f5f7;
  padding: 110px 0 90px;
}
.present-unit h3 {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  color: #535353;
  text-align: center;
  margin: 0 0 65px;
}
.present-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.present-summary { padding: 0 37.5px; }
.present-summary label span {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: calc(28 / 18);
}
.present-summary label span small {
  font-size: calc(13 / 18 * 1em);
  display: block;
}
.present-summary p {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: calc(22 / 14);
}

/* CheckBox */
.present-summary label {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 0 0 0 30px;
  margin: 0 0 15px;
}
.present-summary label input[type="checkbox"] { display: none; }
.present-summary label span::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  border: solid 1px #c0c6d1;
  background-color: #ffffff;
}
.present-summary label input[type="checkbox"]:checked + span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(../images/common/checked.svg);
  background-size: cover;
}

/* Tag */
.tag {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 20px 0 0;
}
.tag i {
  font-size: 10px;
  font-size: 1rem;
  font-style: normal;
  color: #000000;
  border: solid 1px #e5e5e4;
  background-color: #ffffff;
  padding: 4px 5px;
}

/* 応募ボタン */
.present-app-btn {
  width: fit-content;
  margin: 45px auto 0;
  display: block;
  transition: all .3s;
}
.present-app-btn:hover { opacity: 0.7; }


/* バックナンバー
------------------------------------------ */
.backnumber-unit {
  position: relative;
  padding: 115px 0 215px;
}
.backnumber-unit h3 {
  position: relative;
  width: fit-content;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  color: #535353;
  text-align: center;
  margin: 0 auto 70px;
}
.backnumber-unit h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -70px;
  width: 50px;
  height: 1px;
  display: inline-block;
  background-color: #535353;
}
.backnumber-unit h3::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -70px;
  width: 50px;
  height: 1px;
  display: inline-block;
  background-color: #535353;
}

/* ▼ Add 202505 ▼ */
.backnumber-items-wrap { position: relative; } 
/* ▲ Add 202505 ▲ */

/* ▼ Modified 202505 ▼ */
.backnumber-items > .inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
/* ▲ Modified 202505 ▲ */

.backnumber p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.075em;
  line-height: calc(24 / 16);
  padding: 0 0 0 37.5px;
}
.backnumber p small {
  font-size: calc(13 / 16 * 1em);
  color: #a5a5a5;
  display: block;
}
.backnumber-bg {
  position: absolute;
  left: 0;
  width: 100%;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 66%, rgba(253,254,254,0) 68%, rgba(228,234,239,1) 100%);
}

/* ▼ Add 202505 ▼ */
.backnumber-bg.bbg01 {
  top: 0;
  height: 24%;
}
.backnumber-bg.bbg02 {
  top: 50%;
  height: 27.5%;
}
/* ▲ Add 202505 ▲ */