@charset "UTF-8";
/* placeholder color */
/*---------------------------------------------
Reset Style
---------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  font-size: 62.5%; }
  @media (max-width: 750px) {
    html {
      font-size: 62.5%; } }

body {
  color: #302D2C;
  line-height: 1.75;
  height: 100%;
  text-align: left;
  background-color: #FFF;
  text-align: justify; }
  @media (max-width: 750px) {
    body {
      font-size: 4.26vw; } }

hr {
  display: none; }

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

img[src$=".svg"] {
  width: 100%; }

div, dl, dt, dd, form, input, ul, ol, li, p, select, textarea, span, th, td {
  margin: 0;
  padding: 0;
  vertical-align: top;
  font-weight: inherit; }

address, caption, strong, dfn {
  font-style: normal; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  margin: 0;
  padding: 0;
  font-weight: 700;
  line-height: 1.6; }

input, select, textarea {
  font-size: 100%;
  font-family: inherit;
  font-weight: inherit; }

sup {
  vertical-align: text-top;
  font-size: 72%; }

sub {
  vertical-align: text-bottom;
  font-size: 72%; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  font-size: inherit; }

caption {
  text-align: left; }

fieldset {
  border: 0; }

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

main {
  display: block;
  position: relative; }

a {
  text-decoration: none;
  color: inherit;
  transition: opacity .4s;
  display: inline; }
  a:hover {
    text-decoration: none; }
    @media (min-width: 751px) {
      a:hover {
        opacity: 0.5; } }

a:focus {
  outline: none; }

@media (min-width: 751px) {
  a[href^="tel:"] {
    pointer-events: none; } }

/* 上付き文字、下付き文字 */
sup,
sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative; }

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }
