@charset "UTF-8";
/************************************************* reset 2025.06
**************************************************/
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  margin: 0;
  overflow: visible;
  clear: both;
  color: inherit;
  border-top-width: 1px;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: inherit;
  vertical-align: middle;
  background: transparent;
  border-radius: 0;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  appearance: button;
}

[type=number] {
  appearance: textfield;
  appearance: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-collapse: collapse;
  border-color: inherit;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: 400;
  text-align: left;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  word-break: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/*************************************************
/  カラー・寸法の設計値
。
/ *************************************************/
body.feelgooddays {
  /******** 全体（3 コース共通）  ********/
  --c-text: #054f34;
  --c-text-footer: #282828;
  --c-bg: #fff;
  --c-copybar-bg: #000;
  --c-copybar-text: #fff;
  /******** 寸法  ********/
  --stripe-w: 10px;
}

/*************************************************
/  コース別アクセント
/
/   3 つの役割は「同じ色だろう」でまとめないこと。
/     with Child だけ 3 つとも違う色が当たっている：
/
/     | コース       | course  | stripe  | label   |
/     |-------------|---------|---------|---------|
/     | with Child  | #80C500 | #C9E27B | #054F34 |
/     | at Cafeteria| #AD7736 | #AD7736 | #935000 |
/     | Take out    | #5486A0 | #5486A0 | #5486A0 |
/
/  --c-course … フロアバッジ / 番号ピン / 破線区切り
/                （C で at Cafeteria の 3 つとも #AD7736 と確認）
/  --c-stripe … セクション左右の縦帯
/  --c-label  … 縦書きラベルの箱の地色（文字は白）
/
/   英字見出し（with Child / at Cafeteria / Take out）と「How to go」は
/     アウトライン化済み＝画像なので、ここでは色を持たない。
/     見出しの色は帯とも違う（at Cafeteria の見出しは #B86800）。
/ *************************************************/
body.feelgooddays .sec_course--child,
body.feelgooddays .course_nav_item--child,
body.feelgooddays .btn--child {
  --c-course: #80c500;
  --c-stripe: #c9e27b;
  --c-label: #054f34;
}

body.feelgooddays .sec_course--cafeteria,
body.feelgooddays .course_nav_item--cafeteria,
body.feelgooddays .btn--cafeteria {
  --c-course: #ad7736;
  --c-stripe: #ad7736;
  --c-label: #935000;
}

body.feelgooddays .sec_course--takeout,
body.feelgooddays .course_nav_item--takeout,
body.feelgooddays .btn--takeout {
  --c-course: #5486a0;
  --c-stripe: #5486a0;
  --c-label: #5486a0;
}

/*************************************************
imageをいつでも親の横100%表示にする
**************************************************/
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

@media screen and (min-device-pixel-ratio: 0) and (resolution >= 0.001dpcm) {
  img {
    image-rendering: optimize-contrast;
  }
}
.btn-block {
  display: flex;
  column-gap: 1.125rem;
  align-items: center;
  justify-content: center;
}

.btn-block.cl {
  flex-direction: column;
  row-gap: 1.25rem;
  row-gap: 4.83cqi;
}

.btn-block .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* .ft-serif{font-family: "Noto Serif JP", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;} */
.ft-en {
  font-family: Cormorant, "Times New Roman", YuMincho, "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.attention {
  color: #aa4308;
}

.t-center {
  text-align: center;
}

.t-right {
  text-align: right;
}

.t-bold {
  font-weight: 700;
}

.t-under {
  display: inline;
  text-decoration: underline;
}

.t-palt {
  font-feature-settings: "palt";
}

.t-ellipsis {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  white-space: normal;
}

.para > *:not(:last-child) {
  margin-bottom: 1em;
}

/*************************************************
 ※リスト
**************************************************/
.attention-lists > li {
  position: relative;
}

.attention-lists > li::before {
  content: "※";
}

.attention-lists {
  font-size: clamp(14px, 1.5104166667vw, 1.5104166667vw);
  font-weight: 400;
  line-height: 1.3913;
}

@media print, screen and (width >= 769px) {
  .attention-lists {
    font-size: 34.5px;
  }
}
@media screen and (width <= 768px) {
  .attention-lists {
    font-size: 14px;
  }
}
.dot-lists > li {
  position: relative;
}

.dot-lists > li::before {
  content: "・";
}

.note-lists > li {
  position: relative;
  display: flex;
}

.note-lists > li::before {
  content: "※";
}

.note-lists.asta > li::before {
  content: "＊";
}

/*************************************************
/  全体
/ **************************************************/
body.feelgooddays {
  position: relative;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Arial, "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.68;
  color: var(--c-text);
  text-align: left;
  font-display: optional;
  background-color: var(--c-bg);
}

@media print, screen and (width >= 769px) {
  body.feelgooddays {
    font-size: clamp(14px, 1.6417572464vw, 1.6417572464vw);
  }
}
body.feelgooddays br.sp {
  display: none;
}

@media screen and (width <= 768px) {
  body.feelgooddays br.sp {
    display: block;
  }
  body.feelgooddays br.pc {
    display: none;
  }
}
body.feelgooddays .para > *:not(:last-child) {
  margin-bottom: 1em;
}

.visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/******** SP wrap **********************************/
body.feelgooddays .sp_wrap {
  position: relative;
  z-index: 100;
  overflow: hidden;
  background-color: #fff;
}

@media print, screen and (width >= 769px) {
  body.feelgooddays .sp_wrap {
    width: calc(80px + 28.8125vw);
    margin-right: calc(-12px + 15.4375vw);
    margin-left: auto;
  }
}
body.feelgooddays .sp_wrap {
  /******** loading **********************************/
}

body.feelgooddays .sp_wrap .loading {
  display: none;
}

body.feelgooddays .sp_wrap._loading {
  height: 100dvh;
}

body.feelgooddays .sp_wrap._loading .loading {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #c8d79e;
  opacity: 1;
  transition: opacity 0.5s 0.6s;
}

body.feelgooddays .sp_wrap._loading .loading._start {
  opacity: 0;
}

body.feelgooddays .sp_wrap .loader {
  width: 6rem;
  height: 1rem;
  background: linear-gradient(#80c500 0 0) left/0% 100% no-repeat #fff;
  mask: radial-gradient(circle closest-side, #000 94%, rgba(0, 0, 0, 0)) left/20% 100%;
  animation: l17 2s infinite steps(6);
}

@keyframes l17 {
  100% {
    background-size: 120% 100%;
  }
}
/*************************************************
/  pc_wrap — PC（769px 以上）で画面に固定される左カラム
/ *************************************************/
body.feelgooddays .pc_wrap {
  display: none;
}

@media print, screen and (width >= 769px) {
  body.feelgooddays .pc_wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    display: block;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: #c8d79e;
    background-image: url("../img/bg-pc.webp");
    background-repeat: repeat;
    background-size: 256px 256px;
  }
  /******** タイトル（ロゴ ＋ カード） ********/
  body.feelgooddays .pc_wrap .title-box {
    position: absolute;
    top: calc(50% + 0.6875vw);
    left: 9vw;
    display: flex;
    flex-direction: column;
    row-gap: 3.4375vw;
    align-items: center;
    width: 32vw;
    translate: 0 -50%;
  }
  body.feelgooddays .pc_wrap .title-box .logo {
    width: 18.375vw;
    margin-right: 0.4375vw;
    filter: blur(10px);
    opacity: 0;
    /* KV 見出し（_header.scss・2s 開始）と同時に出す */
    transition: opacity 0.6s 1.5s, filter 0.6s 1.5s;
  }
  body.feelgooddays .pc_wrap .title-box .logo img {
    display: block;
    width: 100%;
    height: auto;
  }
  /******** アンカーカード ********/
  body.feelgooddays .pc_wrap .btn-block {
    top: 2.5vw;
    display: flex;
    flex-direction: column;
    row-gap: 2.0625vw;
    width: 100%;
    padding: 2.4375vw 2.375vw 2.375vw 2.3125vw;
    background-color: #fff;
    border-radius: 2vw;
    opacity: 0;
    transition: opacity 0.8s 1.7s, top 0.8s 1.7s;
  }
  body.feelgooddays .pc_wrap .title-box._start .btn-block {
    top: 0;
  }
  body.feelgooddays .pc_wrap .btn-block.cl {
    row-gap: 2.0625vw;
  }
  body.feelgooddays .pc_wrap .btn {
    display: grid;
    grid-template-columns: 3.5625vw minmax(0, 1fr) 1.4375vw;
    column-gap: 1.6875vw;
    align-items: center;
    height: 4.5vw;
    text-decoration: none;
  }
  body.feelgooddays .pc_wrap .btn_logo {
    width: 3.5625vw;
    height: 4.5vw;
    object-fit: contain;
    margin: 0;
  }
  body.feelgooddays .pc_wrap .btn_body {
    display: flex;
    flex-direction: column;
    row-gap: 1vw;
    align-self: start;
    margin-top: 0.8125vw;
  }
  body.feelgooddays .pc_wrap .btn_en {
    align-self: flex-start;
    width: auto;
    height: 1.6875vw;
  }
  body.feelgooddays .pc_wrap .btn_label {
    width: auto;
    padding: 0;
    font-family: inherit;
    font-size: 1.35vw;
    font-weight: 400;
    line-height: 1;
    color: var(--c-text);
    text-align: left;
    letter-spacing: 0.025em;
    white-space: normal;
    background: none;
    border: 0;
    border-radius: 0;
  }
  body.feelgooddays .pc_wrap .btn_label::before,
  body.feelgooddays .pc_wrap .btn_label::after {
    display: none;
  }
  body.feelgooddays .pc_wrap .btn_arrow {
    align-self: start;
    width: 1.4375vw;
    height: auto;
    margin-top: 1.75vw;
    transition: translate 0.25s ease-out;
  }
  /******** ローディング後の表示 ********/
  /******** 右端のスクロールインジケーター ********/
}
@media print and (any-hover: hover), screen and (width >= 769px) and (any-hover: hover) {
  body.feelgooddays .pc_wrap .btn:hover .btn_arrow {
    translate: 0 3px;
  }
}
@media print, screen and (width >= 769px) {
  body.feelgooddays .pc_wrap .btn:focus-visible .btn_arrow {
    translate: 0 3px;
  }
  body.feelgooddays .pc_wrap .title-box._start .logo {
    filter: blur(0);
    opacity: 1;
  }
  body.feelgooddays .pc_wrap .title-box._start .btn-block {
    opacity: 1;
  }
  body.feelgooddays .pc_wrap .slider_box {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(10.3125vw - 12px);
    height: 100dvh;
  }
  body.feelgooddays .pc_wrap .slider_box .slider {
    position: absolute;
    top: 24.1%;
    left: 17%;
    width: 5px;
    height: 63%;
    background-color: #fff;
    border-radius: 100vh;
  }
  body.feelgooddays .pc_wrap .slider_box .slider .slider_handle {
    position: absolute;
    top: 0;
    left: -5px;
    display: block;
    width: 15px;
    height: 8.875%;
    /* ドラッグして動かす要素なので grab。押している間は grabbing */
    cursor: grab;
  }
  body.feelgooddays .pc_wrap .slider_box .slider .slider_handle:active {
    cursor: grabbing;
  }
  body.feelgooddays .pc_wrap .slider_box .slider .slider_handle .slider_v {
    position: absolute;
    top: 0;
    left: 5px;
    width: 5px;
    height: 100%;
    background-color: var(--slider-color, #97cb24);
    border-radius: 100vh;
    transition: background-color 0.4s ease-out;
  }
}
/******** overlay **********************************/
body.feelgooddays #overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 96vh;
  height: 100dvh;
  vertical-align: middle;
  background: #fff;
  opacity: 1;
  transition: opacity 1s;
}

body.feelgooddays #overlay.loaded {
  pointer-events: none;
  opacity: 0;
}

body.feelgooddays #overlay::after {
  display: inline-block;
  content: "";
}

