.p-mv {
	position: relative;
	height: 84rem;
}

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

.p-mv__txt img {
	width: 23.4rem;
}

.p-mv__img {
	position: absolute;
}

.p-mv__img img {
	width: 100%;
}

.p-mv .mv-img01 {
	left: -8.2rem;
	top: -2.3rem;
	width: 27.3rem;
}

.p-mv .mv-img05 {
	left: -2.5rem;
	bottom: 16rem;
	width: 22.6rem;
}

.p-mv .mv-img06 {
	left: 2.6rem;
	bottom: 0;
	width: 14rem;
}

.p-about {
	padding: 9.7rem 0 11.2rem;
	text-align: center;
}

.p-about img {
	width: 30.9rem;
}

.p-concept {
	background-color: var(--color-secondary);
	margin-bottom: 16.8rem;
	padding: 6rem 0 17.4rem;
	position: relative;
	z-index: 1;
}

.p-concept::before {
	content: "";
	background: url("../images/home/bg_icon01.svg") repeat-x left top/contain;
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	height: 2.6rem;
	z-index: -1;
}

.p-concept::after {
	content: "";
	background: url("../images/home/bg_icon01.svg") repeat-x left top/contain;
	transform: rotateX(180deg);
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 2.6rem;
	z-index: -1;
}

.p-concept__ttl {
	margin-bottom: 3.2rem;
}

.p-concept__ttl img {
	width: 15.4rem;
}

.p-concept .concept-item {
	display: flex;
	flex-direction: column;
	margin-bottom: 15.8rem;
	position: relative;
}

.p-concept .concept-item:last-child {
	margin-bottom: 0;
}

.p-concept .concept-item:nth-child(even) .concept-item__info {
	text-align: right;
}

.p-concept .concept-item__info {
	position: relative;
}

.p-concept .concept-item__img {
	flex-shrink: 0;
	position: relative;
}

.p-concept .concept-item__ttl {
	color: #a96303;
	font-weight: bold;
	line-height: var(--lh);
	--lh: 1.5263157895;
	font-size: 1.9rem;
	margin-bottom: 1.6rem;
}

.p-concept .concept-item__txt {
	--lh: 1.9375;
	line-height: var(--lh);
}

.p-concept .concept-item .cpt-icon01 {
	background: url("../images/home/cpt_icon01_sp.png") no-repeat center/contain;
	aspect-ratio: 161/201;
	width: 16.1rem;
	position: absolute;
	left: -0.5rem;
	top: -13.5rem;
	z-index: 1;
}

.p-concept .concept-item .cpt-icon02 {
	background: url("../images/home/cpt_icon02.png") no-repeat center/contain;
	aspect-ratio: 226/389;
	width: 18.6rem;
	position: absolute;
	right: -2.2rem;
	bottom: calc(100% + 13.7rem);
	z-index: -1;
}

.p-concept .concept-item .cpt-icon03 {
	background: url("../images/home/cpt_icon03_sp.png") no-repeat center/contain;
	aspect-ratio: 315/195;
	width: 31.5rem;
	position: absolute;
	left: 2.1rem;
	top: -16.2rem;
	z-index: 1;
}

.p-concept .concept-item .cpt-icon04 {
	background: url("../images/home/cpt_icon04.png") no-repeat center/contain;
	aspect-ratio: 321/228;
	width: 19.8rem;
	position: absolute;
	left: 16rem;
	bottom: -11.3rem;
	z-index: 1;
}

.p-concept .concept-item .cpt-icon05 {
	background: url("../images/home/cpt_icon05.png") no-repeat center/contain;
	aspect-ratio: 367/335;
	width: 21.8rem;
	position: absolute;
	left: -3.8rem;
	bottom: -30.8rem;
	z-index: 1;
}

.p-shop {
	padding-top: 5rem;
}

.p-shop .status-list {
	display: flex;
	gap: 3.4rem;
	margin-bottom: 2.5rem;
}

.p-shop .status-list li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 1.1rem;
}

.p-shop .status-list li::before {
	content: "";
	background-color: var(--color-status);
	border-radius: 50%;
	aspect-ratio: 1;
	width: 1.8rem;
}

