@charset "utf-8";

@media only screen and (max-width:991px) {}
@media only screen and (max-width:767px) {}
@media only screen and (max-width:374px) {}


header.door_header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
header.door_header a {
	text-decoration: none;
}


/*************************************************

 anime

*************************************************/
.js-textanime span {
	display: inline-block;
	transform: translateY(20%);
	opacity: 0;
	transition: opacity 0.8s, transform 0.8s;
}

.js-textanime .delay1 {
	-webkit-transition-delay: 0.2s;
			transition-delay: 0.2s;
}

.js-textanime .delay2 {
	-webkit-transition-delay: 0.3s;
			transition-delay: 0.3s;
}

.js-textanime .delay3 {
	-webkit-transition-delay: 0.4s;
			transition-delay: 0.4s;
}

.js-textanime .delay4 {
	-webkit-transition-delay: 0.5s;
			transition-delay: 0.5s;
}

.js-textanime .delay5 {
	-webkit-transition-delay: 0.6s;
			transition-delay: 0.6s;
}

.js-textanime .delay6 {
	-webkit-transition-delay: 0.7s;
			transition-delay: 0.7s;
}

.effect_seconds {
	transform: translateY(20%);
	opacity: 0;
	transition: opacity 0.5s 1s, transform 0.5s 1s;
}


.is-view.top-firstview .js-textanime span,
.is-view.top-firstview .effect_seconds,

.is-view.top-worries .js-textanime span,
.is-view.top-worries .effect_seconds,

.is-01 .is-default .js-textanime span,
.is-01 .is-default .effect_seconds,
.is-02 .is-02 .js-textanime span,
.is-02 .is-02 .effect_seconds,
.is-03 .is-03 .js-textanime span,
.is-03 .is-03 .effect_seconds,
.is-04 .is-04 .js-textanime span,
.is-04 .is-04 .effect_seconds {
	opacity: 1;
	transform: translateY(0);
}


/*************************************************

 parts-scrollicon

*************************************************/
.parts-scrollicon {
	overflow: hidden;
	position: relative;
	width: 3.5rem;
	height: 10rem;
}
.parts-scrollicon::before {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	content: '';
	width: 2.2rem;
	height: 2.2rem;
	border: #7e7e7e solid 1px;
	border-radius: 50%;
	transform: translateX(-50%);
}
.parts-scrollicon::after {
	position: absolute;
	top: 1rem;
	left: 50%;
	display: block;
	content: '';
	width: 1px;
	margin-left: -1px;
	height: 0;
	background-color: #7e7e7e;
	animation: scrollicon 3s ease-in-out infinite;
}
.parts-scrollicon__text {
	position: absolute;
	bottom: 0;
	right: 0;
	color: #7e7e7e;
	font-size: 1.5rem;
	line-height: 1;
}

.top-scrollicon {
	overflow: hidden;
	position: fixed;
	bottom: 2rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s 0.3s, visibility 0.4s 0.3s;
	z-index: -1;
}
.top-scrollicon.is-view {
	opacity: 1;
	visibility: visible;
	z-index: 100;
}
@media only screen and (min-width:768px) {
	.top-scrollicon {
		right: 2rem;
	}
	.top-scrollicon.is-off {
		opacity: 0;
		visibility: hidden;
		z-index: -1;
	}
}
@media only screen and (max-width:767px) {
	.top-scrollicon {
		left: 0.3rem;
		bottom: 1.5rem;
	}
	.parts-scrollicon__text {
		right: 0;
	}
	.parts-scrollicon__text img {
		width: 1.1rem;
	}
}


@keyframes scrollicon {
	0% {
		height: 0;
	}
	25% {
		height: 100%;
	}
	50% {
		top: auto;
		bottom: -1rem;
		height: 100%;
	}
	75% {
		top: auto;
		bottom: -1rem;
		height: 0%;
	}
}



/*************************************************

 top-aside

*************************************************/
.top-aside {
	overflow: auto;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 18.5rem;
	height: 100svh;
	display: flex;
	background-color: #fff;
	z-index: 80;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s, visibility 0.4s;
}
.top-aside.is-view {
	opacity: 1;
	visibility: visible;
}
.top-aside__inner {
	display: flex;
	align-items: center;
}
.top-aside__title {
	box-sizing: border-box;
	position: absolute;
	bottom: 2rem;
	left: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 9rem;
	height: 4rem;
	color: #008D54;
	font-size: 1.4rem;
	font-weight: 700;
	border: #E5E5E5 solid 1px;
	border-radius: 0.5rem;
	cursor: pointer;
}
.top-aside__title span {
	position: relative;
	display: block;
	padding-left: 2.2rem;
}
.top-aside__title span::before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	content: '';
	width: 1.6rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: url(../images/common/icon_index.svg) no-repeat center center / contain;
}
@media only screen and (min-width:768px) and (max-height:850px) {
	.top-aside__title {
		bottom: 6rem;
	}
}
@media only screen and (max-width:767px) {
	.top-aside {
		overflow: hidden;
		top: 8rem;
		width: 14rem;
		height: auto;
		display: block;
	}
	.top-aside__title {
		position: static;
		height: 3.8rem;
		margin: 0 0 1.3rem -1rem;
		border-color: #008D54;
	}
}


