@charset "utf-8";
/* CSS Document */
body{
	font-family: 'Noto Sans JP', sans-serif;
	color: rgb(72, 72, 72);
	font-size: 16px;
}

.container{
	background: rgba(248, 250, 245, 1); 
}

header{
	position: fixed;
	display: flex;
	justify-content: flex-start;
	background: rgba(248, 250, 245, 1);
	width: 100%;
	height: 90px;
}

#logo{
	width: 18%;
	display: block;
	margin: 30px 0 0 28px;
}

nav{
	display: flex;
	justify-content: flex-start;
	margin-top: 10px;
}

input[type="checkbox"]{
	display: none;
}

nav ul{
	list-style-type: none;
	display: flex;
	justify-content: center;
	margin-left: 30px;
}

.nav-content{
	margin: 34px 12px;
	font-size: 0.95em;
	font-family: 'Kiwi Maru', serif;
}

.nav-content a{
	text-decoration: none;
	color: rgb(72, 72, 72);
}

.free-trial-button{
	position: fixed;
	padding: 10px 14px;
	top: 32px;
	right: 24px;
	font-size: 0.9em;
	text-align: center;
	border: 2px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: -webkit-gradient(linear, left top, right top, from(#65ab31), to(rgba(20, 172, 101, 1)));
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
	border-radius: 22px;
}

.free-trial-button a{
	text-decoration: none;
	color: #fff;
}

.free-trial-button br{
	display: none;
}

.free-trial-button:hover {
	-webkit-transform: translate(0, -2px);
	transform: translate(0, -2px);
	color: #fff;
	-webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
	box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
	cursor: pointer;
}

label {
	display: none;
}

.main-top{
	display: flex;
	gap: 0 3%;
	justify-content: center;
	align-items: center;
	padding-top: 140px;
}

.top-pic{
	width: 38%;
}

.catchCopy h2{
	font-weight: normal;
	font-size: 2.4em;
	color: rgba(37, 182, 114, 1);
	font-family: 'Kiwi Maru', serif;
	line-height: 1.4em;
}

.catchCopy h3{
	font-weight: normal;
	font-size: 1.2em;
	color: rgba(96, 96, 96, 1);
	margin-top: 16px;
	font-family: 'Kiwi Maru', serif;
}

.check-sheet{
	width: 80%;
	background: #fff;
	padding: 30px 20px;
	margin: 70px auto 50px auto;
	color: rgba(96, 96, 96, 1);
	box-shadow: 5px 5px 15px 10px #d9d9d9;
}

.check-sheet p{
	font-size: 23px;
	font-style: normal;
	text-align: center;
	margin-bottom: 15px;
}

.check-sheet ul{
	list-style-type: "□";
	margin-left: 50px;
	font-size: 20px;
	line-height: 50px;
}

.check-sheet ul li{
	padding-left: 15px; 
}

.check-sheet span{
	background: linear-gradient(transparent 0%, #fff799 0%);
}

.solution{
	width: 90%;
	margin: 50px auto 200px auto;
	background: radial-gradient(rgba(20, 172, 101, 0.4), transparent 70%);
}

.arrow{
	width: 6%;
	display: block;
	margin: 80px auto;
	color:rgba(72,72,72,1);
}

.solution-text{
	text-align: center;
	color:rgba(72,72,72,1);
}

.solution h4{
	font-weight: bold;
	font-size: 1.4em;
	margin-bottom: 30px;
}

.solution-break{
	display: none;
}

.solution-text p{
	margin: 20px auto;
	font-size: 1em;
}

.solution p b{
	background: linear-gradient(transparent 0%, #fff799 0%);
}

.trial-link{
	display: block;
	width: fit-content;
	text-align: center;
	margin: 0 auto;
	padding: 3px 16px;
	border: 2px solid rgba(20, 172, 101, 1);
	border-radius: 22px;
}

.trial-link a{
	color: rgba(20, 172, 101, 1);
	text-decoration: none;
}

.square-box{
	width: 85%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 100px auto;
}

.square{
	background: #fff;
	border-radius: 20px;
	padding: 20px 20px;
	text-align: center;
	width: 30%;
}

.sq-icon{
	height: 80px;
}

.sq-text-title{
	font-size: 18px;
	font-weight: bold;
	margin-top: 14px;
	margin-bottom: 10px;
	line-height: 26px;
	color: rgb(72, 72, 72);
}

.sq-text{
	margin: 5px 0;
	font-size: 14px;
	text-align: left;
	line-height: 20px;
	color: rgb(72, 72, 72);
}

.voice{
	margin: 0 auto;
}

.voice h4{
	font-size: 30px;
	margin: 50px auto 90px auto;
	text-align: center;
	font-family: 'Kiwi Maru', serif;
	color: rgb(72, 72, 72);
}

.voice-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 85%;
	margin: 0 auto;
	gap: 4%;
}

.voice-box img{
	width: 20%;
}

.comment{
	padding: 20px;
	background: #fff;
	border-radius: 10px;
}

.voice1, .voice2, .voice3, .voice4{
	display: flex;
	align-items: center;
	width: 48%;
	margin-bottom: 50px;
}

.triangle1{
	height: 0;
  	display: block;
  	content: "";
  	border-bottom: solid 30px #fff;
  	border-left: solid 30px transparent;
	margin: 30px 0 0 20px;
}

.triangle2{
	height: 0;
  	display: block;
  	content: "";
  	border-bottom: solid 30px #fff;
  	border-left: solid 30px transparent;
	margin: 30px 0 0 20px;
}

.triangle3{
	height: 0;
  	display: block;
  	content: "";
  	border-bottom: solid 30px #fff;
  	border-right: solid 30px transparent;
	margin: 30px 20px 0 0;
}

.triangle4{
	height: 0;
  	display: block;
  	content: "";
  	border-bottom: solid 30px #fff;
  	border-right: solid 30px transparent;
	margin: 30px 20px 0 0;
}


.welcome{
	text-align: center;
	margin: 100px 0;
}

.welcome p{
	text-align: center;
	margin: 0 auto 10px auto;
}

footer{
	height: 100px;
	background: rgba(20, 172, 101, 1);
}

footer p{
	padding-top: 40px;
	text-align: center;
	color: #fff;
}


/*==============メディアクエリ(max-width 1100px)===============*/
@media (max-width: 1100px) {
	/*-----------------header-----------------*/
	header{
		display: flex;
		justify-content: flex-start;
		height: 70px;
	}
	
	#logo{
		margin-left: 24px;
		width: 22%;
	}
	
	nav{
		margin: 0;
		padding: 0 0 0 20px;
		width: 30%;
		height: 100%;
		position: fixed;
		top: 0;
		right: -30%;
		z-index: 99;
		background: #fff;
		opacity: 0.9;
		transition: 0.3s;
	}

	nav ul{
		display: block;
		text-align: left;
		margin: 50px 0 0 0;
		padding: 0;
	}

	/* アイコンがクリックされたらメニューを表示 */
	#hamburger-menu:checked ~ nav {
  		right: 0;/* メニューを画面に入れる */
	}

	label[for="hamburger-menu"]{
		display: block;
		position: fixed;
		top: 16px;
		right: 26px;
		cursor: pointer;
		z-index: 100;
	}
	
	label[for="hamburger-menu"] a{
		color: #6C6C6C;
		font-size: 40px;
	}
	
	.free-trial-button{
		top: auto;
		bottom: 28px;
		position: fixed;
		height: 90px;
		aspect-ratio: 1/1;
		display: flex;
		justify-content: center;
		font-size: 0.8em;
		align-items: center;
		border-radius: 50%;
	}

	.free-trial-button br{
		display: block;
	}

	.free-trial-button span{
		font-size: 1.4em;
		line-height: 1.2em;
	}

	.main-top{
		padding-top: 120px;
	}

	.top-pic{
		width: 40%;
	}

	.catchCopy h2{
		font-size: 2.2em;
		line-height: 1.4em;
	}
	
	.catchCopy h3{
		font-size: 1.2em;
	}
	/*---------------headerend----------------*/
	
	/*-----------------main-------------------*/
	
	.check-sheet{
		width: 90%;
	}
	
	.check-sheet p{
		font-size: 1.1em;
		font-style: normal;
		text-align: center;
		margin-bottom: 15px;
		}

	.check-sheet ul{
		margin-left: 50px;
		font-size: 1em;
		line-height: 40px;
	}
	
	.solution-text{
		font-size: 1em
	}
	
	.square{
		width: 40%;
	}

	.voice h4{
		font-size: 1.8em;
	}
	
	.voice-box{
		width: 90%;
		gap: 4%;
		margin: 0 auto;
	}

	.voice1, .voice2, .voice3, .voice4{
		margin-bottom: 50px;
		width: 48%;
	}
	
	/*---------------mainend------------------*/
}
/*=============メディアクエリ(max-width 1100px)end=============*/

/*==============メディアクエリ(max-width 850px)===============*/
@media (max-width: 850px) {
	#logo{
		width: 200px;
	}

	nav{
		padding: 0 0 0 20px;
		width: 50%;
		height: 100%;
		position: fixed;
		top: 0;
		right: -50%;
		z-index: 99;
		background: #fff;
		opacity: 0.9;
		transition: 0.3s;
	}

	.main-top{
		flex-direction: column-reverse;
		padding-top: 120px;
		justify-content: center;
	}

	.top-pic{
		width: 64%;
		margin-bottom: 20px;
}

	.catchCopy h2{
		font-size: 2.4em;
		line-height: 1.4em;
		text-align: center;
		padding: 0 0 0 10px;
	}
	
	.catchCopy h3{
		font-size: 1.8em;
		text-align: center;
	}
	
	.check-sheet{
		width: 92%;
		margin: 80px auto 50px auto;
	}
	
	.check-sheet ul{
		margin-left: 10px;
		font-size: 14px;
		line-height: 30px;
		}

	.check-sheet ul li{
		padding-left: 15px; 
	}
	
	.arrow{
		width: 8%;
		margin: 40px auto;
	}

	.solution h4{
		font-size: 1.3em;
		margin-bottom: 30px;
	}

	.solution-text{
		font-size: 0.8em;
	}
	
	.solution-break{
		display: block;
	}

	.square{
		width: 90%;
		margin-bottom: 30px;
	}

	.voice{
		width: 80%;
		margin: 50px auto;
	}
	
	.voice h4{
		font-size: 1.6em;
		margin: 100px auto 50px auto;
	}

	.voice2, .voice3{
		flex-direction: row-reverse;
	}

	.voice1, .voice2, .voice3, .voice4{
		width: 100%;
		margin-bottom: 20px;
	}

	.voice-image{
		width: 10%;
	}

	.triangle2{
		border-bottom: solid 30px #fff;
		border-top: none;
		border-left: none;
		border-right: solid 30px transparent;
		margin: 30px 20px 0 0;
	}
	
	.triangle3{
		border-bottom: solid 30px #fff;
		border-top: none;
		border-left: solid 30px transparent;
		border-right: none;
		margin: 30px 0 0 20px;
	}
}
/*=============メディアクエリ(max-width 850px)end=============*/

