@charset "utf-8";
/* ==============================================

	body

================================================= */
body {
	color: #000;
	font-size: 1.8rem;
	background-color: #fff;
	font-family: source-han-serif-japanese,serif;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 480px) {
	body {
		font-size: 1.6rem;
	}
}

/* ==============================================

	header

================================================= */
#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	position: fixed;
	background: #fff;
	z-index: 10;
	width: 100%;
	height: 80px;
	top: 0;
	padding-left: 30px;
}
.h_logo img {
	zoom: 0.8;
}

@media screen and (max-width:1194px){
	#header {
		padding-left: 30px;
	}
}
@media screen and (max-width:896px){
	#header {
		display: block;
		padding: 0 30px;
	}
	.headerArea {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 80px;
	}
}
@media screen and (max-width:480px){
	#header {
		padding: 0 5%;
	}
	#header, .headerArea {
		height: 60px;
	}
	.h_logo img {
		width: 80%;
	}
}

/* ==============================================

	gnav

================================================= */
#gnav ul {
	display: flex;
	align-items: center;
}
#gnav ul li:not(:last-child) {
	padding: 0 20px;
}
#gnav ul li:last-child a {
	color: #fff;
}
#gnav ul li a {
	display: flex;
	flex-direction: column;
	font-size: 1.4rem;
	font-weight: 400;
}
#gnav ul li a:hover {
	opacity: 1;
}
#gnav ul li:not(:last-child) a {
	padding: 0 5px;
	position: relative;
}
#gnav ul li:not(:last-child) a::after {
	position: absolute;
	bottom: 6px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #0071BB;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
#gnav ul li:not(:last-child) a:hover::after {
	transform: scale(1, 1);
}
#gnav ul li:last-child a {
	background: #0071bb;
	width: 160px;
}
#gnav ul li:last-child a:hover {
	background: #002f59;
}
#gnav ul li a div {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 80px;
	transition: .3s;
}
#gnav ul li a small {
	font-size: 1.0rem;
	font-style: italic;
	letter-spacing: 0.2rem;
	position: relative;
	padding-bottom: 8px;
	margin-bottom: 7px;
}
#gnav ul li a small::after {
	content: "";
	display: block;
	border-top: 1px solid #465662;
	width: 60px;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
}
#gnav ul li:last-child a small::after {
	border-top: 1px solid #58acd8;
}
#gnav ul li a p {
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
}

@media screen and (min-width: 897px) {
	#gnav {
		display: block!important;
	}
}
@media screen and (max-width: 1024px) {
	#gnav ul li:not(:last-child) a {
		padding: 0;
	}
}
@media screen and (max-width:896px){
	#nav_toggle{
		width: 30px;
		height: 25px;
		cursor: pointer;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background: #0071bb;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.4s ease-in-out;
		-moz-transition: 0.4s ease-in-out;
		transition: 0.4s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:11px;
	}
	#nav_toggle span:nth-child(3){
		top:22px;
	}
	
	#nav_toggle.open span:nth-child(1) {
		top: 12px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	#nav_toggle.open span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	#nav_toggle.open span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	#gnav {
		position: fixed;
		background: #fff;
		width: 100%;
		height: 100%;
		display: none;
		top: 80px;
		left: 0;
		z-index: 2;
		text-align: center;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	#gnav ul {
		display: block;
		height: 100%;
	}
	#gnav li {
		border-bottom: 1px solid;
		font-weight: 500;
		font-style: normal;
		letter-spacing: 0.3rem;
		height: calc((100% - 80px) / 5);
		padding: 0!important;
	}
	#gnav ul li a small {
		margin-bottom: 10px;
	}
	#gnav li:first-child {
		border-top: 1px solid;
	}
	#gnav ul li a {
		height: 100%;
		width: 100%!important;
		align-items: center;
		justify-content: center;
		color: #000;
	}
	#gnav ul li a::after {
		display: none;
	}
	#gnav ul li:last-child a {
		color: #fff;
	}
	#gnav ul li a div {
		height: auto;
	}
	#gnav span {
		display: block;
		font-size: 1.3rem;
		margin-top: 5px;
		line-height: 100%;
		font-family: bebas-neue-pro, sans-serif;
		color: #0D41A1;
	}
	#gnav img {
		display: block;
		margin: 5px auto 0;
		width: 50px;
		height: auto;
	}
}
@media screen and (max-width: 480px) {
	#gnav {
		top: 60px;
	}
	#gnav li {
		height: calc((100% - 60px) / 5);
	}
}


