@charset "UTF-8";

@media screen and (min-width: 768px),print {
.p-fv {
	padding: 18px 0 0;
	margin: 58px 0 130px;
	background: url(../images/design/fv_bg.png) no-repeat top center / cover;
	max-width: 1660px;
	width: 95%;
	margin-left: auto;
	height: 520px;
}

.l-inner.l-fv {
	padding: 64px 238px 0px 0px;
}

.p-fv__contents {
	display: grid;
	gap: 0 clamp(0.5rem, -0.4166666667rem + 1.9097222222vw, 1.875rem);
	grid-template-columns: 550px 812px;
	justify-content: flex-end;
}

.p-fv__en {
	margin-bottom: 60px;
}

.p-fv__en img {
	height: auto;
	width: 229px;
}

.p-fv__ttl {
	border-right: 1px solid #323232;
	border-top: 1px solid #323232;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7;
	margin-bottom: -4px;
	padding: 7px 16px 0 9px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-fv__txt {
	border-bottom: 1px dotted #323232;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 2;
	margin-bottom: 22px;
	width: min(95%, 400px);
}

.p-fv__txt02 {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-fv__contents-left {
	position: relative;
	right: -68px;
}

.p-fv__contents-right {
	position: relative;
	top: -147px;
}

.p-fv__contents-right img {
	height: auto;
	width: 100%;
}

.p-bottom {
	background: url(../images/design/bottom_bg.png) no-repeat top center/cover;
	height: 260px;
	margin-bottom: -175px;
	margin-inline: auto;
	position: relative;
	width: min(95%, 800px);
}

.p-bottom::after {
	background: url(../images/design/sofa.png) no-repeat center center/contain;
	bottom: 36px;
	content: "";
	height: 91px;
	position: absolute;
	right: 42px;
	width: 189px;
}

.l-inner.l-bottom {
	padding: 28px 0 46px;
}

.p-bottom__logo h2 {
	font-size: 32px;
	font-weight: 400;
	letter-spacing: 0.16em;
	line-height: 1.5625;
	margin-bottom: 7px;
	text-align: center;
}

.p-bottom__logo p {
	text-align: center;
}

.p-bottom__logo p img {
	height: auto;
	width: 234px;
}

/* common link -------------------------------------*/
.p-link {
	background: #F1EDE3;
	margin-bottom: 160px;
	margin-inline: auto;
	width: min(100%, 1920px);
}

.l-inner.l-link {
	margin-inline: auto;
	padding: 191px 0 79px;
	width: min(95%, 1400px);
}

.p-link__items {
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-link__item a {
	display: inline-block;
}

.p-link__item a img {
	height: auto;
	margin-bottom: 5px;
	width: 100%;
}

.p-link__item a p {
	font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	text-align: center;
}

.p-point01 {
	margin-bottom: 56px;
}

.l-inner.l-point {

}

.p-point__contents-box {
	border: 4px solid #D0D0D1;
	padding: 95px 0 80px;
	width: min(95%,1400px);
	margin-inline: auto;
	margin-bottom: -30px;
	position: relative;
}

.p-point__contents-box:before {
	position: absolute;
	content: "";
	background: url(../images/design/top.png) no-repeat center center / contain;
	max-width: 1280px;
	width: 95%;
	height: 40px;
	left: 50%;
	transform: translateX(-50%);
	top: -22px;
}

.p-point__contents-box.point02 {
	margin-bottom: -80px;
}

.p-point__contents {
	align-items: center;
	display: flex;
	gap: 0 28px;
	justify-content: center;
	margin-bottom: 74px;
	position: relative;
	z-index: 20;
}

.p-point__contents-left img {
	height: auto;
	width: 96px;
}

.p-point__contents-right {
}

.p-point__contents-right span {
	display: block;
}

.p-point__contents-right span.top {
	color: #BC9025;
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	margin-bottom: 8px;
}

.p-point__contents-right span.bottom {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-point__contents02 {
	background: #fff;
	display: grid;
	gap: 0 clamp(1rem, -0.8333333333rem + 3.8194444444vw, 3.75rem);
	grid-template-columns: 640px 580px;
	width: min(95%,1540px);
	margin-inline: auto;
	justify-content: center;
}

.p-point__contents02.reverse {
	grid-template-columns: 566px 640px;
	margin-bottom: 50px;
	background: none;
	gap: 0 clamp(1rem, -1.417rem + 5.03vw, 4.625rem);
}

.p-point__contents02-left.reverse h3 {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.8333333333;
	margin-bottom: 22px;
}

.p-point__contents02-left.reverse p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-point__contents02-left img {
	height: auto;
	width: 100%;
}

.p-point__contents02-right {
	position: relative;
	top: -3px;
}

.p-point__contents02-left.reverse {
	position: relative;
	top: -16px;
}

.p-point__contents02-right.reverse img {
	width: 100%;
	height: auto;        
}

.p-point__contents02-right h3 {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.8333333333;
	margin-bottom: 18px;
}

.p-point__contents02-right p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-point__img {
	position: relative;
	z-index: 10;
}

.p-point__img img {
	height: auto;
	width: 100%;
}

.p-point02 {
	margin-bottom: 126px;
	overflow: hidden;
}

.l-inner.l-point02 {
	padding: 95px 0 0;
}

}

@media screen and (min-width:768px) and ( max-width:1720px) {
.p-fv {
	padding: 1.047vw 0 0;
	margin: 3.372vw 0 7.558vw;
	background: url(../images/design/fv_bg.png) no-repeat top center / cover;
	max-width: 96.512vw;
	width: 95%;
	margin-left: auto;
	height: 30.233vw;
}

.l-inner.l-fv {
	padding: 3.721vw 13.837vw 0px 0px;
}

.p-fv__contents {
	display: grid;
	gap: 0 clamp(0.5rem, -0.4166666667rem + 1.9097222222vw, 1.875rem);
	grid-template-columns: 31.977vw 47.209vw;
	justify-content: flex-end;
}

.p-fv__en {
	margin-bottom: 3.488vw;
}

.p-fv__en img {
	height: auto;
	width: 13.314vw;
}

.p-fv__ttl {
	border-right: 1px solid #323232;
	border-top: 1px solid #323232;
	font-size: 1.163vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7;
	margin-bottom: -0.233vw;
	padding: 0.407vw 0.93vw 0 0.523vw;
	width: -moz-fit-content;
	width: fit-content;
}

.p-fv__txt {
	border-bottom: 1px dotted #323232;
	font-size: 1.86vw;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 2;
	margin-bottom: 1.279vw;
	width: min(95%, 400px);
}

.p-fv__contents-left {
	position: relative;
	right: -5.953vw;
}

.p-fv__contents-right {
	position: relative;
	top: -8.547vw;
}

.p-fv__contents-right img {
	height: auto;
	width: 100%;
}
}

@media screen and (min-width:768px) and ( max-width:1500px) {
.p-point__contents02 {
	background: #fff;
	display: grid;
	gap: 0 clamp(1rem, -0.8333333333rem + 3.8194444444vw, 3.75rem);
	grid-template-columns: 42.667vw 38.667vw;
	width: min(95%, 1540px);
	margin-inline: auto;
	justify-content: center;
}

.p-point__contents02.reverse {
	grid-template-columns: 37.733vw 42.667vw;
	margin-bottom: 3.333vw;
	background: none;
	gap: 0 clamp(1rem, -1.417rem + 5.03vw, 4.625rem);
}
}

@media screen and (min-width:768px) and ( max-width:1280px) {

}

@media screen and (min-width:768px) and ( max-width:1200px) {
.p-fv__txt02 {
	font-size: clamp(0.625rem, 0.181rem + 0.93vw, 0.875rem);
	line-height: 1.8;
}
.p-fv__en {
	margin-bottom: 2vw;
}


}


@media screen and (max-width: 767px) {
.p-fv {
	margin-bottom: 10vw;
}

.l-inner.l-fv {
	margin: 0;
	padding: 0;
	width: 100%;
}

.p-fv__contents {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-fv__contents-left {
	order: 2;
	background: url(../images/design/sp_fv_bg.png) no-repeat top center / cover;
	width: 91.787vw;
  margin-inline: auto;
	height: 106.179vw;
	padding: 26.498vw 0vw 0 8.2vw;
}

.p-fv__contents-left::after {
	content: "";
	position: absolute;
	background: url(../images/design/sp_human.png) no-repeat center center / contain;
	width: 24.155vw;
	height: 24.879vw;
	right: 5.072vw;
	bottom: 9vw;
}

.p-fv__en {
	margin-bottom: 5.314vw;
}

.p-fv__en img {
	height: auto;
	width: 50.831vw;
}

.p-fv__ttl {
	border-right: 0.2vw solid #323232;
	border-top: 0.2vw solid #323232;
	font-size: 3.865vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2.125;
	margin-bottom: 0.242vw;
	padding: 1vw 1.174vw 1vw 1.899vw;
	width: -moz-fit-content;
	width: fit-content;
}

.p-fv__txt {
	border-bottom: 0.2vw dotted #323232;
	font-size: 5.797vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.7916666667;
	margin-bottom: 2.415vw;
  width: min(95%,77.2vw);
	padding-left: 1.932vw;
}

.p-fv__txt02 {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	width: min(95%, 84.5vw);
	padding-left: 2.415vw;
}

.p-fv__contents-right {
	margin-bottom: -19.28vw;
	order: 1;
  width: min(95%,77.2vw);
	margin-inline: auto;
	position: relative;
	z-index: 10;
}

.p-fv__contents-right img {
	height: auto;
	width: 100%;
}


.p-bottom {
	background: url(../images/design/sp_bottom_bg.png) no-repeat top center/cover;
	height: 62.483vw;
	margin-bottom: -51.155vw;
	margin-inline: auto;
	margin-inline: auto;
	position: relative;
	width: min(95%,86.9vw);
}

.p-bottom::after {
	background: url(../images/design/sp_sofa.png) no-repeat center center/contain;
	bottom: 8vw;
	content: "";
	height: 14.493vw;
	position: absolute;
	right: 3.932vw;
	width: 25.638vw;
}

.l-inner.l-bottom {
	padding: 8.696vw 0 11.111vw;
}

.p-bottom__logo h2 {
	font-size: 5.314vw;
	font-weight: 400;
	letter-spacing: 0.16em;
	line-height: 1.6;
	margin-bottom: 3.691vw;
	text-align: center;
}

.p-bottom__logo p {
	text-align: center;
}

.p-bottom__logo p img {
	height: auto;
	width: 48.309vw;
}

.p-link {
	background: #F1EDE3;
	margin-bottom: 28.986vw;
	margin-inline: auto;
	width: 100%;
}

.l-inner.l-link {
	margin-inline: auto;
	padding: 55.556vw 0 13.768vw;
  width: min(95%,92vw);
}

.p-link__items {
	display: grid;
	gap: 3.797vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-link__item a {
	display: inline-block;
}

.p-link__item a img {
	height: auto;
	margin-bottom: 2.865vw;
	width: 100%;
}

.p-link__item a p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	text-align: center;
}

.p-point01 {
	margin-bottom: 4vw;
}

.p-point__contents-box {
	border: 4px solid #D0D0D1;
	padding: 19.778vw 0 10.43vw;
	margin-bottom: -11.215vw;
	position: relative;
}

.p-point__contents-box:before {
	position: absolute;
	content: "";
	background: url(../images/design/sp_top.png) no-repeat center center / contain;
	width: 91.787vw;
	height: 13.215vw;
	left: 50%;
	transform: translateX(-50%);
	top: -7vw;
}

.p-point__contents-box.point02 {
	margin-bottom: -10.43vw;
}

.p-point__contents {
	display: grid;
	gap: 4.072vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 7.488vw;
	place-items: center;
}

.p-point__contents-left img {
	height: auto;
	width: 17.633vw;
}

.p-point__contents-right span {
	display: block;
	text-align: center;
}

.p-point__contents-right span.top {
	color: #BC9025;
	font-size: 5.314vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5909090909;
}

.p-point__contents-right span.bottom {
	font-size: 4.348vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5555555556;
}

.p-point__contents02 {
	display: grid;
	gap: 5.802vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 11.077vw;
	margin-inline: auto;
	padding: 0;
	width: min(95%,86.9vw);
}

.p-point__contents02.reverse {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 11.908vw;
}

.p-point__contents02-left.reverse {
	order: 2;
}

.p-point__contents02-left.reverse h3 {
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 2.246vw;
}

.p-point__contents02-left.reverse p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-point__contents02-left img {
	height: auto;
	width: 100%;
}

.p-point__contents02-right.reverse {
	order: 1;
}

.p-point__contents02-right.reverse img {
	height: auto;
	width: 100%;
}

.p-point__contents02-right h3 {
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 3.246vw;
}

.p-point__contents02-right p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
}

.p-point__img {
	height: auto;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	width: 297.585vw;
}

.p-point__img img {
	height: auto;
	width: 100%;
}

.p-point02 {
	margin-bottom: 2.908vw;
	width: 100%;
}

.l-inner.l-point02 {
	padding: 14.493vw 0 14vw;
}

}