@charset "UTF-8";
/*PC・タブレット・スマホ共通設定
 ---------------------------------------------------------------------------*/
/* mobile first*/
/* For Bootstrap4 Breakpoints  */
/* For Bootstrap4 Breakpoints  End */
/* ----
// * ex) @include text-stroke(2, #fff);
---- */
/* Top MainVisual Style
-------------------------------------------------- */
.MainVisual {
  /*
    margin-top: 60px;
    margin-bottom:3rem;
*/
  position: relative;
  z-index: 0;
  background: url(../../img/main_image_02.jpg) no-repeat 0 0;
  background-size: cover;
  background-position: bottom; }
  @media (min-width: 480px) {
    .MainVisual {
      margin-bottom: 1rem; } }
  @media (min-width: 1440px) {
    .MainVisual {
      height: 700px; } }
  @media (min-width: 2560px) {
    .MainVisual {
      background-size: contain; } }

.MainVisual__siteTitle {
  padding-top: 9.5rem; }
  @media (min-width: 320px) {
    .MainVisual__siteTitle {
      padding-top: 7rem; } }
  @media (min-width: 480px) {
    .MainVisual__siteTitle {
      padding-top: 7rem; } }
  @media (min-width: 768px) {
    .MainVisual__siteTitle {
      padding-top: 8rem; } }
  @media (min-width: 1200px) {
    .MainVisual__siteTitle {
      padding-top: 5rem; } }
  @media (min-width: 1440px) {
    .MainVisual__siteTitle {
      padding-top: 7.5rem; } }

.MainVisual__siteTitle .-image {
  width: 100%;
  max-width: 550px;
  display: block;
  margin-left: -2.5%; }

.MainVisual__text {
  position: relative;
  margin: 0rem 3rem 0rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  /*
    background: url(../../img/topimg_catchback.png) no-repeat right bottom;
*/ }

.Catch__title {
  position: relative; }

@media screen and (max-width: 290px) {
  .Catch__title .-spstyle,
  .Catch__text .-spstyle {
    width: 200px;
    margin-left: -30px; } }

@media (min-width: 291px) and (max-width: 575px) {
  .Catch__title .-spstyle,
  .Catch__text .-spstyle {
    /*
        width: 200px;

         */
    margin: 0 auto; } }

.Catch__title .-spstyle:hover,
.Catch__text .-spstyle:hover,
.SiteTitle__image {
  cursor: pointer; }

.SiteTitle__image {
  width: 1.5rem; }

.Catch__back {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-60%, -40%);
          transform: translate(-60%, -40%); }

.Catch__back img {
  max-width: 270px; }
