@charset "utf-8";

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

* {
	box-sizing: border-box;
}
#wrapper {
	overflow: hidden;
}
.sp {
	display: none;
}
.area {
	padding: 80px 20px;
	box-sizing: border-box;
	position: relative;
}
.inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.inner_s {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	box-sizing: border-box;
}
.en {
	font-family: "Oswald", sans-serif;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}
.blue01 {
	color: #21a0dc;
}
.blue02 {
	color: #2c9acd;
}
.blue03 {
	color: #21bbdc;
}
.purple {
	color: #cc6ecf;
}
.green01 {
	color: #37d3ce;
}
.green02 {
	color: #15c37b;
}
.yellow {
	color: #fcf8b6;
}
.white {
	color: #fff;
}
.color01 {
	background: #2c9acd;
}
.color02 {
	background: #cc6ecf;
}
.color03 {
	background: #15c37b;
}
.bold {
	font-weight: 700;
}
.txt_center {
	text-align: center;
}
.border_green {
	background: linear-gradient(transparent 90%, #0e8a56 90%);
}
.border_yellow {
	background: linear-gradient(transparent 90%, #ffff00 90%);
}
.ttl01 {
	text-align: center;
	font-size: 4.5rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 50px;
}
.ttl01 .size_s {
	font-size: 3.4rem;
	display: block;
}
.ttl02 {
	text-align: center;
	font-size: 3.5rem;
	font-weight: 700;
}
.ttl02_txt {
	margin-top: 50px;
}
.ttl_blue_bg {
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	margin: 0 auto;
}
.ttl_blue_bg span {
	background: #e3f6ff;
	padding: 15px 70px;
	border-radius: 100px;
	display: inline-block;
}
.top_icon {
	position: absolute;
	right: 50%;
	top: -80px;
	transform: translate(50%,0);
}
.top_icon img {
	max-width: 168px;
}
.btn01 {
	margin: 80px auto;
	position: relative;
	width: 800px;
	height: 100px;
	max-width: 100%;
}
.btn01 a {
	width: 800px;
	height: 100px;
	max-width: 100%;
	background: #21a0dc;
	color: #fff;
	margin: 0 auto;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 2.6rem;
	z-index: 2;
	line-height: 1.2;
	position: relative;
	z-index: 2;
}
.btn01 a:hover {
	opacity: 1;
}
.btn01 a span {
	transition: 0.3s;
}
.btn01 a:hover span {
	opacity: 0.7;
}
.btn01 a::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 13px solid #fff;
	border-right: 0;
	right: 20px;
	transition: 0.3s;
}
.btn01 a:hover::before {
	opacity: 0.7;
}
.area .btn01 {
	margin: 80px auto 0;
}
.btn01::after {
	position: absolute;
	display: block;
	content: "";
	width: 800px;
	height: 100px;
	max-width: 100%;
	background: url(../img/common/bg_border.png);
	right: -10px;
	bottom: -10px;
	z-index: 1;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.sp.inline {
		display: inline-block;
	}
	.area {
		padding: 30px 20px;
	}
	.inner {
		max-width: 100%;
	}
	.ttl02 {
		font-size: 2rem;
	}
	.ttl02_txt {
		margin-top: 20px;
	}
	.ttl_blue_bg {
		font-size: 1.6rem;
	}
	.ttl_blue_bg span {
		padding: 15px 20px;
	}
	.btn01 {
		margin: 40px auto;
		width: 96%;
	}
	.btn01 a {
		width: 96%;
		height: 65px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		font-size: 1.8rem;
		padding: 10px;
	}
	.btn01 a::before {
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-left: 8px solid #fff;
		right: 10px;
	}
	.btn01::after {
		width: 96%;
		height: 65px;
		max-width:96%;
		right: 7px;
		bottom: inherit;
		top: 7px;
		z-index: 1;
	}

}


/* side_nav
-------------------------------------------------------*/
.nav_side_box {
	position: fixed;
	right: 0;
	top: 30px;
	z-index: 998;
}
#nav_side_btn {
	display: block;
	transition: 0.3s;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	z-index: 999;
	position: relative;
}
#nav_side_btn:hover {
	cursor: pointer;
	opacity: 0.7;
}
#nav_side_btn img {
  content: url("../img/common/nav_side00.png");
}

#nav_side_btn.active img {
  content: url("../img/common/nav_side00_on.png");
}
#nav_side .nav_cont,
#nav_side .nav_cont::after {
	position: fixed;
	top: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
}
#nav_side .nav_cont {
	overflow: auto;
	background: rgba(255,255,255,0.8); /* 半透明でOK */
	backdrop-filter: blur(10px); /* ← ぼかし追加 */
	-webkit-backdrop-filter: blur(10px); /* ← Safari対応 */
	right: -100%;
	z-index: 998;
	transition: .5s;
	padding: 30px 20px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

#nav_side .nav_cont.active {
	right: 0;
}
#nav_side .nav_cont ul {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#nav_side .nav_cont ul li {
	width: 30%;
	margin-right: 5%;
}
#nav_side .nav_cont ul li:nth-child(3n) {
	margin-right: 0;
}
#nav_side .nav_cont ul a {
	font-size: 1.8rem;
	border-bottom: 1px solid #21a0dc;
	display: block;
	padding-bottom: 20px;
	margin-bottom: 20px;
	padding-left: 20px;
	position: relative;
}
#nav_side .nav_cont ul a::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 10px solid #21a0dc;
	border-right: 0;
	left: 0;
	top: 7px;
}
#nav_side .nav_cont ul li:last-child a {
	margin-bottom: 0;
}
#nav_side_btn img {
	max-width: 60px;
}
#nav_side .logo {
	margin-bottom: 30px;
}
#nav_side .logo img {
	max-width: 430px;
}
.btn_side {
	display: block;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	margin-top: 10px;
}
.btn_side img {
	max-width: 60px;
}

@media screen and (max-width:1000px) {
	#nav_side_btn img {
		max-width: 50px;
	}
	.btn_side img {
		max-width: 50px;
	}
}

@media screen and (max-width:768px) {
	#nav_side_btn img {
		max-width: 40px;
	}
	.btn_side img {
		max-width: 40px;
	}
	#nav_side .logo img {
		max-width: 200px;
	}
	#nav_side .nav_cont ul {
		display: block;
	}
	#nav_side .nav_cont ul li {
		width: 100%;
	}
	#nav_side .nav_cont ul a {
		font-size: 1.4rem;
		padding-bottom: 10px;
		margin-bottom: 10px;
		padding-left: 20px;
	}
	#nav_side .nav_cont ul a::before {
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 7px solid #21a0dc;
		border-right: 0;
		top: 5px;
	}
}

/* page_nav
-------------------------------------------------------*/
#page_nav.area {
	padding: 60px 20px 20px;
}
#page_nav ul {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
}
#page_nav ul li {
	width: 20%;
	text-align: center;
	margin-bottom: 40px;
}
#page_nav ul li a {
	font-weight: 500;
	font-size: 2rem;
	padding: 5px 20px;
	display:inline-block;
}
#page_nav ul li a:hover {
	background: #21a0dc;
	color: #fff;
	opacity: 1;
	border-radius: 100px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {

}

/* footer
-------------------------------------------------------*/
.footer_sp_btn {
	position: fixed;
	left: 0;
	bottom:0;
	width: 100%;
	z-index: 3;
}

.footer_sp_btn ul {
	display: flex;
}

.footer_sp_btn ul li {
	width: 50%;
}

/* index
-------------------------------------------------------*/
/* index_visual */
#index_visual {
	background: url(../img/index/visual_img.png)no-repeat center bottom/auto 100%,url(../img/index/visual_bg.png)no-repeat center bottom/cover;
	position: relative;
}
#index_visual.area {
	padding: 80px 20px 100px;
}
#index_visual .inner {
	max-width: 1720px;
	position: relative;
	z-index: 2;
}
.visual_txt_box {
	width: 55%;
	text-align: center;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
}
.visual_txt_box .visual_ttl02 {
	text-align: center;
	font-size: 4.2rem;
	font-weight: 500;
	margin-bottom: 40px;
	line-height: 1.4;
}
.visual_txt_box .visual_ttl02 .blue01 {
	font-size: 6.2rem;
}
.visual_txt_box .visual_ttl01 {
	margin-bottom: 20px;
}
.visual_txt_box .visual_ttl01 span {
	font-size: 3rem;
	color: #fff;
	background: #21a0dc;
	display: block;
	max-width: 558px;
	text-align: center;
	font-weight: 500;
	margin: 0 auto 10px;
}
.visual_txt_box .visual_ttl01 img {
	max-width: 558px;
}
.visual_info_box {
	max-width: 558px;
}
.visual_info_box dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	line-height: 1;
}
.visual_info_box dl:not(:last-child) {
	margin-bottom: 10px;
}
.visual_info_box .border_btm {
	border-bottom: 3px solid #bbe8fa;
	padding-bottom: 20px;
	margin-bottom: 20px!important;
}
.visual_info_box dt {
	min-width: 145px;
	height: 90px;
	background: #bbe8fa;
	font-weight: 500;
	text-align: center;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
}
.visual_info_box .border_btm dt {
	background: #f3eb73;
}
.visual_info_box dt span {
	display: block;
	font-size: 1.2rem;
	margin-top: 10px;
}
.visual_info_box dd {
	text-align: left;
}
.visual_info_box dd a {
	display: block;
	text-align: left;
	color: #de666c;
	font-size: 6.4rem;
}
.visual_info_box dd .blue01 {
	font-size: 4.7rem;
}
.visual_info_box dd .size_s {
	font-weight: 500;
	text-align: left;
	margin-top: 10px;
	display: block;
	font-size: 1.4rem;
}
.visual_info_box dd .size_m {
	display: block;
	font-size: 2.6rem;
}
.visual_before_after {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
}
.visual_before_after img {
	max-width:654px;
}
.visual_img {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
}
.visual_img img {
	height: 100%;
	width: auto;
}

