@charset "utf-8";

/*
==================================================
common style
==================================================
*/
html{
	scroll-behavior:smooth;
}
body{
	font-family: "Roboto","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",sans-serif;
	color: #000;
	font-size: 16px;
	}
img{
	max-width:100%;
	}
@media screen and (max-width: 991px) {
body{
	font-size: 14px;
	}
h2{
	font-size: 18px;
	}
h3{
	font-size: 16px;
	}
h4,h5{
	font-size: 14px;
	}
}
::selection {
	background:#333;
	color: #fff;
	text-shadow: none;
	}
input::selection,
textarea::selection{
	color:#333;
	background: #ccc;
	}
a,a:hover{
	color: #006aab;
	}
/* dropdownをマウスオーバーで表示するように */
@media screen and (min-width: 992px) {
.dropdown:hover>.dropdown-menu,
.dropdown >.dropdown-menu:hover {
	display: block;
	}
}

/* ヘッダー
---------------------------------------------------------- */
.global-header{
	font-size:14px;
	}
.global-header .logo > h1,
.global-header .logo > p{
	line-height: 1;
	font-size: 1rem;
	}
.global-header .logo img{
	max-width: none;
	}
@media screen and (min-width: 992px) {
.global-header .logo > h1,
.global-header .logo > p{
	margin: -5px 0 0 30px;
	}
}
@media screen and (max-width: 1199px) {
	.global-header .logo img{
		height: 44px;
		}
	}
@media screen and (max-width: 991px) {
.global-header .logo > h1,
.global-header .logo > p{
	margin: -2px 0 0 0;
	}
	.global-header .logo img{
		height: 28px;
		}
}
.global-header .navbar{
	padding:0 !important;
	}
.navbar-light .navbar-toggler{
	border:none;
	position:absolute;
	top: 0;
	right:0;
}
.navbar-light .navbar-nav .nav-link{
	margin:0;
	color: #000;
	font-weight:bold;
	font-size:14px;
	}
.global-header .nav-link.nav-blog{
	background:#000;
	color:#fff;
	}
	.global-header .nav-blog::before{
		content: url(../img/ico_blog.png);
		}
	.global-header .nav-blog::after{
		margin-left: 2px;
		font-family: "Font Awesome 5 Free";
		font-size: .8rem;
		font-weight: normal;
		content: "\f2d2";
		}
.global-header .dropdown-menu{
	border:none;
	font-size:14px;
	margin:0;
	padding:0;
	}
@media screen and (min-width: 992px) {
.global-header .nav-arrow{
	height:85px;
	padding:0 2em !important;
	line-height:85px;
	}
.global-header .nav-blog{
	position: relative;
	width:85px;
	height:85px;
	padding:55px 0 0 !important;
	text-align:center;
	}
	.global-header .nav-blog::before{
		position: absolute;
		top: 22px;
		left: 50%;
		margin-left: -14px;
		}
.global-header .dropdown-item{
	padding-top: .8rem;
	padding-bottom: .8rem;
	}
.global-header .dropdown-item:first-child{
	padding-top: 2rem;
	}
.global-header .dropdown-item:last-child{
	padding-bottom: 2rem;
	}
.global-header .dropdown-menu a:hover{
	text-decoration:underline;
	}
.global-header .navbar-nav .active>.nav-link,
.global-header .dropdown-menu a,
.global-header .navbar-nav .nav-link:hover{
	background:#006aab;
	color: #fff !important;
	}
}
@media screen and (max-width: 991px) {
.global-header .logo{
	width:100%;
	text-align:center;
	border-bottom:1px solid #e9e9e9;
	}
.global-header .nav-link{
	position:relative;
	padding:1em !important;
	border-bottom:1px solid #e9e9e9;
	font-size:12px !important;
	}
.global-header .dropdown-item{
	padding-top: .5em;
	padding-bottom: .5em;
	padding-left:2em;
	font-weight:bold;
	font-size:12px !important;
	}
.global-header .dropdown-item:first-child{
	padding-top: 1em;
	}
.global-header .dropdown-item:last-child{
	padding-bottom: 1em;
	}
.global-header .dropdown-menu{
	border-bottom:1px solid #e9e9e9;
	}
.global-header .nav-arrow::after,
.global-header .nav-blog::after{
	position: absolute;
	top: 50%;
	right: 1em;
	}
.global-header .nav-blog::after{
	margin-top: -8px;
	}
.global-header .nav-arrow::after{
	display: inline-block;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	border:none;
	border-top: 2px solid #006aab;
	border-right: 2px solid #006aab;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	content: '';
	}
.global-header .nav-blog{
	text-align:center;
	}
	.global-header .nav-blog::before{
		position: absolute;
		top: 28%;
		left: 50%;
		margin-left: -3.8em;
		}
.global-header .nav-close{
	text-align: center;
	background: #d1d1d1;
	}
	.global-header .nav-close > span{
		margin-right: .5rem;
		}
}

