main {
    background-color: #fff0b0;
    background-image: repeating-linear-gradient(-45deg, #ffec9c, #ffec9c 25px, transparent 0, transparent 50px);
}
.shop_main {
	background: transparent;
	background-image: none;
}

main h2 {
    color: #664c4c;
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 15px 0;
}

@media screen and (max-width: 760px) {
	.shop_lower_head .shop_info_sub {
		border: none;
	}
	.shop_contents {
		background-color: transparent;
		padding-top: 8vw;
	}
	main h2 {
		font-size: 5.5vw;
		line-height: 1.2;
		margin: 0 0 3vw 0;
	}
}






/* 掲載リクエスト */
.request_btn_area {
	margin: 0 0 13px 0;
}

.request_btn_area strong {
	display: block;
	font-weight: bold;
	font-size: 32px;
	text-align: center;
	color: #ff7949;
}

.request_btn_area strong svg {
	position: relative;
	top: 5px;
}

.request_btn_area strong span {
	font-size: 70%;
	font-weight: bold;
}

.request_btn_area p {
	text-align: center;
	font-size: 14px;
	margin: 0 0 5px 0;
}

.request {
	position: relative;
	border: none;
	width: 100%;
	background-color: #514343;
	font-size: 20px;
	font-weight: bold;
	color: #ffffff;
	padding: 13px 0;
	border-radius: 6px;
	box-shadow: 0 2px 3px 0 rgb(0 0 0 / 28%);
	line-height: 1;
	top: 0;
	transition: all 100ms 0s ease;
}

.request:hover {
	top: 2px;
	box-shadow: 0 0px 2px 0 rgb(0 0 0 / 28%);
}

.request.active {
	background-color: #fff6d0;
	color: #ff7507;
}

.dummy_twitter_top_list {
	display: flex;
	justify-content: space-between;
	margin: 0 0 40px 0;
}

.dummy_twitter_top_list li {
	width: 19%;
	height: 300px;
	margin-right: 2%;
	overflow: hidden;
	border-radius: 6px;
}

.dummy_twitter_top_list li:last-child {
	margin: 0;
}

.dummy_twitter_top_list li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 760px) {
	.dummy_twitter_top_list {
		margin: 0 -4vw 6vw -4vw;
		padding: 0vw 4vw 2vw 4vw;
		overflow-x: auto;
	}
	.dummy_twitter_top_list li {
		min-width: 60vw;
		height: 80vw;
		margin-right: 4vw;
		border-radius: 0.5vw;
	}
	.request_btn_area p {
		font-size: 3.5vw;
		margin: 0 0 1vw 0;
	}
	.request {
		font-size: 5vw;
		padding: 3.5vw 0;
		border-radius: 1vw;
	}
}

/* お店の情報 */
.information.shop_foot_dl h2{
    color: #664c4c;
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 15px 0;
}
@media screen and (max-width: 760px) {
	.information.shop_foot_dl h2 {
		font-size: 5.5vw;
		line-height: 1.2;
		margin: 0 0 3vw 0;
	}
}

/* 掲載訴求エリア */
.pr_shop_regist {
	background-color: #FFFFFF;
	border: solid 1px #e1d4c0;
	padding: 20px;
	display: flex;
	margin: 0 0 50px 0;
	justify-content: space-between;
}

.pr_shop_regist dl {
	width: 710px;
}

.pr_shop_regist dl dt {
	line-height: 1;
	background-color: #fcf5e2;
	border: solid 1px #e1d4c0;
	color: #ff7949;
	padding: 12px 15px 15px 15px;
	font-size: 24px;
	margin: 0 0 15px 0;
	font-weight: bold;
}
.pr_shop_regist dl dt span {
	font-weight: bold;
}

.pr_shop_regist dl dd strong {
	font-size: 22px;
	color: #5a3e3e;
	font-weight: bold;
	display: block;
	line-height: 1;
	margin: 0 0 6px 0;
}

.pr_shop_regist dl dd p {
	line-height: 160%;
	font-size: 14px;
}

.pr_shop_regist a {
	width: 280px;
	display: block;
	background-color: #ffe061;
	border: solid 1px #8e8e8e;
	border-radius: 6px;
	color: #5a3e3e;
	padding: 5px 15px 15px 15px;
	transition: 300ms 0s ease;
}

