@charset "utf-8";
/* ==========================================================================
Utility
========================================================================== */
/* device
--------------------------------------------------------- */
.u-pc {
  display: block !important;
}
.u-sp {
  display: none !important;
}
@media screen and (max-width:768px){
  .u-pc {
    display: none !important;
  }
  .u-sp {
    display: block !important;
  }
}
/* vertical-align
--------------------------------------------------------- */
.u-va-t{
  vertical-align: top !important;
}
.u-va-m{
  vertical-align: middle !important;
}
.u-va-b{
  vertical-align: bottom !important;
}

/* border
--------------------------------------------------------- */
.u-br-4{
  border-radius: 4px;
}
.u-br-8{
  border-radius: 8px;
}
.u-br-12{
  border-radius: 12px;
}
.u-br-16{
  border-radius: 16px;
}
.u-br-0{
  border: none;
}
.u-br-t-0{
  border-top: none;
}
.u-br-r-0{
  border-right: none;
}
.u-br-b-0{
  border-bottom: none;
}
.u-br-l-0{
  border-left: none;
}

/* clearfix
--------------------------------------------------------- */
.u-cf{
  *zoom: 1;
}
.u-cf:after{
  display: table;
  clear: both;
  content: '';
}
.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

/* display
--------------------------------------------------------- */
.u-d-tb{
  display: table !important;
}
.u-d-tbc{
  display: table-cell !important;
}
.u-d-b{
  display: block !important;
}
.u-d-ib{
  display: inline-block !important;
}
.u-d-n{
  display: none !important;
}

/* float
--------------------------------------------------------- */
.u-fl-l{
  float: left !important;
}
.u-fl-r{
  float: right !important;
}

/* font-size
--------------------------------------------------------- */
.u-fz-10{
  font-size: .714285rem !important;
}
.u-fz-12{
  font-size: .857142rem !important;
}
.u-fz-14{
  font-size: .875rem !important;
}
.u-fz-16{
  font-size: 1rem !important;
}
.u-fz-18{
  font-size: 1.125rem !important;
}
.u-fz-20{
  font-size: 1.25rem !important;
}
.u-fz-22{
  font-size: 1.375rem !important;
}
.u-fz-24{
  font-size: 1.5rem !important;
}
.u-fz-26{
  font-size: 1.625rem !important;
}
.u-fz-large {
  font-size: 120%;
}
.u-fz-mini {
  font-size: .875rem;
}

/* margin
--------------------------------------------------------- */
.u-m-c{
  margin-right: auto !important;
  margin-left: auto !important;
}
.u-mt-0{ margin-top: 0 !important; }
.u-mt-8{ margin-top: 8px !important; }
.u-mt-16{ margin-top: 16px !important; }
.u-mt-24{ margin-top: 24px !important; }
.u-mt-32{ margin-top: 32px !important; }
.u-mt-40{ margin-top: 40px !important; }
.u-mt-48{ margin-top: 48px !important; }
.u-mt-56{ margin-top: 56px !important; }
.u-mt-64{ margin-top: 64px !important; }
.u-mr-0{ margin-right: 0 !important; }
.u-mr-8{ margin-right: 8px !important; }
.u-mr-16{ margin-right: 16px !important; }
.u-mr-24{ margin-right: 24px !important; }
.u-mr-32{ margin-right: 32px !important; }
.u-mr-40{ margin-right: 40px !important; }
.u-mr-48{ margin-right: 48px !important; }
.u-mr-56{ margin-right: 56px !important; }
.u-mr-64{ margin-right: 64px !important; }
.u-mb-0{ margin-bottom: 0 !important; }
.u-mb-8{ margin-bottom: 8px !important; }
.u-mb-16{ margin-bottom: 16px !important; }
.u-mb-24{ margin-bottom: 24px !important; }
.u-mb-32{ margin-bottom: 32px !important; }
.u-mb-40{ margin-bottom: 40px !important; }
.u-mb-48{ margin-bottom: 48px !important; }
.u-mb-56{ margin-bottom: 56px !important; }
.u-mb-64{ margin-bottom: 64px !important; }
.u-ml-0{ margin-left: 0 !important; }
.u-ml-8{ margin-left: 8px !important; }
.u-ml-16{ margin-left: 16px !important; }
.u-ml-24{ margin-left: 24px !important; }
.u-ml-32{ margin-left: 32px !important; }
.u-ml-40{ margin-left: 40px !important; }
.u-ml-48{ margin-left: 48px !important; }
.u-ml-56{ margin-left: 56px !important; }
.u-ml-64{ margin-left: 64px !important; }

