@charset "UTF-8";

html, :root {
  --pm-global-width: 100rem;
  --pm-thin-width: 47.6rem;
  --pm-color-primary: #BE1A21;
  --pm-color-secondary: #9E222B;
  --pm-color-accent: #B24A4A;
  --pm-color-bg: #EFEFEF;
  --pm-color-text: #333;
  --pm-color-textdarker: #000;
  --pm-color-textlight: #555;
  --pm-color-darkgray: #444;
  --pm-color-gray: #666;
  --pm-color-lightgray: #999;
  --pm-fontfamily-sansserif: "Noto Sans JP", "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;
  --pm-fontfamily-serif: "Noto Serif JP", sans-serif;
  --pm-fontfamily-roboto: "Roboto", sans-serif;
  --pm-fontsize-xs: 1.2rem;
  --pm-fontsize-s: 1.4rem;
  --pm-fontsize-base: 1.6rem;
  --pm-fontsize-l: 1.8rem;
  --pm-fontsize-xl: 2.4rem;
  --pm-zindex-loading: 990;
  --pm-zindex-header: 810;
  --pm-zindex-gnavbtn: 802;
  --pm-zindex-gnav: 801;
  --pm-zindex-overlay: 800;
  --pm-zindex-float: 700;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  text-size-adjust: none;
  font-size: 10px;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  line-height: 1.75;
  font-size: var(--pm-fontsize-base);
  color: var(--pm-color-text);
}

h1, h2, h3, h4, button, input, label {
  line-height: 1.1;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  color: currentColor;
}

img, picture {
  max-width: 100%;
  height: auto;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

textarea:not([rows]) {
  min-height: 10em;
}

:target {
  scroll-margin-block: 5ex;
}

body {
  font-family: var(--pm-fontfamily-sansserif);
  color: var(--pm-color-text);
  background: var(--pm-color-bg);
  letter-spacing: 0.17em;
}
body::before {
  content: "";
  display: block;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg-main.png) no-repeat center top/cover;
}
body.is-menuopen {
  overflow-y: clip;
}

.main-section {
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .main-section {
    margin-bottom: 17rem;
  }
}

.btn-wrap {
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .btn-wrap {
    margin-bottom: 20rem;
  }
}

.wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--pm-global-width);
  width: calc(100% - 2rem);
}
@media (min-width: 640px) {
  .wrapper {
    width: calc(100% - 4rem);
  }
}

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--pm-thin-width);
  width: calc(100% - 2rem);
}
@media (min-width: 640px) {
  .container {
    width: calc(100% - 4rem);
  }
}

#main {
  contain: paint;
}

#header {
  position: fixed;
  z-index: var(--pm-zindex-gnavbtn);
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 2rem;
}
@media (min-width: 768px) {
  #header {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    height: 7rem;
    padding: 0 6rem;
  }
}

@media not all and (min-width: 768px) {
  #logo {
    width: 10rem;
  }
}

#btn-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  z-index: var(--pm-zindex-gnavbtn);
  padding: 0;
  width: 4.5rem;
  height: 5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: rgba(0, 0, 0, 0);
  border: none;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 1024px) {
  #btn-menu {
    width: 7rem;
    height: 7rem;
  }
}
#btn-menu span {
  display: block;
  position: relative;
}
#btn-menu:hover {
  background: rgba(0, 0, 0, 0.1);
}
#btn-menu::before, #btn-menu::after, #btn-menu span {
  content: "";
  display: block;
  position: absolute;
  left: 1rem;
  width: 2.5rem;
  height: 0.2rem;
  border-radius: 1rem;
  background: var(--pm-color-text);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 1024px) {
  #btn-menu::before, #btn-menu::after, #btn-menu span {
    width: 5rem;
    height: 0.3rem;
    border-radius: 1.5rem;
  }
}
.is-menuopen #btn-menu span {
  background: transparent;
}
#btn-menu::before {
  top: 1.7rem;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}
@media (min-width: 1024px) {
  #btn-menu::before {
    top: 2rem;
  }
}
.is-menuopen #btn-menu::before {
  top: 2.4rem;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}
@media (min-width: 1024px) {
  .is-menuopen #btn-menu::before {
    top: 3.35rem;
  }
}
#btn-menu::after {
  bottom: 1.7rem;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}
