body {
  	letter-spacing: 0.08em;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}

body * {
  	-webkit-box-sizing: border-box;
  	box-sizing: border-box;
}

img {
  	max-width: 100%;
  	height: auto;
}

figure {
  	padding: 0;
  	margin: 0;
}

.pc_none {
 	 display: none;
}

.sp_none {
  	display: block;
}

.mini {
	font-size: 70%;
}

.inner {
  	max-width: 980px;
  	margin-left: auto;
  	margin-right: auto;
  	position: relative;
}

.caption {
  	text-align: center;
  	margin-top: 50px;
}
.caption h2 {
  	position: relative;
  	color: #47b134;
  	font-size: 72px;
  	font-weight: bold;
  	line-height: 1.2;
  	margin-bottom: 40px;
}
.caption h2 small {
  	display: block;
  	font-size: 52px;
}
.caption h2 small span {
  	width: 3px;
  	height: 1em;
  	display: inline-block;
  	background-color: #3DA1CD;
  	margin-left: 10px;
  	margin-right: 10px;
  	-webkit-transform-origin: bottom;
  	-ms-transform-origin: bottom;
  	transform-origin: bottom;
}
.caption h2 small span:first-of-type {
  	-webkit-transform: rotate(-25deg);
  	-ms-transform: rotate(-25deg);
  	transform: rotate(-25deg);
}
.caption h2 small span:last-of-type {
  	-webkit-transform: rotate(25deg);
  	-ms-transform: rotate(25deg);
  	transform: rotate(25deg);
}
.caption h2 small .small {
	display: inline;
	font-size: 40px;
	width: 0;
	height: 0;
	background-color: #FFFFFF;
	margin-left: 0;
	margin-right: 0;	
}
.caption h2 strong {
  	position: relative;
}
.caption h2 .small {
	font-size: 53px;
}
.caption h2 strong::before {
  	content: "";
  	display: block;
  	left: 0;
  	right: 0;
  	height: 0.3em;
  	position: absolute;
  	bottom: -0.1em;
  	background-color: #FFF100;
  	z-index: -1;
}
.caption p {
  	position: relative;
  	font-size: 18px;
  	line-height: 2.2;
}


.definition {
	margin-top: 70px;
}
.definition .wrap {
	position: relative;
}
.definition h4 {
	text-align: center;
	color: #FFFFFF;
	font-size: 34px;
	font-weight: 800;
	z-index: 1;
	letter-spacing: 0.15em;
}
.definition h4 {
	position: absolute;
	left: 0;
	right: 0;
	top: 26px;;
}
.definition h4 span {
	color: #fff100;
}
.definition h4 figure  {
	z-index: -1;
}
.definition ul {
	background: #47b134;
	margin-top: 70px;
	width: 97.3%;
	margin-left: auto;
	margin-right: auto;
}
.definition ul li {
	padding: 53px 25px;
	position: relative;
}
.definition ul li figure {
	max-width: 490px;
	width: 52%;
	position: absolute;
	bottom: -13px;
	right: -13px;
}
.definition ul li figure img {
	box-shadow: 7px 7px 5px rgba( 0, 0, 0, 0.6);
}
.definition ul li h5 {
	font-size: 18px;
	font-weight: 600;
	color: #1b95d4;
	background: #fff100;
	padding: 9px 20px;
	border-radius: 8px;
}
.definition ul li p {
	color: #FFFFFF;
	width: 43%;
	margin-top: 35px;
	margin-left: 20px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}
.definition ul li:first-of-type {
	padding-bottom: 80px;
}
.definition ul li:first-of-type figure {
	top: -13px;
	left: -13px;
}
.definition ul li:first-of-type h5 {
	text-align: right;
	padding-right: 225px;
}
.definition ul li:first-of-type p {
	margin-right: 16px;
	margin-left: auto;
}


