@charset "utf-8";
/* CSS Document */

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/

* {
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6,p,span,small,dl,dt,dd,ol,ul,li {
  margin: 0;
  font-size: 100%;
}
h1,h2,h3,h4,h5,h6 {
}
ul {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}
img {
  vertical-align: top;
}
li {
  list-style-type: none;
  vertical-align: baseline;
}


/*--------------------------------------
　Base
---------------------------------------*/
html {
    font-size: 62.5% !important;
}
body {
	color: #1f1f1f;
	font-family: 'Noto Sans JP', sans-serif !important;
	font-size: 1.5rem;
	line-height: 2;
	min-width: 100%;
	position: relative;
	-webkit-text-size-adjust: none;
	margin: 8rem 0 9rem;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
img { 
  max-width: 100%; 
  height: auto;
}
a {
	color: #1f1f1f;
	text-decoration: none;
	transition: all .3s;
}
a:hover {
	text-decoration: none;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	opacity: 0.7;
}
.cf:after {
	content: "";
	display: block;
	clear: both;
}
.sp {
	display: none;
}
.wi1100 {
	width: 100%;
	margin: 0 auto;
}
.bold {
	font-weight: bold;
}
#contents .red {
	color: #be3737;
	font-size: 100%;
}
.small {
	font-size: 1.2rem;
}
.align_right {
	text-align: right;
}
.align_left {
	text-align: left;
}
.align_center {
	text-align: center;
}


/*--------------------------------------
　Header
---------------------------------------*/
header {
	background: #fff;
	width: 100%;
	height: auto;
	min-width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
header .h1Area {
	background: #eef8f6;
	padding: 0.2rem 1rem 0.2rem;
}
header .h1Area h1 {
	color: #000;
	font-size: 1rem;
}
header .midArea {
	width: 100%;
	padding: 1rem;
}
header .logo {
	float: left;
	width: 160px;
	margin: 0.4rem 0 0;
}


.menuBtn {
	float: right;
	width: 25px;
	height: 25px;
	position: relative;
	margin: 11px 0.5rem 0 1.5rem;
}	
.menuBtn span {
	background: #324150;
	width: 25px;
	height: 2px;
	position: absolute;
	left: 0;
	transition: all .4s;
}	
.menuBtn span:nth-child(1) {
	top: 0;
}
.menuBtn span:nth-child(2) {
	top: 8px;
}
.menuBtn span:nth-child(3) {
	top: 16px;
}
.menuBtn.open span:nth-child(1) {
  transform: translateY(10px) rotate(-315deg);
}
.menuBtn.open span:nth-child(2) {
  opacity: 0;
}
.menuBtn.open span:nth-child(3) {
  transform: translateY(-6px) rotate(315deg);
}


/*header #gNav {
	padding: 15px;
	background: #00a082;
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s linear;
}
header #gNav.is-active {
	pointer-events: auto;
	opacity: 1;
}
header #gNav .navInr {
}
header #gNav ul li {
	border-bottom: solid 1px #000;
}
header #gNav ul li a {
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	background: #fff url("../../images/shared/arr_gr_right.png") no-repeat center right 1.5rem;
	background-size: 12px auto;
	padding: 12px 20px 12px 40px;
}*/


header #gNav {
	background: #00a082;
	position: absolute;
	top: 8rem;
	left: 0;
	width: 100%;
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s linear;
}
header #gNav.is-active {
	pointer-events: auto;
	opacity: 1;
}
header #gNav ul {
	width: 100%;
	margin: 0 auto;
}
header #gNav li {
	position: relative;
	border-bottom: solid 1px #fff;
}
header #gNav li:last-child {
	border-bottom: none;
}
header #gNav li a {
	background: url("../../images/shared/arr_wh_right.png") no-repeat center right 1.5rem;
	background-size: 12px auto;
	font-size: 1.4rem;
	font-weight: 500;
	display: block;
	color: #fff;
	height: 100%;
	letter-spacing: 0.03em;
	cursor: pointer;
	padding: 1.5rem 4rem 1.5rem 1.5rem;
}


