:root {
  --comp-w: 393;
  /* units */
  --rem: calc(1rem / 16);
  --vw: calc(min(100vw) / var(--comp-w));
  --vh: calc(100vh / var(--comp-h));
  --vh: calc(100dvh / var(--comp-h));
  --lvh: calc(100lvh / var(--comp-h));
  @media screen and (min-width: 769px) {
    --comp-w: 1512;
    --max-w: 1100px;
    /* --vw: min(calc(100vw / var(--comp-w)), 0.0625rem); */
  }
}
.visually-hidden {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0 !important;
	border: 0 !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100svh; 
  overflow-x: clip;
  position: relative;
  color: #00688E;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--vw) * 64);
  @media screen and (min-width: 769px) {
    scroll-padding-top: calc(var(--vw) * 151);
  }
}
main {
  flex: 1;
}
.top-contents {
  position: relative;
  overflow-x: clip;
}
a {
  transition: opacity 0.2s linear;
  &:hover {
    opacity: 0.6;
  }
}