@charset "utf-8";

/*--------------------------------------

 営業ページ

---------------------------------------*/
/* レイアウト */
.s--container {
	width: min(100%, 1000px);
	margin: 0 auto;
	padding: 40px 24px;
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s--container {
	width: min(100%, 1000px);
	margin: 0 auto;
	padding: 80px 24px;
}

.content-wrapper {
	max-width: 1000px;
	margin: 0 auto;
}
}
/*--------------------------------------

　トップセールス

---------------------------------------*/
#top-sales {
	padding: 0;
	color: #fff;
	background: var(--color-CR1200);
	text-align: center;
}

.top-title-wrapper {
	display: block;
	position: absolute;
	top: 45%;
	right: 0;
	left: 0;
	margin: auto;
}

.s-top-ttl {
	display: none; /*画像にタイトルがない場合に表示させる*/
	position: relative;
	margin: auto;
	color: var(--color-primary);
	font-family: var(--font-maru);
	font-weight: bold;
	font-size: var(--font-size-title-sub);
	text-align: center;
	-webkit-text-stroke: 3px var(--color-CR100);
}

.s-top-ttl img {
	display: block;
	margin: 0 auto;
}

#top-sales .top-sales_inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

#top-sales .swiper-container {
	margin: 0;
	padding: 0;
}

#top-sales .swiper-wrapper {
	display: flex;
	align-items: center;
}

.posterlist {
	padding-bottom: 0px;
}

#top-sales .swiper-container .posterlist .swiper-slide {
	position: relative;
	text-align: center;
}

#top-sales .swiper-container .posterlist .swiper-slide .bg_cover_primary {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-height: fit-content;
	object-fit: cover;
}

#top-sales .swiper-container .posterlist .swiper-slide .bg_cover {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-height: fit-content;
	object-fit: cover;
}

#top-sales .swiper-container .posterlist .swiper-slide .poster_primary {
	position: relative;
	width: auto;
	max-width: 100%;
	height: auto;
	backdrop-filter: blur(10px) brightness(0.65) contrast(120%);
}

#top-sales .swiper-container .posterlist .swiper-slide .poster {
	position: relative;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 390px;
	backdrop-filter: blur(10px) brightness(0.65) contrast(120%);
}

#top-sales .swiper-container .posterlist .swiper-slide .poster img {
	display: block;
	width: auto;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
	max-height: 390px;
	transition: none;
}

#top-sales .swiper-container .posterlist .swiper-slide:hover img {
	opacity: 1;
	transform: scale(1);
}

#top-sales .swiper-container .swiper-pagination {
	position: absolute;
}

/*PC表示 */
@media screen and (min-width: 768px) {
.top-title-wrapper {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	margin: auto;
}
}

/*PC表示 */
@media screen and (min-width: 865px) {
.s-content-wrapper {
	position: relative;
	height: 844px;
	margin-top: -10px;
	padding: 0 24px;
	background: var(--background-top-sales) no-repeat 55%;
	background-size: cover;
}

.top-title-wrapper {
	display: block;
	position: absolute;
	top: 40%;
	right: 0;
	left: 0;
	margin: auto;
}

.s-top-ttl {
	font-size: var(--font-size-title-ll);
	-webkit-text-stroke: 6px var(--color-CR100);
}

.s-top-ttl img {
	display: block;
	width: 200px;
	margin: 0 auto;
}

#top-sales .swiper-container .posterlist .swiper-slide img {
	max-height: calc(680px * 7/10);
}
}




/*　スケジュール　*/
#schedule {
	width: 100%;
	background: radial-gradient(circle closest-side at 60% 43%, #ffe6f7 26%, rgba(187,0,51,0) 27%), radial-gradient(circle closest-side at 40% 43%, #ffe6f7 26%, rgba(187,0,51,0) 27%), radial-gradient(circle closest-side at 42% 22%, #fff9ff 43%, rgba(221,51,85,0) 45%), radial-gradient(circle closest-side at 58% 22%, #fff9ff 43%, rgba(221,51,85,0) 45%), radial-gradient(circle closest-side at 50% 35%, #fff9ff 32%, rgba(221,51,85,0) 27%), radial-gradient(circle closest-side at 60% 43%, #ffe6f7 26%, rgba(187,0,51,0) 27%) 50px 50px, radial-gradient(circle closest-side at 40% 43%, #ffe6f7 26%, rgba(187,0,51,0) 27%) 50px 50px, radial-gradient(circle closest-side at 40% 22%, #fff9ff 40%, rgba(221,51,85,0) 45%) 52px 50px, radial-gradient(circle closest-side at 60% 22%, #fff9ff 40%, rgba(221,51,85,0) 45%) 48px 50px, radial-gradient(circle closest-side at 50% 35%, #fff9ff 30%, rgba(221,51,85,0) 37%) 50px 50px;
	background-color: #ffe6f7;
	background-size: 100px 100px;
}

