body {
  -webkit-text-size-adjust: 100%;
  background: #fff;
  color: #302d2c; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif; }

html {
  overflow-y: scroll;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 67.5%;
  color: #333;
  line-height: 1.6;
  font-weight: 400; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol, ul {
  list-style: none; }

fieldset, img {
  border: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

img {
  vertical-align: bottom;
  width: 100%;
  height: auto; }

section, main, figure, figcaption, nav, main {
  display: block;
  margin: 0;
  padding: 0; }

sub {
  vertical-align: baseline; }

a {
  text-decoration: none; }

b {
  font-weight: normal; }

/* CLEAR FIX */
.clear {
  clear: both; }

.clearFix {
  overflow: hidden; }

.clearFix:after {
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  content: ".";
  zoom: 1; }

/* FLEX BOX */
.flexBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .flexBox > * {
    flex-grow: 0;
    flex-shrink: 1; }

.flexBox.center {
  justify-content: center; }

.flexBox.noWrap {
  flex-wrap: no-wrap; }

.flexBox.noSpace {
  justify-content: flex-start; }

html, body {
  scroll-behavior: smooth; }

/* TEXT */
.palt {
  font-feature-settings: "palt"; }

@media screen and (min-width: 768px) {
  .spOnly {
    display: none !important; } }
@media screen and (max-width: 767px) {
  .pcOnly {
    display: none !important; } }
