@charset "utf-8";

html {
	font-size: 62.5%;
}

@media screen and (max-width: 780px) {

	html {
		font-size: 62.5%;
	}

}

body {
    background-color: #FFFFFF;
    font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.6em;
    color: #000000;
    line-height: 150%;
    min-height:100%;
    background-image: none;
    overflow-x: hidden;
    overflow-y: visible;
}

main {
    position: relative;
    top: 0px;
}

@media screen and (max-width: 780px) {

  body {
      line-height: 120%;
  }

  main {
      top: 0px;
  }

}

/**/

.pc { display:block; }
.pc-i { display:inline; }
.sp { display:none; }

@media screen and (max-width:780px) {

  .pc { display:none; }
  .pc-i { display:none; }
  .sp { display:block; }

}

/* 共通Wrapper ----------------------------------------- */

.wrapper {
    width: 100%;
}

.wrapper-block {
    max-width: 1200px;
    margin: 0 auto;
}

/* 両側に隙間をあけたい場合 */
.wrapper-block_space {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px 2%;
}

.section {
    padding-top: 120px;
    padding-bottom: 120px;
}

.container {
    width: 100%;
    padding: 0;
    text-align: center;
}

/* 両側に隙間をあけたい場合 */
.container_space {
    width: 100%;
    padding: 20px 2%;
    text-align: center;
}


.container-w100_flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.flexbox {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
}

.flexbox-2r {
    display: flex;
    width: 50%;
    flex-direction: column;
    justify-content: center;
}


/**/

div,p img {
    max-width: 100%;
    vertical-align: bottom;
}


@media screen and (max-width: 1200px) {

   .wrapper-block {
      width: 100%;
   }

   .wrapper-block_space {
      width: 100%;
   }

    .section {
      padding-top: 60px;
      padding-bottom: 60px;
    }

}

@media screen and (max-width: 780px) {
}

/* Font Size ----------------- */




h2 {
  font-size: 4.8rem;
  line-height: 1.2;
  margin-top: calc(-1.2 * 0.5rem);
}

h3 {
  font-size: 3.6rem;
  line-height: 1.2;
  margin-top: calc(-1.2 * 0.5rem);
}

.f-xxxl {
  font-size: 4.8rem;
}

.f-xxl {
  font-size: 3.6rem;
}

.f-xl {
  font-size: 2.8rem;
}

.f-l {
  font-size: 2.4rem;
}

.f-m {
  font-size: 2.0rem;
}

.f-s {
  font-size: 1.4rem;
}


.f-xs {
  font-size: 1.2rem;
} 

@media screen and (max-width:780px) {

  h2 {
    font-size: 2.0rem;
    line-height: 1.2;
    margin-top: calc(-1.2 * 0.5rem);
  }

}

/* Margin */

.m-b_120 {
  margin-bottom: 120px;
}

.m-b_80 {
  margin-bottom: 80px;
}

.m-b_60 {
  margin-bottom: 60px;
}

.m-b_40 {
  margin-bottom: 40px;
}

@media screen and (max-width:780px) {

  .m-b_40 {
    margin-bottom: 20px;
  }

}
