@charset "utf-8";
#VISUAL .cont {
position: relative;
}
#VISUAL .swiper img {
display: block;
object-fit: cover;
width: 100%;
height: calc(100svh - 12.077vw);
}
#VISUAL .logo {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
padding: 11.467vw 0 14vw 0;
z-index: 1;
}
#VISUAL .logo img {
display: block;
margin: 0 auto;
width: 46.4vw;
filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
}
@media screen and (min-width: 768px) {
	#VISUAL .swiper img {
	height: calc(100svh - 100px);
	}
	#VISUAL .logo {
	padding: 40px 0;
	}
	#VISUAL .logo img {
	width: 260px;
	}
}

#MOVIE {
position: relative;
}
#MOVIE .cont {
padding: 16vw 6.667vw 14.667vw 6.667vw;
}
#MOVIE h2 {
margin-bottom: 5.333vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
text-align: center;
}
#MOVIE p {
margin-top: 10.667vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 3.467vw;
line-height: 2.12;
text-align: center;
}
@media screen and (min-width: 768px) {
	#MOVIE .cont {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 120px 50px 110px 50px;
	max-width: 1106px;
	}
	#MOVIE h2 {
	margin-bottom: 40px;
	font-size: 30px;
	}
	#MOVIE .movie {
	margin: 0 auto;
	max-width: 766px;
	}
	#MOVIE p {
	margin-top: 50px;
	font-size: 15px;
	line-height: 2.8;
	}
}

#POINT {
position: relative;
background-color: #dbdad5;
overflow: hidden;
}
#POINT .cont {
padding: 9.333vw 0 11.2vw 0;
}
#POINT h2 {
margin-bottom: 5.867vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 5.333vw;
letter-spacing: 0.2em;
text-align: center;
}
#POINT h2 span {
display: inline-block;
margin-bottom: 1.067vw;
font-weight: 500;
font-family: "Zen Old Mincho", serif;
font-size: 4vw;
letter-spacing: 0.08em;
text-align: center;
}
#POINT .swiper {
margin: 0 auto;
width: 76.533vw;
overflow: visible;
}
#POINT .swiper-slide {
box-sizing: border-box;
padding: 0 2.667vw;
}
#POINT .swiper picture img {
display: block;
width: 100%;
height: auto;
}
#POINT .swiper h3 {
margin-top: 8vw;
}
#POINT .swiper h3 img {
display: block;
margin: 0 auto;
width: auto;
height: 4.267vw;
}
#POINT .swiper p {
margin-top: 4vw;
font-size: 3.467vw;
line-height: 1.77;
}
@media screen and (min-width: 768px) {
	#POINT {
	position: relative;
	background-color: #dbdad5;
	overflow: hidden;
	}
	#POINT .cont {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 70px 0 80px 0;
	max-width: 1092px;
	}
	#POINT h2 {
	margin-bottom: 40px;
	font-size: 28px;
	}
	#POINT h2 span {
	margin-bottom: 6px;
	font-size: 22px;
	}
	#POINT .swiper {
	display: flex;
	margin: 0 0 0 0;
	width: 364px;
	}
	#POINT .swiper-slide {
	padding: 0 30px;
	width: 364px;
	}
	#POINT .swiper picture img {
	display: block;
	width: 100%;
	height: auto;
	}
	#POINT .swiper h3 {
	margin-top: 40px;
	}
	#POINT .swiper h3 img {
	height: 18px;
	}
	#POINT .swiper p {
	margin-top: 20px;
	font-size: 14px;
	line-height: 2.15;
	}
}

