@charset "UTF-8";
:root {
  /* spacing
  ===================================================== */
  --g-spacing-xs: 1rem;
  --g-spacing-s: 3rem;
  --g-spacing-m: 6rem;
  --g-spacing-l: 12rem;
  --g-spacing-xl: 16rem;
  --g-var-vw: 1512;
  /* コンテンツ幅
  ===================================================== */
  --g-var-vh: 790;
  --g-var-vw-min: 768;
  --g-var-vw-max: 1920;
  --g-var-vw-min-unit: 768px;
  --g-var-vw-max-unit: 1920px;
  /* line-height
  ===================================================== */
  --t-lineheight-xs: 1;
  --t-lineheight-s: 1.25;
  --t-lineheight-m: 1.5;
  --t-lineheight-l: 1.75;
  --t-lineheight-xl: 2;
  /* color
  ===================================================== */
  --c-text2: #fff;
  --c-text1: #333333;
  --c-sub-text: #D85926;
  --c-border: #D85926;
  --c-main: #D85926;
  --c-back: #CCCCCC;
  /* font-family
  ===================================================== */
  --g-font-family-jp: "dnp-shuei-gothic-gin-std", -apple-system, BlinkMacSystemFont, sans-serif;
  --g-font-family-en: "goudy-old-style", serif;
  --g-font-family-en-sub: "futura-pt", sans-serif;
  /* font-family
  ===================================================== */
  --g-font-size-xs: clamp(1rem, 1 / var(--g-var-vw)* 100* 12vw, 1.2rem);
  --g-font-size-s: clamp(1.2rem, 1 / var(--g-var-vw)* 100* 14vw, 1.4rem);
  --g-font-size-s-category: clamp(1.2rem, 1 / var(--g-var-vw)* 100* 20vw, 2rem);
  --g-font-size-m: clamp(1.6rem, 1 / var(--g-var-vw)* 100* 20vw, 2rem);
  --g-font-size-l: clamp(2.4rem, 1 / var(--g-var-vw)* 100* 48vw, 4.8rem);
  --g-font-size-xl: clamp(4rem, 1 / var(--g-var-vw)* 100* 56vw, 5.6rem);
  /* グリッド
  ===================================================== */
  --g-var-grid-col-pc: 12;
  --g-var-grid-col-tb: 8;
  --g-var-grid-col-sp: 4;
  --g-var-grid-col-gap-pc: 2rem;
  --g-var-grid-col-gap-tb: 1.5rem;
  --g-var-grid-col-gap-sp: 1rem;
  --g-var-grid-row-gap-pc: 2rem;
  --g-var-grid-row-gap-tb: 1.5rem;
  --g-var-grid-row-gap-sp: 1rem;
  /* ラディウス
  ===================================================== */
  --g-radius: 999px;
  /* header, footerの高さ
  ===================================================== */
  --g-menu-height: clamp(72px, calc(100vw / var(--g-var-grid-col-pc)* 0.75), 112px);
  --g-nav-height: clamp(60px, calc(100vw / var(--g-var-grid-col-pc)* 0.75), 80px);
  /* 変数
  ===================================================== */
  --gx: 10px;
  --gy: 10px;
}

/* common
===================================================== */
html,
body {
  font-size: 62.5%;
  overscroll-behavior-y: none;
  width: 100%;
  overflow-x: hidden;
  line-height: 1;
  scroll-behavior: smooth;
}

.no-scroll {
  overflow: hidden;
}

.wrapper {
  width: 100%;
}