body.feelgooddays #overlay.loadlogo::after {
  width: 20vw;
  height: 20vw;
  background: url("/common/images/logo.png") center center no-repeat;
  background-size: contain;
}

/*************************************************
/Link
/ *************************************************/
body.feelgooddays a {
  display: inline-block;
  color: blue;
}

body.feelgooddays .btn {
  display: inline-flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
  width: 100%;
  text-decoration: none;
}

body.feelgooddays .btn_logo {
  display: block;
  width: 54.11%;
  width: 44.44cqi;
  height: auto;
  margin-left: 3.52%;
  margin-left: 2.89cqi;
}

body.feelgooddays .btn_label {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  padding: 11px 60px;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 4.34cqi;
  font-weight: 500;
  color: #000;
  text-align: center;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #777;
  border-radius: 100vh;
}

body.feelgooddays .btn--reverse {
  align-items: flex-end;
}

body.feelgooddays .btn--reverse .btn_logo {
  width: 42.94%;
  width: 35.26cqi;
  height: auto;
  margin-right: 3.52%;
  margin-right: 2.89cqi;
  margin-left: 0;
}

body.feelgooddays .btn_label::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  content: "";
  background: linear-gradient(to right, #ffb8dc 0%, #fff 45%, #fff 55%, #91ffde 100%);
  border-radius: inherit;
}

