/* インライン要素・中のパーツ */
@charset "utf-8";

/* fontデフォルト設定
------------------------------------ */
html {
	font-size: 72.5%;
}
@media (max-width: 950px) {
	html {
		font-size: 62.5%;
	}
}

/* 改行する・しない設定
------------------------------------ */
br.pc-only {
    display: inline;
}
br.sp-only {
    display: none;
}
@media (max-width: 950px){
    br.pc-only {
        display: none;
    }
    br.sp-only {
        display: inline;
    }
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* <H>タグ（見出し） まとめ
------------------------------------ */
#FV > h1 {
  padding: 0;
	margin: 0;
}
h2 {
	margin: 7vh 0 6vh 0;
	font-size: 2.2rem;
	line-height: 2.7rem;
	letter-spacing: 0.03em;
	text-align: center;
	font-weight: 600;
  position: relative;
  padding: 1rem .5rem;
}
h2.h2_top {
	margin: 0vh 0 6vh 0;
}
h2:before,
h2:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  background-image: -webkit-linear-gradient(right, #838383 0%, #000 100%);
  background-image: linear-gradient(to left, #000 0%, #838383 100%);
}
h2:before {
  top: 0;
}
h2:after {
  bottom: 0;
}
/* 各ページの見出し */
h2.title {
	margin-top: 0;
  font-size: 2.2rem;
}
h3 {
  font-size: 1.6rem;
	margin: 3vh 0 2vh 0;
}
h4 {
  font-size: 1.3rem;
	margin: 1vh 0 3vh 0;
}

/* フォント
------------------------------------ */
.vision > p {
  font-size: 1.4rem;
	margin: 0 0 1.4vh 0;
	letter-spacing:0.02em;
	line-height: 1.4em;
	color: #404040;
	text-align: left;
}
.text,.text1 {
  font-size: 1.2rem;
	letter-spacing:0.01em;
	line-height: 1.5em;
}
.text1 {
	padding-left: 7px;
}
.text2 {
  font-size: 1.8rem;
	letter-spacing:0.01em;
	line-height: 1.7em;
}

@media (max-width: 950px){
	.text2 {
	  font-size: 1.4rem;
	}
}

/* <font>タグ（テキスト） まとめ
------------------------------------ */
figcaption {
	font-size: 1.2rem;
	margin: 1vh 0 1vh 0;
	letter-spacing:0.01em;
	line-height: 1.5em;
	text-align: left;
}

/* 左右やセンター　幅の割合
------------------------------------ */
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.cnt {
	text-align: center;
}
.cell3 {
  width: 30%;
}
.cell5 {
  width: 50%;
}
.cell7 {
  width: 70%;
}

/* 要素を左右に配置
------------------------------------ */
.between {
	display: flex;
	align-items:  flex-start;
  justify-content:space-between;
	margin: 0 auto;
	text-align: center;
}

/* マージン・パディング
------------------------------------ */
.mg1 {
	margin-top: 1vh;
}
.mg2 {
	margin-top: 2vh;
}
.mg3 {
	margin-top: 3vh;
}
.mg4 {
	margin-top: 3vh;
}
.mg5 {
	margin-top: 5vh;
}
.mg6 {
	margin-top: 6vh;
}
.mg7 {
	margin-top: 7vh;
}
.mg-b1 {
	margin-bottom: 1vh;
}
.mg-b3 {
	margin-bottom: 3vh;
}
.mg-b5 {
	margin-bottom: 5vh;
}
.mg-r1 {
	margin-right: 1vw;
}
.mg-r2 {
	margin-right: 2vw;
}
.mg-r3 {
	margin-right: 3vw;
}
.mg-r5 {
	margin-right: 5vw;
}
.mg-l1 {
	margin-left: 1vw;
}
.mg-l2 {
	margin-left: 2vw;
}
.mg-l3 {
	margin-left: 3vw;
}
/* ボタン
------------------------------------ */
.btn-gradation {
  display: inline-block;
  width: 80%;
  text-align: center;
  font-size: 16px;
  color: #FFF;
  text-decoration: none;
  font-weight: 600;
  padding: 20px 24px;
  border-radius: 4px;
  background-image: linear-gradient(-90deg, #57e67b, #28ad4a);
  transition: .5s;
  background-size: 200%;
	margin: 0 auto;
}

.btn-gradation:hover {
  background-position: right center;
}

/* PC・SP　切り替え
------------------------------------ */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
