/* bootstrap追加
------------------------------------------------------------*/

.zindex-dropdown{z-index:1000;}
.zindex-sticky{z-index:1020;}
.zindex-fixed{z-index: 1030;}
.zindex-modal-backdrop{z-index:1040;}
.zindex-modal{z-index: 1050;}
.zindex-popover{z-index:1060;}
.zindex-tooltip{z-index:1070;}

.top-auto{top:auto !important;}.top-0{top:0 !important;}.top-50{top:50% !important;}.top-100{top:100% !important;}
.bottom-auto{bottom:auto !important;}.bottom-0{bottom:0 !important;}.bottom-50{bottom:50% !important;}.bottom-100{top:100% !important;}
.start-auto{left:auto !important;}.start-0{left:0 !important;}.start-50{left:50% !important;}.start-100{left:100% !important;}
.end-auto{right:auto !important;}.end-0{right:0 !important;}.end-50{right:50% !important;}.end-100{right:100% !important;}

.opacity-0{opacity: 0;}.opacity-25{opacity: 0.25;}.opacity-50{opacity: 0.5;}.opacity-75{opacity: 0.75;}

/* gray */
.bg-gray{background-color: #e5e5e5 !important;}
.border-gray{border-color: #e5e5e5 !important;}
.text-gray{color: #999 !important;}

/* modal */
.modal-open{
	padding-right: 0!important;
}

.modal-open,.modal-open header{
	padding-right: 15px !important;
	margin-right:  0!important;
}

.scroll-x-wrap{overflow-x: scroll; height: 300px;}
.scroll-y-wrap{overflow-y: scroll; height: 300px;}

/* 全体共通
------------------------------------------------------------*/

html{
	height: 100%;
}

body,button,input,select,textarea{
	font-family: "Noto Sans JP";
}

body{
	line-height: 150%;
	letter-spacing: 0.15rem;
	margin: 0;
	padding: 0;
}

.clearfix:after {  
  content: "";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}  
  
.clearfix { display: inline-table; }

.container, .container-lg, .container-md, .container-sm {
    max-width: 980px;
}

i.line{
	display: block;
	height: 7px;
}

.h1, .h2, .h3, .h4, .h5, .h6,
h1,h2,h3,h4,h5{
	font-weight: bold;
	line-height: 150%;
}

h2{font-size: 1.3em;}
h3{font-size: 1.2em;}
h4{font-size: 1.1em;}

h2.border-theme{
	border-left-width: 5px;
	border-left-style: solid;
	padding-left: 10px;
}

dl, ol, ul {
	padding-left: 20px;
}

.d-flex.d-none{
	display: none !important;
}

:focus {
  outline: none !important;
}

.fas,.far{
	margin-right: 3px;
}

button .fas,button .far{
	margin-right: 5px;
}

/* 全画面表示 */
.overlay{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background:#FFF;
	z-index: 2147483647;
	overflow-y: scroll;
	display: block !important;
}

/* リンク色＝黒 */
header a,#sidebar ul a,
#sortNav a.active,.pagination .page-link,
figure a,a.card,.objMedia a,
.crumb-no-link a,.fixed-bottom a,#phoneCall .modal-body a{
	color:#333 !important;
	text-decoration: none !important;
}

figure a:hover,a.card:hover{
	text-decoration: none;
}

/* イメージ */

img.no-image{
	object-fit:contain !important;
	background-color: #f2f2f2 !important;
}

img.img-left,
img.img-right{
	max-width: 300px;
	height: auto;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius: 10px;
}

img.img-left{
	float: left;
	margin: 0 30px 30px 0;
}

img.img-right{
	float:right;
	margin: 0 0 30px 30px;
}

/* Font Awesome */

.text-link::before,#mainThumb .d-flex a span:before,
#mainImg .carousel-control-next-icon,
#mainImg .carousel-control-prev-icon,
.slick-prev:before,.slick-next:before,
.archive #sidebar h2 span:before,ul.list-link li:before,
.formErrorContent i::before,.error::before,
.uploadImageWrap  div input:not([type=hidden])::before,
.uploadImageWrap  div button::before,
.breadcrumb-item+.breadcrumb-item::before{
	font-family:"Font Awesome 5 Free" !important;
	font-weight: 900 !important;
	padding-right: 3px;
}

/* その他 */

/*hr{
	margin-top: 2rem;
	margin-bottom: 2rem;
}*/

.iconWrap .icon{
	float: left;
	margin: 0 4px 4px 0;
}

.icon{
    padding: 2px 7px;
    color: #FFF;
    font-weight:bold;
    font-size: .8rem;
    margin: -2px 4px 0 0;
    border-radius: 0.25rem;
	line-height: 120%;
	white-space: nowrap;
}

small{
	line-height: 150%;
}

small .icon{
    padding: 0px 2px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0;
	font-size: .2rem;
}

.form-group > .icon{
	font-size: .9rem;
}

.text-link:hover{
	text-decoration: none;
}

.text-link::before{
	content:"\f105";
	color: #313131;
}

._anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}

.text-tag span{
	z-index: 1000;
    position: absolute;
    display: inline-block;
    right: -25px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.2), inset 0px 5px 30px rgba(255,255,255,0.2);
    text-align: center;
    text-transform: uppercase;
    top: 12px;
    width: 100px;
    padding: 3px 10px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
	font-weight: bold;
}