.pr_shop_regist a:hover {
	background-color: #ffe990;
}

.pr_shop_regist a .btn_dummy_info {
	display: flex;
	align-items: center;
	line-height: 1.2;
	margin: 0 0 10px 0;
}

.pr_shop_regist a .btn_dummy_info strong {
	font-size: 48px;
	font-weight: bold;
	margin: 0 10px 0 0;
}

.pr_shop_regist a .btn_dummy_info p {
	font-size: 20px;
	list-style: 1;
	font-weight: bold;
}

.pr_shop_regist a .btn_dummy {
	background-color: #FFFFFF;
	line-height: 1;
	color: #ff7949;
	width: 100%;
	padding: 14px 10px 16px 10px;
	border-radius: 6px;
	text-align: center;
	font-weight: bold;
	position: relative;
	font-size: 20px;
}

.pr_shop_regist a .btn_dummy::after {
	content: '\f105';
	color: #ff7949;
	font-family: FontAwesome;
	margin-left: 8px;
	font-size: 120%;
	position: absolute;
	right: 10px;
	margin: -2px 0 0 0;
}

@media screen and (max-width: 760px) {
	.pr_shop_regist {
		display: block;
		margin: 0 -4vw 7vw -4vw;
		border: none;
		padding: 4vw;
	}
	.pr_shop_regist::before,
	.pr_shop_regist::after {
		content: '';
		height: 4vw;
		width: 100%;
		display: block;
	}

	.pr_shop_regist dl {
		width: 100%;
		margin: 0 0 5vw 0;
	}

	.pr_shop_regist dl dt {
		padding: 3vw;
		line-height: 160%;
		font-size: 4vw;
		margin: 0 0 5vw 0;
		text-align: center;
	}

	.pr_shop_regist dl dt span {
		font-size: 140%;
		font-weight: bold;
	}

	.pr_shop_regist dl dd strong {
		font-size: 6vw;
		margin: 0 0 3vw 0;
	}

	.pr_shop_regist dl dd p {
		line-height: 160%;
		font-size: 4vw;
	}

	.pr_shop_regist a {
		width: 100%;
		border-radius: 2vw;
		padding: 1vw 3vw 3vw 3vw;
	}

	.pr_shop_regist a .btn_dummy_info strong {
		font-size: 15vw;
		font-weight: bold;
		margin: 0 2.5vw 0 0;
	}

	.pr_shop_regist a .btn_dummy_info p {
		font-size: 7vw;
		line-height: 1.2;
		font-weight: bold;
	}

	.pr_shop_regist a .btn_dummy {
		padding: 3vw 3vw 3vw 3vw;
		border-radius: 2vw;
		font-size: 5vw;
	}

	.pr_shop_regist a .btn_dummy::after {
		margin-left: 2vw;
		right: 3vw;
		margin: -0.8vw 0 0 0;
	}

	.pr_shop_regist a .btn_dummy_info {
		margin: 0 0 2vw 0;
	}
}


/* お店の雰囲気 */
.dummy_twitter_second_list {
	display: flex;
	flex-wrap: wrap;
}

.dummy_twitter_second_list li {
	width: 49%;
	margin: 0 2% 2% 0;
	display: flex;
	padding: 20px;
	border: solid 1px #e1d4c0;
	background-color: #FFFFFF;
}

.dummy_twitter_second_list li:nth-child(2n) {
	margin-right: 0;
}

.dummy_twitter_second_list li figure {
	width: 40%;
	height: 260px;
	display: block;
	margin: 0 3% 0 0;
	overflow: hidden;
	border-radius: 6px;
}

.dummy_twitter_second_list li p {
	width: 57%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 10;
}

.dummy_twitter_second_list li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 760px) {

	.dummy_twitter_second_list {
		margin: 0 0 8vw 0;
	}

	.dummy_twitter_second_list li {
		width: 100%;
		margin: 0 0 4vw 0;
		padding: 2vw;
	}
	.dummy_twitter_second_list li:last-child {
		margin: 0;
	}

	.dummy_twitter_second_list li figure {
		width: 35%;
		min-width: 35%;
		height: 35vw;
		margin: 0 3% 0 0;
		border-radius: 0.5vw;
	}

	.dummy_twitter_second_list li p {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 6;
	}

	.dummy_twitter_second_list li figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

}


