@charset "utf-8";


/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}

.sp {
	display: none;
}

.area {
	padding: 70px 40px;
	box-sizing: border-box;
}

.inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

.inner_s {
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
	box-sizing: border-box;
}

.bg_blue {
	background: #ecf0f7;
}

.blue {
	color: #171c61;
}

.ttl01 {
	text-align: center;
	margin: 0 0 40px;
	line-height: 1.3;
}

.ttl_en {
	margin: 0 0 20px;
}

.ttl_jp {
	margin: 0 0 50px;
	font-weight: 700;
	font-size: 110%;
}

.arrow_w {
	position: relative;
}

.arrow_w::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../img/common/arrow02.png")no-repeat right center/27px 6px;
	width: 27px;
	height: 6px;
	right: 20px;
	top: 50%;
	transform: translate(0, -50%);
}

.arrow_b {
	position: relative;
}

.arrow_b::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../img/common/arrow01.png")no-repeat right center/27px 6px;
	width: 27px;
	height: 6px;
	right: 20px;
	top: 50%;
	transform: translate(0, -50%);
}

.btn_white {
	background: #ffffff;
	width: 460px;
	height: 85px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 110%;
	font-weight: 700;
	margin: 0 auto;
}

.btn_white.bd {
	border: 1px solid #171c61;
}

@media screen and (max-width:768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.area {
		padding: 50px 30px;
	}

	.ttl01 {
		margin: 0 0 30px;
	}

	.btn_white {
		width: 280px;
		height: 60px;
		font-size: 100%;
	}
}

@media screen and (max-width:480px) {
	.area {
		padding: 40px 20px;
	}

	.ttl_en {
		margin: 0 0 10px;
	}

	.ttl_jp {
		margin: 0 0 40px;
		font-size: 100%;
	}
}

.pager .pagination {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}

.pager .pagination li {
	margin: 0 4px;
}

.pager .pagination li a {
	width: 40px;
	height: 40px;
	border: 1px solid #505050;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #505050;
}

.pager .pagination li a.active {
	background: #171c61;
	color: #fff;
	border: none;
	border: 1px solid #171c61;
}

.pager .pagination li a:hover {
	opacity: 1;
	background: #171c61;
	color: #fff;
	border: none;
	border: 1px solid #171c61;
}

@media screen and (max-width:480px) {
	.pager .pagination li a {
		width: 30px;
		height: 30px;
		font-size: 90%;
	}
}

.breadcrumb {
	color: #171c61;
	font-weight: 500;
	padding: 60px 40px 30px;
}

.breadcrumb ul {
	max-width: 1050px;
	margin: 0 auto;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	font-size: 110%;
}

.breadcrumb ul li:not(:last-child) {
	position: relative;
	padding-right: 30px;
}

.breadcrumb ul li:not(:last-child)::after {
	position: absolute;
	display: block;
	content: ">";
	right: 10px;
	top: 0;
}

.breadcrumb a {
	color: #171c61;
}

@media screen and (max-width:768px) {
	.breadcrumb {
		padding: 50px 30px 30px;
	}
}

@media screen and (max-width:480px) {
	.breadcrumb {
		padding: 40px 20px 20px;
	}

	.breadcrumb ul {
		font-size: 90%;
	}
}

.back_next {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	font-size: 110%;
	margin: 80px 0;
	letter-spacing: 0.14em;
}

.back_next a {
	color: #171c61;
}

.back_next .next-link:before {
	content: "<";
	display: inline-block;
	margin-right: .5rem;
}

.back_next .prev-link:after {
	content: ">";
	display: inline-block;
	margin-left: .5rem;
}

@media screen and (max-width:480px) {
	.back_next {
		font-size: 100%;
		margin: 40px 0;
	}
}

/* nav
-------------------------------------------------------*/
.nav_temp {
	color: #fff;
}

.nav_temp a {
	color: #fff;
}

.nav_temp .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.nav_temp .box .logo {
	margin-right: 70px;
}

.nav_temp .box .logo img {
	max-width: 129px;
}

.nav_temp .sitemap {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 20px;
}

.nav_temp .sitemap .ttl {
	font-size: 90%;
	font-weight: 700;
	margin-right: 40px;
	white-space: nowrap;
}

.nav_temp .link_box {
	font-size: 80%;
	font-weight: 500;
	max-width: 700px;
}

.nav_temp .link_box ul {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.nav_temp .link_box ul li {
	width: 33.3%;
	box-sizing: border-box;
	padding: 0 30px 0 0;
	margin: 0 0 20px 0;
}

.nav_temp .link_box ul li>a {
	position: relative;
	padding-left: 15px;
}

.nav_temp .link_box ul li>a::before {
	position: absolute;
	display: block;
	content: "";
	border-left: 7px solid #fff;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
}

.nav_temp .link_box .row {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.nav_temp .link_box .link_in {
	border-left: 1px solid #b3b3b3;
	padding: 0 0 0 10px;
	margin: 0 0 0 10px;
}

.nav_temp .link_box .link_in a {
	color: #b3b3b3;
	display: block;
}

.nav_temp .link_box .link_in a:not(:last-child) {
	margin: 0 0 10px;
}

.nav_temp ul.sp {
	display: none;
}

@media screen and (max-width:1110px) {
	.nav_temp .box .logo {
		margin-right: 40px;
	}
}

@media screen and (max-width:960px) {
	.nav_temp .link_box ul li {
		padding: 0 20px 0 0;
	}
}

@media screen and (max-width:920px) {
	.nav_temp .box .logo {
		margin-right: 30px;
	}

	.nav_temp .box .logo img {
		max-width: 100px;
	}

	.nav_temp .sitemap {
		margin-top: 10px;
	}

	.nav_temp .sitemap .ttl {
		font-size: 80%;
		margin-right: 30px;
	}

	.nav_temp .link_box {
		font-size: 70%;
	}
}

@media screen and (max-width:768px) {
	.nav_temp .box .logo {
		margin-right: 40px;
	}

	.nav_temp .sitemap .ttl {
		font-size: 90%;
		margin-right: 40px;
	}

	.nav_temp .link_box {
		font-size: 80%;
	}

	.nav_temp .link_box ul {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.nav_temp .link_box ul li {
		width: 100%;
	}

	.nav_temp ul.sp {
		display: block;
	}

	.nav_temp ul.pc {
		display: none;
	}

}

@media screen and (max-width:480px) {
	.nav_temp .box {
		flex-flow: column;
	}

	.nav_temp .box .logo {
		margin-right: 0;
		margin-bottom: 30px;
	}

	.nav_temp .sitemap {
		margin-top: 0;
	}

	.nav_temp .sitemap .ttl {
		margin-right: 30px;
		font-size: 85%;
	}
}



/* header
-------------------------------------------------------*/
#header .inner {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	max-width: 100%;
}

#header h1.logo {
	padding: 0 0 0 50px;
}

#header h1.logo img {
	max-width: 247px;
}

#header .btn_contact {
	margin-right: 85px;
}

#header .btn_contact a {
	background: #000;
	width: 190px;
	height: 85px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#header .btn_contact a img {
	max-width: 83px;
}

@media screen and (max-width:768px) {
	#header h1.logo {
		padding: 0 0 0 10px;
	}

	#header h1.logo img {
		max-width: 170px;
	}

	#header .btn_contact {
		margin-right: 50px;
	}

	#header .btn_contact a {
		width: 100px;
		height: 50px;
	}

	#header .btn_contact a img {
		max-width: 65px;
	}
}

@media screen and (max-width:480px) {
	#header h1.logo img {
		max-width: 150px;
	}
}

#btn_box {
	background: #171c61;
	width: 85px;
	height: 85px;
	display: block;
	cursor: pointer;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 999;
}

#btn_nav {
	position: fixed;
	top: 28px;
	right: 26px;
	z-index: 999;
	display: flex;
	flex-flow: column;
	align-items: flex-end;
	justify-content: space-between;
	height: 23px;
}

#btn_nav span {
	display: inline-block;
	background: #fff;
	width: 30px;
	height: 2px;
	transition: .5s;
	position: relative;
}

#btn_nav span:last-child {
	width: 15px;
}

#btn_box.active {
	position: relative;
	z-index: 999;
}

#btn_box #btn_nav.active span {
	transform: rotate(-45deg);
	transform-origin: right top;
}

#btn_box #btn_nav.active span:nth-child(2) {
	transform: scaleX(0);
}

#btn_box #btn_nav.active span:last-child {
	transform: rotate(45deg);
	transform-origin: right bottom;
	width: 30px;
}

#nav nav {
	position: fixed;
	top: 0;
	height: 100%;
	width: 70%;
	overflow: hidden;
}

#nav nav {
	display: flex;
	flex-flow: column;
	justify-content: center;
	overflow: auto;
	text-align: center;
	background: #171c61;
	right: -100%;
	z-index: 998;
	transition: .5s;
}

