@charset "UTF-8";
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

small {
  font-size: 100%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

button,
input {
  /* 1 */
  overflow: visible;
}

button,
select {
  /* 1 */
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

select::-ms-expand {
  display: none;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

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;
  /* 1 */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable] {
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

html {
  font-size: 100%;
  text-spacing-trim: space-all;
  font-synthesis: none;
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}
@media (max-width: 1220px) {
  html {
    font-size: 1.3114754098vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 100%;
    scroll-padding-top: 4rem;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

p,
li,
dd,
h2,
h3 {
  text-wrap: pretty;
}

body {
  color: #3a2a20;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1rem;
  }
}

body.is-locked {
  overflow-y: hidden;
}

a,
button {
  transition: 0.3s;
}
a:hover,
button:hover {
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.l-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(251, 248, 241, 0);
  transition: background-color 0.3s, box-shadow 0.3s;
}

.l-header.is-scrolled {
  background-color: rgba(251, 248, 241, 0.94);
  box-shadow: 0 0.0625rem 0.75rem rgba(91, 58, 38, 0.08);
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 5rem;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    height: 4rem;
    padding: 0 1rem;
  }
}

.l-header__logoLink {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
.l-header__logoLink:hover {
  opacity: 0.7;
}

.l-header__logoImg {
  width: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-header__logoImg {
    width: 2rem;
  }
}

.l-header__logoText {
  display: block;
  line-height: 1.4;
}

.l-header__logoSub {
  display: block;
  color: #8a6a52;
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .l-header__logoSub {
    font-size: 0.75rem;
  }
}

.l-header__logoMain {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  margin-top: 0.375rem;
}
@media screen and (max-width: 767px) {
  .l-header__logoMain {
    margin-top: 0.25rem;
  }
}
.l-header__logoMain {
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .l-header__logoMain {
    font-size: 0.875rem;
  }
}

.l-header__logoBrush {
  width: auto;
  height: 1.625rem;
}
@media screen and (max-width: 767px) {
  .l-header__logoBrush {
    height: 1.375rem;
  }
}

.l-header__gnav {
  display: flex;
  align-items: center;
  column-gap: 1.75rem;
}
@media screen and (max-width: 767px) {
  .l-header__gnav {
    display: none;
  }
}

.l-header__gnavList {
  display: flex;
  column-gap: 1.75rem;
}

.l-header__gnavLink {
  display: block;
  color: #5b3a26;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.375rem;
}
.l-header__gnavLink:hover {
  text-decoration-color: currentColor;
}

.l-header__buttons {
  display: flex;
  column-gap: 0.5rem;
}

.l-header__drawer {
  position: fixed;
  z-index: 105;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  padding: 5.5rem 1.5rem 2.5rem;
  background-color: #fbf8f1;
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
  transition: opacity 0.3s, visibility 0.3s;
}

.l-header__drawer.is-open {
  opacity: 1;
  visibility: visible;
}

.l-header__drawerItem {
  border-bottom: 1px solid #e2d6c2;
}

.l-header__drawerLink {
  display: flex;
  align-items: baseline;
  column-gap: 1rem;
  padding: 0.875rem 0;
}

.l-header__drawerEn {
  width: 6.875rem;
  color: #4e6b30;
  font-family: "Cormorant Garamond", serif;
  font-size: 1rem;
  font-style: italic;
}

.l-header__drawerJa {
  color: #5b3a26;
  font-size: 1rem;
  font-weight: 500;
}

.l-header__drawerButton {
  margin-top: 2rem;
}

.l-main {
  contain: paint;
}

.l-footer {
  width: 100%;
  padding: 4.5rem 2.5rem 2rem;
  color: #fbf8f1;
  background-color: #3f281b;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 3rem 1.25rem 6rem;
  }
}

.l-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 2.5rem;
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    display: block;
    max-width: 35rem;
  }
}

.l-footer__company {
  display: flex;
  align-items: center;
  column-gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .l-footer__company {
    display: block;
  }
}

.l-footer__logo {
  display: block;
  flex-shrink: 0;
  width: fit-content;
  padding: 0.75rem;
  background-color: #fbf8f1;
  border-radius: 0.5rem;
}
.l-footer__logo:hover {
  opacity: 0.8;
}

.l-footer__logoImg {
  width: 3.5rem;
}

@media screen and (max-width: 767px) {
  .l-footer__info {
    margin-top: 1.25rem;
  }
}

.l-footer__name {
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.l-footer__address {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: normal;
  line-height: 1.8;
}

.l-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, auto);
  column-gap: 3rem;
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem 1.25rem;
    margin-top: 2.25rem;
  }
}

.l-footer__navTitle {
  color: #d99a2b;
  font-size: 0.875rem;
  font-weight: 700;
}

.l-footer__navList {
  margin-top: 0.625rem;
}

.l-footer__navLink {
  display: block;
  padding: 0.1875rem 0;
  font-size: 0.875rem;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.25rem;
}
.l-footer__navLink:hover {
  text-decoration-color: currentColor;
}

.l-footer__copyright {
  margin-top: 3.5rem;
  font-size: 0.75rem;
  text-align: center;
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 2.25rem;
  }
}

.c-title__en {
  display: block;
  color: #4e6b30;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.375rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .c-title__en {
    font-size: 1.125rem;
  }
}

.c-title__ja {
  margin-top: 0.5rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .c-title__ja {
    margin-top: 0.25rem;
    font-size: 1.75rem;
  }
}

.c-title--row {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: baseline;
  column-gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-title--row {
    display: block;
  }
}
.c-title--row .c-title__ja {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .c-title--row .c-title__ja {
    margin-top: 0.25rem;
  }
}

.c-title--light .c-title__en {
  color: #d99a2b;
}
.c-title--light .c-title__ja {
  color: #fbf8f1;
}

.c-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20rem;
  max-width: 100%;
  min-height: 4rem;
  padding: 0.75rem 3rem;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  border-radius: 0.375rem;
}
@media screen and (max-width: 767px) {
  .c-button {
    min-height: 3.625rem;
    font-size: 1rem;
  }
}
.c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.375rem;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
.c-button:hover {
  opacity: 0.85;
}
.c-button:hover::after {
  right: 1rem;
}