@media screen and (max-width:1200px) {
	.visual_txt_box .visual_ttl02 {
		font-size: 3rem;
		margin-bottom: 40px;
	}

	.visual_txt_box {
		width: 50%;
	}

	#index_visual {
		background: url(../img/index/visual_img.png)no-repeat center top/auto 80%,url(../img/index/visual_bg.png)no-repeat center bottom/cover;
		position: relative;
	}
}

@media screen and (max-width:1200px) {
	#index_visual {
		background: url(../img/index/visual_img.png)no-repeat center top/auto 70%,url(../img/index/visual_bg.png)no-repeat center bottom/cover;
		position: relative;
	}
}

@media screen and (max-width:1000px) {
	.visual_txt_box .visual_ttl02 {
		font-size: 2rem;
		margin-bottom: 30px;
	}
	.visual_txt_box {
		width: 60%;
	}

	.visual_before_after {
		width: 40%;
		bottom: 10%;
	}
	.visual_txt_box .visual_ttl02 .blue01 {
		font-size: 5rem;
	}

	.visual_txt_box .visual_ttl01 span {
		font-size: 2rem;
	}

	.visual_info_box dd a {
		font-size: 5rem;
	}

	#page_nav ul li a {
		font-size: 1.5rem;
		list-style: 1.2;
	}
}

@media screen and (max-width:768px) {
	.visual_info_box {
		max-width: 100%;
	}
	.visual_before_after img {
		max-width: 100%;
	}
	#index_visual {
		background: url(../img/index/visual_bg_sp.png)no-repeat center bottom/cover;
	}
	.visual_txt_box .visual_ttl01 {
		margin-bottom: 0px;
	}
	#index_visual.area {
		padding: 20px 20px 50px;
	}
	.visual_txt_box {
		width: 100%;
		display: block;
	}
	.visual_txt_box .visual_ttl02 {
		font-size: 1.5rem;
		margin-bottom: 10px;
		}
	.visual_txt_box .visual_ttl02 .blue01 {
		font-size: 2rem;
	}
	.visual_txt_box .visual_ttl01 span {
		font-size: 1.5rem;
		margin-bottom: 0;
	}
	.visual_txt_box .visual_ttl01 img {
		max-width: 170px;
	}
	.visual_info_box dl {
		display: block;
	}
	.visual_info_box dt {
		min-width: auto;
		height: auto;
		text-align: center;
		display: block;
		margin-right: 0;
		margin-bottom: 10px;
		padding: 10px;
	}
	.visual_info_box dt span {
		display: inline-block;
		font-size: 1rem;
		margin-top: 0px;
	}
	.visual_info_box dd a {
		text-align: left;
		font-size: 4rem;
	}
	.visual_info_box .border_btm {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 20px !important;
	}
	.visual_info_box dl:not(:last-child) {
		margin-bottom: 20px;
	}
	.visual_info_box dd .blue01 {
		font-size: 4rem;
	}
	.visual_info_box dd .size_m {
		font-size: 2rem;
	}
	.visual_before_after {
		position: relative;
		bottom: 0;
		right: 0;
		width: 100%;
		margin-top: 20px;
	}

	

}

/* index_campaign */
#index_campaign .inner {
	max-width: 1400px;
}
#index_campaign .medal {
	text-align: center;
	margin-bottom: 60px;
}
#index_campaign .medal img {
	max-width: 895px;
}
#index_campaign .campaign01 {
	margin-bottom: 20px;
}
.tokuten {
	background: #15c37b;
	padding: 30px 40px;
}
.tokuten .in {
	max-width: 1200px;
	margin: 0 auto;
}
.tokuten .ttl01,.tokuten .ttl02,.tokuten .ttl03 {
	text-align: center;
}
.tokuten .ttl01 {
	font-size: 3rem;
	margin-bottom: 10px;
}
.tokuten .ttl01 .yellow {
	font-size: 5rem;
}
.tokuten .ttl02 {
	font-size: 3rem;
	margin-bottom: 20px;
}
.list_tokuten {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 50px;
}
.list_tokuten li {
	width: 48%;
}
.list_tokuten li .ttl_box {
	background: #def7f3;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	padding: 20px;
}
.list_tokuten li .ttl_box dt {
	margin-right: 20px;
}
.list_tokuten li .ttl_box img {
	max-width: 73px;
}
.list_tokuten li .ttl_box dd {
	font-size: 3rem;
	font-weight: 700;
}
.list_tokuten .txt_img {
	background: #fff;
	padding: 10px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.list_tokuten .txt_img dt {
	margin-right: 20px;
}
.list_tokuten .txt_img dt img {
	max-width: 174px;
}
.list_tokuten .txt_img dd {
	font-size: 1.8rem;
}
.list_tokuten .txt_img dd span {
	display: block;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 10px;
}
.tokuten .ttl03 {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 30px;
}
.tokuten .ttl03 .yellow {
	font-size: 5.5rem;
}
.tokuten .ttl03 .size_l {
	font-size: 9.2rem;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_campaign .medal {
		margin-bottom: 30px;
	}
	.tokuten {
		padding: 15px;
	}
	.tokuten .ttl01 {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.tokuten .ttl01 .yellow {
		font-size: 3rem;
	}
	.tokuten .ttl02 {
		font-size: 1.5rem;
		margin-bottom: 20px;
	}
	.list_tokuten {
		display: block;
		margin-bottom: 30px;
	}
	.list_tokuten li {
		width: 100%;
	}
	.list_tokuten li .ttl_box {
		padding: 15px;
	}
	.list_tokuten li .ttl_box dt {
		margin-right: 10px;
	}
	.list_tokuten li .ttl_box dd {
		font-size: 1.8rem;
	}
	.list_tokuten li .ttl_box img {
		max-width: 30px;
	}
	.list_tokuten .txt_img {
		display: block;
	}
	.list_tokuten .txt_img dt img {
		max-width: 100%;
	}
	.list_tokuten .txt_img dt {
		width: 60%;
		margin: 0 auto;
		margin-bottom: 10px;
	}
	.list_tokuten .txt_img dd {
		font-size: 1.5rem;
	}
	.list_tokuten .txt_img dd span {
		font-size: 1.5rem;
		margin-bottom: 5px;
	}
	.tokuten .ttl03 {
		font-size: 2rem;
		line-height: 1.5;
		margin-bottom: 20px;
	}

	.tokuten .ttl03 .yellow {
		font-size: 3rem;
	}
	.tokuten .ttl03 .size_l {
		font-size: 5rem;
	}

}

/* index_about */
#index_about {
	background: url(../img/common/bg_triangle.png)no-repeat center bottom/100% auto, url(../img/index/bg01.png)no-repeat center/cover;
}
#index_about.area {
	padding: 80px 20px 150px;
}
#index_about .ttl01 img {
	display: block;
	max-width: 549px;
	text-align: center;
	margin: 20px auto 0;
}
#index_about .txt {
	line-height: 2;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_about.area {
		padding: 20px 20px 50px;
	}
	.ttl01 {
		font-size: 2.5rem;
		margin-bottom: 20px;
	}
	.ttl01 .size_s {
		font-size: 1.8rem;
	}
	#index_about .ttl01 img {
		max-width: 250px;
	}

}

/* index_reason */
#index_reason {
	background: #21a0dc;
}
#index_reason .ttl01 {
	margin-bottom: 70px;
}
.list_reason li {
	background: #fff;
	position: relative;
	border-radius: 20px;
	padding: 110px 40px 40px;
}
.list_reason li:not(:last-child) {
	margin-bottom: 70px;
}
.list_reason li .icon {
	position: absolute;
	right: 50%;
	top: -50px;
	transform: translate(50%,0);
}
.list_reason li .icon img {
	max-width: 122px;
}
.list_reason li .row_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_reason li .row_box .img {
	width: 20%;
	margin-right: 40px;
}
.list_reason li .row_box dl {
	width: 70%;
}
.list_reason .ba_img {
	text-align: center;
	margin-top: 70px;
}
.list_reason .ba_img img {
	max-width: 623px;
}
.list_reason dt {
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 20px;
}
.list_reason dd {
	line-height: 2;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.list_reason li .icon {
		max-width: 80px;
	}
	.list_reason li {
		border-radius: 20px;
		padding: 50px 20px 20px;
	}
	.list_reason li .row_box {
		display: block;
	}
	.list_reason li .row_box .img {
		width: 30%;
		margin: 0 auto;
	}
	.list_reason li .row_box dl {
		width: 100%;
	}
	.list_reason dt {
		font-size:2rem;
		margin-bottom: 10px;
	}
	.list_reason .ba_img {
		margin-top: 30px;
	}

}

