/* Utility - わずかなスタイルの調整のための便利クラスなどを定義します */

/* テキスト */
.--ff-main{ font-family: var(--ff-main); }
.--ff-mincho{ font-family: var(--ff-mincho); }
.--ff-en{ font-family: var(--ff-en); }

.--fs-32{ font-size: 32px !important; }
.--fs-30{ font-size: 30px !important; }
.--fs-28{ font-size: 28px !important; }

@media screen and (max-width: 768px) {
  .--fs-32-sp{ font-size: 32px !important; }
}

/*  */
.--c-red{ color: #e60012 !important; }
.--c-white{ color: #fff !important; }
.--c-yellow{ color: #ffff00 !important; }
.--c-blue{ color: #3372b9 !important; }
.--c-pink{ color: #ff7987 !important; }

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

.--ul-disc{ list-style: disc; padding-left: 30px; }

.--ta-justify{ text-justify: inter-ideograph; text-align: justify; text-align-last: left; }

.--bold{ font-weight: bold !important; }
.--thin{ font-weight: 100 !important; }

.--nowrap{ white-space: nowrap; }

.--kerning{ font-feature-settings: "palt"; }

.--overflow-ellipsis{
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

a.--h-opacity, .--h-opacity a,
button.--h-opacity, .--h-opacity button{ transition: opacity .3s; }
a.--h-opacity:hover, .--h-opacity a:hover,
button.--h-opacity:hover, .--h-opacity button:hover{ opacity: .6 !important; }

.--img-cover{ width: 100%; height: 100%; object-fit: cover; }
.--img-contain{ width: 100%; height: 100%; object-fit: contain; }

.--clearfix::after{ content: ""; display: block; clear: both; }

.--d-ib{ display: inline-block !important; }
.--d-b{ display: block !important; }
.--d-none{ display: none !important; }
.--d-flex{ display: flex !important; }
.--w-100{ display: block; width: 100% !important; }

.--justify-center{ display: flex; justify-content: center; }

.--absolute{ position: absolute; top: 0; left: 0; }

.js-inview.-fadeup{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease-out, transform .5s ease-out;
}
.js-inview.-fadeup.-inview{
  opacity: 1;
  transform: translateY(0);
}

/* PC */
@media (min-width: 1025px){
	.--tab{ display: none !important; }
	.--sp{ display: none !important; }
	.--tab-sp{ display: none !important; }

	.--pc_pl-0{ padding: 0 !important; }
	.--pc_pr-0{ padding: 0 !important; }
}
/* TAB */
@media screen and (max-width: 1024px) and (min-width: 769px) {
	.--pc{ display: none !important; }
	.--sp{ display: none !important; }
	.--pc-sp{ display: none !important; }

	.--tab_pl-0{ padding: 0 !important; }
	.--tab_pr-0{ padding: 0 !important; }
}
/* SP */
@media screen and (max-width: 768px) {
	.--pc{ display: none !important; }
	.--tab{ display: none !important; }
	.--pc-tab{ display: none !important; }

	.--sp-pl-0{ padding: 0 !important; }
	.--sp-pr-0{ padding: 0 !important; }

	.--sp_fs-14{ font-size: 14px !important; }
	.--sp_fs-16{ font-size: 16px !important; }
	.--sp_fs-18{ font-size: 18px !important; }
}