/*
    Theme Name: jrwi theme
    Version: 0.0.1
*/
:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  font-family: inherit;
  position: relative;
  overflow-x: clip;
  overflow-y: clip;
}

a {
  color: inherit;
  text-decoration: inherit;
}

a, button {
  cursor: revert;
}

menu, ol, summary, ul {
  list-style: none;
}

ol {
  counter-reset: revert;
}

table {
  border-collapse: collapse;
}

:root {
  --page-max-width: 80rem;
  --page-margin: 2rem;
  --inside-margin: 4rem;
  --section-gap: 6rem;
  --side-margin: calc((100vw - min(100vw, var(--page-max-width)) + var(--page-margin) * 2) / 2);
  --page-margin-block: 6rem;
  @media (width <= 40rem){
    --page-margin: 2rem;
    --inside-margin: 2rem;
    --section-gap: 3rem;
    --page-margin-block: 3rem;
  }
  @media (width <= 60rem){
    --inside-margin: 0;
  }
  @media (width <= 32rem){
    --page-margin: 1.5rem;
  }

  @media (width <= 40rem){
    font-size: 95%;
  }
  
  --light-gray: #F9F9F9;
  --blue: #0064F0;
  --white: #ffffff;
  --gray: #EFEFEF;
  --yellow: #FFBC00;

  --sans-serif-font: "Inter", "Noto Sans JP", sans-serif;

  font-family: var(--sans-serif-font);
  font-weight: 400;
  font-optical-sizing: auto;
  scroll-behavior: smooth;
  overflow-x: clip;
  background-color: var(--light-gray);
  overscroll-behavior-block: none;
}


:root:not(.loaded) {
}

body {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  background-color: transparent;
  min-height: 100dvh;
  & > * {
    min-width: 0;
  }
  #header-root {
    display: contents;
    #header {
      grid-row: 2;
    }
  }
  #page-root {
    display: contents;
    #before-header {
      grid-row: 1;
    }
    #page {
      grid-row: 3;
    }
    @media (width <= 60rem){
      display: block;
      grid-row: 3;
    }
  }
  #footer-root {
    grid-row: 4;
  }
}

* {
  scroll-margin-top: var(--header-height);
}

a {
  color: inherit;
  text-decoration: inherit;
}

sup {
  font-size: 0.5em;
  vertical-align: top;
}