/* index_blog */
#index_blog.area {
	padding: 80px 20px 130px;
}
#index_blog .ttl01 span {
	background: url(../img/common/bg_border.png);
	padding: 10px 30px;
}
.list_blog {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.list_blog li {
	width: 30%;
}
.list_blog li .img {
	position: relative;
}
.tag {
	position: absolute;
	font-size: 1.4rem;
	font-weight: 500;
	color: #fff;
	line-height: 1;
	padding: 5px 10px;
	border-radius: 50px;
	left: 10px;
	bottom: 10px;
}
.tag01 {
	background: rgba(124,87,39,0.8);
}
.tag02 {
	background: rgba(33,160,220,0.8);
}
.tag03 {
	background: rgba(178,81,199,0.8);
}
.list_blog li dl {
	background: #eefaff;
	padding: 15px 15px 20px;
}
.list_blog li dl dt {
	font-weight: 500;
	font-size: 1.4rem;
	margin-bottom: 10px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_blog.area {
		padding: 40px 20px 60px;
	}
	.list_blog {
		display:block;
	}
	.list_blog li {
		width: 100%;
		margin-bottom: 20px;
	}
	.list_blog li:last-child {
		margin-bottom: 0;
	}

}

/* index_type */
#index_type {
	background: url(../img/index/bg_green.png)no-repeat center/cover;
}
#index_type.area {
	padding: 100px 20px 80px;
}
#index_type .txt {
	margin-bottom: 50px;
	font-size: 1.8rem;
}
.list_type li {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_type li:not(:last-child) {
	margin-bottom: 30px;
}
.list_type .img {
	width: 30%;
	margin-right: 40px;
}
.list_type dl {
	width: 70%;
}
.list_type dl dt {
	font-weight: 500;
	font-size: 3rem;
	margin-bottom: 10px;
}
.list_type dl dd {
	line-height: 2;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.top_icon img {
		max-width: 80px;
	}
	.top_icon {
		top: -40px;
	}
	#index_type.area {
		padding: 50px 20px 40px;
	}
	#index_type .txt {
		margin-bottom: 25px;
		font-size: 1.3rem;
	}
	.list_type li {
		display: block;
		padding: 20px;
	}
	.list_type .img {
		width: 60%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.list_type dl {
		width: 100%;
	}
	.list_type dl dt {
		font-size: 2.3rem;
		text-align: center;
	}

}

/* index_pet */
#index_pet {
	background: url(../img/index/bg03.png)no-repeat center bottom/cover;
}
#index_pet.area {
	padding: 100px 20px;
}
#index_pet .ttl01 {
	color: #a57024;
	margin-bottom: 100px;
}
#index_pet .ttl01 span {
	position: relative;
}
#index_pet .ttl01 span::before,#index_pet .ttl01 span::after {
	position: absolute;
	display: block;
	content: "";
}
#index_pet .ttl01 span::before {
	background: url(../img/index/icon_pet01.png)no-repeat left center/93px 80px;
	width: 93px;
	height: 80px;
	left: -120px;
}
#index_pet .ttl01 span::after {
	background: url(../img/index/icon_pet02.png)no-repeat left center/95px 80px;
	width: 95px;
	height: 80px;
	right: -120px;
}
#index_pet dl {
	width: 55%;
}
#index_pet dl dt {
	color: #a57024;
	font-size: 3rem;
	margin-bottom: 30px;
}
#index_pet dl dd {
	line-height: 2;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:1000px) { 
	#index_pet .ttl01 span::before {
		background-size: 100%;
		width: 70px;
		height: 60px;
		left: -80px;
	}
	#index_pet .ttl01 span::after {
		background-size: 100%;
		width: 70px;
		height: 60px;
		right: -80px;
	}
}
@media screen and (max-width:768px) {
	#index_pet {
		background: url(../img/index/bg03.png) no-repeat left bottom / cover;
	}
	#index_pet.area {
		padding: 50px 20px;
	}
	#index_pet .ttl01 {
		margin-bottom: 30px;
	}
	#index_pet dl {
		width: 100%;
	}
	#index_pet dl dt {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	#index_pet .ttl01 span::before {
		background-size: 100%;
		width: 50px;
		height: 40px;
		left: -60px;
	}
	#index_pet .ttl01 span::after {
		background-size: 100%;
		width: 50px;
		height: 40px;
		right: -60px;
	}
}

/* index_price */
#index_price {
	background: #e2faf0;
	margin-top: 150px;
}
#index_price.area {
	padding: 100px 20px 80px;
}
#index_price .inner {
	max-width: 1400px;
}
#index_price .list_price_nav {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto 70px;
}
#index_price .list_price_nav li {
	width: 48%;
}
#index_price .list_price_nav li a {
	display: block;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100px;
	position: relative;
}
#index_price .list_price_nav li a::after {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 11px solid transparent;
	border-left: 11px solid transparent;
	border-top: 14px solid #fff;
	border-bottom: 0;
	right: 30px;
	top: 50%;
	transform: translate(0,-50%);
}
#index_price .list_price_nav li.price01 a {
	background: #15c37b;
}
#index_price .list_price_nav li.price02 a {
	background: #24cef2;
}
.price_box {
	background: #fff;
	border: 5px solid #15c37b;
	border-radius: 30px;
	padding: 80px 40px;
}
.price_box:not(:last-child) {
	margin-bottom: 100px;
}
.price_box .inner {
	max-width: 1140px!important;
}
#price02.price_box {
	border: 5px solid #24cef2;
}
.price_box .ttl {
	background: #15c37b;
	color: #fff;
	font-size: 3rem;
	padding: 15px 30px;
	font-weight: 700;
	margin-bottom: 20px;
}
#price02.price_box .ttl {
	background: #24cef2;
}
.price_box .caution {
	text-align: right;
	font-size: 1.4rem;
	margin-bottom: 20px;
}
.list_rank {
	margin-bottom: 60px;
}
.list_rank li {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_rank li:not(:last-child) {
	margin-bottom: 40px;
}
.list_rank li .img {
	width: 35%;
	margin-right: 30px;
}
.list_rank li .txt_box {
	width: 65%;
}
.list_rank li .txt_box .rank_ttl {
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 15px;
}
.list_rank li .txt_box .rank_ttl img {
	max-width: 82px;
	margin-right: 20px;
}
.list_rank li .txt_box .txt {
	margin-bottom: 15px;
}
.list_rank li .row_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_rank li .price_area {
	width: 55%;
}
.list_rank li .price_area dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
.list_rank li .price_area dl:not(:last-child) {
	border-bottom: 1px solid #d7d7d4;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
.list_rank li .price_area dl dd {
	font-size: 3rem;
	font-weight: 700;
}
.list_rank li .price_area dl dd span {
	font-size: 4.6rem;
	font-weight: 400;
}
.list_rank li .table_star {
	width: 30%;
	font-size: 1.4rem;
	background: #ecfbf9;
	color: #209886;
	padding: 10px 20px;
	min-width: 240px;
}
.list_rank li .table_star table {
	width: 100%;
}
.list_rank li .table_star th {
	width: 40%;
}
.list_rank li .table_star td {
	width: 60%;
}
.price_box .caution_list dt {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 15px;
}
.price_box .caution_list dd {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 1.4rem;
	line-height: 1.8;
}
#price02 table {
	width: 100%;
}
#price02 table tr:not(:last-child) {
	border-bottom: 1px solid #d7d7d4;
}
#price02 table th {
	padding: 10px 0 20px;
	text-align: left;
	font-size: 2.4rem;
	width: 50%;
	vertical-align: middle;
}
#price02 table td {
	padding: 10px 0 20px;
	width: 20%;
	text-align: right;
	font-weight: 700;
	font-size: 3rem;
	vertical-align: middle;
}
#price02 table td.size_s {
	width: 25%;
	text-align: left;
	font-weight: 400;
	font-size: 1.6rem;
}
#price02 table td .blue02 {
	font-size: 4.6rem;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:1000px) {
	.list_rank li .img {
		width: 25%;
		margin-right: 20px;
	}
	.list_rank li .txt_box {
		width: 75%;
	}
	.list_rank li .price_area dl dd {
		font-size: 2rem;
	}
	.list_rank li .price_area dl dd span {
		font-size: 4rem;
	}
}
@media screen and (max-width:768px) {
	#index_price.area {
		padding: 50px 20px 40px;
	}
	#index_price {
		background: #e2faf0;
		margin-top: 80px;
	}

	#index_price .list_price_nav {
		margin-bottom: 30px;
	}

	#index_price .list_price_nav li a {
		font-size: 1.2rem;
		height: 40px;
	}
	#index_price .list_price_nav li a::after {
		display: none;
	}
	.price_box:not(:last-child) {
		margin-bottom: 30px;
	}
	.price_box {
		border-radius: 20px;
		padding: 20px 20px;
	}
	.price_box .ttl {
		font-size: 1.8rem;
		padding: 10px 10px;
		margin-bottom: 10px;
		text-align: center;
	}
	.list_rank li:not(:last-child) {
		margin-bottom: 20px;
	}
	.list_rank li {
		display: block;
	}
	.list_rank li .img {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.list_rank li .txt_box {
		width: 100%;
	}
	.list_rank li .txt_box .rank_ttl img {
		max-width: 40px;
		margin-right: 10px;
	}
	.list_rank li .txt_box .rank_ttl {
		font-size: 2rem;
		margin-bottom: 15px;
	}
	.list_rank li .row_box {
		display: block;
	}
	.list_rank li .price_area {
		width: 100%;
	}
	.list_rank li .price_area dl dd {
		font-size: 2rem;
	}
	.list_rank li .price_area dl dd span {
		font-size: 3rem;
	}
	.list_rank li .table_star {
		width: 100%;
		margin-top: 10px;
		margin-bottom: 50px;
	}
	#price02 table th {
		display: block;
		width: 100%;
		padding: 0;
		padding-top: 10px;
		font-size: 1.8rem;
	}
	#price02 table td {
		display: block;
		width: 100%;
		font-size: 2rem;
		padding-bottom: 0;
		padding-top: 0;
		text-align: left;
	}
	#price02 table td.size_s {
		width: 100%;
		font-size: 1.3rem;
	}
	#price02 table td .blue02 {
		font-size: 3rem;
	}
	.area .btn01 {
		margin: 40px auto 0;
	}

}

