@charset "UTF-8";

.fade-anime span {
	opacity: 0;
}

.active .fade-anime span {
	-webkit-animation: text_anime_on 1s ease-out forwards;
	animation: text_anime_on 1s ease-out forwards;
}

@-webkit-keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}

.txt01.fade-anime span:nth-of-type(2) {
	-webkit-animation-delay: .1s;
	        animation-delay: .1s;
}
.txt01.fade-anime span:nth-of-type(3) {
	-webkit-animation-delay: .2s;
	        animation-delay: .2s;
}
.txt01.fade-anime span:nth-of-type(4) {
	-webkit-animation-delay: .3s;
	        animation-delay: .3s;
}
.txt01.fade-anime span:nth-of-type(5) {
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
.txt01.fade-anime span:nth-of-type(6) {
	-webkit-animation-delay: .5s;
	        animation-delay: .5s;
}
.txt01.fade-anime span:nth-of-type(7) {
	-webkit-animation-delay: .6s;
	        animation-delay: .6s;
}
.txt01.fade-anime span:nth-of-type(8) {
	-webkit-animation-delay: .7s;
	        animation-delay: .7s;
}
.txt01.fade-anime span:nth-of-type(9) {
	-webkit-animation-delay: .8s;
	        animation-delay: .8s;
}
.txt01.fade-anime span:nth-of-type(10) {
	-webkit-animation-delay: .9s;
	        animation-delay: .9s;
}
.txt01.fade-anime span:nth-of-type(11) {
	-webkit-animation-delay: 1.0s;
	        animation-delay: 1.0s;
}
.txt01.fade-anime span:nth-of-type(12) {
	-webkit-animation-delay: 1.1s;
	        animation-delay: 1.1s;
}
.txt01.fade-anime span:nth-of-type(13) {
	-webkit-animation-delay: 1.2s;
	        animation-delay: 1.2s;
}
.txt01.fade-anime span:nth-of-type(14) {
	-webkit-animation-delay: 1.3s;
	        animation-delay: 1.3s;
}
.txt01.fade-anime span:nth-of-type(15) {
	-webkit-animation-delay: 1.4s;
	        animation-delay: 1.4s;
}
.txt01.fade-anime span:nth-of-type(16) {
	-webkit-animation-delay: 1.5s;
	        animation-delay: 1.5s;
}
.txt01.fade-anime span:nth-of-type(17) {
	-webkit-animation-delay: 1.6s;
	        animation-delay: 1.6s;
}
.txt01.fade-anime span:nth-of-type(18) {
	-webkit-animation-delay: 1.7s;
	        animation-delay: 1.7s;
}
.txt01.fade-anime span:nth-of-type(19) {
	-webkit-animation-delay: 1.8s;
	        animation-delay: 1.8s;
}
.txt01.fade-anime span:nth-of-type(20) {
	-webkit-animation-delay: 1.9s;
	        animation-delay: 1.9s;
}

.txt02.fade-anime span:nth-of-type(1) {
	-webkit-animation-delay: 2.0s;
	        animation-delay: 2.0s;
}
.txt02.fade-anime span:nth-of-type(2) {
	-webkit-animation-delay: 2.1s;
	        animation-delay: 2.1s;
}
.txt02.fade-anime span:nth-of-type(3) {
	-webkit-animation-delay: 2.2s;
	        animation-delay: 2.2s;
}
.txt02.fade-anime span:nth-of-type(4) {
	-webkit-animation-delay: 2.3s;
	        animation-delay: 2.3s;
}
.txt02.fade-anime span:nth-of-type(5) {
	-webkit-animation-delay: 2.4s;
	        animation-delay: 2.4s;
}
.txt02.fade-anime span:nth-of-type(6) {
	-webkit-animation-delay: 2.5s;
	        animation-delay: 2.5s;
}
.txt02.fade-anime span:nth-of-type(7) {
	-webkit-animation-delay: 2.6s;
	        animation-delay: 2.6s;
}
.txt02.fade-anime span:nth-of-type(8) {
	-webkit-animation-delay: 2.7s;
	        animation-delay: 2.7s;
}
.txt02.fade-anime span:nth-of-type(9) {
	-webkit-animation-delay: 2.8s;
	        animation-delay: 2.8s;
}
.txt02.fade-anime span:nth-of-type(10) {
	-webkit-animation-delay: 2.9s;
	        animation-delay: 2.9s;
}
.txt02.fade-anime span:nth-of-type(11) {
	-webkit-animation-delay: 3.0s;
	        animation-delay: 3.0s;
}
.txt02.fade-anime span:nth-of-type(12) {
	-webkit-animation-delay: 3.1s;
	        animation-delay: 3.1s;
}
.txt02.fade-anime span:nth-of-type(13) {
	-webkit-animation-delay: 3.2s;
	        animation-delay: 3.2s;
}
.txt02.fade-anime span:nth-of-type(14) {
	-webkit-animation-delay: 3.3s;
	        animation-delay: 3.3s;
}
.txt02.fade-anime span:nth-of-type(15) {
	-webkit-animation-delay: 3.4s;
	        animation-delay: 3.4s;
}
.txt02.fade-anime span:nth-of-type(16) {
	-webkit-animation-delay: 3.5s;
	        animation-delay: 3.5s;
}


@media screen and (min-width: 900px) {

	/* kv */
	.area-kv {
		position: relative;
		margin-bottom: 50px;
	}

	.area-kv__bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 83.4%;
	}

	.area-kv__bg img {
		width: 100%;
		height: 100vh;
		height: calc(100vh - 140px);
		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: left bottom;
		   object-position: left bottom;
	}

	.area-kv__img {
		padding-left: 28.2%;
	}

	.area-kv__img .slickSlider {
		-webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(23.5%, rgba(0,0,0,1)), to(rgba(0,0,0,1)));
		-webkit-mask-image: linear-gradient(to right, transparent, rgba(0,0,0,1) 23.5%, rgba(0,0,0,1));
		        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(23.5%, rgba(0,0,0,1)), to(rgba(0,0,0,1)));
		        mask-image: linear-gradient(to right, transparent, rgba(0,0,0,1) 23.5%, rgba(0,0,0,1));
	}

	.area-kv__img img {
		width: 100%;
		height: 100vh;
		height: calc(100vh - 80px);
		-o-object-fit: cover;
		   object-fit: cover;
	}

	.area-kv__over {
		position: absolute;
		top: 31%;
		left: 0;
		width: 100%;
	}

	.area-kv__txt {
		position: relative;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}

	.area-kv__txt > * {
		position: relative;
	}

	.area-kv__txt::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%);
		        transform: translate(-50%, -50%);
		display: block;
		width: 1034px;
		height: 842px;
		background: url("../image/keyV/kv_txt_bg__pc.png") 50% 50% no-repeat;
		background-size: contain;
	}

	.area-kv__txt .txt01 {
		font-size: 51.39px;
		font-weight: 400;
		letter-spacing: 0.1em;
		line-height: 1.458;
	}

	.area-kv__txt .br {
		display: block;
	}

	.area-kv__txt .txt02 {
		margin-top: 20px;
		color: #ef8253;
		font-size: 30px;
		font-style: italic;
		letter-spacing: 0.1em;
		line-height: 1.544;
	}

	@-webkit-keyframes scrollBtn {
		0%{
			top: 0;
		}
		50%{
			top: 73px;
		}
		100%{
			top: 0;
		}
	}

	@keyframes scrollBtn {
		0%{
			top: 0;
		}
		50%{
			top: 73px;
		}
		100%{
			top: 0;
		}
	}

	.scrollBtn {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
	}

	.scrollBtn a {
		position: relative;
		display: inline-block;
		height: 120px;
		text-decoration: none;
	}

	.scrollBtn a::before,
	.scrollBtn a::after {
		content: "";
		position: absolute;
		left: 0;
		display: block;
		width: 1px;
	}

	.scrollBtn a::before {
		top: 0;
		height: 100%;
		background: #e3e3e3;
	}

	.scrollBtn a::after {
		top: 0;
		height: 47px;
		background: #ef8253;
		-webkit-animation: 1s ease-in 0s infinite scrollBtn;
		        animation: 1s ease-in 0s infinite scrollBtn;
	}

	.scrollBtn span {
		display: block;
		margin: 0.16em 0 0 12px;
		-webkit-transform: rotate(90deg) translate(0, -1em);
		        transform: rotate(90deg) translate(0, -1em);
		-webkit-transform-origin: left top;
		        transform-origin: left top;
		font-size: 14px;
		font-weight: 400;
		font-style: italic;
		letter-spacing: 0.16em;
		line-height: 1;
	}

	/* concept */
	.area-concept {
		background: url("/_common/image/icon/bg_grad.jpg") 50% 100% no-repeat;
		background-size: 100%;
	}

	.area-concept .flex-lr__txt {
		-ms-flex-preferred-size: 48%;
		    flex-basis: 48%;
	}

	.area-concept .flex-lr__img {
		-ms-flex-preferred-size: 50.16%;
		    flex-basis: 50.16%;
	}

	.area-concept .paraBox {
		max-width: 525px;
	}

	.area-concept .link {
		margin-top: 50px;
	}


	/* baby sitter */
	.rcmBox {
		position: relative;
		padding: 75px 85px;
		margin-top: 70px;
		background: #f8f8f8;
	}

	.rcmBox__lb {
		position: absolute;
		left: 50%;
		top: 0;
		-webkit-transform: translate(-50%, -50%);
		        transform: translate(-50%, -50%);
		font-size: 28px;
	}

	.rcmList {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 55px 2.675%;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	.rcmList__item {
		-ms-flex-preferred-size: 31.55%;
		    flex-basis: 31.55%;
	}

	.rcmList__img {
		margin-bottom: 25px;
	}

	.area-bs .link {
		margin-top: 60px;
		text-align: center;
	}


	/* house keeping */
	.area-hk {
		position: relative;
		padding-top: 260px;
		background: url("/_common/image/icon/bg_cream.jpg") 50% 0 no-repeat;
		background-size: cover;
	}

	.area-hk.bg-text-isoiz::before {
		bottom: auto;
		top: 206px;
	}

	.catch-bal {
		position: absolute;
		left: 60px;
		right: 60px;
		top: -138px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: 276px;
		padding-bottom: 20px;
		text-align: center;
	}

	.catch-bal::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 0;
		display: block;
		width: 1492px;
		height: 312px;
		margin-left: -741px;
		background: url("../image/top/hk_bg_bal.png") 50% 50% no-repeat;
		background-size: contain;
	}

	.catch-bal .txt01 {
		margin-bottom: 15px;
		font-size: 32px;
		font-weight: 500;
		letter-spacing: 0.05em;
	}

	.catch-bal .txt01 strong {
		padding-bottom: .1em;
		border-bottom: solid 1px;
		font-weight: 500;
	}

	.catch-bal .txt02 {
		font-size: 1em;
		font-weight: 400;
		letter-spacing: 0.05em;
	}

	.svcBlock {
		position: relative;
		padding: 90px 100px;
		margin-top: 70px;
		border-radius: 10px;
		-webkit-box-shadow: 10px 10px 10px rgba(0,0,0,.03);
		        box-shadow: 10px 10px 10px rgba(0,0,0,.03);
		background: #fff;
		overflow: hidden;
	}

	.svcBlock + .svcBlock {
		margin-top: 38px;
	}

	.svcBlock .flex-lr__txt {
		-ms-flex-preferred-size: 41%;
		    flex-basis: 41%;
	}

	.svcBlock .flex-lr__img {
		-ms-flex-preferred-size: 50.6%;
		    flex-basis: 50.6%;
	}

	.svcBlock__subLb {
		position: absolute;
		bottom: 0;
		color: #fbf4df;
		font-size: 80px;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: .66;
	}

	.svcBlock:nth-of-type(odd) {
		right: -50px;
	}

	.svcBlock:nth-of-type(odd) .svcBlock__subLb {
		left: .1em;
	}

	.svcBlock:nth-of-type(even) {
		left: -50px;
	}

	.svcBlock:nth-of-type(even) .flex-lr {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
	}

	.svcBlock:nth-of-type(even) .svcBlock__subLb {
		right: .1em;
	}

	.svcBlock__lb {
		position: relative;
		padding-left: 70px;
		margin-bottom: 30px;
		font-size: 34px;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 1.2;
	}

	.svcBlock__lb .font-en-g {
		position: absolute;
		left: 0;
		top: -5px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		border: solid 1px;
		font-size: 0.471em;
		font-weight: 400;
		letter-spacing: normal;
	}

	.area-hk .link {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 25px;
		margin-top: 65px;
	}


	/* area */
	.mapBlock {
		position: relative;
		max-width: 1120px;
		margin: 0 auto;
	}

	.mapBlock__over {
		position: absolute;
		top: 40px;
		right: 30px;
		width: 290px;
		padding: 20px;
		background: #fff;
	}

	.mapBlock__list dt {
		color: #ef8253;
		font-size: 1.25em;
		line-height: 1.55;
	}

	.mapBlock__list dd {
		line-height: 1.625;
	}

	.mapBlock__list dd.small {
		font-size: 0.875em;
		line-height: 1.857;
	}

	.mapBlock__list dd + dt {
		margin-top: .9em;
	}

}

