
/* --------------------------------------------------- */
#mainvisual {
	width: 100%;
	position: relative;
	height: 80vh;
	margin-bottom: 60px;
}
#background1, #background2 {
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-repeat: repeat-x;
	background-size: cover;
}
#background1 {
    background-image: url('../images/top/mv1.png');
	top: 2%;
    z-index: 1;
}
#background2 {
    background-image: url('../images/top/mv1.png');
    top: 57%;
    z-index: 0;
}
#mainvisual h2 {
	font-family: "M PLUS Rounded 1c", sans-serif;
	text-align: center;
	position: absolute;
	color: #025A16;
	background-color: rgba(247,247,247,.7);
	border: #025A16 4px solid;
	outline: #025A16 2px dotted;
	outline-offset: 3px;
	border-radius: 15px;
	max-width: 700px;
	width: 90%;
	top: 50%;
	left: 50%;
	transform: rotate(0.03deg) translate(-50%, -50%);
	font-size: 1.1em;
	font-weight: 500;
	padding: 50px 0;
	z-index: 2;
}
#mainvisual h2 span {
	display: block;
	text-align: center;
	font-size: 1.4em;
	font-weight: 700;
	letter-spacing: 2px;
}
#mainvisual h2::before {
	content: "";
	width: 120px;
	height: 101px;
	background: url("../images/top/mv-ttl.png") no-repeat center top;
	background-size: cover;
	position: absolute;
	left: 50%;
	top: -90px;
	margin-left: -60px;
}
@media only screen and ( max-width : 968px ) {
	#mainvisual {
		height: 800px;
		margin-bottom: 40px;
	}
	#background2 {
		top: 60%;
		background-position: bottom;
	}
	#mainvisual h2 {
		font-size: 1.3em;
		padding: 40px 0;
	}
}
@media screen and (max-width: 580px) {
	#mainvisual {
		height: 420px;
		margin-bottom: 0px;
	}
	#mainvisual h2 {
		font-size: 1.1em;
		padding: 30px 0;
		border: #025A16 2px dashed;
	}
	#mainvisual h2 span {
		font-size: 1.1em;
		letter-spacing: 1px;
	}
	#mainvisual h2::before {
		width: 80px;
		height: 67px;
		top: -60px;
		margin-left: -40px;
	}
}
/* --------------------------------------------------- */
#area1 {
	width: 100%;
	margin: 0 auto 80px;
}
#area1 .img {
	max-width: 650px;
	width: 85%;
	margin: 0 auto 30px;
}
#area1 .ttl {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
	text-align: center;
	font-size: 1.4em;
	font-weight: 500;
	width: 90%;
	margin: 0 auto 100px;
}
#area1 .ttl span {
	display: inline-block;
	border-bottom: #D87F25 3px dashed;
	font-weight: 700;
	font-size: 1.1em;
	margin-right: 5px;
}
#area1 .inner {
	max-width: 1500px;
	width: 100%;
	margin: 0 auto 180px;
	display: flex;
	justify-content: space-between;
}
#area1 .inner p {
	width: 42%;
	margin-left: 5%;
}
#area1 .inner p span {
	font-weight: bold;
	font-size: 120%;
	display: block;
	margin-bottom: 20px;
}
#area1 .inner .ph {
	width: 48%;
}
#area1 .inner .ph img.ph1 {
}
#area1 .inner .ph img.ph2 {
	display: none;
}
#area1 .raua {
	text-align: center;
	position: relative;
	background-color: #fff;
	border: #025A16 4px solid;
	outline: #025A16 2px dotted;
	outline-offset: 3px;
	border-radius: 15px;
	max-width: 900px;
	width: 90%;
	font-size: 1.2em;
	font-weight: 500;
	padding: 50px 0;
	z-index: 2;
	margin: 0 auto;
}
#area1 .raua span {
	display: block;
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
	text-align: center;
	font-size: 1.3em;
	color: #025A16;
}
#area1 .raua::before {
	content: "";
	width: 200px;
	height: 168px;
	background: url("../images/top/img02.png") no-repeat center top;
	background-size: cover;
	position: absolute;
	left: 50%;
	top: -160px;
	margin-left: -100px;
}
#area1 .raua br {
	display: none;
}