/* index_flow */
#index_flow.area {
	padding: 80px 20px 0;
}
.list_flow li {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	border-bottom: 1px solid #d7d7d4;
	padding-bottom: 50px;
	position: relative;
}
.list_flow li:not(:last-child) {
	margin-bottom: 50px;
}
.list_flow li:not(:last-child)::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/index/flor_arrow.png)no-repeat center bottom/73px 69px;
	width: 73px;
	height: 69px;
	right: 50%;
	bottom: -30px;
	transform: translate(50%,0);
}
.list_flow li .img {
	width: 20%;
	margin-right: 40px;
}
.list_flow li dl {
	width: 80%;
}
.list_flow li dl dt {
	font-weight: 700;
	font-size: 2.6rem;
	font-weight: 700;
	margin-bottom: 20px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_flow.area {
		padding: 40px 20px 0;
	}
	.list_flow li {
		display: block;
	}
	.list_flow li .img {
		width: 50%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.list_flow li dl {
		width: 100%;
	}
	.list_flow li dl dt {
		font-size: 2rem;
		margin-bottom: 10px;
	}

}
 
/* banner */
.banner {
	padding: 80px 20px;
}
.banner_top {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 30px;
}
.banner_top.visual_info_box {
	max-width: 100%;
}
.banner_top .logo {
	width: 40%;
	margin-right: 50px;
}
.banner_top .logo img {
	max-width: 478px;
}
.banner_top .border_btm {
	border-bottom: none!important;
	padding-bottom: 0!important;
	margin-bottom: 0!important;
	width: 60%;
}
.banner_top.visual_info_box dt {
	font-size: 2.6rem;
	width: 190px;
	height: 110px;
}
.banner_top.visual_info_box dd .size_s {
	font-size: 2rem;
}
.banner_top.visual_info_box dd a {
	font-size: 8.6rem;
}
.list_banner_btn {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_banner_btn li {
	width: 32%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:1000px) {
	.banner_top.visual_info_box dd a {
		font-size: 7rem;
	}
}
@media screen and (max-width:768px) {
	.banner {
		padding: 40px 20px;
	}
	.banner_top {
		display: block;
	}
	.banner_top .logo {
		width: 60%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.banner_top .border_btm {
		width: 100%;
	}
	.banner_top.visual_info_box dt {
		width: 100%;
		height: auto;
		font-size: 2rem;
	}
	.banner_top.visual_info_box dd a {
		font-size: 4rem;
		text-align: center;
	}
	.banner_top.visual_info_box dd .size_s {
		font-size: 1.2rem;
		text-align: center;
	}
	.list_banner_btn {
		display: block;
	}
	.list_banner_btn li {
		width: 80%;
		margin: 0 auto;
		margin-bottom: 10px;
	}

}


/* index_knowledge */
#index_knowledge {
	background: #e2faf0;
}
#index_knowledge .knowledge_nav {
	background: #fff;
	border-radius: 20px;
	padding: 50px;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 40px;
}
#index_knowledge .knowledge_nav .ttl {
	font-size: 2rem;
	font-weight: 700;
	margin-right: 50px;
}
.list_knowleadge_nav {
	font-size: 1.8rem;
}
.list_knowleadge_nav>li:not(:last-child) {
	margin-bottom: 10px;
}
.list_knowleadge_nav li .green02 {
	margin-right: 20px;
}
.list_knowleadge_nav li.sub {
	margin-left: 35px;
}
.knowledge_cont {
	background: #fff;
	padding: 50px 30px;
	border-radius: 20px ;
}
.knowledge_cont .box:not(:last-child) {
	margin-bottom: 30px;
}
.knowledge_cont .ttl {
	background: #15c37b;
	color: #fff;
	font-size: 2.4rem;
	line-height: 2;
	padding: 15px 20px;
	margin-bottom: 20px;
}
.knowledge_cont .img_txt {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.knowledge_cont .img_txt dt {
	width: 40%;
	margin-right: 30px;
}
.knowledge_cont .img_txt dd {
	width: 60%;
}
.knowledge_cont .img_txt dd .green02 {
	margin-right: 15px;
}
.list_cat li {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.list_cat li:not(:last-child) {
	margin-bottom: 20px;
}
.list_cat .img {
	width: 15%;
	margin-right: 20px;
}
.list_cat .ttl_txt {
	width: 85%;
}
.list_cat .ttl_txt dt {
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 10px;
}
.table_temp01 {
	width: 100%;
	border: 1px solid #2ccda9;
	font-size: 1.6rem;
}
.table_temp01 tr {
	border-bottom: 1px solid #2ccda9;
}
.table_temp01 th {
	background: #e2faf0;
	text-align: center;
	font-weight: 500;
	padding: 10px;
	border-right: 1px solid #2ccda9;
}
.table_temp01 td {
	padding: 10px;
	border-right: 1px solid #2ccda9;
	text-align: center;
}
#knowledge03 .table_temp01 th {
	width: 33.3%;
}
#knowledge04 .table_temp01 th {
	width: 25%;
}
#knowledge06 .table_temp01 th,#knowledge06 .table_temp01 td {
	text-align: left;
}
#knowledge06 .table_temp01 th:first-child {
	width: 30%;
}
#knowledge06 .table_temp01 th:last-child {
	width: 70%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_knowledge .knowledge_nav {
		padding: 20px;
	}
	#index_knowledge .knowledge_nav .ttl {
		font-size: 1.2rem;
		margin-right: 10px;
	}
	.list_knowleadge_nav {
		font-size: 1.2rem;
	}
	.list_knowleadge_nav li .green02 {
		margin-right: 10px;
	}
	.knowledge_cont {
		padding: 20px;
	}
	.knowledge_cont .ttl {
		font-size: 1.8rem;
		line-height: 1.5;
		padding: 10px 10px;
		margin-bottom: 20px;
	}
	.knowledge_cont .img_txt {
		display: block;
	}
	.knowledge_cont .img_txt dt {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.knowledge_cont .img_txt dd {
		width:100%;
	}
	.list_cat li {
		display: block;
	}
	.list_cat .img {
		width: 70%;
  		margin: 0 auto;
		margin-bottom: 10px;
	}
	.list_cat .ttl_txt {
		width: 100%;
	}
	.list_cat .ttl_txt dt {
		font-size: 1.8rem;
	}
	.table_temp01 {
		font-size: 1rem;
	}
	.table_temp01 th {
		vertical-align: middle;
	}
	.table_temp01 td {
		vertical-align: middle;
	}

}

/* index_qa */
#index_qa {
	background: url(../img/common/bg_border02.png);
}
.qa_ttl {
	color: #21a0dc;
	font-size: 3rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
}
.qa_ttl img {
	max-width: 80px;
	margin-right: 20px;
}
#index_qa .box {
	background: #fff;
	border-radius: 20px;
	padding: 30px;
}
#index_qa .box:not(:last-child) {
	margin-bottom: 40px;
}
#index_qa .box dl:not(:last-child) {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #d7d7d4;
}
#index_qa .box dl dt {
	font-size: 2rem;
	font-weight: 500;
	display: flex;
    flex-flow: row nowrap;
    align-items: center;
	cursor: pointer;
	transition: .3s;
}
#index_qa .box dl dt span.icon {
    display: block;
    background: url("../img/index/qa_q.png")no-repeat left/60px 60px;
    min-width: 60px;
    height: 60px;
    margin: 0 20px 0 0;
}
#index_qa .box dl dd {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    margin: 20px 0 0;
	font-size: 2rem;
}
#index_qa .box dl dd p {
	padding: 12px 0 0;
}
#index_qa .box dl dd span.icon {
    display: block;
    background: url("../img/index/qa_a.png")no-repeat left/60px 60px;
    min-width: 60px;
    height: 60px;
    margin: 0 20px 0 0;
}
.aco_btn {
	position: relative;
}
.aco_btn .btn {
    position: absolute;
    top: 10px;
    bottom: -10px;
    right: 10px;
    margin: auto;
    display: block;
    width: 30px;
    height: 30px;
}
.aco_btn .btn span {
    background: #21a0dc;
    width: 30px;
    height: 2px;
    display: block;
}
.aco_btn .btn span:first-child {
    transform: rotate(90deg) translateX(2px) scale(1);
    transition: .5s;
}
.aco_btn.open .btn span:first-child {
    transform: rotate(90deg) translateX(2px) scale(0);
}
.aco_btn:hover {
    opacity: .7;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
    .aco_btn .btn {
        right: 0;
        width: 20px;
        height: 20px;
        top: 7px;
    }
    .aco_btn .btn span {
        width: 20px;
        height: 2px;
    }
    .aco_btn .btn span:first-child {
        transform: rotate(90deg) translateX(2px) scale(1);
        transition: .5s;
    }
   .aco_btn.open .btn span:first-child {
        transform: rotate(90deg) translateX(2px) scale(0);
    }

	.qa_ttl {
		font-size: 2rem;
	}
	.qa_ttl img {
		max-width: 50px;
		margin-right: 10px;
	}
	#index_qa .box {
		padding: 20px;
	}
	#index_qa .box dl dt span.icon {
		background-size: 100%;
		min-width: 30px;
		height: 30px;
		margin: 0 10px 0 0;
	}
	#index_qa .box dl dd span.icon {
	background-size: 100%;
		min-width: 30px;
		height: 30px;
		margin: 0 10px 0 0;
	}
	#index_qa .box dl:not(:last-child) {
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	#index_qa .box dl dt {
		font-size: 1.4rem;
		padding-right: 20px;
	}
	#index_qa .box dl dd {
		font-size: 1.4rem;
	}
	#index_qa .box dl dd p {
		padding: 0;
	}
}

