@charset "UTF-8";

/* =============================================
#  Utilities
============================================= */

/* ---------------------------------------------
	Typography
--------------------------------------------- */
.u-fc-primary{ color: #004ea2; }
.u-fc-white{ color: #fff; }
.u-fc-base{ color: #1e1e1e; }
.u-fc-33{ color: #333; }
.u-fc-gray-60{ color: #606060; }
.u-fc-gray-7d{ color: #7d7d7d; }

.u-fc-primary--alpha-40{ color: rgba(0, 78, 162, 0.4); }

.u-fw-bold{ font-weight: bold; }
.u-fw-300{ font-weight: 300; }
.u-fw-400{ font-weight: 400; }
.u-fw-500{ font-weight: 500; }
.u-fw-700{ font-weight: 700; }
.u-fw-900{ font-weight: 900; }

.u-font-montserrat{ font-family: "Montserrat", sans-serif; }
.u-font-YuGothic{ font-family: "Yu Gothic", "Yu Gothic Medium", "Yu Gothic", "游ゴシック体", sans-serif; }

.u-ls-0-05em{ letter-spacing: 0.05em; }
.u-ls-0-075em{ letter-spacing: 0.075em; }


/* ---------------------------------------------
	Backgrounds
--------------------------------------------- */
.u-bg-primary{ background-color: #004ea2; }
.u-bg-white{ background-color: #fff; }
.u-bg-gray-7d{ background-color: #7d7d7d; }
.u-bg-gray-f7{ background-color: #f7f7f7; }
.u-bg-gray-f0{ background-color: #f0f0f0; }

.u-bg-primary--alpha-10{ background-color: rgba(0, 78, 162, 0.1); }
.u-bg-gray-7d--alpha-10{ background-color: rgba(125, 125, 125, 0.1); }


.u-blend-mode-multiply{ mix-blend-mode: multiply; }

/* ---------------------------------------------
	Text
--------------------------------------------- */
.u-align-center{ text-align: center; }
.u-align-right{ text-align: right; }

.u-ellipsis{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 599.98px) {
  .u-sp-ellipsis{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ---------------------------------------------
	Display
--------------------------------------------- */
.u-dsp-b{ display: block; }
.u-dsp-lb{ display: inline-block; }
.u-dsp-flex{ display: flex; }
.u-dsp-n{ display: none; }

@media screen and (max-width: 599.98px) {
  .u-sp-dsp-lb{ display: inline-block; }
}


/* =============================================
#  CSS Animations
============================================= */
/* ---------------------------------------------
	Hover
--------------------------------------------- */
.u-anim-hv:hover{
  opacity: 0.7;
}
.u-anim-hv-cubbic{
  -webkit-transition: 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
	transition: 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.u-anim-hv-transition-all{
  transition: all 0.3s ease;
}
.u-anim-hv-transition-opacity{
  transition: opacity 0.3s ease;
}
.u-anim-hv-unerline:hover{
  text-decoration: underline;
}
.u-hv-color-primary:hover{
  color: #004ea2;
  opacity: 1;
}
@media screen and (max-width: 599.98px) {
  .u-sp-not-hover:hover{
    opacity: 1;
  }
}