@font-face {
  font-family: "shinR";
  src: url(font/A-OTF-ShinGoPr6N-Regular.woff2);
}
.shinR {
  font-family: "shinR";
}

* {
  position: relative;
  line-height: 1em;
  scroll-padding-top: 10vh;
}
html,
body {
  font-family: "shinR";
  color: #292929;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}

input[type="radio"],
input[type="checkbox"] {
  scale: 1.5;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  font-size: inherit;
  width: 16em;
  background-color: #ededed;
  border: 0;
}
input::placeholder,
textarea::placeholder {
  color: #9b9b9b;
}
.header,
.body,
.footer {
  max-width: 100%;
  width: 100%;
}
span {
  display: inline-flex;
}
table {
  border-collapse: collapse;
}
td {
  border: solid 1px black;
  padding: 0 0.5em;
  white-space: nowrap;
}
select {
  height: 2em;
}
button {
  font-size: 1em;
  line-height: 1.5em;
}
.tc {
  text-align: center;
}
.te {
  text-align: end;
}
.b {
  font-weight: 700;
}
.v {
  flex-direction: column;
}
.wrap {
  flex-wrap: wrap;
}
.nowrap {
  white-space: nowrap;
  flex-wrap: nowrap;
}
.inline {
  display: inline;
}
.f {
  display: flex;
}
.fac {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.fas {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
.fbc {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fbe {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.fbs {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.fcc {
  display: flex;
  justify-content: center;
  align-items: center;
}
.fce {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.fcs {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.fec {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.fes {
  display: flex;
  justify-content: space-evenly;
  align-items: flex-start;
}
.fendc {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.fende {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.fsc {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.fxc {
  display: flex;
  align-items: center;
}
.fxe {
  display: flex;
  align-items: flex-end;
}
.fxs {
  display: flex;
  align-items: flex-start;
}
.selfstart {
  display: flex;
  align-self: flex-start;
}
.selfend {
  display: flex;
  align-self: flex-end;
}
.noscrollbar {
  -ms-overflow-style: none;
}
.noscrollbar::-webkit-scrollbar {
  display: none;
}
.fadein,
.typein {
  opacity: 0;
}
.abs {
  position: absolute;
}
.fixed {
  position: fixed;
}
.hidden {
  display: none !important;
}
.w100 {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}
.h100 {
  height: 100%;
}
.mh100 {
  max-height: 100%;
}
.ofhh {
  overflow: hidden hidden;
}
@media screen and (min-width: 961px) {
  .sp {
    display: none;
  }
  .pcc {
    align-items: center;
  }
  .pccc {
    justify-content: center;
    align-items: center;
  }
  .pctc {
    text-align: center;
  }
  .pcw100 {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .pcwrap {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 960px) {
  .pc {
    display: none;
  }
  .spv {
    flex-direction: column;
  }
  .spvrev {
    flex-direction: column-reverse;
  }
  .sps {
    justify-content: flex-start;
  }
  .spc {
    align-items: center;
  }
  .spcc {
    justify-content: center;
    align-items: center;
  }
  .sptc {
    text-align: center;
  }
  .spw100 {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .spwrap {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 961px) {
}
@media screen and (max-width: 960px) {
}
.lh1em {
  line-height: 1em;
}
.white {
  color: white;
}
.bwhite {
  background-color: white;
}
.black {
  color: black;
}
.auto-scroll {
  background-size: cover;
  background-repeat: repeat-x;
}
.pointer {
  cursor: pointer;
}