/*--------------------------------------
　ContactArea
---------------------------------------*/
.contactArea {
	background: url("../../images/shared/bg_contact.jpg") no-repeat;
	background-size: cover;
	padding: 4rem 4% 1.5rem;
}
.contactArea .btn {
	width: 100%;
	height: auto;
	float: none;
	text-align: center;
	background: #fff;
}
.contactArea .btn .tit {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.contactArea .btn .tit span {
	font-size: 2.3rem;
	display: block;
	letter-spacing: 0.02em;
}
.contactArea .btn_contact {
	margin: 0 0 1.5rem;
}
.contactArea .btn_contact a {
	background: url("../../images/shared/arr_gr_right.png") no-repeat right 1.5rem center, url("../../images/shared/icon_mail_gr.png") no-repeat left 2rem center;
	background-size: 13px auto, 26px auto;
	background-color: #fff;
	display: block;
	height: 100%;
	color: #00a082;
	padding: 1rem 1rem 0.5rem 3rem;
}
.contactArea .small {
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.contactArea .btn_freedial {
}
.contactArea .btn_freedial a {
	background: #ff5643;
	color: #fff;
	padding: 1rem 1rem 0.5rem;
	display: block;
}
.contactArea .btn_freedial .tel {
	font-family: 'Oswald', sans-serif;
	background: url("../../images/shared/icon_freedial_wh.png") no-repeat left top 10px;
	background-size: 28px auto;
	font-size: 3.4rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
	padding: 0 0 0 4rem;
    display: table;
    margin: 0.3rem auto 0;
}
.contactArea .btn_line {
	clear: both;
	padding: 1.5rem 0 0;
}
.contactArea .notice {
	font-size: 1.1rem;
	text-align: right;
	color: #fff;
	margin: 1.5rem 0 0;
}


/*--------------------------------------
　Footer
---------------------------------------*/
footer {
	background: #324150;
	width: 100%;
	padding: 4rem 0 0;
}
footer .pageTop {
	width: 40px;
	position: fixed;
	bottom: 9rem;
	right: 3%;
}
footer .ftInr {
	width: 100%;
	margin: 0 auto;
	display: block;
	padding: 0 4%;
}
footer .logo {
	width: 200px;
	display: block;
	margin: 0 auto 3rem;
}
footer .logo img {
	width: 100%;
}
footer .ftNav {
	display: block;
}
footer .ftNav ul {
	display: table;
	margin: 0 auto;
}
footer .ftNav li {
	float: left;
	width: 50%;
	line-height: 1.5;
	padding: 0 0 0 1rem;
	margin: 0 0 1rem;
}
footer .ftNav li a {
	color: #fff;
	font-size: 1.4rem;
}
footer .copy {
	font-size: 1rem;
	color: #fff;
	text-align: center;
	background: #000;
	padding: 0.5rem 1rem;
	margin: 3rem 0 0;
}

#ftFix {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 100;
}
#ftFix ul {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#ftFix ul li {
	width: calc(100% / 2);
  border-top: 1px solid #fff;
}
#ftFix ul li:nth-child(2n+1) {
  border-right: solid 1px #fff;
}
#ftFix ul li a {
	display: table;
	text-align: center;
	color: #fff;
  width: 100%;
	height: 45px;
	padding: 0 0 0 15px;
	line-height: 1;
	letter-spacing: 0.01em;
}
#ftFix ul li a span {
  font-family: 'Lato', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  display: table-cell;
  vertical-align: middle;
  font-size: 15px;
  font-weight: bold;
}
#ftFix ul li.calendar a {
	background: #006ebe url("../../asset/images/shared/icon_calendar.png") no-repeat left 15px center;
	background-size: 18px auto;
}
#ftFix ul li.web a {
	background: #fa9128 url("../../asset/images/shared/icon_mail.png") no-repeat left 16px center;
	background-size: 18px auto;
}
#ftFix ul li.tel a {
	background: #FF5642 url("../../asset/images/shared/icon_freedial_wh.png") no-repeat left 14px center;
	background-size: 21px auto;
}
#ftFix ul li.line a {
	background: #00b900 url("../../asset/images/shared/icon_line.png") no-repeat left 14px center;
	background-size: 22px auto;
}



