@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html:has(.Modal._active) {
  overflow: hidden;
}

html {
  height: 100%;
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}

@media print {
  html {
    font-size: 3mm;
  }
}
body {
  overflow-x: hidden;
  margin: 0;
  width: 100%;
  -webkit-print-color-adjust: exact;
  font-family: var(--rationaltext-book), "Noto Sans CJK JP", sans-serif;
  font-feature-settings: "lnum";
}

a {
  color: var(--linkColor);
  text-decoration: none;
}
a:not([href]) {
  color: inherit;
}
a:not([href]):hover {
  -webkit-filter: none;
  filter: none;
  text-decoration: none;
}

button {
  border: none;
  color: transparent;
  font-size: 0;
  background: none;
}

blockquote {
  margin: 0;
  padding: 0;
}

code {
  background-color: #eee;
  color: #cc2233;
  font-size: 0.875rem;
}

* + dl {
  margin: 0.75rem 0 0;
}

dd {
  margin: 0;
}

fieldset {
  border-style: solid;
  border-width: 1px;
  border-color: #ccc;
}

figure {
  margin: 0;
  padding: 0;
}
figure > * {
  display: block;
}
* + figure {
  margin: 0.75rem 0 0;
}

figcaption {
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  opacity: 0.65;
}

hr {
  overflow: visible;
  height: 1px;
  border: 0;
  background-color: #ccc;
  box-sizing: content-box;
}

input {
  margin: 0;
}

[type=text],
[type=password],
[type=email],
[type=url],
[type=tel],
[type=number],
[type=month],
[type=week],
[type=date],
[type=datetime-local],
[type=time],
[type=search] {
  padding: 0.5em 0.625em;
  min-height: 40px;
  border: 2px solid transparent;
  outline: 1px solid hsl(225, 100%, 12%);
  border-radius: 0.3125rem;
  background-color: #f2f3f5;
  color: var(--txtColor);
  font-size: 1rem;
  font-family: var(--rationaltext-book), "Noto Sans CJK JP", sans-serif;
  font-feature-settings: "lnum";
}
[type=text]:focus,
[type=password]:focus,
[type=email]:focus,
[type=url]:focus,
[type=tel]:focus,
[type=number]:focus,
[type=month]:focus,
[type=week]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=time]:focus,
[type=search]:focus {
  outline: 2px solid hsl(225, 100%, 12%);
}

[type=file] {
  border: 2px solid transparent;
  border-radius: 0.3125rem;
}
[type=file]:focus {
  outline: 2px solid hsl(225, 100%, 12%);
}

[type=file]::file-selector-button {
  padding-block: 0.675em;
  padding-inline: 0.375em 2.5em;
  border-radius: 0.3125rem;
  background-color: #f2f3f5;
  border: 2px solid transparent;
  color: transparent;
  font-size: var(--font-sm);
  text-align: left;
}

::-webkit-input-placeholder {
  color: hsl(225, 13%, 82%);
}

::-moz-placeholder {
  color: hsl(225, 13%, 82%);
}

:-ms-input-placeholder {
  color: hsl(225, 13%, 82%);
}

::-ms-input-placeholder {
  color: hsl(225, 13%, 82%);
}

::placeholder {
  color: hsl(225, 13%, 82%);
}

input[type=checkbox]:checked + .checkbox__label::after {
  opacity: 1;
}

pre {
  margin: 0;
  padding: 0;
  word-break: normal;
}

section {
  margin: 0;
}

select {
  margin: 0;
  box-sizing: border-box;
  padding-block: 0.675em;
  padding-inline: 0.375em 2.5em;
  border: 1px solid transparent;
  font-size: var(--font-sm);
  color: var(--txtColor);
  background: hsl(220, 13%, 95%);
  border-radius: 0.3125rem;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("../../images/svg/icon_arrow_bottom_darkblue.svg");
  background-repeat: no-repeat;
  background-size: 12px auto;
  background-position: right 14px center; /* 画像の位置 */
}
select._active, select:active, select._focus, select:focus {
  outline: 1px solid transparent;
  background-color: hsl(220, 13%, 91%);
}

table {
  margin: 0;
  padding: 0;
  border-collapse: collapse;
  font-size: inherit;
}

textarea {
  margin: 0;
  box-sizing: border-box;
  font-size: inherit;
  padding-block: 0.675em;
  padding-inline: 0.375em 0.375em;
  border: 2px solid transparent;
  outline: 1px solid hsl(225, 100%, 12%);
  color: var(--txtColor);
  background: hsl(220, 13%, 95%);
  border-radius: 0.3125rem;
  resize: none;
}
textarea:focus {
  outline: 2px solid hsl(225, 100%, 12%);
}
textarea:disabled {
  border: 2px solid transparent;
  outline: 1px solid transparent;
  pointer-events: none;
}

h6, h5, h4, h3, h2, h1 {
  margin: 0;
}
h6[id], h5[id], h4[id], h3[id], h2[id], h1[id] {
  position: relative;
}
h1 + h6, h1 + h5, h1 + h4, h1 + h3, h1 + h2, h1 + h1, h2 + h6, h2 + h5, h2 + h4, h2 + h3, h2 + h2, h2 + h1, h3 + h6, h3 + h5, h3 + h4, h3 + h3, h3 + h2, h3 + h1, h4 + h6, h4 + h5, h4 + h4, h4 + h3, h4 + h2, h4 + h1, h5 + h6, h5 + h5, h5 + h4, h5 + h3, h5 + h2, h5 + h1, h6 + h6, h6 + h5, h6 + h4, h6 + h3, h6 + h2, h6 + h1 {
  margin-top: 1rem;
}

h1 {
  font-size: 2rem;
}
* + h1 {
  margin-top: 3.5em;
}

h2 {
  font-size: 1.75rem;
}
* + h2 {
  margin-top: 3.5em;
}

h3 {
  font-size: 1.5rem;
}
* + h3 {
  margin-top: 3.5em;
}

h4 {
  font-size: 1.25rem;
}
* + h4 {
  margin-top: 3.5em;
}

h5 {
  font-size: 1rem;
}
* + h5 {
  margin-top: 3.5em;
}

h6 {
  font-size: 0.875rem;
}
* + h6 {
  margin-top: 1.5em;
}

p {
  margin: 0;
  line-height: 1.5;
}
* + p {
  margin-top: 1em;
}

ul,
ol {
  margin: 0;
  line-height: 1.5;
  list-style: none;
  padding: 0;
}
* + ul,
* + ol {
  margin: 0 0 0;
  padding: 0 0 0;
}

/*# sourceMappingURL=original-base.css.map */