/* misc
--------------------------------------------------------- */
.u-ws-nowrap{
  white-space: nowrap;
}
.u-mx-img{
  max-width: 100%;
}
.u-tx-inside{
  margin-left: 1em;
  text-indent: -1em;
}

/* padding
--------------------------------------------------------- */
.u-pt-0{ padding-top: 0 !important; }
.u-pt-8{ padding-top: 8px !important; }
.u-pt-16{ padding-top: 16px !important; }
.u-pt-24{ padding-top: 24px !important; }
.u-pt-32{ padding-top: 32px !important; }
.u-pt-40{ padding-top: 40px !important; }
.u-pt-48{ padding-top: 48px !important; }
.u-pt-56{ padding-top: 56px !important; }
.u-pt-64{ padding-top: 64px !important; }
.u-pr-0{ padding-right: 0 !important; }
.u-pr-8{ padding-right: 8px !important; }
.u-pr-16{ padding-right: 16px !important; }
.u-pr-24{ padding-right: 24px !important; }
.u-pr-32{ padding-right: 32px !important; }
.u-pr-40{ padding-right: 40px !important; }
.u-pr-48{ padding-right: 48px !important; }
.u-pr-56{ padding-right: 56px !important; }
.u-pr-64{ padding-right: 64px !important; }
.u-pb-0{ padding-bottom: 0 !important; }
.u-pb-8{ padding-bottom: 8px !important; }
.u-pb-16{ padding-bottom: 16px !important; }
.u-pb-24{ padding-bottom: 24px !important; }
.u-pb-32{ padding-bottom: 32px !important; }
.u-pb-40{ padding-bottom: 40px !important; }
.u-pb-48{ padding-bottom: 48px !important; }
.u-pb-56{ padding-bottom: 56px !important; }
.u-pb-64{ padding-bottom: 64px !important; }
.u-pl-0{ padding-left: 0 !important; }
.u-pl-8{ padding-left: 8px !important; }
.u-pl-16{ padding-left: 16px !important; }
.u-pl-24{ padding-left: 24px !important; }
.u-pl-32{ padding-left: 32px !important; }
.u-pl-40{ padding-left: 40px !important; }
.u-pl-48{ padding-left: 48px !important; }
.u-pl-56{ padding-left: 56px !important; }
.u-pl-64{ padding-left: 64px !important; }

/* position
--------------------------------------------------------- */
.u-pos-a{
  position: absolute !important;
}
.u-pos-r{
  position: relative !important;
}

/* text-align
--------------------------------------------------------- */
.u-ta-l{
  text-align: left !important;
}
.u-ta-c{
  text-align: center !important;
}
.u-ta-r{
  text-align: right !important;
}

/* text-decoration
--------------------------------------------------------- */
.u-fw-n{
  font-weight: normal !important;
}
.u-fw-b{
  font-weight: bold !important;
}
.u-td-u{
  text-decoration: underline !important;
}

/* font-color
--------------------------------------------------------- */
.u-fc-blue {
  color: #255194 !important;
}
.u-fc-blue2 {
  color: #2D66BB !important;
}
.u-fc-orange {
  color: #D94300 !important;
}
.u-fc-green {
  color: #009B91 !important;
}
.u-fc-red {
  color: #D80000 !important;
}

/* text-truncate
--------------------------------------------------------- */
.u-tt{
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
}

/* width
--------------------------------------------------------- */
.u-w-auto{
  width: auto !important;
}
.u-maw-full{
  max-width: 100% !important;
}
.u-maw-half{
  max-width: 50% !important;
}

.u-roboto {
  font-family: 'Roboto', sans-serif;
}

/* アニメーション */
.sa {
  opacity: 0;
  transition: all 1s ease;
}
.container.sa {
  opacity: 1;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa--lr {
  transform: translate(-50px, 0);
}
.sa--rl {
  transform: translate(50px, 0);
}
.sa--up {
  transform: translate(0, 50px);
}
.sa--down {
  transform: translate(0, -50px);
}
.sa--scaleUp {
  transform: scale(.9);
}
.sa--scaleDown {
  transform: scale(1.5);
}
.sa--rotateL {
  transform: rotate(180deg);
}
.sa--rotateR {
  transform: rotate(-180deg);
}
.u-bg-gray {
  background-color: #eaeaea;
}

.u-mincho {
  font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif!important;
}