/*  top-aside__navi
----------------------------------------*/
.top-aside__navi {
	margin-left: 2.4rem;
}
.top-aside__navi > * {
	display: block;
	text-decoration: none;
}
.top-aside__navi__point__txt {
	color: #9E9E9E;
	font-size: 1.5rem;
	font-weight: 700;
}
.top-aside__navi {
	position: relative;
}
.top-aside__navi:before {
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: block;
	content: '';
	width: 0.1rem;
	height: calc(100% - 2rem);
	background-color: #E5E5E5;
}
.top-aside__navi__bigpoint,
.top-aside__navi__midpoint {
	position: relative;
	margin-top: 1rem;
	padding-left: 3rem;
	line-height: 1.1;
	z-index: 2;
}
.top-aside__navi__bigpoint:first-child {
	margin-top: 0;
}
.top-aside__navi__bigpoint::before,
.top-aside__navi__bigpoint::after,
.top-aside__navi__midpoint::before,
.top-aside__navi__midpoint::after {
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	display: block;
	content: '';
	transform: translateY(-50%);
	background-color: #fff;
	border-radius: 50%;
}
.top-aside__navi__bigpoint::before {
	left: 0.4rem;
	width: 1.3rem;
	height: 1.3rem;
	border: #9E9E9E solid 0.3rem;
}
.top-aside__navi__bigpoint::after {
	left: 0;
	width: 2.2rem;
	height: 2.2rem;
	border: #008D54 solid 0.5rem;
	transform: scale(0.5) translateY(-50%);
	opacity: 0;
}
.top-aside__navi__bigpoint.is-view::after {
	animation: bigpoint .3s forwards;
}
.top-aside__navi__midpoint {
	height: 0.8rem;
}
.top-aside__navi__midpoint::before,
.top-aside__navi__midpoint::after {
	left: 0.65rem;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #E5E5E5;
}
.top-aside__navi__midpoint::after {
	opacity: 0;
	background-color: #008D54;
	transform: scale(0.5) translateY(-50%);
	/* transition: transform 0.3s cubic-bezier(.37,1.61,.05,1), opacity 0.3s; */
}
.top-aside__navi__midpoint.is-view::after {
	opacity: 1;
	animation: midpoint .3s forwards;
}
.top-aside__navi__bigpoint.is-view .top-aside__navi__point__txt {
	color: #008D54;
}

@keyframes bigpoint {
	50% {
		opacity: 1;
		transform: scale(1.3) translateY(-50%);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(-50%);
	}
}
@keyframes midpoint {
	50% {
		opacity: 1;
		transform: scale(1.3) translateY(-50%);
	}
	100% {
		opacity: 1;
		transform: scale(1.15) translateY(-50%);
	}
}

@media only screen and (max-width:767px) {
	.top-aside {
		padding-bottom: 20px;
	}
	.top-aside__navi {
		margin-left: 1rem;
		padding-bottom: 0.5rem;
	}
	.top-aside__navi__point__txt {
		font-size: max(1.3rem, 13px);
	}
	.top-aside__navi:before {
		top: 1rem;
		left: 0.9rem;
		height: calc(100% - 2rem);
	}
	.top-aside__navi__bigpoint {
		height: 13px;
	}
	.top-aside__navi__bigpoint,
	.top-aside__navi__midpoint {
		padding-left: 2.5rem;
	}
	.top-aside__navi__bigpoint:first-child {
		margin-top: 0;
	}
	.top-aside__navi__bigpoint::before {
		width: 1.1rem;
		height: 1.1rem;
	}
	.top-aside__navi__bigpoint::after {
		width: 1.9rem;
		height: 1.9rem;
	}
	.top-aside__navi__bigpoint.is-view::after {
		opacity: 1;
	}
	.top-aside__navi__midpoint {
		height: 0.8rem;
	}
	.top-aside__navi__midpoint::before,
	.top-aside__navi__midpoint::after {
		left: 0.6rem;
		width: 0.7rem;
		height: 0.7rem;
	}
}



/*************************************************

 top-firstview

*************************************************/

