@charset "UTF-8";
.text {
  padding: 20px;
  margin-top: 30px;
  background-color: #ededed;
  /* 定義したミックスインを呼び出し */
  /* font-size: 20px; */
  font-size: clamp(calc(1rem * var(--font-scale)), calc(0.762rem * var(--font-scale) + 0.864vw), calc(1.5rem * var(--font-scale)));
}
.text a {
  color: var(--defaultColor-set09);
}
.text .red {
  color: red;
}

/*============================
　暗黙でいつも入れてる設定で、直接見た目に影響ないモノをまとめて指定
============================*/
body * {
  background-repeat: no-repeat;
  background-position: center center;
  text-decoration: none;
}

/* ブラウザのスクロールバー デザイン */
/* html {
  scrollbar-width: thin;
  scrollbar-color: red #000;
} */
/* CSS のみでスムーススクロール */
/* html {
  scroll-behavior: smooth;
  scroll-margin-top:;
} */
/*============================
  main-header / global_menu
============================*/
.main_header {
  pointer-events: none;
  width: min(100%, var(--wrapper-width) + var(--wrapper-padding) * 2);
  position: fixed;
  padding-top: clamp(calc(0.75rem * var(--font-scale)), calc(0.394rem * var(--font-scale) + 1.296vw), calc(1.5rem * var(--font-scale)));
  padding-inline: clamp(calc(0.9375rem * var(--font-scale)), calc(0.492rem * var(--font-scale) + 1.62vw), calc(1.875rem * var(--font-scale)));
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  min-height: clamp(calc(1.875rem * var(--font-scale)), calc(0.984rem * var(--font-scale) + 3.24vw), calc(3.75rem * var(--font-scale)));
  align-items: flex-start;
  color: var(--data-position_color);
}

.main_header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  align-items: flex-start;
}

.sitelogo {
  pointer-events: auto;
}

.sitelogo img {
  width: clamp(calc(2.5625rem * var(--font-scale)), calc(1.345rem * var(--font-scale) + 4.428vw), calc(5.125rem * var(--font-scale)));
}

.fade_in .sitelogo img {
  filter: brightness(0) saturate(100%);
}

.menu_outer {
  display: flex;
  align-items: center;
  gap: clamp(calc(0.625rem * var(--font-scale)), calc(0.328rem * var(--font-scale) + 1.08vw), calc(1.25rem * var(--font-scale)));
  margin-top: clamp(calc(0.625rem * var(--font-scale)), calc(0.328rem * var(--font-scale) + 1.08vw), calc(1.25rem * var(--font-scale)));
  pointer-events: auto;
}

.menu_cap {
  font-size: clamp(calc(0.71875rem * var(--font-scale)), calc(0.377rem * var(--font-scale) + 1.242vw), calc(1.4375rem * var(--font-scale)));
}

#menu-toggle {
  display: none;
}

.menu_header {
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  height: 100vh;
  background: rgba(39, 64, 15, 0.937254902);
  padding-inline: var(--wrapper-padding);
  z-index: 998;
  overflow-y: auto;
  transition: right 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

#menu-toggle:checked ~ .menu_header {
  right: 0;
}

.menu_header_list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(calc(1.25rem * var(--font-scale)), calc(-0.235rem * var(--font-scale) + 5.4vw), calc(4.375rem * var(--font-scale)));
}

.menu_header_list li {
  text-align: left;
}

.menu_header_list a::before {
  content: "";
  display: inline-block;
  width: clamp(calc(0.9375rem * var(--font-scale)), calc(0.492rem * var(--font-scale) + 1.62vw), calc(1.875rem * var(--font-scale)));
  aspect-ratio: 1/1;
  background-image: url(../image/menu_icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: clamp(calc(0.625rem * var(--font-scale)), calc(0.328rem * var(--font-scale) + 1.08vw), calc(1.25rem * var(--font-scale)));
}

.menu_header_list a:hover {
  opacity: 0.7;
}

.menu_header_list img {
  margin-inline: auto;
  width: clamp(calc(1.5625rem * var(--font-scale)), calc(0.82rem * var(--font-scale) + 2.7vw), calc(3.125rem * var(--font-scale)));
}

.menu_header_list li:nth-of-type(1) {
  margin-left: clamp(calc(1.25rem * var(--font-scale)), calc(0.656rem * var(--font-scale) + 2.16vw), calc(2.5rem * var(--font-scale)));
}

.menu_header_list li:nth-of-type(1) img {
  width: clamp(calc(5.375rem * var(--font-scale)), calc(2.821rem * var(--font-scale) + 9.287vw), calc(10.75rem * var(--font-scale)));
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  z-index: 997;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  visibility: visible;
}

#menu-toggle {
  display: none;
}