.camparison {
	margin-top: 70px;
}
.camparison .heading {
	text-align: center;
	background-image: url("../img/stripe_01.png");
	background-repeat: no-repeat;
	background-size: cover;
}
.camparison .heading h3 {
	display: inline-block;
	font-size: 40px;
	font-weight: 800;
	color: #FFFFFF;
	border-bottom: 2px solid #fff100;
	padding-bottom: 16px;
	margin-top: 90px;
}
.camparison .heading p {
	font-size: 18px;
	font-weight: 600;
	color: #FFFFFF;
	margin-top: 25px;
	padding-bottom: 65px;
}
.camparison .inner {
	margin-top: 85px;
}
.camparison .camparison_table {
	border-top: 1px solid #000000;
	border-left: 1px solid #000000;
}
.camparison .camparison_table dl {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; 
}
.camparison .camparison_table dl dt {
	width: 20%;
	text-align: center;
}
.camparison .camparison_table dl dt h6 {
	margin-top: 15px;
}
.camparison .camparison_table dl dd {
	width: 40%;
	
}
.camparison .camparison_table dl dt,
.camparison .camparison_table dl dd {
	font-size: 19px;
	font-weight: 700;
	color: #595757;
	padding: 20px 0;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
}
.camparison .camparison_table h5 {
	display: inline-block;
	font-size: 24px;
	font-weight: 700;
	color: #FFFFFF;
}
.camparison .camparison_table dl dd p {
	margin-left: 28px;
	line-height: 1.4;
}
.camparison .camparison_table dl:nth-of-type(odd) {
	background: rgba(181, 209, 194, 0.3);
}
.camparison .camparison_table dl:first-of-type {
	background: #83b29a;
}
.camparison .camparison_table dl:first-of-type dd {
	text-align: center;
}
.camparison .camparison_table dl:nth-of-type(6) dd {
	padding: 33px 0;
}
.camparison .merit_table {
	margin-top: 32px;
}
.camparison .merit_table dl:last-of-type {
	background: #FFFFFF;
}
.camparison .merit_table dl dd ul {
	margin-left: 45px;
}
.camparison .merit_table dl dd ul li {
	line-height: 1.4;
	margin-bottom: 8px;
	position: relative;
}
.camparison .merit_table dl dd ul li:last-of-type {
	margin-bottom: 0;
}
.camparison .merit_table dl dd ul li:before {
	content: '●';
	position: absolute;
	left: -20px
}
.camparison .merit_table dl dt h6 {
	margin-top: 80px;
}
.camparison .conclusion {
	text-align: center;
	margin-top: 95px;
}
.camparison .conclusion .h1_top {
	max-width: 633px;
	width: 65%;
	margin-left: auto;
	margin-right: auto;
}
.camparison .conclusion h1 figure {
	max-width: 859px;
	width: 88%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 42px;
}


.point {
	margin-top: 120px;
}
.point .inner {
	text-align: center;
}
.point .point_img figure {
	max-width: 109px;
	width: 12%;
	margin-left: auto;
	margin-right: auto;
}
.point .point_img p {
	text-align: right;
}
.point h5 {
	display: inline-block;
	font-size: 40px;
	font-weight: 800;
	color: #47b134;
	transform: skewX(-20deg);
}
.point ul {
	text-align: center;
	margin-top: 115px;
}
.point ul li {
	position: relative;
	margin-bottom: 88px;
	
}
.point ul li figure {
	max-width: 616px;
	width: 63%;
	position: absolute;
	top: 15px;
	left: 0;
	right: 0;
	margin: auto;
}
.point ul li div {
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; 
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: left;
	background-image: url("../img/bg_point.png");
	background-size: cover;
	padding: 0 50px;
	margin-top: 20px;
	height: 270px;
}
.point ul li div h6 {
	width: 50%;
	font-weight: 700;
	font-size: 31px;
	color: #18943b;
	line-height: 1.9;
}
.point ul li div p {
	width: 50%;
	font-weight: 500;
	line-height: 1.7;
}
.point .gray {
	color: #898989;
}


.summary .inner {
	text-align: center;
}
.summary h3 {
	font-size: 40px;
	font-weight: 800;
	line-height: 1.4;
	color: #FFFFFF;
	background-image: url("../img/stripe_02.png");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 15px;
	text-shadow: 4px 4px #009d73;
}
.summary p {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.8;
	color: #FFFFFF;
	background: #47b134;
	padding: 40px;
}
.summary h6 {
	margin-top: 5px;
	text-align: right;
	font-size: 80%;
}

footer {
  margin-top: 115px;
}

footer .contact {
  	text-align: center;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	font-weight: 600;
}

footer .contact p {
	font-size: 23px;
}

footer .contact h6 {
	margin-top: 55px;
}
footer .contact a {
	display: inline-block;
	font-size: 24px;
	border: 1px solid #000000;
	padding: 12px 50px;
	margin-top: 55px;
}

