@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
:root {
  --vw: 1vw;
}

html {
  font-size: 10px;
  margin: auto;
}
html.menuon {
  overscroll-behavior: none;
}

@media (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 10px;
  }
}
body {
  margin: auto;
  padding: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, 游ゴシック体, "Yu Gothic", YuGothic, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #222;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}
body.menuon {
  overscroll-behavior: none;
  overflow: hidden;
  height: 100vh;
}

img {
  vertical-align: bottom;
}

p, li, dt, dd, h3, th, td {
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  p, li, dt, dd, h3, th, td {
    line-height: 1.75;
    font-size: 1.5rem;
  }
}

a {
  text-decoration: none;
}

ul, dl, dt, dd {
  padding-left: 0;
  margin: auto;
}

h3 {
  margin: auto;
}

figure {
  margin: 0;
}

strong {
  font-weight: bold;
}

.en {
  font-family: "Poppins", sans-serif;
}

._ib {
  display: inline-block;
}

._nw {
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  ._sp:not(._pc) {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  ._pc:not(._sp) {
    display: none !important;
  }
}
.scrollin.scregular {
  transition: opacity 0.8s ease-in-out, transform 0.9s ease-in-out;
}
.scrollin.scregular:not(.on) {
  transform: translateY(1rem);
  opacity: 0;
}

.scrollin.sclist > * {
  opacity: 0;
}
.scrollin.sclist.on > * {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}
.scrollin.sclist.on > *:nth-child(1) {
  transition-delay: 0s;
}
.scrollin.sclist.on > *:nth-child(2) {
  transition-delay: 0.15s;
}
.scrollin.sclist.on > *:nth-child(3) {
  transition-delay: 0.3s;
}
.scrollin.sclist.on > *:nth-child(4) {
  transition-delay: 0.45s;
}
.scrollin.sclist.on > *:nth-child(5) {
  transition-delay: 0.6s;
}
.scrollin.sclist.on > *:nth-child(6) {
  transition-delay: 0.75s;
}
.scrollin.sclist.on > *:nth-child(7) {
  transition-delay: 0.9s;
}
.scrollin.sclist.on > *:nth-child(8) {
  transition-delay: 1.05s;
}
.scrollin.sclist.on > *:nth-child(9) {
  transition-delay: 1.2s;
}
.scrollin.sclist.on > *:nth-child(10) {
  transition-delay: 1.35s;
}
.scrollin.sclist.on > *:nth-child(11) {
  transition-delay: 1.5s;
}
.scrollin.sclist.on > *:nth-child(12) {
  transition-delay: 1.65s;
}

/*--------------------------------------------------------------
header
--------------------------------------------------------------*/
#header {
  width: auto;
  height: auto;
  position: fixed;
  z-index: 100;
  top: 4.5rem;
  left: 4.8rem;
}
#header .sitename a .logo {
  display: block;
  transition: filter 0.2s ease;
}
#header .sitename a .logo img {
  width: 21rem;
}
@media (max-width: 767px) {
  #header {
    top: 2rem;
    left: 2rem;
  }
  #header .sitename a .logo img {
    width: 16rem;
  }
}

/*--------------------------------------------------------------
footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
main
--------------------------------------------------------------*/
main > section {
  position: relative;
}
main .inner {
  width: 120rem;
  margin: auto;
  padding: 0 5rem;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  main {
    width: 100vw;
  }
  main .inner {
    width: 100%;
    padding: 0 5vw;
  }
}

#pagetopbtn {
  position: fixed;
  opacity: 0;
  right: 150vw;
  transition: opacity 0.3s 0s ease, right 0s 0.3s;
  bottom: 7rem;
  z-index: 80;
  cursor: pointer;
}
#pagetopbtn.on {
  transition: opacity 0.3s 0s ease, right 0s 0s;
  opacity: 1;
  right: 1rem;
}
#pagetopbtn .circlearrow {
  transform: rotate(-90deg);
}
#pagetopbtn:hover .pt_bar::before {
  -webkit-animation: topanim 1.5s ease-in-out infinite;
          animation: topanim 1.5s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  #pagetopbtn {
    transform: scale(1);
    transform-origin: right bottom;
    bottom: 20px;
  }
  #pagetopbtn.on {
    right: 20px;
  }
}

@-webkit-keyframes topanim {
  0% {
    transform: scaleY(1);
    transform-origin: left top;
  }
  49.999% {
    transform: scaleY(0.0001);
    transform-origin: left top;
  }
  50% {
    transform: scaleY(0);
    transform-origin: left bottom;
  }
  99.999% {
    transform: scaleY(0.9999);
    transform-origin: left bottom;
  }
  100% {
    transform: scaleY(1);
    transform-origin: left bottom;
  }
}

@keyframes topanim {
  0% {
    transform: scaleY(1);
    transform-origin: left top;
  }
  49.999% {
    transform: scaleY(0.0001);
    transform-origin: left top;
  }
  50% {
    transform: scaleY(0);
    transform-origin: left bottom;
  }
  99.999% {
    transform: scaleY(0.9999);
    transform-origin: left bottom;
  }
  100% {
    transform: scaleY(1);
    transform-origin: left bottom;
  }
}
/*--------------------------------------------------------------
main
--------------------------------------------------------------*/
/*# sourceMappingURL=style.css.map */