@charset "utf-8";

/*==============================
        content
==============================*/

#main {
	overflow: hidden;
}

/* =================================================================
        section
================================================================= */

/**fv**/
#fv .wrap {
	padding:40px 0;
	position:relative;
	overflow:hidden;
}
#fv .wrap::before {
	content:'TOUTAKU';
	position:absolute;
	z-index:0;
	bottom:-.2em;
	left:50%;
	transform:translateX(-50%);
	font-size:28rem;
	font-weight:700;
	color:#eeebe7;
	-webkit-text-stroke: 3px #eeebe7;
	text-stroke: 3px #eeebe7;
}
#fv .wrap::after {
	content:'TOUTAKU';
	position:absolute;
	z-index:1;
	bottom:-.2em;
	left:50%;
	transform:translateX(-50%);
	font-size:28rem;
	font-weight:700;
	color:#ffffff;
}
#fv .contents {
	position:relative;
	z-index:2;
}
#fv .contents h1 {
	font-size: 5.5rem;
	line-height:1.3;
	font-weight:600;
	margin-bottom:.15em;
	letter-spacing:.1em;
}
#fv .contents p {
	font-size: 2.0rem;
	line-height:1.4;
	font-weight:600;
	letter-spacing:.05em;
}
#fv .slick-slide {
	height:580px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
#fv .slick-slide.slide1 {
	background-image:url(../img/top/fv1.jpg);
}
#fv .slick-slide.slide2 {
	background-image:url(../img/top/fv2.jpg);
}
#fv .slick-slide.slide3 {
	background-image:url(../img/top/fv3.jpg);
}

/**message**/
#message .wrap {
	padding:75px 0;
}
#message .contents {
	text-align:center;
}
#message h2 {
	font-size:4.0rem;
	margin-bottom:.75em;
}
#message h2 span {
	display:block;
	font-size:2.2rem;
	color:#6cbbd5;
	margin-bottom:1em;
}
#message p {
	line-height:2.4;
	letter-spacing:.05em;
}

/**about**/
#about .wrap {
	position:relative;
}
#about .wrap::before {
	content:'ABOUT';
	position:absolute;
	z-index:0;
	top:-.25em;
	left:calc(50% + .7em);
	font-size:15rem;
	font-weight:700;
	color:#ffffff;
	-webkit-text-stroke: 3px #eeebe7;
	text-stroke: 3px #eeebe7;
}
#about .wrap::after {
	content:'ABOUT';
	position:absolute;
	z-index:1;
	top:-.25em;
	left:calc(50% + .7em);
	font-size:15rem;
	font-weight:700;
	color:#ffffff;
}
#about .contents {
	max-width:1300px;
	width:100%;
	position:relative;
	z-index:2;
}
#about .contents_inner {
	display:grid;
	grid-template-columns:52.5% 1fr;
	padding-top:90px;
}
#about .contents_inner .img img {
	transform-origin:top left;
	transform:translateY(-90px) scale(1.17);
}
#about .contents_inner .detail {
	background-color:#312927;
	position:relative;
	z-index:1;
	padding:80px 70px;
}
#about .contents_inner .detail h2 {
	color:#FFFFFF;
	font-size:5.2rem;
	font-weight:500;
	margin-bottom:.75em;
}
#about .contents_inner .detail h2::after {
	content:'';
	display:block;
	width:.85em;
	height:1px;
	background-color:#FFFFFF;
}
#about .contents_inner .detail h2 span {
	display:block;
	font-size:1.9rem;
	color:#6cbbd5;
	padding:.75em 0 1.25em;
}

#about .contents_inner .detail p {
	font-size:1.5rem;
	line-height:2.2;
	color:#FFFFFF;
}