@media (min-width: 1024px) {
  #btn-menu::after {
    bottom: 2rem;
  }
}
.is-menuopen #btn-menu::after {
  bottom: 2.4rem;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
}
@media (min-width: 1024px) {
  .is-menuopen #btn-menu::after {
    bottom: 3.35rem;
  }
}

#footer {
  background: #E2E2E2;
  padding: 4.5rem 2rem;
  text-align: center;
  letter-spacing: 0.1em;
}

#copyright {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  #copyright {
    font-size: 2rem;
  }
}

._tdu {
  text-decoration: underline;
}

._tac {
  text-align: center;
}

._tar {
  text-align: right;
}

._img-left {
  margin-left: 0;
}

._img-right {
  margin-right: 0;
}

._clear {
  clear: both;
}

._clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

._ro {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
._ro:hover {
  opacity: 0.5;
}

@media (min-width: 640px) {
  ._for-sp {
    display: none !important;
  }
}
@media not all and (min-width: 640px) {
  ._for-pc {
    display: none !important;
  }
}
.fadein-up {
  opacity: 0;
  -webkit-transform: translateY(3rem);
  transform: translateY(3rem);
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.fadein-up.is-animate {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.fade-in span {
  opacity: 0;
}
.fade-in.is-animate span {
  -webkit-animation: fadeIn 0.3s forwards;
  animation: fadeIn 0.3s forwards;
}
.fade-in.is-animate span:nth-child(1) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.fade-in.is-animate span:nth-child(2) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.fade-in.is-animate span:nth-child(3) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.fade-in.is-animate span:nth-child(4) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.fade-in.is-animate span:nth-child(5) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.fade-in.is-animate span:nth-child(6) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.fade-in.is-animate span:nth-child(7) {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.fade-in.is-animate span:nth-child(8) {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}
.fade-in.is-animate span:nth-child(9) {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}
.fade-in.is-animate span:nth-child(10) {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.fade-in.is-animate span:nth-child(11) {
  -webkit-animation-delay: 1.1s;
  animation-delay: 1.1s;
}
.fade-in.is-animate span:nth-child(12) {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}
.fade-in.is-animate span:nth-child(13) {
  -webkit-animation-delay: 1.3s;
  animation-delay: 1.3s;
}
.fade-in.is-animate span:nth-child(14) {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}
.fade-in.is-animate span:nth-child(15) {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}
.fade-in.is-animate span:nth-child(16) {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.fadein {
  opacity: 0;
  -webkit-transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.fadein.is-animate {
  opacity: 1;
}

.fadein-left {
  opacity: 0;
  -webkit-transform: translateX(3rem);
  transform: translateX(3rem);
  -webkit-transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (min-width: 768px) {
  .fadein-left {
    -webkit-transform: translateX(6rem);
    transform: translateX(6rem);
  }
}
.fadein-left.is-animate {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.fadein-right {
  opacity: 0;
  -webkit-transform: translateX(-3rem);
  transform: translateX(-3rem);
  -webkit-transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (min-width: 768px) {
  .fadein-right {
    -webkit-transform: translateX(-6rem);
    transform: translateX(-6rem);
  }
}
.fadein-right.is-animate {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.fadein-scale {
  opacity: 0;
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
.fadein-scale.is-animate {
  opacity: 1;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

.image-slide-in img {
  width: 0;
  margin-left: auto;
}
.image-slide-in.is-animate img {
  -webkit-animation: imgSlideIn 0.9s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
  animation: imgSlideIn 0.9s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.image-slide-in.is-animate .item:nth-child(1) img {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.image-slide-in.is-animate .item:nth-child(2) img {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.image-slide-in.is-animate .item:nth-child(3) img {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}
.image-slide-in.is-animate .item:nth-child(4) img {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.text-slide-in span {
  opacity: 0;
}
.text-slide-in.is-animate span {
  display: inline-block;
  -webkit-animation: slideIn 0.3s forwards;
  animation: slideIn 0.3s forwards;
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
  -webkit-transform: translateY(10%);
  transform: translateY(10%);
}
.text-slide-in.is-animate span:nth-child(1) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.text-slide-in.is-animate span:nth-child(2) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.text-slide-in.is-animate span:nth-child(3) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.text-slide-in.is-animate span:nth-child(4) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.text-slide-in.is-animate span:nth-child(5) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.text-slide-in.is-animate span:nth-child(6) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.text-slide-in.is-animate span:nth-child(7) {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.text-slide-in.is-animate span:nth-child(8) {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}
.text-slide-in.is-animate span:nth-child(9) {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}
.text-slide-in.is-animate span:nth-child(10) {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.text-slide-in.is-animate span:nth-child(11) {
  -webkit-animation-delay: 1.1s;
  animation-delay: 1.1s;
}
.text-slide-in.is-animate span:nth-child(12) {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}
.text-slide-in.is-animate span:nth-child(13) {
  -webkit-animation-delay: 1.3s;
  animation-delay: 1.3s;
}
.text-slide-in.is-animate span:nth-child(14) {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}
.text-slide-in.is-animate span:nth-child(15) {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}
.text-slide-in.is-animate span:nth-child(16) {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}
.text-slide-in.is-animate span:nth-child(17) {
  -webkit-animation-delay: 1.7s;
  animation-delay: 1.7s;
}
.text-slide-in.is-animate span:nth-child(18) {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}
.text-slide-in.is-animate span:nth-child(19) {
  -webkit-animation-delay: 1.9s;
  animation-delay: 1.9s;
}
.text-slide-in.is-animate span:nth-child(20) {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.text-slide-in.is-animate span:nth-child(21) {
  -webkit-animation-delay: 2.1s;
  animation-delay: 2.1s;
}
.text-slide-in.is-animate span:nth-child(22) {
  -webkit-animation-delay: 2.2s;
  animation-delay: 2.2s;
}
.text-slide-in.is-animate span:nth-child(23) {
  -webkit-animation-delay: 2.3s;
  animation-delay: 2.3s;
}
.text-slide-in.is-animate span:nth-child(24) {
  -webkit-animation-delay: 2.4s;
  animation-delay: 2.4s;
}
.text-slide-in.is-animate span:nth-child(25) {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20%);
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20%);
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes imgSlideIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes imgSlideIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes bounce {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  50% {
    -webkit-transform: scale(1.025, 0.975);
    transform: scale(1.025, 0.975);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
}
@keyframes bounce {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  50% {
    -webkit-transform: scale(1.025, 0.975);
    transform: scale(1.025, 0.975);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
}
@-webkit-keyframes sway {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  50% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
}
@keyframes sway {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  50% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
  }
}
@-webkit-keyframes turn {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  90% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  95% {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
@keyframes turn {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  90% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  95% {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
}
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes lightning {
  0% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
  1% {
    -webkit-filter: brightness(2);
    filter: brightness(2);
  }
  2% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
  98% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
  99% {
    -webkit-filter: brightness(2);
    filter: brightness(2);
  }
  100% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
}
@keyframes lightning {
  0% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
  1% {
    -webkit-filter: brightness(2);
    filter: brightness(2);
  }
  2% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
  98% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
  99% {
    -webkit-filter: brightness(2);
    filter: brightness(2);
  }
  100% {
    -webkit-filter: brightness(1);
    filter: brightness(1);
  }
}
@-webkit-keyframes changeTochi {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes changeTochi {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes changeKodate {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes changeKodate {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes changeMansion {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes changeMansion {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes changeJigyo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes changeJigyo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes progressAnimation {
  0% {
    background: conic-gradient(#4CAF50 0%, transparent 0%);
  }
  1% {
    background: conic-gradient(#4CAF50 1%, transparent 0%);
  }
  2% {
    background: conic-gradient(#4CAF50 2%, transparent 0%);
  }
  3% {
    background: conic-gradient(#4CAF50 3%, transparent 0%);
  }
  4% {
    background: conic-gradient(#4CAF50 4%, transparent 0%);
  }
  5% {
    background: conic-gradient(#4CAF50 5%, transparent 0%);
  }
  6% {
    background: conic-gradient(#4CAF50 6%, transparent 0%);
  }
  7% {
    background: conic-gradient(#4CAF50 7%, transparent 0%);
  }
  8% {
    background: conic-gradient(#4CAF50 8%, transparent 0%);
  }
  9% {
    background: conic-gradient(#4CAF50 9%, transparent 0%);
  }
  10% {
    background: conic-gradient(#4CAF50 10%, transparent 0%);
  }
  11% {
    background: conic-gradient(#4CAF50 11%, transparent 0%);
  }
  12% {
    background: conic-gradient(#4CAF50 12%, transparent 0%);
  }
  13% {
    background: conic-gradient(#4CAF50 13%, transparent 0%);
  }
  14% {
    background: conic-gradient(#4CAF50 14%, transparent 0%);
  }
  15% {
    background: conic-gradient(#4CAF50 15%, transparent 0%);
  }
  16% {
    background: conic-gradient(#4CAF50 16%, transparent 0%);
  }
  17% {
    background: conic-gradient(#4CAF50 17%, transparent 0%);
  }
  18% {
    background: conic-gradient(#4CAF50 18%, transparent 0%);
  }
  19% {
    background: conic-gradient(#4CAF50 19%, transparent 0%);
  }
  20% {
    background: conic-gradient(#4CAF50 20%, transparent 0%);
  }
  21% {
    background: conic-gradient(#4CAF50 21%, transparent 0%);
  }
  22% {
    background: conic-gradient(#4CAF50 22%, transparent 0%);
  }
  23% {
    background: conic-gradient(#4CAF50 23%, transparent 0%);
  }
  24% {
    background: conic-gradient(#4CAF50 24%, transparent 0%);
  }
  25% {
    background: conic-gradient(#4CAF50 25%, transparent 0%);
  }
  26% {
    background: conic-gradient(#4CAF50 26%, transparent 0%);
  }
  27% {
    background: conic-gradient(#4CAF50 27%, transparent 0%);
  }
  28% {
    background: conic-gradient(#4CAF50 28%, transparent 0%);
  }
  29% {
    background: conic-gradient(#4CAF50 29%, transparent 0%);
  }
  30% {
    background: conic-gradient(#4CAF50 30%, transparent 0%);
  }
  31% {
    background: conic-gradient(#4CAF50 31%, transparent 0%);
  }
  32% {
    background: conic-gradient(#4CAF50 32%, transparent 0%);
  }
  33% {
    background: conic-gradient(#4CAF50 33%, transparent 0%);
  }
  34% {
    background: conic-gradient(#4CAF50 34%, transparent 0%);
  }
  35% {
    background: conic-gradient(#4CAF50 35%, transparent 0%);
  }
  36% {
    background: conic-gradient(#4CAF50 36%, transparent 0%);
  }
  37% {
    background: conic-gradient(#4CAF50 37%, transparent 0%);
  }
  38% {
    background: conic-gradient(#4CAF50 38%, transparent 0%);
  }
  39% {
    background: conic-gradient(#4CAF50 39%, transparent 0%);
  }
  40% {
    background: conic-gradient(#4CAF50 40%, transparent 0%);
  }
  41% {
    background: conic-gradient(#4CAF50 41%, transparent 0%);
  }
  42% {
    background: conic-gradient(#4CAF50 42%, transparent 0%);
  }
  43% {
    background: conic-gradient(#4CAF50 43%, transparent 0%);
  }
  44% {
    background: conic-gradient(#4CAF50 44%, transparent 0%);
  }
  45% {
    background: conic-gradient(#4CAF50 45%, transparent 0%);
  }
  46% {
    background: conic-gradient(#4CAF50 46%, transparent 0%);
  }
  47% {
    background: conic-gradient(#4CAF50 47%, transparent 0%);
  }
  48% {
    background: conic-gradient(#4CAF50 48%, transparent 0%);
  }
  49% {
    background: conic-gradient(#4CAF50 49%, transparent 0%);
  }
  50% {
    background: conic-gradient(#4CAF50 50%, transparent 0%);
  }
  51% {
    background: conic-gradient(#4CAF50 51%, transparent 0%);
  }
  52% {
    background: conic-gradient(#4CAF50 52%, transparent 0%);
  }
  53% {
    background: conic-gradient(#4CAF50 53%, transparent 0%);
  }
  54% {
    background: conic-gradient(#4CAF50 54%, transparent 0%);
  }
  55% {
    background: conic-gradient(#4CAF50 55%, transparent 0%);
  }
  56% {
    background: conic-gradient(#4CAF50 56%, transparent 0%);
  }
  57% {
    background: conic-gradient(#4CAF50 57%, transparent 0%);
  }
  58% {
    background: conic-gradient(#4CAF50 58%, transparent 0%);
  }
  59% {
    background: conic-gradient(#4CAF50 59%, transparent 0%);
  }
  60% {
    background: conic-gradient(#4CAF50 60%, transparent 0%);
  }
  61% {
    background: conic-gradient(#4CAF50 61%, transparent 0%);
  }
  62% {
    background: conic-gradient(#4CAF50 62%, transparent 0%);
  }
  63% {
    background: conic-gradient(#4CAF50 63%, transparent 0%);
  }
  64% {
    background: conic-gradient(#4CAF50 64%, transparent 0%);
  }
  65% {
    background: conic-gradient(#4CAF50 65%, transparent 0%);
  }
  66% {
    background: conic-gradient(#4CAF50 66%, transparent 0%);
  }
  67% {
    background: conic-gradient(#4CAF50 67%, transparent 0%);
  }
  68% {
    background: conic-gradient(#4CAF50 68%, transparent 0%);
  }
  69% {
    background: conic-gradient(#4CAF50 69%, transparent 0%);
  }
  70% {
    background: conic-gradient(#4CAF50 70%, transparent 0%);
  }
  71% {
    background: conic-gradient(#4CAF50 71%, transparent 0%);
  }
  72% {
    background: conic-gradient(#4CAF50 72%, transparent 0%);
  }
  73% {
    background: conic-gradient(#4CAF50 73%, transparent 0%);
  }
  74% {
    background: conic-gradient(#4CAF50 74%, transparent 0%);
  }
  75% {
    background: conic-gradient(#4CAF50 75%, transparent 0%);
  }
  76% {
    background: conic-gradient(#4CAF50 76%, transparent 0%);
  }
  77% {
    background: conic-gradient(#4CAF50 77%, transparent 0%);
  }
  78% {
    background: conic-gradient(#4CAF50 78%, transparent 0%);
  }
  79% {
    background: conic-gradient(#4CAF50 79%, transparent 0%);
  }
  80% {
    background: conic-gradient(#4CAF50 80%, transparent 0%);
  }
  81% {
    background: conic-gradient(#4CAF50 81%, transparent 0%);
  }
  82% {
    background: conic-gradient(#4CAF50 82%, transparent 0%);
  }
  83% {
    background: conic-gradient(#4CAF50 83%, transparent 0%);
  }
  84% {
    background: conic-gradient(#4CAF50 84%, transparent 0%);
  }
  85% {
    background: conic-gradient(#4CAF50 85%, transparent 0%);
  }
  86% {
    background: conic-gradient(#4CAF50 86%, transparent 0%);
  }
  87% {
    background: conic-gradient(#4CAF50 87%, transparent 0%);
  }
  88% {
    background: conic-gradient(#4CAF50 88%, transparent 0%);
  }
  89% {
    background: conic-gradient(#4CAF50 89%, transparent 0%);
  }
  90% {
    background: conic-gradient(#4CAF50 90%, transparent 0%);
  }
  91% {
    background: conic-gradient(#4CAF50 91%, transparent 0%);
  }
  92% {
    background: conic-gradient(#4CAF50 92%, transparent 0%);
  }
  93% {
    background: conic-gradient(#4CAF50 93%, transparent 0%);
  }
  94% {
    background: conic-gradient(#4CAF50 94%, transparent 0%);
  }
  95% {
    background: conic-gradient(#4CAF50 95%, transparent 0%);
  }
  96% {
    background: conic-gradient(#4CAF50 96%, transparent 0%);
  }
  97% {
    background: conic-gradient(#4CAF50 97%, transparent 0%);
  }
  98% {
    background: conic-gradient(#4CAF50 98%, transparent 0%);
  }
  99% {
    background: conic-gradient(#4CAF50 99%, transparent 0%);
  }
  100% {
    background: conic-gradient(#4CAF50 100%, transparent 0%);
  }
}
@keyframes progressAnimation {
  0% {
    background: conic-gradient(#4CAF50 0%, transparent 0%);
  }
  1% {
    background: conic-gradient(#4CAF50 1%, transparent 0%);
  }
  2% {
    background: conic-gradient(#4CAF50 2%, transparent 0%);
  }
  3% {
    background: conic-gradient(#4CAF50 3%, transparent 0%);
  }
  4% {
    background: conic-gradient(#4CAF50 4%, transparent 0%);
  }
  5% {
    background: conic-gradient(#4CAF50 5%, transparent 0%);
  }
  6% {
    background: conic-gradient(#4CAF50 6%, transparent 0%);
  }
  7% {
    background: conic-gradient(#4CAF50 7%, transparent 0%);
  }
  8% {
    background: conic-gradient(#4CAF50 8%, transparent 0%);
  }
  9% {
    background: conic-gradient(#4CAF50 9%, transparent 0%);
  }
  10% {
    background: conic-gradient(#4CAF50 10%, transparent 0%);
  }
  11% {
    background: conic-gradient(#4CAF50 11%, transparent 0%);
  }
  12% {
    background: conic-gradient(#4CAF50 12%, transparent 0%);
  }
  13% {
    background: conic-gradient(#4CAF50 13%, transparent 0%);
  }
  14% {
    background: conic-gradient(#4CAF50 14%, transparent 0%);
  }
  15% {
    background: conic-gradient(#4CAF50 15%, transparent 0%);
  }
  16% {
    background: conic-gradient(#4CAF50 16%, transparent 0%);
  }
  17% {
    background: conic-gradient(#4CAF50 17%, transparent 0%);
  }
  18% {
    background: conic-gradient(#4CAF50 18%, transparent 0%);
  }
  19% {
    background: conic-gradient(#4CAF50 19%, transparent 0%);
  }
  20% {
    background: conic-gradient(#4CAF50 20%, transparent 0%);
  }
  21% {
    background: conic-gradient(#4CAF50 21%, transparent 0%);
  }
  22% {
    background: conic-gradient(#4CAF50 22%, transparent 0%);
  }
  23% {
    background: conic-gradient(#4CAF50 23%, transparent 0%);
  }
  24% {
    background: conic-gradient(#4CAF50 24%, transparent 0%);
  }
  25% {
    background: conic-gradient(#4CAF50 25%, transparent 0%);
  }
  26% {
    background: conic-gradient(#4CAF50 26%, transparent 0%);
  }
  27% {
    background: conic-gradient(#4CAF50 27%, transparent 0%);
  }
  28% {
    background: conic-gradient(#4CAF50 28%, transparent 0%);
  }
  29% {
    background: conic-gradient(#4CAF50 29%, transparent 0%);
  }
  30% {
    background: conic-gradient(#4CAF50 30%, transparent 0%);
  }
  31% {
    background: conic-gradient(#4CAF50 31%, transparent 0%);
  }
  32% {
    background: conic-gradient(#4CAF50 32%, transparent 0%);
  }
  33% {
    background: conic-gradient(#4CAF50 33%, transparent 0%);
  }
  34% {
    background: conic-gradient(#4CAF50 34%, transparent 0%);
  }
  35% {
    background: conic-gradient(#4CAF50 35%, transparent 0%);
  }
  36% {
    background: conic-gradient(#4CAF50 36%, transparent 0%);
  }
  37% {
    background: conic-gradient(#4CAF50 37%, transparent 0%);
  }
  38% {
    background: conic-gradient(#4CAF50 38%, transparent 0%);
  }
  39% {
    background: conic-gradient(#4CAF50 39%, transparent 0%);
  }
  40% {
    background: conic-gradient(#4CAF50 40%, transparent 0%);
  }
  41% {
    background: conic-gradient(#4CAF50 41%, transparent 0%);
  }
  42% {
    background: conic-gradient(#4CAF50 42%, transparent 0%);
  }
  43% {
    background: conic-gradient(#4CAF50 43%, transparent 0%);
  }
  44% {
    background: conic-gradient(#4CAF50 44%, transparent 0%);
  }
  45% {
    background: conic-gradient(#4CAF50 45%, transparent 0%);
  }
  46% {
    background: conic-gradient(#4CAF50 46%, transparent 0%);
  }
  47% {
    background: conic-gradient(#4CAF50 47%, transparent 0%);
  }
  48% {
    background: conic-gradient(#4CAF50 48%, transparent 0%);
  }
  49% {
    background: conic-gradient(#4CAF50 49%, transparent 0%);
  }
  50% {
    background: conic-gradient(#4CAF50 50%, transparent 0%);
  }
  51% {
    background: conic-gradient(#4CAF50 51%, transparent 0%);
  }
  52% {
    background: conic-gradient(#4CAF50 52%, transparent 0%);
  }
  53% {
    background: conic-gradient(#4CAF50 53%, transparent 0%);
  }
  54% {
    background: conic-gradient(#4CAF50 54%, transparent 0%);
  }
  55% {
    background: conic-gradient(#4CAF50 55%, transparent 0%);
  }
  56% {
    background: conic-gradient(#4CAF50 56%, transparent 0%);
  }
  57% {
    background: conic-gradient(#4CAF50 57%, transparent 0%);
  }
  58% {
    background: conic-gradient(#4CAF50 58%, transparent 0%);
  }
  59% {
    background: conic-gradient(#4CAF50 59%, transparent 0%);
  }
  60% {
    background: conic-gradient(#4CAF50 60%, transparent 0%);
  }
  61% {
    background: conic-gradient(#4CAF50 61%, transparent 0%);
  }
  62% {
    background: conic-gradient(#4CAF50 62%, transparent 0%);
  }
  63% {
    background: conic-gradient(#4CAF50 63%, transparent 0%);
  }
  64% {
    background: conic-gradient(#4CAF50 64%, transparent 0%);
  }
  65% {
    background: conic-gradient(#4CAF50 65%, transparent 0%);
  }
  66% {
    background: conic-gradient(#4CAF50 66%, transparent 0%);
  }
  67% {
    background: conic-gradient(#4CAF50 67%, transparent 0%);
  }
  68% {
    background: conic-gradient(#4CAF50 68%, transparent 0%);
  }
  69% {
    background: conic-gradient(#4CAF50 69%, transparent 0%);
  }
  70% {
    background: conic-gradient(#4CAF50 70%, transparent 0%);
  }
  71% {
    background: conic-gradient(#4CAF50 71%, transparent 0%);
  }
  72% {
    background: conic-gradient(#4CAF50 72%, transparent 0%);
  }
  73% {
    background: conic-gradient(#4CAF50 73%, transparent 0%);
  }
  74% {
    background: conic-gradient(#4CAF50 74%, transparent 0%);
  }
  75% {
    background: conic-gradient(#4CAF50 75%, transparent 0%);
  }
  76% {
    background: conic-gradient(#4CAF50 76%, transparent 0%);
  }
  77% {
    background: conic-gradient(#4CAF50 77%, transparent 0%);
  }
  78% {
    background: conic-gradient(#4CAF50 78%, transparent 0%);
  }
  79% {
    background: conic-gradient(#4CAF50 79%, transparent 0%);
  }
  80% {
    background: conic-gradient(#4CAF50 80%, transparent 0%);
  }
  81% {
    background: conic-gradient(#4CAF50 81%, transparent 0%);
  }
  82% {
    background: conic-gradient(#4CAF50 82%, transparent 0%);
  }
  83% {
    background: conic-gradient(#4CAF50 83%, transparent 0%);
  }
  84% {
    background: conic-gradient(#4CAF50 84%, transparent 0%);
  }
  85% {
    background: conic-gradient(#4CAF50 85%, transparent 0%);
  }
  86% {
    background: conic-gradient(#4CAF50 86%, transparent 0%);
  }
  87% {
    background: conic-gradient(#4CAF50 87%, transparent 0%);
  }
  88% {
    background: conic-gradient(#4CAF50 88%, transparent 0%);
  }
  89% {
    background: conic-gradient(#4CAF50 89%, transparent 0%);
  }
  90% {
    background: conic-gradient(#4CAF50 90%, transparent 0%);
  }
  91% {
    background: conic-gradient(#4CAF50 91%, transparent 0%);
  }
  92% {
    background: conic-gradient(#4CAF50 92%, transparent 0%);
  }
  93% {
    background: conic-gradient(#4CAF50 93%, transparent 0%);
  }
  94% {
    background: conic-gradient(#4CAF50 94%, transparent 0%);
  }
  95% {
    background: conic-gradient(#4CAF50 95%, transparent 0%);
  }
  96% {
    background: conic-gradient(#4CAF50 96%, transparent 0%);
  }
  97% {
    background: conic-gradient(#4CAF50 97%, transparent 0%);
  }
  98% {
    background: conic-gradient(#4CAF50 98%, transparent 0%);
  }
  99% {
    background: conic-gradient(#4CAF50 99%, transparent 0%);
  }
  100% {
    background: conic-gradient(#4CAF50 100%, transparent 0%);
  }
}
@-webkit-keyframes scrollDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(1.5rem);
    transform: translateY(1.5rem);
  }
}
@keyframes scrollDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(1.5rem);
    transform: translateY(1.5rem);
  }
}
.btn-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 32rem;
  height: 7.4rem;
  border-radius: 3.7rem;
  border: 1px solid #000;
  padding: 0 4.6rem;
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  font-weight: bold;
  color: inherit;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .btn-contact {
    width: 54rem;
    height: 9.2rem;
    border-radius: 4.6rem;
    padding: 0 4.6rem;
  }
}
.btn-contact::before {
  content: "";
}
.btn-contact::after {
  content: "";
  width: 4rem;
  height: 1.8rem;
  background: url(../img/arrow.svg) no-repeat center right/contain;
}
.btn-contact:hover {
  background: var(--pm-color-text);
  color: #fff;
}

.heading-primary {
  position: relative;
  padding-top: 6rem;
}
@media (min-width: 768px) {
  .heading-primary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.heading-primary > .en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  font-family: var(--pm-fontfamily-roboto);
  font-weight: 700;
  font-size: 2.8rem;
}
.heading-primary > .en::before {
  content: "";
  display: block;
  margin-right: 1rem;
  width: 1rem;
  height: 1rem;
  background: var(--pm-color-text);
}
.heading-primary > .jp {
  margin-left: 2.1rem;
  font-size: 1.6rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .heading-primary > .jp {
    margin-left: 1em;
  }
}
.heading-primary::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 34.5rem;
  height: 1px;
  background: rgba(119, 119, 119, 0.5);
}

@media (min-width: 1024px) {
  .contents-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .contents-wrapper.-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media not all and (min-width: 1024px) {
  .contents-wrapper {
    margin-top: 6rem;
  }
}
.contents-wrapper > .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  letter-spacing: 0.25em;
  width: 24.8rem;
  height: 24.2rem;
  background: url(../img/title-bg.png) no-repeat center center/contain;
}
@media not all and (min-width: 768px) {
  .contents-wrapper > .heading {
    margin: 0 auto;
  }
}
.contents-wrapper > .contents {
  line-height: 2;
  overflow-wrap: anywhere;
}
@media not all and (min-width: 1024px) {
  .contents-wrapper > .contents {
    margin-top: 4rem;
  }
}
@media (min-width: 768px) {
  .contents-wrapper > .contents {
    line-height: 3;
    width: calc(100% - 30.3rem);
  }
}

@media (min-width: 768px) {
  .list-link > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.list-link > .wrap > .title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media not all and (min-width: 768px) {
  .list-link > .wrap > .title {
    margin: 2rem 0 1rem;
  }
}
.list-link > .wrap > .title::before {
  content: "★";
  margin-right: 0.5em;
}
.list-link > .wrap > .title::after {
  content: "｜";
}
.list-link > .wrap > .description {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}
.list-link > .wrap > .description .link {
  color: inherit;
}
.list-link > .wrap > .description .link:hover {
  text-decoration: none;
}

#gnav {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--pm-color-bg);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.is-menuopen #gnav {
  z-index: var(--pm-zindex-gnav);
  opacity: 1;
  pointer-events: initial;
}

.gnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  gap: 1em;
}
.gnav > .item {
  width: 100%;
}
.gnav > .item > .link {
  display: block;
  padding: 1em 4rem;
  font-family: var(--pm-fontfamily-roboto);
  font-size: 2.4rem;
  text-align: right;
  text-decoration: none;
  color: inherit;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 768px) {
  .gnav > .item > .link {
    padding: 1em 15rem 1em 4rem;
  }
}
.gnav > .item > .link:hover {
  background: #ccc;
}

#top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 100vh;
  padding: 7rem 0;
}
@media (min-width: 768px) {
  #top {
    padding: 9rem 0;
  }
}
#top > .contents {
  max-width: 25rem;
  font-weight: 500;
  line-height: 2.25;
}
@media (min-width: 768px) {
  #top > .contents {
    max-width: 50.6rem;
    line-height: 2.4;
  }
}
#top > .contents > .text {
  margin-top: 3em;
}

#about-us > .content {
  margin-top: 7rem;
  line-height: 3.5625;
}

#business-outline > .heading-primary {
  margin-bottom: 7.5rem;
}
@media not all and (min-width: 768px) {
  #business-outline img {
    max-width: 28.2rem;
    margin-left: auto;
    margin-right: auto;
  }
}

#contents > .heading-primary {
  margin-bottom: 11rem;
}
/*# sourceMappingURL=style.css.map */