#nav nav .logo img {
	max-width: 200px;
}

#nav nav.active {
	right: 0;
}

#nav .nav_temp {
	padding: 30px;
}

#nav .nav_temp .link_box {
	font-size: 90%;
}

#nav .nav_temp .logo {
	padding: 0;
	margin-bottom: 30px;
}

#nav .nav_temp .sitemap {
	flex-flow: column;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 0;
}

#nav .nav_temp li {
	text-align: left;
}

@media screen and (max-width:1360px) {
	#nav nav {
		width: 80%;
	}

	#nav nav .logo img {
		max-width: 160px;
	}

	#nav .nav_temp .link_box {
		font-size: 85%;
	}
}

@media screen and (max-width:1000px) {
	#nav nav {
		width: 70%;
	}

	.nav_temp .box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.nav_temp .box .logo {
		margin-right: 0;
		margin-bottom: 30px;
	}
}

@media screen and (max-width:768px) {
	#btn_box {
		width: 50px;
		height: 50px;
	}

	#btn_nav {
		top: 16px;
		right: 15px;
		height: 18px;
	}

	#btn_nav span {
		width: 22px;
	}

	#btn_nav span:last-child {
		width: 13px;
	}

	#btn_box #btn_nav.active span:last-child {
		width: 22px;
	}

	#nav nav {
		width: 60%;
	}
}



/* mid_contact
-------------------------------------------------------*/
#mid_contact {
	background: #1e4baf;
	text-align: center;
	font-weight: 700;
}

#mid_contact a {
	color: #fff;
	display: block;
	padding: 80px 40px 70px;
}

#mid_contact .ttl_en img {
	max-width: 237px;
}

@media screen and (max-width:480px) {
	#mid_contact a {
		padding: 40px 20px;
	}

	#mid_contact .ttl_en img {
		max-width: 142px;
	}

	#mid_contact .txt {
		font-size: 90%;
	}
}

/* btm_area
-------------------------------------------------------*/
#btm_area.area {
	padding: 50px 40px;
}

#btm_area ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: center;
}

#btm_area ul li {
	width: 40%;
	margin: 0 20px;
	box-sizing: border-box;
}

#btm_area ul li .ttl {
	background: #232a37;
	text-align: center;
	color: #fff;
	padding: 20px;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
	box-sizing: border-box;
}

@media screen and (max-width:1040px) {
	#btm_area ul li {
		width: 50%;
		margin: 0 20px;
	}
}

@media screen and (max-width:940px) {
	#btm_area ul li .ttl {
		font-size: 90%;
	}
}

@media screen and (max-width:768px) {
	#btm_area ul li .ttl {
		padding: 15px 5px 25px;
		height: 70px;
	}

	#btm_area ul li .arrow_w::after {
		top: 70%;
	}
}

@media screen and (max-width:685px) {
	#btm_area.area {
		padding: 50px 20px;
	}

	#btm_area ul li {
		margin: 0 10px;
	}
}

@media screen and (max-width:480px) {
	#btm_area.area {
		padding: 40px 20px;
	}

	#btm_area ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}

	#btm_area ul li {
		width: 100%;
	}

	#btm_area ul li:not(:last-child) {
		margin: 0 0 20px;
	}

	#btm_area ul li .ttl {
		padding: 15px 5px;
	}

	#btm_area ul li .arrow_w::after {
		top: 50%;
	}
}

/* footer
-------------------------------------------------------*/
#footer {
	background: #232a37;
}

#footer.area {
	padding: 50px 40px;
}

#footer .inner {
	max-width: 1120px;
}

#footer .sitemap {
	margin-bottom: 30px;
}

#footer .copy {
	font-size: 60%;
	letter-spacing: 0.13em;
	text-align: right;
}

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

@media screen and (max-width:480px) {
	#footer .sitemap {
		margin-bottom: 20px;
	}

	#footer.area {
		padding: 40px 20px;
	}
}





/* index
-------------------------------------------------------*/
#index #visual {
	background: url("../img/index/visual_bg.png")no-repeat center/cover;
}

#index #visual .bg_w {
	background: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0 15%, transparent 100%);
}

#index #visual .txt_box {
	padding: 13% 0 13% 5%;
}

#index #visual .txt_box .en {
	margin: 0 0 30px;
}

#index #visual .txt_box .en img {
	max-width: 410px;
}

#index #visual .txt_box .jp {
	font-size: 120%;
	font-weight: 700;
	line-height: 2.2;
}

#index #visual .img {
	width: 60%;
}

@media screen and (max-width:768px) {
	#index #visual {
		flex-flow: column;
		align-items: flex-end;
		justify-content: center;
	}

	#index #visual .bg_w {
		background: linear-gradient(to right, rgba(255, 255, 255, 0.6) 0 30%, transparent 100%);
	}

	#index #visual .txt_box {
		width: 100%;
		padding: 70px 30px;
		box-sizing: border-box;
	}

	#index #visual .txt_box .en {
		margin: 0 0 20px;
	}

	#index #visual .txt_box .en img {
		max-width: 350px;
	}

	#index #visual .img {
		width: 80%;
		text-align: right;
	}

	#index #visual .img img {
		max-width: 450px;
	}
}

@media screen and (max-width:480px) {
	#index #visual .bg_w {
		background: linear-gradient(to right, rgba(255, 255, 255, 0.6) 0 50%, transparent 100%);
	}

	#index #visual .txt_box {
		padding: 40px 20px;
	}

	#index #visual .txt_box .en img {
		max-width: 200px;
	}

	#index #visual .txt_box .jp {
		font-size: 85%;
	}
}

#index #news .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0 0 60px;
}

#index #news .box .ttl_box {
	margin-right: 100px;
	min-width: 170px;
}

#index #news .ttl_en img {
	max-width: 170px;
}

#index #news .list {
	width: 100%;
}

#index #news .list li {
	border-bottom: 1px solid #000;
	padding: 0 0 20px 5px;
}

#index #news .list li:not(:last-child) {
	margin: 0 0 20px;
}

#index #news .list li a {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}

#index #news .list li a:hover {
	opacity: 1;
}

#index #news .list li a .date_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}

#index #news .list li a .date_box .date {
	font-size: 90%;
	margin: 0 20px 0 0;
}

#index #news .list li a .date_box .tag {
	width: 100px;
	min-width: 100px;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	padding: 5px 0;
	box-sizing: border-box;
	font-size: 80%;
	margin: 0 20px 0 0;
}

/*
.tag.color01 { 新着
}
*/
.tag.color02 {
	/* お知らせ */
	background: #3cbafd;
}

.tag.color03 {
	/* セミナー */
	background: #127cc2;
}

.tag.color04 {
	/* 事例 */
}

.tag.color05 {
	/* プレスリリース */
	background: #f0f0f1;
	color: #171c61 !important;
}

.tag.color05 a {
	color: #171c61 !important;
}

#index #news .list li a .txt {
	text-decoration: underline;
}

#index #news .list li a:hover .txt {
	color: #171c61;
}

@media screen and (max-width:768px) {
	#index #news .box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin: 0 0 60px;
	}
}

@media screen and (max-width:480px) {
	#index #news .box {
		margin: 0 0 40px;
	}

	#index #news .box .ttl_box {
		margin-right: 0;
		min-width: inherit;
	}

	#index #news .ttl_en img {
		max-width: 102px;
	}

	#index #news .list li a {
		flex-flow: column;
	}

	#index #news .list li a .date_box {
		margin: 0 0 10px;
	}

	#index #news .list li a .date_box .date {
		margin: 0 15px 0 0;
	}

	#index #news .list li a .date_box .tag {
		padding: 3px 0;
		font-size: 80%;
		margin: 0 15px 0 0;
	}
}

#index #service {
	position: relative;
}

#index #service::after {
	position: absolute;
	display: block;
	content: "";
	background: #ecf0f7;
	width: 70%;
	height: 92%;
	left: 0;
	bottom: 0;
	z-index: -1;
}

#index #service .ttl_en img {
	max-width: 280px;
}

#index #service .ttl_jp {
	margin: 0 0 70px;
}

#index #service .box .img {
	position: absolute;
	right: 0;
	bottom: 0;
}

#index #service .box .txt_box {
	width: 42%;
}

#index #service .box .ttl_box {
	margin: 0 0 30px;
	padding: 0 0 30px;
	position: relative;
	font-weight: 700;
}

#index #service .box .ttl_box::after {
	position: absolute;
	display: block;
	content: "";
	background: #171c61;
	width: 20px;
	height: 2px;
	left: 0;
	bottom: 0;
}

#index #service .box .ttl_box .num {
	font-size: 130%;
	margin: 0 0 10px;
}