.top-firstview {
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	min-height: 100vh;
	width: 100%;
	padding-top: 5.5rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s, visibility 0.4s;
}
.top-firstview__inner {
	box-sizing: border-box;
	position: relative;
	min-height: calc(100vh - 5.5rem);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 21rem 0;
}
.top-firstview.is-view {
	opacity: 1;
	visibility: visible;
}
.top-firstview__slide01 {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	min-height: 20rem;
	background: url(../images/top/mainvisual_slide01.jpg) repeat-x 0 center / 50rem auto;
	/* animation: bgroop1 30s linear infinite; */
}
@keyframes bgroop1 {
	from {
		background-position: 0 center;
	}
	to {
		background-position: -150rem center;
	}
}
.top-firstview__slide02 {
	overflow: hidden;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	min-height: 20rem;
	background: url(../images/top/mainvisual_slide02.jpg) repeat-x 0 center / 50rem auto;
	/* animation: bgroop2 30s linear infinite; */
}
@keyframes bgroop2 {
	from {
		background-position: 0 center;
	}
	to {
		background-position: 150rem center;
	}
}
.top-firstview__texts {
	position: relative;
	padding: 0 9.5rem;
	text-align: center;
}
.top-firstview__texts__icon {
	margin-bottom: 1rem;
	line-height: 0;
}
.top-firstview__texts__icon img {
	max-width: 8rem;
}
.top-firstview__texts__title {
	margin-bottom: 1.5rem;
	color: #008D54;
	font-size: 6.4rem;
	font-weight: 700;
	line-height: 1.4;
}
.top-firstview__texts__txt {
	/* max-width: 45.5rem; */
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 2;
}
.top-firstview__scrollicon {
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
	transition: opacity 0.4s 1.6s;
}
.is-view .top-firstview__scrollicon {
	opacity: 1;
}

@media only screen and (max-width:767px) {
	.top-firstview {
		padding-top: 6rem;
	}
	.top-firstview__inner {
		min-height: calc(100svh - 6rem);
		padding: 14rem 0;
	}
	.top-firstview__slide01,
	.top-firstview__slide02 {
		min-height: 14rem;
	}
	.top-firstview__slide01 {
		animation: bgroop1 30s linear infinite;
	}
	.top-firstview__slide02 {
		animation: bgroop2 30s linear infinite;
	}
	.top-firstview__texts {
		position: relative;
		/* padding: 0 4rem; */
		padding: 0 0 12.5rem;
	}
	.top-firstview__texts__icon img {
		width: 8rem;
		max-width: none;
	}
	.top-firstview__texts__title {
		margin-bottom: 1.5rem;
		font-size: 4.2rem;
	}
	.top-firstview__texts__txt {
		max-width: none;
		font-size: max(1.8rem,16px);
		line-height: 1.733;
	}
	.top-firstview__scrollicon {
		right: auto;
		left: 50%;
		top: auto;
		bottom: 0;
		transform: translateX(-50%);
	}
}


/*************************************************

 top-positionboxs

*************************************************/
.top-positionboxs {
	position: relative;
}
.js-scrollifyblock {
	width: 100%;
	height: 100vh;
}





/*************************************************

 top-section

*************************************************/
.top-section {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100svh;
	/* padding-top: 5.5rem; */
	padding-top: 67px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s, visibility 0.4s;
	z-index: 2;
}
.top-section.is-view {
	opacity: 1;
	visibility: visible;
	z-index: 10;
}
.top-section__ajust {
	position: relative;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	width: 100%;
	min-height: 100%;
	padding: 0 35rem 0 18.5rem;
}
.top-section__ajust.is-center {
	align-items: center;
}
.top-section__inner {
	width: 100%;
}
.top-section__slider__item.is-after {
	background-color: #EBF6F1;
}




/* top-section__slider__bigtitle */
.top-section__slider__bigtitle {
	position: relative;
	padding: 0 0 1rem 4rem;
	margin-bottom: 2rem;
	color: #484848;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: #E5E5E5 solid 0.2rem;
}
.top-section__slider__bigtitle:before {
	position: absolute;
	top: 100%;
	left: 0;
	display: block;
	content: '';
	width: 5rem;
	height: 0.2rem;
	background-color: #9E9E9E;
}
.top-section__slider__bigtitle::after {
	position: absolute;
	top: 0.1rem;
	left: 0;
	display: block;
	content: '';
	width: 2.8rem;
	height: 2.5rem;
	background: url(../images/common/icon_house.svg) no-repeat center center / contain;
}
.is-after .top-section__slider__bigtitle {
	padding-left: 4.7rem;
	color: #008D54;
	border-bottom-color: #CFE9DF;
}
.is-after .top-section__slider__bigtitle:before {
	background-color: #008D54;
}
.is-after .top-section__slider__bigtitle::after {
	top: -0.3rem;
	width: 3.5rem;
	height: 3rem;
	background-image: url(../images/common/icon_house2.svg);
}



/* top-section__slider__midtitle */
.top-section__slider__midtitle {
	position: relative;
	margin-bottom: 1.5rem;
	padding-left: 2rem;
	color: #484848;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
}
.top-section__slider__midtitle::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '■';
	opacity: 0.8;
}
.is-after .top-section__slider__midtitle::before {
	color: #008D54;
}