@media screen and ( max-width : 968px ) {
	#area1 .ttl {
        margin: 0 auto 60px;
    }
	#area1 .inner {
        width: 90%;
        margin: 0 auto 140px;
        display: block;
    }
    #area1 .inner p {
        width: 100%;
        margin: 0 auto 30px;
    }
    #area1 .inner .ph {
		max-width: 750px;
        width: 100%;
		margin: 0 auto;
    }
    #area1 .inner .ph img.ph1 {
		display: none;
    }
    #area1 .inner .ph img.ph2 {
        display: block;
    }
	#area1 .raua {
		font-size: 1em;
	}
}
@media screen and (max-width: 768px) {
	#area1 .raua {
		padding: 40px 0;
	}
	#area1 .raua::before {
		width: 160px;
		height: 134px;
		top: -130px;
		margin-left: -80px;
	}
	#area1 .raua span br {
		display: block;
	}
}
@media screen and (max-width: 580px) {
	#area1 {
        margin: -30px auto 40px;
    }
	#area1 .ttl {
        font-size: 1.2em;
        margin: 0 auto 50px;
    }
	#area1 .inner {
        margin: 0 auto 80px;
    }
	#area1 .raua {
		padding: 30px 0;
		font-size: .9em;
	}
	#area1 .raua::before {
		width: 100px;
		height: 84px;
		top: -70px;
		margin-left: -50px;
	}
	#area1 .raua br {
		display: block;
	}
	#area1 .raua span {
		font-weight: 700;
	}
}
/* --------------------------------------------------- */
#area2 {
	width: 100%;
	margin-bottom: 160px;
	position: relative;
	padding: 40px 0;
}
#area2 .back {
	display: block;
	max-width: 1300px;
	width: 90%;
	height: 100%;
	background-color: #166729;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0%);
	border-radius: 15px;
	z-index: 0;
}
#area2 .ttl {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
	position: relative;
	z-index: 1;
	text-align: center;
	color: #fff;
	font-size: 1.3em;
	font-weight: 500;
	margin-bottom: 30px;
	line-height: 1.6em;
}
#area2 .ttl span {
	display: block;
	font-weight: 700;
	text-align: center;
	font-size: 1.3em;
}
#area2 .autoplay {
	margin-bottom: 60px;
}
#area2 .autoplay .box {
	border: #166729 3px dashed;
	background-color: #fff;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	margin-right: 40px;
}
#area2 .autoplay .box img {
	display: block;
	max-width: 160px;
	width: 80%;
	margin: 30px auto 10px;
}
#area2 .autoplay .box p {
	max-width: 240px;
	width: 80%;
	margin: 0 auto;
	font-weight: bold;
	text-align: center;
	font-size: 120%;
}
#area2 .btn-style01 {
	position: absolute;
	left: 50%;
	bottom: -40px;
	transform: translate(-50%, 0%);
}
@media screen and ( max-width : 968px ) {
	#area2 .autoplay .box {
        width: 350px;
        height: 350px;
        margin-right: 30px;
    }
	#area2 .autoplay .box img {
        max-width: 120px;
        width: 60%;
        margin: 20px auto 10px;
    }
    #area2 .autoplay .box p {
        width: 90%;
    }
	#area2 .autoplay .box p br {
		display: none;
    }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 580px) {
	#area2 {
        margin-bottom: 90px;
        padding: 30px 0 20px;
    }
	#area2 .ttl {
        font-size: 1.1em;
    }
	#area2 .autoplay .box {
        width: 300px;
        height: 300px;
        margin-right: 20px;
    }
}
/* --------------------------------------------------- */
#area3 {
	width: 100%;
	margin-bottom: 80px;
}
#area3 .inner {
	max-width: 1260px;
	width: 90%;
	margin: 0 auto 50px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#area3 .inner .plus {
	width: 6%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#area3 .inner .box {
	background-color: #fff;
	width: 45%;
	padding: 4%;
	border-radius: 20px;
}
#area3 .inner .box .ttl2 {
	text-align: center;
	font-size: 1.3em;
	font-weight: 600;
	line-height: 160%;
	height: 80px;
}
#area3 .inner .box .ttl2.oneline {
	padding-top: 20px;
}
#area3 .inner .box .img {
	max-width: 200px;
	width: 100%;
	margin: 0 auto 15px;
}
.plus_ttl{
    font-weight: bold;
	text-align: center;
	font-size: 120%;
	color: #1B869F;
}
.plus_ttl2{
    font-weight: bold;
	text-align: center;
	font-size: 120%;
	color: #D87E25;
}