/* フッター
---------------------------------------------------------- */
.global-footer{
	font-size:12px;
	}
.global-footer .bg-dark{
	margin-bottom: 30px;
	padding: 35px 0 45px;
	background: #000 !important;
	font-size: 14px;
	}
.global-footer .btn-light{
	width: 40px;
	height: 40px;
	line-height: 38px;
	padding: 0;
	border-radius: 50%;
	background-color: #fff;
	font-size:150%;
	margin-left: .5rem;
	color: #000;
	}
@media screen and (min-width: 768px) {
.global-footer .nav a{
	margin: 0 0 0 3em;
	}
.global-footer .bg-dark .nav{
	padding-top:.8em;
	}
.global-footer .bg-dark .nav a{
	margin-: 0 3em 0 0;
	}
}
.global-footer .nav{
	}
@media screen and (max-width: 991px) {
.global-footer .bg-dark{
	margin-bottom: 15px;
	}
.global-footer .bg-dark .nav li{
	width: 50%;
	padding:.5rem 0;
	border-bottom:1px solid #4d4d4d;
	}
.global-footer .bg-dark .nav li:nth-child(-n+2){
	border-top:1px solid #4d4d4d;
	}
.global-footer .logo{
	max-height: 30px;
}
.global-footer .btn-light{
	margin-top:1rem;
	margin-bottom:1rem;
	}
.global-footer .order-md-2 > .nav{
	justify-content: center;
	}
	.global-footer .order-md-2 > .nav > li{
		margin:0 1em 1em;
		}
.global-footer .order-md-1{
	padding-top:1em;
	border-top:1px solid #f6f6f6;
	}
}

/* ページトップ */
.page-top {
	position: fixed;
	bottom: 20px;
	right: 0;
	}
@media screen and (min-width: 768px) {
.page-top {
	right: -40px;
	}
}
.page-top > a{
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	color:#fff;
	font-size:150%;
	text-align: center;
	background-color: rgba(0,0,0,1);
	}
.page-top > a:hover{
	background-color: rgba(0,0,0,.8);
	}
.fixed .page-top{
	right: 0;
	animation-duration: .5s;
	animation-name: fade-in;
	}
@keyframes fade-in {
	0% {right: -40px;}
	100% {right: 0;}
	}

/* コンテンツエリア
---------------------------------------------------------- */
#contents{
	padding-top: 38px;
	padding-bottom: 1rem;
	}
@media screen and (min-width: 768px) {
#contents{
	padding-top: 85px;
	padding-bottom: 85px;
	}
}

/* リンク */
a.arrow::before{
	display: inline-block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #006aab;
	border-right: 2px solid #006aab;
	margin-right: 4px;
	vertical-align: 4px;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	content: '';
	}
a.blank::after,
a.pdf::after{
	margin-left: 2px;
	font-family: "Font Awesome 5 Free";
	font-size: .8rem;
	}
a.blank::after{
	content: "\f2d2";
	}
a.pdf::after{
	content: "\f1c1";
	}
#contents .btn{
	position:relative;
	padding-left: 70px;
	padding-right: 70px;
	}