/* ==============================================

	mv

================================================= */
#mv {
	background: url("images/mv.jpg") center top no-repeat;
	background-size: cover;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 80px;
	padding-left: 8%;
}
.mv_area img {
	margin-top: 80px;
}
@media screen and (max-width:896px){
	#mv {
		padding: 0 5%;
	}
}
@media screen and (max-width:480px){
	#mv {
		margin-bottom: 50px;
		text-align: center;
	}
	.mv_area img {
	}
}


/* ==============================================

	mv_under

================================================= */
#mv_under {
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url("images/mv.jpg") center 70% no-repeat;
	position: relative;
	color: #fff;
	text-align: center;
	margin-bottom: 15px;
	background-size: cover;
}
#mv_under::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgb(0 113 187 / 70%);
}
#mv_under > div {
	padding-top: 80px;
	position: relative;
	z-index: 1;
}
#mv_under p {
	font-size: 2.0rem;
	margin-bottom: 5px;
}
#mv_under small {
	font-size: 1.6rem;
	font-style: italic;
	letter-spacing: 0.2rem;
	margin-bottom: 20px;
	display: block;
	font-weight: 400;
}
#mv_under h1 {
	font-size: 3.8rem;
	letter-spacing: 0.2rem;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	#mv_under h1 {
		line-height: 120%;
	}
}
@media screen and (max-width: 480px) {
	#mv_under {
		height: 200px;
	}
	#mv_under > div {
		padding-top: 60px;
	}
	#mv_under small {
		font-size: 1.3rem;
		margin-bottom: 10px;
	}
	#mv_under h1 {
		font-size: 2.2rem;
	}
	#mv_under p {
		font-size: 1.6rem;
	}
}

/* ==============================================

	pankuzu

================================================= */
#pankuzu {
	padding: 0 30px;
	margin-bottom: 90px;
}
#pankuzu ul li {
	display: inline-block;
	font-size: 1.4rem;
}
#pankuzu ul li a:hover {
	text-decoration: underline;
}
#pankuzu ul li:not(:last-child)::after {
	content: "/";
	padding: 0 3px 0 8px;
}
@media screen and (max-width: 1194px) {
	#pankuzu {
		padding: 0 5%;
	}
}
@media screen and (max-width: 480px) {
	#pankuzu {
		margin-bottom: 40px;
	}
	#pankuzu ul li {
		font-size: 1.3rem;
	}
}


/* ==============================================

	common

================================================= */

/*cmn_btn
-------------------------------------------*/
.cmn_btn a {
	max-width: 350px;
	color: #fff;
	background: #0071bb;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.2rem;
	font-style: italic;
	margin: 0 auto;
	opacity: 1;
}
.cmn_btn a::after {
	content: "";
	display: block;
	border-top: 1px solid #9A9A9A;
	width: 50px;
	margin: 0 auto;
	position: absolute;
	top: 50%;
	right: -25px;
	transition: all 0.2s;
}
.cmn_btn a:hover {
	background: #002f59;
}
.cmn_btn a:hover::after {
	right: -35px;
	transition: all 0.2s;
}

