@charset "UTF-8";

/* =============================================================
はじめての方配下のページのスタイリングを定義
============================================================= */

/* villa
---------------------------------------------------------- */

/* #sec-villa
----------------------------- */

#sec-villa_customa {
	padding: 75px 0 0;
}

#sec-villa_customa h3 {
	font-size: 3.2rem;
	margin-bottom: 0.93em;
	letter-spacing: 0.05em;
	line-height: 1.71;
}

#sec-villa_customa p {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	width: 100%;
	max-width: 655px;
	margin: 0 auto;
}
#sec-villa_customa .eyecatch_area {
	width: 100%;
	max-width: 1246px;
	height: auto;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 0px auto 70px;
}
#sec-villa_customa .eyecatch_area .swiper-slide__img {
	width: 100%;
	height: auto;
}
#sec-villa_customa .eyecatch_area .swiper-pagination {
	position: relative;
	bottom: auto;
	top: auto;
	margin: 20px auto 0;
}
#sec-villa_customa .eyecatch_area .swiper-pagination-bullet {
	width: 18px;
	height: 18px;
	opacity: 0.2;
	margin: 0 8px;
}
#sec-villa_customa .eyecatch_area .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #936D39;
	opacity: 1;
}
#sec-villa_customa .sec_eyecatch .text_area {
	max-width: 1050px;
	margin: 0 auto;
	padding: 0 20px;
}

#sec-villa_customa .philosophy-li-h {
	padding: 0.5em 0px 0.5em 1em;
	line-height: 1.2em;
	font-size: 2.7rem;
	text-indent: -1em;
}

#sec-villa_customa .eyecatch-h1 {
	font-size: 83px;
	line-height: 1em;
}

#sec-villa_customa .eyecatch-h2 {
	font-size: 37px;
}

#sec-villa_customa .list-villa_customa_area {
	margin: 120px auto 0;
}

#sec-villa_customa .list-villa_customa {
	margin-top: 50px;
	padding: 50px 20px;
	background: #fafafa;
}

#sec-villa_customa .list-villa_customa ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1010px;
	margin: 0 auto;
}

#sec-villa_customa .list-villa_customa ul li {
	text-align: center;
	width: 16.66%;
	margin-bottom: 25px;
}

#sec-villa_customa .list-villa_customa ul li img {
	width: 100%;
	max-width: 126px;
}

@media screen and (max-width: 768px) {
	#sec-villa_customa {
		padding: 60px 0 0;
	}
	#sec-villa_customa h3 {
		font-size: 2.5rem;
	}
	#sec-villa_customa .list-villa_customa {
		margin-top: 45px;
		padding: 20px 20px;
	}
	#sec-villa_customa .list-villa_customa ul li {
		text-align: center;
		width: 20%;
		margin-bottom: 25px;
	}
	#sec-villa_customa .eyecatch_area {
		margin-bottom: 32px;
	}
	#sec-villa_customa .eyecatch_area .swiper-pagination {
		margin: 12px auto 0;
	}
	#sec-villa_customa .eyecatch_area .swiper-pagination-bullet {
	width: 14px;
	height: 14px;
	margin: 0 6px;
}
	#sec-villa_customa .eyecatch-h1 {
		font-size: 36px;
	}
	#sec-villa_customa .eyecatch-h2,
	#sec-villa_customa .philosophy-li-h {
		font-size: 18px;
	}
	#sec-villa_customa .eyecatch-h1 {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	#sec-villa_customa .list-villa_customa_area {
		margin: 90px auto 0;
	}
	/*last max-width:768px*/
}
@media screen and (max-width: 1165px) {
	#sec-villa_customa .eyecatch-h1 {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	/*last max-width:768px*/
}

/* #sec-point
----------------------------- */

#sec-point {
	padding: 70px 0 0;
}

#sec-point .list-point {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto 0;
}

#sec-point .list-point li {
	position: relative;
	z-index: 0;
	width: 33.333%;
	height: 368px;
	cursor: auto;
}

#sec-point .list-point_img {
	overflow: hidden;
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#sec-point .list-point_img:before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100.1%;
	height: 100.1%;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

#sec-point .list-point li:nth-child(1) .list-point_img:before {
	background: url(../../image/villa_customa/img_villa_01.jpg) no-repeat center;
	background-size: cover;
}

#sec-point .list-point li:nth-child(2) .list-point_img:before {
	background: url(../../image/villa_customa/img_villa_02.jpg) no-repeat center;
	background-size: cover;
}

#sec-point .list-point li:nth-child(3) .list-point_img:before {
	background: url(../../image/villa_customa/img_villa_03.jpg) no-repeat center;
	background-size: cover;
}

#sec-point .list-point li:nth-child(4) .list-point_img:before {
	background: url(../../image/villa_customa/img_villa_04.jpg) no-repeat center;
	background-size: cover;
}

#sec-point .list-point li:nth-child(5) .list-point_img:before {
	background: url(../../image/villa_customa/img_villa_05.jpg) no-repeat center;
	background-size: cover;
}

#sec-point .list-point li:nth-child(6) .list-point_img:before {
	background: url(../../image/villa_customa/img_villa_06.jpg) no-repeat center;
	background-size: cover;
}

#sec-point .list-point li:hover .list-point_img:before {
	transform: scale(1.1, 1.1);
	-webkit-transform: scale(1.1, 1.1);
}

#sec-point .list-point li h4 {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	font-size: 3.2rem;
	color: #fff;
	padding: 10%;
	letter-spacing: 0.05em;
	line-height: 1.5;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	text-shadow: -3px 4px 5px rgba(1, 1, 1, 0.75);
}

#sec-point .list-point li .p-point {
	position: relative;
	z-index: 1;
	font-size: 1.8rem;
	color: #fff;
	padding: 10%;
	letter-spacing: 0.05em;
	line-height: 1.72;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}