.objDetail .text-tag span{
	right: -54px;
    width: 180px;
    padding: 5px 10px;
    font-size: 1.2rem;
    top: 20px;
}

/* カラー
------------------------------------------------------------*/

/* テーマ */

.text-theme{
	color:#178236 !important;
}

.bg-theme,.bg-theme-before::before,
.slick-dots li.slick-active,.slick-prev:before, .slick-next:before,
#mainThumb .d-flex a.active span.bg-white,
.datepicker table tr td.active, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active:hover,
.datepicker table tr td span.active, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active:hover{
	background-color: #178236 !important;
}

.border-theme,.border-theme-before::before,
.slick-slide.slick-current,
#mainThumb .d-flex a.active,.single #contents h2,form h2,.single #contents h2,
#contents form h3,.single #contents h3{
	border-color:#178236 !important;
}

/* メイン */

.navbar-brand img{
	width: 200px;
	height: auto;
}

.navbar-brand small{
	letter-spacing: 1rem;
	font-size: .7rem;
}

#mainImg{
	background:url("images/bg_title.jpg?230221") no-repeat 50% 80%;
	background-size: cover;
	padding-bottom: 100px;
}

#mainImg .jumbotron{
	margin-top: 0px;
	margin-bottom: 180px;
}

#mainImg .jumbotron .lead{
	font-size: 1.5rem;
	text-shadow: 0px 0px 8px #000;
	line-height: 120%;
	text-shadow: none;
}

/* コンテンツ */

main section{
	padding:40px 20px !important;
}

/* バナー */

#mainBnr > div{
	margin-bottom: 35px;
}

#mainBnr .card{
	padding: 15px;
	position: relative;
	border: none;
}

#mainBnr .card-header{
	position:absolute;
	font-size: .9rem;
	border: none;
	background-color: #FFF;
	padding: 5px 10px;
	margin: 10px 0 20px 10px;
}

#mainBnr .card-body{
	padding: 0;
}

#mainBnr .card-title{
	padding: 10px;
	text-align: center;
	color: #FFF;
}

#mainBnr .card img{
	object-fit: cover;
	height: 200px;
}

#mainBnr .card-footer{
	text-align: center;
	border: none;
	background-color: transparent;
	position: absolute;
	bottom: -20px;
    left: 0px;
	width: 100%;
	padding: 0;
}

#mainBnr .card-footer i{
	font-size: 2rem;
}

#mainBnr01 .card{background-color: #ffdbdb;}
#mainBnr01 .card-header,#mainBnr01 .card-footer{color: #e5004f;}
#mainBnr01 .card-title{background-color: #e5004f;}

#mainBnr02 .card{background-color: #d8eeff;}
#mainBnr02 .card-header,#mainBnr02 .card-footer{color: #0068b7;}
#mainBnr02 .card-title{background-color: #0068b7;}

#mainBnr03 .card{background-color: #dcd5ff;}
#mainBnr03 .card-header,#mainBnr03 .card-footer{color: #5f52a0;}
#mainBnr03 .card-title{background-color: #5f52a0;}

/* モバイル用
------------------------------------------------------------*/

@media (max-width: 768px){
	
	.navbar-brand img {
		width: 150px;
	}
	
	.navbar-brand small {
		letter-spacing: 0.5rem;
	}
	
	main section {
		padding: 20px 0px !important;
	}
	
	#mainImg{
		background-position: 50% 100%;
	}
	
	#mainImg .jumbotron .lead{
		font-size: 1.2rem;
	}
	
	#mainImg .jumbotron img{
		width: 100%;
	}
	
	#mainImg .jumbotron{
		margin-bottom: 0px;
	}
	
}
