@charset "UTF-8";

#kg section {
	padding: 0;
}
#kg p {
	font-weight: 700;
	margin-bottom: 1.6rem;
}
#kg p small {
	font-weight: 300;
}
#kg #first-view {
	background: #FFF;
}
#kg #first-view h2 {
	margin: 0 auto;
	overflow: hidden;
	background: -moz-linear-gradient(left, #FFF, #FFF100 30%, #FE5000 60%, #FF3EB5);
    background: -webkit-linear-gradient(left, #FFF, #FFF100 30%, #FE5000 60%, #FF3EB5);
    background: linear-gradient(to right, #FFF, #FFF100 30%, #FE5000 60%, #FF3EB5);
}
#kg #first-view img {
	width: 100%;
	max-width: 1500px;
	text-align : center
}
#kg top-img {
    display: block;
    text-align : center;
	width: 800px;
}

.circle {
  color: #fff;
  background-color:#f00;
  padding: 0;
  margin: 0;
  width: 60px;
  height: 60px;
  line-height: 100px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
}

.chara-box {
	position: relative;
	font-size: 16px;
	padding: 1.2em 4em;
	margin: 0 auto 1em;
	text-align: left;
	line-height: 1.4 !important;
}
.chara-box .chara {
	position: absolute;
	right: 0;
	bottom: 0px;
	width: 80px;
	height: 80px;
	margin: 0;
}

#kg .question2 {
	position: relative;
	background: #ffffff;
	padding: 3rem 0;

}
#kg .question2 img {
	display: inline-block;
	vertical-align: middle;
	border-radius: 50%;
	width: 125px;
	height: 125px;
	max-width: 125px;
	max-height: 125px;
	margin-right: 30px;
}
#kg .question2 p {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 400px;
	text-align: left;
	color: #000;
	border-radius: 30px;
	background: #FFF100;
	padding: 1rem 1.6rem;
	margin: 0;
}
#kg .question2 p:before {
	position: absolute;
	top: 50%;
	left: -40px;
	content: "";
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right-width: 35px;
	border-right-color: #FFF100;
	margin-top: -10px;
}

#kg .question3 {
	position: relative;
	background: #ffffff;
	padding: 3rem 0;

}
#kg .question3 img {
	display: inline-block;
	vertical-align: middle;
	width: 125px;
	max-width: 125px;
	margin-right: 30px;
}
#kg .question3 p {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 400px;
	text-align: left;
	color: #000;
	border-radius: 30px;
	background: #FFF100;
	padding: 1rem 1.6rem;
	margin: 0;
}
#kg .question3 p:before {
	position: absolute;
	top: 50%;
	left: -40px;
	content: "";
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right-width: 35px;
	border-right-color: #FFF100;
	margin-top: -10px;
}

