img {
	max-width: 100%;
}

::-webkit-scrollbar {
	height: 22px;
	width: 18px;
}

::-webkit-scrollbar-track {
	background-color: #e0e0e0;
	border-radius: 100px;
}

::-webkit-scrollbar-thumb {
	background-color: #bdbdbd;
	border-radius: 100px;
}

/* container
------------------------------------------*/
.pc-none {
	display: none;
}
@media screen and (max-width: 768px) {
	.main-container {
/*		display: none;*/
	}

	.pc-none {
		display: block;
	}
}

@media (min-width: 768px) {
	.container, .container-md, .container-sm {
		max-width: 95%;
	}
}

@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1140px;
	}
}

/* common
------------------------------------------*/

.bg-opacity-90 {
	--bs-bg-opacity: .90;
}

.h5 {
	font-size: 18px;
}

.w-70 {
	width: 70% !important;
}

.w-67 {
	width: 67% !important;
}

.w-65 {
	width: 65% !important;
}

.w-63 {
	width: 63% !important;
}

.w-60 {
	width: 60% !important;
}

.w-40 {
	width: 40% !important;
}

.w-35 {
	width: 35% !important;
}

.w-33 {
	width: 33% !important;
}

.w-30 {
	width: 30% !important;
}

.wh-100 {
	height: auto;
	max-height: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	min-width: 100% !important;
	width: auto;
}


.input-d-none input {
	display: none;
}

.overflow-x-auto {
	overflow-x: auto;
	overflow-y: hidden;
}

.overflow-y-auto {
	overflow-x: hidden;
	overflow-y: auto;
}

/* btn
------------------------------------------*/
.btn-align-center {
	align-items: center;
	display: flex;
	justify-content: center;
	position: relative;
}
.btn-align-center i:nth-child(1) {
	height: 100%;
}
.btn-align-center span {
	text-align: left;
}
/* font-awesome
------------------------------------------*/
.fa-solid {
	font-weight: 900;
}

.fa-regular {
	font-weight: 400;
}

/* layout
------------------------------------------*/
.main-container {
	margin-bottom: 120px;
}
.footer {
	min-height: 87px;
}
.footer-btn-area {
	position: relative;
}

.footer-price-area {
	background-color: #e3ebf7;
	border: 3px solid #3b71ca;
	float: left;
	max-width: 25%;
}
@media (max-width: 1200px) {
	.footer-price-area {
		max-width: 22%;
	}
}
@media (max-width: 960px) {
	.footer-price-area {
		max-width: 20%;
	}
}
.footer-nav {
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}
/* navbar
------------------------------------------*/
.navbar {
	box-shadow: none;
	height: 80px;
}

.navbar-container {
	position: relative;
}

.nav-bar__title {
	color: #fff;
	height: 100%;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}

.nav-bar__title h1 {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
}

.navbar-brand {
	max-height: 50px;
	max-width: 22%;
	min-height: 50px;
}

.navbar-brand img {
	max-height: 80px;
	max-width: 100%;
}

/* シュミレーション開始ページ
------------------------------------------*/
#top-bg-wrap {
	height: 100vh;
	left: 0;
	opacity: .15;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: -1;
}

.start-h1 {
	color: #33abdb;
}

.top-article {
	text-align: center;
}

/* プラン等選択
------------------------------------------*/
.card-wrapper article {
	position: relative;
}

.card_select-image {
	border-radius: .5rem .5rem 0 0;
	overflow: hidden;
	position: relative;
}

.card_select-image::before {
	content: "";
	display: block;
	height: 0;
	padding-bottom: 66.666%;
	width: 100%;
}

.card_select-image img {
	align-items: center;
	display: block;
	display: flex;
	height: auto;
	justify-content: center;
	left: 50%;
	max-height: 98%;
	max-width: 98%;
	min-width: 98%;
	min-width: 98%;
	object-fit: contain;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
}

.card_select-image a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: absolute;
	top: 0;
	width: 100%;
}

.card_select-image a:before {
	align-items: center;
	background-color: rgba(0, 0, 0, .5);
	border-radius: .5rem .5rem 0 0;
	color: rgba(255, 255, 255, .8);
	content: "\f00e";
	display: flex;
	font-size: 40px;
	height: 100%;
	justify-content: center;
	line-height: 100%;
	opacity: 0;
	position: absolute;
	text-align: center;
	top: 0;
	transition: all .5s 0s ease;
	width: 100%;
	z-index: 2;
}

.card_select-image.file-plus a:before {
	content: "\f0fe";
	opacity: 0 !important;
}

.card_select-image:hover a:before {
	opacity: 1;
	transition: all .5s 0s ease;
}