/**service**/
#service .wrap {
	position:relative;
	padding-bottom:min(16.9vw,230px);
}
#service .wrap::before {
	content:'SERVICE';
	position:absolute;
	z-index:0;
	top:-.25em;
	right:calc(50% + .2em);
	font-size:15rem;
	font-weight:700;
	color:#ffffff;
	-webkit-text-stroke: 3px #eeebe7;
	text-stroke: 3px #eeebe7;
}
#service .wrap::after {
	content:'SERVICE';
	position:absolute;
	z-index:1;
	top:-.25em;
	right:calc(50% + .2em);
	font-size:15rem;
	font-weight:700;
	color:#ffffff;
}
#service .contents {
	max-width:1300px;
	width:100%;
	position:relative;
	z-index:2;
}
#service .contents_inner {
	display:grid;
	grid-template-columns:1fr 52.5%;
	padding-top:90px;
}
#service .contents_inner .img {
	grid-area:1/2/2/3;
}
#service .contents_inner .img img {
	transform-origin:top right;
	transform:translateY(60px) scale(1.17);
}
#service .contents_inner .detail {
	background-color:#312927;
	position:relative;
	z-index:1;
	padding:80px 70px;
}
#service .contents_inner .detail h2 {
	color:#FFFFFF;
	font-size:5.2rem;
	font-weight:500;
	margin-bottom:.75em;
}
#service .contents_inner .detail h2::after {
	content:'';
	display:block;
	width:.85em;
	height:1px;
	background-color:#FFFFFF;
}
#service .contents_inner .detail h2 span {
	display:block;
	font-size:1.9rem;
	color:#6cbbd5;
	padding:.75em 0 1.25em;
}
#service .contents_inner .detail li {
	font-size:1.5rem;
	line-height:2.2;
	color:#FFFFFF;
}

/**property**/
#property .wrap {
	background-color:#f5f3f1;
	padding:70px 0 60px;
}
#property .contents {
	width:100%;
	max-width:1300px;
}
#property .contents_inner {
	width:calc(100% - 100px);
	max-width:1100px;
	margin:0 auto;
}
#property h2 {
	font-size:5.6rem;
	font-weight:600;
	letter-spacing:.025em;
	text-align:center;
	margin-bottom:1em;
}
#property h2 span {
	font-size:2.0rem;
	color:#6cbbd5;
	display:block;
	padding-top:.66em;
}
#property .item {
	padding:0 12px;
}
#property .item a {
	transition:.3s;
	display:block;
}
#property .item a:hover {
	filter:brightness(1.2);
}
#property .item .img {
	position:relative;
}
#property .item .img span {
	position:absolute;
	z-index:1;
	font-size:1.4rem;
	color:#FFFFFF;
	background-color:#000000;
	line-height:1.6;
	padding:0 .5em;
	top:0;
	left:0;
}
#property .item .img span.sale {
	background-color:#287994;
}
#property .item .img img {
	aspect-ratio:1.25/1;
	object-fit:cover;
}
#property .item .info1 {
	display:grid;
	font-size:2.0rem;
	font-weight:600;
	grid-template-columns:3.2em 1fr;
	padding:1em 0;
}
#property .item .info2 {
	display:grid;
	grid-template-columns:auto 1fr;
	grid-gap:8px 12px;
	align-items:center;
}
#property .item .info2 dt {
	font-size:1.3rem;
	background-color:#312927;
	width:5em;
	height:2em;
	color:#FFFFFF;
	display:grid;
	justify-content:center;
	align-items:center;
}
#property .item .info2 dd {
	font-size:1.4rem;
	line-height:1.2;
}
#property .slick-arrow {
	top:50%;
	transform:translateY(-50%);
	width: 30px;
	height: 80px;
	z-index:1;
}
#property .slick-arrow::before {
	content:none;
}
#property .slick-prev::before {
	content:none;
}
#property .slick-prev {
	left:-50px;
	background:url(../img/common/arrow_prev.png) no-repeat center center/50% auto #6cbbd5;
}
#property .slick-next {
	right:-50px;
	background:url(../img/common/arrow_next.png) no-repeat center center/50% auto #6cbbd5;
}

