@charset "UTF-8";
body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  color: #333333;
  line-height: 1.7;
}
a {
  color: #3463a3;
}

/* Header
----------------------------*/
#header {
  width: 100%;
  -moz-transition: height 0.3s;
  -o-transition: height 0.3s;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  z-index: 2;
  position: fixed;
}
#header .transform {
  background: rgba(255, 255, 255, 0.7);
}
#header .transform .nav-item > a {
  color: #333;
}
#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:active{
  color: #1b6fd0;
}
#header .header-info {
  display: none;
}
#header .header-info i {
  margin-right: 0.5rem;
}
#header .header-info .tel {
  font-size: 18px;
  margin-right: 1rem;
}
#header .header-info .tel a {
  color: #fff;
	letter-spacing: 1px;
	font-size: 1.2rem;
}
#header .header-info .mail a {
  border: solid #fff 1px;
  padding: 4px 15px 3px;
  color: #fff;
  display: block;
  font-size: 14px;
}
#header .header-info .mail a:hover {
  background-color: #fff;
  color: #2b6ecb;
  text-decoration: none;
}
#header .transform {
  padding: 0;
}
#header .transform .header-info {
  display: none !important;
}
#header .transform .navbar-collapse {
  margin-top: 0;
  transition-duration: 0.25s;
  transition-timing-function: ease-out;
}
/* Nav
----------------------------*/
.navbar .container {
  position: relative;
}
.navbar-brand {
/*  background: url("../images/logo.png") no-repeat left center;
  background-size: contain;
  height: 60px;
  text-indent: 200%;
	width: 120px;*/
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;

  white-space: nowrap;
  overflow: hidden;
}
.navbar-nav {
  background: rgba(255, 255, 255, 0.9);
}
.navbar-light .navbar-nav .nav-link {
  padding: 1rem;
  color: #333;
}
.navbar-nav .nav-link:hover {
  background-color: #2b6ecb;
  color: #fff !important;
}
.navbar-toggler {
  margin-top: 0;
}

.navbar-light .navbar-toggler {
border-color: rgba(255, 255, 255, 1);
    background-color: #1b6fd0;
    color: #fff;
    font-size: 1.6rem;
    padding: 0.25em 0.5em;
	text-align: center;
}
.navbar-light .navbar-toggler i{
	margin-right: inherit;
	
}
.transform .navbar-toggler {
border-color: rgba(255, 255, 255, 1);
}
.navbar .sp-tel {
  padding: 0.5rem 1rem;
  border: solid 1px #6f6f6f;
  margin: 0.5rem 1rem 1rem;
	background-color: #e1eef5;
}
.navbar .sp-tel p {
  margin-bottom: 0 !important;
	text-align: center;
}
.navbar .sp-tel a {
  font-size: 1.3rem;
  color: #333;
	text-align: center;
	display: block;
}
.navbar .sp-tel i {
  margin-right: 0.5rem;
}
/* Mainimg
----------------------------*/
.jumbotron p {
  font-size: 1.5rem;
  text-align: center;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-shadow: 1px 1px 4px #676767;
}
.mainimg-top {
  background: url(../images/mainimg.jpg) left center no-repeat;
  background-size: cover;
  height: 50vh;
  color: white;
  border-radius: 0;
  margin: 0;
  display: flex;
  align-items: center;
}
.mainimg-sec {
  background-size: cover !important;
  height: 40vh;
  color: white;
  border-radius: 0;
  margin: 0;
  display: flex;
  align-items: center;
  position: relative;
}
.mainimg-sec h1 {
  text-align: left;
  font-size: 2rem;
}
.mainimg-sec p {
  text-align: left;
  top: 50%;
  font-size: 1.2rem !important;
  margin: 0.5rem 0 0;
}
.mainimg-company {
  background: url(../images/mainimg-company.jpg) no-repeat;
  background-position: center;
}

