/*
Custom Css
*/
:root{
	--bs-blue: #0096DA;
	--bs-indigo: #00418E;
	--bs-purple: #6f42c1;
	--bs-pink: #d63384;
	--bs-red: #dc3545;
	--bs-orange: #fd7e14;
	--bs-yellow: #ffc107;
	--bs-green: #59ab6e;
	--bs-teal: #20c997;
	--bs-cyan: #0dcaf0;
	--bs-black: #000032;
	--bs-white: #fff;
	--bs-gray: #6c757d;
	--bs-gray-dark: #343a40;
	--bs-light: #e9eef5;
	--bs-dark: #212529;
}

/* @media (prefers-color-scheme: dark) {:root{}} */

.text-dark { color: var(--bs-dark) !important;}
.text-light { color: var(--bs-light) !important;}
.text-black { color: var(--bs-black) !important;}
.text-white { color: var(--bs-white) !important;}
.text-success { color: var(--bs-green) !important;}
.text-warning { color: var(--bs-yellow) !important;}
.text-muted { color: var(--bs-gray) !important;}

.bg-dark { background-color: var(--bs-dark) !important;}
.bg-light { background-color: var(--bs-light) !important;}
.bg-black { background-color: var(--bs-black) !important;}
.bg-white { background-color: var(--bs-white) !important;}
.bg-success { background-color: var(--bs-green) !important;}
.bg-warning { color: var(--bs-warning) !important;}

body{
	min-height: 100vh;
	flex-direction: column !important;
	display: flex !important;
}

body > *:nth-last-child(2) {
	flex-grow: 1;
}

.carousel-caption {
		position: absolute;
		top: 70%;
		transform: translateY(-50%);
}

/* Hero Carousel */
#slide-carousel { background: #efefef !important;}
/* Carousel Hero */
#slide-carousel .carousel-indicators li {
		margin-top: -50px;
		background-color: var(--bs-indigo);
}
#slide-carousel .carousel-control-next i,
#slide-carousel .carousel-control-prev i {
		color: var(--bs-indigo) !important;
		font-size: 2.8em !important;
}

.sidebar{
		position: sticky;
		top: 100px;
		background: var(--bs-white);
		padding: 10px;
		width: 100%;
/*    border: solid 1px var(--bs-indigo);  */
}

.sidebar_cart{
		position: sticky;
		top: 100px;
		background: var(--bs-white);
		padding: 10px;
		width: 100%;
		border: solid 1px var(--bs-indigo);
}

.pagination .page-link:hover {color: var(--bs-black);}
.pagination .page-link:hover, .pagination .page-link.active {
	background-color:  var(--bs-indigo);
	color: var(--bs-white);
}

.text-break-all {
		word-wrap: break-word!important;
		word-break: break-all!important;
}

.nowrap {
	white-space: nowrap;
}

.table-fixed th:first-child, .table-fixed td:first-child {
	position: sticky;
		position: -webkit-sticky;
		left: 0;
		background-color: var(--bs-white);
}

.table-fixed-2nd th:nth-child(2), .table-fixed-2nd td:nth-child(2) {
		position: sticky;
		position: -webkit-sticky;
		left: 30px;
		background-color: var(--bs-white);
}



.text-dark-no-important {
	color: var(--bs-dark);
}

/* プルダウンリストを動的に作成する機能関連 ここから */
li.dynamicPulldownList.isSelected, li.dynamicPulldownList.isSelected * {
	background-color: #E0E0E0;
	pointer-events: none;
}

div.dynamicPdListOverlayTarget {
	position: relative;
}

div.dynamicPdListOverlay {
	content: "";
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	display: none;
}

.isDisplayNo {
	display: none;
}