.top-section__slider__scrolls {
	scrollbar-width: thin;
	scrollbar-color: #17585d #ccc;
}
.top-section__slider__scrolls::-webkit-scrollbar{
	width: 3px;
}
.top-section__slider__scrolls::-webkit-scrollbar-track{
	background-color: #ccc;
}
.top-section__slider__scrolls::-webkit-scrollbar-thumb{
	background-color: #17585d;
}

.top-section__changeitem_box__photo figure {
	position: relative;
	background-color: #fff;
}
.top-section__changeitem_box__photo__flashing {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 2;
}
.top-section__changeitem_box__photo__flashing.is-start {
	animation: flashing 2s 2 none;
}

@keyframes flashing {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@media only screen and (min-width:768px) {
	.top-section__slider {
		position: absolute;
		top: 0;
		right: 0;
		width: 42rem;
		height: 100%;
		background-color: #F5F5F5;
		transition: transform 0.4s;
		transform: translateX(100%);
		z-index: 10;
	}
	/* .is-01 .top-section__slider.is-01,
	.is-02 .top-section__slider.is-02,
	.is-03 .top-section__slider.is-03,
	.is-04 .top-section__slider.is-04 {
		transform: translateX(0);
	} */
	.top-section__slider.is-slideview {
		transform: translateX(0);
	}
	.top-section__slider__ajust {
		overflow: hidden;
		height: inherit;
	}
	.top-section__slider__inner {
		height: inherit;
	}
	.top-section__slider__contents {
		padding: 0;
		height: inherit;
	}
	.top-section__slider__contents .target-swiper {
		height: inherit;
	}
	.top-section__slider__contents .swiper-slide {
		height: inherit;
	}
	.top-section__slider__item {
		box-sizing: border-box;
		height: inherit;
		padding: 3.5rem 3rem 0;
	}
	.top-section__slider__scrolls {
		overflow: auto;
		max-height: calc(100vh - 24rem - 45px);
		margin: 0 -1rem;
		padding: 0 1rem;
	}
	.top-section__slider__texts {
		font-size: 1.4rem;
		line-height: 2;
	}
	.top-section__slider__controls {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		min-height: 10rem;
	}
	.top-section__slider__arw {
		all: unset;
		position: absolute;
		top: 50%;
		bottom: 0;
		width: 5.8rem;
		height: 5.8rem;
		border-radius: 50%;
		margin-top: -2.9rem;
		background: #008D54 url(../images/top/slide_arw.svg) no-repeat center center / 1rem auto;
		cursor: pointer;
		z-index: 10;
	}
	.top-section__slider__arw.swiper-button-prev {
		left: 3rem;
		transform: scale(-1, 1);
	}
	.top-section__slider__arw.swiper-button-next {
		right: 3rem;
	}
	.top-section__slider__arw.swiper-button-disabled {
		opacity: 1;
		background-color: #959595;
	}
	.top-section__slider__arw::after {
		display: none;
	}
	.top-section__slider__pagination {
		position: absolute;
		bottom: auto;
		top: 2.4rem;
		left: 0;
		width: 100%;
		line-height: 0;
		display: flex;
		justify-content: center;
	}
	.top-section__slider__pagination .swiper-pagination-bullet {
		background-color: #E6E6E6;
		width: 1.1rem;
		height: 1.1rem;
		margin: 0 0.6rem;
		opacity: 1;
	}
	.top-section__slider__pagination .swiper-pagination-bullet-active {
		background-color: #008D54;
	}
	.top-section__slider.no-slide {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top-section__ajust.is-flextype {
		padding-right: 0;
	}
	.is-flextype .top-section__changeitem_box {
		flex-direction: row;
	}
	.is-flextype .top-section__changeitem_box__texts {
		width: 30%;
	}
	.is-flextype .top-section__changeitem_box__photo {
		display: flex;
		align-items: center;
		width: 70%;
	}
	.is-flextype .top-section__changeitem_box__photo figure {
		margin-left: -10%;
	}

	.top-section__slider__close {
		position: absolute;
		top: 0;
		right: 0;
		width: 6rem;
		height: 6rem;
		cursor: pointer;
		z-index: 20;
	}
	.top-section__slider__close::before,
	.top-section__slider__close::after {
		position: absolute;
		top: 50%;
		left: 15%;
		display: block;
		content: '';
		width: 70%;
		height: 1px;
		background-color: #484848;
	}
	.top-section__slider__close::before {
		transform: rotate(45deg);
	}
	.top-section__slider__close::after {
		transform: rotate(-45deg);
	}

	.top-section__modalbtn_pc {
		position: absolute;
		top: 7rem;
		right: 4rem;
		width: 12.8rem;
		line-height: 0;
		cursor: pointer;
		z-index: 5;
	}
	.top-section__modalbtn_pc img:not(.df) {
		filter: drop-shadow(3px 3px 3px #aaa);
	}
	.top-section__modalbtn_pc .df {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		z-index: 1;
		display: block;
	}
	.is-start.top-section__modalbtn_pc .df {
		animation: flashing 2s 2 none;
	}
}


@media only screen and (max-width:767px) {
	.top-section {
		height: 100vh;
		height: 100svh;
		/* padding-top: 6rem; */
		padding-top: 45px;
	}
	.top-section__ajust {
		padding: 0 2rem;
	}
	.top-section__slider {
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		height: 100svh;
		background-color: rgba(0, 0, 0, 0.6);
		opacity: 0;
		visibility: hidden;
		z-index: 200;
	}
	.top-section__slider__contents {
		padding: 0;
	}
	.top-section__slider__contents .swiper-slide {
		box-sizing: border-box;
		padding: 0 2rem;
	}
	.top-section__slider__item {
		padding: 2rem 2rem 2.5rem;
		background-color: #fff;
	}
	.top-section__changeitem_box__photo {
		margin: 0 -3rem;
	}
	.top-section__slider__bigtitle {
		position: relative;
		padding-bottom: 1rem;
		margin-bottom: 2rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.5;
		border-bottom-width: 0.2rem;
	}
	.top-section__slider__bigtitle:before {
		position: absolute;
		top: 100%;
		left: 0;
		display: block;
		content: '';
		width: 5rem;
		height: 0.2rem;
	}
	.top-section__slider__bigtitle::after {
		top: 0.4rem;
	}
	.is-after .top-section__slider__bigtitle::after {
		top: -0.1rem;
	}
	.top-section__slider__scrolls {
		overflow: auto;
		height: calc(100svh - 23.5rem);
		margin: 0 -1rem;
		padding: 0 1rem;
	}
	.top-section__slider__midtitle {
		margin-bottom: 1.5rem;
		padding-left: 2rem;
		font-size: max(1.6rem, 14px);
	}
	.top-section__slider__texts {
		font-size: max(1.4rem, 14px);
		line-height: 2;
	}
	.top-section__slider__controls {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		min-height: 6rem;
		margin-top: 1.2rem;
	}
	.top-section__slider__arw {
		all: unset;
		position: absolute;
		top: 50%;
		bottom: 0;
		width: 5.8rem;
		height: 5.8rem;
		border-radius: 50%;
		margin-top: -2.9rem;
		background: #008D54 url(../images/top/slide_arw.svg) no-repeat center center / 1rem auto;
		cursor: pointer;
		z-index: 10;
	}
	.top-section__slider__arw.swiper-button-prev {
		left: 2rem;
		transform: scale(-1, 1);
	}
	.top-section__slider__arw.swiper-button-next {
		right: 2rem;
	}
	.top-section__slider__arw.swiper-button-disabled {
		opacity: 1;
		background-color: #959595;
	}
	.top-section__slider__arw::after {
		display: none;
	}
	.top-section__slider__pagination {
		position: absolute;
		bottom: auto;
		top: 0;
		left: 0;
		width: 100%;
		line-height: 0;
		display: flex;
		justify-content: center;
	}
	.top-section__slider__pagination .swiper-pagination-bullet {
		background-color: #E6E6E6;
		width: 1.1rem;
		height: 1.1rem;
		margin: 0 0.6rem;
		opacity: 1;
	}
	.top-section__slider__pagination .swiper-pagination-bullet-active {
		background-color: #008D54;
	}

	.top-section__modalbtn_pc {
		display: none;
	}
}



/* top-section__posi
------------------------------------*/
.top-section__posi {
	position: relative;
	width: 100%;
	min-height: 100%;
}



/* top-section__changeitem
------------------------------------*/
.top-section__changeitem {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 1;
}
.top-section__changeitem.is-default {
	opacity: 1;
	visibility: visible;
}
.top-section__changeitem_box {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	/* padding: 4rem 6rem 0 0; */
	padding: 4rem 0 0 0;
}
.top-section__changeitem_box__texts {
	position: relative;
	z-index: 5;
}
.top-section__changeitem_box__ttl {
	position: relative;
	margin-bottom: 1.2rem;
	padding-top: 1.5rem;
	color: #008D54;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	border-top: #E5E5E5 solid 1px;
}
.top-section__changeitem_box__ttl::before {
	position: absolute;
	top: -1px;
	left: 0;
	display: block;
	content: '';
	width: 16rem;
	height: 1px;
	background-color: #008D54;
	z-index: 2;
}
.top-section__changeitem_box__colorttl {
	margin: 0 -5rem 1.5rem 0;
	color: #008D54;
	font-size: 1.8rem;
	font-weight: 700;
}
* + .top-section__changeitem_box__midttl {
	margin-top: 1.5rem;
}
.top-section__changeitem_box__midttl {
	position: relative;
	margin-bottom: 1rem;
	padding-left: 2rem;
	color: #484848;
	font-weight: 700;
	line-height: 1.5;
}
.top-section__changeitem_box__midttl::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '■';
	color: #008D54;
	opacity: 0.8;
}
.top-section__changeitem_box__txt {
	font-size: 1.5rem;
}
.top-section__changeitem,
.top-section__changeitem_box.is-after {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}
.is-02 .top-section__changeitem.is-02,
.is-03 .top-section__changeitem.is-03,
.is-04 .top-section__changeitem.is-04 {
	opacity: 1;
	visibility: visible;
	z-index: 2;
}
.view-after .top-section__changeitem_box.is-after {
	opacity: 1;
	visibility: visible;
	z-index: 2;
}
.top-section__changeitem_box__photo {
	box-sizing: border-box;
	padding-bottom: 5rem;
}
@media only screen and (min-width:768px) {
	.top-section__changeitem_box__photo img {
		width: auto;
		max-height: 77.5rem;
	}
	.top-section__changeitem_box__ttl::after {
		position: absolute;
		top: -1px;
		left: 0;
		display: block;
		content: '';
		width: 200vw;
		height: 1px;
		background-color: #E5E5E5;
		z-index: 1;
	}
}
/* @media only screen and (min-width:768px) and (max-height:1330px) {
	.top-section__changeitem_box__photo img {
		max-height: calc(700 / 1330 * 100vh);
	}
} */
@media only screen and (max-width:767px) {
	.top-section__changeitem_box {
		width: auto;
		height: auto;
		display: block;
		padding: 2.5rem 0 0;
	}
	.top-section__changeitem_box__texts {
		margin-left: 12rem;
		/* padding-bottom: 1rem; */
		min-height: 31rem;
	}
	.top-section__changeitem_box__ttl {
		font-size: 2.4rem;
	}
	.top-section__changeitem_box__ttl::before {
		width: 5.4rem;
	}
	.top-section__changeitem_box__colorttl {
		margin-right: 0;
		font-size: max(1.6rem, 13px);
	}
	.top-section__changeitem_box__txt {
		font-size: max(1.3rem, 13px);
	}
	.top-section__changeitem_box__midttl {
		font-size: max(1.4rem, 13px);
	}
}


/* top-section__changebtn
------------------------------------*/
.top-section__changebtn {
	position: absolute;
	left: 5.5rem;
	bottom: 2.5rem;
	display: flex;
	align-items: flex-end;
	width: 30rem;
	border-radius: 0.5rem;
	background-color: #008D54;
	z-index: 10;
}
.top-section__changebtn button {
	all: unset;
	position: relative;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 5.5rem;
	color: #9E9E9E;
	font-size: 1.6rem;
	font-weight: 700;
	background-color: #fff;
	transform: translateY(-0.6rem);
	transition: transform 0.3s, color 0.3s;
	border: #008D54 solid 0.4rem;
	background-color: #008D54;
	border-radius: 0.5rem;
	cursor: pointer;
}
.top-section__changebtn button:before,
.top-section__changebtn button:after {
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	transform: translate(-50%,-50%);
	transition: opacity 0.3s;
}
.top-section__changebtn button:before {
	width: 100%;
	height: 100%;
	background: rgb(253,253,253);
	background: linear-gradient(90deg, rgba(253,253,253,1) 0%, rgba(191,195,205,1) 100%);
	border-radius: 0.2rem;
	z-index: 1;
}
.top-section__changebtn button:after {
	width: calc(100% - 0.5rem);
	height: calc(100% - 0.5rem);
	background-color: #e8eaef;
	z-index: 2;
}
.top-section__changebtn span {
	position: relative;
	display: block;
	z-index: 5;
}
.top-section__changebtn button.is-on {
	color: #fff;
	transform: translateY(0);
}
.top-section__changebtn button.is-on:before,
.top-section__changebtn button.is-on:after {
	opacity: 0;
}

@media only screen and (max-width:767px) {
	.top-section__changebtn {
		bottom: 1.5rem;
		left: 3.2rem;
		width: 21rem;
	}
	.top-section__changebtn button {
		height: 4.5rem;
		font-size: 1.2rem;
	}
}


/* top-section__modalbtn sp
------------------------------------*/
@media only screen and (min-width:768px) {
	.top-section__modalbtn {
		display: none;
	}
}
.top-section__modalbtn {
	position: absolute;
	right: -1rem;
	bottom: 1.5rem;
	width: 10rem;
	line-height: 0;
	cursor: pointer;
	z-index: 10;
}
.top-section__modalbtn img {
	width: 100%;
}
.top-section__modalbtn .df {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	display: block;
	z-index: 2;
}
.top-section__modalbtn.is-start .df {
	animation: flashing 2s 2 none;
}


/*************************************************

 top-scrollicon

*************************************************/



/*************************************************

 top-worries

*************************************************/
.top-worries .top-section__ajust {
	padding: 0;
}
.top-worries__inner {
	max-width: 87.5rem;
	margin: 0 auto;
}
@media only screen and (max-width:767px) {
	.top-worries__inner {
		max-width: none;
		margin: 0 2rem;
	}
}


/* top-worries__titles
---------------------------------------*/
.top-worries__titles {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	flex-wrap: wrap;
	margin-bottom: 2rem;
	line-height: 1.5;
}
.top-worries__titles > * {
	margin-bottom: 1rem;
}
.top-worries__titles__title {
	color: #008D54;
	font-size: 3.4rem;
	font-weight: 700;
}
.top-worries__titles__lead {
	position: relative;
	padding: 1rem 2rem;
	color: #008D54;
	font-size: 1.4rem;
	font-weight: 700;
	background-color: #E3F2EC;
	text-align: center;
	border-radius: 10rem;
}
.top-worries__titles__lead::before {
	position: absolute;
	top: 100%;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 1rem;
	background: url(../images/top/worries_arrow03.svg) no-repeat center center / auto 100%;
}
@media only screen and (max-width:767px) {
	.top-worries__titles {
		display: block;
		margin-bottom: 2rem;
	}
	.top-worries__titles__title {
		margin-bottom: 1rem;
		font-size: 2.4rem;
	}
}


/* top-worries__list
---------------------------------------*/
.top-worries__list__li {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
	margin-bottom: 3rem;
	padding: 0 2.5rem 0 10.5rem;
	background-color: #F5F5F5;
	min-height: 7.9rem;
	line-height: 1.5;
}
.top-worries__list__icon {
	position: absolute;
	left: 0.8rem;
	bottom: 0;
	width: 8rem;
	height: 100%;
	max-height: 87.5%;
	line-height: 0;
}
.top-worries__list__icon img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: auto;
	height: inherit;
}
.top-worries__list__li::before {
	position: absolute;
	top: -2.2rem;
	left: 50%;
	display: block;
	content: '';
	width: 1.4rem;
	height: 1.5rem;
	background: url(../images/top/worries_arrrow01.svg) no-repeat center center / contain;
	transform: translateX(-50%);
}
.top-worries__list__li:first-child:before {
	display: none;
}
.top-worries__list__li:last-child {
	margin-bottom: 0;
}
.top-worries__list__left {
	display: flex;
	align-items: center;
	width: 28rem;
}
.top-worries__list__num {
	box-sizing: border-box;
	/* width: 9.5rem; */
	/* padding: 0.2rem 0; */
	color: #008D54;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	/* background-color: #008D54; */
}
.top-worries__list__ttl {
	box-sizing: border-box;
	width: calc(100% - 9.5rem);
	padding-left: 1.5rem;
	font-weight: 700;
}
.top-worries__list__right {
	width: calc(100% - 28rem);
}
.top-worries__list__dosli li {
	position: relative;
	padding-left: 1em;
}
.top-worries__list__dosli li::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '・';
}
@media only screen and (min-width:768px) {
	.top-worries__listwrap {
		overflow: auto;
		max-width: 50rem;
		max-height: calc(100svh - 35rem);
		margin: 0 auto;
	}
}

