@charset "UTF-8";
/*********************************/
/*              共通             */
/*********************************/
p {
  line-height: 1.3;
}

h1, h2, h3, h4, h5 {
  line-height: 1.5;
}

a {
  display: block;
  width: 100%;
}

@media only screen and (min-width: 1025px) {
  a:hover {
    opacity: 0.5;
  }
}

img {
  vertical-align: bottom;
  width: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

main {
  padding-top: 75px;
}

@media only screen and (min-width: 1025px) {
  main {
    padding: 0;
  }
}

.dp-sp {
  display: block;
}

@media only screen and (min-width: 1025px) {
  .dp-sp {
    display: none;
  }
}

.dp-pc {
  display: none;
}

@media only screen and (min-width: 1025px) {
  .dp-pc {
    display: block;
  }
}

.page__top-btn {
  background: #9f9f9f;
  border-radius: 5px;
  position: fixed;
  right: 4vw;
  bottom: 2vw;
  opacity: 0.6;
  height: 50px;
  width: 50px;
}

@media only screen and (min-width: 1025px) {
  .page__top-btn {
    right: 40px;
    bottom: 20px;
  }
}

.page__top-btn .page__link {
  position: relative;
  display: block;
  text-decoration: none;
  height: 50px;
  width: 50px;
}

.page__top-btn .page__link::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  height: 25px;
  width: 25px;
}

/*********************************/
/*             Header            */
/*********************************/
.header {
  background-color: #fff;
  position: fixed;
  height: 75px;
  width: 100%;
  z-index: 10;
}

@media only screen and (min-width: 1025px) {
  .header {
    background-color: transparent;
    position: relative;
    height: 0;
  }
}

.header__logo {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  width: 25%;
}

@media only screen and (min-width: 1025px) {
  .header__logo {
    top: 40px;
    left: 30px;
    -webkit-transform: translateY(0%) translateX(0%);
            transform: translateY(0%) translateX(0%);
    width: 130px;
  }
}

.header__picture {
  display: block;
  width: 100%;
}

/*********************************/
/*             Footer            */
/*********************************/
.footer {
  border-top: 1px solid #b5b5b5;
  padding: 4vw 0;
  width: 100%;
}

@media only screen and (min-width: 1025px) {
  .footer {
    padding: 30px 0;
  }
}

.footer__inner {
  padding: 0 4%;
}

@media only screen and (min-width: 1025px) {
  .footer__inner {
    padding: 0;
  }
}

.footer__catch-text {
  color: #242424;
  font-size: 1.86667vw;
  text-align: center;
}

@media only screen and (min-width: 1025px) {
  .footer__catch-text {
    font-size: 14px;
  }
}

/*********************************/
/*         アコーディオン         */
/*********************************/
.accordion__trigger {
  position: relative;
}

.accordion__trigger span::before,
.accordion__trigger span::after {
  content: '';
  display: block;
  background: #626262;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: .5s;
  transition: .5s;
  height: 0.66667vw;
  width: 3.33333vw;
}

@media only screen and (min-width: 1025px) {
  .accordion__trigger span::before,
  .accordion__trigger span::after {
    height: 4px;
    width: 17px;
  }
}

.accordion__trigger span::before {
  right: 3vw;
}

@media only screen and (min-width: 1025px) {
  .accordion__trigger span::before {
    right: 20px;
  }
}

.accordion__trigger span::after {
  right: 3vw;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

@media only screen and (min-width: 1025px) {
  .accordion__trigger span::after {
    right: 20px;
  }
}

.accordion__trigger span.open::after {
  -webkit-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}

.accordion__trigger--arrow {
  position: relative;
}

.accordion__trigger--arrow span::before {
  display: none;
}

.accordion__trigger--arrow span::after {
  background-color: transparent;
  border-top: 2px solid #626262;
  border-right: 2px solid #626262;
  content: '';
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: 0s;
  transition: 0s;
  position: absolute;
  top: 3.2vw;
  right: 4vw;
  height: 2.5vw;
  width: 2.5vw;
}

@media only screen and (min-width: 1025px) {
  .accordion__trigger--arrow span::after {
    top: 17px;
    right: 17px;
    height: 8px;
    width: 8px;
  }
}

.accordion__trigger--arrow span.open::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 4vw;
}

@media only screen and (min-width: 1025px) {
  .accordion__trigger--arrow span.open::after {
    top: 20px;
  }
}

.accordion__body {
  display: none;
  position: relative;
}
/*# sourceMappingURL=common.css.map */