/*cmn_ttl
-------------------------------------------*/
.cmn_ttl {
	max-width: 620px;
	margin: 0 auto;
	border-bottom: 1px solid #0071bb;
	position: relative;
}
.cmn_ttl::before {
	content: "";
	display: block;
	border-top: 1px solid #bababa;
	width: 100px;
	position: absolute;
	left: 0;
	bottom: -1px;
}
.cmn_ttl p {
	font-size: 4.5rem;
	color: #0068b4;
	letter-spacing: 0.4rem;
	font-style: italic;
	margin-bottom: 20px;
	line-height: 120%;
}
.cmn_ttl h2 {
	color: #6D6D6D;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 25px;
}
p.cmn_ttl_en {
	font-size: 2.0rem;
	color: #0068b4;
	letter-spacing: 0.2rem;
	font-style: italic;
	margin-bottom: 20px;
}
h2.cmn_ttl_ja {
	letter-spacing: 0.1rem;
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 25px;
	color: #000;
}

@media screen and (max-width:896px){
	.cmn_ttl {
		max-width: 100%;
		text-align: center;
	}
	.cmn_ttl p {
		font-size: 4.2rem;
	}
	p.cmn_ttl_en {
		font-size: 1.8rem;
	}
	h2.cmn_ttl_ja {
		font-size: 2.7rem;
	}
}
@media screen and (max-width: 640px) {
	.cmn_ttl p {
		font-size: 3.9rem;
		letter-spacing: 0.3rem;
	}
	p.cmn_ttl_en {
		font-size: 1.6rem;
	}
	h2.cmn_ttl_ja {
		font-size: 2.5rem;
	}
}
@media screen and (max-width:480px){
	.cmn_btn a::after {
		width: 30px;
		right: -15px;
	}
	.cmn_ttl p {
		font-size: 2.4rem;
		margin-bottom: 10px;
	}
	.cmn_ttl h2 {
		margin-bottom: 20px;
		font-size: 1.3rem;
		letter-spacing: 0.2rem;
	}
	p.cmn_ttl_en {
		font-size: 1.5rem;
	}
	h2.cmn_ttl_ja {
		font-size: 2.2rem;
		line-height: 140%;
	}
}

/*other_list_ttl
-------------------------------------------*/
.other_list {
	margin-top: 165px;
}
.other_list_ttl {
	max-width: 550px;
	margin: 0 auto 50px;
	border-bottom: 1px solid #071520;
	position: relative;
	text-align: center;
}
.other_list_ttl::before {
	content: "";
	display: block;
	border-top: 1px solid #bababa;
	width: 100px;
	position: absolute;
	left: 0;
	bottom: -1px;
}
.other_list_ttl p {
	font-size: 3.0rem;
	color: #091621;
	letter-spacing: 0.4rem;
	font-style: italic;
	margin-bottom: 18px;
}
.other_list_ttl h2 {
	color: #6D6D6D;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 25px;
}
.other_list .list_box > ul {
	max-width: 900px;
	margin: 0 auto;
	justify-content: center;
}
.other_list .list_box > ul > li {
	width: calc((100% - 1px) / 2);
}
.other_list .list_box > ul > li:not(:nth-child(3n)) {
	margin-right: 0;
}
.other_list .list_box > ul > li:nth-child(odd) {
	margin-right: 1px;
}
@media screen and (max-width: 640px) {
	.other_list .list_box > ul > li {
		width: 100%;
	}
	.other_list .list_box > ul > li:nth-child(odd) {
		margin-right: 0;
	}
}
@media screen and (max-width:480px){
	.other_list {
		margin-top: 80px;
	}
	.other_list_ttl {
		margin-bottom: 25px;
	}
	.other_list_ttl p {
		font-size: 2.5rem;
		letter-spacing: 0.2rem;
		margin-bottom: 15px;
	}
	.other_list_ttl h2 {
		margin-bottom: 20px;
		font-size: 1.4rem;
		letter-spacing: 0.2rem;
	}
}

/*color
-------------------------------------------*/
.red {
	color: #C80202;
	background: none;
	font-style: normal;
}

/* ==============================================

	contents

================================================= */
#contents{

}



@media screen and (max-width:768px){

}