.horizontal--schedule ul li input[type="radio"]:checked + label {
	border: solid 1px var(--color-CR1200);
	background: var(--color-primary);
	color: var(--color-CR100);
}

.horizontal--schedule_wrapper {
	position: relative;
	margin-right: -24px;
	margin-left: -24px;
	overflow-x: hidden;
}

.horizontal--schedule {
	padding-left: 24px;
}

.horizontal--schedule ul {
	display: flex;
	max-width: 1000px;
	padding-right: 24px;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.horizontal--schedule ul li {
	display: grid;
	place-items: center;
	margin-left: 8px;
	white-space: nowrap;
}

.horizontal--schedule ul li label {
	padding: 16px;
	border-radius: var(--round-s);
	border: solid 1px var(--color-CR1200);
	background: var(--color-CR100);
	color: var(--color-CR1200);
}

.horizontal--schedule ul li:first-child {
	margin-left: 0;
}

.days {
	font-size: var(--font-size-title-mm);
}

p.blog::before {
	content: url(../images/common/icon/ic_blog_w.svg);
	display: inline-block;
	position: relative;
	top: 4px;
	width: 19px;
	height: 19px;
	margin-right: 2px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, .8));
}


/* TAB-スケジュール用 */
.tab-area {
	cursor: pointer;
	max-width: 1000px;
}

.tab-box {
	display: flex;
	justify-content: space-around;
	align-items: center;
	max-width: 1000px;
	margin: 32px auto 0;
	max-width: 1000px;
}

.tab {
	width: 50%;
	line-height: var(--line-1);
	padding: 16px 0;
	border: solid 1px var(--color-CR1200);
	border-radius: 8px 0 0 8px;
	background: var(--color-CR100);
	text-align: center;
}

.tab:nth-child(2) {
	width: 50%;
	padding: 16px 0;
	border: solid 1px var(--color-CR1200);
	border-left: none;
	border-radius: 0 8px 8px 0;
	background: var(--color-CR100);
	text-align: center;
}

.tab.is-active {
	line-height: var(--line-1);
	border: solid 1px var(--color-CR1200);
	border-radius: 8px 0 0 8px;
	background-color: var(--color-primary);
	color: #fff;
	font-weight: bold;
}

.tab:nth-child(2).is-active {
	border: solid 1px var(--color-CR1200);
	border-left: none;
	border-radius: 0 8px 8px 0;
	background-color: var(--color-primary);
	color: #fff;
	font-weight: bold;
}

.tab2.is-active {
	background-color: var(--color-primary);
	color: #fff;
	font-weight: bold;
}

.content {
	display: none;
}

.content.is-show {
	display: block;
}

.content2 {
	display: none;
}

.content2.is-show {
	display: block;
}

.s--content-photos {
	gap: 8px 0;
}

.pc_time {
	display: none;
}

.tab--content-photos {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px 8px;
	margin-top: 32px;
}

.tab--content-photos li {
	display: block;
	width: calc((100% - 16px)/3);
	height: calc((100vw - 64px)/3/3*4)
}

.tab--content-photos li a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: var(--round-s);
	overflow: hidden;
}

.tab--content-photos li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* スケジュール-detail */
.tab--content-details {
	display: flex;
	flex-direction: column;
	gap: 8px 0;
	margin-top: 32px;
}

.tab--content-details li a {
	display: flex;
	justify-content: space-between;
	padding: 16px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-s);
	background: var(--color-CR100);
}

.tab--content-details li a .s-cast-info {
	width: calc(68% - 16px);
	margin-left: 16px;
}