#contents .btn-lg,
#contents .btn-group-lg > .btn {
	padding-top: 1em;
	padding-bottom: 1em;
	font-size:1rem;
	}
	#contents .btn::after{
		display: inline-block;
		position:absolute;
		top: 50%;
		right: 38px;
		width: 10px;
		height: 10px;
		margin-top: -4px;
		border: 1px solid;
		border-color: #fff #fff transparent transparent;
		vertical-align: 2px;
		transform: rotate(45deg);
		content: '';
		}
#contents a.hover{
	transition: opacity 0.2s ease-in-out;
	}
#contents a:hover{
	opacity:.7;
	text-decoration:none;
	}
.breadcrumb{
	border-radius:0;
	padding: .5em 0;
	background-color: transparent;
	font-size: 10px;
	border-bottom: 1px solid #ebebeb;
	}
.breadcrumb-item.active{
	color: #000;
	font-weight: bold;
}
.breadcrumb-item + .breadcrumb-item::before{
	display: inline-block;
	width: 4px;
	height: 4px;
	border-top: 1px solid #b8b8b8;
	border-right: 1px solid #b8b8b8;
	margin: 0 6px;
	padding:0;
	vertical-align: 2px;
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	content:'';
}
@media screen and (min-width: 768px) {
.breadcrumb{
	padding: 26px 0;
	font-size: 12px;
	}
}

/* リスト */
.disc{
	padding-left: 0;
	}
.disc > li{
	list-style: none;
	padding-left:1em;
	text-indent:-1em;
}
.disc > li:before{
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 5px 0 0;
	vertical-align: 5px;
	background: #b8b8b8;
	border-radius: 50%;
	content: '';
	}

/* 見出し */
.ttl-h1{
	padding:30px 0 20px 0;
	color: #fff;
	background: url(../img/bg_h1.png)  no-repeat 50% 50%;
	background-size: cover;
	text-align: center;
	}
	.ttl-h1 h1{
		font-size: 22px;
		}
.ttl-h1.company{
	background: url(../img/bg_h1_company_s.jpg)  no-repeat 50% 50%;
	background-size: cover;
	}
.ttl-h1.business{
	background: url(../img/bg_h1_business_s.jpg)  no-repeat 50% 50%;
	background-size: cover;
	}
	.ttl-h1 .caption{
		display: block;
		margin-top: .5em;
		font-size: 10px;
		color:#99d7ea;
		}
@media screen and (min-width: 992px) {
.ttl-h1{
	padding:95px 0;
	}
	.ttl-h1 h1{
		font-size:40px;
		}
	.ttl-h1 .caption{
		font-size:14px;
		}
.ttl-h1.company{
	background: url(../img/bg_h1_company.jpg)  no-repeat 50% 50%;
	background-size: cover;
	}
.ttl-h1.business{
	background: url(../img/bg_h1_business.jpg)  no-repeat 50% 50%;
	background-size: cover;
	}
}

h2,h3,h4,h5,h6{
	font-weight:bold;
	margin-bottom: 1rem;
	}
h2{
	margin-top: 1rem;
	margin-bottom: 1rem;
	text-align: center;
	color: #006aab;
	}
	h2::before{
		display: block;
		width: 47px;
		height: 2px;
		margin:  0 auto 10px;
		background: #006aab;
		content: '';
		}
@media screen and (min-width: 992px) {
h2,h3,h4,h5,h6{
	margin-bottom: 2rem;
	}
h2{
	margin-top: 4rem;
	margin-bottom: 4rem;
	}
	h2::before{
		width: 95px;
		height: 4px;
		margin:  0 auto 20px;
	}
}
h4{
	padding-left: 1rem;
	line-height: 1;
	border-left:4px solid #006aab;
	}

/* hr */
hr{
	border-top-color:#d7d7d7;
	}
/* table */
.border,
.table-bordered th,
.table-bordered td{
	border-color: #d7d7d7 !important;
	}
.table-bordered thead th,
.table-bordered thead td{
	background: #ebebeb;
	color: #4c4c4c;
	border-bottom-width:1px;
	}
.table-bordered tbody th{
	background: #f6f6f6;
	}

/* badge */
.badge{
	padding:0.1em 0.8em;
}
.badge.badge-pill.badge-primary{
	color:#006aab;
	border:2px solid #006aab;
	background:#fff;
	}