.top-worries__listwrap::-webkit-scrollbar{
	width: 3px;
}
.top-worries__listwrap::-webkit-scrollbar-track{
	background-color: #ccc;
}
.top-worries__listwrap::-webkit-scrollbar-thumb{
	background-color: #17585d;
}

@media only screen and (max-width:767px) {
	.top-worries__list__li {
		display: block;
		padding: 2rem 0 2rem 10rem;
		min-height: 0;
	}
	.top-worries__list__li::before {
		position: absolute;
		top: -2.2rem;
		left: 50%;
		display: block;
		content: '';
		width: 1.4rem;
		height: 1.5rem;
		background: url(../images/top/worries_arrrow01.svg) no-repeat center center / contain;
		transform: translateX(-50%);
	}
	.top-worries__list__icon {
		position: absolute;
		left: 0.8rem;
		bottom: 0;
		width: 8rem;
		max-height: 87.5%;
		line-height: 0;
	}
	.top-worries__list__icon img {
		position: absolute;
		bottom: 0;
		left: 0;
		width: auto;
		height: inherit;
	}
	.top-worries__list__left {
		width: auto;
		/* display: block; */
	}
	.top-worries__list__num {
		width: auto;
		text-align: left;
	}
	.top-worries__list__ttl {
		/* padding: 0; */
		font-size: 1.6rem;
		text-align: left;
	}
	.top-worries__list__right {
		width: auto;
		margin-top: 0.7rem;
	}
	.top-worries__list__dosli li {
		font-size: 1.4rem;
	}
}


