/*------------------------------ Re・De RECIPE 汎用スタイル集 ------------------------------*/ .link_area.fixed { bottom: calc(var(--spacing-common) * 6); } /*------------------------------ ANIMATION */ @keyframes fadeIn { 0%{opacity: 0; visibility: hidden;} 100%{opacity: 1; visibility: visible;} } main { animation: fadeIn 1s; position: relative; } /*------------------------------ HEADING */ .heading { font-size: 100%; line-height: 1.4; text-align: center; } .heading .sub { display: block; font-size: 90%; font-weight: bold; margin-bottom: .5em; } .heading img[src*="ttl"] { height: 2.8rem; max-width: 100%; } .heading + * { margin-top: 2.8rem; } /*------------------------------ BUTTON */ [class^="button"] { margin-right: auto; margin-left: auto; text-align: center; transition: .3s; width: fit-content; } [class^="button"] > *, [class*="button"] > *::after, [class*="button"] > *::before { display: block; font-weight: bold; position: relative; transition: .3s; } .button a { min-width: 160px; padding: .4em 1em; } .button a::after { border-bottom: 2px solid var(--color-common); content: ""; position: absolute; bottom: 0; left: 0; width: 100%; } .button.download a { padding-left: 48px; } .button.download a::before { background: url(../img/icon-download_bk.svg); background-repeat: no-repeat; background-size: contain; content: ""; position: absolute; top: calc(50% - 6px); left: 16px; width: 16px; height: 12px; } .button-arrow { margin-left: 0; } .button-arrow > *::after { border: solid var(--color-common); border-width: 0 2px 1px 0; content: ""; position: absolute; top: calc(100% - 5px); left: -.4em; transform: skew(60deg); width: calc(100% + 1.4em); height: 5px; } .button-arrow.white > *, .button-arrow.white > *::after { border-color: var(--color-white); color: var(--color-white); } .button-flat a { background: var(--color-black); color: var(--color-white); max-width: 100%; min-width: 480px; padding: 1em 2.8em; position: relative; } .button-flat a::after { background: var(--color-white); clip-path: polygon(10% 0, 100% 50%, 10% 100%, 0% 100%, 90% 50%, 0% 0%); content: ""; position: absolute; top: calc(50% - .4em); right: 1em; width: .8em; height: 1em; } @media screen and (max-width:767px) { .button-flat, .button-flat a { min-width: unset; width: 100%; } } @media screen and (min-width:768px) { .button:hover a::after { transform: scaleX(.8); } .button-arrow:hover { transform: translateX(2px); } .button-arrow.left { margin-left: 0; } .button-arrow.right { margin-right: 16px; } .button-flat:hover { opacity: .8; } } /*------------------------------ IMAGE */ figure { aspect-ratio: 1/1; overflow: hidden; width: 100%; height: 100%; } figure img { background: #eee; transition: .3s; } @media screen and (min-width:768px) { :is(a, button):hover figure img { transform: scale(1.1); } } /*------------------------------ LIST */ .list-button { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; } .list-button > * { border-radius: 3em; cursor: pointer; transition: .3s; } .list-button > * > * { padding: 1em 2em; } .list-button.flat > * { background: var(--color-l-grey); } .list-button.wired > * { border: 1px solid var(--color-common); } .list-button:is(.flat, .wired) > *.active { background: var(--color-common); } .list-button:is(.flat, .wired) > *.active * { color: var(--color-white); } .list-button > * figure { margin-right: auto; margin-left: auto; width: 120px; } .list-button > * figure + * { font-size: 110%; margin-top: .5em; } .list-button + * { margin-top: calc(var(--spacing-common) * 2); } .list-button + .list-button { margin-top: var(--spacing-common); } .list-label { display: flex; flex-wrap: wrap; gap: 8px; } .list-label > * { background: var(--color-common); color: var(--color-white); font-size: 85%; padding: 0 .8em; } .list-page { display: flex; align-items: center; justify-content: space-between; } .list-page .button.next::after, .list-page .button.before::before { border: solid var(--color-common); border-width: 1px 1px 0 0; content: ""; display: inline-block; width: .8em; height: .8em; } .list-page .button.next::after { margin-left: .5em; transform: rotate(45deg); } .list-page .button.before::before { margin-right: .5em; transform: rotate(-135deg); } @media screen and (min-width:768px) { .list-button:is(.flat, .wired) > *:hover { background: var(--color-common); } .list-button:is(.flat, .wired) > *:hover * { color: var(--color-white); } .list-button > * figure { width: 160px; } } /*------------------------------ CARD */ [class^="card"], [class^="card"] > a { display: flex; align-items: flex-start; flex-direction: column; gap: 1em; width: 100%; height: 100%; } :is([class^="card"], [class^="card"] > a) > * { margin-top: 0; } .card-special { position: relative; height: 320px; } .card-special > a { justify-content: flex-end; padding: var(--spacing-common); } .card-special *, .card-special *::after, .card-special *::before { border-color: var(--color-white); color: var(--color-white); } .card-special figure, .card-special figure::after { aspect-ratio: unset; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; } .card-special figure::after { background: var(--color-black); content: ""; display: block; opacity: .2; z-index: auto; } .card-recipe :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) { font-size: 110%; } @media screen and (min-width:768px) { .card-special { height: 480px; } } /*------------------------------ BANNER */ .banner { min-height: 320px; padding: 80px 32px; position: relative; } .banner.collab { padding: 160px 32px; } .banner figure { aspect-ratio: unset; position: absolute; top: 0; left: 0; z-index: -1; } .banner .box-text { background-color: var(--color-white); border-color: var(--color-white); margin: auto; padding: 32px; max-width: 320px; } .banner .box-text > * { text-align: center; } .banner .box-text > * + * { margin-top: 1.5em; } .banner + .bar-info { background: none; } .banner + .bar-info * { color: var(--color-common); } @media screen and (min-width:768px) { .banner.collab { min-height: unset; padding: 40px 32px; } } /*------------------------------ SEARCH */ button { background: none; border: none; color: inherit; cursor: pointer; padding: 0; } input:is([type="checkbox"],[type="radio"]) { display: none; } input:is([type="checkbox"],[type="radio"]) + label { padding-left: 24px; position: relative; } input:is([type="checkbox"],[type="radio"]) + label::before { box-shadow: 0 0 0 1px var(--color-grey); content: ""; display: inline-block; margin-right: .8em; position: absolute; top: calc(50% - 8px); left: 0; width: 16px; height: 16px; } input[type="checkbox"] + label::before { border-radius: .1em; } input[type="radio"] + label::before { border-radius: 50%; } input:is([type="checkbox"],[type="radio"]) + label::after { content: ""; display: inline-block; opacity: 0; position: absolute; top: calc(50% - 5px); left: 3px; transition: .1s; width: 10px; height: 10px; } input:is([type="checkbox"],[type="radio"]):checked + label::after { opacity: 1; } input[type="checkbox"] + label::after { background: var(--color-common); clip-path: polygon(100% 15%, 40% 100%, 0 68%, 0 56%, 38% 88%, 100% 0); } input[type="radio"] + label::after { background: var(--color-d-grey); border-radius: 50%; } select { -webkit-appearance: none; appearance: none; background: none; border: none; } select:focus-visible { outline: none; } select::-ms-expand { display: none; } .search .box-outer { background: var(--color-black); display: none; opacity: .6; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 11; } .search .box-search { background: var(--color-white); border: none; display: none; max-height: 90dvh; overflow-y: scroll; padding: 32px 32px 0; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(90%, 480px); z-index: 22; } .search .box-search button.button { background: brown; color: var(--color-white); display: block; font-weight: bold; padding: 1.5em; position: sticky; bottom: -1px; transform: translateX(-32px); width: calc(100% + 64px); } .search .box-search .cat-title { border-bottom: 1px solid var(--color-common); font-weight: bold; margin-bottom: .5em; } .search .box-search .cat-title .required { color: brown; } .search .box-search .form-row { display: flex; flex-wrap: wrap; gap: .5em; width: 100%; } .search .box-search .form-row > * { width: 100%; } .search .box-search .form-row:not(.cat-products) > *:not(.cat-title) { width: calc(50% - .25em); } .search .box-search .form-row + * { margin-top: 2em; } .search :is(.button-close, .button-search) { background: var(--color-black); border: none; border-radius: 50%; cursor: pointer; font-size: 80%; position: fixed; bottom: 16px; right: 16px; width: 4em; height: 4em; z-index: 33; } .search .button-close { display: none; } .search .button-search { visibility: hidden; } .search :is(.button-close, .button-search)::after { background-size: contain; content: ""; display: block; position: absolute; top: 1.25em; left: 1.25em; width: 1.5em; height: 1.5em; z-index: 44; } .search .button-close::after { background-image: url(../img/icon_close.svg); } .search .button-search::after { background-image: url(../img/icon_search.svg); } .sort_wrap .countpage { text-align: right; } .sort_wrap .countpage + .hitnum { margin-top: -2em; } .sort { display: flex; justify-content: flex-end; gap: 1em; } .sort button { background: var(--color-common); color: var(--color-white); padding: 8px; } .sort .select { border: 1px solid var(--color-common); position: relative; } .sort .select::after { background-image: url(../img/icon_sort.svg); background-position: center; background-repeat: no-repeat; background-size: contain; content: ""; display: block; position: absolute; top: calc(50% - .5em); right: .8em; width: 1em; height: 1em; } .sort .select select { padding: 8px 3em 8px 8px; } .sort + * { margin-top: var(--spacing-common); } @media screen and (min-width:768px) { .search :is(.button-close, .button-search) { bottom: 32px; right: 32px; font-size: 100%; } } /*------------------------------ UNIT */ .unit-flex { display: flex; flex-wrap: wrap; gap: 32px; margin-top: var(--spacing-common); } .unit-flex > * { width: calc(50% - 16px); } .unit-flex + * { margin-top: 40px; } @media screen and (min-width:768px) { .unit-flex > * { width: calc(calc(100% - 64px) / 3); } .unit-flex + * { margin-top: 64px; } } @media screen and (min-width:1280px) { .unit-flex > * { width: calc(calc(100% - 96px) / 4); } } @media screen and (min-width:1440px) { .unit-flex > * { width: calc(calc(100% - 128px) / 5); } } /*------------------------------ SLIDER */ [class^="slider"] [class^="card"] { margin: 0 8px 8px; } .slider-recipe [class^="card"]{ margin: 0 16px 16px; } .slick-dots { bottom: -3em; display: flex; gap: 10px; justify-content: center; margin: auto; padding: 16px; } .slick-dots li { height: unset; margin: 0; width: unset; } .slick-dots li button { background-color: var(--color-common); border: 0; border-radius: 50%; color: transparent; cursor: pointer; font-size: 0; opacity: .5; outline: none; padding: 0; transition: .3s; width: 8px; height: 8px; } .slick-dots li button::before { content: none; } .slick-dots li[class$="active"] button { opacity: .8; } /*------------------------------ LAYOUT */ main > * { padding-top: 32px; } main > * + * { padding-top: calc(var(--spacing-common) * 5); } [class^="container"], [class^="inner"] { margin-right: auto; margin-left: auto; max-width: 1200px; width: 100%; } [class^="inner"] { padding: 0 var(--spacing-common); }