#index #service .box .ttl_box .ttl {
	font-size: 160%;
	line-height: 2;
}

#index #service .box .box_in {
	font-weight: 500;
}

#index #service .box .ttl_in {
	margin: 0 0 10px;
}

#index #service .box .txt_box .txt {
	line-height: 2;
}

#index #service .box .txt_box ul {
	margin: 20px 0;
}

#index #service .box .txt_box ul li {
	text-indent: -1em;
	padding-left: 1em;
}

#index #service .box .txt_box ul li:not(:last-child) {
	margin: 0 0 5px;
}

#index #service .img {
	box-shadow: 0px 0px 16px -6px rgba(23, 28, 97, 0.2);
	width: 50%;
	position: absolute;
	right: 0;
	bottom: 180px;
	max-width: 780px;
}

#index #service .btn_white {
	max-width: 340px;
	height: 65px;
	margin: 70px auto 0 0;
	background: none;
}

#index #service .mb30 {
	margin-bottom: 30px;
}

@media screen and (max-width:768px) {
	#index #service::after {
		width: 70%;
		height: 90%;
	}

	#index #service .ttl_jp {
		margin: 0 0 40px;
	}

	#index #service .box .img {
		position: absolute;
		right: 0;
		bottom: 0;
	}

	#index #service .box .txt_box {
		width: 100%;
		margin: 0 0 30px;
	}

	#index #service .box .ttl_box {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}

	#index #service .box .ttl_box .num {
		margin: 0 0 10px;
	}

	#index #service .box .ttl_box .ttl {
		font-size: 140%;
		line-height: 1.6;
	}

	#index #service .box .txt_box .txt {
		margin: 0 0 40px;
		line-height: 1.6;
	}

	#index #service .img {
		width: 80%;
		position: inherit;
		right: inherit;
		bottom: inherit;
		text-align: right;
		margin: 0 -40px 0 auto;
	}

	#index #service .btn_white {
		max-width: 280px;
		height: 60px;
		margin: 30px auto 0 0;
	}
}

@media screen and (max-width:480px) {
	#index #service::after {
		width: 85%;
		height: 92%;
	}

	#index #service .ttl_en img {
		max-width: 168px;
	}

	#index #service .ttl_jp {
		margin: 0 0 30px;
	}

	#index #service .box .ttl_box .ttl {
		font-size: 120%;
	}

	#index #service .box .txt_box .txt {
		margin: 0 0 30px;
	}

	#index #service .img {
		width: 85%;
		margin: 0 -20px 0 auto;
	}
}

#index #strength {
	position: relative;
}

#index #strength.area {
	padding: 140px 40px 90px;
}

#index #strength::after {
	position: absolute;
	display: block;
	content: "";
	background: #ecf0f7;
	width: 76%;
	height: 85%;
	right: 0;
	bottom: 0;
	z-index: -1;
}

#index #strength .inner {
	max-width: 1080px;
}

#index #strength .ttl_en {
	text-align: right;
}

#index #strength .ttl_jp {
	text-align: right;
}

#index #strength .ttl_en img {
	max-width: 418px;
}

#index #strength ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}

#index #strength ul li {
	width: 32.5%;
	background: #1e4baf;
	color: #fff;
	padding: 40px 30px;
	box-sizing: border-box;
}

#index #strength ul li .icon {
	text-align: center;
	margin: 0 0 40px;
}

#index #strength ul li .icon img {
	max-width: 221px;
}

#index #strength ul li .ttl {
	text-align: center;
	position: relative;
	padding: 0 0 30px;
	margin: 0 0 30px;
}

#index #strength ul li .ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	width: 30px;
	height: 2px;
	right: 50%;
	bottom: 0;
	transform: translate(50%, 0);
}

#index #strength ul li .ttl img {
	max-width: 127px;
}

#index #strength ul li .txt {
	text-align: center;
	font-weight: 500;
	line-height: 2;
	margin: 0 0 50px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#index #strength ul li .btn_white {
	max-width: 100%;
	background: none;
	border: 1px solid #fff;
	height: 55px;
	color: #fff;
	margin-top: 0 !important;
}

#index #strength .btn_white {
	background: none;
	margin: 90px auto 0;
}

@media screen and (max-width:768px) {
	#index #strength.area {
		padding: 70px 30px;
	}

	#index #strength ul li {
		width: 32.5%;
		padding: 30px 15px;
	}

	#index #strength ul li .icon img {
		max-width: 130px;
	}

	#index #strength ul li .icon {
		margin: 0 0 30px;
	}

	#index #strength ul li .ttl img {
		max-width: 100px;
	}

	#index #strength ul li .txt {
		line-height: 1.6;
		margin: 0 0 30px;
		font-size: 90%;
		height: inherit;
	}

	#index #strength ul li .btn_white {
		height: 45px;
	}

	#index #strength .btn_white {
		margin: 30px auto 0;
	}
}

@media screen and (max-width:480px) {
	#index #strength.area {
		padding: 50px 30px;
	}

	#index #strength::after {
		width: 85%;
		height: 95%;
		right: 0;
		bottom: 0;
		z-index: -1;
	}

	#index #strength .ttl_en img {
		max-width: 240px;
	}

	#index #strength ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}

	#index #strength ul li {
		width: 100%;
	}

	#index #strength ul li:not(:last-child) {
		margin: 0 0 20px;
	}
}

#index #voice.area {
	padding: 130px 40px 100px;
}

#index #voice .inner {
	max-width: 1080px;
}

#index #voice .ttl_en {
	text-align: center;
}

#index #voice .ttl_en img {
	max-width: 194px;
}

#index #voice .ttl_jp {
	text-align: center;
}

ul.voice {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 0 50px;
}

ul.voice li {
	width: 30%;
}

#index #voice ul li:nth-child(2) {
	margin-top: 80px;
}

ul.voice .img_box {
	position: relative;
}

ul.voice .img_box img {
	height: auto;
}

ul.voice .img_box .hover_txt {
	position: absolute;
	background: rgba(23, 28, 95, 0.5);
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	font-size: 150%;
	line-height: 2;
	letter-spacing: 0.05em;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: 0.3s;
}

ul.voice li a:hover {
	opacity: 1;
}

ul.voice li:hover .img_box .hover_txt {
	opacity: 1;
}

ul.voice .txt_box {
	background: #ebebeb;
	padding: 20px;
}

ul.voice .txt_box .ttl_s {
	margin: 0 0 20px;
}

ul.voice .txt_box .size_s {
	font-size: 80%;
}

ul.voice .txt_box .txt {
	font-weight: 500;
}

@media screen and (max-width:1100px) {
	ul.voice .img_box .hover_txt {
		font-size: 120%;
	}
}

@media screen and (max-width:900px) {
	ul.voice li {
		width: 32%;
	}

	ul.voice .img_box .hover_txt {
		font-size: 110%;
	}
}

@media screen and (max-width:768px) {
	#index #voice.area {
		padding: 70px 40px;
	}

	#index #voice ul li:nth-child(2) {
		margin-top: 50px;
	}

	ul.voice .img_box .hover_txt {
		height: 50px;
		font-size: 90%;
		line-height: 1.4;
		top: inherit;
		bottom: 0;
		opacity: 1;
	}
}

@media screen and (max-width:480px) {
	#index #voice.area {
		padding: 40px 20px;
	}

	#index #voice .ttl_en img {
		max-width: 116px;
	}

	ul.voice {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		margin: 0 0 40px;
	}

	ul.voice li {
		width: 100%;
	}

	#index #voice ul li:nth-child(2) {
		margin: 30px 0;
	}

	ul.voice .img_box .hover_txt {
		height: 70px;
		font-size: 110%;
	}

}

#index #message {
	background: url("../img/index/bg_message.png")no-repeat center bottom/cover;
}

#index #message .inner {
	max-width: 1080px;
}

#index #message.area {
	padding: 100px 40px;
}

#index #message .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}

#index #message .ttl_en {
	line-height: 1;
	position: relative;
	margin: 0 100px 0 0;
}

#index #message .ttl_en::after {
	position: absolute;
	display: block;
	content: "";
	width: 20px;
	height: 2px;
	left: 0;
	bottom: -20px;
	background: #fff;
}

#index #message .ttl_en img {
	max-width: 84px;
}

#index #message .txt_box {
	color: #fff;
	font-weight: 700;
}

#index #message .txt_box .txt_en {
	margin: 0 0 20px;
}

#index #message .txt_box .txt_en img {
	max-width: 600px;
}

#index #message .txt_box .txt_jp {
	margin: 0 0 40px;
	letter-spacing: 0.16em;
}

#index #message .txt_box .txt {
	letter-spacing: 0.05em;
	line-height: 3;
	margin: 0 0 80px;
}

