/* ---------------------
* common
* ----------------------------------- */

* {
	/* font-family: ‘Noto Sans JP’, sans-serif;
	font-style: normal; */
	font-family: source-han-sans-japanese, sans-serif;
	font-style: normal;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
html {
	font-size: 100%;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-ms-text-size-adjust: 100%;
	/* 2 */
	width: 100%;
	overflow-x: hidden;
}
body {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif!important;
	font-weight: 300;
	overflow-wrap: break-word;
	word-break: normal;
	overflow-x: hidden;
	background: #fff;
}
@media only screen and (min-width: 1280px) and (min-width: 1500px) {
	body {
		font-size: 16px;
	}
}
@media only screen and (min-width: 1501px) and (min-width: 1700px) {
	body {
		font-size: 18px;
	}
}
@media only screen and (min-width: 1701px) {
	body {
		font-size: 20px;
	}
}


a {
	text-decoration: none;
	transition: 0.3s;
}
p {
	line-height: 1.6;
}
a:hover {
	opacity: 0.8;
}
.flex {
	display: flex;
}
.left-justification {
	flex-flow: row wrap;
	justify-content: left;
}
.center-middle {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}
.spacing {
	letter-spacing: 0.05em;
}
.effect-link:hover {
	opacity: 0.8;
}
.block {
	display: block;
	width: 100%;
}

/* transform */
.center-middle {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/* shadow */
.box-shadow {
	box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.1);
}

.wh {
	color: #fff;
}
.bl {
	color: #010101;
}

/* font */
.tsuku {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: 400!important;
  font-style: normal;
}
.mincho {
  font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.gothic {
  font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}
.hiragino {
  font-family: "Hiragino Sans W7"!important;
  font-weight: 700!important;
}
.hiraginow5 {
  font-family: "Hiragino Sans W5", "ヒラギノ角ゴ ProN W5", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif!important;
  font-weight: 500!important;
}
.hiraginow6 {
	font-family: "Hiragino Sans W6", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif!important;
	font-weight: 600!important;
}
.hiraginow7 {
	font-family: "Hiragino Sans W7", "ヒラギノ角ゴ ProN W7", "Hiragino Kaku Gothic ProN", "KozGoPro-Light", "小塚ゴシック Pro L", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif!important;
	font-weight: 700!important;
}

/* effect */
.effect-btn:hover {
  opacity: 0.8;
}
.g-btn {
	position: relative;
	transition: .3s;
	z-index: 0;
}
.g-btn:before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
	z-index:-1;
	top: 0;
  left:0;
  transition:0.5s;
  background: linear-gradient(-219deg, #4db148 0%, #82e324 100%);
}
.g-btn:after{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
	z-index:-2;
	top: 0;
  left:0;
  background: linear-gradient(-39deg, #4db148 0%, #82e324 100%);
}
.g-btn:hover:before{
  opacity:0;
}
a {
  text-decoration: none!important;
}
.g-text {
  background: -webkit-linear-gradient(14deg, #4db148, #82e324);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bg-img {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.btn {
	display: block;
	text-align: center;
	border-radius: 9999px;
}

@media only screen and (min-width: 769px) {
	.pc {
		display: block!important;
	}
	.pc-flex {
		display: flex!important;
	}
	.sp,
	.sp-flex {
		display: none!important;
	}
}
@media only screen and (max-width: 768px) {
	.pc,
	.pc-flex {
		display: none!important;
	}
	.sp-flex {
		display: flex!important;
	}
	.sp {
		display: block!important;
	}
}