@charset "utf-8";
/* CSS Document */

/* Base */
.t-mode-rwd .l-content-main {
  padding: 0 !important;
}
.l-wrapper {
  background: transparent;
	position: relative;
}
.l-wrapper::before {
  content: '';
  position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: url("../img/main_bg.jpg") top center;
	background-size: cover;
	z-index: -101;
}
.l-wrapper::after {
  content: '';
  position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: url("../img/main_bg_geometry.svg") top center;
	background-size: cover;
	z-index: -100;
}
.article-inner {
  max-width: 1030px;
  margin: 0 auto;
  padding: 100px 15px;
}
.article-inner > *:first-child {
  margin-top: 0;
}
.article-inner > *:last-child {
  margin-bottom: 0;
}
.sp-only {
  display: none;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .l-footer {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  html[lang="ja"] .m-header-logo {
    margin-left: 0 !important;
    left: 12px !important;
  }
  .l-content-related[data-type="lp"] {
    margin: 0;
  }
  .article-inner {
    padding: 55px 10px;
  }
  .t-mode-rwd[data-type="simple"] .l-footer {
    position: relative;
    z-index: 5;
  }
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
}

.hdg-main-lead {
  text-align: center;
	font-family: "Yu Mincho", YuMincho, \006e38\00660e\00671d, \0030d2\0030e9\0030ae\0030ce\00660e\00671d\0020\0050\0072\006f\004e\0020\0057\0033, "Hiragino Mincho ProN", \0048\0047\00660e\00671d\0045, \00ff2d\00ff33\0020\00ff30\00660e\00671d, \00ff2d\00ff33\0020\00660e\00671d, serif;
  font-size: 4rem;
  color: #fff;
	margin-top: 50px;
}
.hdg-main-lead > span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .hdg-main {
    margin-top: 40px;
	}
  .hdg-main-lead {
    font-size: 2.2rem;
    margin-top: 30px;
  }
}

/* Contents Grid */
.m-grid-bf {
  margin: 50px 0 0 -20px;
	display: flex;
}
.m-grid-bf__content {
  padding-left: 20px;
}
.m-grid-bf[data-col="3"] .m-grid-bf__content {
  width: 33.3%;
}
.m-grid-bf[data-col="2"] .m-grid-bf__content {
  width: 50%;
}
.m-grid-bf__content * {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .m-grid-bf {
    margin: 40px 0 0 0;
    flex-direction: column;
  }
  .m-grid-bf__content {
    padding-left: 0;
    margin-top: 30px;
  }
  .m-grid-bf__content:first-child {
    margin-top: 0;
  }
  .m-grid-bf[data-col="3"] .m-grid-bf__content, .m-grid-bf[data-col="2"] .m-grid-bf__content {
    width: 100%;
  }
}