.cv-spinner {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.spinner {
	width: 40px;
	height: 40px;
	border: 4px var(--bs-light) solid;
	border-top: 4px var(--bs-blue) solid;
	border-radius: 50%;
	animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
	100% {
		transform: rotate(360deg);
	}
}

/* プルダウンリストを動的に作成する機能関連 ここまで */

/* その他仕様の選択関連 ここから */
li.otherSpecSelections label, li.otherSpecSelections input[type='checkbox'] {
		cursor: pointer;
}

li.otherSpecSelections.isSelected, li.otherSpecSelections.isSelected *{
	background-color: #E0E0E0;
	color: var(--bs-dark);
	pointer-events: none;
}

li.otherSpecSelections hr{
	background-color:rgb(0,0,0,0.5);
		margin:0.1rem;
}

li.otherSpecSelections span.specLabel{
	font-size: 90%;
}

li.otherSpecSelections .accordion button {
	padding-left: 0;
}

/* その他仕様の選択関連 ここまで */

div.uPriceBreakdown hr {
	background-color:rgb(0,0,0,0.5);
		margin:0.1rem;
}

div.uPriceBreakdown td {
		border-bottom:1px solid rgb(0,0,0,0.125);
		font-size: small;
}

div.uPriceBreakdown td.price {
		text-align: right;
}

.slick-prev:before, .slick-next:before {
	content:none !important;
}

.slick-slide {
		padding-left: 5px;
		padding-right: 5px;
}

.product-detail-img {
	object-fit: contain;
	height: 100%;
}

#templatemo_main_nav .dropdown-menu{
	left: auto;
	right: 0;
	max-height: 80vh;
	scrollbar-width: thin;
	-ms-overflow-style: auto;
}

#templatemo_main_nav .dropdown-menu::-webkit-scrollbar {
	width: 0.25rem;
}

#templatemo_main_nav .dropdown-menu::-webkit-scrollbar-track {
	background: var(--bs-light);
	border-radius: 0.5rem;
}

#templatemo_main_nav .dropdown-menu::-webkit-scrollbar-thumb {
	background: var(--bs-dark);
	border-radius: 0.5rem;
}

/* ビジネスユニットドロップダウン */
#nav-bizunit {
	width: 95%;
} 

#nav-bizunit .dropdown:hover>.dropdown-menu {
	display: block;
  }
  
#nav-bizunit .dropdown>.dropdown-toggle:active {
	pointer-events: none;
}
  /* ビジネスユニットドロップダウン */

.footer-bizunit {
	list-style: none;
	margin-left: 0;
	padding-left: 20px;
}

.text-right {
		text-align: right;
}

.ellipsis{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		max-width: 0;
}

.pre {
	word-break: break-all;
	white-space: pre-wrap;
}

li:nth-child(1) .icon-num{
	background-color: var(--bs-blue);
	color: var(--bs-white);
	border-radius: 1em;
}

li:not(:nth-child(1)) .icon-num{
	background-color: var(--bs-light);
	color: var(--bs-dark);
	border-radius: 1em;
}

li:first-child .btn-up{
	pointer-events: none;
	opacity: 0.5;
}

li:last-child .btn-down{
	pointer-events: none;
	opacity: 0.5;
}

div#isNotPossibleOrder-Grayout-target {
	position: relative;
	pointer-events: none;
}

div#isNotPossibleOrder-Grayout {
	content: "";
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
	pointer-events: none;
}

div.rakuraku-Grayout-target.grayout-enable {
	position: relative;
	pointer-events: none;
}

div.rakuraku-Grayout.grayout-enable {
	content: "";
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
	pointer-events: none;
}
div.leadLength-Grayout-target.grayout-enable {
	position: relative;
	pointer-events: none;
}

div.leadLength-Grayout.grayout-enable {
	content: "";
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
	pointer-events: none;
}

#isNotPossibleOrder-Grayout-target small.message {
	color:#ff0000;
}

.disabled-div-target {
    position: relative;
    pointer-events: none;
}

.disabled-div {
    content: "";
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    pointer-events: none;
}

.order-cancel-bg-color {
    background-color: #D3D3D3 !important;
}

#to-cc-box .deletableIcon {
    cursor: pointer;
}

/* 右端に固定する */
.scroll-table {
	width: 100%; 
	overflow-x: auto;
	padding-right: 0px;
}
.fixed-right-side {
	position: sticky;
	background: white !important;
	z-index: 2;
}
.fixed-start-column::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: #dee2e6;
}
.isDisplayNo {
    display: none;
}

.readonly-checkbox {
	pointer-events: none;
	opacity: 0.6;
	cursor: not-allowed;
	display: none;
}