﻿:root{
  --color-paper: #fff;
  --color-paper-deep: #f1dfc6;
  --color-ink: #251d17;
  --color-muted: #35271e;/*695d50*/
  --color-gold: #d9952f;
  --color-gold-soft: #f3c86f;
  --color-bronze: #b5812d;
  --color-bluegreen: #244f5d;
  --color-theater-navy: #182d4e;
  --color-rust: #b95435;
  --color-rust-dark: #8a3929;
  --color-button-dark: #493b2b;/*5d4e37*/
  --color-button-brown: #35271e;
  --divider-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M602.45,3.86h0S572.9,116.24,281.94,120H923C632,116.24,602.45,3.86,602.45,3.86Z'/%3E%3C/svg%3E");
  --button-primary-bg: var(--color-button-dark);
  --button-secondary-bg: transparent;
  --color-white: #fffaf0;
  --font-display: "Kaisei Tokumin", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --font-serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --font-sans: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --type-label-size: 0.95vw;
  --type-label-tracking: 0.12em;
  --type-section-title: 3.05vw;
  --type-card-title: 1.38vw;
  --type-body-size: 1vw;
  --type-small-size: 0.92vw;
  --type-body-leading: 2;
  --type-body-tracking: 0.05em;
  --type-button-size: 1.067vw;
  --type-button-tracking: 0.1em;
  --header-height: 5vw;
}

/* base */