body.feelgooddays .btn_label::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  content: "";
  background: #fff;
  border-radius: inherit;
  transition: opacity 0.4s ease;
}

@media (any-hover: hover) {
  body.feelgooddays .btn {
    transition: transform 0.4s ease-out;
  }
  body.feelgooddays .btn:hover .btn_label::after {
    opacity: 0;
  }
}
body.feelgooddays .btn:focus-visible .btn_label::after,
body.feelgooddays .btn:active .btn_label::after {
  opacity: 0;
}

body.feelgooddays button {
  display: block;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

@media screen and (width <= 768px) {
  body.feelgooddays a[href^="tel:"] {
    pointer-events: none;
  }
  body.feelgooddays .btn_label {
    font-size: 3.86cqi;
  }
}
/*************************************************
/  course_nav — SP のアンカーメニュー 3 つ
/ *************************************************/
body.feelgooddays .course_nav {
  display: flex;
  flex-direction: column;
  row-gap: 6.0386cqw;
  padding-right: 12.1981cqw;
  padding-left: 8.9372cqw;
  margin-top: 8.2126cqw;
}

body.feelgooddays .course_nav_item {
  display: flex;
  column-gap: 7.4879cqw;
  align-items: center;
  color: var(--c-text);
  text-decoration: none;
}

body.feelgooddays .course_nav_pin {
  flex-shrink: 0;
  /* グローバルの img { width: 100%; height: auto } を打ち消す。
     幅ではなく高さで指定する理由：項目の高さと行間がピンで決まるため。 */
  width: auto;
  height: 12.3188cqw;
}

body.feelgooddays .course_nav_body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  row-gap: 2.5362cqw;
  align-items: flex-start;
}

body.feelgooddays .course_nav_en {
  display: block;
  width: auto;
  height: 4.7101cqw;
}

body.feelgooddays .course_nav_ja {
  font-size: 3.6232cqw;
  line-height: 1;
  letter-spacing: 0.025em;
}

body.feelgooddays .course_nav_arrow {
  flex-shrink: 0;
  width: 3.9855cqw;
  height: auto;
  transition: translate 0.25s ease-out;
}

/* hover で矢印が少し下に動く。下のセクションへ飛ぶリンクなので動きの向きと合わせる
   （PC の title-box 内のアンカーと同じ挙動）。タップ端末では効かせない。 */
@media (any-hover: hover) {
  body.feelgooddays .course_nav_item:hover .course_nav_arrow {
    translate: 0 0.7246cqw;
  }
}
body.feelgooddays .course_nav_item:focus-visible .course_nav_arrow,
body.feelgooddays .course_nav_item:active .course_nav_arrow {
  translate: 0 0.7246cqw;
}

