@charset "UTF-8";

/* =========================================================
   /jp/recipe/assets/css/content-4010.css
   gcode: 4010
   色よくおいしい なす漬
   ========================================================= */

.recipe-content-4010 {
  color: #322c3a;
  background:
    radial-gradient(circle at 10% 0%, rgba(136, 92, 168, 0.17), transparent 28%),
    radial-gradient(circle at 95% 20%, rgba(93, 143, 95, 0.14), transparent 26%),
    linear-gradient(180deg, #fcfaff 0%, #f7f2fa 48%, #faf8f4 100%);
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.95;
  overflow: hidden;
}

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

/* HERO */
.recipe-4010-hero { position: relative; margin: 0 0 38px; overflow: hidden; border-radius: 0 0 34px 34px; background: #3c2749; }
.recipe-4010-hero__image { position: relative; min-height: 420px; background-position: center; background-size: cover; background-repeat: no-repeat; }
.recipe-4010-hero__image:before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(40, 20, 51, .91) 0%, rgba(58, 30, 72, .68) 46%, rgba(58, 30, 72, .08) 100%); }
.recipe-4010-hero__inner { position: relative; z-index: 2; max-width: 1040px; margin: 0 auto; padding: 66px 24px 70px; color: #fff; }
.recipe-4010-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-4010-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-4010-hero__lead { max-width: 760px; margin: 0; font-size: 16px; line-height: 1.95; }

/* COMMON */
.recipe-4010-section { margin: 0 0 40px; }
.recipe-4010-card { padding: 30px; border-radius: 25px; background: rgba(255,255,255,.97); box-shadow: 0 14px 34px rgba(53,37,61,.08); }
.recipe-4010-label { margin: 0 0 10px; color: #76508a; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.recipe-4010-title { margin: 0 0 16px; color: #4b3158; font-size: 27px; line-height: 1.45; letter-spacing: .03em; }
.recipe-4010-lead { margin: 0 0 20px; color: #6b6171; font-size: 16px; line-height: 1.95; }
.recipe-4010-text { color: #443b49; }
.recipe-4010-text p { margin: 0 0 12px; line-height: 2; }
.recipe-4010-text p:last-child { margin-bottom: 0; }

/* CATCH */
.recipe-4010-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(140,89,169,.18), transparent 36%), radial-gradient(circle at bottom right, rgba(105,151,95,.16), transparent 34%), #fff; border: 1px solid rgba(118,80,138,.17); }
.recipe-4010-catch__main { margin: 0 0 10px; color: #5c396c; font-size: 28px; line-height: 1.55; font-weight: 700; letter-spacing: .04em; }
.recipe-4010-catch__sub { max-width: 820px; margin: 0 auto; color: #6b6171; font-size: 15.5px; line-height: 1.95; }

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

/* MATERIAL */
.recipe-4010-note { background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(250,247,252,.98)); border: 1px solid rgba(118,80,138,.16); }
.recipe-4010-note .recipe-4010-section-image { max-width: 310px; margin: 0 auto 22px; border-radius: 18px; background: #fff; box-shadow: 0 10px 22px rgba(53,37,61,.09); }
.recipe-4010-note .recipe-4010-section-image img { width: 100%; max-height: 370px; object-fit: contain; padding: 10px; background: #fff; }
.recipe-4010-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-4010-note-list li { position: relative; padding: 13px 16px 13px 43px; border-radius: 16px; background: #f7f1f9; color: #4f3c57; font-size: 15.5px; font-weight: 700; line-height: 1.7; }
.recipe-4010-note-list li:before { content: ""; position: absolute; left: 17px; top: 21px; width: 10px; height: 10px; border-radius: 50%; background: #77418e; box-shadow: 0 0 0 5px rgba(119,65,142,.12); }

/* FEATURES */
.recipe-4010-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; }
.recipe-4010-feature { min-height: 186px; padding: 22px 18px 20px; border-radius: 20px; background: linear-gradient(145deg,#fff 0%,#faf6fb 100%); border: 1px solid rgba(118,80,138,.16); }
.recipe-4010-feature__num { display: inline-flex; align-items: center; justify-content: center; width: 33px; height: 33px; margin: 0 0 13px; border-radius: 50%; background: #74408a; color: #fff; font-size: 14px; font-weight: 700; }
.recipe-4010-feature:nth-child(3n+2) .recipe-4010-feature__num { background: #628451; }
.recipe-4010-feature:nth-child(3n+3) .recipe-4010-feature__num { background: #9b4b71; }
.recipe-4010-feature__title { margin: 0 0 9px; color: #4b3158; font-size: 18px; line-height: 1.5; font-weight: 700; }
.recipe-4010-feature__body { margin: 0; color: #706576; font-size: 14.5px; line-height: 1.82; }

/* STEPS */
.recipe-4010-section--step-image-cards .recipe-4010-card { background: radial-gradient(circle at top right, rgba(139,90,164,.15), transparent 28%), radial-gradient(circle at bottom left, rgba(101,147,90,.14), transparent 32%), #fff; }
.recipe-4010-recipe-note { margin: 0 0 22px; padding: 16px 18px; border-radius: 18px; background: #f4eef6; color: #615567; font-size: 15px; line-height: 1.9; border-left: 5px solid #724087; }
.recipe-4010-recipe-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 26px 0 0; }
.recipe-4010-recipe-box { overflow: hidden; border-radius: 22px; background: #fff; border: 1px solid rgba(118,80,138,.16); box-shadow: 0 10px 24px rgba(53,37,61,.055); }
.recipe-4010-recipe-box__visual { margin: 0; background: #eee7f1; }
.recipe-4010-recipe-box__visual img { display: block; width: 100%; aspect-ratio: 16/10; max-height: 250px; object-fit: cover; }
.recipe-4010-recipe-box__body { padding: 20px 20px 22px; }
.recipe-4010-recipe-box__name { margin: 0 0 10px; color: #4b3158; font-size: 19px; line-height: 1.55; font-weight: 700; }
.recipe-4010-recipe-box__point { margin: 0 0 10px; color: #584b5f; font-size: 15.5px; line-height: 1.85; font-weight: 700; }
.recipe-4010-recipe-box__memo { margin: 0; color: #756a7a; font-size: 14.5px; line-height: 1.9; }
.recipe-4010-recipe-box__memo strong, .recipe-4010-recipe-box__point strong { color: #76508a; }

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

/* DAILY */
.recipe-4010-daily-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 24px 0 0; }
.recipe-4010-daily-item { padding: 20px 16px; border-radius: 18px; background: #faf6fb; border: 1px solid rgba(118,80,138,.15); }
.recipe-4010-daily-item:nth-child(1) { border-top: 4px solid #74408a; }
.recipe-4010-daily-item:nth-child(2) { border-top: 4px solid #628451; }
.recipe-4010-daily-item:nth-child(3) { border-top: 4px solid #9b4b71; }
.recipe-4010-daily-item:nth-child(4) { border-top: 4px solid #75627e; }
.recipe-4010-daily-item__title { margin: 0 0 9px; color: #4b3158; font-size: 17px; line-height: 1.5; font-weight: 700; }
.recipe-4010-daily-item__body { margin: 0; color: #756a7a; font-size: 14.5px; line-height: 1.85; }

.recipe-4010-start { background: radial-gradient(circle at top left, rgba(102,148,91,.14), transparent 34%), radial-gradient(circle at bottom right, rgba(139,90,164,.15), transparent 34%), #fff; }
.recipe-4010-closing { background: linear-gradient(135deg,#fff 0%,#f8f3fa 100%); border: 1px solid rgba(118,80,138,.16); }
.recipe-4010-button { display: inline-flex; align-items: center; justify-content: center; margin: 22px 0 0; padding: 12px 24px; border-radius: 999px; background: #623676; color: #fff !important; text-decoration: none; font-size: 15px; font-weight: 700; box-shadow: 0 10px 20px rgba(98,54,118,.2); transition: opacity .2s ease, transform .2s ease; }
.recipe-4010-button:hover { opacity: .88; transform: translateY(-1px); }
.recipe-content-4010 .recipe-4010-section:last-child .recipe-4010-card { background: #fff; border: 1px solid rgba(118,80,138,.15); }

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

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

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