.c-button--line {
  background-color: #00873c;
}

.c-button--brown {
  background-color: #5b3a26;
}

.c-button--small {
  width: auto;
  min-height: 2.75rem;
  padding: 0.5rem 2.25rem 0.5rem 1.25rem;
  font-size: 0.875rem;
}
.c-button--small::after {
  right: 1rem;
  width: 0.375rem;
  height: 0.375rem;
}
.c-button--small:hover::after {
  right: 0.75rem;
}

.c-microcopy {
  margin-bottom: 0.5rem;
  color: #5b3a26;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}
.c-microcopy::before {
  content: "\\";
  margin-right: 0.5rem;
}
.c-microcopy::after {
  content: "/";
  margin-left: 0.5rem;
}

.c-cta {
  padding: 7.5rem 2.5rem;
  background-image: url(../imgs/fv/fv_bg_pc.webp?v=20261027);
  background-position: center 70%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .c-cta {
    padding: 4.5rem 1.25rem;
    background-image: url(../imgs/fv/fv_bg_sp.webp?v=20261027);
  }
}

.c-cta__box {
  width: 100%;
  max-width: 47.5rem;
  margin: 0 auto;
  padding: 3rem 3.5rem;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.94);
}
@media screen and (max-width: 767px) {
  .c-cta__box {
    max-width: 35rem;
    padding: 2rem 1.25rem;
  }
}

.c-cta__title {
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-cta__title {
    font-size: 1.5rem;
  }
}

.c-cta__text {
  margin-top: 0.75rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .c-cta__text {
    font-size: 0.875rem;
  }
}

.c-cta__buttons {
  display: flex;
  justify-content: center;
  column-gap: 1.5rem;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .c-cta__buttons {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .c-cta__buttonItem + .c-cta__buttonItem {
    margin-top: 1.25rem;
  }
}

.c-cta__buttonItem .c-button {
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .c-cta__buttonItem .c-button {
    width: 100%;
  }
}

.c-hamburger {
  display: none;
  position: relative;
  z-index: 110;
  width: 2rem;
  height: 0.875rem;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    display: block;
  }
}

.c-hamburger__bar {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #5b3a26;
  transition: 0.3s;
}

.c-hamburger__bar:nth-child(1) {
  top: 0;
}

.c-hamburger__bar:nth-child(2) {
  bottom: 0;
}

.c-hamburger.is-open .c-hamburger__bar:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(28.3deg);
}

.c-hamburger.is-open .c-hamburger__bar:nth-child(2) {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%) rotate(-28.3deg);
}

.c-marquee {
  overflow: hidden;
}

.c-marquee__list {
  display: flex;
  column-gap: 1rem;
  width: max-content;
  animation: c-marquee 60s linear infinite;
}
@media screen and (max-width: 767px) {
  .c-marquee__list {
    column-gap: 0.625rem;
    animation-duration: 45s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-marquee__list {
    animation: none;
  }
}

.c-marquee__item {
  flex-shrink: 0;
}

.c-marquee__img {
  width: auto;
  height: 16.25rem;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .c-marquee__img {
    height: 10.625rem;
  }
}

@keyframes c-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.c-fixedBar {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-fixedBar {
    display: block;
    position: fixed;
    z-index: 30;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.5rem 1rem calc(0.5rem + env(safe-area-inset-bottom));
    background-color: rgba(251, 248, 241, 0.95);
    box-shadow: 0 -0.125rem 0.625rem rgba(91, 58, 38, 0.1);
    transform: translateY(110%);
    transition: transform 0.3s;
  }
}

.c-fixedBar.is-show {
  transform: translateY(0);
}

.c-fixedBar__link {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 3rem;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  background-color: #00873c;
  border-radius: 6.25rem;
}

.is-anim .c-inview {
  opacity: 0;
  transform: translateY(1.75rem);
  transition: opacity 1s ease, transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.is-anim .c-inview.is-show {
  opacity: 1;
  transform: translateY(0);
}

.is-anim .c-inview--soft {
  filter: blur(0.625rem);
  transform: scale(0.95);
  transition: opacity 1.6s ease, transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), filter 1.6s ease;
}

.is-anim .c-inview--soft.is-show {
  filter: blur(0);
  transform: scale(1);
}

.is-anim .c-title.c-inview {
  opacity: 1;
  transform: none;
}

.is-anim .c-title.c-inview .c-title__en,
.is-anim .c-title.c-inview .c-title__ja {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.9s ease, transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.is-anim .c-title.c-inview .c-title__ja {
  transition-delay: 0.15s;
}

.is-anim .c-title.c-inview.is-show .c-title__en,
.is-anim .c-title.c-inview.is-show .c-title__ja {
  opacity: 1;
  transform: none;
}

.c-modal {
  width: min(100% - 2rem, 40rem);
  max-height: calc(100% - 3rem);
  margin: auto;
  padding: 0;
  color: #3a2a20;
  background-color: #ffffff;
  border: none;
  border-radius: 0.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.4s ease, transform 0.4s ease, overlay 0.4s allow-discrete, display 0.4s allow-discrete;
}
.c-modal[open] {
  opacity: 1;
  transform: translateY(0);
}
@starting-style {
  .c-modal[open] {
    opacity: 0;
    transform: translateY(1rem);
  }
}
.c-modal::backdrop {
  background-color: rgba(63, 40, 27, 0);
  transition: background-color 0.4s ease, overlay 0.4s allow-discrete, display 0.4s allow-discrete;
}
.c-modal[open]::backdrop {
  background-color: rgba(63, 40, 27, 0.55);
}
@starting-style {
  .c-modal[open]::backdrop {
    background-color: rgba(63, 40, 27, 0);
  }
}

.c-modal__inner {
  position: relative;
  padding: 3rem 3rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-modal__inner {
    padding: 3rem 1.25rem 1.75rem;
  }
}

.c-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
}
.c-modal__close::before, .c-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.25rem;
  height: 2px;
  background-color: #5b3a26;
}
.c-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-modal__close:hover {
  opacity: 0.7;
}