#KITCHEN .cont {
padding: 13.333vw 6.667vw 0 6.667vw;
}
#BASIN .cont {
padding: 13.333vw 6.667vw 14.667vw 6.667vw;
}
#BASIN h2,
#KITCHEN h2 {
position: relative;
display: inline-block;
}
#BASIN h2 img,
#KITCHEN h2 img {
display: block;
width: auto;
height: 5.867vw;
}
#BASIN h2 img.icon,
#KITCHEN h2 img.icon {
transform: translateY(-50%);
position: absolute;
right: -10.133vw;
top: 50%;
display: block;
width: auto;
height: 8vw;
}
#BASIN .catch,
#KITCHEN .catch {
margin-top: 3.2vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 3.467vw;
}
#BASIN picture img,
#KITCHEN picture img {
display: block;
margin-top: 3.733vw;
width: 100%;
height: auto;
}
#BASIN .more,
#KITCHEN .more {
margin-top: 5.333vw;
}
#BASIN .more a,
#KITCHEN .more a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
margin: 0 auto;
width: 41.333vw;
height: 10.133vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 3.2vw;
text-decoration: none;
}
#BASIN .more a::after,
#KITCHEN .more a::after {
content: '';
display: block;
background: url("../common/img/btn_arw.svg") no-repeat center center;
background-size: contain;
margin-left: 2.667vw;
width: 2.667vw;
height: 2.667vw;
}
#BASIN .more span,
#KITCHEN .more span {
position: relative;
top: -0.08em;
}
@media screen and (min-width: 768px) {
	#KITCHEN .cont {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 120px 50px 50px 50px;
	max-width: 935px;
	}
	#BASIN .cont {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 50px 50px 120px 50px;
	max-width: 935px;
	}
	#BASIN .hed,
	#KITCHEN .hed {
	display: flex;
	align-items: center;
	gap: 34px;
	}
	#BASIN .hed h2 {
	padding-right: 72px;
	}
	#BASIN h2 img,
	#KITCHEN h2 img {
	height: 32px;
	}
	#BASIN h2 img.icon,
	#KITCHEN h2 img.icon {
	right: 0;
	height: 52px;
	}
	#BASIN .catch,
	#KITCHEN .catch {
	margin-top: 0;
	font-size: 18px;
	}
	#BASIN picture img,
	#KITCHEN picture img {
	margin-top: 40px;
	}
	#BASIN .more,
	#KITCHEN .more {
	margin-top: 40px;
	}
	#BASIN .more a,
	#KITCHEN .more a {
	width: 230px;
	height: 60px;
	font-size: 16px;
	}
	#BASIN .more a::after,
	#KITCHEN .more a::after {
	margin-left: 10px;
	width: 10px;
	height: 10px;
	}
}

#FAQ {
background-color: #F2F2F2;
}
#FAQ .cont {
padding: 13.333vw 6.667vw 16vw 6.667vw;
}
#FAQ h2 {
margin-bottom: 2.667vw;
font-weight: 500;
font-family: "Zen Old Mincho", serif;
font-size: 5.333vw;
letter-spacing: 0.08em;
text-align: center;
}
#FAQ .block {
border-bottom: solid 1px #dbdad5;
}
#FAQ .question {
transition: padding 0.7s ease;
position: relative;
padding: 6.667vw 6.933vw 6.667vw 1.6vw;
}
#FAQ .question.active {
position: relative;
padding: 6.667vw 6.933vw 4vw 1.6vw;
}
#FAQ .question::before {
transition: opacity 0.7s ease, transform 0.7s ease;
transform: translateY(-50%);
content: '';
position: absolute;
right: 1.333vw;
top: 50%;
display: block;
background-color: #675B4F;
width: 4.267vw;
height: 0.267vw;
}
#FAQ .question.active::before {
opacity: 0;
}
#FAQ .question::after {
transition: opacity 0.7s ease, transform 0.7s ease;
transform: translateY(-50%) rotate(90deg);
content: '';
position: absolute;
right: 1.333vw;
top: 50%;
display: block;
background-color: #675B4F;
width: 4.267vw;
height: 0.267vw;
}
#FAQ .question.active::after {
transform: translateY(-50%) rotate(0);
}
#FAQ .question h3 {
font-weight: 500;
font-size: 3.733vw;
color: #675B4F;
}
#FAQ .answer {
padding: 0 1.6vw 0 1.6vw;
}
#FAQ .answer h3 {
margin-bottom: 2.667vw;
font-weight: 600;
font-size: 3.733vw;
color: #462B10;
}
#FAQ .answer p {
padding-bottom: 5.333vw;
font-size: 3.2vw;
line-height: 1.68;
color: #462B10;
}
#FAQ .more {
margin-top: 9.067vw;
}
#FAQ .more a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
margin: 0 auto;
width: 56vw;
height: 14.933vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 3.467vw;
text-decoration: none;
}
#FAQ .more a::after {
content: '';
display: block;
background: url("../common/img/btn_arw.svg") no-repeat center center;
background-size: contain;
margin-left: 2.667vw;
width: 2.667vw;
height: 2.667vw;
}
@media screen and (min-width: 768px) {
	#FAQ .cont {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 100px 50px 100px 50px;
	max-width: 1106px;
	}
	#FAQ h2 {
	margin-bottom: 35px;
	font-size: 26px;
	}
	#FAQ .list {
	margin: 0 auto;
	max-width: 940px;
	}
	#FAQ .block {
	border-bottom: solid 2px #dbdad5;
	}
	#FAQ .question {
	padding: 24px 60px 24px 0;
	}
	#FAQ .question.active {
	padding: 24px 60px 14px 0;
	}
	#FAQ .question::before {
	right: 20px;
	width: 21px;
	height: 1px;
	}
	#FAQ .question::after {
	right: 20px;
	width: 21px;
	height: 1px;
	}
	#FAQ .question h3 {
	font-size: 15px;
	}
	#FAQ .answer {
	padding: 0;
	}
	#FAQ .answer h3 {
	margin-bottom: 10px;
	font-size: 15px;
	}
	#FAQ .answer p {
	padding-bottom: 20px;
	font-size: 14px;
	line-height: 1.86;
	}
	#FAQ .more {
	margin-top: 40px;
	}
	#FAQ .more a {
	width: 420px;
	height: 60px;
	font-size: 17px;
	}
	#FAQ .more a::after {
	margin-left: 10px;
	width: 10px;
	height: 10px;
	}
}

