@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
/*==================================================
	RESET CSS
==================================================*/
*,
*::before,
*::after {
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style-type: none;
  text-decoration: none;
  outline: none;
}

/*==================================================
	SCROLL ANIMATION
==================================================*/
._fadeIn {
  opacity: 0;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.250, 0.250, 0.750, 0.750);
}
._fadeIn.isAnimate {
  opacity: 1;
}

._fadeInBlur {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.05);
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.250, 0.250, 0.750, 0.750);
}
._fadeInBlur.isAnimate {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}

._fadeUp {
  opacity: 0;
  transform: translateY(75px);
  transition-duration: 1.45s;
  transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
._fadeUp.isAnimate {
  opacity: 1;
  transform: translateY(0);
}

._fadeUpBack {
  opacity: 0;
  transform: translateY(75px);
  transition-duration: 1.45s;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
._fadeUpBack.isAnimate {
  opacity: 1;
  transform: translateY(0);
}

._scaleIn {
  opacity: 0;
  transform: scale(0.5);
  transition-duration: 1.45s;
  transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
._scaleIn.isAnimate {
  opacity: 1;
  transform: scale(1);
}

._scaleInBack {
  transform: scale(0);
  transition-duration: 1.05s;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
._scaleInBack.isAnimate {
  transform: scale(1);
}

._scaleRotateInBack {
  transform: scale(0) rotate(-45deg);
  transition-duration: 1.25s;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
._scaleRotateInBack.isAnimate {
  transform: scale(1) rotate(0);
}

._scaleOut {
  opacity: 0;
  transform: scale(1.2) rotate(-5deg);
  transition-duration: 1.45s;
  transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
._scaleOut.isAnimate {
  opacity: 1;
  transform: scale(1) rotate(0);
}

._delay1,
._delay1 span {
  transition-delay: 0.4s;
}

._delay2,
._delay2 span {
  transition-delay: 0.5s;
}

._delay3,
._delay3 span {
  transition-delay: 0.6s;
}

._delay4,
._delay4 span {
  transition-delay: 0.7s;
}

._delay5 {
  transition-delay: 0.8s;
}

._delay6,
._delay6 span {
  transition-delay: 0.9s;
}

._delay7,
._delay7 span {
  transition-delay: 1s;
}

._delay8,
._delay8 span {
  transition-delay: 1.1s;
}

._delay9,
._delay9 span {
  transition-delay: 1.2s;
}

._delay10,
._delay10 span {
  transition-delay: 1.3s;
}

/*==================================================
	COMMON
==================================================*/
html, body {
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", san-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 751px) {
  html, body {
    font-size: 18px;
  }
}
@media screen and (max-width: 750px) {
  html, body {
    font-size: 3.7333333333vw;
  }
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100vh;
  background-color: #fff;
  color: #1f272b;
}

main {
  overflow: hidden;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  color: inherit;
}

@media print, screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
}

/*==================================================
	FOOTER
==================================================*/
footer {
  margin: auto;
  border-top: 1px solid #d8e2e6;
  letter-spacing: 0.1em;
  text-align: center;
}
@media print, screen and (min-width: 751px) {
  footer {
    max-width: 980px;
    padding: 50px 0 40px;
  }
}
@media screen and (max-width: 750px) {
  footer {
    margin: 0 5.3333333333vw;
    padding: 12.5333333333vw 0 5.3333333333vw;
  }
}
@media print, screen and (min-width: 751px) {
  footer .logo {
    width: 311px;
  }
}
@media screen and (max-width: 750px) {
  footer .logo {
    width: 64vw;
  }
}
footer ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 751px) {
  footer ul {
    margin-top: 20px;
  }
}
@media screen and (max-width: 750px) {
  footer ul {
    margin-top: 3.2vw;
  }
}
footer ul li a {
  display: inline-block;
  font-weight: 700;
}
@media print, screen and (min-width: 751px) {
  footer ul li a {
    padding: 10px;
    font-size: 14px;
  }
}
@media screen and (max-width: 750px) {
  footer ul li a {
    padding: 3.7333333333vw;
  }
}
footer .copyright {
  letter-spacing: 0.06em;
}
@media print, screen and (min-width: 751px) {
  footer .copyright {
    font-size: 12px;
  }
}
@media screen and (max-width: 750px) {
  footer .copyright {
    margin-top: 1.8666666667vw;
    font-size: 2.9333333333vw;
  }
}

/*==================================================
	レイアウト調整用クラス
==================================================*/
.mb-0 {
  margin-bottom: 0 !important;
}