
* {
	margin: auto 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
}
a {
  text-decoration: none;
}
.breadcrumb li, a {
    color: #000;
}
/* Font style */
body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  }
  @font-face {
	font-family: "Noto Sans JP",'NotoSerif',;
	src: url('../font/NotoSerifJP-Regular.otf') format('opentype');
  }
  
  @font-face {
	font-family: 'Notosans';
	src: url('../font/NotoSansJP-Regular.woff2') format('woff2');
  }
h1.header_contents {
	font-family: NotoSerif;
}
/***追従するトップへ戻るボタン***/
.pagetop {
	cursor: pointer;
	position: fixed;
	right: 30px;
	bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	transition: .3s;
	color: #000;
	background: #fff;
	opacity: 0;/*   デフォルトは非表示 */
  }
  .pagetop:hover {
	  box-shadow: 0 0 10px #00A6C4;
  }
  /***トップへ戻るボタンここまで***/
.container-fluid{
 padding-left: 0;
 padding-right: 0;
}
.row {
	--bs-gutter-x:0;
}
h1 {
	margin: 15px 0 0 78px;
}
footer {
    background: #424242;
    justify-content: center;
    width: 100%;
    padding-top: 60px;
    color: #FFF;
}
footer a{
	text-decoration: none;
	color: inherit;
}
footer a:hover{
	text-decoration: none;
	color: #024190;
}
.footer-2 {
	width: 100%;
	background-color: #424242;;
	color: #FFF;
	border-top: 1px solid #FFF;
	padding: 30px 0px 20px 0px;
}
.footer-2 .row{
	width: 100%;
	margin: 0 auto;
}
#main_nav {
	display: inherit;
}
.copyright {
	width: 100%;
	text-align: center;
	background: #000;
	color: #FFF;
	padding-top: 2rem;
    padding-bottom: 2rem;
}
header {
	height: 90px;
	vertical-align: middle;
}
#header_contact {
	background-color: #004DA0;
    display: table-cell;
    width: 90px;
    height: 90px;
    text-align: center;
    vertical-align: bottom;
}
/*pan style*/
#breadcrumb {
	border-bottom:#666 1px solid;
	border-top:#666 1px solid;
	padding:0.5rem 0 0.5rem 3rem;
  margin: auto 0;
}
.breadcrumb {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  font-size:0.9rem;
  margin-bottom: 0;
}
.breadcrumb i {
  font-size:0.8rem;
}
.breadcrumb li,a {
  color: #666;
}
.my-gray {color: #666}

.breadcrumb  .fa-angle-right {
  margin:0 15px 0 15px;
}

.breadcrumb li:last-child {
  font-weight: bold;
}
@media only screen and (min-width: 992px) {
#inq_sp{
	display: none;
}

}/* PC */

@media only screen and (max-width: 991px) {
#inq_pc{
	display: none;
}
}/* SP */

/* navi用 */
body {
	overflow-x: hidden; /* 狭いデバイスでのスクロールを防止 */
  }
#gnavi_wrap{
	padding: 0;
}

@media only screen and (min-width: 992px) {
	#gnavi {
		text-align:center;
		padding: 0;
		margin-bottom: 0;
		display: flex;
		margin-right:55px;
		margin-bottom: 0.8rem;
	}
	#navbarSupportedContent{
		display: flex;
		flex-flow: wrap column;
		height: 90px;
		align-items: flex-end;
		align-content: flex-end;
	}
	#header_contact  p{
		color: #FFF;
		font-size: 11px;
	}
	#header_contact img {
		margin: 0 auto;
	}
	.list-inline-item {
		font-size: 14px;
	}
	nav.navbar {
		padding: 0 0.5rem 0 0;
	 }