.hamburger {
  position: relative;
  z-index: 1000;
  width: clamp(calc(1.71875rem * var(--font-scale)), calc(0.902rem * var(--font-scale) + 2.97vw), calc(3.4375rem * var(--font-scale)));
  height: clamp(calc(0.375rem * var(--font-scale)), calc(0.197rem * var(--font-scale) + 0.648vw), calc(0.75rem * var(--font-scale)));
  display: block;
  cursor: pointer;
}

/* 共通 */
.hamburger span {
  position: absolute;
  width: 100%;
  height: clamp(calc(0.0625rem * var(--font-scale)), calc(0.033rem * var(--font-scale) + 0.108vw), calc(0.125rem * var(--font-scale)));
  background: var(--data-position_color);
  border-radius: 999px;
  transform-origin: center center;
  transition: 0.3s;
}

/* 上 */
.hamburger span:nth-child(1) {
  transform: translate(-50%, -50%);
  left: 50%;
  top: 0;
}

/* 中 */
.hamburger span:nth-child(2) {
  display: none;
}

/* 下 */
.hamburger span:nth-child(3) {
  transform: translate(-50%, 50%);
  left: 50%;
  top: 100%;
}

/* OPEN */
#menu-toggle:checked + .hamburger span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(25deg);
  top: 50%;
  background-color: var(--defaultColor-set09);
}

#menu-toggle:checked + .hamburger span:nth-child(2) {
  opacity: 0;
}

#menu-toggle:checked + .hamburger span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(-25deg);
  top: 50%;
  background-color: var(--defaultColor-set09);
}

.main_header.fade_in span {
  background-color: var(--data-position_color);
}

.main_header.fade_in .main_header_inner .contact a {
  border-color: var(--data-position_color);
}

@media (max-width: 767px) {
  .menu_header_list li:nth-of-type(1) {
    flex-basis: 100%;
    margin-bottom: 40px;
    margin-left: 40px;
  }
}
/*============================
　その他
============================*/
/* ===== レスポンシブ明示指定CSS ===== */
.look_pc {
  display: block;
}

.look_sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .look_pc {
    display: none;
  }
  .look_sp {
    display: block;
  }
}
/* ===== レスポンシブ明示指定CSS ===== */
/*============================
  #js_pagetop
============================*/
.pageTopLink_outer {
  position: relative;
  height: 1px;
  margin-top: -40px;
}

.pageTopLink {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  position: fixed;
  bottom: 30px;
  left: 0;
  width: 100%;
  z-index: 101;
}

.pageTopLink.is-show {
  opacity: 1;
  pointer-events: none;
}

.pageTopLink.is-absolute {
  position: static;
  opacity: 1;
  pointer-events: auto;
}

.pageTopLink_inner {
  margin-inline: auto;
  padding-inline: clamp(calc(0.9375rem * var(--font-scale)), calc(0.492rem * var(--font-scale) + 1.62vw), calc(1.875rem * var(--font-scale)));
  display: flex;
  justify-content: flex-end;
  width: 100%;
  box-sizing: border-box;
}

.pageTopLink.is-show .pageTopLink_inner a {
  pointer-events: auto;
}

.pageTopLink a {
  display: inline-block;
  background-image: url(../image/topbuck_icon.png);
  background-size: contain;
  width: clamp(calc(3.75rem * var(--font-scale)), calc(3.156rem * var(--font-scale) + 2.16vw), calc(5rem * var(--font-scale)));
  height: clamp(calc(5rem * var(--font-scale)), calc(4.406rem * var(--font-scale) + 2.16vw), calc(6.25rem * var(--font-scale)));
  background-position: center;
  text-decoration: none;
}