#kg .question {
	position: relative;
	background: -moz-linear-gradient(left, #FFF, #FFF100 30%, #FE5000 60%, #FF3EB5);
    background: -webkit-linear-gradient(left, #FFF, #FFF100 30%, #FE5000 60%, #FF3EB5);
    background: linear-gradient(to right, #FFF, #FFF100 30%, #FE5000 60%, #FF3EB5);
	padding: 3rem 0;
	margin-bottom: 5rem;
}
#kg .question:after {
	position: absolute;
	bottom: -150px;
	left: 50%;
	content: "";
	width: 0;
	height: 0;
	border: 100px solid transparent;
	border-top-color: #FFA400;
	border-top-width: 50px; 
	margin-left: -100px;
}
#kg .question img {
	display: inline-block;
	vertical-align: middle;
	border-radius: 50%;
	width: 125px;
	height: 125px;
	max-width: 125px;
	max-height: 125px;
	margin-right: 30px;
}
#kg .question p {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 400px;
	text-align: left;
	border-radius: 30px;
	background: #fff;
	padding: 1rem 1.6rem;
	margin: 0;
}
#kg .question p:before {
	position: absolute;
	top: 50%;
	left: -40px;
	content: "";
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right-width: 35px;
	border-right-color: #fff;
	margin-top: -10px;
}
#kg .answer {
	background: #fff;
	overflow: hidden;
	margin-bottom: 2rem;
}
#kg .answer h3 {
	font-family: -apple-system, 'BlinkMacSystemFont', '.SFNSDisplay-Regular', 'Helvetica Neue', 'Helvetica', "notosansjapanese", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 60px;
	letter-spacing: normal;
	border: 3px solid #FF4438;
	border-radius: 34px;
	padding-right: 2rem;
	margin-bottom: 1.6rem;
	overflow: hidden;
}
#kg .answer h3:before {
	content: attr(title);
	float: left;
	display: block;
	width: 62px;
	height: 62px;
	border-radius: 50%;
    background-color: #FF4438;
	margin-right: 2rem;
	background-image: url("../img/hula/kaiketsu.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center; 
}
#kg .flow {
	max-width: 1000px;
	letter-spacing: -.4em;
	margin: 0 auto 2rem;
}
#kg .flow li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 25%;
	margin: 0 3% 2rem;
}
#kg .flow li:before {
	position: absolute;
	top: 50%;
	right: -85px;
	content: "";
	border: 40px solid transparent;
	border-left-color: #7ac943;
	margin-top: -53px;
	z-index: 10;
}
#kg .flow li img {
	border: 5px solid #7ac943;
	border-radius: 30px;
}
#kg .flow li:last-child:before {
	display: none;
}
#kg .flow li:after {
	display: block;
	content: attr(title);
	font-size: 1rem;
	font-weight: 700;
}
#kg h4 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 1.6rem;
}
#kg h4 strong {
	font-weight: 700;
	color: #ff7bac;
}
#kg .sample {
	max-width: 1000px;
	letter-spacing: -.4rem;
	margin: 0 auto 2.4rem;
}
#kg .sample li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 25%;
	margin: 0 3% 2rem;
}
#kg .sample li:after {
	display: block;
	content: attr(title);
	font-size: 1rem;
	font-weight: 700;
}
#kg .sample li img {
	border: 5px solid #eee;
	border-radius: 30px;
}
#kg .items {
	max-width: 1000px;
	margin: 0 auto 2.4rem;
}
#kg .items li {
	display: inline-block;
	vertical-align: top;
	width: 25%;
	margin: 0 3% 1.6rem;
}
#kg .items li a {
	display: block;
	border-radius: 30px;
	border: 5px solid #eee;
	overflow: hidden;
	margin-bottom: .2rem;
}
#kg .items li a:hover {
	border-color: #3fa9f5;
}
#kg .items li:before {
	content: attr(title1);
	font-size: 1rem;
	font-weight: 700;
}
#kg .items li:after {
	content: attr(title);
	font-size: 1rem;
	font-weight: 700;
}
#kg blockquote {
	max-width: 500px;
	background: #FFA400;
	border-radius: 10px;
	font-size: 20px;
	padding: 1rem 1.6rem;
	margin-left: auto;
    margin-right: auto;
	font-weight: 700;
}
#kg .box {
	max-width: 800px;
	margin: 0 auto 2.4rem;
	border: 5px solid #eee;
	border-radius: 30px;
	padding: 1rem 1.6rem 1.6rem;
}
#kg .box.red{
	max-width: 800px;
	margin: 0 auto 2.4rem;
	border: 5px solid #E0457B;
	border-radius: 30px;
	padding: 1rem 1.6rem 1.6rem;
}
#kg .box.yellow{
	max-width: 1000px;
	margin-left: auto;
    margin-right: auto;
    background-color: #FFEB70;
}
#kg .box pink p {
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}
#kg .box.green {
	border-color: #7ac943;
}
#kg .box.bg {
	border: 5px solid #52D5BE;
	border-radius: 30px;
}
#kg .box p strong {
	font-size: 1.5rem;
	font-weight: 700;
	
}
#kg .box blockquote {
	background: #ffebf3;
	border-radius: 10px;
	font-size: .9rem;
	padding: 1rem 1.6rem;
}
#kg .box blockquote p {
	font-weight: 300;
	line-height: 1.6rem;
	margin: 0;
}
#kg .box blockquote p strong {
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}

#kg .box.bg blockquote {
	background: #F8CAD7;
	border-radius: 10px;
	font-size: .9rem;
	padding: 1rem 1.6rem;
}
#kg .box.bg blockquote p {
	font-weight: 300;
	line-height: 2rem;
	margin: 0;
	font-size: 1.1rem;
    text-align: center;
}
#kg .box.bg blockquote p strong {
	font-size: 3rem;
	font-weight: 700;
	line-height: 3rem;
	text-align: center;
}

