/* This is CSS for floor page since 20210327 */



.tab-wrap {
	display: flex;
    width: 90%;
	flex-wrap: wrap;
	overflow: hidden;
	padding: 0;
    background-color: #fff;
    box-shadow: 0 0 5px rgb(71 71 71 / 20%);
}

.tab-label {
	color: rgb(241, 170, 37);
	cursor: pointer;
	flex: 1;
    font-size: 14px;
	font-weight: bold;
	order: -1;
	padding: 15px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
    box-shadow: 0 1px 3px rgba(255, 65, 106, 0.1);
    border: solid 2px rgb(241, 170, 37);
}


.tab-switch:checked + .tab-label {
	color: rgb(255, 255, 255);
    background: rgb(241, 170, 37);
    border: solid 2px rgb(241, 170, 37);
    box-shadow: none;
}

.tab-switch:checked + .tab-label::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top: 10px solid rgb(241, 170, 37);
  }

.tab-content {
	height:0;
	opacity:0;
	padding: 0;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
}

.tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}

.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
}

.tab-wrap::after {
	content: '';
	height: 20px;
	order: -1;
	width: 100%;
}

.tab-switch {
	display: none;
}




#floor, #shop {
    padding-top: 20px;
}


.floor_contents {
    width: 100%;
}

.floor_contents ul {
    width: 100%;
    margin: 0 auto 30px auto;
    padding: 0;
}

.floor_contents ul li {
    list-style: none;
}

.floor_contents p {
    position: relative;
    width: 90%;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 5px;
    padding: 5px 0px 5px 50px;
    color: #fff;
    background-color: #C1272D;
    border: solid 2px #C1272D;
}

.floor_contents p::before {
    position: absolute;
    top: 10px;
    left: 20px;
    content: "";
    width: 15px;
    height: 15px;
    border: 4px solid;
    border-color:  transparent transparent #fff #fff;
    transform: rotate(-45deg);
}

.floor_contents p span {
    position: absolute;
    right: 0;
}

.floor_contents p span i {
    position: relative;
    top: -2px;
    padding-right: 10px;
    font-size: 20px;
}

.floor_contents ul li ul {
    display: none;
    width: 90%;
    margin-bottom: 20px;
    border: solid 1px #e2e2e2;
    border-top: none;
    border-bottom: none;
}

.floor_contents ul li ul li {
    width: 100%;
    margin: 0 auto;
    border-bottom: solid 1px #e2e2e2;
}

.floor_contents ul li ul li a {
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 700;
}

.floor_contents ul li ul li a .fa-angle-right {
    position: relative;
    top: 0;
    font-size: 14px;
    margin-left: 10px;
    color: #adadad;
}

.floor_contents ul li ul li a:hover {
    color: #2b2b2b;
}

.floor_contents ul li ul li a:active {
    left: 0;
    background-color: rgb(240, 240, 240);
    color: #C1272D;
}

.floor_contents ul li ul li a span {
    position: absolute;
    right: 0;
}

.floor_contents ul li ul li a i {
    position: relative;
    top: 1px;
    margin-right: 10px;
    font-size: 20px;
}


/* icon list */
.icon_contents {
    width: 100%;
}

.icon_list {
    width: 90%;
    margin: 0 5% 5px;
    list-style: none;
    display: flex;
    padding: 10px;
    border: solid 1px rgb(223, 223, 223);
}

.icon_list li {
    width: 100%;
    text-align: center;
}

.icon_list li i {
    font-size: 20px;
    color: #686868;
}

.icon_list li p {
    margin: 0;
    color: #686868;
    font-size: 11px;
    font-weight: 400;
    padding: 0 5px;
}

.kome {
    display: inline-block;
    width: 90%;
    margin: 0 5% 20px;
    font-size: 11px;
    font-weight: 400;
    text-align: center;
    color: #686868;
}

/* shop contents */

.shop_contents {
    position: relative;
    width: 100%;
}

.shop_contents ul {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}


.shop_contents ul li {
    position: relative;
}

.shop_contents a {
    position: relative;
    display: flex;
    width: 100%;
    padding: 10px 0;
    border-top: dashed 1px rgb(223, 223, 223);
    border-bottom: solid 0;
}

.shop_contents a::after {
    position: absolute;
    content: "";
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 13px;
    height: 13px;
    border: 3px solid;
    border-color:  transparent rgb(214, 214, 214) rgb(214, 214, 214) transparent;
    transform: rotate(-45deg);
}

.shop_contents a:active {
    background-color: rgb(240, 240, 240);
    color: #C1272D;
}

.shop_contents a img {
    width: calc(100vw * 0.3);
    height: calc((100vw * 0.3) - 30px);
    margin: auto 0;
    padding: 0 15px;
}

.shop_contents .shop_text {
    left: calc((100vw * 0.3) + 30px);
    display: table;
    width: calc(100vw * 0.6);
    height: calc(100vw * 0.3);
    padding: 0;
    margin: 0;
    font-size: 0px;
}

.shop_contents a .title {
    display: inline-block;
    width: calc(100vw * 0.6);
    font-size: 16px;
    font-weight:700;
    margin: 20px 0 5px;
    line-height: 1.2;
}


.shop_contents .type {
    display: inline-block;
    max-width: calc(100vw * 0.6);
    font-size: 10px;
    font-weight: 400;
    padding: 2px 5px;
    margin: 5px 5px 0 0;
    border: solid 1px #C1272D;
    color: #C1272D;
    border-radius: 0px;
}

.shop_contents .floor {
    display: inline-block;
    width: 20%;
    font-size: 12px;
    line-height: 1.4;
}

.shop_contents .floor i {
    color: #C1272D;
    margin-right: 3px;
}