.tab--detail_image_wrapper {
	position: relative;
	width: 32%;
	border-radius: var(--round-s);
	overflow: hidden;
}

.tab--content-details li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* PC表示 */
@media screen and (min-width: 865px) {
.horizontal--schedule {
	overflow-x: hidden;
}

.horizontal--schedule ul {
	padding-right: 0px;
}

.tab--content-photos {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px 8px;
}

.tab--content-photos li {
	position: relative;
	width: calc((100% - 32px)/5);
	height: 340px;
}

/* キャスト-detail */
.tab--content-details li a {
	height: 100%;
}

.tab--content-details {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
}

.tab--content-details li {
	width: calc(50% - 8px);
}
}


/* なかよしフォト */
#nakayoshi {
	width: 100%;
	background: var(--color-secondary);
}

#nakayoshi .swiper-wrapper {
	padding-bottom: 80px;
}

.photo-slide {
	position: relative;
	height: 268px;
}

.s--photo-p {
	font-size: var(--font-size-title-sub);
}

.photo-date {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 8px;
	font-size: var(--font-size-paragraph);
}

.slider_photo p {
	background: var(--color-link);
	color: var(--color-CR100);
	text-align: center;
	line-height: var(--line-1);
}

/* なかよしフォトモーダル */
.photo-slide_modal {
	position: relative;
	height: 550px;
}

.photo-date_modal {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 8px;
	font-size: var(--font-size-paragraph);
}

.slider_photo_modal p {
	background: var(--color-link);
	color: var(--color-CR100);
	text-align: center;
	line-height: var(--line-1);
}

.photo-slide_inner {
	display: block;
}

/* 店舗紹介ムービー */
#movie {
	width: 100%;
	background: var(--color-accent);
	font-size: var(--font-size-title-sub);
}

#movie img {
	width: calc(100vw - 48px);
}

#movie p {
	line-height: var(--line-1);
	margin-top: 8px;
}

.s-movie-list li a {
	position: relative;
	display: block;
}

.s-movie-list a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 55px;
	background: url(../images/common/icon/play.png) no-repeat;
	background-size: contain;
	transform: translate(-50%, -50%);
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s-movie-list {
	display: flex;
}

.s-movie-list li:nth-child(n+2) {
	margin: 0 0 0 24px;
}
}


/* イベント */
#eventdays {
	width: 100%;
	background: var(--color-CR100);
	background-image: linear-gradient(90deg, transparent 79px, #abced4 79px, #abced4 81px, transparent 81px), linear-gradient(#eee .1em, transparent .1em);
	background-size: 100% 1.9em;
}

.s-event-cast {
	position: relative;
	text-align: center;
}

.s-event-cast a {
	display: block;
}

.s-event-cast a:hover {
	transform: scale(1.01);
}

.s-event-cast a:hover {
	transform: scale(1.01);
}

.s-event-cast img {
	width: calc(100vw - 48px);
	height: 500px;
	object-fit: cover;
}

.s-event-count {
	display: inline-block;
	position: absolute;
	top: 16px;
	left: 16px;
	width: 78px;
	line-height: var(--line-s);
	margin: 0 auto;
	padding: 16px;
	border-radius: var(--round-50);
	background: var(--color-primary);
	font-size: var(--font-size-title-sub);
	color: var(--color-CR100);
	text-align: center;
}

.s-event-count span {
	line-height: var(--line-1);
	font-size: var(--font-size-title-lm);
	font-weight: bold;
	color: var(--color-CR100);
}

.s-event-prf {
	display: table;
	position: absolute;
	left: 50%;
	bottom: 16px;
	width: calc(100% - 32px);
	padding: 16px 0;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-s);
	background: var(--color-bg);
	transform: translateX(-50%);
	opacity: 0.9;
}

.s-event-prf p {
	font-weight: bold;
}

.s-event-date::before, .s-event-date::after {
	content: "~";
	display: inline-block;
}

.s-event-date {
	line-height: var(--line-1);
}

.s-event-name::before, .s-event-name::after {
	content: "★";
	display: inline-block;
}

