@charset "utf-8";

/* ==========================================================
   カルチャースクールLP(lp_culture) スタイル
   既存カルチャースクールHP(culture/)の配色・トーンに合わせる
   メインカラー: ピンク#e63a7b / えんじ色#b41d31 / 白
   角丸なし・フラット基調
   ========================================================== */

* { box-sizing: border-box; }
html { font-size: 62.5%; } /* 1rem = 10px */
body {
  margin: 0;
  padding: 0;
  font-family: "Yu Gothic", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  color: #222;
  background: #fff;
  line-height: 1.7;
}
img { max-width: 100%; height: auto; vertical-align: bottom; }
a { color: inherit; text-decoration: none; }
.pc { display: block; }
.sp { display: none; }

.font_mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
}

/* ---- header ---- */
.header {
  background: #fff;
  border-bottom: 2px dotted #b41d31;
  padding: 16px 20px;
}
.header__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.header__logo {
  height: 50px;
  width: auto;
}

/* ---- campaign-pop(キャンペーンPOP) ---- */
.campaign-pop {
  padding: 30px 20px;
  text-align: center;
}
.campaign-pop__inner {
  max-width: 450px;
  margin: 0 auto;
}
.campaign-pop__inner img {
  width: 100%;
  display: block;
}
.campaign-pop__inner a {
  display: block;
  transition: opacity .3s;
}
.campaign-pop__inner a:hover {
  opacity: 0.85;
}

/* ---- hero ---- */
.hero__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.hero__image img {
  width: 100%;
}
.hero__body {
  padding: 30px 20px;
  text-align: center;
}
.hero__heading {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
  font-size: 2.8rem;
  color: #b41d31;
  margin: 0 0 16px;
  font-weight: 700;
}
.hero__text {
  font-size: 1.5rem;
  margin: 0;
}

/* ---- recommend(こんな方にはこんな講座) ---- */
.recommend {
  background: #fdf1f5;
  padding: 50px 20px;
}
.recommend__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.recommend__heading {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
  font-size: 2.2rem;
  color: #b41d31;
  text-align: center;
  margin: 0 0 30px;
}
.recommend__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.recommend-card {
  display: block;
  width: calc(20% - 16px);
  min-width: 180px;
  background: #fff;
  border: 1px solid #f0c6d6;
  padding: 20px 16px;
  text-align: center;
  transition: opacity .3s;
}
.recommend-card:hover {
  opacity: 0.75;
}
.recommend-card__title {
  font-size: 1.5rem;
  color: #b41d31;
  margin: 0 0 10px;
  font-weight: 700;
}
.recommend-card__text {
  font-size: 1.2rem;
  color: #555;
  margin: 0 0 14px;
}
.recommend-card__arrow {
  display: block;
  font-size: 1.2rem;
  color: #e63a7b;
  font-weight: 700;
}

