@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap");
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  font-size: clamp(13px, 1.5vw, 35px);
  line-height: 2;
  letter-spacing: 0.05em;
  color: #231815;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 60px;
    font-size: 3.7333333333vw;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
}

body {
  margin: 0 auto;
  width: auto;
  font-size: 1rem;
  line-height: inherit;
  letter-spacing: inherit;
}
@media screen and (max-width: 767px) {
  body {
    width: 100%;
  }
}

.pc_block {
  display: block !important;
}

@media screen and (max-width: 767px) {
  .pc_block {
    display: none !important;
  }
}
.sp_block {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .sp_block {
    display: block !important;
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

a:hover {
  opacity: 0.8;
  cursor: pointer;
}

.mb_3 {
  margin-bottom: 3%;
}
@media screen and (max-width: 450px) {
  .mb_3 {
    margin-bottom: 5%;
  }
}

.pb_10 {
  padding-bottom: 10%;
}

#container {
  margin: 0 auto;
  width: 100%;
}
#container #header {
  position: fixed;
  background-color: #fff;
  height: 80px;
  width: 100%;
  z-index: 9998;
  border-bottom: 1px solid #231815;
  display: flex;
  align-items: center;
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  #container #header {
    height: 60px;
  }
}
#container #header {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1rem;
}
#container #header .top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  #container #header .top-row {
    align-items: center;
  }
}
#container #header .top-row .logo {
  display: flex;
  align-items: center;
}
#container #header .top-row .logo img {
  height: 30px;
}
@media screen and (max-width: 767px) {
  #container #header .top-row .logo img {
    height: 20px;
  }
}
#container #header .top-row nav {
  display: flex;
  align-items: center;
  padding: 0 0 0 15rem;
  flex-wrap: nowrap;
}
@media screen and (max-width: 1000px) {
  #container #header .top-row nav {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 0;
  }
}
#container #header .top-row nav .nav-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: nowrap;
}
@media screen and (max-width: 1000px) {
  #container #header .top-row nav .nav-links {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100vw;
    height: 100svh;
    padding: 5% 10%;
    font-size: 1.2rem;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.9);
    opacity: 0;
    transform: translateX(100%);
    pointer-events: none;
    transition: transform 0.4s ease, opacity 0.4s ease;
  }
}
#container #header .top-row nav .nav-links.active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
#container #header .top-row .language {
  display: flex;
  align-items: center;
  margin-left: 1.5rem;
}
@media screen and (max-width: 1000px) {
  #container #header .top-row .language {
    align-items: start;
    margin-left: 0;
    margin-right: 10%;
    font-size: 1.2rem;
  }
}
#container #header .top-row .language .language-selector {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
#container #header .top-row .language .language-toggle {
  padding: 10px;
}
#container #header .top-row .language .language-dropdown {
  display: none;
  position: absolute;
  background-color: white;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  z-index: 100;
}
#container #header .top-row .language .language-dropdown li {
  padding: 10px;
  cursor: pointer;
}
#container #header .top-row .language .language-dropdown li:hover {
  background-color: #eee;
}
#container #header .top-row .menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
}
@media screen and (max-width: 1000px) {
  #container #header .top-row .menu-toggle {
    display: flex;
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translateY(-50%);
  }
}
#container #header .top-row .menu-toggle span {
  height: 1.5px;
  width: 25px;
  background: #231815;
  margin: 4px 0;
  transition: all 0.3s ease;
  transform-origin: center;
}
#container #header .top-row .menu-toggle.open span:nth-child(1) {
  transform: rotate(-45deg) translate(-5px, 8.5px);
}
#container #header .top-row .menu-toggle.open span:nth-child(2) {
  opacity: 0;
}
#container #header .top-row .menu-toggle.open span:nth-child(3) {
  transform: rotate(45deg) translate(-5px, -8.5px);
}
#container #contents {
  margin: 0 auto;
  padding-top: 80px;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #container #contents {
    padding-top: 60px;
  }
}
#container #footer {
  padding: 0 10%;
  background-color: #eeeeee;
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #container #footer {
    padding: 0 5%;
    height: 120px;
  }
}
#container #footer .footer_logo_area {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
}
#container #footer .footer_logo_area .logo {
  display: block;
}
#container #footer .footer_logo_area .logo img {
  width: auto;
  height: 65px;
}
@media screen and (max-width: 767px) {
  #container #footer .footer_logo_area .logo img {
    height: 45px;
  }
}
#container #footer .copy_right {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.8rem;
  text-align: center;
}/*# sourceMappingURL=style.css.map */