/* ==============================================

	mission

================================================= */
#mission {
	margin-bottom: 140px;
}
#mission .cmn_ttl {
	margin-bottom: 70px;
}
.mission_txt p {
	text-align: center;
	line-height: 200%;
	font-size: 2rem;
	font-weight: 400;
}
.mission_txt p:not(:last-child) {
	margin-bottom: 50px;
}
.mission_txt p span {
	font-weight: bold;
	background: linear-gradient(transparent 60%, #CBE5FF 0%);
}
@media screen and (max-width:896px){
	#mission {
		padding: 0 5%;
	}
}
@media screen and (max-width: 768px) {
	.mission_txt p {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 640px) {
	.mission_txt p {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 480px) {
	#mission {
		margin-bottom: 80px;
	}
	#mission .cmn_ttl {
		margin-bottom: 30px;
	}
	.mission_txt p {
		font-size: 1.6rem;
		line-height: 180%;
	}
	.mission_txt p:not(:last-child) {
		margin-bottom: 35px;
	}
}










/* ==============================================

	about

================================================= */
#business {
	margin-bottom: 170px;
	padding: 0 5%;
}
#business section {
	display: flex;
	align-items: center;
	justify-content: center;
}
#business section:not(:last-child) {
	margin-bottom: 150px;
}
.business_txt {
	max-width: 550px;
	width: 50%;
}
.business_txt_img {
	display: flex;
    gap: 10px;
    margin: 0 auto 60px;
}
.business_txt_img li {
	border: 1px solid #cacaca;
    display: flex;
    align-items: center;
    justify-content: center;
}
#business .cmn_ttl {
	padding-left: 20px;
	margin-bottom: 55px;
}
.business_txt > p {
	padding: 0 30px;
	line-height: 180%;
	margin-bottom: 60px;
}
.business_img_box {
	margin-left: 90px;
}
.business_img {
	border: 1px solid #cacaca;
}
.business_img_box_txt {
	text-align: center;
	margin-top: 10px;
}

@media screen and (max-width: 1366px) {
	.business_txt {
		max-width: inherit;
		width: 48%;
	}
	#business .business_img {
		width: 100%;
	}
	.business_img {
		width: 48%;
	}
}
@media screen and (max-width: 1024px) {
	#business section {
		gap: 30px;
	}
	.business_txt {
		width: 50%;
	}
	.business_txt > p {
		padding: 0;
	}
	#business .business_img_box {
		margin-left: 0;
	}
	#business .business_img {
		margin-left: 0px;
	}
	.business_img {
		margin-left: 60px;
	}
}
@media screen and (max-width:896px){
	#business section {
		display: block;
	}
	#business section:first-child .business_txt > p {
		width: max-content;
	}
	.business_txt {
		width: 100%;
		max-width: inherit;
	}
	.business_img {
		display: block;
		margin: 0 auto 10px;
	}
	.business_txt > p {
		max-width: 540px;
		margin: 0 auto 60px;
	}
	.business_img_box_txt {
		margin: 0 auto 30px!important;
	}
}
@media screen and (max-width: 640px) {
	.business_img {
	}
}
@media screen and (max-width: 480px) {
	#business {
		margin-bottom: 80px;
	}
	#business .cmn_ttl {
		margin-bottom: 30px;
	}
	.business_img {
		width: 80%;
	}
	.business_txt > p {
		margin: 0 auto 30px;
	}
	#business section:not(:last-child) {
		margin-bottom: 80px;
	}
}


