@charset "UTF-8";
/* 共通項目・設定 */
html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-x: hidden;
  text-align: center;
  letter-spacing: 0.15em;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Josefin Sans", "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

a {
  text-decoration: none;
  font-weight: 400;
  color: #707070;
}

p {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 400;
}

ul {
  list-style: none;
}

span {
  font-weight: 400;
}

.line-inner-img {
  opacity: 0;
  -webkit-transition: opacity 2s;
  transition: opacity 2s;
}

/* 共通項目・設定ここまで */
/* 共通項目 560 */
@media screen and (min-width: 560px) {
  .loader-text {
    font-size: 1.8rem;
  }

  .section-title {
    font-size: 2.4rem;
  }

  p {
    letter-spacing: 0.2em;
  }

  .sp-br {
    display: none;
  }
}
/* 共通項目 560 ここまで */
/* 共通項目 960 */
@media screen and (min-width: 960px) {
  .section-wrapper {
    padding: 84px 0;
  }

  .section-title {
    font-size: 2.8rem;
    margin-bottom: 48px;
  }

  p {
    font-size: 1.6rem;
  }
}
/* 共通項目 960 ここまで */
@-webkit-keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    opacity: 0;
  }
  100% {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    opacity: 0;
  }
  100% {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    opacity: 1;
  }
  1% {
    display: none;
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
  }
  1% {
    display: none;
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
@-webkit-keyframes scroll-arrow {
  0% {
    top: 0.7em;
  }
  50% {
    top: 1em;
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    top: 0.7em;
  }
}
@keyframes scroll-arrow {
  0% {
    top: 0.7em;
  }
  50% {
    top: 1em;
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    top: 0.7em;
  }
}
.js_animation--fade {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 1s;
  transition: all 1s;
}

.js_animation--fade.is-show {
  opacity: 1;
  visibility: visible;
}

/* header */
.header {
  width: 100%;
}

.header__bg {
  position: fixed;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.7);
}

.header__container {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: auto;
}

.header__nav {
  margin-left: auto;
}

.nav {
  padding: 20px 0;
  height: 56px;
  font-size: 1.6rem;
}

.header__nav {
  margin-right: 18vw;
}

.nav__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.header__nav__list {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-animation: fadeIn 0.5s ease-in 0s forwards;
          animation: fadeIn 0.5s ease-in 0s forwards;
}

.header__nav__list.display {
  display: none;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-animation: fadeOut 0.5s ease-in 0s forwards;
          animation: fadeOut 0.5s ease-in 0s forwards;
}

.nav__item:not(:last-child) {
  margin-right: 4vw;
}

.header__nav__link {
  font-family: "Josefin Sans";
  color: #707070;
}

.header__nav__link--active {
  border-bottom: 1px solid #707070;
}

.nav__link:hover, .nav__link:focus {
  border-bottom: 1px solid rgb(0, 0, 107);
  color: rgb(0, 0, 107);
}

.burger-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: none;
  cursor: pointer;
}
.burger-btn:hover, .burger-btn:focus {
  opacity: 0.6;
}

.header__burger-btn {
  position: fixed;
  top: 25;
  z-index: 11;
  right: 5vw;
  padding: 20px 0;
}

.bars {
  display: block;
}

.bar {
  display: block;
  background-color: #333;
  height: 1px;
  width: 24px;
  border-radius: 1px;
}