@media screen and (max-width:768px) {
	#index #message.area {
		padding: 70px 40px;
	}

	#index #message .ttl_en {
		margin: 0 50px 0 0;
	}

	#index #message .txt_box .txt {
		line-height: 2;
		margin: 0 0 50px;
		font-size: 90%;
	}
}

@media screen and (max-width:480px) {
	#index #message.area {
		padding: 40px 20px;
	}

	#index #message .box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	#index #message .ttl_en {
		margin: 0 0 30px;
		padding: 0 0 30px;
	}

	#index #message .ttl_en::after {
		bottom: 0;
	}

	#index #message .txt_box .txt {
		line-height: 2;
		margin: 0 0 50px;
		font-size: 90%;
	}
}

#index #company {
	background: linear-gradient(180deg, #fff 0%, #fff 90px, #ecf0f7 90px, #ecf0f7 100%);
}

#index #company .ttl_en img {
	max-width: 351px;
}

#index #company ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}

#index #company ul li {
	width: 32%;
}

#index #company ul li a {
	height: 150px;
	background: #fff;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	padding: 20px 30px;
	box-sizing: border-box;
	font-size: 120%;
	font-weight: 700;
	line-height: 1;
}

#index #company ul li a .icon {
	margin-right: 30px;
}

#index #company ul li a .icon img {
	max-width: 58px;
}

#index #company ul li:nth-child(2) a .icon img {
	max-width: 46px;
}

@media screen and (max-width:1010px) {
	#index #company ul li a {
		padding: 20px;
	}

	#index #company ul li a .icon {
		margin-right: 15px;
	}

	#index #company ul li a .icon img {
		max-width: 34px;
	}

	#index #company ul li:nth-child(2) a .icon img {
		max-width: 27px;
	}
}

@media screen and (max-width:1010px) {
	#index #company ul li a {
		height: 100px;
		font-size: 110%;
	}
}

@media screen and (max-width:768px) {
	#index #company ul li a.arrow_b::after {
		background: url("../img/common/arrow01.png")no-repeat right center/16px 4px;
		width: 16px;
		height: 4px;
		right: 10px;
	}

	#index #company ul li a .icon {
		margin-right: 10px;
	}

	#index #company ul li a .icon img {
		max-width: 30px;
	}

	#index #company ul li:nth-child(2) a .icon img {
		max-width: 24px;
	}
}

@media screen and (max-width:520px) {
	#index #company {
		background: linear-gradient(180deg, #fff 0%, #fff 60px, #ecf0f7 60px, #ecf0f7 100%);
	}

	#index #company .ttl_jp {
		margin: 0 0 20px;
	}

	#index #company .ttl_en img {
		max-width: 210px;
	}

	#index #company ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}

	#index #company ul li {
		width: 100%;
	}

	#index #company ul li:not(:last-child) {
		margin: 0 0 20px;
	}

	#index #company ul li a {
		height: 70px;
		padding: 20px;
		font-size: 110%;
	}

	#index #company ul li a.arrow_b::after {
		background: url("../img/common/arrow01.png")no-repeat right center/27px 6px;
		width: 27px;
		height: 6px;
		right: 20px;
	}

	#index #company ul li a .icon {
		margin-right: 20px;
	}

	#index #company ul li a .icon img {
		max-width: 34px;
	}

	#index #company ul li:nth-child(2) a .icon img {
		max-width: 27px;
	}
}



/* lower
-------------------------------------------------------*/
.lower #visual {
	padding: 150px 40px 110px;
}

.lower #visual .en {
	text-align: center;
	margin: 0 0 20px;
}

.lower #visual .visual_jp {
	text-align: center;
	width: 180px;
	background: #171c61;
	color: #fff;
	font-weight: 700;
	margin: 0 auto;
	padding: 3px;
	box-sizing: border-box;
}

.lower #top_ttl_box.area {
	padding: 90px 40px 0;
}

.lower #top_ttl_box .ttl_jp {
	margin: 0;
}

@media screen and (max-width:768px) {
	.lower #top_ttl_box.area {
		padding: 90px 30px 0;
	}
}

@media screen and (max-width:480px) {
	.lower #visual {
		padding: 50px 20px 40px;
	}

	.lower #visual .visual_jp {
		font-size: 90%;
		width: 150px;
	}

	.lower #top_ttl_box.area {
		padding: 40px 20px 0;
	}
}


/* company
-------------------------------------------------------*/
#company_page #visual {
	background: url("../img/company/visual_bg.png")no-repeat center/cover;
}

#company_page #visual .en img {
	max-width: 343px;
}

@media screen and (max-width:480px) {
	#company_page #visual .en img {
		max-width: 205px;
	}
}

#company_page #top_ttl_box .ttl_en img {
	max-width: 287px;
}

@media screen and (max-width:480px) {
	#company_page #top_ttl_box .ttl_en img {
		max-width: 172px;
	}
}

#company_page #message {
	position: relative;
}

#company_page #message.area {
	padding: 80px 40px 0;
}

#company_page #message::before {
	position: absolute;
	display: block;
	content: "";
	width: 35%;
	height: 55%;
	background: #ecf0f7;
	left: 0;
	top: 25%;
	z-index: -1;
}

#company_page #message .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
}

#company_page #message .box .profile_box {
	width: 40%;
	margin: 0 50px 0 0;
}

#company_page #message .box .profile_box .profile {
	padding: 30px;
	color: #171c61;
}

#company_page #message .box .profile_box .ttl {
	font-size: 110%;
	font-weight: 500;
	position: relative;
	padding: 0 0 15px;
	margin: 0 0 15px;
}

#company_page #message .box .profile_box .ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: #171c61;
	width: 20px;
	height: 1px;
	left: 0;
	bottom: 0;
}

#company_page #message .box .profile_box .txt {
	line-height: 1.8;
}

#company_page #message .box .txt_box {
	width: 60%;
}

#company_page #message .txt_box .ttl {
	margin: 0 0 20px;
}

#company_page #message .txt_box .ttl img {
	max-width: 468px;
}

#company_page #message .txt_box .sub_ttl {
	font-weight: 700;
	font-size: 100%;
	margin: 0 0 40px;
}

#company_page #message .txt_box .txt {
	line-height: 2.3;
	margin: 0 0 90px;
	font-weight: 500;
}

#company_page #message .txt_box .name {
	font-size: 90%;
	font-weight: 500;
	line-height: 2.4;
}

@media screen and (max-width:768px) {
	#company_page #message.area {
		padding: 80px 30px 0;
	}

	#company_page #message .box .profile_box .profile {
		padding: 20px;
	}

	#company_page #message .box .profile_box {
		margin: 0 30px 0 0;
	}

	#company_page #message .box .profile_box .profile .txt {
		font-size: 90%;
	}

	#company_page #message .txt_box .txt {
		margin: 0 0 50px;
	}
}

@media screen and (max-width:480px) {
	#company_page #message::before {
		width: 80%;
		height: 60%;
	}

	#company_page #message.area {
		padding: 40px 20px 0;
	}

	#company_page #message .box {
		flex-flow: column-reverse;
	}

	#company_page #message .box .txt_box {
		width: 100%;
		margin: 0 0 50px;
	}

	#company_page #message .txt_box .txt {
		line-height: 1.8;
		margin: 0 0 40px;
	}

	#company_page #message .box .profile_box {
		width: 100%;
		margin: 0;
	}

	#company_page #message .box .profile_box .img {
		width: 80%;
		margin: 0 auto;
		text-align: center;
	}
}

#company_page #company.area {
	padding: 80px 40px 150px;
}

#company_page #company .ttl_en img {
	max-width: 301px;
}

#company_page #company .ttl_jp {
	margin: 0 0 70px;
}

#company_page #company dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}

#company_page #company dl dt {
	border-bottom: 1px solid #171c61;
	padding: 30px 0;
	width: 30%;
	min-width: 180px;
	color: #171c61;
	font-weight: 500;
}

#company_page #company dl dd {
	border-bottom: 1px solid #999999;
	padding: 30px 0;
	width: 67%;
}

#company_page #company dl.bt dt {
	border-top: 1px solid #171c61;
}

#company_page #company dl.bt dd {
	border-top: 1px solid #171c61;
}

#company_page #company dl a {
	color: #0000ff;
	text-decoration: underline;
}

@media screen and (max-width:768px) {
	#company_page #company.area {
		padding: 80px 40px 120px;
	}
}

@media screen and (max-width:480px) {
	#company_page #company.area {
		padding: 40px 20px 70px;
	}

	#company_page #company .ttl_en img {
		max-width: 180px;
	}

	#company_page #company .ttl_jp {
		margin: 0 0 40px;
	}

	#company_page #company dl {
		font-size: 90%;
	}

	#company_page #company dl dt {
		padding: 20px 0;
		width: 20%;
		min-width: 100px;
	}

	#company_page #company dl dd {
		padding: 20px 0;
		width: 67%;
	}
}