/*************************************************
/ animation
/ **************************************************/
@keyframes bounce {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  60% {
    opacity: 1;
    transform: scale(1.2);
  }
  80% {
    opacity: 1;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes bounce-in {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    opacity: 1;
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    opacity: 1;
    transform: scale(1.5, 0.8) translate(0%, 10%);
  }
  50% {
    opacity: 1;
    transform: scale(0.8, 1.5) translate(0%, -10%);
  }
  70% {
    opacity: 1;
    transform: scale(1.3, 0.9) translate(0%, 5%);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1) translate(0%, 0%);
  }
}
/*********************************
Animations
**********************************/
._f_in_bt {
  position: relative;
  opacity: 0;
  transition: translate 0.8s, opacity 1.2s;
  translate: 0 15dvh;
}

._f_in_bt._start {
  opacity: 1;
  translate: 0 0;
}

._f_in_scale {
  position: relative;
  opacity: 0;
  transition: scale 1.2s, opacity 1.2s;
  scale: 0.5;
}

._f_in_scale._start {
  opacity: 1;
  scale: 1;
}

@media (prefers-reduced-motion: reduce) {
  ._f_in_bt,
  ._f_in_scale {
    opacity: 1;
    transition: none;
    scale: none;
    translate: none;
  }
}
/*************************************************
/  header
/ *************************************************/
body.feelgooddays ._st #header {
  filter: blur(0);
  opacity: 1;
  transition: filter 0.5s 0.2s, opacity 0.5s;
}

body.feelgooddays #header {
  position: relative;
  width: 100%;
  filter: blur(20px);
  opacity: 0;
  container-type: inline-size;
}

body.feelgooddays #header .kv_text {
  position: absolute;
  top: 5.6289%;
  right: 8.2125%;
  width: 13.1642%;
  color: transparent;
  background-clip: text;
  mask-image: linear-gradient(to bottom, #fff 50%, transparent 100%);
  mask-repeat: repeat;
  mask-size: 100% 200%;
}

body.feelgooddays #header .kv_text._start {
  animation: mask-slide 3s linear forwards;
}

@keyframes mask-slide {
  from {
    mask-position: 0 200%;
  }
  to {
    mask-position: 0 0;
  }
}
/* 写真（コピーなし）。通常フローの全幅画像。 */
body.feelgooddays #header .kv_photo {
  margin: 0;
}

body.feelgooddays #header .kv_photo img {
  display: block;
  width: 100%;
  height: auto;
}

body.feelgooddays #header .kv_title {
  position: absolute;
  top: 40.0966cqw;
  left: 16.7874cqw;
  width: 66.4251cqw;
  margin: 0;
  filter: blur(1rem);
  opacity: 0;
}

@media print, screen and (width >= 769px) {
  body.feelgooddays #header .kv_title {
    top: 43.2367cqw;
    left: 17.1498cqw;
  }
  body.feelgooddays #header .kv_photo img {
    aspect-ratio: 541/913;
    object-fit: cover;
  }
}
body.feelgooddays #header .kv_title._start {
  filter: blur(0);
  opacity: 1;
  transition: filter 0.5s 1.5s, opacity 0.5s 1.5s;
}

body.feelgooddays #header .kv_title img {
  display: block;
  width: 100%;
  height: auto;
}

/*************************************************
/  footer
/ *************************************************/
body.feelgooddays #footer {
  padding-top: 5.2rem;
  font-size: 78%;
  font-weight: 500;
  line-height: 1.8;
  color: var(--c-text-footer);
  background-color: #fff;
  container-type: inline-size;
}

body.feelgooddays .sec_course--takeout + #footer {
  padding-top: 8.2126cqw;
}

body.feelgooddays #footer .l-container {
  padding: 0 6.1836cqi;
}

/******** Instagram バナー ********/
body.feelgooddays #footer .footer__box {
  display: block;
  margin-inline: 7.7295%;
  color: inherit;
  text-decoration: none;
}

body.feelgooddays #footer .footer__boxWrap {
  display: grid;
  grid-template-columns: 1fr 13.285cqi;
  align-items: center;
  padding: 0.5rem 0.875rem;
  border: 1px solid #000;
}

body.feelgooddays #footer .footer__boxShop {
  font-size: 4.5894cqi;
  line-height: 1.1578947368;
  color: #000;
  letter-spacing: 0.075em;
}

body.feelgooddays #footer .footer__boxShop span {
  display: block;
  font-size: 3.3816cqi;
  line-height: 1.5714285714;
}

body.feelgooddays #footer .footer__boxText {
  font-size: 3.3816cqi;
  line-height: 1.5714285714;
  color: #000;
  letter-spacing: 0.075em;
}

body.feelgooddays #footer .footer__boxLogo {
  width: 13.285cqi;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}

/******** 注記 ********/
body.feelgooddays #footer .note-lists {
  padding-right: 7.7295%;
  padding-left: 7.7295%;
  margin-top: 1.7rem;
  margin-bottom: 3.2rem;
  font-size: 3.3816cqi;
}

/******** ロゴ・住所（本体サイトの共通フッター相当） ********/
body.feelgooddays #footer .siteFooter__upper {
  display: flex;
  flex-direction: column-reverse;
}

