html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}

/* Typography
 * *********************************** */
@font-face {
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff");
  font-family: "NotoSansJapanese";
  font-display: swap;
}

@font-face {
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff");
  font-family: "NotoSansJapanese";
  font-display: swap;
}

@font-face {
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Montserrat-Medium.woff2") format("woff2"), url("../fonts/Montserrat-Medium.woff") format("woff");
  font-family: "Montserrat";
  font-display: swap;
}

@font-face {
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Montserrat-Bold.woff2") format("woff2"), url("../fonts/Montserrat-Bold.woff") format("woff");
  font-family: "Montserrat";
  font-display: swap;
}

html {
  font-size: 62.5%;
}

body {
  position: relative;
  color: #272727;
  font-size: 1.06vw;
  line-height: 1.5;
  font-family: 'YakuHanJPs', 'Montserrat', 'NotoSansJapanese', sans-serif;
}

p {
  line-height: 1.7;
}

* {
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

a,
a:visited {
  color: inherit;
  text-decoration: none;
}

/* Layout
 * *********************************** */
article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

/* Elements
 * *********************************** */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol,
ul {
  list-style: none;
}

img,
video {
  max-width: 100%;
  vertical-align: top;
}

img {
  border-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

/* Attributes & states
 * *********************************** */
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

@media screen and (max-width: 767px) {
  p {
    font-size: 3.73333vw;
    line-height: 1.4;
  }
}