#company_page #access {
	background: #f5f5f5;
}

#company_page #access.area {
	padding: 90px 40px;
}

#company_page #access .ttl_en img {
	max-width: 240px;
}

#company_page #access .box {
	max-width: 980px;
	margin: 0 auto;
}

#company_page #access .txt_ad {
	padding: 20px;
	font-size: 120%;
	letter-spacing: 0.05em;
}

#company_page #access .txt_s {
	line-height: 2;
	padding: 0 20px;
	letter-spacing: 0.1em;
}

#company_page #access iframe {
	width: 100%;
}

@media screen and (max-width:480px) {
	#company_page #access.area {
		padding: 40px 20px;
	}

	#company_page #access .ttl_en {
		margin: 0 0 30px;
	}

	#company_page #access .ttl_en img {
		max-width: 144px;
	}

	#company_page #access .txt_ad {
		padding: 20px 0;
		font-size: 100%;
	}

	#company_page #access .txt_s {
		font-size: 90%;
		padding: 0;
	}

	#company_page #access iframe {
		height: 300px;
	}
}

/* strength
-------------------------------------------------------*/
#strength_page #visual {
	background: url("../img/strength/visual_bg.png")no-repeat center/cover;
}

#strength_page #visual .en img {
	max-width: 425px;
}

#strength_page .inner_s {
	max-width: 870px;
}

#strength_page #top_ttl_box {
	margin-bottom: 80px;
}

#strength_page #top_ttl_box .ttl_en img {
	max-width: 367px;
}

@media screen and (max-width:480px) {
	#strength_page #top_ttl_box {
		margin-bottom: 40px;
	}

	#strength_page #visual .en img {
		max-width: 240px;
	}

	#strength_page #top_ttl_box .ttl_en img {
		max-width: 240px;
	}
}

#strength_page .point.ttl_box {
	background: #1e4baf;
	color: #fff;
	padding: 30px 0px;
}

#strength_page .point.ttl_box .inner_s {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}

#strength_page .point.ttl_box .num img {
	max-width: 72px;
}

#strength_page .point.ttl_box .ttl {
	font-size: 180%;
	font-weight: 500;
	border-left: 1px solid #fff;
	padding-left: 35px;
	margin-left: 35px;
	letter-spacing: 2px;
}

#strength_page .point {
	color: #171c61;
}

#strength_page .point .mid_ttl {
	text-align: center;
	font-size: 200%;
	font-weight: 700;
	margin: 0 0 70px;
}

#strength_page .point .txt {
	line-height: 2.6;
	font-weight: 500;
}

#strength_page .point .img {
	text-align: center;
	margin: 80px 0;
}

#strength_page .point .img img {
	max-width: 809px;
}

#strength_page #point01_cont.area {
	padding: 70px 40px 110px;
}

#strength_page #point02_cont.area {
	padding: 70px 40px 110px;
}

#strength_page #point03_cont.area {
	padding: 70px 40px 110px;
}

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

	#strength_page .point.ttl_box {
		padding: 20px 20px;
	}

	#strength_page .point.ttl_box .ttl {
		font-size: 130%;
		padding-left: 20px;
		margin-left: 20px;
	}

	#strength_page .point .mid_ttl {
		font-size: 140%;
		margin: 0 0 40px;
	}

	#strength_page .point .txt {
		line-height: 2;
	}

	#strength_page .point .img {
		margin: 60px 0;
	}

	#strength_page #point01_cont.area {
		padding: 70px 30px 90px;
	}

	#strength_page #point02_cont.area {
		padding: 70px 30px 90px;
	}

	#strength_page #point03_cont.area {
		padding: 70px 30px 90px;
	}
}

@media screen and (max-width:480px) {
	#strength_page .point.ttl_box .num img {
		max-width: 30px;
		min-width: 30px;
	}

	#strength_page .point.ttl_box .ttl {
		font-size: 120%;
		padding-left: 20px;
		margin-left: 20px;
		letter-spacing: 0px;
	}

	#strength_page .point .mid_ttl {
		font-size: 120%;
		margin: 0 0 30px;
	}

	#strength_page .point .img {
		margin: 40px 0;
	}

	#strength_page #point01_cont.area {
		padding: 40px 20px 70px;
	}

	#strength_page #point02_cont.area {
		padding: 40px 20px 70px;
	}

	#strength_page #point03_cont.area {
		padding: 40px 20px 70px;
	}
}

/* voice
-------------------------------------------------------*/
#voice_page #visual {
	background: url("../img/voice/visual_bg.png")no-repeat center/cover;
	margin-bottom: 80px;
}

#voice_page #visual .en img {
	max-width: 206px;
}

#voice_page #voice_list.area {
	padding: 70px 40px 100px;
}

#voice_page .voice {
	flex-flow: row wrap;
	justify-content: flex-start;
}

#voice_page .voice li {
	margin: 0 5% 100px 0;
}

#voice_page .voice li:nth-child(3n) {
	margin: 0 0 100px;
}

@media screen and (max-width:900px) {
	#voice_page #voice_list.area {
		padding: 70px 30px 100px;
	}

	#voice_page .voice li {
		width: 30%;
	}

	#voice_page .voice li {
		margin: 0 5% 80px 0;
	}

	#voice_page .voice li:nth-child(3n) {
		margin: 0 0 80px;
	}
}

@media screen and (max-width:480px) {
	#voice_page #visual {
		margin-bottom: 40px;
	}

	#voice_page #visual .en img {
		max-width: 123px;
	}

	#voice_page #voice_list.area {
		padding: 40px 20px 60px;
	}

	#voice_page .voice li {
		width: 100%;
	}

	#voice_page .voice li {
		margin: 0 0 30px;
	}

	#voice_page .voice li:nth-child(3n) {
		margin: 0 0 30px;
	}
}

#voice_page.detail #voice_contents.area {
	padding: 0 40px;
}

#voice_page.detail #voice_contents .inner_s {
	background: #fff;
	padding: 70px 40px;
}

#voice_page.detail #voice_contents .inner_s ul {
	max-width: 750px;
	margin: 0 auto;
}

#voice_page.detail #voice_contents .main_ttl {
	text-align: center;
	font-size: 220%;
	font-weight: 700;
	margin: 0 0 70px;
}

#voice_page.detail #voice_contents .img {
	text-align: center;
	margin: 0 0 30px;
}

#voice_page.detail #voice_contents .img img {
	max-width: 481px;
	height: auto;
}

#voice_page.detail #voice_contents dl {
	font-weight: 700;
	margin: 0 0 70px;
	text-align: center;
}

#voice_page.detail #voice_contents dl dt {
	font-size: 110%;
	margin: 0 0 20px;
}

#voice_page.detail #voice_contents dl dd {
	font-size: 140%;
}

#voice_page.detail #voice_contents ul li {
	margin: 0 0 90px;
}

#voice_page.detail #voice_contents ul li .mid {
	font-size: 170%;
	font-weight: 700;
	margin: 0 0 40px;
	text-align: center;
}

#voice_page.detail #voice_contents ul li .txt {
	font-weight: 500;
	line-height: 1.8;
}

@media screen and (max-width:768px) {
	#voice_page.detail #voice_contents.area {
		padding: 0 30px;
	}

	#voice_page.detail #voice_contents .inner_s {
		padding: 40px 30px;
	}

	#voice_page.detail #voice_contents .main_ttl {
		font-size: 180%;
		margin: 0 0 50px;
	}

	#voice_page.detail #voice_contents dl {
		margin: 0 0 50px;
	}

	#voice_page.detail #voice_contents dl dt {
		font-size: 100%;
	}

	#voice_page.detail #voice_contents ul li {
		margin: 0 0 50px;
	}

	#voice_page.detail #voice_contents ul li .mid {
		font-size: 150%;
	}
}

@media screen and (max-width:480px) {
	#voice_page.detail #voice_contents.area {
		padding: 0 20px;
	}

	#voice_page.detail #voice_contents .inner_s {
		padding: 30px 20px;
	}

	#voice_page.detail #voice_contents .main_ttl {
		font-size: 130%;
		margin: 0 0 30px;
	}

	#voice_page.detail #voice_contents dl {
		margin: 0 0 50px;
	}

	#voice_page.detail #voice_contents dl dt {
		font-size: 90%;
		margin: 0 0 10px;
	}

	#voice_page.detail #voice_contents ul li .mid {
		font-size: 110%;
	}
}

#voice_page.detail #voice_list {
	position: relative;
}

#voice_page.detail #voice_list::after {
	position: absolute;
	display: block;
	content: "";
	background: #ecf0f7;
	width: 70%;
	height: 89%;
	left: 0;
	bottom: 0;
	z-index: -1;
}

#voice_page.detail #voice_list .ttl_en img {
	max-width: 194px;
}

