/* CSS Document */
*, *::after, *::before {
  box-sizing: inherit;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, hr {
  margin: 0;
  padding: 0;
  border: 0;
}

html, body {
  box-sizing: border-box;
  line-height: 1.6;
  letter-spacing: 0.1rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: var(--text);
  font-size: 17px;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, form legend {
  display: block;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img, video, svg {
  max-width: 100%;
}
img {
  pointer-events: none;
}
:root {
  --primary: #00498F;
  --primary-light: #0061BE;
  --accent: #FB79AF;
  --sub: #2F99FF;
  --title: #0061BE;
  --text: #061E34;
  --gray: #393F47;
  --mdgray: #EAEAEA;
  --lightgray: #F6F7F9;
  --base: #F6FCFF;
  --space-unit: 0.5em;
  --space: calc(1.25*var(--space-unit));
  --component-padding: var(--space);
}
.padding-md {
  padding: calc(var(--space) * 1.8);
}
.bg_primary {
  background: var(--primary);
}
.bg_white {
  background: #FFF;
}
.bg_gray {
  background: var(--gray);
}
.bg_lightgray {
  background: var(--lightgray);
}
.bg_title {
  backface-visibility: var(--title);
}
.txt_primary {
  color: var(--primary);
}
.txt_accent {
  color: var(--accent);
}
.txt_text {
  color: var(--text);
}

.txt_white{
	color: #FFF!important;
}
.txt_text {
  color: var(--text);
}
.txt_center {
  text-align: center;
}
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-center {
  align-items: center;
  -ms-align-items: center;
  justify-content: center;
  margin-bottom: 1rem
}