/*footer block style*/
footer {
	background: #424242;
	justify-content: center;
	width: 100%;
	padding-top:60px;
	color:#FFF;
  }
  #footer_wrap {
	  width:100%;
	  border-bottom:1px solid #666;
	  padding-bottom:30px;
  }
  #footer_wrap  p.flex-item span{
	  color:#FFF;
  }
  .footer_wrap_inner:first-child {
	  width:1200px;
	  margin:0 auto;
  }
  .footer_wrap_inner:nth-child(2) {
	  width:1200px;
	  border-top:1px solid #666;
	  margin:2rem auto 0 auto;
	  padding:2rem 0;
	  font-size:14px;
  }
  .footer_wrap_inner h4 {
	  color:#FFF;
	  font-size:1.7rem;
	  margin-bottom:2rem;
  }
  .footer_wrap_copy{
	  width:1200px;
	  margin:0 auto;
	  padding:30px 0px 20px 0px;
  }
  .footer_wrap_copy_2{
	  display:float;
	  padding:0px 15px 0px 0px;
	  font-size:14px;
  }
  .footer_wrap_copy_2 a {
	  color:#FFF;
  }
  .copyright {
	  padding-top:2rem;
	  padding-bottom:2rem;
	  display:block;
	  width:100%;
	  text-align:center;
	  background:#000;
  }
  .copyright small{
	  color:#FFF;
  }
  
  .footer_wrap_inner ul li {
	  color:#FFF;
	  margin-right:2rem;
	  margin-left:1rem;
	  padding-top:0.5rem;
	  font-size:1.0rem;
  }
  .footer_wrap_inner ul li a{
	  color:#FFF;
  }
  .footer_wrap_inner ul li a:hover{
	  color:#06F;
  }
  .footer__navi-heading{
	  margin:0px 15px 0px 0px;
	  color:#FFF;
  }
  .footer__navi-heading img {
	  vertical-align: middle;
  }
  .footer__navi-heading a{
	  font-size:14px;
	  color:#FFF;
  }
  .footer__navi-heading a:hover{
	  color:#903;
  }
  .footer_navi {
	  display:flex;
	  align-items: flex-start;
	  justify-content:space-between;
	  margin:15px;
  }
  .footer_navi-item {
	  flex: 1;
	  margin:0 auto;
  }
  .footer_navi-item ul li {
	  font-size:14px;
	  list-style:disc;  
  }/*footer ここまで*/

  .feature_img_text {
    margin-left: 80px;
    padding-top: 12rem;
  }
  .feature_img_text h2 {
    font-size: 2rem;
	font-weight: 900;
    color: #FFF;
  }
  .feature_img_text p {
    font-size: 1rem;
    color: #FFF;
    margin-bottom: 5rem;
  }
  .news_list_wrap p {
    display: inline-block;
    padding: 15px 0px 15px 0px;
    margin-bottom: 0;
  }
  .base_button {
    border-radius: 100px;
    border: 1px solid #FFF;
    display: block;
    width: 230px;
    padding: 15px;
    box-sizing: border-box;
    background: none;
    text-decoration: none;
    text-align: center;
    margin: 10px 0;
  }
 .base_button a {
    color: #FFF;
  }
  .arrow_right {
    position: relative;
    padding-left: 40px;
  }
 .arrow_right::before {
    content: "";
    margin: auto;
    position: absolute;
    top: 16px;
    bottom: 0;
    left: 35px;
    width: 12px;
    border-top: 2px solid #FFF;
    transform: rotate(45deg);
  }
  .arrow_right::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 29px;
    width: 30px;
    height: 2px;
    background: #FFF;
  }
  .base_button:hover a{
	color:#004DA0;
  }
  .arrow_right:hover{
	color: #004DA0;
	background: #FFF;/* 棒の色 */ 
  }
  .arrow_right:hover::before {
	border-top:2px solid #004DA0;
  }
  .arrow_right:hover::after{
	border-top:#004DA0;	
	background:#004DA0;
  }

  .feature_img ul {
    width: 1100px;
    position: absolute;
    top: 525px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    /* background: linear-gradient(90deg, #fff 0%, #fff 80%, #E6E6E6 20%, #E6E6E6 100%); */
    background: linear-gradient(90deg, #fff 0%, #fff 80%, #FFF 20%, #FFF 100%);
    padding: 10px 60px 10px 30px;
    box-shadow: 2px 2px 9px 0px rgba(0, 0, 0, 0.34);
  }
  .feature_img .news_list_wrap {
    display: flex;
    justify-content: space-between;
  }
  span.label {
    background-color: #024190;
    color: #FFF;
    display: inline-block;
    margin-right: 20px;
    padding: 0px 26px 5px 26px;
  }
  .feature_img span {
    vertical-align: middle;
    display: inline-block;
    margin: 0rem 2rem;
    padding-bottom: 3px;
  }
  .cont01_item {
    position: relative;
    max-width: 1665px;
    background-image: url(../images/top/main_img01.jpg);
    background-position: left;
    background-repeat: no-repeat;
    height: 597px;
    margin: 90px 0 0 0;
  }
  #top_cnt01 .cont01_item_sub, #top_cnt01 .cont02_item_sub, #top_cnt01 .cont03_item_sub {
    padding: 4rem 2rem 2rem 2rem;
  }
  .cont01_item_sub {
    position: absolute;
    width: 720px;
    height: 320px;
    background-color: rgba(2, 65, 144, 0.9);
    right: 0%;
    bottom: 0;
  }
  #top_cnt01 h5 {
    font-size: 1rem;
  }
  .cont01_item_sub h5 {
    color: #B3B3B3;
  }
  .cont01_item_sub p {
    color: #FFF;
    font-size: 30px;
 }

  .cont02_item {
    position: relative;
    max-width: 1920px;
    background-image: url(../images/top/main_img02.jpg);
    background-position: right;
    background-repeat: no-repeat;
    height: 597px;
    margin: 0 0 0 0;
  }
  .cont02_item_sub {
    position: absolute;
    width: 720px;
    height: 330px;
    background-color: rgba(2, 65, 144, 0.9);
    margin-left: 0px;
    left: 7%;
    bottom: 0;
  }
  .cont02_item_sub h5 {
    color: #B3B3B3;
  }
  .cont02_item_sub p {
    color: #FFF;
    font-size: 30px;
  }
  .cont02_item_sub span {
    color: #FFF;
    font-size: 0.8em;
  }
  #top_cnt02 .container {
    display: flex;
    flex-flow: row wrap;
    align-content: space-around;
    width: 1200px;
    margin: 0 auto;
  }
  #top_cnt02 .item {
    width: 376px;
    margin-right: 16px;
    background-color: #E6E6E6;
  }
  #top_cnt02 .item img {
    margin: 20px;
  }
  #top_cnt02 .container_inner {
    display: flex;
    justify-content: space-between;
  }
  #top_cnt02 .container_inner .item {
    padding: 0px 0px 15px 20px;
    width: initial;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.4;
  }
  .Square_button {
    display: block;
    background-color: #000000;
    width: 67px;
    height: 35px;
    padding-top: 5px;
  }
  .Square_button span {
    display: inline-block;
    width: 40px;
    height: 8px;
    margin-left: 10px;
    border-bottom: 1px solid #FFF;
    border-right: 1px solid #FFF;
    background-color: #000000;
    transform: skew(45deg);
  }
  .cont03_item {
    position: relative;
    max-width: 1883px;
    background-image: url(../images/top/main_img03.jpg);
    background-position: left;
    background-repeat: no-repeat;
    height: 622px;
    margin: 0 0 0 0;
  }
  .cont03_item_sub {
    position: absolute;
    width: 720px;
    height: 400px;
    background-color: rgba(2, 65, 144, 0.9);
    bottom: 0;
    right: 0%;
  }
  .cont03_item_sub h5 {
    color: #B3B3B3;
  }
  .cont03_item_sub p {
    color: #FFF;
    font-size: 2em;
  }
  .cont03_item_sub span {
    color: #FFF;
    font-size: 0.8em;
  }
  #top_cnt02 {
    margin-top: 120px;
    background-color: #F2F2F2;
    padding-bottom: 110px;
  }
  h3 {
    position: relative;
    padding: 60px 5px 60px 5px;
    text-align: center;
    font-size: 2rem;
  }
  h3:before {
    position: absolute;
    top: calc(56% - 1px);
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #000;
  }
  h3 span {
    position: relative;
    background: #F2F2F2;
    padding: 0 1rem;
    font-weight: bold;
  }
  #news_block h3 span {
    position: relative;
    background: #FFFFFF;
    font-weight: bold;
  }
  #news_block ul {
    width: 1200px;
    margin: 0 auto;
    padding-left: 0;
  }
  .news_item {
    display: flex;
    padding: 15px;
    margin-top: 15px;
  }
  .news_wrap {
    display: flex;
    flex-direction: column;
    width: 515px;
    margin-left: 60px;
    margin-right: 124px;
  } 
  .news_item .day {
    margin-top: 60px;
    font-size: 0.8rem;
    color: #333;
  }
  .news_item .title {
    margin-top: 0.4rem;
    font-size: 1.0rem;
    font-weight: bold;
  }
  .news_item .text {
    margin-top: auto;
  }
  .news_item .label {
    background-color: #024190;
    color: #fff;
    padding: 2px 5px;
    width: 116px;
    height: 30px;
    margin: 0px 0px 0px 40px;
    text-align: center;
  }
  #news_block {
    margin-bottom: 150px;
  }
  .footer__navi-heading {
    margin: 0px 15px 0px 0px;
    color: #FFF;
  }
  .footer_wrap_copy_2 {
    display: float;
    padding: 0px 15px 0px 0px;
    font-size: 14px;
  }
  .footer-2{
    width: 1200px;
    margin: 0 auto;
    border: none;
  }
  .footer-2 p {
    margin-bottom: 0;
  }
}/* PC only */