#kg .case {
	max-width: 1200px;
	margin: 0 auto 2rem;
}
#kg .case li {
	display: inline-block;
	vertical-align: top;
	width: 25%;
	margin: 0 2%;
}
#kg .case li a {
	display: block;
	border-radius: 30px;
	border: 5px solid #eee;
	margin-bottom: .6rem;
	overflow: hidden;
}
#kg .case li a:hover {
	border-color: #3fa9f5;
}
#kg .case li h5 {
	font-weight: 700;
}
#kg .case li p {
	font-size: .9rem;
	font-weight: 300;
	text-align: left;
}
#kg .order {
	max-width: 1000px;
	letter-spacing: -.4em;
	margin: 0 auto 2rem;
}
#kg .order li {
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 25%;
	margin: 0 2%;
}
#kg .order li h5 {
	font-size: 20px;
	font-weight: 700;
}
#kg .order li a {
	display: block;
	border: 5px solid #eee;
	padding: 40px 0 30px;
	border-radius: 30px;
}
#kg .order li a:after {
	display: block;
	content: attr(title);
	font-weight: 700;
}
#kg .order li a img {
	width: 56%;
}
#kg .category {
	max-width: 1000px;
	letter-spacing: -.4rem;
	margin: 0 auto 2rem;
}
#kg .category li {
	display: inline-block;
	width: 20%;
	letter-spacing: normal;
	margin: 0 1% 1.6rem;
}
#kg .category li:after {
	content: attr(title);
	font-size: 1rem;
	font-weight: 700;
} 
#kg .category li a {
	display: block;
	background: #3fa9f5;
	border: 5px solid #eee;
	border-radius: 30px;
}
#kg .category li a:hover {
	background: #ff1d25;
}
#kg .category li a:hover img {
	opacity: 100;
}
#kg .template {
	max-width: 1000px;
	letter-spacing: -.4rem;
	margin: 0 auto 2rem;
}
#kg .template li {
	display: inline-block;
	width: 20%;
	letter-spacing: normal;
	margin: 0 1% 1.6rem;
}
#kg .template li:after {
	content: attr(title);
	font-size: 1rem;
	font-weight: 700;
} 
#kg .template li a {
	display: block;
	background: #ffffff;
	border: 5px solid #eee;
	border-radius: 30px;
}
#kg .template li a:hover img {
	opacity: 100;
}
#kg .template li img {
	border: 5px solid #7ac943;
	border-radius: 30px;
}
#kg .blue {
	background: #e9f0f6;
	padding: 2rem;
}
#kg .blue .btn {
	background: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	padding: 18px 36px;
	margin: 0 auto;
	border-radius: 30px;
	border-width: 2px;
}
#kg .blue .btn:hover {
	border-color: #3fa9f5;
	background: #3fa9f5;
	color: #fff;
}

.inline {
    display: inline-block;
    text-align: left;
}
.balloon {
    margin: 1em 0;
}
#kg .temp {
	max-width: 1000px;
	letter-spacing: -.4em;
	margin: 0 auto 2rem;
}
#kg .temp li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 25%;
	margin: 0 3% 2rem;
}
#kg .temp li img {
	border: 5px solid #F8A8B6;
	border-radius: 30px;
}
#kg .temp li:last-child:before {
	display: none;
}
#kg .temp li:after {
	display: block;
	content: attr(title);
	font-size: 1rem;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	#kg #main {
		padding-top: 100px;
	}
	#kg .order p small {
		font-size: 12px;
	}
		#kg .question2 img {
		width: 25%;
		height: auto;
		margin-right: 5%;
	}
	#kg .question2 p {
		width: 55%;
		border-radius: 20px;
		padding: 1rem;
	}
	#kg .question2 p:before {
		left: -30px;
		border-right-width: 20px;
	}
	#kg .question {
		padding: 2rem 0;
	}
	#kg .question:after {
		bottom: -75px;
		border-width: 50px; 
		border-top-width: 25px;
		margin-left: -50px;
	}
	#kg .question img {
		width: 25%;
		height: auto;
		margin-right: 5%;
	}
	#kg .question p {
		width: 55%;
		border-radius: 20px;
		padding: 1rem;
	}
	#kg .question p:before {
		left: -30px;
		border-right-width: 20px;
	}
	#kg .answer h3 {
		font-size: 24px;
		line-height: 40px;
		border-radius: 28px;
	}
	#kg .answer h3:before {
		width: 40px;
		height: 40px;
	}
	#kg .flow li:before {
    	right: -65px;
		border-width: 30px;
		margin-top: -43px;
	}
	#kg .order li a {
    	padding: 30px 0 20px;
    }
}
.inline {
    display: inline-block;
    text-align: left;
}