#voice_page.detail #voice_list .voice {
	display: inherit;
}

#voice_page.detail #voice_list .voice li {
	width: 100%;
	margin: 0 20px;
}

#voice_page.detail #voice_list .btn_white {
	background: none;
}

@media screen and (max-width:480px) {
	#voice_page.detail #voice_list .ttl_en img {
		max-width: 116px;
	}
}



/*news
-------------------------------------------------------*/
#news_page #visual {
	background: url("../img/news/visual_bg.png")no-repeat center/cover;
}

#news_page #visual .en img {
	max-width: 199px;
}

@media screen and (max-width:480px) {
	#news_page #visual .en img {
		max-width: 119px;
	}
}

#news_page #news_nav.area {
	padding: 50px 40px;
}

#news_page #news_nav .inner {
	max-width: 850px;
}

#news_page #news_nav ul {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	/*justify-content: space-between;*/
}

#news_page #news_nav ul li {
	width: 33%;
	margin-right: 0.5%;
}

#news_page #news_nav ul li:nth-child(-n+3) {
	margin: 0 0 10px;
	margin-right: 0.5%;
}

#news_page #news_nav ul li:nth-child(3n) {
	margin-right: 0%;
}

#news_page #news_nav ul li a {
	background: #969696;
	color: #fff;
	height: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.3em;
}

#news_page #news_nav ul li.on a {
	background: #171c61;
}

#news_page #news_nav ul li a:hover {
	opacity: 1;
	background: #171c61;
}

@media screen and (max-width:768px) {
	#news_page #news_nav.area {
		padding: 40px 30px;
	}

	#news_page #news_nav ul li a {
		height: 50px;
		font-size: 90%;
	}
}

@media screen and (max-width:480px) {
	#news_page #news_nav.area {
		padding: 30px 20px;
	}

	#news_page #news_nav ul li a {
		height: 40px;
		font-size: 80%;
	}
}

#news_page #news_contents.area {
	padding: 80px 40px 0;
}

#news_page #news_contents .inner_s {
	background: #fff;
	padding: 150px 60px 80px;
}

#news_page #news_contents .ttl_box {
	max-width: 850px;
	margin: -180px auto 0;
}

#news_page #news_contents .ttl_box .ttl_en img {
	max-width: 295px;
}

#news_page #news_contents ul.news_list {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0 0 40px;
}

#news_page #news_contents ul.news_list li {
	width: 30%;
	margin: 0 5% 60px 0;
}

#news_page #news_contents ul.news_list li:nth-child(3n) {
	margin: 0 0 60px;
}

#news_page #news_contents ul.news_list li .img {
	margin: 0 0 20px;
}

#news_page #news_contents ul.news_list li dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 20px;
}

#news_page #news_contents ul.news_list li .tag {
	width: 100px;
	min-width: 100px;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	padding: 3px 0;
	box-sizing: border-box;
	font-size: 80%;
}

#news_page #news_contents ul.news_list li .tag a {
	color: #fff;
}

#news_page #news_contents ul.news_list li a:hover {
	opacity: 1;
}

#news_page #news_contents ul.news_list li:hover .txt {
	color: #171c61;
}

@media screen and (max-width:768px) {
	#news_page #news_contents.area {
		padding: 40px 30px 0;
	}

	#news_page #news_contents .inner_s {
		padding: 70px 30px 60px;
	}

	#news_page #news_contents .ttl_box {
		margin: -100px auto 0;
	}

	#news_page #news_contents ul.news_list {
		margin: 0 0 30px;
	}

	#news_page #news_contents ul.news_list li {
		width: 48%;
		margin: 0 0 50px 0;
	}

	#news_page #news_contents ul.news_list li:nth-child(3n) {
		margin: 0 0 50px 0;
	}

	#news_page #news_contents ul.news_list li:nth-child(odd) {
		margin: 0 4% 50px 0;
	}
}

@media screen and (max-width:480px) {
	#news_page #news_contents.area {
		padding: 30px 20px 0;
	}

	#news_page #news_contents .inner_s {
		padding: 50px 20px 40px;
	}

	#news_page #news_contents .ttl_box {
		margin: -65px auto 0;
	}

	#news_page #news_contents .ttl_box .ttl_en img {
		max-width: 177px;
	}

	#news_page #news_contents ul.news_list {
		margin: 0 0 20px;
	}

	#news_page #news_contents ul.news_list li {
		width: 100%;
		margin: 0 0 30px !important;
	}
}

#news_page.detail #news_contents.area {
	padding: 0 40px;
	color: #333;
}

#news_page.detail #news_contents .inner_s {
	padding: 100px 40px;
}

#news_page.detail #news_contents .box {
	max-width: 860px;
	margin: 0 auto;
}

#news_page.detail #news_contents dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 1px solid #646464;
	padding: 0 0 20px;
	margin: 0 0 60px;
}

#news_page.detail #news_contents dl dt {
	margin: 0 30px 0 0;
}

#news_page.detail #news_contents dl dd.tag {
	width: 100px;
	min-width: 100px;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	padding: 3px 0;
	box-sizing: border-box;
	font-size: 80%;
}

#news_page.detail #news_contents dl dd.tag a {
	color: #fff;
}

#news_page.detail #news_contents .main_ttl {
	font-size: 170%;
	font-weight: 700;
	margin: 0 0 60px;
}

#news_page.detail #news_contents ul.article {
	margin: 0 0 80px;
}

#news_page.detail #news_contents ul.article li {
	margin: 0 0 40px;
}

#news_page.detail #news_contents .img {
	text-align: center;
	margin: 0 0 40px;
}

#news_page.detail #news_contents .img img {
	max-width: 572px;
}

#news_page.detail #news_contents .mid {
	font-weight: 700;
	font-size: 140%;
	margin: 0 0 40px;
}

@media screen and (max-width:768px) {
	#news_page.detail #news_contents.area {
		padding: 0 30px;
	}

	#news_page.detail #news_contents .inner_s {
		padding: 70px 30px;
	}
}

@media screen and (max-width:480px) {
	#news_page.detail #news_contents.area {
		padding: 0 20px;
	}

	#news_page.detail #news_contents .inner_s {
		padding: 50px 20px;
	}

	#news_page.detail #news_contents dl {
		margin: 0 0 40px;
	}

	#news_page.detail #news_contents .main_ttl {
		font-size: 130%;
		margin: 0 0 30px;
	}

	#news_page.detail #news_contents ul.article {
		margin: 0 0 50px;
	}

	#news_page.detail #news_contents ul.article li {
		margin: 0 0 30px;
	}

	#news_page.detail #news_contents .img {
		margin: 0 0 20px;
	}

	#news_page.detail #news_contents .mid {
		font-size: 120%;
		margin: 0 0 30px;
	}
}


/* contact
-------------------------------------------------------*/
#contact #visual .en img {
	max-width: 276px;
}

#contact #visual .visual_jp {
	background: none;
	color: #171c61;
}

#contact #visual {
	padding: 100px 40px 90px;
}

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

#contact #contact_in.area {
	padding: 0 40px 80px;
}

#contact #contact_in .top_txt {
	text-align: center;
	line-height: 2;
	letter-spacing: 0.2em;
	margin: 0 0 60px;
}

#contact #contact_in .top_txt .red {
	color: #ff0000;
}

#contact #contact_in .tel_box {
	border: 1px solid #505050;
	max-width: 760px;
	margin: 0 auto 100px;
	padding: 40px 40px 30px;
	box-sizing: border-box;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	color: #505050;
}

#contact #contact_in .tel_box .tel {
	text-align: center;
	margin: 0 auto 10px;
	display: block;
}

#contact #contact_in .tel_box .tel img {
	max-width: 250px;
}

#contact #contact_in .tel_box .txt {
	text-align: center;
	font-size: 120%;
	margin: 0 0 30px;
}

#contact #contact_in .tel_box .caution {
	font-size: 90%;
	line-height: 1.6;
	padding-left: 1em;
	text-indent: -1em;
}

#contact .table_temp {
	width: 100%;
}

#contact tr {
	display: table;
	width: 100%;
	table-layout: fixed;
}

#contact tr>* {
	display: table-cell;
	vertical-align: middle;
	padding: 20px 10px;
	box-sizing: border-box;
	line-height: 1;
}

#contact tr th {
	width: 230px;
	text-align: left;
	color: #171c61;
	font-size: 110%;
}

#contact tr th.top {
	padding: 40px 10px 20px;
	vertical-align: top;
}

#contact tr th b {
	display: block;
	position: relative;
	font-weight: 500;
}

#contact tr td {
	color: #171c61;
	font-weight: 500;
}

#contact tr.hissu th b::after,
#contact tr.nini th b::after {
	color: #fff;
	font-weight: 500;
	font-size: 75%;
	width: 50px;
	height: 23px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50px;
}