/*--------------------------------------
　KV（下層）
---------------------------------------*/



/*--------------------------------------
　ぱんくず
---------------------------------------*/
.pankuzuWrap {
	width: 1100px;
	margin: 1rem auto;
}
.pankuzuWrap .pankuzu {
	font-size: 0;
}
.pankuzuWrap .pankuzu li {
	display: inline-block;
	font-size: 1.2rem;
}
.pankuzuWrap .pankuzu li:after {
	content: ">";
	padding: 0 1rem;
}
.pankuzuWrap .pankuzu li:last-child {
	margin: 0;
}
.pankuzuWrap .pankuzu li:last-child:after {
	content: none;
}
.pankuzuWrap .pankuzu li a {
	color: #69b987;
	text-decoration: underline;
}
.pankuzuWrap .pankuzu li a:hover {
	text-decoration: none;
	opacity: 1;
}




/*--------------------------------------
　CONTENT
---------------------------------------*/
#contents {
	line-height: 2;
}


/* 共通 */
section {
	padding: 6rem 0;
}
section:first-child {
	padding: 3rem 0 6rem;
}
#contents .bg_green {
	background: #eef8f6;
}



/* 見出し */
#contents .secTit {
	font-size: 2.6rem;
	color: #00a082;
	font-weight: 700;
	margin: 0 0 4rem;
	text-align: center;
	line-height: 1.4;
}
#contents .lead {
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
	margin: 0 0 2rem;
}

/* ボタン */
#contents .btn-internal {
}
#contents .btn-internal a {
	background: #fff url("../../images/shared/arr_gr_right.png") no-repeat right 1.5rem center;
	background-size: 12px auto;
	font-size: 1.8rem;
	font-weight: 700;
	color: #1ebea0;
	text-align: center;
	letter-spacing: 0.1em;
	border: solid 2px #1ebea0;
	display: block;
	line-height: 1.5;
	padding: 2rem 3.5rem 2rem 2rem;
}
#contents .btn-internal-s {
	width: 80%;
	margin: 0 auto;
}
#contents .btn-internal-s a {
	background: #fff url("../../images/shared/arr_gr_right.png") no-repeat right 1.5rem center;
	background-size: 12px auto;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: normal;
	padding: 1.3rem 4.5rem;
}















/*--------------------------------------
　Key
---------------------------------------*/
#key{
	margin: 0 auto;
	background: url("../../images/top/key_bg_sp.jpg") no-repeat center;
	background-size: cover;
	position: relative;
	overflow: hidden;
	padding: 0;
	padding: 2rem 0 0;
}
#key .txtBox {
}
#key .mainTit {
	color: #00a082;
	font-weight: 700;
	font-size: 2.5rem;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 0px 2px #fff, 0px 2px 2px #fff, -2px 0px 2px #fff, 0px -2px 2px #fff,5px 5px 0px rgba(0, 0, 0, 0.15);
       
}
#key .mainTit .big {
	font-size: 3rem;
}
#key .gr_label {
	background: #00a082;
	border-radius: 10px;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	display: table;
	padding: 8px 25px;
	text-align: center;
	line-height: 1.4;
	margin: 2rem auto 1.5rem;
}
#key .txtBox .memo {
	font-size: 1rem;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #00a082;
	line-height: 1.5;
	 text-shadow:
           1px 1px 1px #fff, -1px -1px 1px #fff,
           -1px 1px 1px #fff,  1px 1px 1px #fff,
            1px 0px 1px #fff, -1px -0px 1px #fff,
            0px 1px 1px #fff,  0px -1px 1px #fff;
}
#key .circleArea {
	margin: 2rem auto 0;
	width: 100%;
}
#key .circle {
	width: 50%;
	float: left;
	border: solid 5px #ff5643;
	border-bottom: none;
	border-radius: 40px 0 0 0;
	background: rgba(255,255,255,0.85);
	padding: 1.3rem 0 1rem;
	margin:0;
}
#key .circle.grBox {
	border: solid 5px #00a082;
	border-bottom: none;
	border-radius: 0 40px 0 0;
}
#key .circle .catch {
	color: #ff5643;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 0.5rem;
	line-height: 1;
}
#key .circle.grBox .catch {
	color: #00a082;
}
#key .circle .listWrap {
	display: table;
	margin: 0 auto;
}
#key .circle .list {
	width: 70px;
	display: table-cell;
	vertical-align: bottom;
}
#key .circle .listWrap > div {
	font-size: 1.5rem;
	color: #00a082;
	font-weight: 700;
	text-align: right;
	line-height: 1.6;
}
#key .circle .listWrap .list .label {
	background: #ff5643;
	color: #fafa00;
	font-weight: 700;
	font-size: 1rem;
	border-radius: 9px;
	text-align: center;
	line-height: 1;
	margin: 0 0 2px;
	padding: 4px 1px;
}
#key .circle.grBox .listWrap .list .label {
	background: #00a082;
}
#key .circle .listWrap .num {
	color: #ff5643;
	font-weight: 900;
	font-size: 2.5rem;
	display: table-cell;
	vertical-align: bottom;
	line-height: 1;
	padding: 0 0 0 0.5rem;
}
#key .circle.grBox .listWrap .num {
	color: #00a082;
}
#key .circle .listWrap .num span {
	font-family: 'Oswald', sans-serif;
	font-size: 6.5rem;
	font-weight: bold;
	line-height: 1;
}
#key .circle.grBox .listWrap .num span {
	letter-spacing: -0.04em;
}  