* {
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

a {
  text-decoration: none;
}
a[href=""] {
  pointer-events: none;
}

@media (min-width: 1025px) {
  a:hover {
    opacity: 0.6;
  }
}

img,
video {
  width: 100%;
  display: block;
}

@media (min-width: 1025px) {
  .pcNone {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .spNone {
    display: none !important;
  }
}
.g-fixed {
  position: fixed;
  bottom: 6rem;
  right: 0;
  z-index: 5;
}
@media (min-width: 1025px) {
  .g-fixed {
    right: 4rem;
    bottom: 4rem;
  }
}
.g-fixed__btn {
  width: 6rem;
}

/* ------------------------
menu
------------------------ */
.g-menu {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5;
}
.g-menu__btn {
  cursor: pointer;
  height: var(--g-menu-height);
  pointer-events: auto;
  position: absolute;
  right: 0;
  text-align: right;
  top: 0;
  transition: transform 0.3s ease, top 0.3s ease;
  z-index: 10;
}
.g-menu__btn-inner {
  height: 100%;
  position: relative;
  width: 100%;
  padding: 0 var(--g-var-grid-row-gap-sp);
}
@media (min-width: 1025px) {
  .g-menu__btn-inner {
    padding: 0 var(--g-spacing-s);
  }
}
.g-menu__btn-body {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  height: 100%; /* 高さを100%に設定して内部のアイテムを中央揃えに */
  width: 100%; /* 必要に応じて設定 */
}
.g-menu__toggle {
  width: calc(var(--gx) * 3.2);
  height: calc(var(--gy) * 1.6);
  position: relative;
}
.g-menu__toggle .t {
  background-color: var(--c-main);
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  width: 100%;
  transition: transform 0.3s ease, top 0.3s ease;
}
.g-menu__toggle .t1 {
  transform: translateY(-8px);
}
.g-menu__toggle .t3 {
  transform: translateY(8px);
}
.g-menu__toggle.open .t1 {
  transform: translateY(-8px);
  transform: translateY(0px) rotate(45deg);
}
.g-menu__toggle.open .t2 {
  opacity: 0;
}
.g-menu__toggle.open .t3 {
  transform: translateY(8px);
  transform: translateY(0px) rotate(-45deg);
}
.g-menu__inner {
  background: var(--c-text2);
  height: 100%;
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
}
@media (min-width: 1025px) {
  .g-menu__inner {
    right: -33.3333%;
    width: 33.3333%;
    border-left: #D85926 1px solid;
  }
}
.g-menu__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: calc(var(--gx) * 6);
  padding: 0 var(--g-var-grid-col-gap-sp);
}
.g-menu__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gy);
  color: var(--c-main);
}
.g-menu__text1 {
  font-family: var(--g-font-family-en);
  font-weight: bold;
  font-size: 4rem;
}
.g-menu__text2 {
  font-family: var(--g-font-family-jp);
  font-size: 1.6rem;
}
.g-menu__items {
  pointer-events: auto;
  font-family: var(--g-font-family-jp);
  display: flex;
  flex-direction: column;
  gap: calc(var(--gy) * 3);
  font-size: var(--g-font-size-m);
  color: var(--c-main);
}
.g-menu__item {
  position: relative;
}
.g-menu__item::before {
  content: ">";
  display: inline-block;
  margin-right: calc(var(--gx) * 2);
}
.g-menu__item a {
  color: var(--c-main);
}
.g-menu__newsbtn {
  pointer-events: auto;
  width: 100%;
}
.g-menu__newsbtn-inner {
  width: 100%;
}
.g-menu__newsbtn-body {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--c-main);
  height: calc(var(--gx) * 6);
  width: 100%;
  font-size: 1.6rem;
  color: var(--c-text2);
  font-family: var(--g-font-family-jp);
}