/**greeting**/
#greeting .wrap {
	padding:110px 0 60px;
}
#greeting h2 {
	font-size:5.6rem;
	font-weight:600;
	letter-spacing:.025em;
	display:grid;
	grid-template-columns:repeat(3,auto);
	grid-column-gap:.25em;
	justify-content:start;
	align-items:end;
	margin-bottom:1.25em;
}
#greeting h2::after {
	content:'';
	width:3.5em;
	height:1px;
	background-color:#312927;
	margin-bottom:.2em;
}
#greeting h2 span {
	font-size:2.0rem;
	color:#6cbbd5;
	padding-bottom:.3em;
}
#greeting .contents_inner {
	display:grid;
	grid-template-columns:65% 1fr;
	grid-column-gap:5%;
}
#greeting .contents_inner .detail dl {
	font-size:1.5rem;
	line-height:1.8;
	margin-bottom:2em;
}
#greeting .contents_inner .detail dt {
	font-size:1.6rem;
	line-height:1.8;
	font-weight:600;
}
#greeting .contents_inner .detail dd {
	font-size:1.5rem;
	line-height:1.8;
	padding-left:.5em;
}
#greeting .contents_inner .detail p {
	font-size:1.5rem;
	line-height:1.8;
	letter-spacing:.05em;
}
#greeting .contents_inner .detail p:not(:last-child) {
	margin-bottom:1.5em;
}
#greeting .contents_inner .img {
}
#greeting .contents_inner .img p {
	background-color:#312927;
	font-size:1.8rem;
	color:#FFFFFF;
	text-align:center;
	line-height:2.8;
}

/**company**/
#company .wrap {
	padding:60px 0;
}
#company h2 {
	font-size:5.6rem;
	font-weight:600;
	letter-spacing:.025em;
	display:grid;
	grid-template-columns:repeat(3,auto);
	grid-column-gap:.25em;
	justify-content:start;
	align-items:end;
	margin-bottom:1em;
}
#company h2::after {
	content:'';
	width:3.5em;
	height:1px;
	background-color:#312927;
	margin-bottom:.2em;
}
#company h2 span {
	font-size:2.0rem;
	color:#6cbbd5;
	padding-bottom:.3em;
}
#company table {
	width:100%;
	border-collapse:collapse;
}
#company table th,
#company table td {
	font-size:1.5rem;
	font-weight:400;
	line-height:1.5;
	padding:1.25em 2em;
	border:1px solid #e4e4e4;
	text-align:left;
	vertical-align:middle;
}
#company table th {
	background-color:#f5f3f1;
	width:17em;
}

/**access**/
#access .wrap {
	padding:60px 0;
	position:relative;
}
#access .wrap::before {
	content:'';
	display:block;
	width:100%;
	height:100%;
	background-color:#3c3432;
	position:absolute;
	left:0;
	top:420px;
	z-index:-1;
}
#access h2 {
	font-size:5.6rem;
	font-weight:600;
	letter-spacing:.025em;
	text-align:center;
	margin-bottom:1em;
}
#access h2 span {
	font-size:2.0rem;
	color:#6cbbd5;
	display:block;
	padding-top:.66em;
}
#access iframe {
	display:block;
	width:100%;
	height:430px;
}
#access .gmaplink {
	text-align:right;
	font-size:1.2rem;
	padding:1em 0;
	border-bottom:2px solid #2a2422;
	margin-bottom:45px;
}
#access .gmaplink a {
	color:#FFFFFF;
}
#access .contents_inner {
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-column-gap:30px;
}
#access .contents_inner li {
	font-size:1.5rem;
	color:#FFFFFF;
	line-height:1.5;
}
#access .contents_inner li:not(:last-child) {
	margin-bottom:.5em;
}
#access .contents_inner dt {
	font-size:1.5rem;
	color:#6cbbd5;
	font-weight:600;
	margin-bottom:1em;
}
#access .contents_inner dd {
	font-size:1.5rem;
	color:#FFFFFF;
	line-height:1.4;
}


/**contact**/
#contact .wrap {
	padding:60px 0 0;
	background-color:#3c3432;
}
#contact h2 {
	font-size:5.6rem;
	font-weight:600;
	color:#FFFFFF;
	letter-spacing:.05em;
	text-align:center;
	margin-bottom:1em;
}
#contact h2 span {
	font-size:2.0rem;
	color:#6cbbd5;
	display:block;
	padding-top:.66em;
	letter-spacing:.025em;
}
#contact .contents_inner {
	background-color:#FFFFFF;
	padding:50px;
}