#area3 .btn-style01 {
	margin: 0 auto;
}
@media screen and ( max-width : 968px ) {
	#area3 .inner .box {
        width: 49%;
        padding: 3%;
    }
}
@media screen and (max-width: 768px) {
	#area3 .inner {
		display: block;
	}
	#area3 .inner .box {
		width: 100%;
		margin: 20px auto;
		padding: 4%;
	}
}
@media screen and (max-width: 580px) {
	#area3 {
        margin-bottom: 40px;
    }
	#area3 .inner {
		margin-bottom: 20px;
	}
	#area3 .inner .plus {
        width: 12%;
		margin-top: 10px;
    }
	#area3 .inner .box {
		padding: 20px;
	}
	#area3 .inner .box .ttl2 {
		height: auto;
		margin-bottom: 15px;
	}
	#area3 .inner .box .ttl2.oneline {
        padding-top: 10px;
    }
}
/* --------------------------------------------------- */
#area4 {
	width: 100%;
	background-color: #E6E6E6;
	padding-top: 60px;
	margin-bottom: 140px;
}
#area4 .ttl-style01 br {
	display: none;
}
#area4 .inner {
	max-width: 1500px;
	width: 100%;
	margin: 0 auto 80px;
	display: flex;
	justify-content: space-between;
}
#area4 .inner .left {
	width: 39%;
	margin-left: 5%;
}
#area4 .inner .left p {
	margin-bottom: 20px;
}
#area4 .inner .left p.ttl {
	font-size: 1.2em;
	font-weight: 600;
}
#area4 .inner .left p.name {
	margin-bottom: 0px;
	text-align: right;
	font-size: 12px;
	line-height: 150%;
}
#area4 .inner .left p.name strong {
	display: inline-block;
	font-size: 1.4em;
	font-weight: 400;
	margin: 0 0px 0 10px;
}
#area4 .inner .left p.name span {
	font-size: 10px;
	display: block;
	text-align: right;
}
#area4 .inner .ph {
	width: 53%;
	background: url("../images/top/ph03.jpg") no-repeat center;
	background-size: cover;
	border-radius: 20px;
	margin-right: -2%;
}
#area4 .inner2 {
	width: 100%;
	height: 390px;
	background: url("../images/top/ph04.jpg") no-repeat center;
	background-size: cover;
	position: relative;
	padding-top: 30px;
}
#area4 .inner2 dl {
	max-width: 660px;
	width: 70%;
	background-color: #166729;
	color: #fff;
	padding: 3.5%;
	border-radius: 0 15px 15px 0;
}
#area4 .inner2 dt {
	font-weight: 600;
	margin-bottom: 20px;
	font-size: 1.1em;
	line-height: 170%;
}
#area4 .inner2 dt strong {
	display: block;
	font-weight: 600;
	font-size: 1.3em;
}
#area4 .inner2 dd {
	font-size: .9em;
}
#area4 .inner2 .btn-style01 {
	position: absolute;
	left: 50%;
	bottom: -50px;
	transform: translate(-50%, 0%);
}
@media screen and ( max-width : 968px ) {
	#area4 .inner .left p.ttl {
        font-size: 1.1em;
		letter-spacing: 0px;
    }
	#area4 .inner {
        margin: 0 auto 60px;
        display: block;
    }
    #area4 .inner .left {
        width: 90%;
        margin: 0 auto 30px;
    }
    #area4 .inner .ph {
		display: block;
        width: 90%;
		height: 450px;
        border-radius: 20px;
        margin: 0 auto;
    }
}
@media screen and (max-width: 768px) {
	#area4 .ttl-style01 br {
        display: block;
    }
    #area4 .inner .ph {
		height: 300px;
    }
}
@media screen and (max-width: 580px) {
	#area4 {
        padding-top: 40px;
		margin-bottom: 80px;
    }
	#area4 .inner {
        margin: 0 auto 90px;
    }
	#area4 .inner .ph {
		height: 200px;
    }
	#area4 .inner2 {
        height: 390px;
        padding-top: 0px;
    }
	#area4 .inner2 dl {
		max-width: none;
        width: 90%;
        padding: 3.5%;
		position: absolute;
		top: -60px;
		left: 0;
    }
	#area4 .inner2 dt {
        font-size: 1em;
        line-height: 180%;
    }
    #area4 .inner2 dt strong {
        font-size: 1.3em;
    }
}
/* --------------------------------------------------- */
#area5 {
	max-width: 1300px;
	width: 90%;
	margin: 0 auto 80px;
	padding-left: 360px;
	position: relative;
}
#area5 .ttl {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
	position: absolute;
	top: 0;
	left: 0;
	color: #166729;
	font-size: 3em;
	font-weight: 700;
}
#area5 ul {
}
#area5 li {
	display: table;
	background-color: #fff;
	width: 100%;
	margin-bottom: 15px;
	border: #fff 2px solid;
}
#area5 li span,
#area5 li a {
	display: table-cell;
	vertical-align: top;
	padding: 15px 20px;
}
#area5 li span {
	width: 120px;
	font-size: 10px;
	font-weight: 500;
	padding-top: 22px;
}
#area5 li a {
	color: #166729;
}
#area5 li a:hover {
	background-color: #f3f3f3;
}
#area5 .btn-style01 {
	max-width: 300px;
	position: absolute;
	top: 100px;
	left: 0;
}
@media screen and ( max-width : 968px ) {
	#area5 {
        margin: 0 auto 80px;
        padding-left: 0;
    }
    #area5 .ttl {
        position: static;
		margin-bottom: 25px;
    }
	#area5 ul {
		margin: 0 auto 30px;
	}
    #area5 .btn-style01 {
        max-width: 450px;
        position: static;
		margin: 0 auto;
    }
}
@media screen and (max-width: 768px) {
	#area5 {
        margin: 0 auto 60px;
    }
}
@media screen and (max-width: 580px) {
	#area5 {
        margin: 0 auto 40px;
    }
	#area5 .ttl {
        font-size: 2em;
		margin-bottom: 20px;
    }
	#area5 li {
        margin-bottom: 5px;
    }
	#area5 li span,
    #area5 li a {
        padding: 10px 15px;
    }
    #area5 li span {
        width: 80px;
		font-size: 9px;
    }
}
/* --------------------------------------------------- */
#area6 {
	width: 100%;
	margin-bottom: 100px;
}
#area6 .inner {
	max-width: 1260px;
	width: 90%;
	margin: 0 auto 50px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#area6 .inner .block {
	width: 48%;
	position: relative;
}
#area6 .inner .block:first-child::before,
#area6 .inner .block:last-child::before {
	content: "";
	position: absolute;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	z-index: 0;
	top: 5px;
	left: 50%;
	transform: translate(-50%, 0%);
}
#area6 .inner .block:first-child::before {
	border: #1C869F 6px double;
}
#area6 .inner .block:last-child::before {
	border: #D87F25 6px double;
}
#area6 .inner .block .img {
	display: block;
	max-width: 200px;
	width: 90%;
	margin: 0 auto;
}
#area6 .inner .block .ttl {
	text-align: center;
	line-height: 180%;
	padding-bottom: 10px;
	margin-bottom: 10px;
	background-color: #F7F7F7;
	position: relative;
	z-index: 1;
}
#area6 .inner .block .ttl span {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
	display: block;
	text-align: center;
	font-size: 1.7em;
}
#area6 .inner .block .ttl span.living {
	color: #1C869F;
}
#area6 .inner .block .ttl span.heart {
	color: #D87F25;
}
#area6 .box {
	border: #ddd 1px solid;
	background-color: #fff;
	padding: 30px;
	border-radius: 2px;
	position: relative;
}
#area6 .box::before,
#area6 .box::after {
	content: "";
	position: absolute;
	background-color: #ddd;
}
#area6 .box::before {
	width: 3px;
	height: 100%;
	right: -8px;
	top: 8px;
	bottom: -8px;
}
#area6 .box::after {
	height: 3px;
	width: 100%;
	bottom: -8px;
	left: 8px;
	right: -8px;
}
#area6 .box dl {
	border-bottom: #444 1px dashed;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