/* ==============================================

	service

================================================= */
#service {
	margin-bottom: 180px;
}
#service .cmn_ttl {
	margin-bottom: 50px;
}
.service_box {
	display: flex;
}
.service_box:not(:last-child) {
	margin-bottom: 40px;
}
.service_ttl {
	width: 36%;
	background: #093d8a;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 50px;
}
.service_ttl h3 {
	font-size: 2.2rem;
	letter-spacing: 0.2rem;
	font-weight: 400;
	line-height: 145%;
}
.service_txt {
	width: 64%;
	padding: 40px 5% 40px 70px;
	background: #F7F7F7;
}
.service_txt > ul > li:not(:last-child) {
	margin-bottom: 20px;
}
.service_txt ul li span {
	display: flex;
	align-items: center;
}
.service_txt > ul > li > span {
	font-size: 1.8rem;
	line-height: 130%;
	position: relative;
	padding-left: 30px;
}
.service_txt > ul > li > span::before {
	content: "";
	border-top: 2px solid #093d8a;
	width: 20px;
	position: absolute;
	top: 10px;
	left: 0;
}
.service_txt ul ul {
	margin: 18px 0 0 35px;
}
.service_txt ul ul li:not(:last-child) {
	margin-bottom: 16px;
}
.service_txt ul ul li span::before {
	content: "";
	background: #093d8a;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	margin-right: 10px;
}
@media screen and (max-width: 1024px) {
	.service_ttl {
		width: 340px;
		padding-right: 0;
		justify-content: center;
	}
	.service_txt {
		width: calc(100% - 340px);
		padding: 40px 5%;
	}
}
@media screen and (max-width: 896px) {
	#service .cmn_ttl {
		margin: 0 5% 50px;
	}
	.service_box {
		display: block;
	}
	.service_box > * {
		width: 100%;
	}
	.service_ttl {
		padding: 50px 5%;
	}
	.service_box:not(:last-child) {
		margin-bottom: 0;
	}
	.service_txt {
		padding: 40px 5% 60px;
	}
}
@media screen and (max-width: 480px) {
	#service {
		margin-bottom: 80px;
	}
	#service .cmn_ttl {
		margin: 0 5% 30px;
	}
	.service_ttl {
		padding: 30px 5%;
	}
	.service_ttl h3 {
		font-size: 1.9rem;
		line-height: 130%;
	}
	.service_txt {
		padding: 30px 5% 20px;
	}
	.service_txt > ul > li > span {
		font-size: 1.6rem;
	}
	.service_txt ul ul {
		margin: 10px 0 25px 35px;
	}
	.service_txt > ul > li:not(:last-child) {
		margin-bottom: 10px;
	}
	.service_txt ul ul li:not(:last-child) {
		margin-bottom: 12px;
	}
	.service_txt > ul > li > span::before {
		width: 15px;
	}
	.service_txt > ul > li > span {
		padding-left: 25px;
	}
	.service_txt ul ul {
		margin: 10px 0 25px 30px;
	}
}


/* ==============================================

	products

================================================= */
#products {
	margin-bottom: 100px;
}
#products .cmn_ttl {
	margin-bottom: 50px;
}
.list_box > ul {
	display: flex;
	gap: 30px;
}
.list_box > ul > li {
	width: calc((100% - 90px) / 4);
	position: relative;
}
.list_box > ul > li img.cmn_fit {
	height: 300px;
	position: absolute;
	top: 0;
}
.list_box > ul > li div {
	padding: 10%;
}
.list_box > ul > li a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgba(9,61,138,0.7);
}
/*
.products_area ul li:nth-child(3n-2) a::after {
	background: rgba(11,20,43,0.8);
}
.products_area ul li:nth-child(3n-1) a::after {
	background: rgba(0,0,0,0.8);
}
.products_area ul li:nth-child(3n) a::after {
	background: rgba(2,15,21,0.8);
}
*/
.list_box > ul > li h3 {
	font-size: 2.4rem;
	letter-spacing: 0.2rem;
	font-weight: 500;
	max-width: 260px;
	margin: 0 auto;
}
.list_box > ul > li p {
	font-size: 1.5rem;
	color: #0068b4;
	letter-spacing: 0.1rem;
	margin: 0 auto 20px;
	max-width: 260px;
}
.list_box_list {
	font-size: 1.5rem;
	max-width: 260px;
	margin: 50px auto 0;
}
.list_box_list li {
	line-height: 125%;
}
.list_box_list li:not(:last-child) {
	margin-bottom: 12px;
}
.list_box_list li span {
	display: flex;
	align-items: flex-start;
	padding-left: 20px;
	position: relative;
	flex-flow: wrap;
}
.list_box_list li span::before {
	content: "";
	width: 12px;
	border-top: 1px solid #0071BB;
	position: absolute;
	top: 8px;
	left: 0;
}