body.feelgooddays #footer .siteFooter__brandHeader {
  margin-bottom: 1rem;
  font-family: Jost, sans-serif;
  font-size: 3.3816cqi;
  font-weight: 500;
  text-align: center;
}

body.feelgooddays #footer .siteFooter__brandList {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
}

body.feelgooddays #footer .siteFooter__brandLink {
  width: 27.5362cqi;
}

body.feelgooddays #footer .siteFooter__logowrap {
  width: 100%;
  padding: 1rem 0 0;
  margin: 1.5rem 0 0;
  text-align: center;
  border-top: 0.1rem solid #e3e3e3;
}

body.feelgooddays #footer .siteFooter__logolink {
  display: block;
  max-width: 33cqi;
  margin: 0 auto;
}

body.feelgooddays #footer .siteFooter__companyInfo {
  margin-top: 0.625rem;
}

body.feelgooddays #footer .siteFooter__copyright {
  padding: 0.8rem 0;
  margin-top: 2rem;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background-color: #000;
}

body.feelgooddays #footer .siteFooter__brandLink img,
body.feelgooddays #footer .siteFooter__logolink img {
  display: block;
  width: 100%;
  height: auto;
}

/* リンクの hover。押せることが分かるだけの控えめな反応にする。
   transition は色が変わる要素そのもの（.footer__boxWrap）に置く——
   親の .footer__box に置いても子の変化には効かない。
   キーボード操作でも効かせたいので、transition 自体は @media の外に出す。 */
body.feelgooddays #footer .footer__boxWrap {
  transition: border-color 0.3s ease-out;
}

body.feelgooddays #footer .siteFooter__logolink,
body.feelgooddays #footer .siteFooter__brandLink {
  transition: opacity 0.3s ease-out;
}

@media (any-hover: hover) {
  /* 枠線を Take out のコース色にする。フッターは Take out セクションの直後なので
     ページ最後の文脈に合わせて固定する（#footer は .sec_course の外なので
     --c-course は継承されない。値を変えるときは _variables.scss の --c-course と揃える）。 */
  body.feelgooddays #footer .footer__box:hover .footer__boxWrap {
    border-color: #5486a0;
  }
  body.feelgooddays #footer .siteFooter__logolink:hover,
  body.feelgooddays #footer .siteFooter__brandLink:hover {
    opacity: 0.6;
  }
}
/* focus-visible は any-hover の外側に書く（タッチ端末でもキーボード操作なら反応させる） */
body.feelgooddays #footer .footer__box:focus-visible .footer__boxWrap,
body.feelgooddays #footer .footer__box:active .footer__boxWrap {
  border-color: #5486a0;
}

body.feelgooddays #footer .siteFooter__logolink:focus-visible,
body.feelgooddays #footer .siteFooter__brandLink:focus-visible,
body.feelgooddays #footer .siteFooter__logolink:active,
body.feelgooddays #footer .siteFooter__brandLink:active {
  opacity: 0.6;
}

/*************************************************
/  main
/ *************************************************/
/******** headline **********************************/
body.feelgooddays .s_headline {
  padding-inline: 7.5%;
}

body.feelgooddays .s_headline .txt {
  font-family: inherit;
  font-size: 3.6232cqw;
  line-height: 2.0693;
  text-align: center;
  letter-spacing: 0.005em;
}

body.feelgooddays .s_headline .btn-block {
  padding-inline: 1.2077cqi;
  margin-top: 2rem;
  margin-right: auto;
  margin-left: auto;
}

/******** 本文エリア **********************************/
body.feelgooddays .main {
  padding-top: 7.7295%;
  container-type: inline-size;
}

body.feelgooddays .sec_spring .shop_info_box .shop_name .letter-O {
  position: relative;
  display: inline-block;
}

body.feelgooddays .sec_spring .shop_info_box .shop_name .letter-O::after {
  position: absolute;
  top: -0.05em;
  left: 50%;
  font-size: 0.8em;
  content: "¯";
  transform: translateX(-50%);
}

body.feelgooddays .shop_images .swiper-button-next,
body.feelgooddays .shop_images .swiper-button-prev {
  background-image: url("../img/ico_arrow_right.svg");
}

/******** セクション共通 **********************************/
body.feelgooddays .section {
  padding-right: 7.7295%;
  padding-left: 7.7295%;
}

body.feelgooddays .section .sec_header {
  margin-bottom: 1.875rem;
}

body.feelgooddays .section .sec_header_logo {
  display: block;
  width: 44.44cqi;
  margin-left: 5px;
}

body.feelgooddays .section .sec_header_logo--goods {
  width: 35.2657cqi;
  margin-right: 5px;
  margin-left: auto;
}

body.feelgooddays .section .sec_header_title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8125rem;
  background-image: repeating-linear-gradient(135deg, #fff, #fff 2px, transparent 2px, transparent 7px);
  border-top: 0.5px solid #000;
  border-bottom: 0.5px solid #000;
}

body.feelgooddays .sec_spring .sec_header_title img {
  width: 52.1739cqi;
  height: auto;
  object-fit: contain;
}

body.feelgooddays .sec_summer .sec_header_title {
  padding: 0.90625rem;
}

body.feelgooddays .sec_summer .sec_header_title img {
  width: 53.14cqi;
  height: auto;
  object-fit: contain;
}

