@charset "utf-8";

@import "style.css";
@import "color.css";
@import "font.css";
@import "line-height.css";
@import "margin.css";
@import "padding.css";

:root {
  --bs-font-sans-serif: "Noto Sans JP", sans-serif;
  --bs-font-serif: "Noto Serif JP", serif;
  --bs-emphasis-color: #000;
  --color_dark: #333;
  --bs-body-bg: #F4F4F4;
  --bs-body-width: 1366px;
  --bs-color-gray: #ccc;
  --btn-bg-color: #333;
  scroll-behavior: auto;
}

/*---------------------------------------------------
font-familyここから
----------------------------------------------------*/
body {
  font-family: var(--bs-font-sans-serif);
}

/*---------------------------------------------------
リセットCSSここから
----------------------------------------------------*/
header a,
main a,
footer a {
  color: var(--color_dark) !important;
}

ul {
  padding: 0;
}

li {
  list-style-type: none;
}

a {
  text-decoration: none;
}

input[type="text"]:focus {
  outline: 0;
}

button:focus {
  outline: 0;
}

*:focus {
  outline: none;
}

.grecaptcha-badge {
  visibility: hidden;
}

input[type="text"],
input[type="email"],
input[type="select"],
input[type="tel"],
input[type="date"],
input[type="submit"],
select,
textarea {
  background-color: #f4f4f4;
  border: 1px solid #0f0f0f !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  text-decoration: none;
  color: var(--color_dark);
}

input[type="text"]:focus {
  outline: 0;
}

input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  color: var(--color_dark) !important;
  font-weight: normal !important;
}

.hover-pointer {
  cursor: pointer;
}

/*---------------------------------------------------
header
----------------------------------------------------*/
.header {
  width: 100%;
  z-index: 9999;
  position: fixed;
  top: 32px;
}

.header-button {
  position: relative;
  width: 50px;
  height: 100%;
  color: #333;
  z-index: 9999 !important;
}

.header-button::before {
  position: absolute;
  content: "menu";
  line-height: 1;
  text-align: end;
  right: 0.5em;
}

.header-button::after {
  position: absolute;
  content: "";
  background-color: var(--btn-bg-color);
  border-radius: 50%;
  width: 1em;
  height: 1em;
  top: 50%;
  right: -1em;
  transform: translateY(-65%);
  transition: 0.2s;
}

.header-button.active::before {
  content: "close";
  color: #fff;
}

.header-button.active::after {
  background-color: #fff;
  right: 3.5em;
}

.l-menu {
  position: fixed;
  z-index: 8888;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
  scrollbar-gutter: stable;
}

.l-menu.active {
  opacity: 1;
  visibility: visible;
  background-color: #838383;
  overflow-y: scroll;
}

@media screen and (min-width: 992px) {
  .l-menu.active {
    overflow-y: auto;
  }

  .header-button::before {
    right: 0;
  }

  .header-button::after {
    right: -1.5em;
  }

  .header-button.active::before {
    right: 1.55em;
  }

  .header-button.active::after {
    right: 4.75em;
  }
}

/*---------------------------------------------------
footer
----------------------------------------------------*/


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