/* ==============================================

	executive

================================================= */
#executive {
	background: #f7f7f7;
	padding: 110px 5% 120px;
	margin-bottom: 120px;
}
#executive .cmn_ttl {
	margin-bottom: 70px;
}
#executive .list_box > ul > li div {
	background: #fff;
}
#executive .list_box figure {
	margin-bottom: 30px;
	text-align: center;
}

.executive_txt {
	text-align: center;
	margin-top: 30px;
	font-size: 2.2rem;
}
.executive_sdgs {
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.1rem;
	text-indent: 0.1rem;
}
.executive_sdgs::after, .executive_sdgs::before {
	border-top: 3px solid #093d8a;
	content: "";
	width: 50px;
}
.executive_sdgs::after {
	margin-left: 15px;
}
.executive_sdgs::before {
	margin-right: 15px;
}

@media screen and (max-width: 1536px) {
	#executive {
		padding: 110px 3% 120px;
	}
}
@media screen and (max-width: 1024px) {
	.list_box > ul {
		flex-flow: row wrap;
	}
	.list_box > ul > li {
		width: calc((100% - 30px) / 2);
	}
}
@media screen and (max-width:896px){
	#executive {
		padding: 110px 5% 120px;
	}
	#executive .cmn_ttl {
		margin: 0 5% 50px;
	}
}
@media screen and (max-width: 768px) {
	.list_box > ul > li h3 {
		font-size: 2.2rem;
	}
	.list_box > ul > li p {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 640px) {
	.list_box > ul {
		flex-flow: column;
	}
	.list_box > ul > li {
		width: 100%;
	}
	.u_about_intro {
		font-size: 1.8rem;
	}
	.executive_sdgs {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 480px) {
	#executive {
		margin-bottom: 60px;
		padding: 60px 5%;
	}
	#executive .cmn_ttl {
		margin-bottom: 40px;
	}
	.u_about_intro {
		font-size: 1.7rem;
		text-align: left;
		line-height: 180%;
	}
	.executive_sdgs {
		font-size: 2.0rem;
		padding: 0 5%;
		white-space: nowrap;
		letter-spacing: 0;
		margin-bottom: 25px;
	}
	.executive_sdgs::after, .executive_sdgs::before {
		border-top: 2px solid #093d8a;
		flex-grow: 1;
		width: 50%;
	}
	.executive_sdgs::before {
		margin-right: 10px;
	}
	.executive_sdgs::after {
		margin-left: 10px;
	}
	.executive_txt {
		font-size: 1.8rem;
		margin-top: 25px;
	}
	.list_box > ul {
		gap: 20px;
	}
	.list_box > ul > li h3 {
		font-size: 1.8rem;
	}
	.list_box_list {
		margin-top: 30px;
	}
	.list_box > ul > li p {
		margin-bottom: 12px;
	}
	.list_box > ul > li div {
		padding: 7% 10%;
	}
}

/* ==============================================

	contact

================================================= */
#contact .cmn_ttl {
	margin-bottom: 60px;
}
.contact_box {
	text-align: center;
}
.contact_box p {
	margin-bottom: 50px;
}
@media screen and (max-width:896px){
	#contact {
		padding: 0 5%;
	}
}
@media screen and (max-width: 480px) {
	#contact .cmn_ttl {
		margin-bottom: 30px;
	}
	.contact_box p {
		line-height: 150%;
		text-align: left;
		margin-bottom: 30px;
	}
}


