@charset "UTF-8";

/* 変数の定義 */
:root {
  --pc-width: 1920;
  --sp-width: 375;
  --container-max-xl: 1920px;
  --container-max-lg: 1690px;
  --container-max-md: 1200px;
  --min-content-width: 375px;
  --pc-header-height: 80px;
  --sp-header-height: 60px;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--pc-header-height);
  /* コンテンツ幅でのフォントサイズ */
  max-width: var(--container-max-xl);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  html {
    scroll-behavior: unset;
    scroll-padding-top: var(--sp-header-height);
  }
}
.inner-lg {
  max-width: var(--container-max-lg);
  margin-left: auto;
  margin-right: auto;
}
.inner-md {
  max-width: var(--container-max-md);
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(clamp(1px, 2.5%, 30px) + 30px);
  padding-right: calc(clamp(1px, 2.5%, 30px) + 30px);
}
.__sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .__sp-only {
    display: initial;
  }
}
/************************************************
    レスポンシブ */

@media screen and (max-width: 767.98px) {
  /* 変更点。0.02引く。 */
  /* ここにSP向けのCSS指定 767.98px以下 */
}
@media screen and (min-width: 768px) {
  /* ここにPC向けのCSS指定 768px以上 */
}

/************************************************
    レスポンシブ */

/* スマホファースト */

@media screen and (min-width: 768px) {
  /* スクリーンサイズが768px以上の場合に適用 */
}

@media screen and (min-width: 1200px) {
  /* スクリーンサイズが1200px以上の場合に適用 */
}

/************************************************
    レスポンシブ */

/* PCファースト */

@media screen and (max-width: 767px) {
  /* ここに767ピクセル以下のモバイルデバイス向けのCSSスタイルを記述 */
}

body {
  /* ヒラギノ角ゴ ProN */
  /* font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Noto Sans JP",
    "Yu Gothic", "Meiryo", sans-serif; */
    font-family: "Shippori Mincho", serif;
}
img {
  display: block;
  width: 100%;
  height: auto;
}
a {
  transition: 0.3s;
}
a:hover {
  opacity: 0.6;
}
.sec-inner {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .sec-inner {
    width: 96%;
  }
}

/* header */
header {
  display: flex;
  position: fixed;
  width: 100%;
  max-width: var(--container-max-xl);
  height: var(--pc-header-height);
  align-items: center;
  justify-content: space-between;
  background-color: #382601;
  filter: drop-shadow(0 2px 2px rgb(51, 51, 51, 0.3));
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  header {
    height: var(--sp-header-height);
  }
}

.header-logo {
  width: 130px;
  margin-left: clamp(1px, calc(165 / var(--pc-width) * 100vw), 165px);
}
.header-logo img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .header-logo {
    width: 300px;
    padding-left: 60px;
  }
  .header-logo img {
    width: 90px;
  }
}

.header-navi_ul {
  display: flex;
  gap: 60px;
  margin-right: 46px;
}
@media screen and (max-width: 767px) {
  .header-navi-sp {
    width: 100vw;
    height: calc(100vh - var(--sp-header-height));
    position: absolute;
    top: var(--sp-header-height);
    left: 0;
    background-color: #faf7f0;
    transition: 0.6s;
    transform: translateX(100vw);
  }
  .header-navi-sp.active {
    transform: translateX(0);
  }
  .header-navi_ul {
    display: block;
    width: 100%;
    padding-left: 25%;

    /* background-color: #a28654; */
  }
}
.header-navi_li a {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 16px;
  font-weight: 300;
  color: white;
  /* font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Noto Sans JP",
    "Yu Gothic", "Meiryo", sans-serif; */
}
@media screen and (max-width: 767px) {
  .header-navi_li a {
    margin-top: calc(43 / var(--sp-width) * 100vw);
    gap: unset;
    font-size: calc(19 / var(--sp-width) * 100vw);
    color: #4d3500;
  }
}
.header-navi_li a img {
  width: auto;
  height: 1.2em;
  aspect-ratio: 1/1;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .header-navi_li a img {
    margin-right: 1.5em;
  }
}
.sns-link.__sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sns-link.__sp-only {
    display: flex;
    width: 80%;
    margin-top: calc(60 / var(--sp-width) * 100vw);
    margin-left: auto;
    margin-right: auto;
    padding-top: calc(56 / var(--sp-width) * 100vw);
    justify-content: space-between;
    border-top: solid 1px #4d3500;
  }
  .sns-link.__sp-only a img {
    width: calc(36 / var(--sp-width) * 100vw);
    height: auto;
    aspect-ratio: 1/1;
    object-fit: contain;
  }
}

/*  */

#header-sp-btn {
  display: none;
}
@media screen and (max-width: 767px) {
  #header-sp-btn {
    display: flex;
    width: 42px;
    height: 26px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  #header-sp-btn span {
    width: 100%;
    height: 1px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #ffffff;
    transition: 0.6s;
  }
  #header-sp-btn.active span {
    background-color: unset;
  }
  #header-sp-btn span::before,
  #header-sp-btn span::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #ffffff;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.6s;
  }
  #header-sp-btn span::before {
    top: -12px;
  }
  #header-sp-btn span::after {
    top: 12px;
  }
  #header-sp-btn.active span::before {
    top: 0;
    transform: translateX(-50%) rotate(-30deg);
  }
  #header-sp-btn.active span::after {
    top: 0;

    transform: translateX(-50%) rotate(30deg);
  }
}