@charset "UTF-8";
/* ファミリーフレンドリー特設サイト（ff_02 / ff_back_number） */

/* ---------- リード文・キャプション ---------- */
.ffCap {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.15rem;
  line-height: 1.7;
  color: #0075BE;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 25px;
}
.ffCap span.sub {
  display: block;
  font-size: .95rem;
  font-weight: 300;
  margin-top: 6px;
}

/* ---------- 紹介レシピ（3列） ---------- */
.ffRecipe {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 30px;
  width: 100%;
  margin-bottom: 20px;
}
.ffRecipe li a {
  display: block;
  transition: all 0.3s ease 0s;
}
.ffRecipe li a:hover {
  opacity: .7;
}
.ffRecipe img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------- 区切り線 ---------- */
.ffHr {
  border: 0;
  border-top: 1px solid #c9c9c9;
  margin: 70px 0 0;
}

/* ---------- 表彰式写真（2列） ---------- */
.ffPh2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: start;
  width: 100%;
  margin-bottom: 50px;
}
.ffPh2 img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------- 最優秀賞レシピ（額縁・2列） ---------- */
.ffWinner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
  align-items: start;
  width: 100%;
  margin-bottom: 45px;
}
.ffWinner .cat {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.2rem;
  color: #0075BE;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 8px;
}
.ffWinner li > a {
  display: block;
  transition: all 0.3s ease 0s;
}
.ffWinner li > a:hover {
  opacity: .7;
}
.ffWinner img {
  display: block;
  width: 100%;
  height: auto;
}
.ffWinner .name {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.0rem;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0;
  text-align: center;
  margin-top: 6px;
}

/* ---------- ページ下部ボタン ---------- */
/* news.css の .news_btn と同じ見た目（下層固定ページでは news.css が読み込まれないため） */
.ffBtn {
  margin-top: 10px;
}
.ffBtn .arrow_btn_link {
  width: 322px;
  padding: 15px 30px;
  margin-bottom: 30px;
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.0rem;
}
.ffBtn .arrow_btn_link::before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: calc(50% - 1px);
  right: 37px;
}
.ffBtn .arrow_btn_link::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: calc(50% - 7px);
  right: 30px;
  transform: rotate(45deg);
  transition-duration: 0.4s;
}

/* ---------- バックナンバー一覧 ---------- */
.ffBack_sec .contWrap {
  padding-bottom: 40px;
}
.ffBackBlock {
  display: grid;
  grid-template-columns: 23% 71%;
  justify-content: space-between;
  margin-bottom: 60px;
}
.ffBackBlock .item01 h2 {
  margin-top: 9px;
}
/* 日付とタイトルは2段組み（news.css の一覧ページと同じ形） */
.ffBackList dt {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1.1rem;
  color: #0075BE;
  letter-spacing: 0;
  margin-bottom: 3px;
}
.ffBackList dd {
  margin: 0 0 30px 0;
  text-align: justify;
  letter-spacing: .6px;
}
.ffBackList dd:last-child {
  margin-bottom: 0;
}
.ffBackList dd a {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1.1rem;
  line-height: 2.0rem;
  text-align: justify;
  letter-spacing: 0;
  color: #000;
  transition: all 0.3s ease 0s;
}
.ffBackList dd a:hover {
  opacity: .6;
}

@media screen and (max-width:1060px) {
  .ffBackBlock {
    display: block;
  }
  .ffBackBlock .item01 h2 {
    margin-top: 0;
    margin-bottom: 40px;
  }
  .ffBackList dd {
    margin-bottom: 25px;
  }
}

@media screen and (max-width:768px) {
  .ffBtn .arrow_btn_link {
    width: 270px;
    padding: 15px 25px;
    font-size: 1.1rem;
  }
}

@media screen and (max-width:480px) {
  .ffCap {
    font-size: .95rem;
    line-height: 1.6;
    margin-bottom: 18px;
  }
  .ffCap span.sub {
    font-size: .8rem;
  }
  .ffRecipe {
    gap: 0 12px;
    margin-bottom: 15px;
  }
  .ffHr {
    margin-top: 45px;
  }
  .ffPh2 {
    display: block;
    margin-bottom: 25px;
  }
  .ffPh2 li {
    margin-bottom: 15px;
  }
  .ffWinner {
    display: block;
    margin-bottom: 30px;
  }
  .ffWinner li {
    margin-bottom: 25px;
  }
  .ffWinner .cat {
    font-size: 1.0rem;
  }
  .ffWinner .name {
    font-size: .85rem;
  }
  .ffBtn .arrow_btn_link {
    width: 230px;
    padding: 12px 20px;
    margin-bottom: 20px;
    font-size: 1rem;
  }
  .ffBtn .arrow_btn_link::before {
    width: 16px;
    right: 29px;
  }
  .ffBtn .arrow_btn_link::after {
    width: 12px;
    height: 12px;
    top: calc(50% - 6px);
    right: 22px;
  }
  .ffBackBlock {
    margin-bottom: 40px;
  }
  .ffBackList dt {
    font-size: 1rem;
  }
  .ffBackList dd {
    margin-bottom: 22px;
    line-height: 1.4;
  }
  .ffBackList dd a {
    font-size: .85rem;
    line-height: 1.8;
  }
}
