@charset "utf-8";

/***
* reset
**************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
}
body {
  font-style: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
img,
picture,
video,
canvas,
svg {
  display: block;
  vertical-align: middle;
  width: 100%;
  height: auto;
}
input,
button,
textarea,
select {
  font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  font-weight: normal;
  font-size: 100%;
}
#root,
#__next {
  isolation: isolate;
}
li {
  list-style-type: none;
}

/***
* root
**************************************/
:root {
  --windowW: 375;
  --winW: calc(100vw / var(--windowW));

  /* color */
  --color-base: #fff;
  --color-text: #000;
  --color-gray: #888;
  --color-red: #d24544;
  --color-gold: #c9a000;
  --color-red-line: #ed1c24;
  --color-bg-gray: #eee;
  --color-footer: #1a1a1a;
}
@media screen and (min-width: 769px) {
  :root {
    --windowW: 1600;
    --winW: calc(100vw / var(--windowW));
  }
}

/***
* html
**************************************/
html::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
}

/***
* body
**************************************/
body::-webkit-scrollbar {
  display: none;
}

body {
  margin: 0;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
}

/***
* common
**************************************/
a {
  text-decoration: none;
  color: inherit;
}

.is-sp {
  display: block;
}
.is-pc {
  display: none;
}

@media only screen and (min-width: 769px) {
  .is-sp {
    display: none;
  }
  .is-pc {
    display: block;
  }
}

.visually_hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/***
* header
**************************************/
header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  height: calc(var(--winW) * 56);
}
header .logo_pc {
  display: none;
  width: calc(var(--winW) * 92);
}
header .logo_sp {
  display: block;
  width: calc(var(--winW) * 130);
  margin-left: calc(var(--winW) * 15);
  margin-top: calc(var(--winW) * 20);
}
.headerLogoArea {
  display: inline-block;
  vertical-align: bottom;
}
@media only screen and (min-width: 769px) {
  header {
    height: 134px;
  }
  .headerLogoArea {
    margin-left: calc(var(--winW) * 30);
    margin-top: calc(var(--winW) * 29);
  }
  header .logo_pc {
    display: block;
  }
  header .logo_sp {
    display: none;
  }
}

/***
* footer
**************************************/
#gn_footer .gn_element .grid-row.bleed {
  max-width: none !important;
}
#gn_footer {
  position: relative;
  z-index: 999;
}