@media (max-width: 767px) {
  .pageTopLink_outer {
    margin-top: 0;
  }
}
/*============================
  footer Contact
============================*/
.section_contact .item_intro {
  padding-top: clamp(calc(2.1875rem * var(--font-scale)), calc(1.148rem * var(--font-scale) + 3.78vw), calc(4.375rem * var(--font-scale)));
  padding-bottom: clamp(calc(5rem * var(--font-scale)), calc(2.624rem * var(--font-scale) + 8.639vw), calc(10rem * var(--font-scale)));
}

.section_contact .item_intro_body {
  padding-top: clamp(calc(1.875rem * var(--font-scale)), calc(0.241rem * var(--font-scale) + 5.94vw), calc(5.3125rem * var(--font-scale)));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-right: clamp(calc(1.875rem * var(--font-scale)), calc(-1.986rem * var(--font-scale) + 14.039vw), calc(10rem * var(--font-scale)));
}

.contact_box > p {
  font-size: clamp(calc(0.625rem * var(--font-scale)), calc(0.328rem * var(--font-scale) + 1.08vw), calc(1.25rem * var(--font-scale)));
}

.contact_box > ul {
  margin-top: clamp(calc(1.125rem * var(--font-scale)), calc(0.59rem * var(--font-scale) + 1.944vw), calc(2.25rem * var(--font-scale)));
  display: flex;
  flex-direction: column;
  gap: clamp(calc(0.3125rem * var(--font-scale)), calc(0.164rem * var(--font-scale) + 0.54vw), calc(0.625rem * var(--font-scale)));
}

/*============================
  main-footer
============================*/
.footer_outer {
  background-color: var(--defaultColor-set09);
}

.main_footer {
  width: 100%;
  min-height: 300px;
  background-image: url(../image/main_footer_backimg.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}

.footer_logo {
  padding-top: clamp(calc(8.125rem * var(--font-scale)), calc(4.264rem * var(--font-scale) + 14.039vw), calc(16.25rem * var(--font-scale)));
  padding-inline: var(--wrapper-padding);
  text-align: center;
}

.footer_logo img {
  margin-inline: auto;
  width: clamp(calc(5.375rem * var(--font-scale)), calc(2.821rem * var(--font-scale) + 9.287vw), calc(10.75rem * var(--font-scale)));
}

.footer_menu {
  padding-inline: var(--wrapper-padding);
  margin-top: clamp(calc(2.5rem * var(--font-scale)), calc(1.312rem * var(--font-scale) + 4.32vw), calc(5rem * var(--font-scale)));
}

.footer_menu_list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(calc(1.25rem * var(--font-scale)), calc(-0.532rem * var(--font-scale) + 6.479vw), calc(5rem * var(--font-scale)));
}

.footer_menu_list li {
  text-align: left;
}

.footer_menu_list a::before {
  content: "";
  display: inline-block;
  width: clamp(calc(0.9375rem * var(--font-scale)), calc(0.492rem * var(--font-scale) + 1.62vw), calc(1.875rem * var(--font-scale)));
  aspect-ratio: 1/1;
  background-image: url(../image/menu_icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: clamp(calc(0.625rem * var(--font-scale)), calc(0.328rem * var(--font-scale) + 1.08vw), calc(1.25rem * var(--font-scale)));
}

.footer_menu_list a:hover {
  opacity: 0.7;
}

.footer_menu_list img {
  margin-inline: auto;
  width: clamp(calc(1.5625rem * var(--font-scale)), calc(0.82rem * var(--font-scale) + 2.7vw), calc(3.125rem * var(--font-scale)));
}

.footer_bottom_deco {
  display: grid;
  grid-template-columns: auto auto;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  justify-items: center;
  gap: clamp(calc(0.9375rem * var(--font-scale)), calc(0.492rem * var(--font-scale) + 1.62vw), calc(1.875rem * var(--font-scale)));
  padding-inline: var(--wrapper-padding);
  margin-top: -50px;
}
@media (max-width: 767px) {
  .footer_bottom_deco {
    margin-top: -25px;
  }
}

.footer_copyright {
  background-color: var(--defaultColor-set09);
  width: 100%;
  color: var(--fontColor-set01);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-height: 30px;
  font-size: 11px;
  padding-inline: 50px;
}/*# sourceMappingURL=foundation.css.map */