/* ------------------------
hero
------------------------ */
.home-hero {
  height: 100%;
  position: relative;
  width: 100%;
}
.home-hero__inner {
  min-height: 70svh;
  position: relative;
  width: 100%;
}
@media (min-width: 1025px) {
  .home-hero__inner {
    min-height: 100svh;
  }
}
.home-hero__body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
}
@media (min-width: 768px) {
  .home-hero__body {
    grid-template-columns: repeat(8, 1fr);
    column-gap: var(--g-var-grid-col-gap-tb);
  }
}
@media (min-width: 1025px) {
  .home-hero__body {
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
  }
}
.home-hero__scroll {
  position: absolute;
  z-index: 3;
  bottom: var(--gy);
  right: var(--gy);
  display: flex;
  gap: var(--gx);
}
@media (min-width: 1025px) {
  .home-hero__scroll {
    right: 50%;
    transform: translateX(50%);
    bottom: calc(var(--gy) * 2);
  }
}
.home-hero__scroll-img {
  width: 1rem;
}
@media (min-width: 1025px) {
  .home-hero__scroll-img {
    width: 1.4rem;
  }
}
.home-hero__scroll-text {
  color: var(--c-text2);
  font-family: var(--g-font-family-en-sub);
  font-size: var(--g-font-size-s);
}
.home-hero__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  width: 24rem;
}
@media (min-width: 768px) {
  .home-hero__logo {
    width: 42rem;
  }
}
@media (min-width: 1025px) {
  .home-hero__logo {
    width: 56rem;
  }
}
.home-hero__img {
  position: relative;
  grid-column: 1/span 4;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .home-hero__img {
    grid-column: 1/span 8;
  }
}
@media (min-width: 1025px) {
  .home-hero__img {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column: 1/span 12;
  }
}
.home-hero__img-back {
  position: relative;
  width: 100%;
  height: 70svh;
}
@media (min-width: 1025px) {
  .home-hero__img-back {
    grid-column: 1/span 8;
    column-gap: var(--g-var-grid-col-gap-pc);
    height: 100svh;
  }
}
.home-hero__img-back::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/hero_sp.jpg);
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .home-hero__img-back::before {
    background-image: url(../images/hero_pc.jpg);
  }
}
.home-hero__img-front {
  position: absolute;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 70svh;
  overflow: hidden;
}
@media (min-width: 768px) {
  .home-hero__img-front {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media (min-width: 1025px) {
  .home-hero__img-front {
    grid-template-columns: repeat(12, 1fr);
    height: 100svh;
  }
}
.home-hero__img-front__items {
  grid-column: 1/span 1;
  animation: scrollUp 15s linear infinite;
}
@media (min-width: 768px) {
  .home-hero__img-front__items {
    grid-column: 1/span 2;
  }
}
@media (min-width: 1025px) {
  .home-hero__img-front__items {
    grid-template-columns: repeat(4, 1fr);
    grid-column: 9/span 4;
    display: flex;
    animation: none;
  }
}
@media (min-width: 1025px) {
  .home-hero__img-front__item:nth-child(1) {
    animation: scrollDown 20s linear infinite;
    grid-column: 9/span 2;
  }
}
@media (min-width: 1025px) {
  .home-hero__img-front__item:nth-child(2) {
    animation: scrollUp 20s linear infinite;
    grid-column: 11/span 2;
  }
}
.home-hero__img-front__item div {
  aspect-ratio: 100/161;
  width: 100%;
}
.home-hero__img-front__item div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@keyframes scrollUp {
  0% {
    transform: translateY(0); /* 上から始まる */
  }
  100% {
    transform: translateY(-50%); /* 上に50%移動 */
  }
}
@keyframes scrollDown {
  0% {
    transform: translateY(-50%); /* 上から始まる */
  }
  100% {
    transform: translateY(0); /* 下に50%移動 */
  }
}
/* ------------------------
nav
------------------------ */
.g-nav {
  opacity: 0; /* 初期状態で透明 */
  visibility: visible; /* 非表示でないことを確認 */
  width: 100%;
  position: fixed;
  z-index: 2;
  bottom: 0;
  height: 6rem;
  pointer-events: none;
}
@media (min-width: 1025px) {
  .g-nav {
    top: 50%;
    transform: translateY(-50%);
    bottom: initial;
    height: auto;
  }
}
.g-nav__inner {
  height: 100%;
}
.g-nav__body {
  padding: 0 var(--g-var-grid-col-gap-sp);
  width: 100%;
  height: 100%;
  padding: 0 var(--gx);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--c-text2);
  border: 1px var(--c-border) solid;
}
@media (min-width: 1025px) {
  .g-nav__body {
    padding: 0 var(--g-var-grid-col-gap-pc);
    border: none;
    background-color: inherit;
  }
}
.g-nav__items {
  width: 100%;
  display: flex;
  gap: var(--gx);
  align-items: center;
}
@media (min-width: 1025px) {
  .g-nav__items {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
    row-gap: var(--g-var-grid-row-gap-pc);
  }
}
.g-nav__item {
  width: 100%;
  height: 100%;
  text-align: center;
}
@media (min-width: 1025px) {
  .g-nav__item {
    grid-column: 1/span 1;
  }
}
.g-nav__item a {
  pointer-events: auto;
  width: 100%;
  font-family: var(--g-font-family-en);
  font-size: var(--g-font-size-s);
  color: var(--c-main);
}
@media (min-width: 1025px) {
  .g-nav__item a {
    height: 4rem;
    margin-left: calc(-1 * var(--gx) * 4);
    width: calc(100% + var(--gx) * 4);
    height: 3rem;
    display: flex;
    background-color: #fff;
    border: #D85926 1px solid;
    border-radius: var(--g-radius);
    align-items: center;
    justify-content: center;
  }
}

/* ------------------------
category
------------------------ */
.sec-category {
  height: 100%;
  position: relative;
  width: 100%;
  background-color: var(--c-back);
}
.sec-category__inner {
  position: relative;
  width: 100%;
  padding: var(--g-spacing-s) 0 var(--g-spacing-m) 0;
}
@media (min-width: 768px) {
  .sec-category__inner {
    padding: var(--g-spacing-m) 0 var(--g-spacing-l) 0;
  }
}
.sec-category__body {
  padding: 0 var(--g-var-grid-col-gap-sp);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
  row-gap: var(--g-spacing-s);
}
@media (min-width: 768px) {
  .sec-category__body {
    padding: 0 var(--g-var-grid-col-gap-pc);
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
    row-gap: var(--g-spacing-m);
  }
}
.sec-category__body-text {
  grid-column: 1/span 4;
  font-size: var(--g-font-size-m);
}
@media (min-width: 768px) {
  .sec-category__body-text {
    grid-column: 1/span 12;
  }
}
.sec-category__body-text p {
  text-align: center;
  font-family: var(--g-font-family-jp);
  font-size: var(--g-font-size-s-category);
}
.sec-category__body-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column: 1/span 4;
  column-gap: var(--g-var-grid-col-gap-sp);
  row-gap: var(--g-spacing-s);
  font-family: var(--g-font-family-en);
  font-weight: bold;
  font-size: var(--g-font-size-l);
}
@media (min-width: 768px) {
  .sec-category__body-items {
    grid-template-columns: repeat(12, 1fr);
    grid-column: 1/span 12;
    column-gap: var(--g-var-grid-col-gap-pc);
    row-gap: var(--g-spacing-m);
  }
}
.sec-category__body-items .item1, .sec-category__body-items .item3 {
  grid-column: 1/span 2;
}
@media (min-width: 768px) {
  .sec-category__body-items .item1, .sec-category__body-items .item3 {
    grid-column: 4/span 3;
  }
}
.sec-category__body-items .item2, .sec-category__body-items .item4 {
  grid-column: 3/span 2;
}
@media (min-width: 768px) {
  .sec-category__body-items .item2, .sec-category__body-items .item4 {
    grid-column: 7/span 3;
  }
}
.sec-category__body-item {
  position: relative;
  width: 100%;
  height: 100%;
}
.sec-category__body-item__text {
  color: var(--c-main);
  position: relative;
}
.sec-category__body-item__text::before {
  content: url(../images/v.svg);
  display: inline-block;
  margin-right: calc(var(--gx) * 2);
  width: 10px; /* 必要に応じてサイズを調整 */
  height: 14px;
  background-size: cover;
  position: relative;
}
@media (min-width: 768px) {
  .sec-category__body-item__text::before {
    bottom: 0.6rem;
  }
}
@media (min-width: 1025px) {
  .sec-category__body-item__text::before {
    bottom: 0.8rem;
  }
}
.sec-category__body-line {
  display: block;
  height: 1px;
  width: 100%;
  background-color: var(--c-main);
  margin-top: var(--gy);
}

