@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

*,
*::before,
*::after {
  box-sizing: border-box;
}

*:focus,
*::before:focus,
*::after:focus {
  outline: none;
}

* {
  scroll-behavior: smooth;
}

html {
  font-size: 62.5%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 821px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  margin: 0px;
  font-feature-settings: "palt" 1;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  font-family: 'Roboto',
    'Zen Kaku Gothic Antique',
    sans-serif;
}

a {
  text-decoration: none;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

img {
  border-style: none;
  vertical-align: middle;
}

p {
  margin-top: 0px;
  margin-bottom: 0px;
}

input,
button,
select,
optgroup,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
button:active,
button:focus {
  outline: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  appearance: none;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

/*-----------------------------------------------
PC/SP
------------------------------------------------*/
.u-pcDb {
  display: block;
}

.u-pcDib {
  display: inline-block;
}

.u-pcDin {
  display: inline;
}

.u-pcDf {
  display: flex;
}

.u-pcDt {
  display: table;
}

.u-pcDtc {
  display: table-cell;
}

.u-spDb,
.u-spDib,
.u-spDin,
.u-spDf,
.u-spDt,
.u-spDtc {
  display: none;
}

/*--- screen space 820px以下, screen space 820px以上と表示が「横」の場合、sp版表示と対象にする ---*/
@media screen and (max-width: 820px) {

  .u-pcDb,
  .u-pcDib,
  .u-pcDin,
  .u-pcDf,
  .u-pcDt,
  .u-pcDtc {
    display: none;
  }

  .u-spDb {
    display: block;
  }

  .u-spDib {
    display: inline-block;
  }

  .u-spDin {
    display: inline;
  }

  .u-spDf {
    display: flex;
  }

  .u-spDt {
    display: table;
  }

  .u-spDtc {
    display: table-cell;
  }
}

.btn-arrow-d {
  position: relative;
}

.btn-arrow-d::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../images/icon_arrow_down.png) center/contain no-repeat;
  filter: sepia(99%) saturate(2%) hue-rotate(178deg) brightness(108%) contrast(100%);
  width: 3.1rem;
  height: 1.9rem;
}

.ac-parent {
  cursor: pointer;
}