@media screen and (max-width:1200px){

	
}

@media screen and (max-width:1024px){

/**fv**/
	#fv .contents h1 {
		font-size: 5.0rem;
	}
	#fv .slick-slide {
		height:56vw;
	}


/**about**/
	#about .contents_inner {
		grid-template-columns:40% 1fr;
	}
	#about .contents_inner .img img {
		transform:translateY(-90px) scale(1.8);
	}
	#about .contents_inner .detail {
		padding:50px;
	}

/**service**/
	#service .contents_inner .img img {
		transform:translateY(60px) scale(1.6);
	}
	#service .contents_inner .detail {
			padding:50px;
	}
		
}

@media screen and (max-width:768px){

/* =================================================================
        section
================================================================= */

/**fv**/
	#fv .wrap {
		padding:20px 0 15px;
	}
	#fv .wrap::before {
		font-size:21.3vw;
	}
	#fv .wrap::after {
		font-size:21.3vw;
	}
	#fv .contents h1 {
		font-size: min(7.46vw,4.2rem);
		line-height:1.4;
		margin-bottom:.15em;
		letter-spacing:normal;
	}
	#fv .contents p {
		font-size: min(3.73vw,2.1rem);
		line-height:1.2;
	}
	#fv .slick-slide {
		height: min(88vw,330px);
	}

/**message**/
	#message .wrap {
		padding:40px 0;
	}
	#message h2 {
		font-size: min(7.46vw,4.2rem);
		margin-bottom:1em;
	}
	#message h2 span {
		font-size: min(4.26vw,2.4rem);
		margin-bottom:.75em;
	}
	#message p {
		line-height:1.8;
		font-size: min(3.73vw,2.1rem);
	}

/**about**/
	#about .wrap {
		padding-top:13vw;
		padding-bottom:30px;
	}
	#about .wrap::before {
		top:-.275em;
		left:50%;
		transform:translateX(-50%);
		font-size:24vw;
	}
	#about .wrap::after {
		top:-.275em;
		left:50%;
		transform:translateX(-50%);
		font-size:24vw;
	}
	#about .contents_inner {
		grid-template-columns:1fr;
		padding-top:0;
	}
	#about .contents_inner .img img {
		transform:translateY(0px) scale(1);
	}
	#about .contents_inner .detail {
		padding:40px 20px;
	}
	#about .contents_inner .detail h2 {
		font-size: min(9.6vw,5.4rem);
	}
	#about .contents_inner .detail h2 span {
		font-size: min(4vw,2.2rem);
	}
	
	#about .contents_inner .detail p {
		font-size: min(3.73vw,2.1rem);
		line-height:2;
	}

/**service**/
	#service .wrap {
		padding-top:13vw;
		padding-bottom:0;
	}
	#service .wrap::before {
		top:-.275em;
		right:auto;
		left:50%;
		transform:translateX(-50%);
		font-size:24vw;
	}
	#service .wrap::after {
		top:-.275em;
		right:auto;
		left:50%;
		transform:translateX(-50%);
		font-size:24vw;
	}
	#service .contents_inner {
		grid-template-columns:1fr;
		padding-top:0;
	}
	#service .contents_inner .img {
		grid-area:initial;
	}
	#service .contents_inner .img img {
		transform:translateY(0) scale(1);
	}
	#service .contents_inner .detail {
		padding:40px 20px;
	}
	#service .contents_inner .detail h2 {
		font-size: min(9.6vw,5.4rem);
	}
	#service .contents_inner .detail h2 span {
		font-size: min(4vw,2.2rem);
	}
	#service .contents_inner .detail li {
		font-size: min(3.73vw,2.1rem);
		line-height:2;
	}