@media screen and (max-width: 480px) {
	#kg #main {
		padding-top: 85px;
	}
	#kg #first-view img {
	width: 100%;
	margin:auto;
}
	
		#kg .question2 {
		padding: 1rem 0;
		margin-bottom: 3rem;
	}
		#kg .question3 img {
		width: 25%;
		height: auto;
		margin-right: 5%;
	}
	#kg .question3 p {
		width: 55%;
		border-radius: 20px;
		padding: 1rem;
	}
	#kg .question3 p:before {
		left: -30px;
		border-right-width: 20px;
	}
	#kg .question {
		padding: 1rem 0;
		margin-bottom: 3rem;
	}
	#kg .answer {
		margin-bottom: 1rem;
	}
	#kg .answer h3 {
		display: block;
		font-size: 14px;
		line-height: 36px;
		padding-right: 1rem;
		margin-bottom: 1rem;
		border-width: 2px;
		border-radius: 20px;
	}
	#kg .answer h3:before {
		width: 36px;
		height: 36px;
		margin-right: .6rem;
	}
	#kg .answer p {
		text-align: left;
	}
	#kg .answer p br {
		display: none;
	}
	#kg .flow,
	#kg .sample {
		margin-bottom: 1.6rem;
	}
	#kg .flow li,
	#kg .sample li {
		width: 33.3333%;
		margin: 0;
	}
	#kg .flow li img,
	#kg .sample li img{
		max-width: 90%;
		border-width: 2px;
		border-radius: 20px;
	}
	#kg .flow li:before {
		right: -28px;
		border-width: 16px;
		margin-top: -22px;
	}
	#kg .flow li:after,
	#kg .sample li:after {
		font-size: 10px;
		overflow: hidden;
		height: 1.6em;
	}
	#kg h4 {
		font-size: 18px;
	}
	#kg .items {
		margin-bottom: 0;
	}
	#kg .items li {
		width: 42%;
	}
	#kg .items li a {
		border-width: 3px;
		border-radius: 20px;
	}
	#kg .items li:after {
		font-size: 12px;
	}
	#kg .box {
		padding: .6rem 1rem 1rem;
		margin-bottom: 2rem;
		border-width: 3px;
		border-radius: 20px;
	}
	#kg .box blockquote {
		padding: .6rem 1rem;
	}
	#kg .box blockquote p {
		font-size: 12px;
		line-height: 1.6;
	}
	#kg .box blockquote p strong {
		font-size: 12px;
	}
	#kg p small {
		display: block;
		line-height: 2rem;
	}
	#kg .case {
		margin: 0 auto;
	}
	#kg .case li {
		width: 90%;
	}
	#kg .case li a {
		border-radius: 20px;
		border-width: 3px;
	}
	#kg .order li {
		width: 46%;
	}
	#kg .order li h5 {
		font-size: 14px;
	}
	#kg .order li a {
		border-radius: 20px;
		border-width: 3px;
		padding: 25px 0 15px;
	}
	#kg .order li a:after {
		font-size: 10px;
	}
	#kg .order p {
		text-align: center;
		margin-bottom: .6rem;
	}
	#kg .order p small {
		font-size: 10px;
		line-height: 1.6;
	}
	#kg .category li {
		width: 46%;
		margin: 0 2% 1rem;
	}
	#kg .category li:after {
		font-size: 12px;
	}
	#kg .category li a {
		border-radius: 20px;
		border-width: 3px;
	}
	#kg .template li {
		width: 46%;
		margin: 0 2% 1rem;
	}
	#kg .template li:after {
		font-size: 12px;
	}
	#kg .temp li {
		width: 46%;
		margin: 0 2% 1rem;
	}
	#kg .temp li:after {
		font-size: 12px;
	}
	#kg .temp li a {
		border-radius: 20px;
		border-width: 3px;
	}
	#kg .temp li img{
		max-width: 90%;
		border-width: 2px;
		border-radius: 20px;
	}
	#kg .blue .btn {
		font-size: 14px;
		padding: 1em 1.6em;
	}
.chara-box .chara {
	position: absolute;
	right: 0;
	bottom: 0px;
	width: 60px;
	height: 60px;
	margin: 0;
}
	#kg .box.bg {
	padding: .6rem 1rem 1rem;
	margin-bottom: 2rem;
	border-width: 3px;
	border-radius: 20px;
	}
	#kg .box.bg blockquote {
		padding: .6rem 1rem;
	}
	#kg .box.bg blockquote p {
		font-size: 12px;
		line-height: 1.6;
	}
	#kg .box.bg blockquote p strong {
		font-size: 20px;
	}
}