@media only screen and (max-width: 991px) {
  #breadcrumb {
    border-bottom: #666 1px solid;
    border-top: #666 1px solid;
    padding: 0.5rem 0 0.5rem 1rem;
    margin: auto 0;
  }
	#gnavi li {
		padding: 0.8rem 0;
	}
	nav.navbar-expand-lg{
		justify-content: flex-end;
	}

	h1  {
		margin:0 auto;
		padding-top: 10px;
		padding-left: 15px;
	}
	h1 img {
		width: 50%;
	}
	button :hover{
		border: #FFF;
	}
	.navbar{
		--bs-navbar-toggler-focus-width: 0rem;
	}
	
	.navbar-collapse {
		background-color: #cfcfcf;
		text-align: center;
	}
	.navbar-toggler {
		margin-bottom: 10px;
		margin-right: 15px;
	}
	.navbar-collapse p.flex-item {
		text-align: right;
	}
	ul#gnavi li{
		border-bottom: solid 1px #fff;
		width: 100%;
		text-align: center;
	}
	#header_contact {
		background-color:inherit;		
		width: inherit;
		height: inherit;
		padding-top: 0.8rem;
		padding-bottom: 0.8rem;
	}
	#header_contact p {
		display: block;
		vertical-align: middle;
		margin-bottom: 0rem;
	}
	#header_contact img {
		display: none !important;
	}
	.list-inline-item:not(:last-child) {
		margin-right: 0;
	}
  .feature_img_text{
    padding: 6rem 0 0 1rem;
  }
  .feature_img_text h2 {
    color: #fff;
    font-weight: bold;
    text-shadow: #555555 1px 0 5px;
  }
  .feature_img_text p {
    color: #fff;
    margin-bottom: 3rem; 
  }
  .base_button {
    border-radius: 80px;
    border: 1px solid #FFF;
    display: block;
    width: 200px;
    padding: 10px;
    box-sizing: border-box;
    background: #FFF;
    opacity: 0.8;
    text-decoration: none;
    text-align: center;
    margin: 5px 0;
  }
  .feature_img ul {
    position: absolute;
    top: 400px;
    left: 15px;
    width: 93%;
    background-color: #fff;
    opacity: 0.8;
    padding: 1rem;
    font-size: small;
    margin-bottom: 0;
  }
  .feature_img ul p{
    margin-bottom: 0;
  }
  .news_list_wrap .label{
  font-weight: bold;
  }
  .cont01_item{
    padding: 1rem;
    width: 100%;
    background-image: url(../images/top/main_img01_sp.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 1rem;
  }
  .cont01_item_sub h5{
    color: #fff;
    font-weight: bold;
    text-shadow: #000 1px 0 5px;
    padding-top: 1rem;
  }
  .cont01_item_sub p{
    color: #fff;
    text-shadow: #000 1px 0 3px;
    margin: 2rem 0 0 0;
  }
  .cont01_item_sub .base_button{
    border-radius: 60px;
    border: 1px solid #FFF;
    display: block;
    width: 110px;
    padding: 5px;
    box-sizing: border-box;
    background: #FFF;
    opacity: 0.8;
    text-decoration: none;
    text-align: center;
    margin: 5px 0;
    font-size: small;
    margin-left: auto;
  }
  .cont02_item{
    padding: 1rem;
    width: 100%;
    background-image: url(../images/top/main_img02_sp.jpg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .cont02_item_sub h5{
    color: #fff;
    font-weight: bold;
    text-shadow: #000 1px 0 5px;
    padding-top: 1rem;
  }
  .cont02_item_sub p{
    color: #fff;
    text-shadow: #000 1px 0 3px;
    margin: 2rem 0 0 0;
  }
  .cont02_item_sub span {
    font-size: small;
    color: #fff;
  }
  .cont02_item_sub .base_button{
    border-radius: 60px;
    border: 1px solid #FFF;
    display: block;
    width: 110px;
    padding: 5px;
    box-sizing: border-box;
    background: #FFF;
    opacity: 0.8;
    text-decoration: none;
    text-align: center;
    margin: 5px 0;
    font-size: small;
    margin-left: auto;
  }  
  .cont03_item{
    padding: 1rem;
    width: 100%;
    background-image: url(../images/top/main_img03_sp.jpg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .cont03_item_sub h5{
    color: #fff;
    font-weight: bold;
    text-shadow: #000 1px 0 5px;
    padding-top: 1rem;
  }
  .cont03_item_sub p{
    color: #fff;
    text-shadow: #000 1px 0 3px;
    margin: 2rem 0 0 0;
  }
  .cont03_item_sub .base_button{
    border-radius: 60px;
    border: 1px solid #FFF;
    display: block;
    width: 110px;
    padding: 5px;
    box-sizing: border-box;
    background: #FFF;
    opacity: 0.8;
    text-decoration: none;
    text-align: center;
    margin: 5px 0;
    font-size: small;
    margin-left: auto;
  }
  .cont03_item_sub span {
    font-size: small;
    color: #fff;
  }
  #top_cnt01,#top_cnt03{
    margin-top: 2rem;
    width: 100%;
  }
  #top_cnt02 .item img {
    width: 100%;
  }
  #top_cnt02 div.item {
    margin-bottom: 1.5rem;
  }
  #top_cnt02 h3 {
    margin: 0 15px 15px 15px;
  }
  #news_block {
    margin: 0 15px 0 15px;
  }
  #news_block ul {
    padding-left: 0;
  }

  #news_block .news_item .label {
 display: none;
 }
  #footer_wrap {
    margin: 0 15px 0 15px;
  }
  footer {
    background: #424242;
    justify-content: center;
    width: 100%;
    margin-top: 2rem;
    padding-top: 60px;
    color: #FFF;
}
  .footer-2 {
    padding: 0 15px 0 15px;
  }
  .col-lg {
    margin-top: 2rem;
  }
  .col-lg-1{
    margin-bottom: 2rem;
  }
}/* SP 997only */
@media only screen and (max-width: 575px) {
nav.navbar {
	margin-top: -48px;
 }
 h1 a img {
	width: 35%;
}
}/* SP 575only */



.navbar-collapse a {
		text-decoration: none;
		color: #666;
}
.navbar-nav li.list-inline-item {
	max-height: 90px;
	margin: 0 0 0 60px;
    text-align: right;
}


.feature_img {
    background: url(../images/feature_img.jpg) no-repeat center center / auto auto;
    height: 550px;
    position: relative;
    background-size: cover;
}
p.flex-item {
	text-align: right;
	margin: 20px 55px 0px 0;
}