#contact tr.hissu th b::after {
	content: "必須";
	border: 1px solid #ff0000;
	color: #ff0000;
}

#contact tr.nini th b::after {
	content: "任意";
	border: 1px solid #777;
	color: #777;
}

#contact input[type="text"],
#contact select,
#contact textarea {
	width: 100%;
	background: #f0f0f0;
	border: 1px solid #646464;
}

#contact input[type="text"],
#contact select {
	height: 50px;
}

#contact textarea {
	min-height: 150px;
	resize: vertical;
}

#contact .radio_area label,
#contact .check_area label {
	display: inline-block;
	margin: 5px 5px 5px 0;
	line-height: 1.3;
}

#contact .txt_form {
	text-align: center;
	line-height: 1.3;
}

#contact .txt_form span {
	display: block;
}

::placeholder {
	color: #646464;
}

#contact .form_btn {
	display: flex;
	flex-flow: row-reverse nowrap;
	align-items: center;
	justify-content: center;
}

#contact .form_btn01,
#contact .form_btn02 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	max-width: 360px;
	height: 65px;
	border: none;
	padding: 10px;
	margin: 40px auto 0;
	box-sizing: border-box;
	color: #fff;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.25em;
}

#contact .form_btn01 {
	background: #171c61;
}

#contact .form_btn02 {
	background: #acacac;
}

#contact .privacy_txt {
	text-align: center;
	margin: 0 0 40px;
}

#contact .privacy {
	text-align: center;
	font-weight: 500;
}

#contact .privacy a {
	color: #0000ff;
	text-decoration: underline;
	letter-spacing: 0.125em;
}

#contact.confirm .form_btn01,
#contact.confirm .form_btn02 {
	margin: 40px 10px 0;
}

#contact.confirm .confirm_box {
	margin: 0 0 50px;
}

#contact.confirm dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	border-bottom: 1px solid #505050;
	padding: 30px 0;
}

#contact.confirm dl dt {
	font-weight: 500;
	min-width: 200px;
}

#contact .send[disabled] {
	background-color: #505050;
	cursor: not-allowed;
}

@media screen and (max-width:768px) {
	#contact #contact_in.area {
		padding: 0 40px 50px;
	}

	#contact .table_temp {
		margin: 0 0 30px;
	}

	#contact tr>* {
		display: block;
		padding: 15px 0;
		line-height: 1.3;
	}

	#contact tr th {
		width: 100%;
		font-size: 100%;
	}

	#contact tr th.top {
		padding: 15px 0;
	}

	#contact tr td {
		padding-top: 0;
	}

	#contact tr.hissu th b {
		display: inline-block;
	}

	#contact tr.hissu th b::after,
	#contact tr.nini th b::after {
		top: 0 !important;
		/*right: 0!important;*/
		left: 110% !important;
		bottom: 0 !important;
	}

	#contact .radio_area label,
	#contact .check_area label {
		display: flex;
		align-items: center;
	}

	#contact .form_btn {
		flex-flow: column;
	}

	#contact .form_btn01,
	#contact .form_btn02 {
		font-size: 100%;
		margin: 30px 0 0;
	}

	#contact #contact_in .tel_box {
		margin: 0 auto 80px;
	}

	#contact.confirm .form_btn01,
	#contact.confirm .form_btn02 {
		margin: 20px 0 0;
	}

	#contact.confirm .confirm_box {
		margin: 0 0 30px;
	}

	#contact.confirm dl {
		padding: 20px 0;
		font-size: 90%;
	}

	#contact.confirm dl dt {
		min-width: 150px;
	}

}

@media screen and (max-width:480px) {
	#contact #visual {
		padding: 70px 20px 50px;
	}

	#contact #visual .en img {
		max-width: 165px;
	}

	#contact .table_temp {
		margin: 0 0 20px;
	}

	#contact #contact_in.area {
		padding: 0 20px 40px;
	}

	#contact #contact_in .top_txt {
		line-height: 1.6;
		margin: 0 0 40px;
		font-size: 90%;
	}

	#contact #contact_in .tel_box {
		margin: 0 auto 40px;
		padding: 30px;
	}

	#contact #contact_in .tel_box .txt {
		font-size: 100%;
		margin: 0 0 20px;
	}

	#contact #contact_in .tel_box .caution {
		font-size: 80%;
	}

	#contact .privacy_txt {
		margin: 0 0 30px;
	}

	#contact .privacy {
		font-size: 90%;
	}

	#contact .form_btn01,
	#contact .form_btn02 {
		font-size: 90%;
	}

	#contact.confirm dl {
		flex-flow: column;
	}

	#contact.confirm dl dt {
		min-width: 100%;
		margin: 0 0 10px;
	}

}


/* privacy
-------------------------------------------------------*/
#privacy h3 {
	font-size: 200%;
	font-weight: 700;
	text-align: center;
	margin: 0 0 40px;
}

#privacy .txt_box p {
	font-size: 95%;
	line-height: 2;
	padding: 15px 0;
}

@media screen and (max-width:768px) {
	#privacy h3 {
		font-size: 140%;
		margin: 0 0 20px;
	}

	#privacy .txt_box p {
		line-height: 1.6;
		padding: 10px 0;
	}
}



/* JPC追加
-------------------------------------------------------*/
/*  news */
#news_page .content-area .tab-content {
	display: none;
}

#news_page .content-area .tab-content.on {
	display: block;
}

/* contact */
#contact .mw_wp_form_confirm tr.hissu th b::after {
	content: none;
}

#contact .mw_wp_form_confirm .table_temp {
	margin-bottom: 50px;
}

#contact .mw_wp_form_confirm tr>* {
	vertical-align: text-top;
}

#contact .mw_wp_form_confirm tr {
	border-bottom: 1px solid #505050;
}

#contact .mw_wp_form_confirm tr th,
#contact .mw_wp_form_confirm tr td {
	padding: 30px 0;
}

#contact .mw_wp_form_confirm tr td {
	color: #333;
	font-weight: normal;
}

.mw_wp_form_confirm .privacy_txt {
	display: none;
}

.mw_wp_form_confirm .privacy {
	display: none;
}

/* single */
/*
.breadcrumb ul li:nth-of-type(1) {
	display: none;
}
*/

@media screen and (max-width:768px) {
	#contact .mw_wp_form_confirm tr th {
		min-width: 150px;
		width: auto;
		display: inline-block;
		font-size: 90%;
		padding: 20px 0;
	}

	#contact .mw_wp_form_confirm tr td {
		display: inline-block;
		font-size: 90%;
		padding: 20px 0;
	}
}

@media screen and (max-width:480px) {
	#contact .mw_wp_form_confirm tr th {
		display: block;
		padding: 20px 0 10px;
	}

	#contact .mw_wp_form_confirm tr td {
		display: block;
		padding: 0 0 20px;
	}
}

/*------ 20210531 修正 ------*/
/* strength */
#strength_page #point01_cont {
	margin-bottom: 30px;
}

#strength_page #point01_cont .area {
	padding: 70px 40px;
}

#strength_page #point02_cont {
	margin-bottom: 30px;
}

#strength_page #point02_cont .area {
	padding: 70px 40px;
}

#strength_page #point03_cont {
	margin-bottom: 30px;
}

#strength_page #point03_cont .area {
	padding: 70px 40px;
}

#strength_page .point .img {
	margin: 0 auto;
	max-width: 1200px;
}

#strength_page .point .img img {
	max-width: 100%;
}

@media screen and (max-width:768px) {
	#strength_page #point01_cont .area {
		padding: 70px 30px;
	}

	#strength_page #point02_cont .area {
		padding: 70px 30px;
	}

	#strength_page #point03_cont .area {
		padding: 70px 30px;
	}
}

@media screen and (max-width:480px) {
	#strength_page #point01_cont {
		margin-bottom: 20px;
	}

	#strength_page #point01_cont .area {
		padding: 40px 20px;
	}

	#strength_page #point02_cont {
		margin-bottom: 20px;
	}

	#strength_page #point02_cont .area {
		padding: 40px 20px;
	}

	#strength_page #point03_cont {
		margin-bottom: 20px;
	}

	#strength_page #point03_cont .area {
		padding: 40px 20px;
	}
}

/* company */
#company_page #message .txt_box .name {
	margin-bottom: 40px;
}

#company_page #message .link_article {
	font-size: 90%;
}

#company_page #message .link_article li:not(:last-child) {
	margin: 0 0 20px;
}

#company_page #message .link_article li .art_ttl {
	margin: 0 0 5px;
	font-weight: 500;
}

#company_page #message .link_article li a {
	color: #0000ff;
	text-decoration: underline;
	word-break: break-all;
}

@media screen and (max-width:768px) {
	#company_page #message::before {
		width: 65%;
		height: 75%;
		top: -6%;
	}
}

