:root {
  --COLOR_BASE_DARK: #2d3133;
  --COLOR_BASE_LIGHT: #fff;
  --COLOR_BRAND_PRIMARY: #0065bd;
  --COLOR_BRAND_SECONDARY: #0e8bd1;
  --COLOR_BRAND_SECONDARY_2: #37b1de;
  --COLOR_ROLE_DANGER_DARK: #e02412;
  --COLOR_OUTLINE: #d8d8db;
  --SIZE_MODULE_MARGIN: 32px;
  --FONT_SIZE: 0.9375rem;
  --FONT_SIZE_NOTE: 0.8125rem;
  --LINE_HEIGHT: 1.75;
  --TRANSITION: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
body > :first-child {
  margin-top: 0 !important;
}
body > :last-child {
  margin-bottom: 0 !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

body {
  background-color: #f3f5fa;
  color: var(--COLOR_BASE_DARK);
  font-family: "Tazugane Gothic", sans-serif;
  font-size: var(--FONT_SIZE);
  height: 100%;
  line-height: var(--LINE_HEIGHT);
  margin: 0;
  overflow-x: hidden;
  padding: 0;
}

p,
ul,
ol,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

em {
  font-style: normal;
  font-weight: bold;
}

strong {
  color: var(--COLOR_ROLE_DANGER_DARK);
}

sub,
sup {
  font-size: 75%;
  line-height: 1;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

a :where(img) {
  pointer-events: none;
}

a {
  color: var(--COLOR_BRAND_PRIMARY);
}

img,
svg {
  height: auto;
  max-width: 100%;
  width: auto;
}

::placeholder {
  opacity: 1;
}

label {
  cursor: pointer;
}

[type=text],
[type=date],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=time],
[type=url],
[type=week],
select {
  line-height: 1;
}

[type=text],
[type=date],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=time],
[type=url],
[type=week],
select,
textarea {
  appearance: none;
  border-radius: 0;
  color: currentColor;
  font-size: 1rem;
}

[type=date]::-webkit-inner-spin-button,
[type=date]::-webkit-clear-button {
  appearance: none;
}

[type=date]::-webkit-calendar-picker-indicator {
  height: 100%;
  left: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

textarea {
  overflow-x: hidden;
  overflow-y: auto;
  resize: vertical;
}

summary {
  cursor: pointer;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

noscript {
  display: none;
}

li {
  list-style: none;
}

button,
dialog {
  border: 0;
}

body.t-top {
  background-color: #fff;
}

a {
  color: inherit;
}

@media (min-width: 768px) {
  :root {
    --FONT_SIZE: 1rem;
    --FONT_SIZE_NOTE: 0.875rem;
    --SIZE_MODULE_MARGIN: 48px;
  }
  a:any-link:hover, a:any-link:focus {
    text-decoration: none;
  }
}