/* ==============================================

	footer

================================================= */
#footer {
	background-size: cover;
	padding: 60px 0 0;
	margin-top: 130px;
	text-align: center;
	border-top: 1px solid #ccc;
}
.footerArea {
	padding: 0 5%;
}
.f_logo {
	margin-bottom: 60px;
}
.footerArea address {
	font-size: 1.5rem;
	font-style: normal;
	margin-bottom: 50px;
	line-height: 150%;
}
.f_menu {
	margin-bottom: 80px;
}
.f_menu ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
.f_menu ul li:not(:last-child)::after {
	content: "/";
	padding: 0 15px;
}
.f_menu ul li a {
	font-size: 1.5rem;
	letter-spacing: 0.1rem;
	font-weight: 500;
}
.f_menu ul li a:hover {
	text-decoration: underline;
	opacity: 1;
	
}
@media screen and (max-width: 480px) {
	#footer {
		padding: 30px 0 0;
		margin-top: 80px;
	}
	.f_logo {
		margin-bottom: 30px;
	}
	.f_logo img {
		zoom: 0.7;
	}
	.footerArea address {
		font-size: 1.4rem;
	}
}

/* ==============================================

	copyright

================================================= */
#copyright{
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.1rem;
	padding: 25px 0;
	background: #0071BB;
	color: #fff;
}

@media screen and (max-width: 480px) {
	#copyright {
		font-size: 1.0rem;
		line-height: 130%;
	}
}



/* =======================================

	#pageTop

========================================== */
#pageTop{
	position:fixed;
	background-color:rgba(0,113,187,0.8);
	bottom:40px;
	right:30px;
	padding: 18px 14px;
	z-index: 100;
}
@media screen and (max-width: 768px) {
	#pageTop {
		padding: 15px 10px;}
}

/* ==============================================

	topics

================================================= */
#topics {
	padding: 0 5%;
	margin-bottom: 120px;
}
.topics_box {
	margin-top: 0px;
	padding-top: 50px;
	width: auto;
	margin-bottom: 0px;
	max-width: 1000px;
	margin: 0 auto;
}
.topics_box ul li {
	line-height: 160%;
	margin-bottom: 20px;
	font-size: 1.6rem;
}
.topics_box ul li::marker {
  content: "· ";
  font-size: 1.6em;
}

/* ==============================================

	news

================================================= */
#news {
	padding: 0 5%;
}
.news_box {
	margin-top: 0px;
	padding-top: 30px;
	width: auto;
	margin-bottom: 0px;
	max-width: 1000px;
	margin: 0 auto;
}
.news_box h2 {
	font-size: 26px;
	letter-spacing: 0.3rem;
	font-weight: normal;
	margin-bottom: 30px;
}
.news_box dl {
	padding: 15px 0;
	border-bottom: 1px solid #A6A6A6;
}
.news_box dl dt, .news_box dl dd {
	display: inline-block;
	vertical-align: top;
}
.news_box dl dt span {
	background: #002f59;
	color: #ffffff;
	font-size: 14px;
	width: 120px;
	padding: 5px 0;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	margin-left: 25px;
}
.news_box dl dt {
	width: 25%;
	font-size: 14px;
	padding-top: 10px;
}
.news_box dl dd {
	margin-left: 30px;
	padding-top: 5px;
	width: 65%;
	font-size: 15px;
	line-height: 150%;
}
.news_box a:hover {
	text-decoration: underline;
}
@media screen and (max-width:1200px){
	.news_box {
		padding: 30px 15px 0;
	}
	.news_box dl dt {
		width: auto;
	}
	.news_box dl dd {
		margin-left: 0;
		width: auto;
	}
}
@media screen and (max-width:812px){
	.news_box dl dt, .news_box dl dd {
		display: block;
	}
	.news_box dl dd {
		margin: 15px 0 0 0;
	}
}
@media screen and (max-width:768px){
	.news_box h2 {
		font-size: 22px;
	}
	.news_box dl {
		padding: 15px 20px;
	}
}
@media screen and (max-width: 480px) {
	.news_box {
		padding: 20px 0 0;
	}
	.news_box dl dt span{
		font-size: 1.3rem;
	}
	.news_box dl dd {
		font-size: 1.4rem;
	}
}