/* index_case */
#index_case .ttl01 img {
	max-width: 452px;
	display: block;
	text-align: center;
	margin: 0 auto 20px;
}
.list_case {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_case li {
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 40px;
}
.list_case li:nth-child(3n) {
	margin-right: 0;
}
.list_case li .ttl {
	color: #fff;
	text-align: center;
	font-size: 2rem;
	padding: 5px;
}
.list_case li .txt_box {
	background: #fff;
	border: 1px solid #d6d6d6;
	border-radius: 0 0 20px 20px;
	position: relative;
	padding: 20px;
}
.list_case li .txt_box::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(140,139,139,0.2);
	bottom: -6px;
	border-radius: 0 0 20px 20px;
	z-index: -1;
	left: 0;
}
.list_case li .txt_box .txt {
	margin-bottom: 10px;
}
.list_case li .txt_box dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_case li .txt_box dl:not(:last-child) {
	margin-bottom: 10px;
}
.list_case li .txt_box dl dt {
	color: #fff;
	width: 100px;
	background: #333333;
	text-align: center;
	padding: 3px 0;
	margin-right: 20px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_case .ttl01 img {
		max-width: 250px;
	}
	.list_case {
		display: block;
	}
	.list_case li {
		width: 100%;
	}

}

/* index_point */
#index_point {
	background: url(../img/common/bg_triangle_w.png)no-repeat center top/100% auto,url(../img/index/bg04.png)no-repeat center top/100% auto,#21a0dc;
}
#index_point .txt.txt_center {
	margin-bottom: 50px;
	font-size: 2.4rem;
	line-height: 2;
}
.list_point li {
	background: #fff;
	border-radius: 20px;
	padding: 50px;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_point li:nth-child(2n) {
	flex-flow: row-reverse;
}
.list_point li:not(:last-child) {
	margin-bottom: 30px;
}
.list_point li .img {
	width: 30%;
	margin-right: 30px;
}
.list_point li:nth-child(2n) .img {
	flex-flow: row-reverse;
	margin-right: 0;
	margin-left: 30px;
}
.list_point li dl {
	width: 70%;
}
.list_point li dl dt {
	font-weight: 700;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_point .txt.txt_center {
		margin-bottom: 25px;
		font-size: 1.6rem;
		text-align: left;
	}
	.list_point li {
		padding: 20px;
		display: block;
	}
	.list_point li .img {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	.list_point li dl {
		width: 100%;
	}
	.list_point li dl dt {
		font-size: 1.8rem;
	}
	.list_point li:nth-child(2n) .img {
		margin-left: 0;
	}

}

/* index_voice */
#index_voice.area {
	padding: 80px 0;
}
#index_voice .inner {
	padding: 0 20px;
	max-width: 1640px;
}
.slider_voice {
	margin-bottom: 50px;
}
.list_voice_txt {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_voice_txt li {
	width: 23%;
}
.list_voice_txt li dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_voice_txt li dl:not(:last-child) {
	margin-bottom: 20px;
}
.list_voice_txt li dl:nth-child(2n) {
	flex-flow: row-reverse;
}
.list_voice_txt li dl dt {
	margin-right: 20px;
}
.list_voice_txt li dl:nth-child(2n) dt {
	margin-right: 0;
	margin-left: 20px;
}
.list_voice_txt li dl dt img {
	max-width: 60px;
	min-width: 60px;
}
.list_voice_txt li dl dd {
	background: #fcfee7;
	padding: 20px;
	border-radius: 20px;
}
.list_voice_txt li dl:nth-child(2n) dd {
	background: #e0f5ff;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
	
}

@media screen and (max-width:1200px) {
	.list_voice_txt {
		flex-wrap: wrap;
	}
	.list_voice_txt li {
		width: 48%;
		margin-bottom: 30px;
	}
}
@media screen and (max-width:768px) {
	.list_voice_txt {
		display: block;
	}
	.list_voice_txt li {
		width: 100%;
		margin-bottom: 30px;
	}

}

/* index_list */
#index_list.area {
	padding: 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#index_list .box {
	width: 50%;
	background: #d9efa4;
	padding: 90px 40px;
	text-align: center;
}
#index_list .box.color04 {
	width: 50%;
	background: #9beebe;
}
#index_list .box .sub_ttl {
	font-size: 2.5rem;
	font-weight: 500;
}
#index_list .box .ttl {
	font-size: 4.5rem;
	font-weight: 700;
	margin-bottom: 10px;
	color: #608408;
}
#index_list .box.color04 .ttl {
	color: #0a7560;
}
#index_list .box .txt {
	font-size: 2rem;
	margin-bottom: 30px;
}
#index_list .scroll_box {
	max-width: 650px;
	margin: 0 auto;
	background: #fff;
	border-radius: 20px;
	padding: 50px 20px;
	box-sizing: border-box;
}
#index_list .scroll_box_in {
	height: 400px;
	overflow-y: scroll;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#index_list .scroll_box .list_company {
	width: 50%;
	font-size: 2rem;
}
#index_list .scroll_box li {
	padding-left: 1em;
	text-indent: -1em;
}
#index_list .scroll_box li:not(:last-child) {
	margin-bottom: 20px;
}
#index_list .scroll_box li span {
	color: #608408;
}
#index_list .color04 .scroll_box li span {
	color: #0a7560;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:1000px) {
	#index_list .box .ttl {
		font-size: 3.5rem;
	}
	#index_list .box .sub_ttl {
		font-size: 1.8rem;
	}
	#index_list .scroll_box .list_company {
		font-size: 1.5rem;
		text-align: left;
		line-height: 1.2;
	}
}
@media screen and (max-width:768px) {
	#index_list.area {
		display: block;
	}
	#index_list .box {
		width: 100%;
		padding:20px;
	}
	#index_list .box .sub_ttl {
		font-size: 1.8rem;
	}
	#index_list .box .ttl {
		font-size: 2.5rem;
	}
	#index_list .box .txt {
		font-size: 1.5rem;
		margin-bottom: 15px;
	}
	#index_list .scroll_box_in {
		display: block;
		height: 250px;
	}
	#index_list .scroll_box .list_company {
		width:100%;
		font-size: 1.3rem;
	}
	#index_list .scroll_box li {
		text-align: left;
	}
	#index_list .scroll_box li:not(:last-child) {
		margin-bottom: 10px;
	}
	#index_list .scroll_box {
		padding: 20px;
	}
	#index_list .box.color04 {
		width: 100%;
	}

}

/* index_option */
#index_option.area {
	padding: 80px 20px 150px;
}
.list_option {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_option li {
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 30px;
}
.list_option li:nth-child(3n) {
	margin-right: 0;
}
.list_option li .ttl {
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	padding: 5px;
	background: #21a0dc;
	color: #fff;
	border-radius: 20px 20px 0 0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_option.area {
		padding: 40px 20px 50px;
	}
	.list_option {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.list_option li {
		width: 48%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.list_option li .ttl {
		font-size: 1.2rem;
	}

}

/* index_area */
#index_area {
	background: #21a0dc;
}
#index_area.area {
	padding: 100px 20px 80px;
}
#index_area .ttl_area {
	font-size: 2rem;
	font-weight: 700;border-bottom: 1px solid #fff;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
#index_area .list_area:not(:last-child) {
	margin-bottom: 70px;
}
.list_area {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_area li {
	position: relative;
	padding-left: 15px;
	margin-right: 35px;
	margin-bottom: 10px;
}
.list_area li::after {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #fff;
	border-right: 0;
	top: 10px;
	left: 0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#index_area.area {
		padding: 60px 20px 80px;
	}

}


/* lower common
-------------------------------------------------------*/
.lower_header {
	padding: 20px;
}
.lower_header .inner {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
.lower_header .logo img {
	max-width:250px;
}
.lower_header .header_txt {
	font-size: 1.4rem;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.lower_header {
		padding: 10px 10px 15px;
	}
	.lower_header .logo img {
		max-width: 150px;
	}
	.lower_header .header_txt {
		font-size: 1rem;
		margin-top: 3px;
	}
}

#lower_visual.area {
	padding: 50px 20px;
}
#lower_visual .inner {
	height: 300px;
	display: flex;
	align-items: flex-end;
}
.lower_visual_ttl {
	font-size: 4rem;
}
.lower_ttl01 {
	background: #21a0dc;
	color: #fff;
	font-size: 2.4rem;
	padding: 20px;
	border-radius: 0 100px 100px 0;
	line-height: 1;
	margin-bottom: 30px;
}
.lower_ttl01 span {
	background: #fff;
	color: #21a0dc;
	font-weight: 700;
	padding: 5px 30px;
	border-radius: 50px;
	margin-right: 20px;
}
.ttl_small {
	display: inline-block;
	background: #21bbdc;
	color: #fff;
	font-size: 1.8rem;
	width: 245px;
	min-width: 245px;
	border-radius: 100px;
	padding: 12px 0;
	text-align: center;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#lower_visual.area {
		padding: 20px;
	}
	#lower_visual .inner {
		height: 150px;
	}
	.lower_visual_ttl {
		font-size: 2rem;
	}
	.lower_ttl01 {
		font-size: 1.8rem;
		padding: 15px;
		margin-bottom: 20px;
		line-height: 1.2;
	}
	.lower_ttl01 span {
		padding: 5px 10px;
		margin-right: 10px;
		font-size: 1.6rem;
		display: block;
		max-width: 90px;
		text-align: center;
		margin-bottom: 5px;
	}
	.ttl_small {
		font-size: 1.4rem;
		width: 200px;
		min-width: 200px;
		padding: 10px 0;
	}
}