.s-event-name {
	line-height: var(--line-1);
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s-event-cast {
	position: relative;
	width: 342px;
	text-align: center;
}

.s-event-cast a {
	display: block;
	width: 342px;
}

.s-event-box {
	display: flex;
}

.s-event-cast img {
	max-width: none;
	width: 342px;
	height: 500px;
	object-fit: cover;
}

.s-event-count {
	display: inline-block;
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 15px;
	border-radius: var(--round-50);
	background: var(--color-primary);
	font-size: var(--font-size-title-sub);
	color: var(--color-CR100);
	text-align: center;
}

.s-event-prf {
	display: table;
	position: absolute;
	left: 50%;
	bottom: 16px;
	width: 100vw;
	max-width: 310px;
	padding: 16px 0;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-s);
	background: var(--color-bg);
	transform: translateX(-50%);
	opacity: 0.9;
}
}

/* スワイパ―イベント */
.event--swiper_wrapper {
	width: 342px;
	height: 500px;
}


/* キャスト */
#casts {
	width: 100%;
	background: var(--color-primary-sub);
}

/* TAB2-キャスト用 */
.tab-wrap {
	background: var(--color-primary-sub);
}

.s-cast-btn-list {
	display: flex;
	background: var(--color-primary-sub);
}

.s-cast-btn-list li {
	background: var(--color-CR100);
}

.tab-btn {
	width: 50%;
	padding: 16px 0;
	border: solid 1px var(--color-CR1200);
	border-radius: 8px 0 0 8px;
	text-align: center;
	list-style: none;
	cursor: pointer;
	line-height: var(--line-1);
}

.tab-btn:nth-child(2) {
	width: 50%;
	padding: 16px 0;
	border: solid 1px var(--color-CR1200);
	border-left: none;
	border-radius: 0 8px 8px 0;
	text-align: center;
	list-style: none;
	cursor: pointer;
}

.tab-btn.show {
	border: solid 1px var(--color-CR1200);
	border-radius: 8px 0 0 8px;
	background: var(--color-primary);
	color: #fff;
	font-weight: bold;
	line-height: var(--line-1);
}

.tab-btn:nth-child(2).show {
	border: solid 1px var(--color-CR1200);
	border-left: none;
	border-radius: 0 8px 8px 0;
	background: var(--color-primary);
	color: #fff;
	font-weight: bold;
}

.tab-contents {
	display: none;
}

.tab-contents.show {
	display: block;
}

.tab--content-photos_cast {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px 8px;
	margin-top: 32px;
}

.tab--content-photos_cast li {
	display: block;
	width: calc((100% - 16px)/3);
	height: calc((100vw - 64px)/3/3*4);
}

.tab--content-photos_cast a {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	border-radius: var(--round-s);
}

.tab--content-photos_cast li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.new {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	min-width: 32px;
	line-height: 1;
	padding: 2px 4px 1px 4px;
	border-radius: 0 0 0 8px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
	color: #fff;
	background: #43B712;
	text-align: center;
	text-shadow: none;
}

.s-today {
	display: inline-block;
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 6px 5px;
	border-radius: var(--round-50);
	background: var(--color-primary);
	color: var(--color-CR100);
	font-size: var(--font-size-caption);
}

.cast-info {
	position: absolute;
	bottom: 8px;
	padding: 0 0 0 8px;
	color: var(--color-CR100);
	line-height: var(--line-1);
}

.name, .s-sp_time {
	text-shadow: 1px -1px 1px var(--color-CR1200), 1px 1px 1px var(--color-CR1200), -1px 1px 1px var(--color-CR1200), -1px -1px 1px var(--color-CR1200), 0 -1px 1px var(--color-CR1200), 0 1px 1px var(--color-CR1200), -1px 0 1px var(--color-CR1200), 1px 0 1px var(--color-CR1200);
}

.s-pc_time {
	display: none;
}

/* PC表示 */
@media screen and (min-width: 865px) {
.tab--content-photos_cast li {
	position: relative;
	width: calc((100% - 32px) / 5);
	height: 340px;
}

.cast-info {
	bottom: 16px;
	width: 100%;
	padding: 16px 16px 0 16px;
}

.s-today {
	display: none;
}

.s-sp_time {
	display: none;
}

.s-pc_time {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 8px 0;
	border-radius: var(--round-s);
	background: var(--color-primary);
	text-align: center;
}
}