/* ---- courses ---- */
.courses {
  background: #fff;
  padding: 50px 20px;
}
.courses__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.courses__heading {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
  font-size: 2.4rem;
  color: #e63a7b;
  text-align: center;
  margin: 0 0 40px;
  padding-bottom: 16px;
  border-bottom: 2px dotted #b41d31;
}
.courses__empty {
  text-align: center;
  color: #666;
}
.courses__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}
.course-card {
  width: calc(33.333% - 20px);
  min-width: 260px;
  background: #fff;
  border: 1px solid #eee;
  display: flex;
  flex-direction: column;
}
.course-card__image {
  position: relative;
}
.course-card__image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}
.course-card__badges {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.course-badge {
  display: inline-block;
  padding: 3px 10px;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  margin: 0 4px 4px 0; /* 親のflex/gapが効かない場合でも、余白が必ず入るようにする保険 */
}
.course-badge--new { background: #b41d31; }
.course-badge--pickup { background: #e63a7b; }
.course-badge--campaign { background: #d9a441; }

.course-card__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.course-card__btn {
  margin-top: auto;
}
.course-card__category {
  display: inline-block;
  font-size: 1.2rem;
  color: #b41d31;
  border: 1px solid #b41d31;
  padding: 2px 10px;
  margin-bottom: 10px;
}
.course-card__name {
  font-size: 1.8rem;
  margin: 0 0 10px;
  color: #222;
}
.course-card__catch {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #555;
  margin: 0 0 16px;
  max-height: calc(1.5em * 4);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}
.course-card__btn {
  display: block;
  text-align: center;
  background: #b41d31;
  color: #fff;
  padding: 12px;
  font-size: 1.4rem;
  transition: opacity .3s;
}
.course-card__btn:hover {
  opacity: 0.8;
}

/* ---- feature(読み物+講座の特集セクション) ---- */
.feature {
  background: #fdf1f5;
  padding: 50px 20px;
  border-top: 2px dotted #b41d31;
  border-bottom: 2px dotted #b41d31;
}
.feature + .feature {
  border-top: none;
}
.feature__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.feature .reading-article--feature {
  max-width: 800px;
  margin: 0 auto 40px;
  padding: 0;
  border-bottom: none;
}
.reading-article__eyebrow {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #b41d31;
  text-align: center;
  margin: 0 0 10px;
}
.feature__courses {
  margin-top: 10px;
}

/* ---- reading(読み物・特集外) ---- */
.reading {
  background: #fafafa;
  padding: 50px 20px;
}
.reading__inner {
  max-width: 800px;
  margin: 0 auto;
}
.reading-article {
  padding: 30px 0;
  border-bottom: 2px dotted #b41d31;
}
.reading-article:last-child {
  border-bottom: none;
}
.reading-article__title {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
  font-size: 2rem;
  color: #b41d31;
  margin: 0 0 16px;
  text-align: center;
}
.reading-article__image {
  margin: 0 0 20px;
}
.reading-article__image img {
  width: 100%;
  display: block;
}
.reading-article__body p {
  font-size: 1.4rem;
  margin: 0 0 1.2em;
}
.reading-article__body p:last-child {
  margin-bottom: 0;
}

/* ---- contact ---- */
.contact {
  background: #fdf1f5;
  padding: 50px 20px;
  text-align: center;
}
.contact__heading {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
  font-size: 2.2rem;
  color: #b41d31;
  margin: 0 0 20px;
}
.contact__tel a {
  font-size: 2.8rem;
  font-weight: 700;
  color: #b41d31;
}
.contact__btn-wrap {
  margin-top: 20px;
}
.contact__btn {
  display: inline-block;
  background: #e63a7b;
  color: #fff;
  padding: 14px 32px;
  font-size: 1.5rem;
  min-width: 240px;
  transition: opacity .3s;
}
.contact__btn:hover {
  opacity: 0.8;
}

/* ---- footer ---- */
.site-footer {
  background: #b41d31;
  color: #fff;
  text-align: center;
  padding: 24px 20px;
}
.site-footer__back a {
  color: #fff;
  text-decoration: underline;
  font-size: 1.3rem;
}
.site-footer__copyright {
  font-size: 1.2rem;
  margin: 12px 0 0;
  opacity: 0.8;
}

/* ---- MEDIA QUERIE ～767px ---- */
@media screen and (max-width: 767px) {
  .pc { display: none; }
  .sp { display: block; }
  .hero__heading { font-size: 2.2rem; }
  .courses { padding: 30px 15px; }
  .courses__heading { font-size: 2rem; }
  .course-card { width: 100%; }
  .course-card__image img { height: 180px; }
  .recommend { padding: 30px 15px; }
  .recommend__heading { font-size: 1.9rem; }
  .recommend-card { width: calc(50% - 10px); }
  .reading { padding: 30px 15px; }
  .reading-article__title { font-size: 1.8rem; }
  .feature { padding: 30px 15px; }
}