@media screen and (max-width: 899px) {

	/* kv */
	.area-kv {
		position: relative;
	}

	.area-kv__bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
	}

	.area-kv__bg img {
		width: 100%;
	}

	.area-kv__img {
		padding: 0 0 55.26% 12.933%;
	}

	.area-kv__img img {
		width: 100%;
	}

	.area-kv__over {
		position: absolute;
		left: 0;
		bottom: 11.888%;
		width: 100%;
	}

	.area-kv__txt {
		position: relative;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		padding: 0 5px;
	}

	.area-kv__txt > * {
		position: relative;
	}

	.area-kv__txt::before {
		content: "";
		position: absolute;
		left: -6.66vw;
		top: 50%;
		-webkit-transform: translate(0, -64%);
		        transform: translate(0, -64%);
		display: block;
		width: 144vw;
		height: 0;
		padding-top: 192.44016%;
		background: url("../image/keyV/kv_txt_bg__sp.png") 0 50% no-repeat;
		background-size: contain;
	}

	.area-kv__txt .txt01 {
		font-size: 30px;
		font-size: 8vw;
		font-weight: 400;
		letter-spacing: 0.1em;
		line-height: 1.567;
	}

	.area-kv__txt .br {
		display: block;
	}

	.area-kv__txt .txt02 {
		margin-top: 12px;
		color: #ef8253;
		font-size: 18px;
		font-size: 4.8vw;
		font-style: italic;
		letter-spacing: 0.1em;
		line-height: 1.538;
	}

	/* concept */
	.area-concept {
		background: url("/_common/image/icon/bg_grad.jpg") 50% 100% no-repeat;
		background-size: 100%;
	}

	.area-concept .link {
		margin-top: 35px;
		text-align: center;
	}


	/* baby sitter */
	.rcmBox {
		position: relative;
		max-width: 460px;
		padding: 45px 9%;
		margin: 60px auto 0;
		background: #f8f8f8;
	}

	.rcmBox__lb {
		position: absolute;
		left: 50%;
		top: 0;
		-webkit-transform: translate(-50%, -50%);
		        transform: translate(-50%, -50%);
		font-size: 20px;
		white-space: nowrap;
	}

	.rcmList__item + .rcmList__item {
		margin-top: 45px;
	}

	.rcmList__img {
		margin-bottom: 18px;
	}

	.area-bs .link {
		margin-top: 40px;
		text-align: center;
	}


	/* house keeping */
	.area-hk {
		position: relative;
		padding-top: 220px;
		padding-top: 58.66%;
		background: url("/_common/image/icon/bg_cream.jpg") 50% 0 no-repeat;
		background-size: cover;
	}

	.area-hk.bg-text-isoiz::before {
		bottom: auto;
		top: 166px;
		top: 44.266vw;
	}

	.catch-bal {
		position: absolute;
		left: 6.66%;
		right: 6.66%;
		top: -8vw;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: 45.5vw;
		padding: 0 6.66%;
		text-align: center;
	}

	.catch-bal::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 0;
		padding-top: 55%;
		background: url("../image/top/hk_bg_bal__sp.png") 50% 50% no-repeat;
		background-size: contain;
	}

	.catch-bal .txt01 {
		margin-bottom: 10px;
		font-size: 22px;
		font-size: min(5.87vw, 40px);
		font-weight: 500;
		letter-spacing: 0.05em;
	}

	.catch-bal .txt01 strong {
		padding-bottom: .1em;
		border-bottom: solid 1px;
		font-weight: 500;
	}

	.catch-bal .txt02 {
		font-size: 1em;
		font-weight: 400;
		letter-spacing: 0.05em;
	}

	.svcBlock {
		position: relative;
		padding: 40px 10% 60px;
		margin-top: 35px;
		border-radius: 10px;
		-webkit-box-shadow: 10px 10px 10px rgba(0,0,0,.03);
		        box-shadow: 10px 10px 10px rgba(0,0,0,.03);
		background: #fff;
		overflow: hidden;
	}

	.svcBlock + .svcBlock {
		margin-top: 25px;
	}

	.svcBlock .flex-lr__img {
		margin-top: 20px;
	}

	.svcBlock__subLb {
		position: absolute;
		bottom: 0;
		color: #fbf4df;
		font-size: 40px;
		font-size: min(10.67vw, 60px);
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: .66;
	}

	.svcBlock:nth-of-type(odd) .svcBlock__subLb {
		left: .1em;
	}

	.svcBlock:nth-of-type(even) .svcBlock__subLb {
		right: .1em;
	}

	.svcBlock__lb {
		position: relative;
		padding-left: 55px;
		margin-bottom: 22px;
		font-size: 22px;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 1.2;
	}

	.svcBlock__lb .font-en-g {
		position: absolute;
		left: 0;
		top: -5px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: solid 1px;
		font-size: 0.6em;
		font-weight: 400;
		letter-spacing: normal;
	}

	.area-hk .link {
		margin-top: 55px;
		text-align: center;
	}

	.area-hk .link > * + * {
		margin-top: 15px;
	}


	/* area */
	.mapBlock {
		position: relative;
		max-width: 1120px;
		margin: 0 auto;
	}

	.mapBlock__over {
		padding: 15px;
		margin-top: 10px;
		border: solid 1px #f8f8f8;
		background: #fff;
	}

	.mapBlock__list dt {
		color: #ef8253;
		font-size: 1.25em;
		line-height: 1.55;
	}

	.mapBlock__list dd {
		line-height: 1.625;
	}

	.mapBlock__list dd.small {
		font-size: 0.875em;
		line-height: 1.857;
	}

	.mapBlock__list dd + dt {
		margin-top: .9em;
	}

}