footer .logo {
  background-color: #efefef;
  padding: 80px 0;
	margin-top: 130px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  	.pc_none {
    	display: block;
  	}

  	.sp_none {
    	display: none;
  	}
	.inner {
		width: 92%;
	}
	
	.caption {
  		margin-top: 30px;
	}
	.caption h2 {
  		position: relative;
  		color: #47b134;
  		font-size: 28px;
  		font-weight: bold;
  		line-height: 1.2;
  		margin-bottom: 30px;
	}
	.caption h2 small {
  		font-size: 22px;
	}
	.caption h2 small .small {
		display: inline;
		font-size: 16px;
		width: 0;
		height: 0;
		background-color: #FFFFFF;
		margin-left: 0;
		margin-right: 0;	
	}
	.caption h2 .small {
		font-size: 22px;
	}
	.caption p {
  		font-size: 14px;
  		line-height: 1.5;
	}
	
	
	.definition {
		margin-top: 30px;
	}
	.definition h4 {
		font-size: 19px;
		line-height: 1.4;
		top: 7px;
	}
	.definition ul {
		margin-top: 20px;
	}
	.definition ul li {
		padding: 8% 5%;
	}
	.definition ul li:first-of-type {
		padding-bottom: 0;
	}
	.definition ul li figure {
		position: unset;
		width: 100%;
		margin-top: 20px;
	}
	.definition ul li h5 {
		text-align: center;
	}
	.definition ul li p {
		width: 100%;
		margin-top: 20px;
		margin-left: 0;
	}
	.definition ul li:first-of-type h5 {
		padding-right: 0;
		padding-left: 0;
		text-align: center;
	}
	
	.camparison .heading h3 {
		font-size: 24px;
		line-height: 1.6;
		margin-top: 30px;
		padding-bottom: 0;
		border-bottom: none;
		text-decoration: underline #fff100;
		text-underline-offset: 5px; 
	}
	.camparison .heading p {
		font-size: 16px;
		padding-bottom: 30px;
		padding-left: 5px;
    	padding-right: 5px;
		line-height: 1.4;
		margin-top: 15px;
	}
	.camparison .camparison_table h5 {
		font-size: 15px;
	}
	.camparison .camparison_table dl dt {
		width: 15%;
	}
	.camparison .camparison_table dl dd {
		width: 42.5%;
	}
	.camparison .camparison_table dl dt,
	.camparison .camparison_table dl dd {
		font-size: 14px;
		padding: 10px 5px;
	}
	.camparison .camparison_table dl:first-of-type dd{
		padding: 15px 5px;
	}
	.camparison .camparison_table dl dt h6 {
		-webkit-transform: none;
		transform: none;
		-ms-writing-mode: tb-rl;
  		writing-mode: vertical-rl;
		margin-left: auto;
		margin-right: auto;
		margin-top: 5px;
		line-height: 1.3
	}
	.camparison .camparison_table dl dd p {
		margin: 0 auto;
	}
	.camparison .camparison_table dl:nth-of-type(6) dd {
		padding: 20px 5px;
	}
	.camparison .merit_table dl dt {
		display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
	}
	.camparison .merit_table dl dd ul {
		margin-left: 13px;
	}
	.camparison .merit_table dl dd ul li:before {
		left: -15px;
	}
	.camparison .conclusion {
		margin-top: 30px;
	}
	.camparison .conclusion h1 figure {
		margin-top: 10px;
	}

	
	.point {
		margin-top: 20px;
	}
	.point .point_img p {
		text-align: center;
		font-size: 12px;
		margin-top: 10px;
		line-height: 1.5;
	}
	.point h5 {
		font-size: 18px;
	}
	.point ul {
		margin-top: 40px;
	}
	.point ul li {
		margin-bottom: 40px;
	}
	.point ul li figure {
		width: 92%;
		top: 5px
	}
	.point ul li div {
		display: block;
		padding: 20px;
		margin-top: 8px;
		border-radius: 15px;
		height: auto;
	}
	.point ul li div h6 {
		width: 100%;
		font-size: 16px;
		line-height: 1.5;
	}
	.point ul li div p {
		width: 100%;
		font-size: 12px;
	}
	
	.summary {
		margin-top: 60px;
	}
	.summary h3 {
		font-size: 24px;
		padding: 10px;
	}
	.summary p {
		font-size: 14px;
		padding: 10px;
	}
  
  	footer {
    	margin-top: 30px;
  	}
  	footer .contact {
		padding: 30px 0 0;
  	}
	footer .contact p {
		font-size: 16px;
	}
	footer .contact h6 {
		margin-top: 20px;
	}
	footer .contact h6 img {
		width: 75%;
	}
	footer .contact a {
		font-size: 17px;
		padding: 8px 22px;
		margin-top: 25px;
	}
	footer .logo {
		margin-top: 60px;
    	padding: 30px 30%;
  	}
}