@media screen and (min-width: 769px) {
	#sec-point .list-point_img:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		opacity: 0;
	}
	#sec-point .list-point li {
		cursor: pointer;
	}
	#sec-point .list-point li:hover .list-point_img:after {
		opacity: 0.37;
	}
	#sec-point .list-point li .p-point {
		visibility: hidden;
		opacity: 0;
	}
	#sec-point .list-point li:hover .p-point {
		visibility: visible;
		opacity: 1;
	}
	#sec-point .list-point li:hover h4 {
		opacity: 0;
	}
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
	#sec-point .list-point li h4 {
		font-size: 2.5vw;
	}
	#sec-point .list-point li .p-point {
		font-size: 1.4vw;
	}
}

@media screen and (max-width: 768px) {
	#sec-point {
		padding: 40px 0 0;
	}
	#sec-point .list-point li {
		width: 50%;
		height: auto;
	}
	#sec-point .list-point_img {
		position: relative;
		height: 150px;
	}
	#sec-point .list-point li h4 {
		font-size: 1.4rem;
		padding: 8%;
	}
	#sec-point .list-point li .p-point {
		font-size: 1.1rem;
		padding: 20px;
		color: #000;
	}
}

/* #sec-recommended
----------------------------- */

#sec-recommended {
	padding: 150px 0 0;
}
#sec-recommended .ttl-01 {
	font-size: 2rem;
	line-height: 1.2;
	margin: 0 auto;
}
#sec-recommended .list-recommended {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 35px auto 0;
}

#sec-recommended .list-recommended li {
	position: relative;
	z-index: 0;
	width: calc(100% / 3);
	display: flex;
	flex-direction: column;
}

#sec-recommended .list-recommended h4 {
	font-size: 2.1rem;
	line-height: 1.2;
	text-align: center;
	margin: 12px auto 0;
}

#sec-recommended .list-recommended .p-recommended {
	margin: 12px auto 0;
	padding: 20px;
	width: calc(100% - 32px);
	border: solid 1px #434343;
	font-size: 1.8rem;
	flex: 1;
}

#sec-recommended .list-recommended .img-recommended {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 768px) {
	#sec-recommended {
		padding: 70px 0 0;
	}
	#sec-recommended .list-recommended {
		flex-direction: column;
		gap: 32px;
	}
	#sec-recommended .list-recommended li {
		width: 100%;
		padding: 0 20px;
	}
	#sec-recommended .list-recommended h4 {
		font-size: 1.6rem;
	}

	#sec-recommended .list-recommended .p-recommended {
		width: 100%;
		padding: 20px;
		font-size: 1.3rem;
	}
}
/* #sec-plan
----------------------------- */

#sec-plan {
	padding: 120px 0 70px;
}

#sec-plan h4 {
	font-size: 3.2rem;
	margin: 1.56em 0 1.25em;
	letter-spacing: 0.05em;
	line-height: 1.71;
}

#sec-plan p {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	width: 100%;
	max-width: 810px;
	margin: 0 auto 3.5em;
}

@media screen and (max-width: 768px) {
	#sec-plan {
		padding: 40px 0 55px;
	}
	#sec-plan h4 {
		font-size: 2.4rem;
		margin: 2em 0 1.25em;
	}
	#sec-plan p {
		margin: 0 auto 1.5em;
	}
}

/* #sec-faq
----------------------------- */

#sec-faq {
	background: #fafafa;
	padding: 60px 0 40px;
}

#sec-faq .list-faq {
	width: 100%;
	max-width: 1047px;
	margin: 45px auto;
	background: #fff;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	letter-spacing: 0.05em;
}

#sec-faq .list-faq .accordion-ttl {
	position: relative;
	z-index: 0;
	font-size: 1.6rem;
	padding: 28px 30px 28px 80px;
	border-top: 1px solid #ccc;
	cursor: pointer;
}

#sec-faq .list-faq .accordion-ttl:before {
	content: "Q";
	display: block;
	position: absolute;
	z-index: 1;
	top: 14px;
	left: 24px;
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	font-size: 3.2rem;
}

#sec-faq .list-faq .accordion-ttl:after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 30px;
	margin-top: -13px;
	width: 18px;
	height: 26px;
	background: url(../../image/common/ico_arw_down_04_bk.svg) no-repeat;
	background-size: 100%;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}

#sec-faq .list-faq .accordion-ttl.is-active:after {
	-webkit-transform: rotate(540deg);
	transform: rotate(540deg);
}

#sec-faq .list-faq .accordion-ttl h4 {
	line-height: 1.5;
}

#sec-faq .list-faq .accordion-cont {
	display: none;
	padding: 0 30px 20px 80px;
}

#sec-faq .list-faq .accordion-cont_inner {
	border-top: 1px dotted #ccc;
	padding-top: 15px;
}

#sec-faq .list-faq .accordion-cont p {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
}

#sec-faq .list-faq .accordion-cont p a {
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	#sec-faq {
		padding: 40px 0 50px;
	}
	#sec-faq .list-faq .accordion-ttl {
		font-size: 1.4rem;
		padding: 17px 38px 17px 60px;
	}
	#sec-faq .list-faq .accordion-ttl:before {
		font-size: 2.3rem;
		top: 50%;
		left: 14px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	#sec-faq .list-faq .accordion-ttl:after {
		width: 15px;
		height: 22px;
		right: 14px;
	}
	#sec-faq .list-faq .accordion-cont p {
		font-size: 1.2rem;
	}
	#sec-faq .list-faq .accordion-cont {
		padding: 0 30px 20px 14px;
	}
}

/*------------------------------------------------

------------------------------------------------*/