/*--------------------------------------
　bnArea
---------------------------------------*/
#contents .topBannerArea {
	background: #fae7e9;
  padding: 2rem 4%;
}
#contents .topBannerArea ul li img {
  display: block;
  margin: 0 auto;
}

/*--------------------------------------
　bnArea
---------------------------------------*/
#contents .bnArea {
	background: #eef8f6;
	padding: 3rem 0 0;
}
#contents .bnArea .bnList {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
	padding: 0 4% 2rem;
}
#contents .bnArea .bnList li {
	width: 48%;
	margin: 0 3% 3% 0;
}
#contents .bnArea li:nth-child(2n){
	margin: 0 0 3%;
}
#contents .bnArea .btnArea {
	background: #e4f4f0;
	padding: 2rem 0;
}
#contents .bnArea .btnArea .btn-internal {
	width: 86%;
	margin: 0 auto;
}


/*--------------------------------------
　about
---------------------------------------*/
#contents .about {
	padding: 6rem 4%;
}
#contents .about .secTit {
	margin: 0 0 3rem;
}
#contents .about .itemBoxWrap {
	display: block;
}
#contents .about .itemBox {
	width: 100%;
	margin: 0 0 2rem 0;
	display: table;
}
#contents .about .itemBox:after {
	content: "";
	clear: both;
	display: block;
}
#contents .about .itemBox:last-child {
	margin: 0;
}
#contents .about .itemBox .photo {
	width: 80px;
	display: table-cell;
	vertical-align: middle;
}
#contents .about .itemBox p {
	font-size: 1.4rem;
	line-height: 1.6;
	display: table-cell;
	vertical-align: middle;
	padding: 0 0 0 1.5rem;
}

/*--------------------------------------
　product
---------------------------------------*/
#contents .product {
	padding: 6rem 4% 4rem;
}
#contents .product .itemBoxWrap {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#contents .product .itemBox {
	width: 48%;
	margin: 0 2% 4% 0;
	background: #fff;
}
#contents .product .itemBox:nth-child(2n) {
	margin: 0 0 4%;
}
#contents .product .itemBox .photo {
	/*height: 200px;*/
	overflow: hidden;
}
#contents .product .itemBox .photo img {
	width: 100%;
}
#contents .product .itemBox .txtBody {
	padding: 3rem 1.5rem 1.5rem;
	position: relative;
}
#contents .product .itemBox .txtBody p {
	font-size: 1.3rem;
	line-height: 1.6;
}
#contents .product .itemBox .planName {
	background: #00a082;
	padding: 1.4rem 1rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
	position: absolute;
	width: 165px;
	top: -2.5rem;
	left: -0.8rem;
}
#contents .product .itemBox.hikkoshi .planName {
	padding: 1.4rem 0 1.4rem 0.5rem;
}
#contents .product .itemBox .planName:before {
	content: "";
	position: absolute;
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 8px transparent;
    border-right: solid 8px #005032
}
#contents .product .itemBox .btn-internal {
	margin: 2rem auto 0
}
#contents .product .itemBox .btn-internal a {
	background: #fff url(../../images/shared/arr_gr_right.png) no-repeat right 1rem center;
    background-size: 10px auto;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: normal;
	padding: 1em 2rem;
}