#CATALOG {
background: url("../common/img/cat_bg_sp.png") no-repeat center center;
background-size: cover;
}
#CATALOG .cont {
padding: 16vw 6.667vw 16vw 6.667vw;
}
#CATALOG h2 {
margin-bottom: 5.333vw;
font-weight: 500;
font-family: "Zen Old Mincho", serif;
font-size: 5.333vw;
letter-spacing: 0.08em;
text-align: center;
}
#CATALOG .lead {
margin-bottom: 5.333vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 3.467vw;
line-height: 2.12;
text-align: center;
}
#CATALOG .image img {
display: block;
margin: 0 auto;
width: 55.467vw;
height: auto;
box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
}
#CATALOG .more {
margin-top: 9.067vw;
}
#CATALOG .more a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
border: solid 1px #000;
margin: 0 auto;
width: 56vw;
height: 14.933vw;
font-weight: 400;
font-family: "Zen Old Mincho", serif;
font-size: 3.467vw;
text-decoration: none;
}
#CATALOG .more a::after {
content: '';
display: block;
background: url("../common/img/btn_arw.svg") no-repeat center center;
background-size: contain;
margin-left: 2.667vw;
width: 2.667vw;
height: 2.667vw;
}
@media screen and (min-width: 768px) {
	#CATALOG {
	background: url("../common/img/cat_bg.png") no-repeat center center;
	background-size: cover;
	}
	#CATALOG .cont {
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
	padding: 130px 584px 130px 50px;
	max-width: 978px;
	min-height: 567px;
	}
	#CATALOG h2 {
	margin-bottom: 17px;
	padding-top: 10px;
	font-size: 26px;
	}
	#CATALOG .lead {
	margin-bottom: 14px;
	font-size: 15px;
	line-height: 3;
	}
	#CATALOG .image {
	position: absolute;
	right: 0;
	top: 130px;
	width: 415px;
	}
	#CATALOG .image img {
	width: 415px;
	}
	#CATALOG .more {
	margin-top: 34px;
	}
	#CATALOG .more a {
	width: 290px;
	height: 60px;
	font-size: 17px;
	}
	#CATALOG .more a::after {
	margin-left: 10px;
	width: 10px;
	height: 10px;
	}
}