.p-shop .status-list li.status-1 {
	--color-status: #69c5de;
}

.p-shop .status-list li.status-2 {
	--color-status: #fbb03b;
}

.p-shop .status-list li.status-3 {
	--color-status: #80b17a;
}

.p-shop .status-list li.status-4 {
	--color-status: #db8fe2;
}

.p-shop__ttl {
	margin-bottom: 3rem;
}

.p-shop__ttl img {
	width: 17rem;
}

.p-shop__desc {
	font-size: 1.9rem;
	font-weight: bold;
	margin-bottom: 1.8rem;
	text-indent: -1rem;
}

.p-shop__txt {
	--lh: 1.7857142857;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: var(--lh);
	margin-bottom: 10rem;
}

.p-shop__head {
	display: flex;
	position: relative;
	z-index: 2;
	gap: 0.3rem;
}

.p-shop__head li.restaurant a {
	background-color: #ccb092;
}

.p-shop__head li.restaurant.active a {
	background-color: #f9f6f3;
	border-bottom-color: transparent;
}

.p-shop__head li.shop a {
	background-color: #52a5b6;
}

.p-shop__head li.shop.active a {
	background-color: #edf6f8;
	border-bottom-color: transparent;
}

.p-shop__head li a {
	border: 2px solid #c4aa8b;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-align: center;
	border-radius: 1rem 1rem 0 0;
	height: 5.2rem;
	padding-inline: 2rem;
}

.p-shop__head li:not(.active) img {
	filter: brightness(0) invert(1);
}

.p-shop__content {
	border-top: 2px solid #c4aa8b;
	margin-top: -2px;
}

.p-shop__content .tab-box {
	padding: 2.1rem 0 7.4rem;
}

.p-shop__content .box-restaurant {
	background-color: #f9f6f3;
}

.p-shop__content .box-shop {
	background-color: #edf6f8;
}

.p-shop__list {
	display: grid;
	gap: 2.5rem 0.8rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-shop__list .shop-card {
	position: relative;
}

.p-shop__list .shop-card.status-1 {
	--color-status: #69c5de;
}

.p-shop__list .shop-card.status-2 {
	--color-status: #fbb03b;
}

.p-shop__list .shop-card.status-3 {
	--color-status: #80b17a;
}

.p-shop__list .shop-card.status-4 {
	--color-status: #db8fe2;
}

.p-shop__list .shop-card::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 3rem;
	aspect-ratio: 1;
	background: linear-gradient(135deg, var(--color-status) 50%, transparent 50.01%);
	z-index: 3;
}

.p-shop__list .shop-card__img {
	position: relative;
	margin-bottom: 1rem;
}

.p-shop__list .shop-card__img::after {
	inset: 0;
	position: absolute;
	border: 2px solid #e2e2e2;
	pointer-events: none;
}

.p-shop__list .shop-card__img img {
	width: 100%;
}

.p-shop__list .shop-card__name {
	font-size: 1.3rem;
	margin-bottom: 1.2rem;
	font-weight: 600;
}

.p-shop__list .shop-card__txt {
	font-size: 1.3rem;
	line-height: 1.6923076923;
	margin-bottom: 1.8rem;
}

.p-shop__list .shop-card__type {
	font-size: 1.1rem;
}

.p-shop__list .shop-card__type:not(:last-child) {
	margin-bottom: 1.3rem;
}

.p-shop__list .shop-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0.2rem solid #45b2c2;
	border-radius: 0.8rem;
	background-color: #fff;
	font-weight: 600;
	font-size: 1rem;
	padding: 0.6rem 1rem;
	min-width: 13rem;
}

.p-shop__list .shop-card__btn:hover {
	background-color: var(--color-primary);
	color: #fff;
}

.p-access {
	background-color: #c8e8ed;
	position: relative;
	z-index: 1;
	padding: 7.4rem 0 4.7rem;
}

.p-access::before {
	content: "";
	background: url("../images/home/bg_icon02.svg") repeat-x left top/contain;
	position: absolute;
	bottom: calc(100% - 1rem);
	left: 0;
	right: 0;
	height: 2.4rem;
	z-index: -1;
}