@media screen and (max-width:480px) {
	#company_page #message::before {
		width: 100%;
		height: 103%;
		top: -3%;
	}
}

/* index */
@media screen and (max-width:768px) {
	#index #service::after {
		height: 95%;
	}

	#index #message .txt_box .txt_en img {
		max-width: 320px;
	}
}

@media screen and (max-width:480px) {
	#index #service::after {
		width: 100%;
		height: 95.5%;
	}

	#index #message .txt_box .txt_en img {
		max-width: 250px;
	}
}

#index_video.area {
	padding: 70px 40px 0;
}

#index_video .inner {
	text-align: center;
	max-width: 800px;
}

#index_video iframe {
	max-width: 800px;
	width: 100%;
}

@media screen and (max-width:768px) {
	#index_video.area {
		padding: 50px 30px 0;
	}

	#index_video .inner {
		text-align: center;
		max-width: 800px;
	}

	#index_video iframe {
		height: 300px;
	}
}

/* voice video */
.voice_video {
	text-align: center;
	margin: 70px auto 0;
	max-width: 800px;
}

.voice_video iframe {
	max-width: 800px;
	width: 100%;
}

@media screen and (max-width:768px) {
	.voice_video {
		margin: 30px auto 0;
	}

	.voice_video iframe {
		height: 300px;
	}
}

@media screen and (max-width:480px) {
	.voice_video {
		margin: 20px auto 0;
	}

	.voice_video iframe {
		height: 200px;
	}
}

/* Slick Slider */
.slick-loading .slick-list {
	background: #fff url('../js/slick/ajax-loader.gif') center center no-repeat;
}


/* Icons */
@font-face {
	font-family: 'slick';
	font-weight: normal;
	font-style: normal;
	src: url('../js/slick/fonts/slick.eot');
	src: url('../js/slick/fonts/slick.eot?#iefix') format('embedded-opentype'), url('../js/slick/fonts/slick.woff') format('woff'), url('../js/slick/fonts/slick.ttf') format('truetype'), url('../js/slick/fonts/slick.svg#slick') format('svg');
}


/* slider
-------------------------------------------------------*/
.slide_wrap {
	position: relative;
}

.slick-slider {
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
	position: relative;
}

.slick-list {
	/***** 変更 *****/
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
	/*margin-right: -px;/* コンテンツの間隔のずれ修正 */
}

.slick-slide {
	/***** 変更 *****/
	display: none;
	height: 100%;
	min-height: 1px;
	outline: none;
	/*margin-right: px;/* コンテンツの間隔 */
}

@media screen and (max-width: 768px) {
	.slick-list {
		/*margin-right: -px;/* コンテンツの間隔のずれ修正 */
	}

	.slick-slide {
		/*margin-right: px;/* コンテンツの間隔 */
	}
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide a {
	outline: none;
}

.slick-slide img {
	display: block;
	margin: 0 auto;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}


/* arrows
-------------------------------------------------------*/
.slick-prev,
.slick-next {
	/***** 変更 *****/
	display: block;
	position: absolute;
	top: -80px;
	margin: auto;
	z-index: 9;
	line-height: 0;
	font-size: 0;
	padding: 0;
	border: none;
	outline: none;
	cursor: pointer;
	background: no-repeat center center/contain;
	width: 56px;
	height: 56px;
	box-shadow: 0px 0px 10px -6px rgba(0, 0, 0, 0.6);
}

.slick-prev {
	/***** 変更 *****/
	background-image: url("../js/slick/prev.png");
	right: 100px;
}

.slick-next {
	/***** 変更 *****/
	background-image: url("../js/slick/next.png");
	right: 20px;
}

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

	.slick-prev,
	.slick-next {
		/***** 変更 *****/
		width: 35px;
		height: 35px;
	}

	.slick-prev {
		/***** 変更 *****/
		right: 70px;
	}

	.slick-next {
		/***** 変更 *****/
		right: 20px;
	}
}

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

	.slick-prev,
	.slick-next {
		/***** 変更 *****/
		top: -60px;
	}
}

.slick-prev:hover,
.slick-next:hover {
	opacity: 0.7;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: .25;
}

.slick-prev:before,
.slick-next:before {
	font-family: 'slick';
	font-size: 20px;
	line-height: 1;
	opacity: .75;
	color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* dots
-------------------------------------------------------*/
.slick-dots {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	margin: auto;
}

.slick-dots li {
	line-height: 0;
}

.slick-dots li button {
	/***** 変更 *****/
	font-size: 0;
	line-height: 0;
	width: 20px;
	height: 20px;
	margin: 0 8px;
	padding: 0;
	cursor: pointer;
	background: #fff;
	border: none;
	box-sizing: border-box;
	border-radius: 50px;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	/***** 変更 *****/
	outline: none;
	background: #333;
}

.slick-dots li.slick-active button {
	/***** 変更 *****/
	background: #333;
}

@media screen and (max-width:768px) {
	.slick-dots {
		bottom: 20px;
	}

	.slick-dots li button {
		/***** 変更 *****/
		width: 10px;
		height: 10px;
	}
}

/* low
-------------------------------------------------------*/

#low dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}

#low dl dt {
	border-bottom: 1px solid #171c61;
	padding: 30px 0;
	width: 30%;
	min-width: 180px;
	color: #171c61;
	font-weight: 500;
}

#low dl dd {
	border-bottom: 1px solid #999999;
	padding: 30px 0;
	width: 67%;
}

#low dl.bt dt {
	border-top: 1px solid #171c61;
}

#low dl.bt dd {
	border-top: 1px solid #171c61;
}

#low dl a {
	color: #0000ff;
	text-decoration: underline;
}

#low h3 {
	font-size: 200%;
	font-weight: 700;
	text-align: center;
	margin: 0 0 40px;
}

#low .txt_box p {
	font-size: 95%;
	line-height: 2;
	padding: 15px 0;
}


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


	#low dl {
		font-size: 90%;
		display: block;
	}

	#low dl dt {
		padding: 20px 0;
		display: block;
		width: 100%;
	}

	#low dl.bt dt {
		margin-top: 30px;
	}

	#low dl.bt dd {
		border-top: none;
	}

	#low dl dd {
		padding: 20px 0;
		width: 100%;
	}

	#low h3 {
		font-size: 140%;
		margin: 0 0 20px;
	}

	#low .txt_box p {
		line-height: 1.6;
		padding: 10px 0;
	}

}


/* longtermstability
-------------------------------------------------------*/
#longtermstability .inner_s {
	max-width: 800px;
}

#longtermstability dl {
	margin-top: 50px;
}

#longtermstability dl dt {
	font-weight: bold;
}

#longtermstability dl dd {
	margin-top: 5px;
}

#longtermstability dl.bt dt {}

#longtermstability dl.bt dd {}

#longtermstability dl a {
	color: #0000ff;
	text-decoration: underline;
}

#longtermstability ul {
	margin-top: 30px;
}

#longtermstability ul li {
	margin-top: 15px;
}

#longtermstability p.link-first {
	margin-top: 30px;
}

#longtermstability p a {
	color: #0000ff;
	text-decoration: underline;
}

#longtermstability h3 {
	font-size: 200%;
	font-weight: 700;
	text-align: center;
	margin: 0 0 40px;
}

#longtermstability .txt_box p {
	/* font-size: 95%;
	line-height: 2;
	padding: 15px 0; */
}


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


	#longtermstability dl {
		margin-top: 30px;
	}

	#longtermstability dl dt {
		/* padding: 20px 0;
		display: block;
		width: 100%; */
	}

	#longtermstability dl.bt dt {
		/* margin-top: 30px; */
	}

	#longtermstability dl.bt dd {}

	#longtermstability dl dd {}

	#longtermstability h3 {
		font-size: 140%;
		margin: 0 0 20px;
	}

	#longtermstability .txt_box p {
		/* line-height: 1.6;
		padding: 10px 0; */
	}

}

/* pagination
-------------------------------------------------------*/
.wp-pagenavi {
	display: flex;
	font-size: 18px;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.wp-pagenavi .pages {

}

.wp-pagenavi span {
	border: 1px solid #171c61;
	padding: 5px 10px;
}

.wp-pagenavi span.current {
	border: 1px solid #171c61;
	background-color: #171c61;
	color: #fff;
}

.wp-pagenavi .page {
	border: 1px solid #171c61;
	padding: 5px 10px;
}

.wp-pagenavi a.page:hover {
	border: 1px solid #171c61;
	background-color: #171c61;
	color: #fff;;
	opacity: 1;
}

.wp-pagenavi .extend {
	border: none;
}
.nextpostslink,
.previouspostslink {
	margin: 0 10px;
}

@media screen and (max-width:480px) {
	.wp-pagenavi {
		font-size: 16px;
	}
}