.c-modal__label {
  display: inline-block;
  padding: 0.125rem 0.625rem;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  background-color: #b0412e;
}

.c-modal__title {
  margin-top: 0.75rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.375rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .c-modal__title {
    font-size: 1.25rem;
  }
}

.c-modal__body {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.9;
}
.c-modal__body > * + * {
  margin-top: 0.75rem;
}

.c-modal__listTitle {
  margin-top: 1.25rem !important;
  color: #b0412e;
  font-weight: 700;
}

.c-modal__list {
  margin-top: 0.375rem !important;
  padding: 0.875rem 1.125rem;
  background-color: #f0f6f8;
  border-radius: 0.25rem;
}
.c-modal__list li {
  position: relative;
  padding-left: 1em;
}
.c-modal__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.c-modal__official {
  margin-top: 1.75rem;
  color: #5b3a26;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}

.c-modal__line {
  display: block;
  width: fit-content;
  margin: 0.625rem auto 0;
  padding: 0.875rem 2rem;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 700;
  background-color: #00873c;
  border-radius: 0.25rem;
}
.c-modal__line:hover {
  opacity: 0.8;
}

.u-keep {
  display: inline-block;
}

.p-fv {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template: minmax(0, 1fr)/minmax(0, 1fr);
  height: clamp(37.5rem, 47vw, 56.25rem);
}
@media screen and (max-width: 767px) {
  .p-fv {
    height: 100vh;
    height: 100svh;
    max-height: 56.25rem;
  }
}
.p-fv {
  background-color: #e7f0f2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-fv {
    min-height: 37.5rem;
  }
}
.p-fv::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image: url(../imgs/fv/fv_bg_pc_wide.webp?v=20261027), url(../imgs/fv/fv_bg_pc_wide_tiny.webp?v=20261027);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
  transform-origin: 50% 70%;
}
@media screen and (max-width: 767px) {
  .p-fv::before {
    background-image: url(../imgs/fv/fv_bg_sp.webp?v=20261027), url(../imgs/fv/fv_bg_sp_tiny.webp?v=20261027);
  }
}
@media screen and (min-width: 500px) and (max-width: 767px) {
  .p-fv::before {
    background-image: url(../imgs/fv/fv_bg_spwide.webp?v=20261027), url(../imgs/fv/fv_bg_sp_tiny.webp?v=20261027);
  }
}
.p-fv::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7.5rem;
  background: linear-gradient(rgba(246, 248, 236, 0), #f6f8ec);
  pointer-events: none;
}

.p-fv__inner {
  grid-area: 1/1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 7rem;
}
@media screen and (max-width: 767px) {
  .p-fv__inner {
    padding-top: clamp(5.5rem, 23vw, 7.5rem);
  }
}

.p-fv__body {
  position: relative;
  display: flex;
  align-items: flex-start;
  column-gap: 1.75rem;
  padding: 1.5rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv__body {
    column-gap: 1rem;
    padding: 1rem 1.5rem;
  }
}
.p-fv__body::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1.875rem -5.625rem;
  background: radial-gradient(closest-side, rgba(251, 248, 241, 0.85), rgba(251, 248, 241, 0.55) 60%, rgba(251, 248, 241, 0));
  filter: blur(0.5rem);
}

.p-fv__copy {
  display: flex;
  column-gap: 0.625rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-fv__copy {
    column-gap: 0.375rem;
    font-size: clamp(1.875rem, 8vw, 2.75rem);
  }
}

@media screen and (min-width: 768px) {
  .p-fv__copy {
    flex-direction: row-reverse;
    align-items: flex-start;
    column-gap: 1rem;
    writing-mode: horizontal-tb;
  }
  .p-fv__copyLine {
    writing-mode: vertical-rl;
  }
}
.p-fv__copyLine--second {
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-fv__copyLine--second {
    padding-top: clamp(2.25rem, 9.6vw, 3.25rem);
  }
}

.p-fv__lead {
  display: flex;
  column-gap: 0.25rem;
  padding-top: 0.5rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.18em;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-fv__lead {
    font-size: clamp(0.875rem, 3.8vw, 1rem);
  }
}

.p-fv__leadLine + .p-fv__leadLine {
  padding-top: 2rem;
}

.p-fv__notice {
  grid-area: 1/1;
  align-self: end;
  justify-self: start;
  position: relative;
  z-index: 1;
  max-width: 35rem;
  margin: 0 0 2rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-fv__notice {
    max-width: none;
    margin: 0 3.5rem 1.25rem 1rem;
  }
}

.p-fv__noticeLink {
  position: relative;
  display: flex;
  width: 100%;
  text-align: left;
  cursor: pointer;
  align-items: center;
  column-gap: 0.875rem;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  background-color: rgba(255, 255, 255, 0.82);
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-fv__noticeLink {
    display: block;
    padding: 0.625rem 1.875rem 0.625rem 0.75rem;
  }
}
.p-fv__noticeLink::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.125rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 2px solid #5b3a26;
  border-right: 2px solid #5b3a26;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 767px) {
  .p-fv__noticeLink::after {
    right: 0.875rem;
  }
}
.p-fv__noticeLink:hover {
  background-color: #ffffff;
}
.p-fv__noticeLink:hover::after {
  right: 0.875rem;
}

.p-fv__noticeLabel {
  display: inline-block;
  flex-shrink: 0;
  padding: 0.0625rem 0.5rem;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  background-color: #b0412e;
  border: 1px solid #b0412e;
}

.p-fv__noticeText {
  color: #5b3a26;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-fv__noticeText {
    display: block;
    margin-top: 0.375rem;
    font-size: 0.875rem;
    white-space: nowrap;
  }
}

.p-fv__scroll {
  position: absolute;
  z-index: 2;
  right: 2rem;
  bottom: 1.75rem;
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
  color: #5b3a26;
  font-family: "Cormorant Garamond", serif;
  font-size: 0.875rem;
  font-style: italic;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-fv__scroll {
    right: 1rem;
    bottom: 1.25rem;
  }
}
.p-fv__scroll::after {
  content: "";
  width: 1px;
  height: 2.5rem;
  background-color: #5b3a26;
  transform-origin: top;
  animation: p-fv-scroll 2s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-fv__scroll::after {
    animation: none;
  }
}

