@charset "UTF-8";

@keyframes yurayura {

	0%,100% {
		transform: rotate(5deg);
	}
	
	50% {
		transform: rotate(-5deg);
	}
	
}

@media screen and (min-width: 768px),print {
/* concept -------------------------------------*/
.p-fv {
	margin-bottom: 123px;
}

.l-inner.l-fv {
	padding: 58px 0px 0px;
	position: relative;
}

.l-inner.l-fv:before {
	background: url(../images/concept/fv_bg.jpg) no-repeat top center/cover;
	content: "";
	height: 614px;
	left: 50%;
	margin-inline: auto;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: min(95%, 1400px);
	z-index: 1;
}

.p-fv__en {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
	position: relative;
	text-align: center;
	z-index: 10;
}

.p-fv__en span.right {
	animation: yurayura 5s linear infinite;
	position: relative;
	top: -4px;
	transform-origin: center bottom;
}

.p-fv__ttl {
	margin-bottom: -73px;
	position: relative;
	text-align: center;
	z-index: 10;
}

.p-fv__ttl img {
	height: auto;
	width: 514px;
}

.p-fv__img {
	left: calc(50% - 456px);
	margin-bottom: -88px;
	position: relative;
	z-index: 20;
	width: 163px;
}

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

.p-fv__img02 {
	position: relative;
	text-align: center;
	z-index: 10;
	width: min(100%,1687px);
	margin-inline: auto;
}

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

.p-cute {
	margin-bottom: 159px;
	position: relative;
}

.p-cute::after {
	background: #F4F4F4;
	bottom: 0px;
	content: "";
	height: 1018px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.l-inner.l-cute {
	margin-inline: auto;
	padding: 0 0 73px;
	position: relative;
	width: min(85%, 1200px);
	z-index: 10;
}

.p-cute__contents {
	display: grid;
	gap: 0 50px;
	grid-template-columns: 640px 510px;
	margin-bottom: 83px;
}

.p-cute__contents-left {
	padding: 15px 0 0;
}

.p-cute__contents-left h2 {
	margin-bottom: 32px;
}

.p-cute__contents-left h2 img {
	height: auto;
	width: 485px;
}

.p-cute__contents-left h3 {
	font-size: clamp(1.375rem, 1.292rem + 0.17vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.8333333333;
	margin-bottom: 35px;
}

.p-cute__contents-left p {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	margin-bottom: 73px;
}

.c-btn a {
	background: #fff;
	border: 1px solid #313131;
	border-radius: 200px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	padding: 21px 94px;
	position: relative;
}

.c-btn a::after {
	background: url(../images/concept/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 25px;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}

.c-btn.design a {
	padding: 21px 91px;
}

.c-btn.design a::after {
	background: url(../images/concept/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 25px;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}

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

.p-cute__contents02 {
	display: grid;
	gap: 0 80px;
	grid-template-columns: 542px 580px;
}

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

.p-cute__contents02-right {
	padding: 31px 0 0;
}

.p-cute__contents02-right h3 {
	font-size: clamp(1.375rem, 1.292rem + 0.17vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.8333333333;
	margin-bottom: 37px;
}

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

.p-smart {
	margin-bottom: 84px;
}

.l-inner.l-smart {
	overflow: hidden;
	padding-bottom: 80px;
}

.p-smart__contents {
	display: grid;
	grid-template-columns: 745px 589px;
	margin-inline: auto;
	width: min(95%, 1280px);
	margin-bottom: -36px;
}

.p-smart__contents-left h2 {
	margin-bottom: 37px;
	padding-left: 40px;
}

.p-smart__contents-left h2 img {
	height: auto;
	width: 575px;
}

.p-smart__contents-left div.box {
	background: #fff;
	padding: 0 65px 47px 40px;
	position: relative;
	z-index: 10;
}

.p-smart__contents-left div.box h3 {
	font-size: clamp(1.375rem, 1.292rem + 0.17vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.8333333333;
	margin-bottom: 34px;
}

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

.p-smart__contents-right {
	position: relative;
	left: -55px;
	top: 38px;
}

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

.p-smart__img {
	left: 50%;
	margin-bottom: 67px;
	overflow: hidden;
	position: relative;
	transform: translateX(-50%);
	width: 2340px;
}

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

.c-btn.smart {
	text-align: center;
}

.c-btn.smart a {
	padding: 21px 236px;
}

.p-use {
	margin-bottom: 148px;
}

.l-inner.l-use {
	padding-bottom: 73px;
	position: relative;
}

.l-inner.l-use::after {
	background: #F4F4F4;
	bottom: 0;
	content: "";
	height: 533px;
	position: absolute;
	right: 0;
	width: 1226px;
	z-index: 1;
}

.p-use__contents {
	display: grid;
	gap: 0 80px;
	grid-template-columns: 840px 640px;
	margin-right: auto;
	position: relative;
	width: min(95%, 1552px);
	z-index: 10;
}

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

.p-use__contents-right {
	padding: 71px 0 0;
}

.p-use__contents-right h2 {
	margin-bottom: 8px;
}

.p-use__contents-right h2 img {
	height: auto;
	width: 615px;
}

.p-use__contents-right h3 {
	font-size: clamp(1.375rem, 1.292rem + 0.17vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.8333333333;
	margin-bottom: 36px;
}

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

.c-btn.floor a {
	padding: 21px 94px;
}

.p-bottom {
	background: url(../images/concept/bottom.jpg) no-repeat top center/cover;
	margin-bottom: 120px;
	margin-inline: auto;
	max-width: 1920px;
	width: 100%;
}

.l-inner.l-bottom {
	padding: 64px 0 234px;
}

.p-bottom__logo {
	margin-bottom: 37px;
	text-align: center;
}

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

.end-logobg{
	background-color:#650520;
	width: 460px;
	margin: 0 auto;
	padding: 15px 0 0 0;
}


.p-bottom__ttl {
	margin-inline: auto;
	position: relative;
	text-align: center;
	width: min(95%, 309px);
}

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

.p-bottom__ttl:before {
	background: url(../images/concept/bear.png) no-repeat center center/contain;
	content: "";
	height: 117px;
	left: calc(50% - 415px);
	position: absolute;
	top: 61px;
	width: 198px;
}

.p-bottom__ttl::after {
	background: url(../images/concept/light.png) no-repeat center center/contain;
	content: "";
	height: 254px;
	left: calc(50% + 218px);
	position: absolute;
	top: -75px;
	width: 89px;
}

.p-link {
	margin-bottom: 157px;
}

.l-inner.l-link {
	margin-inline: auto;
	width: min(95%, 1200px);
}

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

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

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


}

@media screen and (min-width:768px) and ( max-width:1630px) {
.p-fv__img {
	left: calc(50% - 27.975vw);
	margin-bottom: -5.399vw;
	position: relative;
	z-index: 20;
	width: 10vw;
}

.p-use__contents {
	display: grid;
	gap: 0 clamp(1rem, -2.564rem + 7.42vw, 5rem);
	grid-template-columns: 45.534vw 45.264vw;
	margin-right: auto;
	position: relative;
	width: min(85%, 1552px);
	z-index: 10;
}

.p-use__contents-right h2 img {
	width: clamp(20rem, 3.573rem + 34.22vw, 38.438rem);
	height: auto;
}
}




@media screen and (min-width:768px) and ( max-width:1400px) {
.p-cute__contents {
	display: grid;
	gap: 0 3.571vw;
	grid-template-columns: 45.714vw 36.429vw;
	margin-bottom: 5.929vw;
}
.p-cute__contents02 {
	display: grid;
	gap: 0 5.714vw;
	grid-template-columns: 38.714vw 41.429vw;
}
}




@media screen and (min-width:768px) and ( max-width:1279px) {
.p-smart__contents {
	display: grid;
	grid-template-columns: 58.249vw 46.052vw;
	margin-inline: auto;
	width: min(95%, 1280px);
	margin-bottom: -2.815vw;
}
}



@media screen and (min-width:768px) and ( max-width:1180px) {
.p-smart__contents-left h2 img {
	width: clamp(21.875rem, 12.5rem + 19.53vw, 35.938rem);
	height: auto;
}
}

@media screen and (min-width:768px) and ( max-width:1260px) {
.p-fv__ttl {
	margin-bottom: -36px;
	position: relative;
	text-align: center;
	z-index: 10;
}
}


@media screen and (min-width:768px) and ( max-width:1160px) {
.p-fv__ttl img {
	width: clamp(20rem, -3.755rem + 49.49vw, 32.125rem);
	height: auto;
}
}

@media screen and (min-width:768px) and ( max-width:950px) {
.p-cute__contents-left h2 img {
	width: clamp(23.75rem, -3.942rem + 57.69vw, 30.313rem);
	height: auto;
}
}

@media screen and (min-width:768px) and ( max-width:901px) {
.p-smart__contents-left div.box {
	background: #fff;
	padding: 0 2.2vw 5.216vw 4.44vw;
	position: relative;
	z-index: 10;
}
}






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

.p-fv {
	margin-bottom: 18.947vw;
}

.l-inner.l-fv {
	padding: 14.594vw 0 0;
	position: relative;
}

.l-inner.l-fv:before {
	background: url(../images/concept/sp_fv_bg.jpg) no-repeat center center/contain;
	content: "";
	height: 148.309vw;
	left: 50%;
	margin-inline: auto;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: 1;
}

.p-fv__en {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 10.831vw;
	position: relative;
	text-align: center;
	z-index: 10;
}

.p-fv__en span.left img {
	height: auto;
	width: 57.729vw;
}

.p-fv__en span.right {
	animation: yurayura 5s linear infinite;
	position: relative;
	top: -0.966vw;
	transform-origin: center bottom;
}

.p-fv__en span.right img {
	height: auto;
	width: 11.594vw;
}

.p-fv__ttl {
	margin-bottom: 8.246vw;
	position: relative;
	text-align: center;
	z-index: 10;
}

.p-fv__ttl img {
	height: auto;
	width: 84.507vw;
}

.p-fv__img {
	left: 9vw;
	margin-bottom: -24.662vw;
	position: relative;
	z-index: 20;
}

.p-fv__img img {
	height: auto;
	width: 23.671vw;
}

.p-fv__img02 {
	position: relative;
	text-align: center;
	z-index: 10;
}

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

.p-cute {
	background: #F4F4F4;
	margin-bottom: -2.507vw;
  margin-bottom: 14vw;
}

.l-inner.l-cute {
	margin-inline: auto;
	padding: 14.493vw 0 18vw;
	width: 100%;
}

.p-cute__contents {
	display: grid;
	gap: 10.594vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 18.493vw;
}

.p-cute__contents-left {
	order: 2;
}

.p-cute__contents-left h2 {
	margin-bottom: 9.628vw;
	text-align: center;
	position: relative;
	left: -3vw;
}

.p-cute__contents-left h2 img {
	height: auto;
	width: 79.676vw;
}

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

.p-cute__contents-left p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	margin-bottom: 16.768vw;
	margin-inline: auto;
	width: min(95%,86.9vw);
}

.c-btn {
	text-align: center;
}

.c-btn a {
	background: #fff;
	border: 0.2vw solid #313131;
	border-radius: 48.309vw;
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	padding: 5.072vw 22.705vw;
	position: relative;
}

.c-btn a::after {
	background: url(../images/concept/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 6.039vw;
	position: absolute;
	right: 7.246vw;
	top: 50%;
	transform: translateY(-50%);
	width: 2.415vw;
}

.c-btn.design {
	text-align: center;
}

.c-btn.design a {
	padding: 5.072vw 22.705vw;
}

.c-btn.design a::after {
	background: url(../images/concept/btn_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 6.039vw;
	position: absolute;
	right: 7.246vw;
	top: 50%;
	transform: translateY(-50%);
	width: 2.415vw;
}

.p-cute__contents-right {
	order: 1;
}

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

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

.p-cute__contents02-left {
	margin-bottom: 6.179vw;
}

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

.p-cute__contents02-right {
	margin-inline: auto;
	width: min(95%,86.9vw);
}

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

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

.p-smart {
	margin-bottom: 22.324vw;
}

.l-inner.l-smart {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-smart__contents {
	display: contents;
}

.p-smart__contents-left {
	margin-inline: auto;
	order: 2;
	width: min(95%, 90.8vw);
}

.p-smart__contents-left h2 {
	margin-bottom: 9.628vw;
	padding-left: 2vw;
}

.p-smart__contents-left h2 img {
	height: auto;
	width: 90.821vw;
}

.p-smart__contents-left div.box {
	background: none;
	padding: 0;
}

.p-smart__contents-left div.box h3 {
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 3.246vw;
	margin-inline: auto;
	width: min(95%,86.9vw);
}

.p-smart__contents-left div.box p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	margin-bottom: 7.937vw;
	margin-inline: auto;
	width: min(95%,86.9vw);
}

.p-smart__contents-right {
	margin-bottom: 12.662vw;
	order: 1;
}

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

.p-smart__img {
	left: 50%;
	margin-bottom: 18.493vw;
	order: 3;
	overflow: hidden;
	position: relative;
	transform: translateX(-50%);
	width: 297.585vw;
}

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

.c-btn.smart {
	order: 4;
	text-align: center;
}

.c-btn.smart a {
	padding: 5.072vw 27.705vw;
}

.p-use {
	background: #F4F4F4;
	margin-bottom: 19.324vw;
}

.l-inner.l-use {
	padding-bottom: 17.493vw;
	position: static;
}

.l-inner.l-use::after {
	content: none;
}

.p-use__contents {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin: 0;
	width: 100%;
}

.p-use__contents-left {
	margin-bottom: -2vw;
}

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

.p-use__contents-right {
	padding: 0;
}

.p-use__contents-right h2 {
	margin-bottom: 8.628vw;
	text-align: center;
	padding-left: 3vw;
}

.p-use__contents-right h2 img {
	height: auto;
	width: 90.821vw;
}

.p-use__contents-right h3 {
	font-size: 4.831vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 3.246vw;
	margin-inline: auto;
	width: min(95%,86.9vw);
}

.p-use__contents-right p {
	font-size: 3.382vw;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	margin-bottom: 16.768vw;
	margin-inline: auto;
	width: min(95%,86.9vw);
}

.c-btn.floor {
	text-align: center;
}

.c-btn.floor a {
	padding: 5.072vw 22.705vw;
}

.p-bottom {
	background: url(../images/concept/sp_bottom.jpg) no-repeat top center/cover;
	margin-bottom: 19.324vw;
	margin-inline: auto;
	width: 100%;
}

.l-inner.l-bottom {
	padding: 9.662vw 0 30.918vw;
}

.p-bottom__logo {
	margin-bottom: 7.729vw;
	text-align: center;
}

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

.end-logobg{
	background-color:#650520;
	width: 60vw;
	margin: 0 auto;
	padding: 1.5vw 0 1vw 0;
}


.p-bottom__ttl {
	margin-inline: auto;
	position: relative;
	text-align: center;
	width: min(95%, 48.5vw);
}

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

.p-bottom__ttl:before {
	background: url(../images/concept/sp_bear.png) no-repeat center center/contain;
	content: "";
	height: 17.15vw;
	left: -21.464vw;
	position: absolute;
	top: 33.816vw;
	width: 28.986vw;
}

.p-bottom__ttl::after {
	background: url(../images/concept/sp_light.png) no-repeat center center/contain;
	content: "";
	height: 36.957vw;
	/* left: 0; */
	position: absolute;
	right: -20.256vw;
	top: 13.802vw;
	width: 13.043vw;
}

.p-link {
	margin-bottom: 28.261vw;
}

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

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

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

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


}