/* ------------------------
items
------------------------ */
.sec-items {
  height: 100%;
  position: relative;
  width: 100%;
  /* ------------------------
  自動抽出
  ------------------------ */
}
.sec-items__inner {
  position: relative;
  width: 100%;
  padding-top: var(--g-spacing-l);
}
.sec-items__body {
  padding: 0 var(--g-var-grid-col-gap-sp);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
}
@media (min-width: 768px) {
  .sec-items__body {
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
    padding: 0 var(--g-var-grid-col-gap-pc);
  }
}
.sec-items__texts {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
  grid-column: 1/span 3;
  row-gap: var(--g-var-grid-row-gap-sp);
  color: var(--c-main);
}
@media (min-width: 768px) {
  .sec-items__texts {
    grid-template-columns: repeat(4, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
    grid-column: 1/span 4;
    row-gap: var(--g-var-grid-row-gap-sp);
  }
}
.sec-items__subtext {
  font-family: var(--g-font-family-en);
  font-weight: bold;
  height: 100%;
  overflow: hidden; /* 要素の範囲外を隠す */
  grid-column: 1/span 1;
  font-size: var(--g-font-size-xs);
}
@media (min-width: 768px) {
  .sec-items__subtext {
    grid-column: 2/span 1;
  }
}
.sec-items__border {
  border: var(--c-main) 1px solid;
  grid-column: 1/span 1;
  margin-left: calc(-1 * var(--gx));
  width: calc(100% + var(--gx));
}
@media (min-width: 768px) {
  .sec-items__border {
    grid-column: 1/span 2;
    margin-left: calc(-1 * var(--gx) * 2);
    width: calc(100% + var(--gx) * 2);
  }
}
.sec-items__text {
  letter-spacing: -1px;
  font-family: var(--g-font-family-en);
  font-weight: bold;
  height: 100%;
  overflow: hidden; /* 要素の範囲外を隠す */
  font-size: var(--g-font-size-xl);
  grid-column: 1/span 3;
}
@media (min-width: 768px) {
  .sec-items__text {
    grid-column: 2/span 3;
  }
}
.sec-items__item {
  width: 100%;
  grid-column: 1/span 4;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
  padding: var(--g-spacing-s) 0 calc(var(--g-spacing-s) * 2) 0;
}
@media (min-width: 768px) {
  .sec-items__item {
    grid-template-columns: repeat(12, 1fr);
    grid-column: 1/span 12;
    column-gap: var(--g-var-grid-col-gap-pc);
  }
}
.sec-items .c-text {
  transform: translate3d(0, 100%, 0);
}
.sec-items .category {
  grid-column: 1/span 4;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
  row-gap: calc(var(--gy) * 4);
}
@media (min-width: 768px) {
  .sec-items .category {
    grid-column: 1/span 12;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
    row-gap: calc(var(--gy) * 6);
  }
}
.sec-items .category div:nth-child(odd) {
  grid-column: 1/span 2;
}
.sec-items .category div:nth-child(even) {
  grid-column: 3/span 2;
}
@media (min-width: 768px) {
  .sec-items .category div:nth-child(odd) {
    grid-column: unset; /* grid-columnをリセット */
  }
  .sec-items .category div:nth-child(even) {
    grid-column: unset; /* grid-columnをリセット */
  }
}
@media (min-width: 768px) {
  .sec-items .category li:nth-child(4n+1) {
    grid-column: 3/span 2;
  }
  .sec-items .category li:nth-child(4n+2) {
    grid-column: 5/span 2;
  }
  .sec-items .category li:nth-child(4n+3) {
    grid-column: 7/span 2;
  }
  .sec-items .category li:nth-child(4n+4) {
    grid-column: 9/span 2;
  }
}
.sec-items .category a {
  display: grid;
  row-gap: var(--gy);
}
.sec-items .category p {
  font-size: var(--g-font-size-xs);
  color: var(--c-text1);
}
.sec-items .category .price {
  font-size: var(--g-font-size-s);
}
.sec-items .category .text-red {
  color: #ff0000;
}
.sec-items .category .tt2 {
  color: #ff0000;
}
.sec-items .category .photo span {
  display: none;
}
.sec-items .category .tt01 {
  display: block;
}
.sec-items .category .tt02 {
  display: block;
  color: #ff0000;
}
@media (min-width: 768px) {
  .sec-items .category li a span {
    display: none;
  }
}
.sec-items .category .ico_box {
  display: none;
}
.sec-items .category .ico_box + p {
  display: none;
}
.sec-items .category .textOverflow,
.sec-items .category .label {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.sec-items__btn {
  width: 100%;
  grid-column: 1/span 4;
}
@media (min-width: 768px) {
  .sec-items__btn {
    grid-column: 1/span 12;
  }
}
.sec-items__btn-inner {
  width: 100%;
}
@media (min-width: 768px) {
  .sec-items__btn-inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
}
.sec-items__btn-body {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(var(--gy) * 6);
  width: 100%;
  font-size: var(--g-font-size-m);
  color: var(--c-text2);
  background-color: var(--c-main);
  font-family: var(--g-font-family-en);
  font-weight: bold;
}
@media (min-width: 768px) {
  .sec-items__btn-body {
    grid-column: 5/span 4;
  }
}

/* ------------------------
footer
------------------------ */
.g-footer {
  height: 100lvh;
  position: relative;
  width: 100%;
}
.g-footer__inner {
  height: 100%;
  position: relative;
  width: 100%;
  margin-top: var(--g-spacing-xl);
  padding: var(--g-var-grid-row-gap-sp) 0;
}
@media (min-width: 768px) {
  .g-footer__inner {
    padding: var(--g-var-grid-row-gap-pc) 0;
  }
}
.g-footer__body {
  width: 100%;
  height: 100%;
  display: grid;
  padding: 0 var(--g-var-grid-row-gap-sp);
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--g-var-grid-col-gap-sp);
  grid-template-rows: repeat(4, 1fr);
  row-gap: var(--g-var-grid-row-gap-sp);
}
@media (min-width: 768px) {
  .g-footer__body {
    padding: 0 var(--g-var-grid-row-gap-tb);
    column-gap: var(--g-var-grid-col-gap-tb);
    grid-template-columns: repeat(8, 1fr);
    row-gap: var(--g-var-grid-row-gap-tb);
    grid-template-rows: repeat(4, 1fr);
  }
}
@media (min-width: 1025px) {
  .g-footer__body {
    padding: 0 var(--g-var-grid-row-gap-pc);
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--g-var-grid-col-gap-pc);
    grid-template-rows: repeat(3, 1fr);
    row-gap: var(--g-var-grid-row-gap-pc);
  }
}
.g-footer__box1 {
  grid-column: 1/span 4;
  grid-row: 1/span 1;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .g-footer__box1 {
    grid-column: 1/span 8;
  }
}
@media (min-width: 1025px) {
  .g-footer__box1 {
    grid-column: 1/span 6;
  }
}
.g-footer__box1-inner {
  background-color: var(--c-main);
  height: 100%;
  width: 100%;
}
.g-footer__box1-body {
  position: relative;
  height: 100%;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .g-footer__box1-body {
    grid-template-columns: repeat(6, 1fr);
  }
}
.g-footer__box1-text {
  position: absolute;
  grid-column: 3/span 2;
  bottom: 0;
  width: 100%;
  height: calc(var(--gx) * 3);
  background-color: #333333;
}
@media (min-width: 768px) {
  .g-footer__box1-text {
    grid-column: 4/span 3;
  }
}
.g-footer__box1-text__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.g-footer__box1-text__body {
  color: var(--c-text2);
  font-size: var(--g-font-size-xs);
  font-family: var(--g-font-family-en-sub);
}
.g-footer__box1-text__img {
  width: 1.2rem;
  height: 1.2rem;
  margin-left: var(--gx);
}
.g-footer__box1-img {
  grid-column: 2/span 2;
}
@media (min-width: 768px) {
  .g-footer__box1-img {
    grid-column: 3/span 2;
  }
}
.g-footer__box2 {
  grid-column: 1/span 4;
  grid-row: 2/span 1;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .g-footer__box2 {
    grid-column: 1/span 8;
    grid-row: 2/span 1;
  }
}
@media (min-width: 1025px) {
  .g-footer__box2 {
    grid-column: 7/span 6;
    grid-row: 1/span 1;
  }
}
.g-footer__box2-inner {
  background-color: #ffffff;
  height: 100%;
  width: 100%;
}
.g-footer__box2-body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
  width: 100%;
  height: 100%;
}
.g-footer__box2-img {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.g-footer__box2-img.img1 {
  background-image: url(../images/staff_1.jpg);
  grid-column: 1/span 1;
}
.g-footer__box2-img.img2 {
  background-image: url(../images/staff_2.jpg);
  grid-column: 2/span 1;
}
.g-footer__box2-img.img3 {
  background-image: url(../images/staff_3.jpg);
  grid-column: 3/span 1;
}
.g-footer__box2-img.img4 {
  background-image: url(../images/staff_4.jpg);
  grid-column: 4/span 1;
}
.g-footer__box2-text {
  position: absolute;
  grid-column: 3/span 2;
  bottom: 0;
  width: 100%;
  height: calc(var(--gx) * 3);
  background-color: #333333;
}
.g-footer__box2-text__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.g-footer__box2-text__body {
  color: var(--c-text2);
  font-size: var(--g-font-size-xs);
  font-family: var(--g-font-family-en-sub);
}
.g-footer__box2-text__img {
  width: 1.2rem;
  height: 1.2rem;
  margin-left: var(--gx);
}
.g-footer__box3 {
  grid-column: 1/span 4;
  grid-row: 3/span 1;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .g-footer__box3 {
    grid-row: 3/span 1;
    grid-column: 1/span 8;
  }
}
@media (min-width: 1025px) {
  .g-footer__box3 {
    grid-row: 2/span 1;
    grid-column: 1/span 12;
  }
}
.g-footer__box3-inner {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.g-footer__box3-body {
  display: flex;
  gap: var(--gx);
  color: #333333;
}
.g-footer__box3-img {
  width: 1.4rem;
}
.g-footer__box3-text {
  font-size: var(--g-font-size-s);
  font-family: var(--g-font-family-jp);
}
.g-footer__box4 {
  grid-column: 1/span 4;
  grid-row: 4/span 1;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .g-footer__box4 {
    grid-row: 4/span 1;
    grid-column: 1/span 8;
  }
}
@media (min-width: 1025px) {
  .g-footer__box4 {
    grid-row: 3/span 1;
    grid-column: 1/span 12;
  }
}
.g-footer__box4-inner {
  position: relative;
  height: 100%;
  width: 100%;
}
.g-footer__box4-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.g-footer__box4-sns {
  display: flex;
  gap: calc(var(--gx) * 4);
}
.g-footer__box4-sns a {
  width: 3.2rem;
}
.g-footer__box4-logo {
  width: 16rem;
}
.g-footer__box4-copy {
  font-size: var(--g-font-size-xs);
  font-family: var(--g-font-family-en-sub);
}/*# sourceMappingURL=style.css.map */