/* Contents
----------------------------*/
/* Top・Sec共通 */
section {
  width: 100%;
  height: 100%;
  padding: 2rem 0;
}
.btn {
  text-align: center;
  padding: 0.5rem 0;
  text-decoration: none;
  display: block;
  border-radius: 3px;
  width: 140px;
}
.table th {
  background-color: #efefef;
  border-top: none;
}
.table td {
  border-top: none;
}
.table-responsive-block .table th, .table-responsive-block .table td {
  display: block;
  width: 100%;
}
ol li ol {
  padding-left: 1rem;
}
.list-arrow li {
  margin-bottom: 1rem;
}
.list-arrow li::before {
  font-family: "Font Awesome 5 Pro";
  content: '\f105';
  font-weight: 900;
  margin-right: 0.5rem;
}
.lower-alpha li {
  list-style-type: lower-alpha;
}
.decimal li {
  list-style-type: decimal;
}
.news-area h2 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
.news-area h2 .text-jp {
  margin-left: 1rem;
  font-size: 1rem;
}
.news-area dt {
  float: none;
  font-weight: normal;
  padding: 0;
}
.news-area dd, .news-area-sec dd {
  border-bottom: dotted 1px #afafaf;
  padding: 0 0 1rem;
  margin-bottom: 1rem;
}
.news-area dd a, .news-area-sec dd a {
  color: #232323;
}
.news-area .btn {
  border: solid 1px #333;
  color: #333;
  margin-bottom: 1.5rem;
}
.news-area .btn:hover {
  border: solid 1px #2b6ecb;
  color: #2b6ecb;
}
.contact-area {
  background: url(../images/bg-contact-area.png);
  color: white;
  padding: 2rem !important;
}
.contact-area h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.contact-area .btn {
  background-color: #fff;
  color: #2b6ecb;
  width: 200px;
  border: solid 1px #fff;
  margin-top: 2rem;
}
.contact-area .btn:hover {
  background-color: #eaf5f7;
}
/* Top */
.company-area {
  background: #2b6ecb;
  background-image: radial-gradient(#528ed3, #0f5bb4);
  color: #fff;
  padding: 2rem 0;
}
.company-area h2 {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
}
.company-area p {
  line-height: 2;
  margin-bottom: 2rem;
}
.company-area img {
  position: static;
  width: 470px;
  object-fit: cover;
  max-height: 400px;
  margin-bottom: 2rem;
}
.company-area .btn {
  border: solid 1px #fff;
  color: #fff;
	transition: .3s;
}
.company-area .btn:hover {
  background-color: #4d98ff;
}
.business-area {
  background: url(../images/bg-business-area.png);
}

.business-area .col-lg-6:nth-child(1), .business-area .col-lg-6:nth-child(2), .business-area .col-lg-6:nth-child(3) {
  margin-bottom: 3rem;
}
.business-area h2 {
  color: #2b6ecb;
  position: relative;
  margin-bottom: 2rem;
}
.business-area h2 .number {
  font-size: 2rem;
  border-right: 1px solid #2b6ecb;
  padding-right: 1rem;
}
.business-area h2 .business-name {
  font-size: 1.5rem;
  padding-left: 1rem;
  position: relative;
  top: -3px;
}
.business-area .col-lg-6 {
	display: flex;
	flex-direction: column;
  align-items: center;
}
.business-area .col-lg-6 .col-9{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.business-area .col-lg-6 .col-9 p{
	flex-grow: 1;
}
.business-area .btn {
  border: solid 1px #333;
  color: #333;
}
.business-area .btn:hover {
  border: solid 1px #2b6ecb;
  color: #2b6ecb;
}
/* Sec */
#sec .table th {
  background-color: #f5f5f5;
  vertical-align: middle;
  font-weight: normal;
  width: 100%;
}
#sec .table td p {
  margin-bottom: 1rem;
}
#sec .table td > ol {
  margin-left: -1.2rem;
}
#sec .breadcrumbs {
  display: none;
}
#sec .page-title {
  color: #333;
  margin-bottom: 2rem;
  font-size: 1.5rem;
}
#sec h3 {
  font-size: 1.5rem;
  margin: 2rem 0 1.5rem;
  border-left: solid 3px #2b6ecb;
  padding-left: 1rem;
}
#sec p {
  margin-bottom: 1.8rem;
  line-height: 1.7;
}
/* Footer
----------------------------*/
#footer {
  width: 100%;
  height: 100%;
  font-size: 0.8rem;
  margin: 0 0 1rem;
}
#footer ul {
  margin-bottom: 0;
}
#footer .link li {
  display: inline-block;
  margin-right: 1.5rem;
}
#footer .link li a {
  color: #333;
}
#footer .link, #footer .copy {
  text-align: center;
  margin: 1rem 0 0;
}
#page-top {
  position: fixed;
  bottom: 5px;
  right: 10px;
}
#page-top a {
  display: block;
  z-index: 999;