@keyframes p-fv-scroll {
  0% {
    transform: scaleY(0);
  }
  50% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(1);
    opacity: 0;
  }
}
.is-opening {
  --fv-copyDelay: 3.4s;
}
@media screen and (max-width: 767px) {
  .is-opening {
    --fv-copyDelay: 2.6s;
  }
}

.is-opening .p-fv {
  --fv-focus: 54% 58%;
  background-color: #fbf8f1;
}
@media screen and (max-width: 767px) {
  .is-opening .p-fv {
    --fv-focus: 64% 50%;
  }
}

.is-opening .p-fv::before {
  opacity: 0;
  filter: blur(0.1875rem);
  transform: scale(2.6);
  transform-origin: var(--fv-focus);
}
@media screen and (max-width: 767px) {
  .is-opening .p-fv::before {
    transform: scale(1.8);
  }
}

.is-opening.is-start .p-fv::before {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
  transition: opacity 0.8s ease, filter 1.6s ease, transform 4.8s cubic-bezier(0.55, 0, 0.15, 1) 0.4s;
}

.is-opening.is-bloomed .p-fv {
  background-color: #e7f0f2;
}

.is-opening .p-fv__body::before {
  opacity: 0;
}

.is-opening.is-start .p-fv__body::before {
  opacity: 1;
  transition: opacity 1.6s ease calc(var(--fv-copyDelay) - 0.2s);
}

.p-fv__char {
  display: inline-block;
}

.is-opening .p-fv__char {
  opacity: 0;
  filter: blur(0.375rem);
  transform: translateY(-0.35em);
}

.is-opening.is-start .p-fv__char {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
  transition: opacity 0.9s ease, filter 0.9s ease, transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--fv-copyDelay) + var(--i) * 0.09s);
}

.is-opening .p-fv__lead,
.is-opening .p-fv__notice,
.is-opening .p-fv__scroll {
  opacity: 0;
}

.is-opening.is-start .p-fv__notice {
  opacity: 1;
  transition: opacity 1.4s ease calc(var(--fv-copyDelay) + 1.2s);
}

.is-opening.is-start .p-fv__lead {
  opacity: 1;
  transition: opacity 1.4s ease calc(var(--fv-copyDelay) + 1s);
}

.is-opening.is-start .p-fv__scroll {
  opacity: 1;
  transition: opacity 1s ease calc(var(--fv-copyDelay) + 1.6s);
}

.is-opening .l-header {
  opacity: 0;
  transform: translateY(-0.75rem);
}

.is-opening.is-start .l-header {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s ease 1s, transform 1s ease 1s, background-color 0.3s, box-shadow 0.3s;
}

.is-opening .p-fv-about > * {
  opacity: 0;
}

.is-opening.is-bloomed .p-fv-about > * {
  opacity: 1;
  transition: opacity 1.2s ease;
}