/*==============メディアクエリ(max-width 414px)===============*/
@media (max-width: 414px) {
	#logo{
		width: 46%;
		margin: 20px 0 0 28px;
	}

	nav{
		margin: 0;
		padding: 0 0 0 20px;
		width: 100%;
		right: -100%;
	}

	.free-trial-button{
		bottom: 4px;
		height: 80px;
		width: 80px;
		font-size: 0.7em;
	}

	.free-trial-button span{
		font-size: 1.4em;
		line-height: 1.1em;
	}
	
	.main-top{
		padding-top: 100px;
		justify-content: center;
	}

	.catchCopy h2{
		font-size: 1.4em;
		line-height: 1.4em;
		text-align: center;
	}
	.catchCopy h3{
		font-size: 0.9em;
		text-align: center;
	}
	.check-sheet{
		width: 80%;
		margin: 40px auto 50px auto;
		padding: 20px 10px;
	}

	.check-sheet p{
		font-size: 0.9em;
	}

	.check-sheet ul{
		margin-left: 10px;
		font-size: 0.7em;
		line-height: 1.4em;
	}

	.check-sheet ul li{
		margin-bottom: 10px;
	}

	.arrow{
		width: 8%;
		margin: 40px auto;
	}

	.solution{
		width: 85%;
		margin: 40px auto;
	}
	.solution h4{
		font-size: 1em;
		line-height: 1.4em;
		margin-bottom: 20px;
	}

	.solution-text p{
		margin: 10px 0;
		font-size: 1em;
	}

	.square-box{
		gap: 20px 0;
		margin: 50px auto;
	}

	.voice1, .voice2, .voice3, .voice4{
		margin-bottom: 40px;
	}

	.voice-image{
		width: 10%;
	}

	.square{
		width: 90%;
	}

	.comment{
		font-size: 0.9em;
	}
}
/*=============メディアクエリ(max-width 414px)end=============*/