@charset "UTF-8";

:root {
  --text: #fff;
  --black: #242424;
  --brown: #422B25;
  --yellow: #D3C272;
  --orange: #FF6200;
  --gold: #D4CFB0;
  --white: #fff;
  --gothic: Noto Sans JP, Helvetica Neue, Helvetica, Hiragino Sans, Hiragino Kaku Gothic ProN, Arial, Yu Gothic, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
  --serif: Noto Serif JP, Times New Roman, 游明朝体, Yu Mincho, YuMincho, ヒラギノ明朝 Pro, Hiragino Mincho Pro, MS P明朝, MS PMincho, serif;
  --en: Cinzel, Noto Serif JP, Times New Roman, 游明朝体, Yu Mincho, YuMincho, ヒラギノ明朝 Pro, Hiragino Mincho Pro, MS P明朝, MS PMincho, serif;
  --oswald: Oswald, Noto Sans JP, Helvetica Neue, Helvetica, Hiragino Sans, Hiragino Kaku Gothic ProN, Arial, Yu Gothic, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
  --headerHeight: 102px;
  --headerMenu: 42px;
  --innerWidth: calc(100% - 20px);
  --innerMax: 600px;
  --innerOut: calc((100% - var(--innerMax) + 20px) / 2);
  --ls: 0;
  --lh: 1.7;
  --speed: 0.4s;
  --btnColor: transparent;
  --shadowColor: trasnparent;
  --shadow: 0 0 0 0 #000;
  --txtColor: transparent;
}

@media screen and (min-width: 1024px) {
  :root {
    --headerHeight: 126px;
    --headerMenu: 50px;
  }
}

@media screen and (min-width: 768px) {
  :root {
    --innerWidth: calc(100% - 40px);
    --innerMax: 1000px;
    --innerOut: calc((100% - var(--innerMax) + 40px) / 2);
  }
}

@media screen and (min-width: 1240px) {
  :root {
    --innerOut: calc((100% - var(--innerMax)) / 2);
  }
}

* {
  letter-spacing: var(--ls);
  line-height: var(--lh);
}

html {
  margin: 0 !important;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

html:has(.header.open) {
  overflow-y: hidden;
}

body {
  margin: 0;
  background: var(--brown);
  color: var(--text);
  font-size: 16px;
  font-family: var(--serif);
  font-weight: 400;
  overflow-x: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: relative;
}

body::-webkit-scrollbar {
  display: none;
}

main {
  margin-top: var(--headerHeight);
}

@media screen and (min-width: 768px) {
  main {
    margin-top: 0;
  }
}

section {
  position: relative;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  color: currentColor;
  text-decoration: none;
  cursor: pointer;
  transition: var(--speed);
}

a:hover {
  outline-width: 0;
  text-decoration: none;
  opacity: 0.8;
}

a.underline {
  text-decoration: underline;
}

a.underline:hover {
  text-decoration: none;
}

a.disabled {
  pointer-events: none;
}

/*@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}*/

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  object-fit: contain;
  vertical-align: bottom;
}

strong {
  font-weight: 700;
}

picture {
  display: contents;
}

/* ============= common class ================ */
.disp_none {
  display: none !important;
}

@media screen and (max-width: 575px) {
  .disp_sm {
    display: none !important;
  }
}