.p-fv-about {
  padding: 5rem 0 6.875rem;
  background: linear-gradient(#f6f8ec 0, #ffffff 30rem);
}
@media screen and (max-width: 767px) {
  .p-fv-about {
    padding: 3rem 0 4rem;
    background: linear-gradient(#f6f8ec 0, #ffffff 20rem);
  }
}

.p-fv-about__inner {
  display: grid;
  grid-template-columns: 28.75rem 1fr;
  align-items: end;
  column-gap: 4rem;
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-about__inner {
    display: block;
    max-width: 37.5rem;
    padding: 0 1.25rem;
  }
}

.p-fv-about__text {
  font-size: 1.125rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-fv-about__text {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.9;
  }
}

.p-fv-about__keepPc {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-fv-about__keepPc {
    white-space: normal;
  }
}

.p-fv-about__marquee {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-fv-about__marquee {
    margin-top: 2.25rem;
  }
}

.p-fv-commitment {
  overflow-x: clip;
  padding: 6.875rem 2.5rem;
  background: linear-gradient(#ffffff, #f0f6f8);
}
@media screen and (max-width: 767px) {
  .p-fv-commitment {
    padding: 4rem 1.25rem;
  }
}

.p-fv-commitment__inner {
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__inner {
    max-width: 35rem;
  }
}

.p-fv-commitment__link {
  display: inline-block;
  margin-left: 0.5rem;
  color: #4e6b30;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.p-fv-commitment__link:hover {
  opacity: 0.7;
}

.p-fv-commitment__head {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__head {
    display: block;
  }
}

.p-fv-commitment__head .c-title {
  grid-column: 2;
}

.p-fv-commitment__list {
  margin-top: -8.125rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__list {
    margin-top: 1.5rem;
  }
}

.p-fv-commitment__item:first-child .p-fv-commitment__body {
  align-self: start;
  padding-top: 11.875rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__item:first-child .p-fv-commitment__body {
    padding-top: 0;
  }
}

.p-fv-commitment__item {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  align-items: center;
  column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__item {
    display: block;
  }
}

.p-fv-commitment__item + .p-fv-commitment__item {
  margin-top: -0.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__item + .p-fv-commitment__item {
    margin-top: 2.5rem;
  }
}

.p-fv-commitment__item:nth-child(even) {
  grid-template-columns: 1fr 1.55fr;
}

.p-fv-commitment__item:nth-child(even) .p-fv-commitment__img {
  order: 2;
}

.p-fv-commitment__item:nth-child(even) .p-fv-commitment__body {
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__item:nth-child(even) .p-fv-commitment__body {
    padding-left: 0;
  }
}

.p-fv-commitment__img {
  width: calc(100% + 5rem);
  max-width: none;
  margin-left: -5rem;
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__img {
    width: calc(100% + 2.5rem);
    margin-left: -1.25rem;
  }
}

.p-fv-commitment__item:nth-child(even) .p-fv-commitment__img {
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__item:nth-child(even) .p-fv-commitment__img {
    margin-left: -1.25rem;
  }
}

.p-fv-commitment__item:nth-child(1) .p-fv-commitment__img {
  -webkit-mask: url("../imgs/commitment/commitment_img_mask.png?v=20261027") center/100% 100% no-repeat;
  mask: url("../imgs/commitment/commitment_img_mask.png?v=20261027") center/100% 100% no-repeat;
}

.p-fv-commitment__item:nth-child(2) .p-fv-commitment__img {
  -webkit-mask: url("../imgs/commitment/commitment_img02_mask.png?v=20261027") center/100% 100% no-repeat;
  mask: url("../imgs/commitment/commitment_img02_mask.png?v=20261027") center/100% 100% no-repeat;
}

.p-fv-commitment__item:nth-child(3) .p-fv-commitment__img {
  -webkit-mask: url("../imgs/commitment/commitment_img03_mask.png?v=20261027") center/100% 100% no-repeat;
  mask: url("../imgs/commitment/commitment_img03_mask.png?v=20261027") center/100% 100% no-repeat;
}

@media screen and (max-width: 767px) {
  .p-fv-commitment__body {
    margin-top: -0.5rem;
  }
}

.p-fv-commitment__number {
  font-variant-numeric: lining-nums;
  display: block;
  color: #d99a2b;
  font-family: "Cormorant Garamond", serif;
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__number {
    font-size: 2.125rem;
  }
}

.p-fv-commitment__itemTitle {
  margin-top: 0.5rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__itemTitle {
    font-size: 1.25rem;
  }
}

.p-fv-commitment__fact {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.375rem;
  margin-top: 0.75rem;
  color: #5b3a26;
}

.p-fv-commitment__factValue {
  font-variant-numeric: lining-nums;
  font-family: "Cormorant Garamond", serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__factValue {
    font-size: 3.375rem;
  }
}

.p-fv-commitment__factUnit {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__factUnit {
    font-size: 1.125rem;
  }
}

.p-fv-commitment__factNote {
  margin-left: 0.625rem;
  color: #8a6a52;
  font-size: 0.875rem;
}

.p-fv-commitment__itemText {
  margin-top: 0.75rem;
  font-size: 1rem;
}

.p-fv-commitment__maker {
  max-width: 40rem;
  margin: 6rem auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__maker {
    margin-top: 3.5rem;
    text-align: left;
  }
}

.p-fv-commitment__makerImg {
  display: block;
  width: 100%;
  max-width: 32.5rem;
  height: auto;
  margin: 0 auto;
}

.p-fv-commitment__makerTitle {
  margin-top: 1.5rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__makerTitle {
    margin-top: 1rem;
    font-size: 1.5rem;
  }
}

.p-fv-commitment__makerText {
  margin-top: 1rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-fv-commitment__makerText {
    text-wrap: balance;
  }
}

.p-fv-commitment__makerLink {
  margin-top: 0.625rem;
  margin-left: 0;
}

.p-fv-bridge {
  padding: 2.5rem 2.5rem 6.25rem;
  background: linear-gradient(#f0f6f8 0%, #ffffff 70%);
}
@media screen and (max-width: 767px) {
  .p-fv-bridge {
    padding: 1rem 0 3.5rem;
  }
}

.p-fv-bridge__inner {
  width: 100%;
  max-width: 62.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-bridge__inner {
    max-width: 35rem;
  }
}

.p-fv-bridge__img {
  width: 100%;
  -webkit-mask-image: radial-gradient(ellipse 60% 58% at 50% 50%, #000 50%, transparent 100%);
  mask-image: radial-gradient(ellipse 60% 58% at 50% 50%, #000 50%, transparent 100%);
}

.p-fv-bridge__body {
  max-width: 40rem;
  margin: 3.5rem auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-fv-bridge__body {
    margin-top: 2rem;
    padding: 0 1.25rem;
  }
}

.p-fv-bridge__title {
  margin-top: 0.5rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-fv-bridge__title {
    font-size: 1.625rem;
  }
}

.p-fv-bridge__text {
  margin-top: 1.5rem;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 2.1;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-fv-bridge__text {
    margin-top: 1.125rem;
    font-size: 1rem;
    line-height: 2;
  }
}

.p-fv-products {
  padding: 6.25rem 0 6.875rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-fv-products {
    padding: 3.5rem 0 4rem;
  }
}

.p-fv-products__inner {
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-products__inner {
    max-width: 37.5rem;
    padding: 0 1.25rem;
  }
}

.p-fv-products__visual {
  display: block;
  max-width: 62.5rem;
  margin: 0 auto 10rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__visual {
    margin-bottom: 5rem;
  }
}

.p-fv-products__visualImg {
  width: 100%;
  height: auto;
  -webkit-mask-image: radial-gradient(ellipse 62% 64% at 50% 50%, #000 62%, transparent 100%);
  mask-image: radial-gradient(ellipse 62% 64% at 50% 50%, #000 62%, transparent 100%);
}
@media screen and (max-width: 767px) {
  .p-fv-products__visualImg {
    -webkit-mask-image: radial-gradient(ellipse 66% 66% at 50% 50%, #000 66%, transparent 100%);
    mask-image: radial-gradient(ellipse 66% 66% at 50% 50%, #000 66%, transparent 100%);
  }
}

.p-fv-products__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  column-gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__head {
    display: block;
  }
}

.p-fv-products__arrow {
  position: absolute;
  z-index: 2;
  width: 3rem;
  height: 3rem;
  background-color: #ffffff;
  border: 1px solid #5b3a26;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-fv-products__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.p-fv-products__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid #5b3a26;
  border-right: 2px solid #5b3a26;
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-fv-products__arrow:hover {
  background-color: #f0f6f8;
}
.p-fv-products__arrow[aria-disabled=true] {
  opacity: 0.3;
  cursor: default;
}
.p-fv-products__arrow[hidden] {
  display: none;
}

.p-fv-products__arrow--prev::after {
  left: 54%;
  transform: translate(-50%, -50%) rotate(-135deg);
}

.p-fv-products__lead {
  margin-top: 1.25rem;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-fv-products__lead {
    margin-top: 1rem;
    font-size: 1rem;
  }
}

.p-fv-products__info {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__info {
    display: block;
    margin-top: 1rem;
  }
}

.p-fv-products__infoItem {
  color: #5b3a26;
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-fv-products__infoItem {
    font-size: 0.875rem;
  }
}

.p-fv-products__infoItem + .p-fv-products__infoItem {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid #e2d6c2;
}
@media screen and (max-width: 767px) {
  .p-fv-products__infoItem + .p-fv-products__infoItem {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }
}

.p-fv-products__facts {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  column-gap: 3rem;
  row-gap: 0.75rem;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__facts {
    column-gap: 1.75rem;
    margin-top: 1.25rem;
  }
}

.p-fv-products__factLabel {
  color: #8a6a52;
  font-size: 0.875rem;
  font-weight: 500;
}

.p-fv-products__factValue {
  font-variant-numeric: lining-nums;
  color: #5b3a26;
  font-family: "Cormorant Garamond", serif;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-fv-products__factValue {
    font-size: 2.75rem;
  }
}

.p-fv-products__factUnit {
  margin-left: 0.375rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-fv-products__factUnit {
    font-size: 0.875rem;
  }
}

.p-fv-products__factNote {
  margin-top: 0.5rem;
  color: #8a6a52;
  font-size: 0.75rem;
}

.p-fv-products__list {
  display: flex;
  column-gap: 1.5rem;
  padding: 0 2.5rem 0.5rem max(2.5rem, (100% - 71.25rem) / 2);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: max(2.5rem, (100% - 71.25rem) / 2);
  scrollbar-width: none;
}
@media screen and (max-width: 767px) {
  .p-fv-products__list {
    column-gap: 0.875rem;
    padding: 0 1.25rem 0.5rem max(1.25rem, (100% - 35rem) / 2);
    scroll-padding-left: max(1.25rem, (100% - 35rem) / 2);
  }
}
.p-fv-products__list::-webkit-scrollbar {
  display: none;
}

.p-fv-products__item {
  flex-shrink: 0;
  width: 18.75rem;
  scroll-snap-align: start;
}
@media screen and (max-width: 767px) {
  .p-fv-products__item {
    width: 74vw;
    max-width: 18.75rem;
  }
}

.p-fv-products__cardImg {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  -webkit-mask-image: radial-gradient(ellipse 66% 68% at 50% 50%, #000 58%, transparent 100%);
  mask-image: radial-gradient(ellipse 66% 68% at 50% 50%, #000 58%, transparent 100%);
}

.p-fv-products__cardTag {
  display: block;
  margin-top: 0.875rem;
  padding-left: 0.625rem;
  color: #5b3a26;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  border-left: 0.1875rem solid #5b3a26;
}

.p-fv-products__cardTag--gift {
  color: #4e6b30;
  border-left-color: #4e6b30;
}

.p-fv-products__cardTag--season {
  color: #a8661a;
  border-left-color: #a8661a;
}

.p-fv-products__cardTitle {
  margin-top: 0.5rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-fv-products__cardText {
  margin-top: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.7;
}

.p-fv-products__cardTitleSub {
  margin-left: 0.25rem;
  font-size: 0.64em;
}

.p-fv-products__cardSpec {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  color: #8a6a52;
  font-size: 0.8125rem;
  line-height: 1.6;
  border-top: 1px solid #e2d6c2;
}

.p-fv-products__cardPoints {
  margin-top: 0.625rem;
}

.p-fv-products__cardPoint {
  padding: 0.625rem 0;
  border-bottom: 1px solid #e2d6c2;
}
.p-fv-products__cardPoint dt {
  color: #8a6a52;
  font-size: 0.75rem;
}
.p-fv-products__cardPoint dd {
  margin-top: 0.125rem;
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
}

.p-fv-products__cardPrice {
  font-variant-numeric: lining-nums;
  margin-top: 0.625rem;
  color: #5b3a26;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.2;
}

.p-fv-products__cardPriceUnit {
  margin-left: 0.25rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
}

.p-fv-products__slider {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__slider {
    margin-top: 1.75rem;
  }
}

.p-fv-products__track {
  position: relative;
}

.p-fv-products__note {
  margin-top: 2.5rem;
  padding: 0 1.25rem;
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-fv-products__note {
    font-size: 0.875rem;
  }
}

.p-fv-products__stage {
  display: block;
  max-width: 71.25rem;
  margin: 0 auto 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__stage {
    max-width: 37.5rem;
    margin-bottom: 1.75rem;
    padding: 0 1.25rem;
  }
}

.p-fv-products__stage .p-fv-products__card {
  animation: p-fv-products-stageIn 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  grid-template-rows: auto auto auto auto 1fr;
  align-items: start;
  column-gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__stage .p-fv-products__card {
    display: block;
  }
}

.p-fv-products__stage .p-fv-products__cardFigure {
  position: relative;
  grid-row: 1/6;
}

.p-fv-products__stage .p-fv-products__cardTag {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__stage .p-fv-products__cardTag {
    margin-top: 1rem;
  }
}

.p-fv-products__stage .p-fv-products__cardTitle {
  font-size: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__stage .p-fv-products__cardTitle {
    font-size: 1.5rem;
  }
}

.p-fv-products__stage .p-fv-products__cardText {
  margin-top: 0.875rem;
  font-size: 1rem;
  line-height: 1.8;
}

.p-fv-products__stage .p-fv-products__cardPrice {
  margin-top: 1.25rem;
  font-size: 2.75rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__stage .p-fv-products__cardPrice {
    margin-top: 0.75rem;
    font-size: 2.125rem;
  }
}

.p-fv-products__count {
  font-variant-numeric: lining-nums;
  margin-top: 1.75rem;
  color: #8a6a52;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__count {
    margin-top: 0.625rem;
  }
}

.p-fv-products__countNow {
  color: #5b3a26;
  font-size: 1.75rem;
}

.p-fv-products__stage .p-fv-products__arrow {
  top: 50%;
  margin-top: -1.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-products__stage .p-fv-products__arrow {
    margin-top: -1.25rem;
  }
}

.p-fv-products__stage .p-fv-products__arrow--prev {
  left: -0.5rem;
}

.p-fv-products__stage .p-fv-products__arrow--next {
  right: -0.5rem;
}

.is-productsShowcase .p-fv-products__item {
  width: 11rem;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .is-productsShowcase .p-fv-products__item {
    width: 7.5rem;
  }
}
.is-productsShowcase .p-fv-products__item:hover, .is-productsShowcase .p-fv-products__item.is-current {
  opacity: 1;
}

.is-productsShowcase .p-fv-products__list {
  column-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .is-productsShowcase .p-fv-products__list {
    column-gap: 0.625rem;
  }
}

.is-productsShowcase .p-fv-products__list .p-fv-products__cardTag,
.is-productsShowcase .p-fv-products__list .p-fv-products__cardText,
.is-productsShowcase .p-fv-products__list .p-fv-products__cardPrice,
.is-productsShowcase .p-fv-products__list .p-fv-products__cardSpec,
.is-productsShowcase .p-fv-products__list .p-fv-products__cardPoints {
  display: none;
}

.is-productsShowcase .p-fv-products__list .p-fv-products__cardTitle {
  margin-top: 0.375rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .is-productsShowcase .p-fv-products__list .p-fv-products__cardTitle {
    font-size: 0.75rem;
  }
}

.is-productsShowcase .p-fv-products__item.is-current .p-fv-products__cardTitle {
  text-decoration: underline;
  text-decoration-color: #d99a2b;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.375rem;
}

@keyframes p-fv-products-stageIn {
  from {
    opacity: 0;
    transform: translateX(1rem);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-fv-products__stage .p-fv-products__card {
    animation: none;
  }
}
.p-fv-order {
  padding: 6.875rem 2.5rem;
  background-color: #f0f6f8;
}
@media screen and (max-width: 767px) {
  .p-fv-order {
    padding: 4rem 1.25rem;
  }
}

.p-fv-order__inner {
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-order__inner {
    max-width: 35rem;
  }
}

.p-fv-order__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 2rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-order__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem 1.25rem;
    margin-top: 2rem;
  }
}

.p-fv-order__item {
  padding-top: 1rem;
  border-top: 2px solid #5b3a26;
}

.p-fv-order__step {
  font-variant-numeric: lining-nums;
  display: block;
  color: #00873c;
  font-family: "Cormorant Garamond", serif;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-fv-order__step {
    font-size: 2.375rem;
  }
}

.p-fv-order__itemTitle {
  margin-top: 0.625rem;
  color: #5b3a26;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-fv-order__itemTitle {
    margin-top: 0.375rem;
    font-size: 1rem;
  }
}

.p-fv-order__itemText {
  margin-top: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-fv-order__itemText {
    font-size: 0.875rem;
  }
}

.p-fv-order__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 3rem;
  margin-top: 3.5rem;
  padding: 2.5rem 3.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-fv-order__box {
    display: block;
    margin-top: 2.5rem;
    padding: 1.75rem 1.25rem;
    text-align: center;
  }
}

.p-fv-order__boxTitle {
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-fv-order__boxTitle {
    font-size: 1.375rem;
  }
}

.p-fv-order__boxText {
  margin-top: 0.625rem;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-fv-order__boxText {
    font-size: 0.875rem;
    text-align: left;
  }
}

.p-fv-order__friend {
  display: inline-block;
  margin-top: 1.25rem;
}
.p-fv-order__friend:hover {
  opacity: 0.8;
}

.p-fv-order__friendImg {
  width: 10.875rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-fv-order__friendImg {
    width: 11.625rem;
  }
}

.p-fv-order__qr {
  flex-shrink: 0;
  text-align: center;
}

.p-fv-order__qrImg {
  width: 8.25rem;
}

.p-fv-order__qrText {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1.5;
}

.p-fv-order__notes {
  margin-top: 2.5rem;
  border-top: 1px solid #e2d6c2;
}
@media screen and (max-width: 767px) {
  .p-fv-order__notes {
    margin-top: 2rem;
  }
}

.p-fv-order__note {
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  padding: 1.125rem 0;
  border-bottom: 1px solid #e2d6c2;
}
@media screen and (max-width: 767px) {
  .p-fv-order__note {
    display: block;
    padding: 0.875rem 0;
  }
}

.p-fv-order__noteTitle {
  color: #5b3a26;
  font-size: 1rem;
  font-weight: 700;
}

.p-fv-order__noteText {
  font-size: 0.875rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-fv-order__noteText {
    margin-top: 0.25rem;
  }
}

.p-fv-shops {
  padding: 6.875rem 2.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-fv-shops {
    padding: 4rem 1.25rem;
  }
}

.p-fv-shops__inner {
  display: grid;
  grid-template-columns: 23.75rem 1fr;
  column-gap: 4.5rem;
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-shops__inner {
    max-width: 35rem;
    display: block;
  }
}

.p-fv-shops__text {
  margin-top: 1.25rem;
  font-size: 1rem;
}

.p-fv-shops__fact {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.375rem;
  margin-top: 1.25rem;
  color: #5b3a26;
}

.p-fv-shops__factLabel {
  margin-right: 0.375rem;
  font-size: 0.875rem;
  font-weight: 700;
}

.p-fv-shops__factValue {
  font-variant-numeric: lining-nums;
  font-family: "Cormorant Garamond", serif;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-fv-shops__factValue {
    font-size: 2.75rem;
  }
}

.p-fv-shops__factUnit {
  font-size: 1rem;
  font-weight: 700;
}

.p-fv-shops__factNote {
  margin-left: 0.5rem;
  color: #8a6a52;
  font-size: 0.75rem;
}

.p-fv-shops__media {
  margin-top: 0.75rem;
  font-size: 0.875rem;
}

.p-fv-shops__mediaLink {
  margin-left: 0.5rem;
  color: #4e6b30;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.p-fv-shops__mediaLink:hover {
  opacity: 0.7;
}

.p-fv-shops__figure {
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-fv-shops__figure {
    width: 12.5rem;
  }
}

.p-fv-shops__img {
  width: 15rem;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-fv-shops__img {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-fv-shops__body {
    margin-top: 2.25rem;
  }
}

.p-fv-shops__listTitle {
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.p-fv-shops__listTitle--store {
  margin-top: 2.25rem;
}

.p-fv-shops__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.5rem;
  margin-top: 0.75rem;
  border-top: 1px solid #e2d6c2;
}
@media screen and (max-width: 767px) {
  .p-fv-shops__list {
    grid-template-columns: 1fr;
  }
}

.p-fv-shops__item {
  border-bottom: 1px solid #e2d6c2;
}

.p-fv-shops__item--wide {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 1rem;
  padding-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-fv-shops__item--wide {
    display: block;
  }
}

.p-fv-shops__link {
  position: relative;
  display: block;
  padding: 0.875rem 1.75rem 0.875rem 0;
  color: #5b3a26;
  font-size: 1rem;
  font-weight: 500;
}
.p-fv-shops__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.25rem;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.p-fv-shops__link:hover {
  color: #4e6b30;
}

.p-fv-shops__item--wide .p-fv-shops__link {
  padding-bottom: 0;
}
.p-fv-shops__item--wide .p-fv-shops__link::after {
  top: calc(50% + 0.4375rem);
}

.p-fv-shops__itemNote {
  font-size: 0.875rem;
  color: #8a6a52;
}

.p-fv-news {
  padding: 6.875rem 2.5rem;
  background-color: #f0f6f8;
}
@media screen and (max-width: 767px) {
  .p-fv-news {
    padding: 4rem 1.25rem 4.5rem;
  }
}

.p-fv-news__inner {
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-news__inner {
    max-width: 35rem;
  }
}

.p-fv-news__inner > .c-title {
  text-align: center;
}

.p-fv-news__columns {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: start;
  column-gap: 4.5rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 1000px) {
  .p-fv-news__columns {
    column-gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-fv-news__columns {
    display: block;
    margin-top: 2.25rem;
  }
}

.p-fv-news__subTitle {
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.p-fv-news__list {
  margin-top: 1rem;
  border-top: 1px solid #e2d6c2;
}

.p-fv-news__item {
  display: grid;
  grid-template-columns: 6.875rem 1fr;
  column-gap: 1rem;
  padding: 1.125rem 0;
  border-bottom: 1px solid #e2d6c2;
}
@media screen and (max-width: 767px) {
  .p-fv-news__item {
    display: block;
    padding: 0.875rem 0;
  }
}

.p-fv-news__date {
  font-variant-numeric: lining-nums;
  color: #4e6b30;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.125rem;
  font-style: italic;
  font-weight: 500;
}

.p-fv-news__itemText {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-fv-news__itemText {
    margin-top: 0.125rem;
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-fv-news__instagram {
    margin-top: 3rem;
  }
}

.p-fv-news__instagramText {
  margin-top: 0.75rem;
  font-size: 1rem;
}

.p-fv-news__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.375rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-fv-news__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-fv-news__gridLink {
  display: block;
  overflow: hidden;
  border-radius: 0.25rem;
}
.p-fv-news__gridLink:hover {
  opacity: 0.8;
}

.p-fv-news__gridImg {
  width: 100%;
  border-radius: 0.25rem;
  aspect-ratio: 1;
  object-fit: cover;
}

.p-fv-news__button {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-fv-news__button {
    margin: 1.5rem auto 0;
  }
}

.p-fv-compost {
  padding: 6.875rem 2.5rem;
  background-color: #f6f8ec;
}
@media screen and (max-width: 767px) {
  .p-fv-compost {
    padding: 4rem 1.25rem;
  }
}

.p-fv-compost__inner {
  display: grid;
  grid-template-columns: 1fr 32.5rem;
  align-items: center;
  column-gap: 4rem;
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-fv-compost__inner {
    max-width: 35rem;
    display: block;
  }
}

.p-fv-compost__text {
  margin-top: 1.25rem;
  font-size: 1rem;
}

.p-fv-compost__button {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-fv-compost__button {
    margin: 1.75rem auto 0;
  }
}

.p-fv-compost__photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-fv-compost__photos {
    margin-top: 2.25rem;
    gap: 0.5rem;
  }
}

.p-fv-compost__photo--main {
  grid-column: 1/-1;
}

.p-fv-compost__img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 0.625rem;
}

.p-fv-compost__photo--main .p-fv-compost__img {
  aspect-ratio: 16/10;
}

.p-fv-compost__report {
  display: grid;
  grid-template-columns: 9.375rem 1fr;
  align-items: start;
  column-gap: 1.5rem;
  margin-top: 1.75rem;
  padding: 1.25rem;
  background-color: #ffffff;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-fv-compost__report {
    grid-template-columns: 6rem 1fr;
    column-gap: 0.875rem;
    padding: 0.875rem;
  }
}

.p-fv-compost__reportLink {
  display: block;
  border: 1px solid #e2d6c2;
}
.p-fv-compost__reportLink:hover {
  opacity: 0.8;
}

.p-fv-compost__reportImg {
  width: 100%;
  height: auto;
}

.p-fv-compost__reportTitle {
  color: #5b3a26;
  font-family: "Zen Kurenaido", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
}

.p-fv-compost__reportNote {
  margin-top: 0.125rem;
  color: #8a6a52;
  font-size: 0.75rem;
}

.p-fv-compost__reportDate {
  white-space: nowrap;
}

.p-fv-compost__elements {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.25rem;
  margin-top: 0.625rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-fv-compost__elements {
    grid-template-columns: 1fr;
  }
}

.p-fv-compost__element {
  display: flex;
  justify-content: space-between;
  padding: 0.1875rem 0;
  border-bottom: 1px dotted #e2d6c2;
}

.p-fv-compost__element dd {
  font-variant-numeric: lining-nums;
  color: #5b3a26;
  font-weight: 700;
}

.p-fv-compost__reportMore {
  display: inline-block;
  margin-top: 0.75rem;
  color: #4e6b30;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.p-fv-compost__reportMore:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

.u-sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: block !important;
  }
}

.u-sp-1320 {
  display: none !important;
}
@media screen and (max-width: 1320px) {
  .u-sp-1320 {
    display: block !important;
  }
}

.u-sp-inline {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp-inline {
    display: inline-block !important;
  }
}

.u-sp-flex {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp-flex {
    display: flex !important;
  }
}