.news_under h3 {
	padding: 20px 0 0 10px;
	font-weight: normal;
	margin-bottom: 40px;
	position: relative;
	font-size: 24px;
	line-height: 150%;
}
.news_under h3:before {
	content: "";
	display: block;
	border-top: 2px solid #026eb8;
	width: 100px;
	position: absolute;
	top: 0;
	left: 0;
}
.news_info {
	border-bottom: 1px solid #C4C4C4;
	padding-bottom: 15px;
}
.news_info, .news_info ul {
	font-size: 0;
}
.news_info time, .news_info dl, .news_info dl dt, .news_info dl dd, .news_info li {
	display: inline-block;
	font-size: 14px;
}
.news_info dl dd {
	margin-left: 10px;
}
.news_info dl {
	margin-left: 30px;
	margin-top: 0;
    margin-bottom: 0;
}
.news_info li:not(:last-child) {
	margin-right: 5px;
}

.news_info li a {
	border: 1px solid #c9c9c9;
	padding: 5px 10px;
	font-size: 11px;
	display: block;
}
.news_info li a:hover {
	background: #eeeeee;
}
.news_txt {
	font-size: 16px;
	margin: 30px 0;
}
.news_txt p {
	line-height: 2.0em;
}
.news_txt_subttl{
	font-weight: bold;
    text-align: center;
    font-size: 20px;
}
.news_txt_left{
	margin: 20px 30px;
}
.news_txt_left a{
	color: #036eb8;
	font-weight: bold;
}
.news_txt_left a:hover{
	opacity: 0.5;
}
.news_txt_center{
    text-align: center;
	margin: 20px auto;
}
.news_txt_link {
}
.news_txt_link a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: bold;
	height: 60px;
	padding: 0 15px;
	background: #FFFFFF;
	border: 1px solid #055fb9;
	max-width: 400px;
	margin: 40px auto 0;
	color: #055fb9;
}
.news_txt_link a:after {
	content: url("../images/icon_link_gray.png");
	margin-left: 5px;
}

.news_txt_link a:hover {
	background: #055fb9;
	border: 1px solid #055fb9;
	color: #fff;
}
.news_txt_link a:hover:after {
	content: url("../images/icon_link_white.png");
}
.news_img_area {
	margin: 0 auto;
	text-align: center;
}
.news_img_area img {
	margin: 10px 10px;
}
.top_back a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: normal;
	height: 40px;
	padding: 0 15px;
	font-size: 13px;
	background: #f2f2f2;
	border: 1px solid #c9c9c9;
	max-width: 200px;
	margin: 40px auto 0;
}
.top_back a:hover {
	background: #004f86;
	border: 1px solid #004f86;
	color: #fff;
}

@media screen and (max-width:1200px){
	.news_img_area img {
		max-width: 100%;
		height: auto;
		margin: 10px 0px;
	}
}
@media screen and (max-width:768px){
	.news_under h3 {
		padding: 20px 0 0 0px;
	}
	.news_txt_link a {
		font-size: 13px;
	}
	.news_img_area img {
		max-width: 100%;
		height: auto;
		margin: 10px 0px;
	}
	.news_txt_subttl{
		text-align: inherit;
	}
	.news_txt_center{
		text-align: inherit;
	}

}




.business_list_03 {
	display: flex;
	gap: 10px;
	margin: 0 auto 60px;
}
.business_list_03 figure {
    border: 1px solid #cacaca;
    display: flex;
    align-items: center;
    justify-content: center;
}
.business_list_03 p {
	display: block;
	text-align: center;
	font-size: 1.4rem;
	margin-top: 10px;
}
@media screen and (max-width:480px){
	.business_list_03 {
		margin-bottom: 30px;
	}
}