/* top-worries__endtext
---------------------------------------*/
.top-worries__endtext {
	margin-top: 3.5rem;
	font-size: 2rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
}
.top-worries__nextarrow {
	max-width: 7rem;
	padding-bottom: 0.5rem;
	margin: 1.2rem auto 0;
	line-height: 0;
}
.top-worries__nextarrow img {
	filter: drop-shadow(3px 3px 3px #aaa);
}
@media only screen and (max-width:767px) {
	.top-worries__endtext {
		margin-top: 2.5rem;
		font-size: 1.6rem;
	}
}


/* anime */
.top-worries__list__li {
	opacity: 0;
	transform: translateY(-15%);
	transition: opacity 1.1s, transform 1.1s;
}
.is-view .top-worries__list__li:nth-child(1) {transition-delay: 1.2s;}
.is-view .top-worries__list__li:nth-child(2) {transition-delay: 1.3s;}
.is-view .top-worries__list__li:nth-child(3) {transition-delay: 1.4s;}
.is-view .top-worries__list__li:nth-child(4) {transition-delay: 1.5s;}
.is-view .top-worries__list__li {
	opacity: 1;
	transform: translateY(0);
}

.top-worries__endtext,
.top-worries__nextarrow {
	opacity: 0;
	transform: translateY(15%);
	transition: opacity 0.7s 1.8s, transform 0.7s 1.8s;
}
.is-view .top-worries__endtext,
.is-view .top-worries__nextarrow {
	opacity: 1;
	transform: translateY(0);
}




/*************************************************

 top-caontact

*************************************************/
.top-caontact .top-section__inner {
	max-width: 57rem;
	margin: 0 auto;
}
.top-caontact__title {
	margin-bottom: 1rem;
	color: #008D54;
	font-size: 3.2rem;
	font-weight: 700;
}
.top-caontact__texts {
	font-size: 1.5rem;
	line-height: 1.8;
}
.top-caontact__btns {
	display: flex;
	justify-content: space-between;
	margin-top: 4rem;
}
.top-caontact__btns__li {
	width: calc(50% - 1rem);
}
.top-caontact__btns__anchor {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 5.4rem;
	color: #008D54;
	font-weight: 700;
	border: #008D54 solid 0.2rem;
	text-decoration: none;
	border-radius: 0.5rem;
}
.top-caontact__btns__anchor.is-contact {
	color: #fff;
	background-color: #008D54;
}
.top-caontact__copyright {
	display: none;
}
@media only screen and (max-width:767px) {
	.top-caontact .top-section__ajust {
		align-items: flex-start;
	}
	.top-caontact .top-section__inner {
		max-width: none;
		margin-left: 12rem;
		padding-top: 2.5rem;
	}
	.top-caontact__title {
		position: relative;
		padding-top: 1rem;
		margin-bottom: 2rem;
		color: #008D54;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.5;
		border-top: #E5E5E5 solid 0.2rem;
	}
	.top-caontact__title:before {
		position: absolute;
		top: -0.2rem;
		left: 0;
		display: block;
		content: '';
		width: 5rem;
		height: 0.2rem;
		background-color: #008D54;
	}
	.top-caontact__texts {
		font-size: max(1.4rem, 13px);
	}
	.top-caontact__btns {
		display: block;
		margin-top: 2rem;
	}
	.top-caontact__btns__li {
		width: auto;
	}
	.top-caontact__btns__li + li {
		margin-top: 1.5rem;
	}
	.top-caontact__copyright {
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		padding: 1rem 0;
		font-size: 1.2rem;
		background-color: #F5F5F5;
		text-align: center;
	}
}




/* modal
--------------------------------------------------*/
@media only screen and (min-width:767px) {
	#modalArea {
		display: none !important;
	}
}
#modalArea {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	-webkit-overflow-scrolling: touch;
	z-index: 9999;
}
#modalTable {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	display: table;
	width: 100%;
	height: 100%;
	padding: 2rem 0;
	table-layout: fixed;
}
#modalCell {
	display: table-cell;
	vertical-align: top;
}
#modalInner {
	position: relative;
	margin: 0 auto;
}
#modalInner img {
	max-width: 100%;
	height: auto;
}
#modalContents {
	position: relative;
}
#modalClose {
	position: absolute;
	bottom: -9rem;
	left: 50%;
	width: 4.5rem;
	height: 4.5rem;
	cursor: pointer;
	border: #fff solid 2px;
	border-radius: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
#modalClose:before,
#modalClose:after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	width: 2.8rem;
	height: 2px;
	margin-left: -1.4rem;
	background-color: #fff;
}
#modalClose:before {
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
}
#modalClose:after {
	transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
}
