@charset "utf-8";
/* CSS Document */
* {
	box-sizing: border-box;
}
.catch {
	position: relative;
	width: 100%;
}
.catch_inner {
	position: absolute;
	max-width: 1000px;
	width: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.catch_inner img {
	display: block;
}
.circle {
	position: absolute;
	z-index: 100;
	left: -12%;
	top: 20%;
	width: 30%;
}
.txt {
	position: absolute;
	z-index: 100;
	width: 95%;
	left: 2%;
	top: 55%;
	font-size:min(2.8vw,28px);
	line-height: 160%;
	color: #fff;
	font-weight: bold;
}
.txt img {
	margin-left: -2%;
}
@media screen and (max-width: 480px) {
.txt {
	width: 95%;
	top: 55%;
	font-size:min(4.5vw,28px);
	left: 2.5%;
}
.circle {
	top: 40%;
	width: 40%;
}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
.txt {
	width: 90%;
	top: 35%;
	font-size:min(3.6vw,22px);
	left: 2.5%;
}
.circle {
	top: 20%;
	width: 40%;
	left: -20%;
}
}
/*ブログ*/
.blog {
	padding: 40px 0;
	max-width: 950px;
	margin: auto;
}
.blog h2 {
	color: #009a7c;
	padding:10px;
	font-size:min(5vw,28px);
	font-weight: bold;
	text-align:center;
	line-height:150%;
	margin-bottom: 20px;
}
.blog h2::after {
	content: "";
	display: block;
	width: 50%;
	border-bottom: 4px solid #009a7c;
	margin:5px auto 5px;
}
.blog .topics {
	width: 85%;
	margin: auto;
}
.blog .topics dl {
	border-bottom: 1px dotted #999;
	padding: 0 10px;
}
.blog .topics dl dt {
	width: 28%;
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
}
.blog .topics dl dt .cate {
	display: inline-block;
	background: #F7931E;
	color: #fff;
	padding: 1px 5px;
	line-height: 150%;
	margin-right: 10px;
}
.blog .topics dl dd {
	width: 70%;
	display: inline-block;
	vertical-align: middle;
	padding: 10px;
	line-height: 140%;
	font-weight: bold;
}
.blog .topics .more {
	display: block;
	width: 80%;
	max-width: 350px;
	margin: 40px auto 20px;
	text-align: center;
	background: #F7931E;
	font-size: 16px;
	font-weight: bold;
	color:#fff;
	padding: 10px;
}
.blog .bloglist {
	text-align: center;
}
.blog .bloglist li {
	width: 200px;
	display: inline-block;
	background: #fff;
	margin: 20px 10px;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.blog .topics {
		width: 95%;
		margin: auto;
	}
	.blog .topics dl dt {
		font-size: 14px;
		line-height:150%;
		padding-bottom: 15px;
	}
	.blog .topics dl dd {
		font-size: min(4vw,16px);
	}
	.blog .topics .more {
		margin: 10px auto;
		font-size: min(4vw,18px);
	}
}
@keyframes parallax {
  from {
    background-position: center 100px;
  }

  to {
    background-position: center -500px;
  }
}
@keyframes parallax_mb {
  from {
    background-position: center 100px;
  }

  to {
    background-position: center -200px;
  }
}
.paral h1 {
	font-size: min(3.4vw,35px);
	font-weight: bold;
	line-height: 170%;
}
.paral h1 span {
	background: linear-gradient(transparent 0%, transparent 65%, #009a7c 65%, #009a7c 90%);
}
.paral {
	background: url(../image/home/bg1.jpg) no-repeat;
	background-size: 140%;
	background-position: top;
}
@media screen and (max-width: 767px) {
.paral {
	animation: parallax_mb linear both;
	animation-timeline: view();
}
}
@media screen and (min-width: 768px) {
.paral {
	animation: parallax linear both;
	animation-timeline: view();
}
}
.paral_box {
	max-width: 1200px;
	margin: auto;
	padding: 7% 10px;
	color: #fff;
}
.paral_box p {
	font-size: 100%;
	line-height: 220%;
}
@media screen and (max-width: 767px) {
.paral {
	background-size: 300%;
}
.paral_box {
	padding: 10% 20px 15%;
	color: #fff;
}
.paral h1 {
	font-size: min(4vw,35px);
	line-height: 200%;
}
.paral_box p {
	font-size: 90%;
	line-height: 200%;
}
}
@media screen and (min-width: 1400px) {
.paral {
	background-size: 100%;
}
}
.adv {
	background: #fbfff0ff;
	padding: 3% 10px;
}
.adv h2 {
	color: #009a7c;
	padding:10px;
	font-size:min(5vw,30px);
	font-weight: bold;
	text-align:center;
	line-height:150%;
	margin-bottom: 20px;
}
.adv h2::after {
	content: "";
	display: block;
	width: 50%;
	border-bottom: 4px solid #009a7c;
	margin:5px auto 5px;
}
.adv h2 .sub {
	display: block;
	font-size: 80%;
}
.adv h2 .big {
	font-size: 160%;
	padding: 0 3px;
}
.adv_box {
	max-width: 1200px;
	padding: 10px;
	margin: auto;
}
.adv_box ol {
	text-align: center;
}
.adv_box ol li {
	width : -webkit-calc((100% / 3) - 5%);
	width : calc((100% / 3) - 5%);
	margin: 10px 2%;
	display: inline-block;
	vertical-align: top;
}
.adv_box ol li h3 {
	font-size: min(2.8vw,20px);
	font-weight: bold;
	margin-top: 5px;
	line-height: 140%;
	padding: 0;
	margin: 5px 0 0;
}
.adv_box ol li h3 span {
	background: linear-gradient(transparent 0%, transparent 75%, #6dd6baff 75%, #6dd6baff 90%);
}
.adv_box ol li p {
	text-align: left;
	font-size: 16px;
	line-height: 180%;
	margin-top: 10px;
}
.adv .adv_catch p {
	font-weight:bold;
}
.adv .adv_catch  {
	width: 100%;
	max-width: 700px;
	margin: 10px auto;
}
.adv .adv_catch .catchTitle {
	background: #fff;
	border:1px solid #231815;
	color:#231815;
	width: 100%;
	max-width: 700px;
	margin: 10px auto;
	font-size: min(3.5vw,20px);
}
.adv .adv_catch .catchTitle span {
	background:#231815;
	color:#fff;
	display:inline-block;
	max-width:150px;
	width: 20%;
	text-align:center;
	padding:9px 0;
	margin-right:5px;
}
.catchTitle + p span {
	color:#009a7c;
	border-bottom:4px solid #FFFF00;
}
@media screen and (max-width: 767px) {
.adv_box ol li {
	width : -webkit-calc((100% / 2) - 1.5%);
	width : calc((100% / 2) - 1.5%);
	margin: 10px 0%;
	display: inline-block;
	vertical-align: top;
}
.adv h2 {
	font-size:min(5vw,30px);
}
.adv h2::after {
	width: 100%;
}
.adv h2 .sub {
	display: block;
	font-size: 70%;
}
.adv h2 .big {
	font-size: 160%;
	padding: 0 3px;
}
.adv_box ol li h3 {
	font-size: min(3.5vw,20px);
}
.adv_box ol li p {
	font-size: 14px;
}
}
@media screen and (max-width: 480px) {
.adv_box ol li {
	width: 98%;;
	margin: 10px auto;
}
.adv_box ol li h3 {
	font-size: min(5vw,20px);
}
}
/*5つのポイント*/
.point {
	max-width: 1200px;
	margin: 5% auto;
	position: relative;
	padding: 10px;
}
.point h2 {
	color: #009a7c;
	padding:10px;
	font-size:min(5vw,30px);
	font-weight: bold;
	text-align:left;
	line-height:150%;
	margin-bottom: 10px;
}
.point h2::after {
	content: "";
	display: block;
	width: 80%;
	border-bottom: 4px solid #009a7c;
	margin:5px 0;
}
.point h2 .sub {
	display: block;
	font-size: 80%;
}
.point ul li {
	color: #f7931eff;
	font-weight: bold;
}
.point ul li span {
	line-height: 100%;
	vertical-align: -6px;
	font-weight: bold;
}
.point .point_box {
	width: 60%;
	float: left;
}
.point .paral2 {
	float: right;
	width:40%;
	right: 0;
	top: 0;
	position: relative;
}
.point .paral2 .item1 {
	position: absolute;
	margin-top: 0%;
	width: 100%;
	z-index: -1;
}
.point .paral2 .item2 {
	position: absolute;
	margin-top: 70%;
	right: -35%;
	width: 80%;
	z-index: -1;
}
@media screen and (max-width: 767px) {
.point .point_box {
	width: 100%;
	float: none;
}
.point .paral2 {
	width: 100%;
	float: none;
	right: 0;
	top: 0;
	position: relative;
	overflow: hidden;
}
.point .paral2 .item1 {
	position: relative;
	margin-top: 0%;
	width: 75%;
	z-index: -1;
}
.point .paral2 .item2 {
	position: absolute;
	margin-top: -60%;
	right: -15%;
	width: 65%;
	z-index: -1;
}
}
/*voice*/
.voice {
	text-align: center;
	background: #e5f5f2;
	padding: 40px 1px;
}
.voice h2 {
	display: inline-block;
	position: relative;
	height: 50px;
	line-height: 50px;
	text-align: center;
	padding: 0 50px;
	font-size: 24px;
	font-weight: bold;
	background: #009a7c;
	color: #fff;
	box-sizing: border-box;
	margin: 40px auto 20px;
}
.voice h2:before,
.voice h2:after {
	position: absolute;
	content: "";
	width: 0px;
	height: 0px;
	z-index: 1;
}
.voice h2:before {
	top: 0;
	left: 0;
	border-width: 25px 0px 25px 15px;
	border-color: transparent transparent transparent #e5f5f2;
	border-style: solid;
}
.voice h2:after {
	top: 0;
	right: 0;
	border-width: 25px 15px 25px 0px;
	border-color: transparent #e5f5f2 transparent transparent;
	border-style: solid;
}
.voice ul li {
	max-width: 280px;
	margin: 0 50px;
	text-align: center;
}
.voice ul li p {
	position: relative;
	display: block;
	margin: 1.5em auto;
	padding: 10px 10px;
	min-width: 120px;
	max-width: 280px;
	width: 100%;
	color: #000;
	font-weight: bold;
	font-size: 14px;
	background: #fff;
	border: 3px solid #009a7c;
	line-height: 170%;
	text-align: left;
}
@media screen and (max-width: 767px) {
.voice ul li {
	max-width: 300px;
}
.voice ul li p {
	max-width: 300px;
}
}

.voice ul li p:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 20%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #009a7c;
}
/*arrow*/
.slide-arrow {
	position:absolute;
	top:50%;
	margin-top:-25px;
	left:0;
	background: rgb(0 0 0 / .8);
	width:50px;
	line-height:50px;
	padding:0;
	font-size:30px;
	color:#fff;
	z-index: 100;
}
.next-arrow {
	right: 0;
	left: auto;
}