/* 同じエリアのお店 */
.same_area_shop dl {
	margin: 0 0 28px 0;
}

.same_area_shop dl dt {
	color: #664c4c;
	font-size: 24px;
	font-weight: bold;
	margin: 0 0 15px 0;
}

.same_area_shop_list {
	display: flex;
	flex-wrap: wrap;
}

.same_area_shop_list li {
	width: 49%;
	margin: 0 2% 2% 0;
	border: solid 1px #e1d4c0;
	background-color: #FFFFFF;
}
.same_area_shop_list li * {
	transition: opacity 300ms 0s ease;
}
.same_area_shop_list li:hover * {
	opacity: 0.9;
}


.same_area_shop_list li a {
	display: flex;
	padding: 20px;
	color: #5a3e3e;
	height: 100%;
}

.same_area_shop_list li:nth-child(2n) {
	margin-right: 0;
}

.same_area_shop_list li figure {
	width: 80px;
	min-width: 80px;
	height: 80px;
	margin: 0 15px 0 0;
}

.same_area_shop_list li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.same_area_shop_list li a span.area_genre {
	display: block;
	font-size: 13px;
	font-weight: 100;
	line-height: 1;
	margin: 0 0 4px 0;
}

.same_area_shop_list li a span.shop_name {
	font-weight: bold;
	font-size: 20px;
	line-height: 1;
}

