@charset "UTF-8";

/* =========================================================
   /jp/recipe/assets/css/content-4020.css
   gcode: 4020
   からし漬の素を使った きゅうりのからし漬
   ========================================================= */

.recipe-content-4020 {
  color: #3c3a2f;
  background:
    radial-gradient(circle at 9% 2%, rgba(238, 190, 53, 0.16), transparent 27%),
    radial-gradient(circle at 96% 18%, rgba(126, 164, 93, 0.15), transparent 26%),
    linear-gradient(180deg, #fffdf7 0%, #faf8ee 48%, #f8f6ef 100%);
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.95;
  overflow: hidden;
}

.recipe-content-4020 * { box-sizing: border-box; }
.recipe-content-4020 img { max-width: 100%; height: auto; vertical-align: bottom; }
.recipe-4020-wrap { width: 100%; max-width: 1040px; margin: 0 auto; padding: 0 20px 64px; }

/* HERO */
.recipe-4020-hero { position: relative; margin: 0 0 38px; overflow: hidden; border-radius: 0 0 34px 34px; background: #596b36; }
.recipe-4020-hero__image { position: relative; min-height: 420px; background-position: center; background-size: cover; background-repeat: no-repeat; }
.recipe-4020-hero__image:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(90deg, rgba(62,70,32,.91) 0%, rgba(75,88,38,.68) 46%, rgba(75,88,38,.08) 100%); }
.recipe-4020-hero__inner { position: relative; z-index: 2; max-width: 1040px; margin: 0 auto; padding: 66px 24px 70px; color: #fff; }
.recipe-4020-hero__label { display: inline-block; margin: 0 0 16px; padding: 7px 15px; border: 1px solid rgba(255,255,255,.48); border-radius: 999px; background: rgba(255,255,255,.16); font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.recipe-4020-hero__title { max-width: 800px; margin: 0 0 17px; font-size: 40px; line-height: 1.42; font-weight: 700; letter-spacing: .04em; text-shadow: 0 3px 18px rgba(0,0,0,.2); }
.recipe-4020-hero__lead { max-width: 760px; margin: 0; font-size: 16px; line-height: 1.95; }

/* COMMON */
.recipe-4020-section { margin: 0 0 40px; }
.recipe-4020-card { padding: 30px; border-radius: 25px; background: rgba(255,255,255,.97); box-shadow: 0 14px 34px rgba(79,76,49,.08); }
.recipe-4020-label { margin: 0 0 10px; color: #9a7411; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.recipe-4020-title { margin: 0 0 16px; color: #596126; font-size: 27px; line-height: 1.45; letter-spacing: .03em; }
.recipe-4020-lead { margin: 0 0 20px; color: #6d6a56; font-size: 16px; line-height: 1.95; }
.recipe-4020-text { color: #4e4b3d; }
.recipe-4020-text p { margin: 0 0 12px; line-height: 2; }
.recipe-4020-text p:last-child { margin-bottom: 0; }

/* CATCH */
.recipe-4020-catch { max-width: 960px; margin: 0 auto 34px; padding: 29px 24px; text-align: center; border-radius: 25px; background: radial-gradient(circle at top left, rgba(239,194,57,.19), transparent 36%), radial-gradient(circle at bottom right, rgba(132,166,90,.16), transparent 34%), #fff; border: 1px solid rgba(164,128,28,.18); }
.recipe-4020-catch__main { margin: 0 0 10px; color: #65702f; font-size: 28px; line-height: 1.55; font-weight: 700; letter-spacing: .04em; }
.recipe-4020-catch__sub { max-width: 820px; margin: 0 auto; color: #6d6a56; font-size: 15.5px; line-height: 1.95; }

/* IMAGES */
.recipe-4020-section-image, .recipe-4020-recipe__image { margin: 0 auto 22px; overflow: hidden; border-radius: 22px; background: #f1edda; }
.recipe-4020-section-image img, .recipe-4020-recipe__image img { display: block; width: 100%; }
.recipe-4020-intro .recipe-4020-section-image, .recipe-4020-taste .recipe-4020-section-image, .recipe-4020-start .recipe-4020-section-image, .recipe-4020-closing .recipe-4020-section-image { max-width: 760px; }
.recipe-4020-intro .recipe-4020-section-image img, .recipe-4020-taste .recipe-4020-section-image img, .recipe-4020-start .recipe-4020-section-image img, .recipe-4020-closing .recipe-4020-section-image img { max-height: 360px; object-fit: cover; }

/* MATERIAL */
.recipe-4020-note { background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(255,251,235,.98)); border: 1px solid rgba(176,138,28,.17); }
.recipe-4020-note .recipe-4020-section-image { max-width: 310px; margin: 0 auto 22px; border-radius: 18px; background: #fff; box-shadow: 0 10px 22px rgba(79,76,49,.09); }
.recipe-4020-note .recipe-4020-section-image img { width: 100%; max-height: 370px; object-fit: contain; padding: 10px; background: #fff; }
.recipe-4020-note-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 840px; margin: 0 auto; padding: 0; list-style: none; }
.recipe-4020-note-list li { position: relative; padding: 13px 16px 13px 43px; border-radius: 16px; background: #fff8dc; color: #5a543a; font-size: 15.5px; font-weight: 700; line-height: 1.7; }
.recipe-4020-note-list li:before { content: ""; position: absolute; left: 17px; top: 21px; width: 10px; height: 10px; border-radius: 50%; background: #d59d14; box-shadow: 0 0 0 5px rgba(213,157,20,.13); }

/* FEATURES */
.recipe-4020-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; }
.recipe-4020-feature { min-height: 186px; padding: 22px 18px 20px; border-radius: 20px; background: linear-gradient(145deg,#fff 0%,#fffaf0 100%); border: 1px solid rgba(176,138,28,.16); }
.recipe-4020-feature__num { display: inline-flex; align-items: center; justify-content: center; width: 33px; height: 33px; margin: 0 0 13px; border-radius: 50%; background: #d39c18; color: #fff; font-size: 14px; font-weight: 700; }
.recipe-4020-feature:nth-child(3n+2) .recipe-4020-feature__num { background: #719342; }
.recipe-4020-feature:nth-child(3n+3) .recipe-4020-feature__num { background: #a16f2d; }
.recipe-4020-feature__title { margin: 0 0 9px; color: #596126; font-size: 18px; line-height: 1.5; font-weight: 700; }
.recipe-4020-feature__body { margin: 0; color: #716d58; font-size: 14.5px; line-height: 1.82; }

/* STEPS */
.recipe-4020-section--step-image-cards .recipe-4020-card { background: radial-gradient(circle at top right, rgba(238,190,53,.15), transparent 28%), radial-gradient(circle at bottom left, rgba(122,158,84,.14), transparent 32%), #fff; }
.recipe-4020-recipe-note { margin: 0 0 22px; padding: 16px 18px; border-radius: 18px; background: #fff7d9; color: #625e4a; font-size: 15px; line-height: 1.9; border-left: 5px solid #d39c18; }
.recipe-4020-recipe-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 26px 0 0; }
.recipe-4020-recipe-box { overflow: hidden; border-radius: 22px; background: #fff; border: 1px solid rgba(176,138,28,.16); box-shadow: 0 10px 24px rgba(79,76,49,.055); }
.recipe-4020-recipe-box__visual { margin: 0; background: #f1edda; min-height: 180px; }
.recipe-4020-recipe-box__visual img { display: block; width: 100%; aspect-ratio: 16/10; max-height: 250px; object-fit: cover; }
.recipe-4020-recipe-box__body { padding: 20px 20px 22px; }
.recipe-4020-recipe-box__name { margin: 0 0 10px; color: #596126; font-size: 19px; line-height: 1.55; font-weight: 700; }
.recipe-4020-recipe-box__point { margin: 0 0 10px; color: #5a563f; font-size: 15.5px; line-height: 1.85; font-weight: 700; }
.recipe-4020-recipe-box__memo { margin: 0; color: #756f59; font-size: 14.5px; line-height: 1.9; }
.recipe-4020-recipe-box__memo strong, .recipe-4020-recipe-box__point strong { color: #9a7411; }

/* TASTE */
.recipe-4020-taste { border: 1px solid rgba(176,138,28,.18); background: linear-gradient(135deg,#fff 0%,#fff8df 100%); }
.recipe-4020-taste-mark { display: inline-block; margin: 0 0 12px; padding: 7px 14px; border-radius: 999px; background: #d39c18; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .1em; }

/* DAILY */
.recipe-4020-daily-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 24px 0 0; }
.recipe-4020-daily-item { padding: 20px 16px; border-radius: 18px; background: #fffaf0; border: 1px solid rgba(176,138,28,.15); }
.recipe-4020-daily-item:nth-child(1) { border-top: 4px solid #d39c18; }
.recipe-4020-daily-item:nth-child(2) { border-top: 4px solid #719342; }
.recipe-4020-daily-item:nth-child(3) { border-top: 4px solid #a16f2d; }
.recipe-4020-daily-item:nth-child(4) { border-top: 4px solid #73805a; }
.recipe-4020-daily-item__title { margin: 0 0 9px; color: #596126; font-size: 17px; line-height: 1.5; font-weight: 700; }
.recipe-4020-daily-item__body { margin: 0; color: #756f59; font-size: 14.5px; line-height: 1.85; }

.recipe-4020-start { background: radial-gradient(circle at top left, rgba(126,162,88,.14), transparent 34%), radial-gradient(circle at bottom right, rgba(238,190,53,.15), transparent 34%), #fff; }
.recipe-4020-start .recipe-4020-section-image img { object-fit: contain; background: #fff; }
.recipe-4020-closing { background: linear-gradient(135deg,#fff 0%,#fff9e7 100%); border: 1px solid rgba(176,138,28,.16); }
.recipe-4020-button { display: inline-flex; align-items: center; justify-content: center; margin: 22px 0 0; padding: 12px 24px; border-radius: 999px; background: #6d842f; color: #fff !important; text-decoration: none; font-size: 15px; font-weight: 700; box-shadow: 0 10px 20px rgba(109,132,47,.2); transition: opacity .2s ease, transform .2s ease; }
.recipe-4020-button:hover { opacity: .88; transform: translateY(-1px); }
.recipe-content-4020 .recipe-4020-section:last-child .recipe-4020-card { background: #fff; border: 1px solid rgba(176,138,28,.15); }

/* 画像未設置時もカードの高さが極端に崩れないようにする */
.recipe-content-4020 img:not([src]),
.recipe-content-4020 img[src=""] { display: none; }

@media screen and (max-width:980px) {
  .recipe-4020-wrap { max-width: 880px; }
  .recipe-4020-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recipe-4020-daily-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recipe-4020-recipe-list { grid-template-columns: 1fr; max-width: 720px; margin-left: auto; margin-right: auto; }
  .recipe-4020-recipe-box__visual img { aspect-ratio: 4/3; max-height: none; }
}

@media screen and (max-width:640px) {
  .recipe-4020-wrap { padding: 0 14px 46px; }
  .recipe-4020-hero { margin-bottom: 34px; border-radius: 0 0 23px 23px; }
  .recipe-4020-hero__image { min-height: 460px; }
  .recipe-4020-hero__image:before { background: linear-gradient(180deg, rgba(62,70,32,.72) 0%, rgba(62,70,32,.56) 50%, rgba(62,70,32,.9) 100%); }
  .recipe-4020-hero__inner { padding: 56px 18px 60px; }
  .recipe-4020-hero__title { font-size: 29px; line-height: 1.48; }
  .recipe-4020-hero__lead { font-size: 15px; }
  .recipe-4020-section { margin-bottom: 34px; }
  .recipe-4020-card { padding: 24px 18px; border-radius: 22px; }
  .recipe-4020-title { font-size: 23px; }
  .recipe-4020-catch { padding: 24px 18px; }
  .recipe-4020-catch__main { font-size: 23px; }
  .recipe-4020-note .recipe-4020-section-image { max-width: 270px; }
  .recipe-4020-note-list, .recipe-4020-feature-grid, .recipe-4020-daily-grid { grid-template-columns: 1fr; }
  .recipe-4020-recipe-list { max-width: 100%; }
  .recipe-4020-recipe-box__body { padding: 20px 18px 22px; }
  .recipe-4020-intro .recipe-4020-section-image img, .recipe-4020-taste .recipe-4020-section-image img, .recipe-4020-start .recipe-4020-section-image img, .recipe-4020-closing .recipe-4020-section-image img { max-height: none; }
}

@media screen and (max-width:420px) {
  .recipe-4020-hero__title { font-size: 25px; }
  .recipe-4020-hero__lead, .recipe-4020-lead, .recipe-4020-text p, .recipe-4020-recipe-box__point, .recipe-4020-recipe-box__memo { font-size: 14.5px; }
  .recipe-4020-card { padding: 22px 15px; }
  .recipe-4020-note .recipe-4020-section-image { max-width: 240px; }
}