/* キャスト-detail */
.tab--content-details_cast {
	display: flex;
	flex-direction: column;
	gap: 8px 0;
	margin-top: 32px;
}

.tab--content-details_cast li a {
	display: flex;
	justify-content: space-between;
	padding: 16px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-s);
	background: var(--color-CR100);
}

.tab--content-details_cast li a img {
	display: block;
	height: 100%;
	object-fit: cover;
}

.tab--content-details_cast li a .s-cast-info {
	width: calc(68% - 16px);
	margin-left: 16px;
}

.tab--content-details_cast li a .s-cast-info .s-cast_time {
	max-width: 170px;
	padding: 8px 37px;
	border-radius: var(--round-s);
	background: var(--color-primary);
	color: var(--color-CR100);
	text-align: center;
	font-size: var(--font-size-paragraph);
	line-height: var(--line-1);
}

.tab--content-details_cast li a .s-cast-info .s-cast-name {
	font-size: var(--font-size-title-sub);
	font-weight: bold;
	line-height: var(--line-1);
}

.tab--content-details_cast li a .s-cast-info .s-cast-p {
	font-size: var(--font-size-title-sub);
	line-height: var(--line-s);
}

.tab--content-details_cast li_cast a .s-cast-info .blog_ttl,
.tab--content-details_cast li a .s-cast-info .blog_text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* PC表示 */
@media screen and (min-width: 865px) {
.tab--content-details_cast li a {
	height: 100%;
}

.tab--content-details_cast {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
}

.tab--content-details_cast li {
	width: calc(50% - 8px);
}
}


/* ブログ */
#blog {
	width: 100%;
	background: var(--color-secondary);
}

.s--blog-p {
	font-size: var(--font-size-title-sub);
	text-align: center;
	line-height: var(--line-1);
}

.s--blog-list li {
	width: calc(100vw - 48px);
	padding: 24px 80px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-m);
	background: var(--color-CR100);
	text-align: center;
}

.s-blog-image {
	width: 100%;
	height: 30%;
	object-fit: cover;
}

.s--blog-topic {
	display: flex;
	align-items: center;
	gap: 8px;
	text-align: left;
}

.s--blog-topic img {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
}

.s--blog-topic p {
	font-size: var(--font-size-title-sub);
	line-height: var(--line-1);
}

.s--blog-topic time {
	display: inline-block;
	font-size: var(--font-size-title-sub);
	line-height: var(--line-1);
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s--blog-p {
	text-align: left;
}

.s--blog-list {
	display: flex;
}

.s--blog-list li {
	padding: 24px 24px 0 24px;
}

.s--blog-list li:nth-child(n+2) {
	margin: 0 0 0 24px;
}

.s-blog-image {
	width: 100%;
	height: 60%;
	object-fit: cover;
}
}


/* ランキング */
#ranking {
	width: 100%;
	background: linear-gradient(324deg, #fff2bc 4%, transparent 4%) -70px 43px, linear-gradient( 36deg, #fff2bc 4%, transparent 4%) 30px 43px, linear-gradient( 72deg, #fedaa1 8.5%, transparent 8.5%) 30px 43px, linear-gradient(288deg, #fedaa1 8.5%, transparent 8.5%) -70px 43px, linear-gradient(216deg, #fedaa1 7.5%, transparent 7.5%) -70px 23px, linear-gradient(144deg, #fedaa1 7.5%, transparent 7.5%) 30px 23px, linear-gradient(324deg, #fff2bc 4%, transparent 4%) -20px 93px, linear-gradient( 36deg, #fff2bc 4%, transparent 4%) 80px 93px, linear-gradient( 72deg, #fedaa1 8.5%, transparent 8.5%) 80px 93px, linear-gradient(288deg, #fedaa1 8.5%, transparent 8.5%) -20px 93px, linear-gradient(216deg, #fedaa1 7.5%, transparent 7.5%) -20px 73px, linear-gradient(144deg, #fedaa1 7.5%, transparent 7.5%) 80px 73px;
	background-color: #fff2bc;
	background-size: 100px 100px;
}

.s--rank-p {
	font-size: var(--font-size-title-sub);
	text-align: center;
	line-height: var(--line-1);
}