body.feelgooddays .section .sec_header_text {
  margin-top: 0.875rem;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 3.6231cqi;
  line-height: calc(30 / 15);
  text-align: center;
  text-align: left;
  letter-spacing: 0.08em;
}

/*************************************************
/  sec_course — コースセクション（英字見出し / 縦書きラベル / KV 写真 / リード文 / 左右の縦帯）
/
/ *************************************************/
body.feelgooddays .sec_course {
  position: relative;
  padding-right: 7.7295%;
  padding-left: 7.7295%;
}

body.feelgooddays .course_nav + .sec_course {
  margin-top: 16.1836cqw;
}

body.feelgooddays .sec_course + .sec_course {
  margin-top: 15.2174cqw;
}

body.feelgooddays .sec_course + .sec_course--cafeteria {
  margin-top: 13.6473cqw;
}

body.feelgooddays .sec_course + .sec_course--takeout {
  margin-top: 14.9758cqw;
  margin-bottom: 12.5604cqw;
}

/******** 左右の縦帯 ********/
body.feelgooddays .sec_course::before,
body.feelgooddays .sec_course::after {
  position: absolute;
  top: 82.3671cqw;
  bottom: -26.57cqw;
  z-index: -1;
  width: var(--stripe-w);
  height: 100%;
  content: "";
  background-color: var(--c-stripe);
}

body.feelgooddays .sec_course--child::before,
body.feelgooddays .sec_course--child::after {
  bottom: -25cqw;
}

body.feelgooddays .sec_course--cafeteria::before,
body.feelgooddays .sec_course--cafeteria::after {
  bottom: -27.7778cqw;
}

body.feelgooddays .sec_course::before {
  left: 0;
}

body.feelgooddays .sec_course::after {
  right: 0;
}

body.feelgooddays .sec_course:last-of-type::before,
body.feelgooddays .sec_course:last-of-type::after {
  bottom: -11.8357cqw;
}

/******** ヘッダー（見出し＋ラベル＋写真） ********/
/******** 英字見出し（画像） ********/
body.feelgooddays .sec_course .sec_header_title {
  display: block;
  padding: 0;
  margin: 0;
  background-image: none;
  border-top: 0;
  border-bottom: 0;
}

body.feelgooddays .sec_course .sec_header_title img {
  display: block;
  width: auto;
  height: 7.3671cqw;
}

body.feelgooddays .sec_course--child .sec_header_title img {
  margin-left: 1.2077cqw;
}

body.feelgooddays .sec_course--cafeteria .sec_header_title img {
  margin-left: 1.57cqw;
}

body.feelgooddays .sec_course--takeout .sec_header_title img {
  margin-left: -0.3623cqw;
}

/******** KV 写真（全幅） ********/
body.feelgooddays .sec_course .sec_header_visual {
  width: 100cqw;
  margin-top: 2.657cqw;
  margin-left: calc(50% - 50cqw);
}

body.feelgooddays .sec_course .sec_header_visual img {
  display: block;
  width: 100%;
}

/******** 縦書きラベル ********/
body.feelgooddays .sec_course .sec_header_label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0;
  pointer-events: none;
}

body.feelgooddays .sec_course .sec_header_label span {
  position: absolute;
  top: 0;
  display: grid;
  place-content: center;
  width: 6.2802cqw;
  height: max-content;
  padding-top: 1.57cqw;
  padding-bottom: 1.57cqw;
  font-size: 4.2271cqw;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.025em;
  background-color: var(--c-label);
  writing-mode: vertical-rl;
}

body.feelgooddays .sec_course--child .sec_header_label span:nth-child(1) {
  right: 8.9372cqw;
}

body.feelgooddays .sec_course--child .sec_header_label span:nth-child(2) {
  top: 6.2802cqw;
  right: 16.1836cqw;
}

body.feelgooddays .sec_course--cafeteria .sec_header_label span:nth-child(1) {
  right: 9.1787cqw;
}

body.feelgooddays .sec_course--cafeteria .sec_header_label span:nth-child(2) {
  top: 23.6715cqw;
  right: 16.3043cqw;
}

body.feelgooddays .sec_course--takeout .sec_header_label span:nth-child(1) {
  right: 7.0048cqw;
}

body.feelgooddays .sec_course--takeout .sec_header_label span:nth-child(2) {
  top: 17.8744cqw;
  right: 14.2512cqw;
}

/******** MAP ********/
body.feelgooddays .sec_course .sec_map {
  width: 79.9517cqw;
  margin-inline: auto;
  margin-top: 9.4203cqw;
}

body.feelgooddays .sec_course .sec_map img {
  display: block;
  width: 100%;
}

/******** 店舗ブロックの並び ********/
body.feelgooddays .sec_course .sec_body {
  padding-inline: 1.2077cqw;
  margin-top: 5.7971cqw;
}

/******** リード文 ********/
body.feelgooddays .sec_course .sec_header_text {
  margin-top: 4.8309cqw;
  font-family: inherit;
  font-size: 3.744cqw;
  line-height: 1.7097;
  text-align: center;
  letter-spacing: 0.025em;
}

/*************************************************
/  shop_info_box — 店舗ブロック（11 店舗・構造は全店共通）
/ *************************************************/
body.feelgooddays .shop_info_box {
  position: relative;
}