/*--------------------------------------
　example
---------------------------------------*/
#contents .example {
	padding: 6rem 0 4rem;
}
#contents .example .twoColBox {
	margin: 0 0 2rem;
	height: auto;
	position: relative;
	padding: 20rem 0 0;
}
#contents .example .twoColBox:last-child {
	margin: 0;
}
#contents .example .twoColBox:before {
	content: "";
	background: url("../../images/top/example_pic01.jpg") no-repeat center;
	background-size: cover;
	width: 100%;
	height: 20rem;
	position: absolute;
	top: 0;
	right: auto;
}
#contents .example .twoColBox:nth-child(2):before {
	background: url("../../images/top/example_pic02.jpg") no-repeat center;
	background-size: cover;
	left: auto;
}
#contents .example .twoColBox:nth-child(3):before {
	background: url("../../images/top/example_pic03.jpg") no-repeat center;
	background-size: cover;
}
#contents .example .twoColBox:nth-child(4):before {
	background: url("../../images/top/example_pic04.jpg") no-repeat center;
	background-size: cover;
	left: auto;
}
#contents .example .twoColBox .txtBox {
	width: 100%;
	float: none;
	padding: 2rem;
}
#contents .example .twoColBox.reverse .txtBox {
	float: none;
	padding: 2rem;
}
#contents .example .catch {
	font-size: 2rem;
	font-weight: 700;
	color: #000;
	line-height: 1.5;
	margin: 0 0 1rem;
}


/*--------------------------------------
　reason
---------------------------------------*/
#contents .reason {
	padding: 6rem 4% 4rem;
}
#contents .reason .fuki {
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	background: #fff;
	border: solid 3px #00a082;
	padding: 0.8rem 3rem;
	line-height: 1.4;
	color: #00a082;
	display: table;
	margin: 0 auto 3rem;
	position: relative;
}
#contents .reason .fuki:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -11px;
    border: 11px solid transparent;
    border-top: 11px solid #00a082;
}
#contents .reason .itemBoxWrap {
	display: block;
	counter-reset: number 0;
}
#contents .reason .itemBox {
	width: 100%;
	margin: 0 0 2rem 0;
	background: #fff;
	position: relative;
}
#contents .reason .itemBox:before {
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero);
	color: #ffc819;
	font-size: 4rem;
	line-height: 1;
	font-weight: 600;
	font-family: 'Oswald', sans-serif;
	position: absolute;
	top: -1.5rem;
	left: 1rem;
}
#contents .reason .itemBox:last-child {
	margin: 0;
}
#contents .reason .itemBox .photo img {
	width: 100%;
}
#contents .reason .itemBox .txtBody {
	padding: 1.5rem 2rem 2rem;
}
#contents .reason .itemBox .catch {
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	color: #00a082;
	margin: 0 0 1.5rem;
	line-height: 1.5;
}
#contents .reason .itemBox .catch span {
	font-size: 1.5rem;
	display: block;
}



/*--------------------------------------
　service
---------------------------------------*/
#contents .service {
	
}
#contents .service .itemBoxWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 4rem;
}
#contents .service .itemBox {
	width: calc(100% / 2);
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
	background: url("../../images/top/service_pic01.jpg") no-repeat;
	background-size: cover;
	text-align: center;
	height: 0;
    padding: 37% 0 0;
	position: relative;
}
#contents .service .itemBox:nth-child(2) {
	background: url("../../images/top/service_pic02.jpg") no-repeat;
	background-size: cover;
	border-right: none;
}
#contents .service .itemBox:nth-child(3) {
	background: url("../../images/top/service_pic03.jpg") no-repeat;
	background-size: cover;
}
#contents .service .itemBox:last-child {
	background: url("../../images/top/service_pic04.jpg") no-repeat;
	background-size: cover;
	border-right: none;
}
#contents .service .itemBox span {
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.5;
	letter-spacing: 0.05em;
	width: 100%;
	position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/*--------------------------------------
　compare
---------------------------------------*/
#contents .compare {
	padding: 6rem 4%;
}