/*  width: 70px;
  height: 50px;*/
  background-color: #f5f5f5;
  text-decoration: none;
  position: relative;
}
#page-top a:hover {
  background-color: #D5D5D5;
}
#page-top a img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center; /*一応BOX内の文字も中央寄せ*/
}
/* Media Query
-----------------------------------*/
/* Small devices (landscape phones, 576px and up, .col-sm-*)*/
@media (min-width: 576px) {
  body {
    font-size: 16px;
  }
  .jumbotron p {}
  .table-responsive-block .table th, .table-responsive-block .table td {
    display: table-cell;
    width: auto;
  }
  .table-responsive-block .table-form th {
    width: 30%;
  }
  .table th, .table td {
    border-top: 1px solid #d2d2d2;
  }
  #sec .table th {
    width: 25%;
  }
  #page-top {
    bottom: 30px;
    right: 30px;
  }
}
/* Medium devices (tablets, 768px and up, .col-md-*)*/
@media (min-width: 768px) {
  .mainimg-top {
    height: 80vh;
  }
  .jumbotron p {
    font-size: 2rem;
  }
  .mainimg-sec p {
    font-size: 2.5rem !important;
    margin-top: 5rem;
	  margin-bottom: 0 !important;
  }
  .mainimg-sec h1 {
    font-size: 2rem !important;
    margin: 0 0 0 0.2rem;
  }
  #sec .breadcrumbs {
    padding: 0.5rem 0;
    display: block;
  }
  #sec .breadcrumbs, #sec .breadcrumbs a {
    color: #333;
    background-color: #f5f5f5;
  }
  #sec .breadcrumbs ul li {
    margin: 0 0.7rem 0 0;
    display: inline-block;
  }
  #sec .breadcrumbs ul li a::after, #sec .breadcrumbs ul li span::after {
    content: " >";
    padding-left: 0.7rem;
    display: inline-block;
  }
}
/* Large devices (desktops, 992px and up, .col-lg-*)*/
@media (min-width: 992px) {
  section {
    padding: 4rem 0;
  }

	.dp-none992 {
    display: none;
  }
  #header .header-info {
    position: absolute;
    right: 15px;
    color: #fff;
    top: 5px;
    display: block;
  }
  .navbar-brand {
    background-size: auto;
/*    height: 83px;*/
    width: 331px;
  }
  .navbar {
    padding: 10px 0;
  }
  .navbar li.dropdown:hover > .dropdown-menu {
    display: block; /*Bootstrapのnavをマウスオーバーに変更*/
  }
  #nav-content a:hover {
    text-decoration: underline;
    background: none;
    color: #fff;
  }
  .navbar-nav {
    background-color: transparent;
  }
  .navbar-collapse {
    margin-top: 40px;
  }
  .dropdown-toggle::after {
    display: none;
  }
  .dropdown-menu {
    top: 90%;
    left: 15px;
  }
  #nav-content .dropdown-menu a:hover {
    background-color: #000;
    color: #fff;
    background: rgba(0, 0, 0, 0.7);
    text-decoration: none;
  }
  .navbar-nav li a {
    color: #fff;
  }
  .navbar-nav li {
    padding: 0 1rem !important;
  }
  .navbar-nav li:nth-child(4) {
    padding: 0 0 0 1rem !important;
  }
  .navbar-light .navbar-nav .nav-link {
    color: #fff;
/*	  padding-bottom: 0.25em;*/
  }
  .navbar .sp-tel {
    display: none;
  }
  .jumbotron p {
    font-size: 2.5rem;
  }
  .btn {
    padding: 0.5rem 0;
  }
  .news-area h2 {
    font-size: 2.5rem;
  }
  .company-area {
    padding: 5rem 0;
  }
  .company-area h2 {
    margin-bottom: 2rem;
    font-size: 1.5rem;
  }
  .company-area img {
    position: absolute;
    right: 0;
  }
  .business-area {
    margin-top: 5rem;
  }
  .business-area .col-lg-6:nth-child(odd) {
    padding-right: 45px;
  }
  .business-area .col-lg-6:nth-child(even) {
    padding-left: 45px;
  }
  .business-area h2 .number {
    font-size: 3rem;
    padding-right: 1.3rem
  }
  .business-area h2 .business-name {
    font-size: 1.8rem;
    padding-left: 1.3rem;
    top: -7px;
  }
  .news-area h2 .text-jp {
    margin-left: 2rem;
    font-size: 1.5rem;
  }
  .news-area dt, .news-area-sec dt {
    float: left;
    padding: 0.7rem 2rem 0.7rem 0;
  }
  .news-area dd, .news-area-sec dd {
    padding: 0.7rem 0 0.7rem;
    margin-bottom: 0.3rem;
  }
  .news-btn a {
    display: block;
    border: 1px solid black;
    padding: 0.3rem 1.5rem;
    font-size: 0.8rem;
    width: 120px;
  }
  .news-btn a:hover {
    background-color: #3D89C5;
    color: white;
    text-decoration: none;
  }
  .news-btn a::before {
    display: none;
  }
  #sec .page-title {
    margin-bottom: 3rem;
    font-size: 1.8rem;
  }
  #sec h3 {
    margin: 4rem 0 2rem;
  }
  .contact-area {
    padding: 4rem !important;
  }
  #footer .link {
    text-align: left;
  }
  #footer .copy {
    text-align: center;
  }
}