@charset "UTF-8";

/* ==========================================================================
   utility.css
   - FLOCSSのUtilityクラス群
   - 単一プロパティで汎用的に使用できるクラス (.u-*)
   ========================================================================== */

/* Flocss Utility */
.u-brackets {
  font-feature-settings: "palt";
}

@media screen {
  .u-effectFade.js-init {
    opacity: 0;
    transform: translate(0, 45px);
    transition: all 600ms;
  }
  .u-effectFade.js-show {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.u-link-blank {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.u-link-blank::after {
  position: relative;
  top: 0.2em;
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  margin-left: 0.4rem;
  background-image: url(../img/common/icon-blank.png.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  vertical-align: baseline;
}


/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
.u-mb--px0 {
  margin-bottom: 0 !important;
}
.u-mb--px5 {
  margin-bottom: 0.5rem !important;
}
.u-mb--px10 {
  margin-bottom: 1rem !important;
}
.u-mb--px15 {
  margin-bottom: 1.5rem !important;
}
.u-mb--px20 {
  margin-bottom: 2rem !important;
}
.u-mb--px25 {
  margin-bottom: 2.5rem !important;
}
.u-mb--px30 {
  margin-bottom: 3rem !important;
}
.u-mb--px35 {
  margin-bottom: 3.5rem !important;
}
.u-mb--px40 {
  margin-bottom: 4rem !important;
}
.u-mb--px45 {
  margin-bottom: 4.5rem !important;
}
.u-mb--px50 {
  margin-bottom: 5rem !important;
}
.u-mb--px55 {
  margin-bottom: 5.5rem !important;
}
.u-mb--px60 {
  margin-bottom: 6rem !important;
}
.u-mb--px65 {
  margin-bottom: 6.5rem !important;
}
.u-mb--px70 {
  margin-bottom: 7rem !important;
}
.u-mb--px75 {
  margin-bottom: 7.5rem !important;
}
.u-mb--px80 {
  margin-bottom: 8rem !important;
}
.u-mb--px85 {
  margin-bottom: 8.5rem !important;
}
.u-mb--px90 {
  margin-bottom: 9rem !important;
}
.u-mb--px95 {
  margin-bottom: 9.5rem !important;
}
.u-mb--em0_5 {
  margin-bottom: 0.5em !important;
}
.u-mb--em1 {
  margin-bottom: 1em !important;
}
.u-mb--em1_5 {
  margin-bottom: 1.5em !important;
}
.u-mb--em2 {
  margin-bottom: 2em !important;
}
.u-mb--em2_5 {
  margin-bottom: 2.5em !important;
}
.u-mb--em3 {
  margin-bottom: 3em !important;
}
@media screen and (min-width: 820px), print {
  .u-mb--pc-px0 {
    margin-bottom: 0 !important;
  }
  .u-mb--pc-px5 {
    margin-bottom: 0.5rem !important;
  }
  .u-mb--pc-px10 {
    margin-bottom: 1rem !important;
  }
  .u-mb--pc-px15 {
    margin-bottom: 1.5rem !important;
  }
  .u-mb--pc-px20 {
    margin-bottom: 2rem !important;
  }
  .u-mb--pc-px25 {
    margin-bottom: 2.5rem !important;
  }
  .u-mb--pc-px30 {
    margin-bottom: 3rem !important;
  }
  .u-mb--pc-px35 {
    margin-bottom: 3.5rem !important;
  }
  .u-mb--pc-px40 {
    margin-bottom: 4rem !important;
  }
  .u-mb--pc-px45 {
    margin-bottom: 4.5rem !important;
  }
  .u-mb--pc-px50 {
    margin-bottom: 5rem !important;
  }
  .u-mb--pc-px55 {
    margin-bottom: 5.5rem !important;
  }
  .u-mb--pc-px60 {
    margin-bottom: 6rem !important;
  }
  .u-mb--pc-px65 {
    margin-bottom: 6.5rem !important;
  }
  .u-mb--pc-px70 {
    margin-bottom: 7rem !important;
  }
  .u-mb--pc-px75 {
    margin-bottom: 7.5rem !important;
  }
  .u-mb--pc-px80 {
    margin-bottom: 8rem !important;
  }
  .u-mb--pc-px85 {
    margin-bottom: 8.5rem !important;
  }
  .u-mb--pc-px90 {
    margin-bottom: 9rem !important;
  }
  .u-mb--pc-px95 {
    margin-bottom: 9.5rem !important;
  }
  .u-mb--pc-em0_5 {
    margin-bottom: 0.5em !important;
  }
  .u-mb--pc-em1 {
    margin-bottom: 1em !important;
  }
  .u-mb--pc-em1_5 {
    margin-bottom: 1.5em !important;
  }
  .u-mb--pc-em2 {
    margin-bottom: 2em !important;
  }
  .u-mb--pc-em2_5 {
    margin-bottom: 2.5em !important;
  }
  .u-mb--pc-em3 {
    margin-bottom: 3em !important;
  }
}
@media screen and (max-width: 819px) {
  .u-mb--sp-px0 {
    margin-bottom: 0 !important;
  }
  .u-mb--sp-px5 {
    margin-bottom: 0.5rem !important;
  }
  .u-mb--sp-px10 {
    margin-bottom: 1rem !important;
  }
  .u-mb--sp-px15 {
    margin-bottom: 1.5rem !important;
  }
  .u-mb--sp-px20 {
    margin-bottom: 2rem !important;
  }
  .u-mb--sp-px25 {
    margin-bottom: 2.5rem !important;
  }
  .u-mb--sp-px30 {
    margin-bottom: 3rem !important;
  }
  .u-mb--sp-px35 {
    margin-bottom: 3.5rem !important;
  }
  .u-mb--sp-px40 {
    margin-bottom: 4rem !important;
  }
  .u-mb--sp-px45 {
    margin-bottom: 4.5rem !important;
  }
  .u-mb--sp-px50 {
    margin-bottom: 5rem !important;
  }
  .u-mb--sp-px55 {
    margin-bottom: 5.5rem !important;
  }
  .u-mb--sp-px60 {
    margin-bottom: 6rem !important;
  }
  .u-mb--sp-px65 {
    margin-bottom: 6.5rem !important;
  }
  .u-mb--sp-px70 {
    margin-bottom: 7rem !important;
  }
  .u-mb--sp-px75 {
    margin-bottom: 7.5rem !important;
  }
  .u-mb--sp-px80 {
    margin-bottom: 8rem !important;
  }
  .u-mb--sp-px85 {
    margin-bottom: 8.5rem !important;
  }
  .u-mb--sp-px90 {
    margin-bottom: 9rem !important;
  }
  .u-mb--sp-px95 {
    margin-bottom: 9.5rem !important;
  }
  .u-mb--sp-em0_5 {
    margin-bottom: 0.5em !important;
  }
  .u-mb--sp-em1 {
    margin-bottom: 1em !important;
  }
  .u-mb--sp-em1_5 {
    margin-bottom: 1.5em !important;
  }
  .u-mb--sp-em2 {
    margin-bottom: 2em !important;
  }
  .u-mb--sp-em2_5 {
    margin-bottom: 2.5em !important;
  }
  .u-mb--sp-em3 {
    margin-bottom: 3em !important;
  }
}

@media screen and (min-width: 820px), print {
  .u-pt--pc-px0 {
    padding-top: 0 !important;
  }
}

@media screen and (max-width: 819px) {
  .u-pt--sp-px0 {
    padding-top: 0 !important;
  }
}

@media screen and (min-width: 820px), print {
  .u-pb--pc-px0 {
    padding-bottom: 0 !important;
  }
}

@media screen and (max-width: 819px) {
  .u-pb--sp-px0 {
    padding-bottom: 0 !important;
  }
}


/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
@media screen and (max-width: 819px) {
  .u-only--pc {
    display: none;
  }
}
@media screen and (min-width: 820px), print {
  .u-only--sp {
    display: none;
  }
}
/*
ms:mobile small
ml:mobile large
ts:tablet small
tl:tablet large
 d:desktop
 */
.u-textAlign--left {
  text-align: left;
}
.u-textAlign--center {
  text-align: center;
}
.u-textAlign--right {
  text-align: right;
}
@media screen and (min-width: 820px), print {
  .u-textAlign--pc-left {
    text-align: left;
  }
  .u-textAlign--pc-center {
    text-align: center;
  }
  .u-textAlign--pc-right {
    text-align: right;
  }
}
@media screen and (max-width: 819px) {
  .u-textAlign--sp-left {
    text-align: left;
  }
  .u-textAlign--sp-center {
    text-align: center;
  }
  .u-textAlign--sp-right {
    text-align: right;
  }
}

.u-ul-check {
  list-style: none;
  padding-left: 0;
}
.u-ul-check li {
  position: relative;
  line-height: 1.5;
}
@media screen and (min-width: 820px), print {
  .u-ul-check li {
    padding-left: 2em;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 2rem;
  }
}
@media screen and (max-width: 819px) {
  .u-ul-check li {
    padding-left: 1.85em;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 1.4rem;
  }
}
.u-ul-check li::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  display: block;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background-image: url(../img/common/u-ul-check.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
}

.u-bgColorWht {
  background-color: #fff;
  padding: 7rem 0;
}
@media screen and (max-width: 819px) {
  .u-bgColorWht {
    padding: 3rem 0;
  }
}


.clearfix:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}