body.feelgooddays .shop_info_box + .shop_info_box {
  margin-top: 20.2899cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="02_agnesb"] {
  margin-top: 21.9807cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="03_patagonia"] {
  margin-top: 20.5314cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="04_smorrebrodKITCHEN"] {
  margin-top: 20.1691cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="06_MARGARETHOWELL"] {
  margin-top: 22.2222cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="07_GOKANPARLOIR"] {
  margin-top: 21.8599cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="08_booboboo"] {
  margin-top: 21.0145cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="10_SIKeatery"] {
  margin-top: 22.2222cqw;
}

body.feelgooddays .shop_info_box + .shop_info_box[data-shop="11_TULLYS"] {
  margin-top: 22.343cqw;
}

/******** ヘッダー（番号ピン ＋ 店名 ＋ フロアバッジ） ********/
body.feelgooddays .shop_info_box .shop_head {
  display: flex;
  column-gap: 0;
  align-items: center;
  margin-bottom: 0;
}

body.feelgooddays .shop_info_box .shop_num {
  position: relative;
  display: grid;
  flex-shrink: 0;
  place-items: center;
  width: 8.2126cqw;
  aspect-ratio: 68/86;
  margin: 0 4.4686cqw 0 0;
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-size: 5.0725cqw;
  font-weight: 700;
  line-height: 1;
  color: var(--c-course);
  text-align: center;
  letter-spacing: 0.0201em;
}

body.feelgooddays .shop_info_box .shop_num > span {
  display: inline-block;
  transform: translateY(-0.9662cqw) scaleX(1.1893);
  transform-origin: center;
}

body.feelgooddays .shop_info_box .shop_num::before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: var(--c-course);
  mask-image: url("../img/shop-pin-mask.png");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

body.feelgooddays .shop_info_box .shop_name {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: inherit;
  font-size: 4.1063cqw;
  font-weight: 700;
  line-height: 1;
  color: var(--c-text);
  letter-spacing: 0.025em;
}

body.feelgooddays .shop_info_box .shop_floor {
  display: grid;
  flex-shrink: 0;
  place-content: center;
  width: 18.599cqw;
  height: 6.2802cqw;
  padding: 0;
  margin: 0;
  font-size: 3.2609cqw;
  line-height: 1.35;
  color: #fff;
  text-align: center;
  letter-spacing: 0.025em;
  background-color: var(--c-course);
  border-radius: 100vmax;
}

body.feelgooddays .shop_info_box .shop_floor[data-lines="2"] {
  width: 22.2222cqw;
  height: 9.4203cqw;
  font-size: 2.4155cqw;
  line-height: 1.1247;
}

/******** リード文 ********/
body.feelgooddays .shop_info_box .shop_lead {
  margin-top: 4.4686cqw;
  font-size: 3.6232cqw;
  line-height: 1.5333;
  color: var(--c-text);
  text-align: justify;
  letter-spacing: 0.025em;
}

body.feelgooddays .shop_info_box[data-shop="10_SIKeatery"] .shop_lead,
body.feelgooddays .shop_info_box[data-shop="11_TULLYS"] .shop_lead {
  letter-spacing: -0.01em;
}

body.feelgooddays .shop_info_box[data-shop="10_SIKeatery"] .shop_itemtext {
  letter-spacing: 0.02em;
}

/******** 画像（大 1 ＋ 小 2） ********/
body.feelgooddays .shop_info_box .shop_images {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 5.9179cqw;
  overflow: visible;
}

body.feelgooddays .shop_info_box .shop_images_main img {
  display: block;
  width: 100%;
}

body.feelgooddays .shop_info_box .shop_images_sub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.1401cqw;
  margin-top: 6.5217cqw;
}

body.feelgooddays .shop_info_box .shop_images_sub img {
  display: block;
  width: 100%;
}

/******** 商品名・価格・説明文 ********/
body.feelgooddays .shop_info_box .shop_item {
  position: relative;
  z-index: 2;
  margin-top: 6.7633cqw;
  font-size: 3.6232cqw;
  font-weight: 400;
  line-height: 1.3933;
  color: var(--c-text);
  letter-spacing: 0.025em;
}

body.feelgooddays .shop_info_box[data-shop="03_patagonia"] .shop_item,
body.feelgooddays .shop_info_box[data-shop="04_smorrebrodKITCHEN"] .shop_item {
  letter-spacing: -0.075em;
}

body.feelgooddays .shop_info_box .shop_price {
  position: relative;
  z-index: 2;
  margin-top: -0.2415cqw;
  font-size: 2.8986cqw;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: 1.5333;
  color: var(--c-text);
  letter-spacing: 0.025em;
}

body.feelgooddays .shop_info_box .shop_price .price {
  font-size: 3.6232cqw;
  font-weight: 400;
}

body.feelgooddays .shop_info_box .shop_itemtext {
  position: relative;
  z-index: 2;
  margin-top: 5.5556cqw;
  font-size: 3.6232cqw;
  font-weight: 400;
  line-height: 1.5333;
  color: var(--c-text);
  letter-spacing: 0.025em;
}