.horizontal--rank_wrapper {
	position: relative;
	margin-right: -24px;
	margin-left: -24px;
	overflow-x: hidden;
}

.horizontal--rank {
	display: flex;
	padding-left: 24px;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.s--rank-horizontal {
	display: flex;
	padding-right: 24px;
}

.s--rank-horizontal li {
	display: inline-block;
	position: relative;
	width: 187px;
	margin-left: 8px;
	border-radius: var(--round-m);
	white-space: nowrap;
	overflow: hidden;
}

.s--rank-horizontal li:first-child {
	margin-left: 0;
}

.s--rank-horizontal li a {
	display: block;
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 280px;
}

.s--rank-horizontal li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.s-whitemedal {
	display: inline-block;
	position: absolute;
	top: 4px;
	left: 4px;
	padding: 9px 11px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-50);
	background: var(--color-CR100);
	color: var(--color-CR1200);
	font-size: var(--font-size-title-lm);
	font-weight: bold;
	line-height: var(--line-ss);
}

.s-whitemedal.gold {
	border: solid 2px var(--color-CR100);
	background: var(--color-goldmedal);
	color: var(--color-CR100);
	line-height: var(--line-ss);
}

.s-whitemedal.silver {
	border: solid 2px var(--color-CR100);
	background: var(--color-silvermedal);
	color: var(--color-CR100);
	line-height: var(--line-ss);
}

.s-whitemedal.bronz {
	border: solid 2px var(--color-CR100);
	background: var(--color-bronzmedal);
	color: var(--color-CR100);
	line-height: var(--line-ss);
}

.s-whitemedal.w {
	padding: 10px 5px;
	line-height: var(--line-ss);
}

.s-rank-prf {
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
}

.s-rank-name {
	color: var(--color-CR100);
	text-shadow: 1px -1px 1px var(--color-CR1200), 1px 1px 1px var(--color-CR1200), -1px 1px 1px var(--color-CR1200), -1px -1px 1px var(--color-CR1200), 0 -1px 1px var(--color-CR1200), 0 1px 1px var(--color-CR1200), -1px 0 1px #fff, 1px 0 1px var(--color-CR1200);
	font-size: var(--font-size-title-sub);
	line-height: var(--line-1);
}

.s-rank-time {
	padding: 8px 37px;
	border-radius: var(--round-s);
	background: var(--color-primary);
	color: var(--color-CR100);
	font-size: var(--font-size-title-sub);
	line-height: var(--line-1);
}

/* PC表示 */
@media screen and (min-width: 1025px) {
.s--rank-p {
	text-align: left;
}

.s--rank-horizontal {
	display: flex;
	padding-right: 0;
}

.horizontal--rank_wrapper {
	margin-left: 0;
}

.horizontal--rank {
	padding-left: 0;
	overflow-x: hidden;
}

.horizontal--rank ul {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	max-width: 1000px;
}

.horizontal--rank ul li {
	display: inline-block;
	position: relative;
	width: 187px;
	margin-left: 0px;
	border-radius: var(--round-m);
	white-space: nowrap;
}
}


/* レビュー */
#review {
	width: 100%;
	background: var(--color-CR100);
	background-image: linear-gradient(90deg, transparent 79px, #abced4 79px, #abced4 81px, transparent 81px), linear-gradient(#eee .1em, transparent .1em);
	background-size: 100% 1.9em;
}

.s--review-p {
	font-size: var(--font-size-title-sub);
	text-align: center;
	line-height: var(--line-1);
}

.s--review-list li {
	width: 100%;
	padding: 24px 32px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-m);
	background: var(--color-bg);
}

.s-img-box {
	text-align: center;
}

.times {
	text-align: right;
	line-height: var(--line-1);
}

.times time {
	display: inline-block;
	line-height: var(--line-1);
}

.s--list-subttl {
	font-size: var(--font-size-title-sub);
	font-weight: bold;
	line-height: var(--line-1);
}

.s-review-topic {
	display: flex;
	align-items: center;
}

.s-review-topic p {
	line-height: var(--line-1);
}

.s-review-topic div {
	margin-left: 16px;
}

.s-review-topic img {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
}

.s-review-topic time {
	display: inline-block;
	line-height: var(--line-1);
}