.breadcrumb {
	padding: 0 20px;
}
.breadcrumb ul {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	font-size: 1.4rem;
}
.breadcrumb ul li:not(:last-child) {
	margin-right: 45px;
	position: relative;
}
.breadcrumb ul li:not(:last-child)::after {
	position: absolute;
	display: block;
	content: ">";
	right: -25px;
	top: 0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.breadcrumb {
		padding: 20px 20px 0;
	}
	.breadcrumb ul {
		font-size: 1.2rem;
	}
	.breadcrumb ul li:not(:last-child) {
		margin-right: 30px;
		position: relative;
	}
	.breadcrumb ul li:not(:last-child)::after {
		right: -20px;
	}
}

.lower_lead_txt {
	font-size: 2.4rem;
	margin-bottom: 100px;
}
.lower_info_area {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-around;
}
.lower_info_area .box {
	width: 50%;
	background: #e1f9f8;
	padding: 90px 20px;
	text-align: center;
}
.lower_info_area .box.col02 {
	background: #e1f1f9;
}
.list_sns {
	display: inline-block;
	margin: 0 auto;
}
.list_sns li a {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}
.list_sns li:not(:last-child) {
	margin-bottom: 20px;
}
.list_sns img {
	max-width: 59px;
	margin-right: 20px;
}
.info_line {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.info_line img {
	max-width: 117px;
	margin-right: 20px;
}
.link_txt {
	text-align: left;
	font-size: 2rem;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.link_txt .tel_txt {
	font-size: 3rem;
	margin-left: 10px;
}
.link_txt .size_s {
	font-size: 1.2rem;
}
.lower_btm .txt {
	font-size: 2.4rem;
	margin-bottom: 50px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.lower_lead_txt {
		font-size: 1.6rem;
		margin-bottom: 50px;
	}
	.lower_info_area {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.lower_info_area .box {
		width: 100%;
		padding: 50px 20px;
	}
	.list_sns li:not(:last-child) {
		margin-bottom: 10px;
	}
	.list_sns img {
		max-width: 40px;
		margin-right: 15px;
	}
	.list_sns .txt {
		font-size: 1.2rem;
	}
	.info_line img {
		max-width: 80px;
		margin-right: 15px;
	}
	.link_txt {
		font-size: 1.4rem;
		line-height: 1;
	}
	.link_txt.sp_btm {
		margin-bottom: 20px;
	}
	.link_txt .tel_txt {
		font-size: 2.4rem;
		margin-left: 10px;
	}
	.link_txt .size_s {
		font-size: 1rem;
		display: block;
	}
	.lower_btm.area {
		padding: 80px 20px;
	}
	.lower_btm .txt {
		font-size: 1.4rem;
		margin-bottom: 40px;
	}
}

.bg_check {
	background: url(../img/common/bg_check.png);
	max-width: 1800px;
	margin: 40px 20px;
}
.bg_check.area {
	padding: 30px 20px;
}
.bg_check .inner {
	padding: 0 20px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.bg_check {
		margin: 20px 20px;
	}
	.bg_check.area {
		padding: 20px;
	}
	.bg_check .inner {
		padding: 0;
	}
}

/* company
-------------------------------------------------------*/
#company #lower_visual {
	background: url(../img/company/visual.png)no-repeat center/cover;
}
#company #lower_visual .inner {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}

.list_vision>li {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.list_vision>li:not(:last-child) {
	margin-bottom: 30px;
}
.list_vision li .icon {
	min-width: 190px;
	height: 190px;
	background: #21a0dc;
	text-align: center;
	border-radius: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1;
	margin-right: 50px;
}
.list_vision li .icon span {
	display: block;
	font-size: 2.5rem;
	font-weight: 400;
	margin-top: 10px;
}
.list_vision li dt {
	font-size: 2.6rem;
	margin-bottom: 10px;
}
.list_vision li .num {
	font-size: 3rem;
	margin-right: 10px;
}
.list_vision ol li {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	line-height: 1;
}
.list_vision ol li:not(:last-child) {
	margin-bottom: 5px;
}
#company_area02 {
	background: #f4f4f4;
}
.com_info_box dl {
	border-bottom: 1px solid #d6d6d6;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding-bottom: 20px;
}
.com_info_box dl:not(:last-child) {
	margin-bottom: 20px;
}
.com_info_box dl dt {
	min-width: 165px;
}
.list_com_reason {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_com_reason li {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	width: 48%;
	padding: 30px;
	box-sizing: border-box;
}
.list_com_reason li:nth-child(-n+2) {
	margin-bottom: 50px;
}
.list_com_reason li .ttl {
	font-size: 2.4rem;
	font-weight: 700;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	margin-bottom: 20px;
}
.list_com_reason li .ttl .icon {
	margin-right: 20px;
}
.list_com_reason li .ttl .icon img {
	max-width: 123px;
}
#company_area04 {
	background: url(../img/company/triangle.png)no-repeat center top/100% auto,url(../img/company/bg01.png)no-repeat center top/cover;
}
#company_area04.area {
	padding: 200px 20px 150px;
}
#company_area04 .top_txt {
	font-size: 3rem;
	margin-bottom: 50px;
	font-style: italic;
}
#company_area04 .txt {
	line-height: 2;
	margin-bottom: 40px;
}
#company_area04 .name {
	font-style: italic;
	font-size: 2rem;
	text-align: right;
}
.list_support {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.list_support li {
	width: 17%;
	border-radius: 20px;
	border: 4px solid #21a0dc;
	padding: 20px 10px;
	text-align: center;
}
.list_support li .icon {
	margin-bottom: 20px;
}
.list_support li .icon img {
	max-width: 82px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.list_vision>li {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.list_vision>li:not(:last-child) {
		margin-bottom: 30px;
	}
	.list_vision li .icon {
		min-width: 150px;
		height: 150px;
		font-size: 2.6rem;
		margin-right: 0;
		margin-bottom: 20px;
	} 
	.list_vision li .icon span {
		font-size: 2rem;
	}
	.list_vision li dt {
		font-size: 1.8rem;
	}
	.list_vision li .num {
		font-size: 2.6rem;
	}
	.list_vision ol li {
		line-height: 1.4;
	}
	.list_vision .txt .blue02.bold {
		display: block;
	}
	.com_info_box dl dt {
		min-width: 120px;
	}
	.list_com_reason {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.list_com_reason li {
		width: 100%;
		padding: 20px;
	}
	.list_com_reason li:nth-child(-n+2) {
		margin-bottom: 30px;
	}
	.list_com_reason li:nth-child(-n+3) {
		margin-bottom: 30px;
	}
	.list_com_reason li .ttl {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
	.list_com_reason li .ttl .icon img {
		max-width:80px;
	}
	#company_area04.area {
		padding: 80px 20px 50px;
	}
	#company_area04 .top_txt {
		font-size: 1.8rem;
		margin-bottom: 30px;
	}
	#company_area04 .txt {
		margin-bottom: 30px;
	}
	#company_area04 .name {
		font-size: 1.8rem;
	}
	.list_support {
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: center;
	}
	.list_support li {
		width: 48%;
		padding: 15px 5px;
		margin-bottom: 10px;
	}
	.list_support li:nth-child(even) {
		margin-left: 4%;
	}
	.list_support li .icon {
		margin-bottom: 15px;
	}
	.list_support li .icon img {
		max-width: 60px;
	}
}


/* price
-------------------------------------------------------*/
#price #lower_visual {
	background: url(../img/price/visual.png)no-repeat center/cover;
}
#price .campaign {
	margin-bottom: 100px;
}
#price .campaign .ttl {
	background: #17a9c8;
	text-align: center;
	font-size: 6rem;
	font-weight: 700;
	border-radius: 20px 20px 0 0;
	padding: 10px;
}
#price .campaign .ttl span {
	position: relative;
	padding-left: 180px;
}
#price .campaign .ttl span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/price/icon01.png)no-repeat left center/153px 153px;
	width: 153px;
	height: 153px;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