.same_area_shop_list li a p {
	font-size: 14px;
	font-weight: 100;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

@media screen and (max-width: 760px) {
	.same_area_shop dl {
		margin: 0 0 5vw 0;
	}

	.same_area_shop dl dt {
		font-size: 5.5vw;
		line-height: 1.2;
		margin: 0 0 3vw 0;
	}

	.same_area_shop_list {
		display: flex;
		flex-wrap: wrap;
	}

	.same_area_shop_list li {
		width: 100%;
		margin: 0 0 4vw 0;
	}

	.same_area_shop_list li a {
		padding: 2vw;
		height: 100%;
	}

	.same_area_shop_list li:nth-child(2n) {
		margin-right: 0;
	}

	.same_area_shop_list li figure {
		width: 22vw;
		min-width: 22vw;
		height: 22vw;
		margin: 0 2vw 0 0;
	}

	.same_area_shop_list li figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.same_area_shop_list li a span.area_genre {
		display: block;
		font-size: 2.5vw;
		margin: 0 0 0.5vw 0;
	}

	.same_area_shop_list li a span.shop_name {
		font-size: 4vw;
		line-height: 1;
		margin: 0 0 0.8vw 0;
	}

	.same_area_shop_list li a p {
		font-size: 3vw;
	}
}


/* このお店を見た人は、こちらもチェックしています */
.recommend_shop_list {
	display: flex;
	margin: 0 0 50px 0;
}

.recommend_shop_list li {
	width: 24%;
	margin: 0 2% 0 0;
	border: solid 1px #e1d4c0;
	background-color: #FFFFFF;
}

.recommend_shop_list li * {
	transition: opacity 300ms 0s ease;
}
.recommend_shop_list li:hover * {
	opacity: 0.9;
}

.recommend_shop_list li:last-child {
	margin-right: 0;
}

.recommend_shop_list li a {
	color: #5a3e3e;
	line-height: 1;
}

.recommend_shop_list li figure {
	width: 100%;
	height: 96px;
}

.recommend_shop_list li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.recommend_shop_list li a>div {
	padding: 15px;
}

.recommend_shop_list li a span.area_genre {
	display: block;
	font-size: 13px;
	font-weight: 100;
	line-height: 1;
	margin: 0 0 4px 0;
}

.recommend_shop_list li a span.shop_name {
	font-weight: bold;
	display: block;
	font-size: 17.7px;
	line-height: 1.4;
	margin: 0 0 5px 0;
}

.recommend_shop_list li a p.shop_info {
	font-size: 16px;
	font-weight: 100;
	line-height: 1.6;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}


@media screen and (max-width: 760px) {
	.recommend_shop_list {
		display: flex;
		margin: 0 -4vw 10vw -4vw;
		padding: 0 4vw 4vw 4vw;
		overflow-x: auto;
	}

	.recommend_shop_list li {
		width: 70vw;
		min-width: 70vw;
		margin: 0 4vw 0 0;
		border: solid 1px #e1d4c0;
		background-color: #FFFFFF;
	}

	.recommend_shop_list li:last-child {
		margin-right: 0;
	}

	.recommend_shop_list li a {
		color: #5a3e3e;
		line-height: 1;
	}

	.recommend_shop_list li figure {
		width: 100%;
		height: 26vw;
	}

	.recommend_shop_list li figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.recommend_shop_list li a>div {
		padding: 2vw;
	}

	.recommend_shop_list li a span.area_genre {
		display: block;
		font-size: 2.5vw;
		margin: 0 0 0.5vw 0;
	}

	.recommend_shop_list li a span.shop_name {
		font-weight: bold;
		display: block;
		font-size: 3.5vw;
		line-height: 1.4;
		margin: 0 0 1vw 0;
	}

	.recommend_shop_list li a p.shop_info {
		font-size: 3vw;
		font-weight: 100;
		line-height: 1.6;
		-webkit-line-clamp: 2;
	}

}


/* 掲載リクエストのモーダル */
.request_modal {
	display: none;
}

.request_modal.active {
	position: fixed;
	left: 0;
	top: 0;
	background-color: rgb(0 0 0 / 60%);
	width: 100%;
	height: 100%;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
}

.request_modal .modal_body {
	position: relative;
	overflow: hidden;
	background-color: #fffef2;
	padding: 30px 90px;
}

.request_modal .modal_body::before,
.request_modal .modal_body::after {
	content: '';
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 30px;
	height: 200px;
	width: 90px;
}

.request_modal .modal_body::before {
	background-image: url("/assets/img/global/character/ao3_h600.webp");
	right: 20px;
}

.request_modal .modal_body::after {
	background-image: url("/assets/img/global/character/midori3_h600.webp");
	left: 20px;
}

.request_modal .modal_body dl {
	margin: 0 0 40px 0;
}

.request_modal .modal_body dt {
	color: #5a3e3e;
	font-weight: bold;
	font-size: 24px;
	text-align: center;
	line-height: 1;
	margin: 0 0 30px 0;
}

.request_modal .modal_body dd p {
	text-align: center;
	margin: 0 0 15px 0;
}

.request_modal .modal_body dd p:last-child {
	margin: 0;
}


.request_modal .modal_body .modal_btns {
	display: flex;
	justify-content: center;
}

.request_modal .modal_body .close {
	border: solid 1px #dddddd;
	background-color: #FFFFFF;
	color: #525252;
	font-size: 20px;
	padding: 12px 0;
	width: 280px;
	border-radius: 6px;
	font-weight: 400;
	cursor: pointer;
	transition: opacity 300ms 0s ease;
}

.request_modal .modal_body .close:hover {
	opacity: 0.9;
}

@media screen and (max-width: 760px) {
	.request_modal {
		padding: 0 4vw;
	}

	.request_modal .modal_body {
		width: 100%;
		padding: 6vw 0 0 0;
		background-color: #fffef2;
	}

	.request_modal .modal_body::before,
	.request_modal .modal_body::after {
		bottom: 0vw;
		height: 40vw;
		width: 20vw;
	}

	.request_modal .modal_body::before {
		right: 0;
	}

	.request_modal .modal_body::after {
		left: 0;
	}

	.request_modal .modal_body dl {
		margin: 0 0 6vw 0;
	}

	.request_modal .modal_body dt {
		font-size: 5vw;
		margin: 0 0 5vw 0;
	}

	.request_modal .modal_body dd p {
		text-align: center;
		margin: 0 0 15px 0;
	}

	.request_modal .modal_body dd p:last-child {
		margin: 0;
	}

	.request_modal .modal_body .modal_btns {
		border-top: solid 1px #DDDDDD;
		background-color: #fffef2;
		width: 100%;
		padding: 5vw 0;
		position: relative;
		z-index: 1;
	}

	.request_modal .modal_body .close {
		border: solid 1px #dddddd;
		background-color: #FFFFFF;
		color: #525252;
		font-size: 20px;
		padding: 12px 0;
		width: 80vw;
	}

	.request_modal .modal_body .close:hover {
		opacity: 0.9;
	}
}