.super {
	line-height: var(--line-1);
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s--review-p {
	text-align: left;
}

.s--review-list {
	display: flex;
	gap: 40px;
}

.s--review-list li {
	width: 48%;
	max-height: 600px;
	padding: 24px 32px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-m);
	background: var(--color-bg);
	overflow-y: auto;
}

.s--review-list li:nth-child(n+2) {
	margin: 0px;
}

.s-review-image {
	max-width: 273px;
}
}


/* システム */
#system {
	width: 100%;
	background: var(--color-primary-sub);
}

.system-content-wrapper {
	max-width: 650px;
	margin: 32px auto 0;
}

.s--board {
	padding: 24px;
	border: solid 2px var(--color-CR1200);
	background: var(--color-bg);
}

.s--board_ttl {
	font-size: var(--font-size-title-mm);
	font-weight: bold;
	text-align: center;
	line-height: var(--line-1);
}

.s--board_ttl::before, .s--board_ttl::after {
	content: "～";
	display: inline-block;
}

.s-bored-wrapper {
	padding: 8px;
	border: solid 2px var(--color-CR1200);
	background: var(--color-accent);
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s--board_ttl {
	font-size: var(--font-size-title-ll);
	font-weight: bold;
}
}

/* テーブルシステム */
.s--table_system {
	width: 100%;
	table-layout: auto;
	border: solid 1px var(--color-text);
	color: var(--color-text);
	font-family: var(--font-jp);
	font-weight: normal;
	font-size: var(--font-size-paragraph);
}

.s--table_system th {
	padding: 24px 16px;
	background: var(--color-CR1200);
	border-bottom: solid 1px var(--color-text);
	color: var(--color-CR100);
	font-weight: var(--font-weight-base);
	vertical-align: top;
	text-align: center;
}

.s--table_system td {
	padding: 24px 16px;
	background: var(--color-CR100);
}

.s--table_system tr td:first-of-type {
	text-align: center;
}

.table--system_p {
	line-height: var(--line-1);
}

.c--td-right {
	text-align: right;
}

.td-box1 {
	border-right: solid 1px var(--color-text);
}

.tr-box1 {
	border-bottom: solid 1px var(--color-text);
}
td {
	line-height: 1.4;
	vertical-align: middle;
}
td.td-first {
	width: 44%;
	line-height: 1.4;
	background: var(--color-CR160);
}

/* クーポン */
#coupon {
	width: 100%;
	background-color: #D8EAFF;
	background-image: radial-gradient(#fff 10%, transparent 13%), radial-gradient(#fff 10%, transparent 13%);
	background-size: 60px 60px;
	background-position: 0 0, 30px 30px;
}

.s-coupon-content img {
	width: 100%;
	height: auto;
}

.s-coupon-box dt {
	margin-top: 24px;
	line-height: var(--line-1);
	font-size: var(--font-size-title-sub);
}

.s--coupon-list h3 {
	line-height: var(--line-1);
	font-size: var(--font-size-title-sub);
	font-weight: bold;
}

.s--coupon-list li {
	padding: 16px 16px 24px;
	border: solid 2px var(--color-CR1200);
	border-radius: var(--round-s);
	background: var(--color-bg);
}

/* PC表示 */
@media screen and (min-width: 865px) {
.s-coupon-content {
	display: flex;
	gap: 24px;
}

.s--coupon-list li {
	padding: 24px 16px;
}

.s-coupon-content img {
	width: 45%;
	height: auto;
}

.s-coupon-box {
	width: 100%;
	max-width: 420px;
	margin: 0px;
}
}


/* インフォメーション */
#info {
	width: 100%;
	background: var(--color-accent);
}

.s--info-box {
	max-width: 1000px;
	margin: 0 auto;
	padding: 32px 24px;
	border: solid 2px var(--color-CR1200);
	background: var(--color-bg);
	text-align: center;
}

.s--info-box h3 {
	line-height: var(--line-1);
}

.s--info-box-ttl {
	font-size: var(--font-size-title-l);
	font-weight: bold;
}

.s--list-info {
	font-size: var(--font-size-title-mm);
	font-weight: bold;
}

.map iframe {
	display: block;
	width: 100%;
	height: 200px;
	border: solid 1px var(--color-CR1200);
}