.p-access__wrap {
	background-color: #fff;
}

.p-access__body {
	padding: 3rem 4rem 3rem 1.5rem;
}

.p-access__map {
	width: 100%;
}

.p-access__map iframe {
	width: 100%;
	height: 100%;
	display: block;
}

.p-access__ttl {
	margin-bottom: 1.5rem;
}

.p-access__des {
	font-size: 1.3rem;
	margin-bottom: 3rem;
}

.p-access__row {
	display: grid;
	font-size: 1.2rem;
	gap: 0.8rem;
	grid-template-columns: 12rem auto;
}

.p-access__row:not(:last-child) {
	margin-bottom: 0.5rem;
}

.p-access__sub {
	font-weight: 600;
	margin-top: 3.4rem;
	font-size: 1.4rem;
	margin-bottom: 0.8rem;
}

@media (min-width: 768px) {

.nowrap-pc {
	white-space: nowrap;
}

.p-mv {
	max-width: 136.6rem;
	margin: -3.9rem auto 0;
}

.p-mv__txt {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 19.6rem;
	z-index: 10;
}

.p-mv__txt img {
	width: 31.8rem;
}

.p-mv .mv-img01 {
	left: 5.1rem;
	top: 0;
	width: 55rem;
}

.p-mv .mv-img02 {
	left: 51.8rem;
	top: 4.7rem;
	width: 34.4rem;
}

.p-mv .mv-img03 {
	right: -5.3rem;
	top: 2.2rem;
	width: 53.6rem;
}

.p-mv .mv-img04 {
	left: 27.6rem;
	top: 30rem;
	width: 17.7rem;
}

.p-mv .mv-img05 {
	left: -7.4rem;
	bottom: 2.7rem;
	width: 34.2rem;
}

.p-mv .mv-img06 {
	left: 27rem;
	bottom: 1.7rem;
	width: 34.9rem;
}

.p-mv .mv-img07 {
	right: -9.8rem;
	top: 30rem;
	width: 54.8rem;
}

.p-mv .mv-img08 {
	right: -12.6rem;
	bottom: 0;
	width: 64.5rem;
}

.p-about {
	padding: 15.4rem 0 21.5rem;
}

.p-about img {
	width: 63.7rem;
}

.p-concept {
	margin-bottom: 20.4rem;
	padding: 10rem 0 20rem;
}

.p-concept::before {
	height: 4.7rem;
}

.p-concept::after {
	height: 4.7rem;
}

.p-concept__ttl {
	margin-bottom: 1rem;
}

.p-concept__ttl img {
	width: 25.3rem;
}

.p-concept .concept-item {
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.7rem;
}

.p-concept .concept-item:nth-child(1) .concept-item__info {
	padding-bottom: 3.6rem;
}

.p-concept .concept-item:nth-child(3) .concept-item__info {
	padding-bottom: 8.2rem;
}

.p-concept .concept-item:nth-child(even) .concept-item__img {
	order: -1;
	margin-right: 0;
	margin-left: -7.1rem;
}

.p-concept .concept-item:nth-child(even) .concept-item__info {
	padding-left: 0;
	padding-right: 11rem;
}

.p-concept .concept-item__info {
	padding-left: 11.8rem;
}

.p-concept .concept-item__img {
	margin-right: -7.1rem;
	width: 74.6rem;
}

.p-concept .concept-item__ttl {
	--lh: 1.4333333333;
	font-size: 3rem;
	margin-bottom: 3.6rem;
}

.p-concept .concept-item .cpt-icon01 {
	background-image: url("../images/home/cpt_icon01.png");
	aspect-ratio: 562/330;
	width: 56.2rem;
	left: -1rem;
	top: -21.8rem;
}

.p-concept .concept-item .cpt-icon02 {
	right: 13.7rem;
	bottom: calc(100% + 3.7rem);
	width: 22.6rem;
	z-index: 1;
}

.p-concept .concept-item .cpt-icon03 {
	background-image: url("../images/home/cpt_icon03.png");
	aspect-ratio: 327/347;
	width: 32.7rem;
	left: 4.3rem;
	top: -24.4rem;
}

.p-concept .concept-item .cpt-icon04 {
	left: 19.2rem;
	bottom: -12.5rem;
	width: 32.1rem;
}

.p-concept .concept-item .cpt-icon05 {
	left: 13.7rem;
	bottom: -33.5rem;
	width: 36.8rem;
}

.p-shop {
	padding-top: 10rem;
}

.p-shop .status-list li {
	gap: 0.5rem;
	font-size: 1.4rem;
}

.p-shop .status-list li::before {
	width: 2rem;
}

.p-shop__ttl {
	margin-bottom: 4.7rem;
}

.p-shop__ttl img {
	width: 28rem;
}

.p-shop__desc {
	font-size: 2.5rem;
}

.p-shop__txt {
	--lh: 1.9375;
	font-size: 1.6rem;
	margin-bottom: 6.3rem;
}

.p-shop__head {
	gap: 0.8rem;
}

.p-shop__head li {
	width: 41rem;
}

.p-shop__head li a {
	align-items: flex-start;
	padding: 2.8rem 1rem 3rem;
	border-radius: 2rem 2rem 0 0;
	height: 8.4rem;
}

.p-shop__content .tab-box {
	padding: 6.1rem 0 18rem;
}

.p-shop__list {
	gap: 4.7rem 2.5rem;
	grid-template-columns: repeat(4, 1fr);
}

.p-shop__list .shop-card__img {
	margin-bottom: 1.5rem;
}

.p-shop__list .shop-card__name {
	font-size: 1.5rem;
	margin-bottom: 1.8rem;
}

.p-shop__list .shop-card__txt {
	margin-bottom: 2.4rem;
}

.p-shop__list .shop-card__type {
	font-size: 1.2rem;
}

.p-shop__list .shop-card__type:not(:last-child) {
	margin-bottom: 1.9rem;
}

.p-shop__list .shop-card__btn {
	border-radius: 1rem;
	font-size: 1.2rem;
	padding: 0.8rem 1rem;
	min-width: 15.2rem;
}

.p-access {
	padding: 11.4rem 0 11rem;
}

.p-access::before {
	height: 4rem;
}

.p-access .container {
	max-width: 110.3rem;
}

.p-access__wrap {
	display: flex;
}

.p-access__body {
	flex: 1 1;
	padding: 5.5rem 3.5rem;
}

.p-access__map {
	width: 57rem;
}

.p-access__ttl {
	margin-bottom: 5.5rem;
}

.p-access__des {
	font-size: 1.8rem;
	margin-bottom: 5.5rem;
}

.p-access__row {
	font-size: 1.4rem;
	gap: 1rem;
	grid-template-columns: 15rem auto;
}

.p-access__sub {
	margin-top: 3.9rem;
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

}

@media (max-width: 767px) {

.p-mv__txt {
	padding: 31.4rem 0 31.9rem;
}

.p-mv .mv-img02 {
	right: -1rem;
	top: 0;
	width: 21.3rem;
}

.p-mv .mv-img03 {
	top: 15.4rem;
	left: -11.5rem;
	width: 30.9rem;
}

.p-mv .mv-img04 {
	right: -6.2rem;
	top: 15.9rem;
	width: 23.9rem;
}

.p-mv .mv-img07 {
	right: -8.3rem;
	bottom: 3.6rem;
	width: 20.5rem;
}

.p-mv .mv-img08 {
	right: 4.3rem;
	bottom: 0.5rem;
	width: 14.1rem;
}

.p-concept .concept-item:nth-child(1) {
	margin-bottom: 23.4rem;
}

.p-concept .concept-item__img {
	order: -1;
	margin: 0 -1.6rem 2.2rem;
}

.p-shop .status-list {
	gap: 1rem 1.9rem;
	margin-bottom: 3.5rem;
	flex-flow: wrap;
}

.p-shop__head li.restaurant img {
	width: 10.9rem;
}

.p-shop__head li.shop img {
	width: 14.2rem;
}

.p-access .container {
	padding-inline: 2rem;
}

.p-access__map {
	height: 27.9rem;
}

.p-access__ttl img {
	width: 13rem;
}

}