@media screen and (min-width: 576px) {
  .disp_xs {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {

  .disp_tab,
  .disp_pc,
  .disp_notsp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .disp_sm {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {

  .disp_sp,
  .disp_pc {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {

  .disp_sp,
  .disp_tab,
  .disp_notpc {
    display: none !important;
  }
}

.en {
  font-family: var(--en);
}

.oswald {
  font-family: var(--oswald);
}

.gothic {
  font-family: var(--gothic);
}

.block {
  width: 100%;
  display: block;
}

.js-collapse {
  cursor: pointer;
}

.txt--text {
  color: var(--text);
}

.txt--white {
  color: var(--white);
}

.txt--brown {
  color: var(--brown);
}

.txt--yellow {
  color: var(--yellow);
}

.txt--gold {
  color: var(--gold);
}

.txt--orange {
  color: var(--orange);
}

.bg--black {
  background-color: var(--black);
  color: var(--white);
}

.bg--white {
  background-color: var(--white);
  color: var(--brown);
}

.bg--yellow {
  background-color: var(--yellow);
  color: var(--brown);
}

.bg--brown {
  background-color: var(--brown);
  color: var(--white);
}

.bg--gold {
  background-color: var(--gold);
  color: var(--brown);
}

.bg--sand {
  background: url(../images/bg_sand.jpg) center top/100% repeat;
}

.px {
  padding-left: 10px;
  padding-right: 10px;
}

.fit {
  position: relative;
  overflow: hidden;
}

.fit__item {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

/* ============= common parts ================ */
.inner {
  width: var(--innerWidth);
  max-width: var(--innerMax);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .inner {
    max-width: var(--innerMax);
  }
}

/*------------------------------------------------------
    header
-------------------------------------------------------*/
.header {
  width: 100%;
  height: var(--headerHeight);
  background-color: var(--brown);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
}

.header.open .header__subMenu {
  opacity: 0;
}

.header.open .header__btmBlk::after {
  display: none;
}

@media screen and (min-width: 768px) {
  .header {
    background-color: transparent;
  }
}

.header__topBlk {
  height: calc(var(--headerHeight) - var(--headerMenu));
  background-color: rgba(66, 43, 37, 0.8);
}

.header__topBlk_inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .header__topBlk_inner {
    --innerMax: 1320px;
  }
}

.header__btmBlk {
  height: var(--headerMenu);
  background-color: rgba(255, 255, 255, 0.6);
  display: flex;
  position: relative;
}

.header__btmBlk::after {
  content: "";
  width: 30px;
  height: 100%;
  background: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M9.96078 9.39828L4.33578 15.0233C4.23023 15.1288 4.08708 15.1881 3.93781 15.1881C3.78855 15.1881 3.64539 15.1288 3.53984 15.0233C3.4343 14.9177 3.375 14.7746 3.375 14.6253C3.375 14.476 3.4343 14.3329 3.53984 14.2273L8.76758 9.00031L3.53984 3.77328C3.4343 3.66773 3.375 3.52458 3.375 3.37531C3.375 3.22605 3.4343 3.08289 3.53984 2.97734C3.64539 2.8718 3.78855 2.8125 3.93781 2.8125C4.08708 2.8125 4.23023 2.8718 4.33578 2.97734L9.96078 8.60234C10.0131 8.65458 10.0546 8.71662 10.0829 8.78491C10.1112 8.8532 10.1258 8.92639 10.1258 9.00031C10.1258 9.07423 10.1112 9.14743 10.0829 9.21572C10.0546 9.284 10.0131 9.34604 9.96078 9.39828ZM15.5858 8.60234L9.96078 2.97734C9.85523 2.8718 9.71208 2.8125 9.56281 2.8125C9.41355 2.8125 9.27039 2.8718 9.16484 2.97734C9.0593 3.08289 9 3.22605 9 3.37531C9 3.52458 9.0593 3.66773 9.16484 3.77328L14.3926 9.00031L9.16484 14.2273C9.0593 14.3329 9 14.476 9 14.6253C9 14.7746 9.0593 14.9177 9.16484 15.0233C9.27039 15.1288 9.41355 15.1881 9.56281 15.1881C9.71208 15.1881 9.85523 15.1288 9.96078 15.0233L15.5858 9.39828C15.6381 9.34604 15.6796 9.284 15.7079 9.21572C15.7362 9.14743 15.7508 9.07423 15.7508 9.00031C15.7508 8.92639 15.7362 8.8532 15.7079 8.78491C15.6796 8.71662 15.6381 8.65458 15.5858 8.60234Z" fill="%23fff"/></svg>') center/18px no-repeat;
  display: block;
  position: absolute;
  top: 0;
  right: 78px;
  z-index: 1;
  opacity: 0;
  transition: var(--speed);
}

.header__btmBlk.is-scrollable::after {
  opacity: 1;
}

@media screen and (min-width: 1024px) {
  .header__btmBlk::after {
    right: 0;
  }
}

.header__ttl {
  margin-left: -7px;
  display: flex;
  align-items: center;
  grid-gap: 1px;
}

.header__ttl_logo {
  width: 78px;
  flex-shrink: 0;
}

.header__ttl_txtWrap {
  width: 100%;
  margin: 5px 0 0 0;
  display: flex;
  flex-direction: column;
}

.header__ttl_shopName {
  color: var(--white);
  font-size: 12px;
  --lh: 1;
}

.header__ttl_shopTxt {
  width: 150px;
  margin: -2px 0 0 -7px;
}

@media screen and (min-width: 1024px) {
  .header__ttl {
    margin-left: -10px;
    grid-gap: 4px;
  }

  .header__ttl_logo {
    width: 108px;
  }

  .header__ttl_txtWrap {
    margin-top: 13px;
  }

  .header__ttl_shopName {
    font-size: 16px;
  }

  .header__ttl_shopTxt {
    width: 193px;
    margin: -5px 0 0 -11px;
  }
}

.header__navWrap {
  transition: var(--speed);
}

@media screen and (max-width: 1023px) {
  .header__navWrap {
    width: 100%;
    height: calc(100vh - var(--headerHeight));
    padding: 40px 20px 60px;
    background-color: var(--black);
    position: fixed;
    top: var(--headerHeight);
    left: 0;
    z-index: 1;
    transform: scale(1, 0);
    transform-origin: top;
    overflow-y: scroll;
    opacity: 0;
    pointer-events: none;
  }

  .header__navWrap.visible {
    transform: scale(1, 1);
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 1024px) {
  .header__navWrap {
    margin: 0 20px 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
}

.header__navWrap_gnavWrap {
  display: contents;
}

.header__navWrap_btnWrap {
  width: 165px;
  display: grid;
  grid-template-rows: repeat(2, 41px);
  grid-gap: 16px;
}

.header__navWrap_btnWrap .header__btnWrap_btn--contact {
  border: 1px solid #fff;
}

.header__gnav a {
  font-weight: 500;
  --lh: 1;
  white-space: nowrap;
}

.header__gnav .sub-menu {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition: var(--speed);
}

.header__gnav .sub-menu a {
  padding-left: 10px;
  font-size: 16px;
}

.header__gnav .sub-menu a::before {
  right: 10px;
}

.header__gnav .sub-menu a::after {
  display: none;
}

.header__gnav .sub-menu.visible {
  max-height: 10000px;
  margin-top: 20px;
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 1023px) {
  .header__gnav {
    display: grid;
    grid-gap: 18px;
  }

  .header__gnav li:has(.sub-menu)>a::before {
    transform: rotate(90deg);
  }

  .header__gnav li:has(.sub-menu)>a.open::before {
    transform: rotate(270deg);
  }

  .header__gnav a {
    width: 100%;
    padding-bottom: 21px;
    font-size: 18px;
    display: block;
    position: relative;
  }

  .header__gnav a::before {
    content: "";
    width: 24px;
    height: 24px;
    background: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M17.031 12.531L9.53104 20.031C9.46136 20.1007 9.37863 20.156 9.28759 20.1937C9.19654 20.2314 9.09896 20.2508 9.00042 20.2508C8.90187 20.2508 8.80429 20.2314 8.71324 20.1937C8.6222 20.156 8.53947 20.1007 8.46979 20.031C8.40011 19.9614 8.34483 19.8786 8.30712 19.7876C8.26941 19.6965 8.25 19.599 8.25 19.5004C8.25 19.4019 8.26941 19.3043 8.30712 19.2132C8.34483 19.1222 8.40011 19.0395 8.46979 18.9698L15.4401 12.0004L8.46979 5.03104C8.32906 4.89031 8.25 4.69944 8.25 4.50042C8.25 4.30139 8.32906 4.11052 8.46979 3.96979C8.61052 3.82906 8.80139 3.75 9.00042 3.75C9.19944 3.75 9.39031 3.82906 9.53104 3.96979L17.031 11.4698C17.1008 11.5394 17.1561 11.6222 17.1938 11.7132C17.2316 11.8043 17.251 11.9019 17.251 12.0004C17.251 12.099 17.2316 12.1966 17.1938 12.2876C17.1561 12.3787 17.1008 12.4614 17.031 12.531Z" fill="%23FF6200"/></svg>') center/contain no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transition: var(--speed);
  }

  .header__gnav a::after {
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #D3C272 70px, #fff 70px);
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .header__gnav .sub-menu li:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.1);
  }

  .header__gnav .sub-menu a {
    padding: 10px 70px 10px 10px;
    white-space: pre-wrap;
  }

  .header__gnav .sub-menu a::before {
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 1024px) {
  .header__gnav {
    margin-top: -5px;
    display: flex;
    justify-content: flex-end;
    grid-gap: 20px;
  }

  .header__gnav a {
    font-size: 14px;
  }

  .header__gnav .sub-menu {
    display: none;
  }

  .header__gnav .disp_header-sp {
    display: none;
  }
}

.header__telInfo {
  display: flex;
  align-items: center;
  grid-gap: 9px;
}

.header__telInfo_txt {
  font-size: 12px;
}

.header__telInfo_tel {
  font-size: 24px;
  font-weight: 500;
  display: flex;
  align-items: center;
  grid-gap: 6px;
}

.header__telInfo_tel::before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../images/icon-telcircle.svg) center/contain no-repeat;
  display: block;
  flex-shrink: 0;
}

.header__btnsWrap {
  width: 130px;
  padding-bottom: 4px;
}

.header__btnsWrap_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 40px);
  grid-gap: 6px;
}

.header__btnsWrap .contactBtn {
  --shadow: 0 4px 0 0 var(--shadowColor);
  height: 100%;
  padding: 0 0 2px;
  border-radius: 2px;
  font-size: 10px;
  font-weight: 700;
  text-shadow: 1px 1px 0 var(--shadowColor);
  --lh: 1;
  justify-content: center;
}

.header__btnsWrap .contactBtn--tel {
  --shadowColor: #9E850D;
}

.header__btnsWrap .contactBtn--tel img {
  width: 19px;
  margin-bottom: 2px;
}

.header__btnsWrap .contactBtn--mail {
  --shadowColor: #B04300;
}

.header__btnsWrap .contactBtn--mail img {
  width: 20px;
}

.header__btnsWrap .contactBtn:hover {
  transform: translateY(4px);
}

.header__btnsWrap .contactBtn img {
  filter: drop-shadow(1px 1px 0 var(--shadowColor));
}

@media screen and (min-width: 1024px) {
  .header__btnsWrap {
    width: 214px;
    padding-bottom: 2px;
  }

  .header__btnsWrap_list {
    display: contents;
  }

  .header__btnsWrap .contactBtn {
    height: 47px;
    flex-direction: row;
  }

  .header__btnsWrap .contactBtn--mail {
    --btnColor: var(--orange);
    font-size: 20px;
    font-weight: 700;
    grid-gap: 10px;
  }

  .header__btnsWrap .contactBtn--mail img {
    width: 24px;
  }
}

.header__subMenu {
  width: calc(100% - 108px);
  padding: 0 0 0 20px;
  margin-right: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
  transition: var(--speed);
}

.header__subMenu::-webkit-scrollbar {
  display: none;
}

.header__subMenu_list {
  width: 100%;
  height: 100%;
  color: var(--brown);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  display: flex;
  align-items: center;
  grid-gap: 20px;
}

.header__subMenu_list a {
  position: relative;
  z-index: 1;
}

.header__subMenu_list a::before {
  content: "";
  width: 100%;
  height: 8px;
  background-color: #F6DA82;
  display: block;
  position: absolute;
  bottom: 2px;
  left: 0;
  z-index: -1;
  opacity: 0;
}

.header__subMenu_list li.current a::before {
  opacity: 1;
}

@media screen and (min-width: 1024px) {
  .header__subMenu {
    width: calc(100% - 30px);
  }

  .header__subMenu_list {
    margin-top: -3px;
    font-size: 16px;
    justify-content: center;
    grid-gap: 40px;
  }
}

@media screen and (min-width: 1240px) {
  .header__subMenu {
    width: 100%;
    margin-right: 0;
  }
}

.header__spToggler {
  width: 78px;
  height: 100%;
  padding: 5px 0 0;
  border-color: var(--brown);
  border-style: solid;
  border-width: 0 0 0 1px;
  border-radius: 0;
  color: var(--brown);
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  grid-gap: 4px;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
  z-index: 1;
}

.header__spToggler::after {
  content: "MENU";
  margin-top: -3px;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--en);
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
}

.header__spToggler:focus {
  outline: 0;
  box-shadow: none;
}

.header__spToggler span {
  width: 50px;
  height: 2px;
  background: var(--brown);
  display: block;
  position: absolute;
  top: 9px;
  left: 50%;
  transform: translateX(-50%);
  transition: var(--speed);
}

.header__spToggler span+span {
  margin-top: 6px;
}

.header__spToggler span+span+span {
  margin-top: 12px;
}

.header__spToggler.open {
  border-color: transparent;
}

.header__spToggler.open::after {
  content: "CLOSE";
}

.header__spToggler.open span {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%) rotate(15deg);
}

.header__spToggler.open span+span {
  top: 9px;
  transform: translateX(-50%) rotate(-15deg);
}

.header__spToggler.open span+span+span {
  transform: scale(0);
}

/*------------------------------------------------------
    footer
-------------------------------------------------------*/
.footer {
  padding: 38px 0 90px;
}

@media screen and (min-width: 768px) {
  .footer {
    padding: 42px 0 85px;
  }
}

.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .footer__inner {
    padding: 0;
  }
}

.footer__logo {
  width: 193px;
  margin-bottom: 9px;
}

.footer__storeName {
  margin-bottom: 48px;
  font-size: 14px;
  --lh: 1.4;
}

@media screen and (min-width: 768px) {
  .footer__storeName {
    margin-bottom: 56px;
  }
}

.footer__row {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 47px;
}

@media screen and (min-width: 768px) {
  .footer__row {
    flex-direction: row;
    align-items: flex-start;
    grid-gap: 40px;
  }
}

.footer__navWrap {
  width: 100%;
}

.footer__navWrap .header__gnav .sub-menu li:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}