/* 枠ありモーダル（ムービーモーダル） */
.modal-open {
	cursor: pointer;
}

.modal_catch {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	color: #333;
	z-index: 1000;
	margin-top: 0;
	background: none;
}
.modalInner_movie {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 24px;
}

.modal__bg {
	position: fixed;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .85);
}

.modal__content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	max-width: 640px;
	padding: 24px;
	border-radius: 8px;
	transform: translate(-50%,-50%);
}

.js-shop-movie {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.js-shop-movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modal__content .modal__content__box {
	position: relative;
}

.modalInner_event .modal__content_event .overflow_y {
	position: relative;
	max-height: 80vh;
	overflow-y: scroll;
}

.modalInner_event .modal__content_event .overflow_y .fade {
	content: "";
	position: fixed;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 32px;
	border-radius: 0 0 8px 8px;
	background: linear-gradient(rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .6) 30%, rgba(255, 255, 255, 1) 80%);
}

.modal__content .modal-close {
	cursor: pointer;
}

.modal__content .modal-close.float {
	position: absolute;
	top: -20px;
	right: -20px;
	display: block;
	width: 50px;
	height: 50px;
	border: solid 1px #e4e4e4;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
	background: #f6f6f6;
}

.modal__content .modal-close.float::after,
.modal__content .modal-close.float::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 1px;
	height: 20px;
	background: #a6adb4;
	transform: translate(-50%,-50%) rotate(-45deg);
	transition: all .2s ease-out;
}

.modal__content .modal-close.float::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.modal__content .modal-close.float:hover::after,
.modal__content .modal-close.float:hover::before {
	background: #fff;
}

.modal__content .modal__content__box .modal-close::before,
.modal__content .modal__content__box .modal-close:hover::before {
	clip-path: none;
}

.modal__content .modal__content__box .modal-close:hover::after,
.modal__content .modal__content__box .modal-close:hover::before {
	background: #fff;
}

.modal__content .modal__content__box b {
	display: block;
}

.modal-close {
	position: absolute;
	display: block;
	width: 50px;
	height: 50px;
	top: 20px;
	right: 24px;
	background: var(--color-CR1200);
}

.modal__content.bg_none + .modal-close::after, .modal__content.bg_none + .modal-close::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 1px;
	height: 50px;
	background: #a6adb4;
	transform: translate(-50%, -50%) rotate(-45deg);
	transition: all .2s ease-out;
}

.modal__content.bg_none + .modal-close::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 1px;
	height: 50px;
	background: #a6adb4;
	transform: translate(-50%, -50%) rotate(-135deg);
	transition: all .2s ease-out;
}

.modal_catch::-webkit-scrollbar {
	display: none;
}

.modal_catch::backdrop {
	background: rgba(17, 17, 17, .8);
	backdrop-filter: blur(3px);
}

.modal_catch.modal-bt-container {
	display: flex;
	gap: 16px;
}


/* 枠ありモーダル（イベントモーダル） */
.modalInner_event {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 24px;
}
.modal__content_event {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	max-width: 640px;
	padding: 24px;
	border-radius: 8px;
	background: var(--color-CR100);
	transform: translate(-50%,-50%);
}

.modal__content_event .modal-close.float {
	position: absolute;
	top: -20px;
	right: -10px;
	display: block;
	width: 50px;
	height: 50px;
	border: solid 1px #e4e4e4;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
	background: #f6f6f6;
	z-index: 1
}

.modal__content_event .modal-close.float::after,
.modal__content_event .modal-close.float::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 1px;
	height: 20px;
	background: #a6adb4;
	transform: translate(-50%,-50%) rotate(-45deg);
	transition: all .2s ease-out;
}

.modal__content_event .modal-close.float::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.modal__content_event .modal-close.float:hover::after,
.modal__content_event .modal-close.float:hover::before {
	background: #fff;
}

.modal__content_event .modal__content__box .modal-close::before,
.modal__content_event .modal__content__box .modal-close:hover::before {
	clip-path: none;
}

.modal__content_event .modal__content__box .modal-close:hover::after,
.modal__content_event .modal__content__box .modal-close:hover::before {
	background: #fff;
}

.modal__content_event .modal__content__box b {
	display: block;
}