#price .campaign .txt_box {
	background: #41bcd6;
	border-radius: 0 0 20px 20px;
	padding: 30px;
	text-align: center;
}
#price .campaign .txt01 {
	font-size: 5rem;
	font-weight: 700;
	margin-bottom: 30px;
	line-height: 1.2;
	position: relative;
}
#price .campaign .txt01::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/price/icon02.png)no-repeat right center/160px 160px;
	width: 160px;
	height: 160px;
	right: 0;
	top: -50px;
}
#price .campaign .txt01 .white {
	font-size: 3rem;
	display: block;
}
#price .campaign .txt02 {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 20px 0;
	font-weight: 700;
	font-size: 2rem;
	margin-bottom: 20px;
}
#price .campaign .list_box {
	background: #fff;
	border-radius: 20px;
	max-width: 700px;
	margin: 0 auto 20px;
	padding: 20px;
	font-size: 2.4rem;
	font-weight: 700;
	color: #41bcd6;
	display: flex;
	align-items: center;
	justify-content: center;
}
#price .campaign .list_box ul li {
	text-align: left;
}
#price .campaign .list_box span {
	color: #82d48c;
}
#price .campaign .txt03 {
	font-size: 3rem;
	font-weight: 700;
}
#price .price_point_box {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	padding: 80px 30px 30px;
	position: relative;
}
#price .price_point_box .icon {
	position: absolute;
	right: 50%;
	top: -60px;
	transform: translate(50%,0);
}
#price .price_point_box .icon img {
	max-width: 123px;
}
#price .price_point_box .top_txt {
	text-align: center;
	margin-bottom: 30px;
}
#price .price_point_box .top_txt span {
	font-size: 3rem;
}
#price .price_point_box dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#price .price_point_box dl dt {
	width: 40%;
	margin-right: 30px;
}
.temp_price01 {
	width: 100%;
	border: 1px solid #21bbdc;
	margin-bottom: 30px;
}
.temp_price01 tr {
	border-bottom: 1px solid #21bbdc;
}
.temp_price01 th {
	background: #e3f6ff;
	text-align: center;
	border-right: 1px solid #21bbdc;
	font-size: 1.2rem;
	padding: 20px 10px;
	width: 20%;
	vertical-align: middle;
}
.temp_price01 td {
	background: #fff;
	text-align: right;
	border-right: 1px solid #21bbdc;
	padding: 20px;
	vertical-align: middle;
}
.temp_price01 .bold {
	display: block;
	font-size: 1.4rem;
}
.temp_price01 .bg_yellow {
	background: #fcf8b6;
}
#price .caution_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#price .caution_box .list_caution {
	margin-left: 20px;
}
.list_caution {
	font-size: 1.4rem;
}
.list_caution li:not(:last-child) {
	margin-bottom: 10px;
}
.list_caution li {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.list_caution li span {
	margin-right: 0.5em;
}
#price_area03.area {
	padding: 40px 20px;
}
.ttl_calculator {
	text-align: center;
	font-weight: 700;
	font-size: 3rem;
	margin-bottom: 20px;
}
.calculator_box {
	border: 3px solid #21a0dc;
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start;
}
.calculator_box .ttl {
	background: #21a0dc;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	width: 260px;
	position: relative;
	padding-left: 90px;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	justify-content: center;
}
.calculator_box .ttl::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/price/icon_cal.png)no-repeat left center/72px 72px;
	width: 72px;
	height: 72px;
	left: 10px;
}
.calculator_box .ttl span {
	display: block;
	font-size: 1.6rem;
	text-align: left;
}
.calculator_box .txt_box {
	padding: 30px;
}
.calculator_box .txt_box .cam_txt {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start;
	margin-bottom: 20px;
}
.calculator_box .txt_box .cam_txt dt {
	background: #15c37b;
	font-size: 2.4rem;
	font-weight: 700;
	padding: 15px 0;
	width: 40%;
	text-align: center;
}
.calculator_box .txt_box .cam_txt dd {
	border: 1px solid #15c37b;
	width: 60%;
	padding: 15px;
	line-height: 1.2;
}
.calculator_box .txt_box .txt {
	background: #eeeeee;
	padding: 15px;
	margin-bottom: 20px;
}
.calculator_box .txt_box .form_dl {
	border-bottom: 1px solid #b5b5b5;
	padding-bottom: 20px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	font-size: 1.8rem;
}
.calculator_box .txt_box .form_dl:not(:last-child) {
	margin-bottom: 20px;
}
.calculator_box .txt_box .form_dl dt {
	font-weight: 700;
	width: 330px;
	min-width: 300px;
}
.calculator_box .txt_box input[type=text] {
	width: 140px;
	height: 50px;
	margin-right: 10px;
}
.cal_form_btn {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
.cal_form_btn .form_btn01, .cal_form_btn .form_btn02 {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 200px;
	width:  100%;
	height: 70px;
	border: none;
	margin: 10px 10px 0;
	border-radius: 100px;
	box-sizing: border-box;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	line-height: 1;
    text-align: center;
	background: #21a0dc;
}
.cal_form_btn .form_btn02 {
	background: #a0a0a0;
}
.table_row {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.table_row:not(:last-child) {
	margin-bottom: 50px;
}
.table_row .table_row_in {
	width: 48%;
}
.temp_price02 {
	width: 100%;
	border: 1px solid #21bbdc;
}
.temp_price02 tr {
	border-bottom: 1px solid #21bbdc;
}
.temp_price02 th {
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
	padding: 20px 10px;
	background: #e3f6ff;
	width: 50%;
	border-right: 1px solid #21bbdc;
}
.temp_price02 th.bg_blue {
	color: #fff;
	background: #21bbdc;
	font-size: 1.8rem;
}
.temp_price02 td {
	background: #fff;
	text-align: right;
	padding: 20px 20px 20px 10px;
	border-right: 1px solid #21bbdc;
	vertical-align: middle;
	line-height: 1.2;
}
.temp_price02 .size_s {
	font-size: 1.2rem;
	margin-right: 10px;
	line-height: 1;
	display: inline-block;
}
.table_row_in .list_caution {
	margin-top: 15px;
}
.table_btm_campaign {
	background: #15c37b;
	border-radius: 20px;
	padding: 20px;
	text-align: center;
	margin-top: 30px;
	position: relative;
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.4;
}
.table_btm_campaign .sub {
	color: #15c37b;
	background: #fff;
	border-radius: 50px;
	display: inline-block;
	font-size: 2rem;
	padding: 5px 20px;
	margin-bottom: 10px;
}
.table_btm_campaign::before {
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	border-bottom: 21px solid #15c37b;
	border-top: 0;
	top: -20px;
	right: 50%;
	transform: translate(50%,0);
}
.box_payment {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 30px;
}
.box_payment dl {
	width: 50%;
}
.box_payment .img {
	width: 50%;
	background: #fff;
	padding: 20px;
	text-align: center;
	margin-left: 30px;
}
.box_payment .img img {
	max-width: 337px;
}
.box_payment dl dt {
	line-height: 1.8;
}
.box_payment dl dd {
	font-size: 1.4rem;
	margin-top: 20px;
}
.box_loan {
	background: #ffffff;
	padding: 30px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.box_loan .icon {
	width: 15%;
	text-align: center;
}
.box_loan .icon img {
	max-width: 82px;
}
.box_loan dl {
	width: 85%;
}
.box_loan dl dt {
	font-weight: 700;
	margin-bottom: 10px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#price .campaign {
		margin-bottom: 70px;
	}
	#price .campaign .ttl {
		font-size: 2rem;
		padding-left: 100px;
		line-height: 1.2;
	}
	#price .campaign .ttl span {
		position: relative;
		padding-left: 0;
	}
	#price .campaign .ttl span::before {
		background: url(../img/price/icon01.png)no-repeat left center/80px 80px;
		width: 80px;
		height: 80px;
		left: -90px;
		top: 82%;
	}
	#price .campaign .txt_box {
		padding: 20px;
	}
	#price .campaign .txt01 {
		font-size: 2.6rem;
		margin-bottom: 20px;
		line-height: 1.4;
	}
	#price .campaign .txt01::after {
		background: url(../img/price/icon02.png)no-repeat right center/60px 60px;
		width: 60px;
		height: 60px;
		right: -10px;
		top: -50px;
	}
	#price .campaign .txt01 .white {
		font-size: 1.8rem;
	}
	#price .campaign .txt02 {
		font-size: 1.4rem;
	}
	#price .campaign .list_box {
		font-size: 1.6rem;
	}
	#price .campaign .list_box ul li {
		text-indent: -1em;
		padding-left: 1em;
	}
	#price .campaign .txt03 {
		font-size: 1.8rem;
	}
	#price .price_point_box {
		padding: 60px 20px 30px;
	}
	#price .price_point_box .icon {
		top: -35px;
		transform: translate(50%,0);
	}
	#price .price_point_box .icon img {
		max-width: 70px;
	}
	#price .price_point_box .top_txt {
		margin-bottom: 20px;
	}
	#price .price_point_box .top_txt span {
		font-size: 1.6rem;
	}
	#price .price_point_box dl {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#price .price_point_box dl dt {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
	.scroll_txt {
		font-size: 1.2rem;
		text-align: right;
		margin-bottom: 10px;
	}
	.table_sp_scroll {
		overflow-x: auto;
	}
	.table_sp_scroll .sticky {
		position: sticky;
		top:0;
		left:0;
		border-left: none;
		border-right: none;
		background: none;
	}
	.table_sp_scroll .sticky::before{
		content: "";
		position: absolute;
		top: 0px;
		left: -1px;
		width: 100%;
		height: 100%;
		border-left: 1px solid #21bbdc;
		border-right: 1px solid #21bbdc;
		background-color: #e3f6ff;
		z-index: -1;
		box-sizing: content-box;
	}
	.temp_price01 {
		min-width: 700px;
		table-layout: fixed;
		border-collapse: collapse;
		margin-bottom: 10px;
	}
	.temp_price01 th {
		padding: 10px 5px;
	}
	.temp_price01 td {
		padding: 10px;
	}
	.temp_price01 .bold {
		font-size: 1.2rem;
	}
	#price .caution_box {
		flex-flow: column;
		margin-top: 20px;
	}
	#price .caution_box .list_caution {
		margin-left: 0;
		margin-top: 10px;
	}
	#price_area03.area {
		padding: 20px;
	}
	.ttl_calculator {
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
	.calculator_box {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.calculator_box .ttl {
		font-size: 2rem;
		width: 100%;
		padding: 10px 10px 10px 70px;
	}
	.calculator_box .ttl::before {
		background: url(../img/price/icon_cal.png)no-repeat left center/50px 50px;
		width: 50px;
		height: 50px;
		left: 10px;
	}
	.calculator_box .ttl span {
		font-size: 1.4rem;
	}
	.calculator_box .txt_box {
		padding: 20px;
		width: 100%;
	}
	.calculator_box .txt_box .cam_txt {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
	}
	.calculator_box .txt_box .cam_txt dt {
		font-size: 1.8rem;
		padding: 10px 0;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
	.calculator_box .txt_box .cam_txt dd {
		width: 100%;
		padding: 15px;
		line-height: 1.2;
	}
	.calculator_box .txt_box .form_dl {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		font-size: 1.6rem;
	}
	.calculator_box .txt_box .form_dl dt {
		width: 100%;
		min-width: 100%;
		margin-bottom: 10px;
	}
	.calculator_box .txt_box .form_dl dd {
		font-size: 1.3rem;
	}
	.calculator_box .txt_box input[type=text] {
		width: 60px;
		height: 40px;
		margin-right: 10px;
	}
	.cal_form_btn .form_btn01, .cal_form_btn .form_btn02 {
		height: 50px;
		font-size: 1.8rem;
		margin: 0 5px;
	}
	.table_row {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.table_row:not(:last-child) {
		margin-bottom: 30px;
	}
	.table_row .table_row_in {
		width: 100%;
	}
	.table_row .table_row_in:not(:last-child) {
		margin-bottom: 20px;
	}
	.temp_price02 {
		width: 100%;
	}
	.temp_price02 th {
		padding: 10px 5px;
	}
	.temp_price02 th.bg_blue {
		font-size: 1.6rem;
	}
	.temp_price02 td {
		padding: 10px 10px 10px 5px;
	}
	.temp_price02 .size_s {
		font-size: 1.2rem;
		margin-right: 0;
		margin-bottom: 5px;
		display: block;
	}
	.table_btm_campaign {
		font-size: 1.6rem;
		padding: 15px;
	}
	.table_btm_campaign .sub {
		font-size: 1.4rem;
		padding: 5px 15px;
	}
	.box_payment {
		flex-flow: column;
		margin-bottom: 20px;
	}
	.box_payment dl {
		width: 100%;
	}
	.box_payment dl dd {
		font-size: 1.2rem;
	}
	.box_payment .img {
		width: 100%;
		margin-left: 0;
		margin-top: 20px;
	}
	.box_loan {
		padding: 20px;
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.box_loan .icon {
		width: 20%;
		text-align: center;
		margin-bottom: 10px;
	}
	.box_loan dl {
		width: 100%;
	}
}

/* category
-------------------------------------------------------*/
#category #lower_visual {
	background: url(../img/category/visual.png)no-repeat center/cover;
}
#category
.list_cat_nav {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
.list_cat_nav li {
	width: 32%;
	position: relative;
}
.list_cat_nav li::after {
	position: absolute;
	display: block;
	content: "";
	background: rgba(140,139,139,0.2);
	width: 100%;
	height: 100%;
	left: 0;
	bottom: -6px;
	border-radius: 20px;
	z-index: -1;
}
.list_cat_nav li .ttl {
	text-align: center;
	background: #21a0dc;
	color: #fff;
	font-size: 2rem;
	padding: 20px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 0 20px 20px;
}
.list_cat_nav li:nth-child(n+4) {
	margin-top: 40px;
}
.list_cat_nav_sub {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
	margin-bottom: 70px;
}
.list_cat_nav_sub li {
	position: relative;
}
.list_cat_nav_sub li::after {
	position: absolute;
	display: block;
	content: "";
	background: rgba(140,139,139,0.2);
	width: 100%;
	height: 100%;
	left: 0;
	bottom: -6px;
	border-radius: 20px;
	z-index: -1;
}
.list_cat_nav_sub li.w_single {
	max-width: 750px;
	width: 100%;
}
.list_cat_nav_sub li.w_double {
	margin: 0 10px;
	width: 48%;
}
.list_cat_nav_sub .nav_btn a {
	background: #21a0dc;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	padding: 20px;
	border-radius: 20px;
	display: block;
}
.list_cat_nav_sub .nav_btn a span {
	background: #fff;
	color: #21a0dc;
	font-weight: 700;
	padding: 5px 30px;
	border-radius: 50px;
	margin-right: 20px;
}
#category .row_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#category .row_box .img {
	width: 35%;
	margin-right: 30px;
}
#category .row_box .txt {
	width: 65%;
}
.list_cat01 li:not(:last-child) {
	margin-bottom: 20px;
}
.list_cat01 .row_box {
	align-items: center!important;
}
.list_cat01 .ttl_small {
	margin-right: 30px;
}
.list_cat01 .txt {
	width: 100%!important;
}
#category .temp_price01 .bold {
  font-size: 1.6rem;
}
#category .temp_price01 td {
	text-align: center;
}
#category .temp_price01 .bg_blue {
	background: #21bbdc;
	color: #fff;
}
#category .temp_price01 .bg_gray {
	background: #eeeeee;
}
.type_top_txt {
	margin-bottom: 30px;
}
.type_row_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.type_row_box .img {
	width: 35%;
	margin-right: 30px;
}
.type_row_box .txt_box {
	width: 65%;
}
.type_row_box .ttl_small {
	margin-bottom: 20px;
}
.type_row_box .ttl_small.mr30 {
	margin-right: 30px;
}
.list_merit .blue01 {
	color: #21bbdc;
}
.list_merit li {
	text-indent: -1em;
	padding-left: 1em;
}
.list_merit .type_caution {
	font-size: 1.4rem;
	margin-top: 20px;
}
/* cat_area04 */
#cat_area04 .temp_price01 th {
	width: 37.5%;
}
#cat_area04 .temp_price01 th:first-child {
	width: 25%;
}
/* cat_area05 */
#cat_area05.area {
	padding: 80px 20px 0;
}
/* cat_area13 */
#cat_area13.area {
	padding: 80px 20px 0;
}
#cat_area13 .ttl01 {
	margin-bottom: 20px;
}
#cat_area13 .ttl_blue_bg {
	margin-bottom: 50px;
}
/* cat_area17 */
#cat_area17 .temp_price01 th:first-child {
	width: 25%;
}
#cat_area17 .temp_price01 th:nth-child(2) {
	width: 30%;
}
#cat_area17 .temp_price01 th:last-child {
	width: 50%;
}
/* cat_area18 */
#cat_area18 .box {
	border: 1px solid #21a0dc;
	background: #fff;
	position: relative;
	padding: 30px 30px 30px 25%;
	position: relative;
}
#cat_area18 .box::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/bg_check.png);
	width: 100%;
	height: 100%;
	bottom: -10px;
	right: -10px;
	z-index: -1;
}
#cat_area18 .box .img {
	position: absolute;
	left: 0;
	bottom: 0;
	left: 3%;
	width: 18%;
}
#cat_area18 .box .img img {
	max-width: 100%;
}
#cat_area18 .box .list_check {
	margin:  20px 0;
	font-size: 1.8rem;
	font-weight: 700;
}
#cat_area18 .box .list_check li {
	position: relative;
	padding-left: 30px;
}
#cat_area18 .box .list_check li:not(:last-child) {
	margin-bottom: 5px;
}
#cat_area18 .box .list_check li::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/icon_check.png)no-repeat left top/24px 24px;
	width: 24px;
	height: 24px;
	left: 0;
	top: 2px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#category .list_cat_nav {
		justify-content: flex-start;
	}
	.list_cat_nav li {
		width: 48%;
		position: relative;
	}
	.list_cat_nav li .ttl {
		font-size: 1.2rem;
		padding: 10px 5px;
		border-radius: 0 0 10px 10px;
	}
	.list_cat_nav li:nth-child(n+4) {
		margin-top: 0;
	}
	.list_cat_nav li:nth-child(odd) {
		margin-right: 4%;
	}
	.list_cat_nav li:nth-child(n+3) {
		margin-top: 20px;
	}
	.list_cat_nav_sub {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		margin-top: 10px;
		margin-bottom: 40px;
	}
	.list_cat_nav_sub li.w_single {
		width: 100%;
	}
	.list_cat_nav_sub li.w_double {
		margin-top: 20px;
		width: 100%;
	}
	.list_cat_nav_sub .nav_btn a {
		font-size: 1.2rem;
		text-align: center;
		padding: 10px;
		border-radius: 10px;
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
	}
	.list_cat_nav_sub .nav_btn a span {
		padding: 5px 10px;
		margin-right: 10px;
		min-width: 80px;
	}
	#category .row_box {
		flex-flow: column;
	}
	#category .row_box .img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	#category .row_box .txt {
		width: 100%;
	}
	.list_cat01 .row_box {
		align-items: flex-start!important;
	}
	.list_cat01 .ttl_small {
		margin-right: 0;
		margin-bottom: 10px;
	}
	.list_cat01 .txt {
		width: 100%!important;
	}
	#category .temp_price01 .bold {
		font-size: 1.2rem;
	}
	#category .temp_price01 td {
		font-size: 1.2rem;
	}
	.type_top_txt {
		margin-bottom: 20px;
	}
	.type_row_box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.type_row_box .img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.type_row_box .txt_box {
		width: 100%;
	}
	.type_row_box .ttl_small {
		margin-bottom: 15px;
	}
	.type_row_box .ttl_small.mr30 {
		margin-right: 0;
	}
	.list_merit .type_caution {
		font-size: 1.2rem;
	}
	/* cat_area04 */
	#cat_area04 .temp_price01 {
		min-width: 500px;
	}
	/* cat_area05 */
	#cat_area05.area {
		padding: 40px 20px 0;
	}
	/* cat_area13 */
	#cat_area13.area {
		padding: 40px 20px 0;
	}
	#cat_area13 .ttl_blue_bg {
		margin-bottom: 30px;
	}
	/* cat_area17 */
	#cat_area17 .temp_price01 {
		min-width: 500px;
	}
	/* cat_area18 */
	#cat_area18.area {
		padding: 30px 20px 90px;
	}
	#cat_area18 .box {
		padding: 20px;
	}
	#cat_area18 .box .img {
		display: none;
	}
	#cat_area18 .box .list_check {
		font-size: 1.6rem;
	}
	#cat_area18 .box .list_check li {
		padding-left: 25px;
	}
	#cat_area18 .box .list_check li::before {
		background: url(../img/common/icon_check.png)no-repeat left top/17px 17px;
		width: 17px;
		height: 17px;
		top: 5px;
	}
}