*{
  box-sizing: border-box;
}
html{
  color: var(--color-ink);
  background: var(--color-paper);
  font-family: var(--font-sans);
  line-height: 1.8;
}
body{
  min-width: 320px;
  background: var(--color-paper);
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
dl,
dd,
ul,
ol{
  margin: 0;
}
ul,
ol{
  padding: 0;
  list-style: none;
}
img{
  display: block;
  max-width: 100%;
}
.br_sp{
  display: none;
}
.br_pc{
  display: inline;
}
.dsp_sp{
  display: none;
}
.dsp_pc{
  display: block;
}
a{
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 1480px){
  :root{
    --type-label-size: 0.8788rem;
    --type-section-title: 2.8213rem;
    --type-card-title: 1.2765rem;
    --type-body-size: 0.925rem;
    --type-small-size: 0.851rem;
    --type-button-size: 0.987rem;
    --header-height: 4.625rem;
  }
}
@media screen and (max-width: 768px){
  :root{
    --type-label-size: 2.4vw;
    --type-card-title: 4.2vw;
    --type-body-size: 3.1vw;
    --type-small-size: 2.8vw;
    --type-button-size: 3vw;
    --space-label: 1.8vw;
    --space-text: 3vw;
    --space-card: 4vw;
    --space-block: 6vw;
    --space-panel: 5vw;
    --header-height: 11.7vw;
  }
  .br_sp{
    display: inline;
  }
  .br_pc{
    display: none;
  }
  .dsp_sp{
    display: block;
  }
  .dsp_pc{
    display: none;
  }
  body{
    background: var(--color-paper);
  }
}

/* common buttons */

.commonBtn{
  position: relative;
  font-family: var(--font-display);
  font-size: var(--type-button-size);
  font-weight: 800;
  letter-spacing: var(--type-button-tracking);
  text-indent: -0.35em;
  overflow: hidden;
  background-clip: padding-box;
  border: 0.07vw solid var(--common-btn-border-color, currentColor);
  border-radius: 0.45vw;
}
.commonBtn span{
  display: inline-flex;
  align-items: center;
  gap: 0.55vw;
  font-size: 1.12em;
}
.commonBtn[target="_blank"] > span::after{
  display: inline-block;
  flex: 0 0 auto;
  width: 0.92vw;
  height: 0.92vw;
  content: "";
  background: currentColor;
  transform: translateY(0.1em);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3h7v7'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3h7v7'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.commonBtn::after{
  position: absolute;
  right: 1.4vw;
  width: 0.56vw;
  height: 0.56vw;
  content: "";
  border-top: 0.1vw solid currentColor;
  border-right: 0.1vw solid currentColor;
  transform: rotate(45deg);
}
.commonBtnUnder{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 0;
  color: var(--color-button-dark);
  font-family: var(--font-sans);
  font-size: 1.14vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-indent: -0.35em;
  padding: 0 0.9vw 0.7vw 1.25vw;
  background: transparent;
  border: 0;
  border-bottom: 0.07vw solid currentColor;
  border-radius: 0;
}
.commonBtnUnder span{
  display: inline-flex;
  align-items: center;
  gap: 0.6vw;
}
.commonBtnUnder::after{
  content: none;
}
.commonBtnUnder span::after{
  display: block;
  flex: 0 0 auto;
  width: 0.58vw;
  height: 0.58vw;
  content: "";
  border-top: 0.11vw solid currentColor;
  border-right: 0.11vw solid currentColor;
  transform: translateY(0.12em) rotate(45deg);
}
@media screen and (min-width: 1480px){
  .commonBtn{
    border-width: 0.0648rem;
    border-radius: 0.4163rem;
  }
  .commonBtn span{
    gap: 0.5088rem;
  }
  .commonBtn::after{
    right: 1.295rem;
    width: 0.518rem;
    height: 0.518rem;
    border-top-width: 0.0925rem;
    border-right-width: 0.0925rem;
  }
  .commonBtn[target="_blank"] > span::after{
    width: 0.851rem;
    height: 0.851rem;
  }
  .commonBtnUnder{
    padding: 0 0.8325rem 0.6475rem 1.1563rem;
    font-size: 1.0545rem;
    border-bottom-width: 0.0648rem;
  }
  .commonBtnUnder span{
    gap: 0.555rem;
  }
  .commonBtnUnder span::after{
    width: 0.5365rem;
    height: 0.5365rem;
    border-top-width: 0.1018rem;
    border-right-width: 0.1018rem;
    transform: translateY(0.12em) rotate(45deg);
  }
}
@media screen and (max-width: 768px){
  .commonBtn{
    font-size: var(--type-button-size);
    letter-spacing: 0.05em;
    border-width: 0.32vw;
    border-radius: 1.6vw;
  }
  .commonBtn span{
    gap: 0.75vw;
  }
  .commonBtn::after{
    right: 3.5vw;
    width: 1.67vw;
    height: 1.67vw;
    border-top-width: 0.34vw;
    border-right-width: 0.34vw;
  }
  .commonBtn[target="_blank"] > span::after{
    width: 3.2vw;
    height: 3.2vw;
    transform: translateY(0.08em);
  }
  .commonBtnUnder{
    padding: 0 2vw 2vw 3vw;
    font-size: 3vw;
    letter-spacing: 0.08em;
    border-width: 0 0 0.24vw;
  }
  .commonBtnUnder span{
    gap: 1.6vw;
  }
  .commonBtnUnder span::after{
    width: 1.45vw;
    height: 1.45vw;
    background: none;
    border-top: 0.26vw solid currentColor;
    border-right: 0.26vw solid currentColor;
    transform: translateY(0.06em) rotate(45deg);
  }
}

/* layout utilities */

.wrapper{
  width: 100%;
  margin: 0 auto;
  padding-top: var(--header-height);
  overflow-x: hidden;
}
.sectionInner{
  width: min(100% - 120px, 1480px);
  margin: 0 auto;
}
@media screen and (max-width: 1200px){
  .sectionInner{
    width: 95vw;
  }
}
@media screen and (max-width: 768px){
  .sectionInner{
    width: 95vw;
  }
}

/* section titles */

.commonSectionTtl{
  position: relative;
  z-index: 2;
  padding: 2.4vw 0 4.2vw;
  background: var(--color-paper);
}
.commonSectionTtl hgroup{
  display: grid;
  justify-items: center;
  width: min(100% - 4.45vw, 68.06vw);
  margin: 0 auto;
  text-align: center;
}
.commonSectionTtl p{
  margin: 0;
  color: var(--color-gold);
  font-family: Georgia, serif;
  font-size: var(--type-label-size);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.commonSectionTtl h1{
  margin: 0.35vw 0 0;
  font-family: var(--font-display);
  font-size: 2.42vw;
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: 0.1em;
}
.commonSectionTtl .ornament{
  position: relative;
  left: auto;
  display: block;
  width: 0;
  height: 0;
  margin: 1.5vw auto 0;
  background: transparent;
  pointer-events: none;
}
.commonTtl{
  display: grid;
  justify-items: center;
  width: fit-content;
  margin: 0 auto 5vw;
  text-align: center;
}
.commonTtl p{
  margin: 1.5vw 0 0;
  color: var(--color-gold);
  font-family: Georgia, serif;
  font-size: var(--type-label-size);
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: var(--type-label-tracking);
}
.commonTtl h2{
  font-family: var(--font-display);
  font-size: var(--type-section-title);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1480px){
  .commonSectionTtl{
    padding: 2.22rem 0 3.885rem;
  }
  .commonSectionTtl hgroup{
    width: min(100% - 4.1163rem, 62.9555rem);
  }
  .commonSectionTtl h1{
    margin-top: 0.324rem;
    font-size: 2.2385rem;
  }
  .commonSectionTtl .ornament{
    height: 0;
    margin-top: 1.3875rem;
  }
  .commonTtl{
    margin-bottom: 4.625rem;
  }
  .commonTtl p{
    margin-top: 1.3875rem;
  }
}
@media screen and (max-width: 768px){
  .commonSectionTtl{
    padding: 6vw 0 9vw;
  }
  .commonSectionTtl hgroup{
    width: 90vw;
  }
  .commonSectionTtl h1{
    margin-top: 1.5vw;
    font-size: 6.1vw;
  }
  .commonSectionTtl .ornament{
    width: 0;
    height: 0;
    margin-top: 4.2vw;
  }
  .commonTtl{
    margin-bottom: 9vw;
  }
  .commonTtl h2{
    font-size: 6.8vw;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }
  .commonTtl p{
    margin-top: 2.8vw;
    font-size: 2.2vw;
  }
}

/* dividers */

.dividerSection{
  --divider-color: #fff;
  --section-top-space: 12vw;
  --section-side-space: 1.667vw;
  --section-bottom-space: 9.5vw;
  padding: var(--section-top-space) var(--section-side-space) var(--section-bottom-space);
}
.dividerSection::before{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  margin-top: -1px;
  width: 100%;
  height: 90px;
  content: "";
  background: var(--divider-color);
  mask: var(--divider-mask) center top / 100% 100% no-repeat;
  -webkit-mask: var(--divider-mask) center top / 100% 100% no-repeat;
  pointer-events: none;
  transform: rotate(180deg);
}
.dividerWhite{
  --divider-color: #fff;
}
.dividerGray{
  --divider-color: #f5f3ed;
}
@media screen and (max-width: 1200px){
  .dividerSection::before{
    height: 7vw;
  }
}
@media screen and (max-width: 768px){
  .dividerSection{
    --section-top-space: 17vw;
    --section-side-space: 0;
    --section-bottom-space: 12vw;
  }
  .dividerSection::before{
    height: 10.5vw;
  }
}

/* sub sections */

.commonSubSection{
  position: relative;
  background: rgba(255, 252, 245, 0.72);
  border: 0.069vw solid rgba(220, 160, 68, 0.7);
}
.commonSubSection::before{
  position: absolute;
  inset: 0.556vw;
  content: "";
  pointer-events: none;
  border: 0.069vw solid rgba(220, 160, 68, 0.46);
}
.commonSubSectionTtl{
  position: relative;
  display: table;
  margin: var(--common-sub-section-title-margin, 0 auto);
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: 1.85vw;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.commonSubSectionTtl::before,
.commonSubSectionTtl::after{
  position: absolute;
  top: 50%;
  width: 5.556vw;
  height: 0.694vw;
  content: "";
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 10,5 5,10 0,5' fill='%23d9952f'/%3E%3C/svg%3E") calc(100% - 1vw) 50% / 0.76vw 0.76vw no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 10,5 5,10 0,5' fill='%23f3c86f'/%3E%3C/svg%3E") 100% 50% / 0.5vw 0.5vw no-repeat,
    linear-gradient(var(--color-gold-soft), var(--color-gold-soft)) 0 50% / calc(100% - 1.25vw) 0.09vw no-repeat;
  transform: translateY(-50%);
}
.commonSubSectionTtl::before{
  right: calc(100% + 1.25vw);
}
.commonSubSectionTtl::after{
  left: calc(100% + 1.25vw);
  transform: translateY(-50%) scaleX(-1);
}
@media screen and (min-width: 1480px){
  .commonSubSection{
    border-width: 0.0638rem;
  }
  .commonSubSection::before{
    inset: 0.5143rem;
    border-width: 0.0638rem;
  }
  .commonSubSectionTtl{
    font-size: 1.7113rem;
  }
  .commonSubSectionTtl::before,
  .commonSubSectionTtl::after{
    width: 5.1393rem;
    height: 0.642rem;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 10,5 5,10 0,5' fill='%23d9952f'/%3E%3C/svg%3E") calc(100% - 0.925rem) 50% / 0.703rem 0.703rem no-repeat,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 10,5 5,10 0,5' fill='%23f3c86f'/%3E%3C/svg%3E") 100% 50% / 0.4625rem 0.4625rem no-repeat,
      linear-gradient(var(--color-gold-soft), var(--color-gold-soft)) 0 50% / calc(100% - 1.1563rem) 0.0833rem no-repeat;
  }
  .commonSubSectionTtl::before{
    right: calc(100% + 1.1563rem);
  }
  .commonSubSectionTtl::after{
    left: calc(100% + 1.1563rem);
  }
}
@media screen and (max-width: 768px){
  .commonSubSection{
    border-width: 0.2vw;
  }
  .commonSubSection::before{
    inset: 1.2vw;
    border-width: 0.2vw;
  }
  .commonSubSectionTtl{
    font-size: 5.2vw;
  }
  .commonSubSectionTtl::before,
  .commonSubSectionTtl::after{
    width: 13vw;
    height: 2vw;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 10,5 5,10 0,5' fill='%23d9952f'/%3E%3C/svg%3E") calc(100% - 2.3vw) 50% / 1.7vw 1.7vw no-repeat,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 10,5 5,10 0,5' fill='%23f3c86f'/%3E%3C/svg%3E") 100% 50% / 1.15vw 1.15vw no-repeat,
      linear-gradient(var(--color-gold-soft), var(--color-gold-soft)) 0 50% / calc(100% - 3vw) 0.2vw no-repeat;
  }
  .commonSubSectionTtl::before{
    right: calc(100% + 3vw);
  }
  .commonSubSectionTtl::after{
    left: calc(100% + 3vw);
  }
}

/* text utilities */

.sectionText{
  font-size: var(--type-body-size);
}
.sectionTextGap{
  margin-top: var(--space-text, 0);
}
@media screen and (max-width: 768px){
  .sectionText{
    font-size: var(--type-small-size);
  }
  .sectionTextGap{
    margin-top: var(--space-text);
  }
}

/* ornament */

.ornament{
  position: relative;
  width: 214px;
  height: 1px;
  margin: 2vw 0 2.25vw;
  background: var(--color-gold-soft);
}
.ornament::before,
.ornament::after{
  position: absolute;
  top: 50%;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
.ornament::before{
  left: 50%;
  width: 10px;
  height: 10px;
  background: var(--color-gold);
  transform: translate(-130%, -50%) rotate(45deg);
}
.ornament::after{
  left: 50%;
  width: 7px;
  height: 7px;
  background: var(--color-gold-soft);
  transform: translate(60%, -50%) rotate(45deg);
}
@media screen and (max-width: 768px){
  .ornament{
    width: 46vw;
    max-width: none;
    margin: 1.667vw auto 0;
  }
}

/* header */

.siteHeader{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  min-height: var(--header-height);
  color: var(--color-ink);
  font-family: var(--font-display);
  background: #fff;
  backdrop-filter: blur(0.83vw);
}
.headerInner{
  display: flex;
  align-items: center;
  gap: 2vw;
  width: min(100% - 4.45vw, 106.95vw);
  min-height: var(--header-height);
  margin-inline: auto;
}
.brand{
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.49vw;
}
.brandLogo{
  display: block;
  width: 18vw;
  height: auto;
}
.siteNav{
  flex: 1 1 auto;
}
.siteNav ul{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.35vw;
  list-style: none;
}
.siteNav a{
  display: block;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: 0.92vw;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
.siteNav a span{
  display: none;
  font-size: 0.85em;
  line-height: 1.7;
}
.menuToggle{
  display: none;
}
@media screen and (min-width: 1480px){
  .siteHeader{
    backdrop-filter: blur(0.7678rem);
  }
  .headerInner{
    gap: 1.85rem;
    width: min(100% - 4.1163rem, 98.9288rem);
  }
  .brand{
    gap: 0.4533rem;
  }
  .brandLogo{
    width: 16.65rem;
  }
  .siteNav ul{
    gap: 1.2488rem;
  }
  .siteNav a{
    font-size: 0.851rem;
  }
}
@media screen and (max-width: 768px){
  .siteHeader{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    min-height: var(--header-height);
  }
  .headerInner{
    align-items: center;
    width: 94vw;
    min-height: var(--header-height);
    padding-top: 0;
  }
  .brand{
    max-width: calc(100% - 12vw);
  }
  .brandLogo{
    width: 35vw;
  }
  .menuToggle{
    display: inline-grid;
    grid-template-rows: repeat(3, 1px);
    gap: 1.6vw;
    width: 8vw;
    height: 8vw;
    padding: 0;
    margin-top: 0;
    margin-left: auto;
    place-content: center;
    appearance: none;
    background: transparent;
    border: 0;
    line-height: 0;
  }
  .menuToggle span{
    display: block;
    width: 5.4vw;
    height: 1px;
    background: var(--color-ink);
    border-radius: 266vw;
    transition:
      opacity 0.2s ease,
      transform 0.28s ease;
  }
  .siteHeader.is-open .menuToggle span:nth-child(1){
    width: 5.4vw;
    transform: translateY(calc(1.6vw + 1px)) rotate(45deg);
  }
  .siteHeader.is-open .menuToggle span:nth-child(2){
    opacity: 0;
    transform: scaleX(0);
  }
  .siteHeader.is-open .menuToggle span:nth-child(3){
    width: 5.4vw;
    transform: translateY(calc(-1.6vw - 1px)) rotate(-45deg);
  }
  .siteNav{
    display: none;
  }
  .siteNav{
    position: absolute;
    top: var(--header-height);
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    padding: 4vw 6vw 6vw;
    visibility: hidden;
    opacity: 0;
    background: rgba(255, 255, 255, 0.98);
    border-radius: 0;
    box-shadow: 0 4vw 8vw rgba(47, 35, 22, 0.08);
    transform: translateY(-2vw);
    pointer-events: none;
    transition:
      opacity 0.28s ease,
      transform 0.28s ease,
      visibility 0.28s ease;
  }
  .siteHeader.is-open .siteNav{
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .siteNav ul{
    display: grid;
    grid-template-columns: 1fr;
    gap: 7vw;
    justify-content: stretch;
    padding: 3vw 0 8vw;
  }
  .siteNav a{
    position: relative;
    padding: 0;
    font-size: 4vw;
    line-height: 1.45;
    text-align: center;
  }
  .siteNav a::after{
    content: none;
  }
  .siteNav a span{
    display: inline;
    font-size: 0.85em;
  }
}

/* footer */

.siteFooter{
  position: relative;
  color: rgba(255, 250, 240, 0.88);
  font-family: var(--font-sans);
  background: #3e3b2b;
}
.footerInner{
  position: relative;
  width: 80vw;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 7vw;
  align-items: start;
  padding: 6vw 0 6vw 7vw;
}
.footerLogo .brandLogo{
  width: 20vw;
}
.footerBrand p{
  margin: 0.5vw 0 0;
  color: rgba(223, 207, 170, 0.86);
  font-family: var(--font-display);
  font-size: 1.18vw;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
  padding-left: 1.5vw;
}
.footerNav{
  display: grid;
  justify-self: end;
  width: 40vw;
}
.footerNavGroup{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1vw;
}
.footerNav a{
  color: rgba(255, 250, 240, 0.78);
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.04em;
  transition: color 0.2s ease;
}
.footerNav a span{
  font-size: 0.85em;
}
.footerNav a:hover{
  color: #fffaf0;
}
.footerBottom{
  position: relative;
  z-index: 1;
  padding: 1.25vw 1.667vw;
  color: rgba(255, 250, 240, 0.48);
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (min-width: 1480px){
  .footerInner{
    width: 74rem;
    gap: 6.475rem;
    padding: 5.55rem 0 5.55rem 6.475rem;
  }
  .footerLogo .brandLogo{
    width: 18.5rem;
  }
  .footerBrand p{
    margin-top: 0.4625rem;
    font-size: 1.0915rem;
    padding-left: 1.3875rem;
  }
  .footerNav{
    width: 37rem;
  }
  .footerNavGroup{
    gap: 0.925rem;
  }
  .footerNav a{
    font-size: 0.925rem;
  }
  .footerBottom{
    padding: 1.1563rem 1.542rem;
  }
}
@media screen and (max-width: 768px){
  .footerInner{
    grid-template-columns: 1fr;
    width: 88vw;
    gap: var(--space-block);
    padding: 12vw 0 8vw;
  }
  .footerNav a{
    font-size: 2.8vw;
  }
  .footerNav{
    order: 1;
    justify-self: stretch;
    width: 100%;
    padding-bottom: 5vw;
  }
  .footerBrand{
    order: 2;
    text-align: center;
  }
  .footerLogo{
    justify-content: center;
  }
  .footerLogo .brandLogo{
    width: 48vw;
    margin-inline: auto;
  }
  .footerBrand p{
    margin-top: 0.5vw;
    font-size: 3.3vw;
    padding-left: 2.5vw;
  }
  .footerNavGroup{
    gap: 2vw;
  }
  .footerBottom{
    font-size: 2.8vw;
    padding-bottom: 3vw;
  }
}