/******** 破線区切り（斜め・コース色） ********/
body.feelgooddays .shop_info_box + .shop_info_box::before {
  position: absolute;
  top: -15.2174cqw;
  left: 0;
  width: 100%;
  height: 7.971cqw;
  pointer-events: none;
  content: "";
  background-color: var(--c-course);
  mask-image: url("../img/shop-divider.svg");
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

body.feelgooddays .shop_info_box:nth-of-type(odd)::before {
  transform: scaleY(-1);
}

body.feelgooddays .shop_info_box[data-shop="01_RoyalGardenCafe"] .shop_itemtext {
  margin-top: 5.0725cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="02_agnesb"] .shop_itemtext {
  margin-top: 4.7101cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="03_patagonia"] .shop_item {
  margin-top: 5.7971cqw;
}

body.feelgooddays .shop_info_box[data-shop="03_patagonia"] .shop_itemtext {
  margin-top: 5.0725cqw;
  margin-right: -2.4155cqw;
}

body.feelgooddays .shop_info_box[data-shop="04_smorrebrodKITCHEN"] .shop_itemtext {
  margin-top: 5.0725cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="05_CafeKitsune"] .shop_itemtext {
  margin-top: 5.314cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="06_MARGARETHOWELL"] .shop_itemtext {
  margin-top: 4.1063cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="08_booboboo"] .shop_itemtext {
  margin-top: 7.971cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="09_TOMCAT"] .shop_itemtext {
  margin-top: 5.0725cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="10_SIKeatery"] .shop_itemtext {
  margin-top: 5.0725cqw;
  text-align: justify;
}

body.feelgooddays .shop_info_box[data-shop="11_TULLYS"] .shop_itemtext {
  margin-top: 5.0725cqw;
  text-align: justify;
}

/********************************* 
btn_page_top
**********************************/
body.feelgooddays .btn_page_top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 100;
  display: inline-block;
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

@media screen and (width >= 769px) {
  body.feelgooddays .btn_page_top {
    right: calc(18px + 15.4375vw);
  }
  body.feelgooddays .btn_page_top._pinned {
    right: 30px;
  }
}
body.feelgooddays .btn_page_top .btn {
  display: block;
  width: min(16.9082cqw, 70px);
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.9);
  background-image: url("../img/btn-pagetop.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border-radius: 50%;
  transition: translate 0.25s ease-out;
}

@media screen and (width >= 769px) {
  body.feelgooddays .btn_page_top .btn {
    width: min(4.375vw, 70px);
  }
}
@media (any-hover: hover) {
  body.feelgooddays .btn_page_top .btn:hover {
    translate: 0 -3px;
  }
}
body.feelgooddays .btn_page_top .btn:focus-visible,
body.feelgooddays .btn_page_top .btn:active {
  translate: 0 -3px;
}

body.feelgooddays .btn_page_top._show {
  opacity: 1;
}

body.feelgooddays .btn_page_top._show .btn {
  pointer-events: all;
}

@media screen and (width <= 768px) {
  body.feelgooddays:has(.cookie__banner.is-active) .btn_page_top {
    visibility: hidden;
    opacity: 0;
  }
}
/*********************************
Cookie banner
**********************************/
.cookie__banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 99;
  max-width: 420px;
  font-size: 14px;
  visibility: hidden;
  background: #fff;
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid #b3d99c;
  opacity: 0;
  transition: visibility 0.8s ease, opacity 0.8s ease;
}

@media screen and (width <= 768px) {
  .cookie__banner {
    right: 16px;
    bottom: 16px;
    left: 16px;
    margin: auto;
  }
}
.cookie__banner.is-active {
  z-index: 100;
  visibility: visible;
  opacity: 1;
  transition: visibility 0.8s ease, opacity 0.8s ease;
}

.cookie__banner .cookie__inner {
  padding: 22px 19px;
}

@media screen and (width <= 768px) {
  .cookie__banner .cookie__inner {
    padding: 20px 15px 25px;
  }
}
.cookie__banner .cookie__text {
  line-height: 1.75;
  letter-spacing: 0;
}

@media screen and (width <= 768px) {
  .cookie__banner .cookie__text {
    font-size: 12px;
    line-height: 1.45;
  }
}
.cookie__banner .cookie__link {
  color: #000;
  /* text-decoration-line は補間されないので、色だけ切り替えて transition を効かせる */
  text-decoration: underline;
  transition: text-decoration-color 0.2s ease-out;
}

@media (any-hover: hover) {
  .cookie__banner .cookie__link:hover {
    text-decoration-color: transparent;
  }
}
.cookie__banner .cookie__link:focus-visible,
.cookie__banner .cookie__link:active {
  text-decoration-color: transparent;
}

.cookie__banner .cookie__btns {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}

@media screen and (width <= 768px) {
  .cookie__banner .cookie__btns .cookie__btns {
    gap: 20px;
  }
}
.cookie__banner .cookie__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 184px;
  height: 46px;
  font-size: 12px;
  text-align: center;
  text-decoration: underline;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 23px;
  transition: border-color 0.5s ease;
}

@media (any-hover: hover) {
  .cookie__banner .cookie__btn:hover {
    text-decoration: none;
    background: linear-gradient(90deg, #fd0 0%, #b3d99c 100%);
    border-color: #b3d99c;
  }
}
.cookie__banner .cookie__btn:focus-visible,
.cookie__banner .cookie__btn:active {
  text-decoration: none;
  background: linear-gradient(90deg, #fd0 0%, #b3d99c 100%);
  border-color: #b3d99c;
}

.cookie__banner .cookie__btn.cookie__btn-agree {
  text-decoration: none;
  border-color: #b3d99c;
}