#contents .compare .tableWrap {
	margin: 0 0 5rem;
}
#contents .compare .tableBox {
	margin: 0 0 1rem;
}
#contents .compare .tableBox .sBox {
	margin: 0 0 1.5rem;
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#contents .compare .tableBox .sBox.last .box.supporter {
	width: 66%;
}
    
#contents .compare .tableBox .box {
	width: 32.6%;
	text-align: center;
	margin: 0 1% 0 0;
	padding: 0;
}
#contents .compare .tableBox .box:last-child {
	margin: 0;
}
#contents .compare .tableBox .box > div {
	background: #fff;
	letter-spacing: 0.03em;
	height: 44px;
	color: #000;
	font-size: 1.4rem;
	font-weight: 700;
	padding: 8px 0;
	margin: 0 0 4px;
}
#contents .compare .tableBox .supporter > div {
	color: #ff4b37;
	font-size: 1.6rem;
	padding: 5px 0 0;
}
#contents .compare .tableBox .box > .green {
	background: #d2ebe6;
}
#contents .compare .tableBox .box:first-child > div {
	color: #00a082;
	font-size: 1.4rem;
	font-weight: 700;
}
#contents .compare .tableBox .box > .head {
	font-size: 1.6rem;
	font-weight: 700;
	color: #000;
	background: transparent;
	margin: 0 0 5px;
	padding: 9px 0 0;
}
#contents .compare .tableBox .supporter > .head {
	color: #64d20a;
}
#contents .compare .tableBox .supporter {
	position: relative;
}
#contents .compare .tableBox .supporter:before {
	content:"";
	border: solid 4px #64d20a;
	width: 100%;
	height: calc(100% - 4px);
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
}
#contents .compare .tableBox .supporter .red {
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	background: #ff4b37;
	line-height: 1.5;
	width: calc(100% - 16px);
    height: 80px;
	padding: 15px;
	position: absolute;
	bottom: 8px;
    left: 8px;
}

#contents .compare .tableBox .table_img {
	margin: 0 0 2rem;
}
#contents .compare .tableBox .table_img > div {
	margin: 0 auto 2rem;
	display: table;
}
#contents .compare .pointBox {
	background: #ff4b37;
	padding: 2rem;
	position: relative;
}
#contents .compare .pointBox:before {
    content: "";
    background: url("../../images/top/fuki_red.png") no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
	right: 30%;
}
#contents .compare .pointBox p {
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.03em;
	text-align: center;
	line-height: 1.6;
}
#contents .compare .pointBox p span {
	font-size: 1.7rem;
	color: #fbfb00;
	display: block;
	line-height: 1.6;
}
#contents .redBox {
	border: solid 4px #ff4b37;
	background: #fff;
	padding: 0 2rem 2rem;
	margin: 0 auto 4rem;
}
#contents .redBox .label {
	background: #ffc819;
	border-radius: 25px;
	display: table;
	margin: -2.8rem auto 2rem;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	padding: 1rem 1.5rem;
	line-height: 1.3;
}
#contents .redBox .redTit {
	font-size: 3rem;
	color: #ff4b37;
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
	margin: 0 0 1.5rem;
	letter-spacing: 0.03em;
}
#contents .redBox .catch {
	font-size: 1.8rem;
	color: #ff4b37;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.03em;
	margin: 0 0 2rem;
	text-align: center;
}
#contents .redBox p {
	font-size: 1.4rem;
	text-align: left;
	line-height: 1.8;
}



#contents .grayBox {
	margin: 4rem auto;
}
#contents .grayBox .box {
	background: #f8f8f8;
	padding: 3rem 2rem;
}
#contents .grayBox .tit {
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.03em;
	color: #000;
	line-height: 1.3;
	margin: 0 0 2rem;
}
#contents .grayBox p {
	font-size: 1.2rem;
}