/**property**/
	#property .wrap {
		padding:40px 0 50px;
	}
	#property .contents_inner {
		width:calc(100% - 80px);
	}
	#property h2 {
		font-size: min(10.66vw,6.0rem);
		margin-bottom:.75em;
	}
	#property h2 span {
		font-size: min(4.26vw,2.4rem);
		padding-top:.5em;
	}
	#property .item {
		padding:0 2px;
	}
	#property .item a {
		transition:0s;
	}
	#property .item a:hover {
		filter:brightness(1);
	}
	#property .item .info1 {
		display:grid;
	}
	#property .item .info2 {
		display:grid;
	}
	#property .item .info2 dt {
		font-size: min(3.46vw,1.3rem);
	}
	#property .item .info2 dd {
		font-size: min(4vw,1.5rem);
	}
	#property .slick-arrow {
		width: 24px;
		height: 64px;
	}
	#property .slick-prev {
		left:-40px;
	}
	#property .slick-next {
		right:-40px;
	}

/**greeting**/
	#greeting .wrap {
		padding:50px 0 30px;
	}
	#greeting h2 {
		font-size: min(10.66vw,6.0rem);
		grid-template-columns:repeat(2,auto);
		grid-row-gap:min(6.66vw,25px);
		margin-bottom:1em;
	}
	#greeting h2::after {
		width:2em;
		margin:0;
	}
	#greeting h2 span {
		font-size: min(4.26vw,2.4rem);
	}
	#greeting .contents_inner {
		grid-template-columns:1fr;
		grid-row-gap:40px;
	}
	#greeting .contents_inner .detail dl {
		font-size: min(3.73vw,2.1rem);
	}
	#greeting .contents_inner .detail dt {
		font-size: min(4vw,2.2rem);
	}
	#greeting .contents_inner .detail dd {
		font-size: min(3.73vw,2.1rem);
	}
	#greeting .contents_inner .detail p {
		font-size: min(3.73vw,2.1rem);
		line-height:1.8;
		letter-spacing:.05em;
	}
	#greeting .contents_inner .img {
		max-width:360px;
		margin:0 auto;
	}
	#greeting .contents_inner .img p {
		font-size: min(4.8vw,1.8rem);
		max-width:360px;
		margin:0 auto;
	}

/**company**/
	#company .wrap {
		padding:30px 0;
	}
	#company h2 {
		font-size: min(10.66vw,6.0rem);
		grid-template-columns:repeat(2,auto);
		grid-row-gap:min(6.66vw,25px);
		margin-bottom:1.25em;
	}
	#company h2::after {
		width:2em;
		margin:0;
	}
	#company h2 span {
		font-size: min(4.26vw,2.4rem);
	}
	#company table th,
	#company table td {
		font-size: min(4vw,2.2rem);
		padding:1em;
		display:block;
		width:100%;
	}
	#company table th {
		width:100%;
	}
	#company table td {
		padding:1.25em 1em;
	}

/**access**/
	#access .wrap {
		padding:30px 0;
		position:relative;
	}
	#access .wrap::before {
		top:350px;
	}
	#access h2 {
		font-size: min(10.66vw,6.0rem);
	}
	#access h2 span {
		font-size: min(4.26vw,2.4rem);
		padding-top:.5em;
	}
	#access iframe {
		height:auto;
		aspect-ratio:1/1;
	}
	#access .gmaplink {
		font-size: min(3.46vw,2rem);
		margin-bottom:2.5em;
	}
	#access .contents_inner {
		grid-template-columns:1fr;
		grid-row-gap:40px;
	}
	#access .contents_inner li {
		font-size: min(3.73vw,2.1rem);
	}
	#access .contents_inner dt {
		font-size: min(3.73vw,2.1rem);
	}
	#access .contents_inner dd {
		font-size: min(3.73vw,2.1rem);
	}

/**contact**/
	#contact .wrap {
		padding:30px 0 15px;
	}
	#contact h2 {
		font-size: min(10.66vw,6.0rem);
		margin-bottom:.75em;
	}
	#contact h2 span {
		font-size: min(4.26vw,2.4rem);
		padding-top:.5em;
	}
	#contact .contents_inner {
		padding:30px 20px;
	}

}

@media screen and (max-width:768px){
}

@media screen and (max-width:769px){

	
}