.bar_top {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.bar_bottom {
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

/* ハンバーガー開いたとき */
.bar.cross.bar_top {
  -webkit-transform: translate(0px, 0px) rotate(45deg);
          transform: translate(0px, 0px) rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.bar.cross.bar_bottom {
  -webkit-transform: translate(0px, -2px) rotate(-45deg);
          transform: translate(0px, -2px) rotate(-45deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

/* headerここまで */
/* header 560 */
@media screen and (min-width: 560px) {
  .bar {
    width: 28px;
  }

  .bar-top {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }

  .bar-bottom {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
}
/* header 560 ここまで */
/* header 960 */
@media screen and (min-width: 960px) {
  .header__nav {
    margin-right: 5vw;
  }

  .nav {
    font-size: 1.8rem;
    height: auto;
  }

  .header__nav__list {
    -webkit-animation: none;
            animation: none;
  }

  .header__nav__list.display {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    -webkit-animation: none;
            animation: none;
  }

  .nav__item:not(:last-child) {
    margin-right: 3vw;
  }

  .burger-btn.display {
    display: none;
  }
}
/* header 960 ここまで */
/* footer */
.footer {
  padding: 25px 2em;
  position: relative;
  font-size: 1.6rem;
}

.footer__container {
  text-align: right;
}

.footer__link {
  display: block;
  font-size: 0.8em;
  text-decoration: underline;
  margin-bottom: 0.6em;
}
.footer__link:hover {
  color: navy;
}

.footer__text {
  color: #333;
  font-size: 0.8em;
}

@media screen and (min-width: 960px) {
  .footer {
    padding: 32px;
    font-size: 1.8rem;
  }
}
.hero {
  width: 100vw;
  height: 56.25vw;
  background-size: cover;
  background-position: center;
  overflow-x: hidden;
}

.hero__wrapper {
  position: relative;
  font-size: 2.4rem;
}

.hero__inner {
  font-family: "Josefin Sans", "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  position: absolute;
  top: 70%;
  right: 7vw;
  text-align: left;
  translate: -50%, -50%;
  color: #707070;
  color: #333;
}

.hero__title {
  font-size: 0.9em;
}

.top-page__heading {
  margin-bottom: 1vw;
}

.hero__text {
  font-size: 0.7em;
}

.scroll__down {
  display: none;
}

@media screen and (min-width: 560px) {
  .hero__wrapper {
    font-size: 2.6rem;
  }

  .hero__inner {
    left: calc(45vw + 2em);
    top: 60%;
  }
}
@media screen and (min-width: 960px) {
  .hero {
    height: 100vh;
    background-position: top center;
  }

  .hero__wrapper {
    font-size: 3.6rem;
  }

  .hero__inner {
    left: calc(50vw + 3em);
  }

  .scroll__down {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 2em;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-family: "Josefin Sans", "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    cursor: pointer;
  }
  .scroll__down:hover {
    opacity: 0.7;
  }

  .scroll__down-text {
    display: block;
    font-size: 0.5em;
    color: #333;
  }

  .scroll__down-arrow {
    position: relative;
    left: 0.02em;
    top: 0.7em;
    -webkit-animation: scroll-arrow 3s ease infinite;
            animation: scroll-arrow 3s ease infinite;
  }
  .scroll__down-arrow::before {
    content: "";
    width: 0.8em;
    height: 1px;
    background-color: #333;
    position: absolute;
    left: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .scroll__down-arrow::after {
    content: "";
    width: 0.8em;
    height: 1px;
    background-color: #333;
    position: absolute;
    left: 0.58em;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
.section {
  width: 100vw;
}

.section__wrapper {
  padding: 64px 0;
  font-size: 2.6rem;
}

.section__width {
  padding-right: 15vw;
  padding-left: 15vw;
}

.section__title-container {
  margin-bottom: 1.2em;
}

.section__title {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 10px;
}

.section__subtitle {
  display: block;
  font-size: 0.7em;
  line-height: 1;
  margin-bottom: 2.5em;
}

.password-description {
  font-size: 0.55em;
  margin-bottom: 1.5em;
  text-align: left;
  padding-left: 0.55em;
  position: relative;
}
.password-description::before {
  content: "※";
  position: absolute;
  left: -0.55em;
}

.container {
  width: 80vw;
  padding: 10vw;
}

.container > *:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 560px) {
  .section__wrapper {
    font-size: 2.8rem;
  }

  .section__width {
    padding-right: 20vw;
    padding-left: 20vw;
  }

  .password-description {
    padding-right: 5vw;
  }
}
@media screen and (min-width: 960px) {
  .section__title {
    font-size: 3.2rem;
  }

  .section__width {
    padding-right: 10vw;
    padding-left: 10vw;
  }

  .container {
    padding: 5vw 10vw;
  }

  .password-description {
    padding-left: 15vw;
  }
  .password-description::before {
    position: relative;
  }
}
.cards-wrapper {
  padding-bottom: 1em;
}

.cards-wrapper__title {
  font-size: 2rem;
  margin-bottom: 2em;
}

.cards-wrapper__title-en {
  font-size: 1em;
  display: inline-block;
  margin-bottom: 8px;
}

.cards-wrapper__title-jp {
  font-size: 0.8em;
  display: block;
}

.card__sidePage-link {
  display: block;
  width: 100%;
}

.card__img-wrapper {
  display: block;
  margin-bottom: 0.5em;
}

.card__img {
  display: block;
  width: 90%;
}

.card__hover_style {
  position: relative;
}
.card__hover_style::before {
  content: "";
  position: absolute;
  z-index: 3;
  background: rgba(0, 0, 0, 0.4);
  top: 0;
  left: 5%;
  width: 90%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.card__hover_style:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.card__hover-text {
  color: #fff;
  position: absolute;
  z-index: 4;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
}

.card__hover_style:hover .card__hover-text {
  opacity: 1;
}

.card__hover-text__description {
  font-size: 0.6em;
  line-height: 2;
}

.card__body {
  padding: 16px 0 1.5em;
}

.card__body > *:last-child {
  margin-bottom: 0;
}

.card__title {
  margin-bottom: 5px;
  font-size: 0.625em;
  line-height: 1.5;
}

.card__work-range {
  display: block;
  font-size: 0.5833333333em;
  margin-bottom: 5px;
}

.card__site-link {
  font-family: "Josefin Sans", sans-serif;
  display: inline-block;
  color: #707070;
  font-size: 0.5833333333em;
  line-height: 1.5;
  position: relative;
}
.card__site-link:hover, .card__site-link:focus {
  color: rgb(0, 0, 107);
}
.card__site-link::after {
  content: "";
  border-bottom: 1px solid #707070;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -2px;
}
.card__site-link::after:hover, .card__site-link::after:focus {
  border-bottom: 1px solid rgb(0, 0, 107);
}

.card__password-text {
  display: block;
  font-size: 0.55em;
}

@media screen and (min-width: 960px) {
  .cards {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }

  .cards--col3 {
    margin-bottom: -30px;
  }

  .cards--col3 > .cards__item {
    width: 29.1666666667%;
    margin-right: 3.3333333333%;
  }

  .cards--col3 > *:last-child {
    margin-right: 0;
  }

  .cards--col3 > .cards__item:nth-of-type(3n) {
    margin-right: 0;
  }
}
.bullet-list__wrapper {
  padding-right: 15vw;
  padding-left: 15vw;
}

.bullet-list__wrapper > *:last-child {
  margin-bottom: 0;
}

.bullet-list__container {
  margin-bottom: 2em;
}

.bullet-list__title {
  font-size: 0.75em;
  line-height: 1.5;
}

.bullet-list__item {
  font-size: 0.65em;
  margin-bottom: 1em;
  line-height: 1.5;
}

.bullet-list > *:last-child {
  margin-bottom: 0;
}

.bullet-list__item__title {
  margin-bottom: 0.6em;
}

@media screen and (min-width: 960px) {
  .bullet-list__wrapper {
    padding-right: 0;
    padding-left: 0;
  }

  .bullet-list--col2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .bullet-list--col2 > .bullet-list__container {
    width: 33.3333333333%;
    margin-right: 4.1666666667%;
  }
}
.content {
  margin-bottom: 1.5em;
}

.content__title {
  font-size: 0.7em;
  line-height: 1.5;
  margin-bottom: 0.5em;
}

.content__icon {
  font-size: 1.6em;
  margin-bottom: 0.5em;
}

.content__text {
  text-align: left;
}

.content__img {
  width: 1.6em;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 560px) {
  .content__text__pd {
    padding-left: 3vw;
    padding-right: 3vw;
  }
}
@media screen and (min-width: 960px) {
  .content-wrapper--col2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .content-wrapper--col2 > .content__item {
    width: 41.6666666667%;
  }

  .content__text__pd {
    padding-left: 0;
    padding-right: 0;
  }
}
.media__img-wrapper {
  display: block;
  width: 50vw;
  max-width: 300px;
}

.media__img__box {
  margin-right: auto;
  margin-left: auto;
}

.media__img {
  display: block;
  width: 100%;
}

@media screen and (min-width: 560px) {
  .media__text {
    padding-left: 3vw;
    padding-right: 3vw;
  }
}
@media screen and (min-width: 960px) {
  .media--col2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .media__img-wrapper {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 100%;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }

  .media__img__box {
    margin-right: 0;
    margin-left: 0;
    margin-right: 6.6666666667%;
  }

  .media__body {
    max-width: 45.8333333333%;
  }

  .media__title {
    text-align: left;
  }

  .media__text {
    padding-left: 0;
    padding-right: 0;
  }
}
.btn {
  width: 200px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.btn__link {
  font-family: "Josefin Sans", "Zen Kaku Gothic New", sans-serif;
  display: block;
  width: 100%;
  font-size: 1.2em;
  padding: 1.2em 0.6em;
  border: 1px solid #333;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.btn__hover_action:hover, .btn__hover_action:focus {
  background-color: #000;
}
.btn__hover_action a:hover, .btn__hover_action:focus {
  color: #fff;
  letter-spacing: 2px;
}

.sns {
  padding: 1em 0;
}

.sns > *:last-child {
  margin-right: 0;
}

.sns__item {
  display: inline-block;
  margin-right: 0.6em;
}

.sns__icon {
  font-size: 1.2em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.fa-facebook:hover, .fa-facebook:focus {
  color: #1877f2;
}

.fa-soundcloud:hover, .fa-soundcloud:focus {
  color: #ff5e00;
}

.scroll-top {
  width: 6.6666666667%;
  max-width: 80px;
  border: 1px solid #000;
  border-radius: 50%;
  cursor: pointer;
}
.scroll-top::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 55%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-color: #000;
  border-width: 2px 0 0 2px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transition: border-color ease 0.1s;
  transition: border-color ease 0.1s;
}
.scroll-top:hover::before, .scroll-top:focus::before {
  border-color: #fff;
}

.scroll-top_hover {
  position: relative;
}
.scroll-top_hover::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: #000;
  -webkit-transform: translate(-50%, -50%) scale(0, 0);
          transform: translate(-50%, -50%) scale(0, 0);
  -webkit-transition: -webkit-transform ease 0.4s;
  transition: -webkit-transform ease 0.4s;
  transition: transform ease 0.4s;
  transition: transform ease 0.4s, -webkit-transform ease 0.4s;
}
.scroll-top_hover:hover::after, .scroll-top_hover:focus::after {
  -webkit-transform: translate(-50%, -50%) scale(1.1, 1.1);
          transform: translate(-50%, -50%) scale(1.1, 1.1);
}

.scroll_btn_right {
  position: absolute;
  right: 2em;
  top: -70px;
}

@media screen and (min-width: 560px) {
  .scroll-top::before {
    width: 12px;
    height: 12px;
  }

  .scroll-top_hover::after {
    width: 60px;
    height: 60px;
  }
}
@media screen and (min-width: 960px) {
  .scroll-top::before {
    width: 15px;
    height: 15px;
  }

  .scroll-top_hover::after {
    width: 80px;
    height: 80px;
  }

  .scroll_btn_right {
    position: absolute;
    right: 2em;
    top: -100px;
  }
}
.loader__bg {
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
}

.fadeout-bg {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  opacity: 0;
  pointer-events: none;
}

.fadeout-loader {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  opacity: 0;
  pointer-events: none;
}

.loader {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100vw;
  height: 100vh;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}

.loader__inner {
  font-family: "Josefin Sans", sans-serif;
  color: #333;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

.loader__item {
  display: block;
  -webkit-transform: translate(0, 105%);
          transform: translate(0, 105%);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  font-size: 1.5rem;
}

.loader__inner.-visible .loader__item {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.loader__inner .loader__item:nth-child(2) {
  -webkit-transition-delay: 0.06s;
          transition-delay: 0.06s;
}

.loader__inner .loader__item:nth-child(3) {
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
}

.loader__inner .loader__item:nth-child(4) {
  -webkit-transition-delay: 0.18s;
          transition-delay: 0.18s;
}

.loader__inner .loader__item:nth-child(5) {
  -webkit-transition-delay: 0.24s;
          transition-delay: 0.24s;
}

.loader__inner .loader__item:nth-child(6) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.loader__inner .loader__item:nth-child(7) {
  -webkit-transition-delay: 0.36s;
          transition-delay: 0.36s;
}

.loader__inner .loader__item:nth-child(8) {
  -webkit-transition-delay: 0.42s;
          transition-delay: 0.42s;
}

.loader__inner .loader__item:nth-child(9) {
  -webkit-transition-delay: 0.48s;
          transition-delay: 0.48s;
}

.loader__inner .loader__item:nth-child(10) {
  -webkit-transition-delay: 0.54s;
          transition-delay: 0.54s;
}

.loader__inner .loader__item:nth-child(11) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.loader__inner .loader__item:nth-child(12) {
  -webkit-transition-delay: 0.66s;
          transition-delay: 0.66s;
}

.loader__inner .loader__item:nth-child(13) {
  -webkit-transition-delay: 0.72s;
          transition-delay: 0.72s;
}

.loader__inner .loader__item:nth-child(14) {
  -webkit-transition-delay: 0.78s;
          transition-delay: 0.78s;
}

.loader__inner .loader__item:nth-child(15) {
  -webkit-transition-delay: 0.84s;
          transition-delay: 0.84s;
}

.loader__inner .loader__item:nth-child(16) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

@media screen and (min-width: 960px) {
  .loader__item {
    font-size: 2rem;
  }
}
.bg-contain {
  background-size: contain;
  background-position: center;
}

.font-small {
  font-size: 0.8em;
}

.align_left {
  text-align: left;
}

.margin_center {
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}

.title__underline {
  margin-bottom: 0.7em;
  display: inline-block;
  position: relative;
}
.title__underline::after {
  content: "";
  width: 120%;
  height: 2px;
  background-color: #707070;
  position: absolute;
  bottom: -12px;
  left: -10%;
}

.treatment_line {
  position: relative;
}
.treatment_line::before {
  content: "";
  width: 0.5em;
  height: 2px;
  background-color: #333;
  position: absolute;
  left: -28px;
  top: calc(0.5em - 2px);
}
.treatment_line::after {
  content: "";
  width: 0.5em;
  height: 2px;
  background-color: #333;
  position: absolute;
  right: -28px;
  top: calc(0.5em - 2px);
}

.margin_top {
  margin-top: 1em;
}

.margin_top_2em {
  margin-top: 2em;
}

.margin_bottom_2em {
  margin-bottom: 2.4em;
}

.text_mg_bottom {
  margin-bottom: 1em;
}

.bg_white {
  background-color: #fff;
}

.pg_top0 {
  padding-top: 0;
}

.relative {
  position: relative;
}

.title--font-zen {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

@media screen and (min-width: 560px) {
  .br_sp_only {
    display: none;
  }

  .pd_lr_more560 {
    padding-right: 3vw;
    padding-left: 3vw;
  }

  .title--triangle::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: calc(1.7em + 4px);
    right: calc(-10% - 4px);
    width: 10px;
    height: 10px;
    border-style: solid;
    border-color: #000;
    border-width: 2px 0 0 2px;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }

  .top_triangle1::before {
    top: calc(1.85em + 2px);
  }

  .top_triangle2::before {
    top: calc(1.85em + 2px);
  }
}
@media screen and (min-width: 960px) {
  .pd_lr_more560 {
    padding-right: 18vw;
    padding-left: 18vw;
  }

  .pc_none {
    display: none;
  }

  .title--triangle::before {
    width: 15px;
    height: 15px;
  }
}/*# sourceMappingURL=style.css.map */