/* ホール選択
------------------------------------------*/
.hall-image-wrapper {
	display: none;
}

.hall-image-wrapper.active {
	display: block;
}

.hall-main-image-wrapper {
	border-radius: 0;
	margin: auto;
	width: 60%;
}

.hall-sub-image-wrapper {
	border-radius: 0;
	margin-left: auto;
	margin-right: 0;
	margin-top: -18%;
	width: 30%;
	z-index: 10;
}

.card_select-image.hall-main-image-wrapper img, .card_select-image.hall-sub-image-wrapper img {
	height: auto;
	max-height: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	min-width: 100% !important;
	width: auto;
}

.card_select-image.hall-main-image-wrapper a:before, .card_select-image.hall-sub-image-wrapper a:before {
	border-radius: 0;
}

/* 祭壇・棺選択
------------------------------------------*/
.sim-title p {
	writing-mode: vertical-rl;
}

.sim-select-wrapper {
	position: relative;
	width: 100%;
}

.sim-select-inner__ul {
	list-style: none;
}

.sim-select-inner__ul li {
	flex-shrink: 0;
	padding-right: 10px;
	width: calc(34%);
}

.sim-img::before {
	background-color: #eee;
	content: "";
	display: block;
	height: 0;
	padding-bottom: 80%;
	width: 100%;
}

.sim-img__hall, .sim-img__casket {
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.sim-img__casket {
	top: 70%;
	width: 60%;
}

.sc-arrow {
	animation: arrowmove 1.5s ease-in-out infinite;
	color: #bdbdbd;
	font-weight: 100;
	height: 22px;
	line-height: 22px;
	margin-left: auto;
	margin-right: 6px;
	position: relative;
	text-align: right;
	top: -22px;
	width: 22px;
}

@keyframes arrowmove {
	0% {
		padding-right: 0px;
	}

	30% {
		padding-right: 0px;
	}

	50% {
		padding-right: 8px;
	}

	70% {
		padding-right: 0px;
	}

	85% {
		padding-right: 6px;
	}

	100% {
		padding-right: 0px;
	}
}

.sc-arrow-bottom {
	animation: arrowbtmmove 1.5s ease-in-out infinite;
	color: #bdbdbd;
	font-weight: 100;
	height: 40px;
	line-height: 18px;
	margin-bottom: 6px;
	margin-left: auto;
	position: relative;
	text-align: center;
	top: -27px;
	width: 18px;
	z-index: 100;
}

@keyframes arrowbtmmove {
	0% {
		padding-top: 0px;
	}

	30% {
		padding-top: 0px;
	}

	50% {
		padding-top: 8px;
	}

	70% {
		padding-top: 0px;
	}

	85% {
		padding-top: 6px;
	}

	100% {
		padding-top: 0px;
	}
}

.sc-arrow i, .sc-arrow-bottom i {
	color: #bdbdbd;
}



/* オプション選択
------------------------------------------*/
.side-menu__link {
	width: 100%;
}

.cat-tab-panel-wrapper {
	opacity: 0;
}

/* 返戻品
------------------------------------------*/
.user-sum-number {
	background-color: #e3ebf7;
	border: 3px solid #3b71ca;
}

.subtotal-wrapper {
	background-color: #e3ebf7;
}

/* シミュレーション
------------------------------------------*/
/* MENU */
.sim-menu-inner {
	height: 520px;
}

.bd-title {
	border: 2px solid #7f7f7f;
}

.result-content {
	border-bottom: 2px solid #7f7f7f !important;
	border-left: 2px solid #7f7f7f !important;
	border-right: 2px solid #7f7f7f !important;
	width: 100%;
}

.result-content th {
	background-color: #fafafa;
	padding: 16px 22.4px;
	width: 30%;
}

.table-content {
	border-bottom: 2px solid #7f7f7f !important;
	border-left: 2px solid #7f7f7f !important;
	border-right: 2px solid #7f7f7f !important;
}

.bd-r {
	border-right: 2px solid #7f7f7f !important;
}

.bd-t {
	border-top: 2px solid #7f7f7f !important;
}

.bd-b {
	border-bottom: 1px solid #e0e0e0 !important;
}

.bd-r-1 {
	border-right: 1px solid #e0e0e0 !important;
}

/* ストライプの色を変更 奇数行 */
.table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th {
	background-color: white;
    box-shadow: inset 0 0 0 9999px white;
}

/* ストライプの色を変更 偶数行 */
.table-striped > tbody > tr:nth-child(even) > td, .table-striped > tbody > tr:nth-child(even) > th {
    background-color: #fafafa;
}