.footer__navWrap .header__gnav .sub-menu a {
  padding: 10px 70px 10px 10px;
  font-size: 16px;
  white-space: pre-wrap;
}

.footer__navWrap .header__gnav .sub-menu a::before {
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.footer__navWrap .header__gnav .sub-menu a::after {
  display: none;
}

@media screen and (max-width: 1023px) {
  .footer__navWrap .header__gnav {
    display: grid;
    grid-gap: 18px;
  }

  .footer__navWrap .header__gnav a {
    width: 100%;
    padding-bottom: 21px;
    font-size: 18px;
    display: block;
    position: relative;
  }

  .footer__navWrap .header__gnav a::before {
    content: "";
    width: 24px;
    height: 24px;
    background: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M17.031 12.531L9.53104 20.031C9.46136 20.1007 9.37863 20.156 9.28759 20.1937C9.19654 20.2314 9.09896 20.2508 9.00042 20.2508C8.90187 20.2508 8.80429 20.2314 8.71324 20.1937C8.6222 20.156 8.53947 20.1007 8.46979 20.031C8.40011 19.9614 8.34483 19.8786 8.30712 19.7876C8.26941 19.6965 8.25 19.599 8.25 19.5004C8.25 19.4019 8.26941 19.3043 8.30712 19.2132C8.34483 19.1222 8.40011 19.0395 8.46979 18.9698L15.4401 12.0004L8.46979 5.03104C8.32906 4.89031 8.25 4.69944 8.25 4.50042C8.25 4.30139 8.32906 4.11052 8.46979 3.96979C8.61052 3.82906 8.80139 3.75 9.00042 3.75C9.19944 3.75 9.39031 3.82906 9.53104 3.96979L17.031 11.4698C17.1008 11.5394 17.1561 11.6222 17.1938 11.7132C17.2316 11.8043 17.251 11.9019 17.251 12.0004C17.251 12.099 17.2316 12.1966 17.1938 12.2876C17.1561 12.3787 17.1008 12.4614 17.031 12.531Z" fill="%23FF6200"/></svg>') center/contain no-repeat;
    display: block;
    position: absolute;
    right: 0;
    transition: var(--speed);
  }

  .footer__navWrap .header__gnav a::after {
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #D3C272 70px, #fff 70px);
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .footer__navWrap .header__gnav li:has(.sub-menu)>a::before {
    transform: rotate(90deg);
  }

  .footer__navWrap .header__gnav li:has(.sub-menu)>a.open::before {
    transform: rotate(270deg);
  }

  .footer__navWrap .header__gnav .sub-menu {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition: var(--speed);
  }

  .footer__navWrap .header__gnav .sub-menu.visible {
    max-height: 10000px;
    margin-top: 24px;
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 1024px) {
  .footer__navWrap .header__gnav {
    width: 100%;
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: flex-start;
    grid-gap: 18px 32px;
  }

  .footer__navWrap .header__gnav li.disp_header-sp {
    display: list-item;
  }

  .footer__navWrap .header__gnav li:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .footer__navWrap .header__gnav li:nth-child(3) {
    grid-column: 1;
    grid-row: 3/6;
  }

  .footer__navWrap .header__gnav li:nth-child(n+4) {
    grid-column: 2;
  }

  .footer__navWrap .header__gnav li:has(.sub-menu)>a::before {
    transform: rotate(90deg);
  }

  .footer__navWrap .header__gnav li:has(.sub-menu)>a.open::before {
    transform: rotate(270deg);
  }

  .footer__navWrap .header__gnav a {
    width: 100%;
    padding-bottom: 21px;
    font-size: 18px;
    display: block;
    position: relative;
  }

  .footer__navWrap .header__gnav a::before {
    content: "";
    width: 24px;
    height: 24px;
    background: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M17.031 12.531L9.53104 20.031C9.46136 20.1007 9.37863 20.156 9.28759 20.1937C9.19654 20.2314 9.09896 20.2508 9.00042 20.2508C8.90187 20.2508 8.80429 20.2314 8.71324 20.1937C8.6222 20.156 8.53947 20.1007 8.46979 20.031C8.40011 19.9614 8.34483 19.8786 8.30712 19.7876C8.26941 19.6965 8.25 19.599 8.25 19.5004C8.25 19.4019 8.26941 19.3043 8.30712 19.2132C8.34483 19.1222 8.40011 19.0395 8.46979 18.9698L15.4401 12.0004L8.46979 5.03104C8.32906 4.89031 8.25 4.69944 8.25 4.50042C8.25 4.30139 8.32906 4.11052 8.46979 3.96979C8.61052 3.82906 8.80139 3.75 9.00042 3.75C9.19944 3.75 9.39031 3.82906 9.53104 3.96979L17.031 11.4698C17.1008 11.5394 17.1561 11.6222 17.1938 11.7132C17.2316 11.8043 17.251 11.9019 17.251 12.0004C17.251 12.099 17.2316 12.1966 17.1938 12.2876C17.1561 12.3787 17.1008 12.4614 17.031 12.531Z" fill="%23FF6200"/></svg>') center/contain no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transition: var(--speed);
  }

  .footer__navWrap .header__gnav a::after {
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #D3C272 70px, #fff 70px);
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .footer__navWrap .header__gnav a:hover {
    color: rgba(255, 255, 255, 0.5);
    opacity: 1;
  }

  .footer__navWrap .header__gnav a:hover::before {
    transform: translateX(7px);
  }

  .footer__navWrap .header__gnav .sub-menu {
    display: block;
  }

  .footer__navWrap .header__gnav .sub-menu a {
    padding: 10px 30px 10px 10px;
  }

  .footer__navWrap .header__gnav .sub-menu a>span {
    display: none;
  }
}

.footer__btnWrap {
  width: 100%;
  max-width: 310px;
}

@media screen and (min-width: 768px) {
  .footer__btnWrap {
    width: 310px;
    flex-shrink: 0;
  }

  .footer__btnWrap .ctaArea__contactBlk_btnWrap {
    flex-direction: column;
    grid-gap: 20px;
  }
}

.footer__copyright {
  margin-top: 50px;
  font-size: 12px;
  --lh: 1.6;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .footer__copyright {
    margin-top: 30px;
  }
}

/*==================================================
====================================================
2026/01/08追加：サービスバナー
====================================================
==================================================*/
.service-banner {
  margin: 80px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 20px;
}

.service-banner__link {
  display: block;
  width: calc(50% - 10px);
}

.service-banner__img {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 767px) {
  .service-banner {
    margin: 40px auto 0;
  }

  .service-banner__link {
    width: 100%;
  }
}
/*==================================================
====================================================
2026/01/08追加：サービスバナー　ここまで
====================================================
==================================================*/