#area6 .box dl:last-child {
	border-bottom: none;
	padding-bottom: 0px;
	margin-bottom: 0px;
}
#area6 .box dt {
	font-family: "M PLUS Rounded 1c", sans-serif;
	transform: rotate(0.03deg);
	padding-left: 30px;
}
#area6 .box-living dt {
	background: url("../images/common/icon06.png") no-repeat left top 3px;
	background-size: 24px;
}
#area6 .box-heart dt {
	background: url("../images/common/icon07.png") no-repeat left top 3px;
	background-size: 24px;
}
#area6 .box dd {
	font-size: 1.1em;
	font-weight: 600;
	padding: 2px 0 2px 120px;
	line-height: 140%;
}
#area6 .box-living dd {
	background: url("../images/common/icon08.png") no-repeat left 30px top 4px;
	background-size: 80px;
}
#area6 .box-heart dd {
	background: url("../images/common/icon09.png") no-repeat left 30px top 4px;
	background-size: 80px;
}
#area6 .btn-style01 {
	margin: 0 auto;
}
@media screen and ( max-width : 968px ) {
	#area6 .inner {
        margin: 0 auto 50px;
        display: block;
    }
    #area6 .inner .block {
        width: 100%;
		margin-bottom: 50px;
    }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 580px) {
	#area6 {
        margin-bottom: 50px;
    }
	#area6 .ttl-style01 {
		font-size: 1.2em;
		margin-bottom: 30px;
    }
	#area6 .inner .block:first-child::before,
    #area6 .inner .block:last-child::before {
        width: 240px;
        height: 240px;
    }
	#area6 .inner .block .img {
        max-width: 160px;
    }
	#area6 .box {
        padding: 15px;
    }
	#area6 .box dl {
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
	#area6 .box dt {
        padding-left: 25px;
    }
    #area6 .box-living dt,
	#area6 .box-heart dt {
        background-size: 19px;
    }
	#area6 .box dd {
        padding: 2px 0 2px 100px;
		font-size: 1em;
    }
    #area6 .box-living dd,
	#area6 .box-heart dd {
		background-position: left 25px top 2px;
        background-size: 70px;
    }
}
/* --------------------------------------------------- */