@charset "utf-8";


/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.lato {
	font-family: 'Lato', sans-serif;
}
.sp {
	display: none;
}
.white {
	color: #fff;
}
.blue {
	color: #002E86;
}
.bg_b {
	background: #ECF0F4;
}
.txt {
	line-height: 1.8;
}
.area {
	padding: 80px 20px;
	box-sizing: border-box;
}
.inner_s {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	box-sizing: border-box;
}
.inner_m {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	box-sizing: border-box;
}
.inner_l {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media screen and (max-width:768px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	.inner {
		max-width: 100%;
	}
}

/* ttl */
.ttl_en {
	font-size: 210%;
	font-weight: 300;
	text-align: center;
	margin: 0 0 10px;
	letter-spacing: 0.075em;
}
.ttl01 {
	text-align: center;
	font-size: 105%;
	font-weight: 500;
	margin: 0 0 40px;
	letter-spacing: 0.075em;
}
.sub_ttl {
	font-size: 130%;
	font-weight: 700;
	margin: 0 0 20px;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.ttl_ub {
	font-size: 140%;
	font-weight: 500;
	margin: 0 0 30px;
	padding: 0 0 20px;
	position: relative;
	letter-spacing: 0.1em;
}
.ttl_ub::after {
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to right,#348ac1,#134e85);
	width: 60px;
	height: 6px;
	left: 0;
	bottom: 0;
}
@media screen and (max-width:768px) {
	.ttl01 {
		margin: 0 0 30px;
	}
	.ttl_en {
		letter-spacing: 0;
	}
	.ttl01 {
		letter-spacing: 0;
	}
	.sub_ttl {
		letter-spacing: 0;
	}
	.ttl_ub {
		line-height: 1.4
	}

}

/* fade_in */
.ani_bg .bg-wrap {
	position: relative;
	display: inline-block;
}
.ani_bg.scroll-animation.active .bg-wrap::before {
	animation: bg 5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	background: linear-gradient(to right, #348ac1 0%,#134e85 100%);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: left center;
}
.ani_bg.in-animation .bg-wrap::before {
	animation: bg 5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	background: linear-gradient(to right, #348ac1 0%,#134e85 100%);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: left center;
}
@keyframes bg {
  0% {
    opacity: 0;
    transform: scaleX(0) translateX(0%);
  }
  30% {
    transform: scaleX(1) translateX(0);
  }
  100% {
    transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}


/* btn */
.btn_b {
	background: linear-gradient(to right,#348ac1,#134e85);
	border-radius: 50px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.btn_b::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow01.png")no-repeat center/4px 8px;
	width: 4px;
	height: 8px;
	right: 15px;
} 
.btn_b.link::after {
	background: url("../images/common/icon_link.png")no-repeat center/18px 18px;
	width: 18px;
	height: 18px;
	right: 20px;
}
.btn_b.download01::after {
	background: url("../images/common/icon_download.png")no-repeat center/12px 12px;
	width: 12px;
	height: 12px;
	right: 20px;
}
.btn_b.download02::after {
	background: url("../images/common/icon_arrow01.png")no-repeat center/6px 10px;
	width: 18px;
	height: 18px;
	right: 20px;
}
.btn_b.size_s {
	width: 155px;
	height: 35px;
	font-size: 90%;
}
.btn_b.download01.size_s,
.btn_b.download02.size_s {
	width: 200px;
	height: 35px;
	font-size: 90%;
}
.btn_b.size_m {
	width: 280px;
	height: 45px;
	font-size: 105%;
}
.btn_b.size_l {
	width: 300px;
	height: 35px;
	font-size: 95%;
}
.btn_b.size_l::after {
	background: url("../images/common/icon_arrow01.png")no-repeat center/6px 10px;
	width: 6px;
	height: 10px;
} 

@media screen and (max-width:768px) {
	.btn_b {
		margin: 0 auto;
	}
	.btn_b.size_s {
		width: 300px;
		height: 35px;
	}
	.btn_b.size_m {
		width: 300px;
		height: 35px;
		font-size: 90%;
	}
	.btn_b::after {
		position: absolute;
		display: block;
		content: "";
		background: url("../images/common/icon_arrow01.png")no-repeat center/6px 10px;
		width: 6px;
		height: 10px;
		right: 15px;
	} 
	.btn_b.link::after {
		background: url("../images/common/icon_link.png")no-repeat center/10px 10px;
		width: 10px;
		height: 10px;
	} 
}



/* header
-------------------------------------------------------*/
#header {
	position: fixed;
	transition: all .5s;
    width: 100%;
    z-index: 99999;
	padding: 0 20px;
	box-sizing: border-box;
}
#header .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#header .logo a {
	background: url("../images/common/header_logo01.png")no-repeat center/305px 40px;
	display: block;
	min-width: 305px;
	min-height: 40px;
}
#header #nav_pc {
	width: 55%;
	color: #fff;
}
#header #nav_pc a {
	color: #fff;
}
#header .nav_top {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
	font-size: 90%;
	margin: 0 0 15px;
}
#header .nav_top li {
	padding: 10px 0;
}
#header .nav_top li:not(:last-child) {
	margin: 0 25px 0 0;
}
#header .nav_top li.mr10 {
	margin: 0 10px 0 0;
}
#header .nav_top li.lang {
	font-size: 105%;
	padding: 10px 5px;
}
#header .nav_top li.lang.on {
	font-weight: 700;
	position: relative;
}
#header .nav_top li.lang.on::before {
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	width: 100%;
	height: 4px;
	top: 0;
	left: 0;
}
#header .nav_top li.contact {
	background: #fff;
	padding: 0;
}
#header .nav_top li.contact a {
	color: #231815!important;
	padding: 10px 10px 10px 30px;
	display: block;
}
#header .nav_top li.contact a span {
	position: relative;
}
#header .nav_top li.contact a span::before {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_mail01.png")no-repeat center/16px 10px;
	width: 16px;
	height: 10px;
	top: 50%;
	left: -20px;
	transform: translate(0,-50%);
}
#header .dropdwn {
	display: flex;
	flex-flow: row nowrap;
	align-items:center;
	justify-content: space-between;
	background: url("../images/common/nav_line_w.png") no-repeat;
	background-position: right top;
}
#header .dropdwn>li {
	text-align: center;
}
#header .dropdwn>li{
	width: 100%;
	box-sizing: border-box;
	/*padding: 0 0 15px;*/
	border-bottom: 4px solid rgba(0,0,0,0);
	background: url("../images/common/nav_line_w.png") no-repeat;
	background-position: left top;
;
}
#header .dropdwn>li:hover{
	border-bottom: 4px solid;
    border-image: linear-gradient(to right,#348ac1,#134e85);
    border-image-slice: 1;
	box-sizing: border-box;
}
#header .dropdwn>li>a {
	display: block;
	/*border-left: 2px solid #fff;*/

	
	padding-bottom: 15px;
}
#header .dropdwn>li:last-child>a {
	/*border-right: 2px solid #fff;*/
	
	
}


#header .dropdwn_menu {
	width: 100%;
	box-sizing: border-box;
    display: none;
    position: absolute;
    padding: 20px;
    background: linear-gradient(to right, rgba(35,127,185,0.9),rgba(19,79,133,0.9));
    left: 0;
	text-align: left;
	z-index: 996;
	color: #fff;
	top: 100%;
	/*margin-top: 4px;*/
}
#header .dropdwn_menu a {
	color: #fff;
	text-align: left;
}
#header .dropdwn_menu .inner_l {
	align-items: flex-start;
	justify-content: flex-start;
}
#header .dropdwn_menu .txt_box {
	width: 35%;
	padding: 0 50px 0 0;
	border-right: 1px solid #fff;
	margin: 0 50px 0 0;
	box-sizing: border-box;
}
#header .dropdwn_menu .txt_box .ttl {
	font-size: 130%;
	margin: 0 0 15px;
}
#header .dropdwn_menu .txt_box .txt {
	font-size: 90%;
	line-height: 1.7;
}
#header .dropdwn_menu .nav_in {
	width: 65%;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	font-size: 95%;	
}
#header .dropdwn_menu .nav_in li {
	margin: 0 0 30px;
}
#header .dropdwn_menu .nav_in a {
	margin: 0 60px 0 0;
}
#header .dropdwn_menu .nav_in a span {
	border-bottom: 1px solid #fff;
	padding: 0 0 5px;
}
/* スクロール後 */
#header.change-color {
	background: rgba(255,255,255,0.8);
}
#header.change-color .logo a {
	background: url("../images/common/header_logo02.png")no-repeat center/305px 40px;
}
#header.change-color #nav_pc {
	color: #231815;
}
#header.change-color #nav_pc a {
	color: #231815;
}
#header.change-color .nav_top li.lang.on::before {
    background: linear-gradient(to right,#348ac1,#134e85);
}
#header.change-color .nav_top li.contact {
	background: linear-gradient(to right,#348ac1,#134e85);
}
#header.change-color .nav_top li.contact a {
	color: #fff!important;
}
#header.change-color .nav_top li.contact a span::before {
    background: url("../images/common/icon_mail02.png")no-repeat center/16px 10px;
}

#header.change-color .dropdwn {
	background: url("../images/common/nav_line.png") no-repeat;
	background-position: right top;
}

#header.change-color .dropdwn>li {
	background: url("../images/common/nav_line.png") no-repeat;
	background-position: left top;
}

#header.change-color .dropdwn>li>a {
	display: block;
	/*border-left: 2px solid #d3d3d3;*/
}
#header.change-color .dropdwn>li:last-child>a {
	/*border-right: 2px solid #d3d3d3;*/
}
#header.change-color #nav_pc .dropdwn_menu a {
    color: #fff;
}
@media screen and (max-width:850px) {
	#header #nav_pc {
		font-size: 90%;
	}
	#header .dropdwn_menu {
		font-size: 90%;
	}
	#header .logo a {
		background: url("../images/common/header_logo01.png")no-repeat center/244px 32px;
		display: block;
		min-width: 244px;
		min-height: 32px;
	}
	#header.change-color .logo a {
		background: url("../images/common/header_logo02.png")no-repeat center/244px 32px;
	}
	#header .nav_top li:not(:last-child) {
		margin: 0 10px 0 0;
	}
}
@media screen and (max-width:768px) {
	#header {
		background: #fff;
		height: 50px;
		padding: 0 0 0 20px;
	}
	#header .inner_l {
		align-items: center;
		justify-content: space-between;
	}
	#header .logo a {
		background: url("../images/common/header_logo02.png")no-repeat left/202px 25px;
	}
	#header.change-color .logo a {
		background: url("../images/common/header_logo02.png")no-repeat left/202px 25px;
	}

}

/* nav
-------------------------------------------------------*/
@media screen and (max-width:768px) {
	#nav_sp {
		width: 50px;
		height: 50px;
		background: linear-gradient(to right,#348ac1,#134e85);
		color: #fff;
	}
	#nav_sp a {
		color: #fff;
	}
	#btn_nav {
		position: fixed;
		top: 12px;
		right: 10px;
		z-index: 999;
		cursor: pointer;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		height: 25px;
	}
	#btn_nav span {
		display: inline-block;
		background: #fff;
		width: 30px;
		height: 5px;
		transition: .5s;
		position: relative;
		border-radius: 3px;
	}
	#btn_nav.active {
		top: 14px;
	}
	#btn_nav.active span {
		background: #fff;
		transform: translateY(8px) rotate(225deg);
	}
	#btn_nav.active span:nth-child(2) {
		transform: scaleX(0);
	}
	#btn_nav.active span:last-child {
		transform: translateY(-12px) rotate(-225deg);
	}
	#nav_sp nav,
	#nav_sp nav::after {
		position: fixed;
		top: 0;
		height: 100%;
		width: 100%;
		overflow: hidden;
	}
	#nav_sp nav {
		overflow: auto;
		right: -100%;
		z-index: 998;
		transition: .5s;
		margin: 50px 0 0;
		background: rgba(0,0,0,0.8);
	}
	#nav_sp .nav_bg {
		background: linear-gradient(to right,#348ac1,#134e85);
	}
	#nav_sp nav.active {
		right: 0;
	}
	#nav_sp nav dl {
		border-bottom: 1px solid rgba(255,255,255,0.2);
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: flex-start;
		padding: 20px;
	}
	#nav_sp nav dl dt {
		font-size: 80%;
		margin: 0 25px 0 0;
	}
	#nav_sp nav dl dd span {
		margin: 0 15px;
	}
	#nav_sp nav dl dd .on {
		font-weight: 700;
		font-size: 110%;
	}
	#nav_sp nav ul.wrap {
		margin: 0 0 40px;
	}
	#nav_sp nav ul.wrap>li {
		border-bottom: 1px solid rgba(255,255,255,0.2);
	}
	#nav_sp nav ul.wrap>li>a {
		padding: 20px;
		display: block;
	}
	#nav_sp nav ul.wrap>li .aco_btn {
		position: relative;
	}
	#nav_sp nav ul.wrap>li .aco_btn .btn {
		position: absolute;
		top:-2px;
		bottom:-10px;
		right: 20px;
		margin: auto;
		display: block;
		width: 10px;
		height: 10px;
	}
	#nav_sp nav ul.wrap>li .aco_btn .btn span {
		background: #fff;
		width: 10px;
		height: 2px;
		display: block;
	}
	#nav_sp nav ul.wrap>li .aco_btn .btn span:first-child {
		transform: rotate(90deg) translateX(2px) scale(1);
		transition: .5s;
	}
	#nav_sp nav ul.wrap>li .aco_btn.open .btn span:first-child {
		transform: rotate(90deg) translateX(2px) scale(0);
	}
	#nav_sp nav ul.wrap>li .aco_btn:hover {
		opacity: .7;
	}
	#nav_sp nav ul.wrap>li .aco_btn span {
		margin-right: 20px;
	}
	#nav_sp nav ul.wrap>li .arrow {
		position: relative;
	}
	#nav_sp nav ul.wrap>li .arrow::after {
		position: absolute;
		display: block;
		content: "";
		background: url("../images/common/nav_arrow.png")no-repeat center/7px 10px;
		width: 7px;
		height: 10px;
		right: 20px;
		top: 50%;
		transform: translate(0,-50%);
	}
	#nav_sp nav .aco_box {
		background: rgba(255,255,255,0.3);
		padding: 20px 30px;
	}
	#nav_sp nav .aco_box li:not(:last-child) {
		margin: 0 0 30px;
	}
	#nav_sp nav .aco_box li a {
		font-size: 95%;
	}
	#nav_sp nav .contact a {
		background: #fff;
		display: block;
		color: #231815;
		width: 300px;
		height: 45px;
		border-radius: 50px;
		margin: 0 auto 40px;
		font-weight: 500;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#nav_sp nav .contact a span {
		position: relative;
		padding: 0 0 0 20px;
	}
	#nav_sp nav .contact a span::before {
		position: absolute;
		display: block;
		content: "";
		background: url("../images/common/icon_mail01.png")no-repeat center/16px 10px;
		width: 16px;
		height: 10px;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
	}
	#nav_sp nav .btm {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 0 50px;
	}
	#nav_sp nav .btm li {
		margin: 0 30px;
	}
	#nav_sp nav #close {
		text-align: center;
		padding: 20px;
		border-top: 1px solid rgba(255,255,255,0.2);
		cursor: pointer;
	}
	#nav_sp nav #close span {
		position: relative;
		padding: 0 0 0 20px;
	}
	#nav_sp nav #close span::before {
		position: absolute;
		display: block;
		content: "";
		background: url("../images/common/close.png")no-repeat center/10px 10px;
		width: 10px;
		height: 10px;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
	}
}

/* contact_box (contact_s/contact_m)
-------------------------------------------------------*/
.contact_box {
	background: linear-gradient(to right,#237fb9,#134e85);
}
.contact_box a.contact {
	background: #fff;
	border-radius: 50px;
	font-size: 110%;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contact_box a span {
	position: relative;
}
.contact_box a span::before {
	position: absolute;
	display: block;
	content: "";
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}
.contact_box .contact span {
	padding: 0 0 0 35px;
}
.contact_box .contact span::before {
	background: url("../images/common/icon_contact_s.png")no-repeat center/23px 15px;
	width: 23px;
	height: 15px;
}
/* contact_s */
#contact_s {
	padding: 20px;
}
#contact_s .inner_s {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#contact_s .txt {
	font-size: 110%;
	font-weight: 500;
}
#contact_s .contact {
	width: 240px;
	height: 46px;
}

/* contact_m */
#contact_m {
	padding: 40px 20px;
}
#contact_m .txt {
	font-size: 130%;
	text-align: center;
	margin: 0 0 50px;
}
#contact_m ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
#contact_m ul .tel {
	margin: 0 40px 0 0;
}
#contact_m ul .tel img {
	max-width: 324px;
}
#contact_m .contact {
	width: 345px;
	height: 70px;
}
#contact_m .contact::before {
	background: url("../images/common/icon_contact_m.png")no-repeat center/31px 20px;
	width: 31px;
	height: 20px;
}
@media screen and (max-width:768px) {
	.contact_box a.contact {
		background: #fff;
		border-radius: 50px;
		font-size: 110%;
		font-weight: 500;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contact_box a span {
		position: relative;
	}
	.contact_box a span::before {
		position: absolute;
		display: block;
		content: "";
		left: 0;
		top: 50%;
		transform: translate(0,-50%);
	}
	/* contact_s */
	#contact_s {
		padding: 50px 20px;
	}
	#contact_s .inner_s {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#contact_s .txt {
		text-align: center;
		margin: 0 0 30px;
		line-height: 1.6;
	}
	#contact_s .contact {
		width: 290px;
	}
	#contact_m .txt {
		line-height: 1.6;
		font-size: 110%;
		margin: 0 0 30px;
	}
	#contact_m .txt span {
		display: none;
	}
	#contact_m ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#contact_m ul .tel {
		margin: 0 0 30px;
	}
	#contact_m ul .tel img {
		margin: 0 auto;
	}
	#contact_m ul li {
		width: 100%;
		text-align: center;
	}
	#contact_m ul li a {
		margin: 0 auto;
	}
	#contact_m .contact {
		width: 100%;
		max-width: 300px;
		height: 50px;
		font-size: 90%;
	}
	#contact_m .contact::before {
		background: url("../images/common/icon_contact_m.png")no-repeat center/31px 20px;
		width: 31px;
		height: 20px;
	}
}

/* footer
-------------------------------------------------------*/
#footer {
	background: #333333;
	letter-spacing: 0.05em;
}
#footer.area {
	padding: 70px 20px 90px;
}
#footer a {
	color: #fff;
	display: block;
}
#footer .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#footer .info {
	padding: 0 20px 0 60px;
	width: 40%;
	box-sizing: border-box;
}
#footer .info .logo {
	margin: 0 0 15px;
}
#footer .info .logo img {
	max-width: 234px;
}
#footer .info .txt {
	line-height: 1.2;
}
#footer .side {
	width: 60%;
}
#footer .side .footer_nav01 {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 0 60px;
}
#footer .side .footer_nav01 li:not(:last-child) {
	padding: 0 20px 0 0;
	box-sizing: border-box;
}
#footer .side .footer_nav01 .first {
	margin: 0 0 15px;
}
#footer .side .footer_nav01 .second {
	font-size: 90%;
	font-weight: 300;
	margin: 10px 0 0 10px;
	line-height: 1.4;
	padding-left:1.6em;
	text-indent:-1.6em;
}
#footer .side .footer_nav02 {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
#footer .side .footer_nav02 a {
	padding: 0 70px 0 0;
}
#footer .copy {
	font-size: 90%;
	letter-spacing: inherit;
	font-weight: 300;
	margin: 50px 0 0;
}
@media screen and (max-width:1230px) {
	#footer .info {
		padding: 0 15px 0 0;
	}
}
@media screen and (max-width:1080px) {
	#footer .info {
		font-size: 90%;
	}
	#footer .side  {
		font-size: 90%;
	}
	#footer .side .footer_nav02 a {
		padding: 0 20px 0 0;
	}
}
@media screen and (max-width:950px) {
	#footer .side .footer_nav01 li:not(:last-child) {
		padding: 0 10px 0 0;
	}
	#footer .info {
		font-size: 80%;
	}
	#footer .side {
		font-size: 80%;
	}
}
@media screen and (max-width:768px) {
	#footer {
		letter-spacing: 0;
	}
	#footer.area {
		padding: 60px 20px 40px;
	}
	#footer .inner_l {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#footer .info {
		padding: 0;
		width: 100%;
		margin: 0 0 40px;
		text-align: center;
		font-size: 100%;
	}
	#footer .info .logo {
		margin: 0 0 20px;
	}
	#footer .info .txt {
		line-height: 1.4;
	}
	#footer .side {
		width: 100%;
		font-size: 90%;
		max-width: 500px;
		margin: 0 auto;
	}
	#footer .side .footer_nav01 {
		flex-flow: row wrap;
		margin: 0 0 50px;
	}
	#footer .side .footer_nav01 li:nth-child(odd) {
		width: 60%;
	}
	#footer .side .footer_nav01 li:nth-child(even) {
		width: 40%;
	}
	#footer .side .footer_nav01 li:nth-child(-n+2) {
		margin: 0 0 40px;
	}
	#footer .side .footer_nav01 li:not(:last-child) {
		padding: 0;
	}
	#footer .side .footer_nav01 .first {
		font-size: 95%;
	}
	#footer .side .footer_nav01 .second {
		font-size: 90%;
		margin: 5px 0 0;
		line-height: 1.4;
	}
	#footer .side .footer_nav02 {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
	}
	#footer .side .footer_nav02 a {
		padding: 0;
		font-size: 95%;
		margin: 0 10px;
	}
	#footer .copy {
		margin: 70px 0 0;
	}

}



/* index
-------------------------------------------------------*/
#visual.index #video_bg01 {
	position: fixed;
	z-index: -1;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	overflow: hidden;
}
#visual.index {
	background: url("../images/index/visual_bg.png")no-repeat center/cover;
	clip-path: polygon(20% 0, 80% 0, 100% 0, 100% 90%, 80% 100%, 20% 100%, 0 90%, 0 0);
	margin-bottom: -100px;
	position: relative;
	z-index: 1;
}
#visual.index .bg {
	background: linear-gradient(to right, rgba(78,239,241,0.6),rgba(67,160,220,0.6));
	height: 860px;
	position: relative;
}
#visual.index h2.visual_txt {
	text-align: center;	
	position: absolute;
	right: 50%;
	top: 50%;
	font-size: 320%;
	font-weight: 700;
	transform: translate(50%,-50%);
	white-space: nowrap;
}
#visual.index a.scroll {
	color: #fff;
	position: absolute;
	bottom: 40px;
	right: 50%;
	display: flex;
	flex-flow: column;
	align-items: center;
	transform: translate(50%,0);
}
#visual.index a.scroll img {
	max-width: 20px;
}
#visual.index a.scroll span {
	display: block;
}
@media screen and (max-width:768px) {
	#visual.index {
		background: url("../images/index/visual_bg_sp.png")no-repeat center/cover;
		clip-path: polygon(20% 0, 80% 0, 100% 0, 100% 95%, 80% 100%, 20% 100%, 0 95%, 0 0);
	}
	#visual.index .bg {
		height: 600px;
	}
	#visual.index h2.visual_txt {
		font-size: 180%;
		line-height: 1.4;
		padding: 50px 0 0;
	}
}
@media screen and (max-width:568px) {
	#visual.index .bg {
		height: 480px;
	}
}

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

}

#index #index_identity {
	background-image: url("../images/index/identity_bg.png");
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	
	/*clip-path: polygon(20% 10%, 80% 10%, 100% 0, 100% 100%, 70% 100%, 20% 100%, 0 100%, 0 0);
	margin-top: -100px;*/
}




#index #index_identity {
	position: relative;
	/*z-index: -1;*/
}
#index #index_identity.area {
	/*padding: 80px 20px;*/
	padding: 180px 20px;
}
#index #index_identity .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#index #index_identity .txt_box {
	width: 60%;
	padding: 0 0 0 5%;
	box-sizing: border-box;
}
#index #index_identity .txt {
	margin: 0 0 100px;
}
#index #index_identity .img {
	width: 43%;
	padding: 0 0 0 5%;
	box-sizing: border-box;
	margin: -180px 0 0;
	z-index: 10;
	
 }
@media screen and (max-width:768px) {
	#index #index_identity {
		background: url("../images/index/identity_bg.png")no-repeat center/cover;
	}
	#index #index_identity.area {
		/*padding: 70px 20px;*/
		padding: 150px 20px;
	}
	#index #index_identity .inner_l {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#index #index_identity .txt_box {
		width: 100%;
		padding: 0;
	}
	#index #index_identity .txt {
		margin: 0 0 40px;
	}
	#index #index_identity .img {
		width: 100%;
		padding: 0;
		margin: 35px auto 0;
		text-align: center;
	 }
	#index #index_identity .img img {
		max-width: 400px;
		margin: 0 auto;
	}
}

#index #index_profile_out {
	position: relative;
}
#index #index_profile_out #video_bg02 {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	clip-path: polygon(20% 0%, 80% 0, 100% 10%, 100% 100%, 70% 100%, 30% 100%, 0 100%, 0% 10%);
	overflow: hidden;
}

#video02 {
	margin-top: -25%;
}

#index #index_profile {
	clip-path: polygon(20% 0%, 80% 0, 100% 10%, 100% 100%, 70% 100%, 30% 100%, 0 100%, 0% 10%);
	margin-top:-80px;
	position: relative;
	z-index: 5;
}
#index #index_profile .area {
	padding: 80px 20px 260px;
}
#index #index_profile .inner_l {
	position: relative;
}
#index #index_profile .bg {
	background: rgba(0,0,0,0.4);
}
#index #index_profile .ttl_en {
	text-align: left;
}
#index #index_profile .ttl01 {
	text-align: left;
}

#index_profile_out {
	position: relative;
}

#index #index_profile_out .map #map {
	max-width: 504px;
	position: absolute;
	right: 20%;
	bottom: -50px;
}
#index #index_profile_out .map {
	position: relative;
	z-index: 10;
}
/*#index #index_profile_out .map #map {
	max-width: 504px;
	position: absolute;
	right: 0;
	bottom: -350px;
}*/
@media screen and (max-width:768px) {
	#index #index_profile {
	background: url("../images/index/profile_bg.png")no-repeat center/cover;
	clip-path: polygon(20% 0%, 80% 0, 100% 5%, 100% 100%, 70% 100%, 30% 100%, 0 100%, 0% 5%);
	margin-top:-80px;
}
	
	
	#index #index_profile .area {
		padding: 80px 20px 250px;
	}
	#index #index_profile .ttl01 {
		margin: 0 0 20px;
	}
	#index #index_profile_out .map #map {
		bottom: -30px;
		right: 0;
		max-width: 450px;
	}
}

#index #index_product {
	background-image: url("../images/index/product_bg.png");
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
#index #index_product.area {
	padding: 150px 20px 130px;
}
#index #index_product .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#index #index_product .ani_en {
	margin: 0 0 10px;
}
#index #index_product .ani_en .bg-wrap .lato {
	display: inline-block;
	font-size: 330%;
	padding: 10px 130px 10px 0;
	position: relative;
	z-index: 1;
	font-weight: 300;
	letter-spacing: 0.075em;
}
#index #index_product .ani_en.scroll-animation.active .bg-wrap::before {
	left: -20px;
}
#index #index_product .txt_box {
	width: 45%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
}
#index #index_product .ttl_en {
	text-align: left;
}
#index #index_product .ttl_en .bg {
	background: linear-gradient(to right,#348ac1,#134e85);
	width: 400px;
	height: 60px;
	position: relative;
	margin: 0 0 0 -20px;
}
#index #index_product .ttl_en .bg .lato {
	position: absolute;
	top: 50%;
	left: 20px;
}
#index #index_product .ttl01 {
	text-align: left;
	font-size: 170%;
	margin: 0 0 60px;
}
#index #index_product .txt {
	margin: 0 0 110px;
}
#index #index_product #product_slider {
	width: 55%;
	margin: 70px 0 0;
	box-sizing: border-box;
}
#index #index_product .inner_m{
	padding: 80px 80px 0;
}
#index #index_product .inner_m ul {
	letter-spacing: 0.075em;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#index #index_product .inner_m ul li {
	/*padding: 20px 20px 30px;*/
	box-sizing: border-box;
	width: 100%;
	height: 148px;
	background: url("../images/index/banner_ve01.png")no-repeat center/cover;
	position: relative;
}
#index #index_product .inner_m ul li::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/product/index/banner_arrow.png")no-repeat center right/13px 24px;
	width: 13px;
	height: 24px;
	right: 20px;
	top: 50%;
	transform: translate(0,-50%);
}
#index #index_product .inner_m ul li a{
	display: block;
	position: relative;
	max-width: 100%;
	height: 128px;
	top: 0;
	left: 0;
	padding: 20px 0 0 20px;
}
#index #index_product .inner_m ul li .page_ttl {
	width: 250px;
	/*font-weight: 700;*/
	margin: 0 0 20px;
	height: 30px;
	background: #555555;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0 0 0 10px;
	box-sizing: border-box;
	letter-spacing: 0.075em;
}
#index #index_product .inner_m .txt {
	color: #fff;
	line-height: 1.5;
	margin: 0;
}
@media screen and (max-width:1015px) {
	#index #index_product .ani_en .bg-wrap .lato {
		padding: 10px 40px 10px 0;
	}
}
@media screen and (max-width:768px) {
	#index #index_product {
		background: url("../images/index/product_bg.png")no-repeat center/cover;
	}
	#index #index_product.area {
		padding: 210px 20px 80px;
	}
	#index #index_product .inner_l {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#index #index_product .txt_box {
		width: 100%;
		padding: 0;
		margin: 0 0 50px;
	}
	#index #index_product .ttl_en .bg {
		width: 350px;
		margin: 0 0 0 -20px;
	}
	#index #index_product .ttl01 {
		margin: 0 0 30px;
	}
	#index #index_product .txt {
		margin: 0 0 30px;
	}
	#index #index_product .product_slider {
		width: 100%;
		margin: 0;
	}
	#index #index_product .product_slider li .ttl {
		padding: 10px;
		font-size: 90%;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
	#index #index_product .product_slider li .ttl span {
		font-size: 130%;
		margin: 5px 0 0;
		display: block;
		text-align: center;
	}
	/*
	#index #index_product #product_slider {
		width: 100%;
	}*/
	#index #index_product .inner_m{
		padding: 80px 0 0;
	}
}

#index #index_recruit {
	background: url("../images/index/recruit_bg.png")no-repeat center/cover;
}
#index #index_recruit .txt {
	text-align: center;
	font-size: 160%;
	font-weight: 700;
	margin: 0 0 50px;
}
#index #index_recruit .btn_b {
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	#index #index_recruit .txt {
		font-size: 120%;
		margin: 0 0 40px;
	}
}

#index #index_news .inner_m {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#index #index_news .ttl_box {
	width: 20%;
	padding: 0 20px 0 0;
}
#index #index_news .ttl_box .ttl_en {
	text-align: left;
}
#index #index_news .ttl_box .ttl01 {
	text-align: left;
}
#index #index_news .cont_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-end;
	justify-content:space-between;
	width: 80%;
}
#index #index_news .cont_box ul li:not(:last-child) {
	margin: 0 0 25px;
}
#index #index_news .cont_box ul li a {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
#index #index_news .cont_box ul li .date {
	margin: 0 50px 0 0;
}
@media screen and (max-width:768px) {
	#index #index_news .inner_m {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#index #index_news .ttl_box {
		width: 100%;
		padding: 0;
	}
	#index #index_news .ttl_box .ttl_en {
		text-align: center;
	}
	#index #index_news .ttl_box .ttl01 {
		text-align: center;
	}
	#index #index_news .cont_box {
		flex-flow: column;
		align-items: center;
		justify-content:center;
		width: 100%;
	}
	#index #index_news .cont_box ul {
		width: 100%;
	}
	#index #index_news .cont_box ul li:not(:last-child) {
		margin: 0 0 15px;
		padding: 0 0 15px;
		border-bottom: 1px solid #D3D3D3;
	}
	#index #index_news .cont_box ul li a {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#index #index_news .cont_box ul li .date {
		margin: 0 0 10px;
	}
}

/* breadcrumb
-------------------------------------------------------*/
.breadcrumb {
	background: rgba(211,211,211,0.8);
	padding: 0 20px;
	margin: 0 0 40px;
}
.breadcrumb.opacity100 {
	background: rgba(211,211,211,1);
}
.breadcrumb ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	font-size: 90%;
	padding: 15px 0;
}
.breadcrumb ul li {
	position: relative;
}
.breadcrumb ul li:not(:last-child) {
	margin: 0 40px 0 0;
}
.breadcrumb ul li:not(:last-child)::after {
	position: absolute;
	display: block;
	content: ">";
	right: -25px;
	top: 50%;
	transform: translate(0,-50%);
}
#visual.size_l .breadcrumb {
	margin: 0 0 80px;
}
@media screen and (max-width:768px) {
	.breadcrumb {
		padding: 0 20px;
		margin: 0 0 25px;
	}
	.breadcrumb ul {
		font-size: 90%;
		padding: 15px 0;
	}
	.breadcrumb ul li:not(:last-child) {
		margin: 0 30px 0 0;
	}
	.breadcrumb ul li:not(:last-child)::after {
		right: -18px;
	}
	#visual.size_l .breadcrumb {
		margin: 0 0 25px;
	}

}

/* page_link
-------------------------------------------------------*/
#page_link {
	border-top: 1px solid #D3D3D3;
}
#page_link.area {
	padding: 80px 20px 120px;
}
#page_link .ttl {
	font-size: 120%;
	font-weight: 700;
	margin: 0 0 40px;
}
#page_link .ttl span {
	position: relative;
}
#page_link .ttl span::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow02.png")no-repeat center/7px 10px;
	width: 7px;
	height: 10px;
	right: -20px;
	top: 40%;
}
#page_link ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
#page_link ul li {
	width: 18%;
}
#page_link ul li:not(:last-child) {
	margin: 0 2% 0 0;
}
#page_link ul li a {
	padding: 20px 0;
	border-bottom: 1px solid #D3D3D3;
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	transition: ease .3s;
	padding-left: 10px;
}
#page_link ul li a span {
	position: relative;
	z-index: 3;
}
#page_link ul li a:hover {
	opacity: 1;
	box-sizing: border-box;
}
#page_link ul li a:hover span {
	color: #fff;
}
#page_link ul li a::before {
	content: '';
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
 	background:linear-gradient(to right,#237fb9,#134e85);
 	width: 100%;
	height: 100%;
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}
#page_link ul li:hover a::before {
	transform-origin:left top;
	transform:scale(1, 1);
}

#page_link ul li a.on::before {
	display: none;
}

#page_link ul li a::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow02.png")no-repeat center/7px 10px;
	width: 7px;
	height: 10px;
	right: 0;
	top: 50%;
	transition: .3s;
	transform: translate(0,-50%);
}
#page_link ul li:hover a::after {
	background: url("../images/common/icon_arrow01.png")no-repeat center/7px 10px;
	z-index: 5;
	right: 10px;
}
#page_link ul li .on {
	color: #fff;
	background: linear-gradient(to right,#237fb9,#134e85);
	font-weight: 700;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: none;
}
#page_link ul li .on::after {
	display: none;
}
@media screen and (max-width:768px) {
	#page_link.area {
		padding: 80px 20px 120px;
	}
	#page_link ul {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#page_link ul li {
		width: 100%;
	}
	#page_link ul li:not(:last-child) {
		margin: 0 0 20px;
	}
	#page_link ul li .on {
		padding: 20px 20px 20px 10px;
	}
}

/* lower_page common
-------------------------------------------------------*/
main.lower_page {
	margin: 85px 0 0;
}
.lower_page .bg01 {
	background: url("../images/common/visual_bg.png")no-repeat top center/contain;
}
.lower_page #visual.size_l {
	height: 700px;
}
.lower_page #visual.size_m {
	height: 560px;
}
.lower_page #visual.size_s {
	height: 420px;
}
.lower_page #visual.size_xs {
	height: 340px;
}
.lower_page #visual.size_xxs {
	height: 155px;
	background: rgba(153,175,197,0.2);
}
.lower_page #visual .txt_box {
	letter-spacing: 0.025em;
	padding: 0 20px;
	max-width: 1240px;
}
.lower_page .page_ttl {
	width: 220px;
	height: 30px;
	background: #555555;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0 0 0 10px;
	box-sizing: border-box;
	margin: 0 0 50px;
	letter-spacing: 0.025em;
}
.lower_page .size_xs .page_ttl {
	margin: 0 0 60px;
}
.lower_page .visual_txt {
	line-height: 1.8;
}
.lower_page .sub_ttl_gra {
	font-size: 170%;
	font-weight: 700;
	width: 350px;
	height: 60px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	max-width: 100%;
}
.lower_page .sub_ttl_gra .bg-wrap {
	width: 350px;
	height: 60px;
	padding: 0 0 0 20px;
	display: flex;
	align-items: center;
}
.lower_page .sub_ttl_gra span.white {
	position: relative;
	z-index: 5;
}
.lower_page .ttl_txt {
	padding: 20px 0 0;
}
.lower_page .ttl_txt li:not(:last-child) {
	margin: 0 0 40px;
}
.lower_page .ttl_txt .ttl {
	font-size: 110%;
	font-weight: 700;
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 1px solid #D3D3D3;
}
.lower_page .info_table dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 1px solid #D3D3D3;
	position: relative;
	line-height: 1.6;
}
.lower_page .info_table dl::after {
	position: absolute;
	display: block;
	content: "";
	width: 180px;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right,#348ac1,#134e85);
	border-image-slice: 1;
	box-sizing: border-box;
	bottom: -1px;
}
.lower_page .info_table dl dt {
	font-weight: 700;
	width: 180px;
	padding: 20px 10px;
	box-sizing: border-box;
}
.lower_page .info_table dl dd {
	padding: 20px;
}
.lower_page .txt_hyphen li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.8;
}
.lower_page .txt_hyphen li.none {
	padding-left: 0;
	text-indent: 0;
}
.lower_page .txt_hyphen li:not(:last-child) {
    margin: 0 0 15px;
}
.lower_page .txt_hyphen li span {
	padding: 0 10px 0 0;
    text-indent: -1em;
    line-height: 1.8;
}
@media screen and (max-width:768px) {
	main.lower_page {
		margin: 50px 0 0;
	}
	.lower_page .bg01 {
		background: url("../images/common/visual_bg_sp.png")no-repeat top center/contain;
	}
	.lower_page #visual {
		height: inherit!important;
	}
	.lower_page #visual .txt_box {
		letter-spacing: 0;
		padding: 0 20px;
		max-width: 1240px;
	}
	.lower_page .page_ttl {
		margin: 0 0 40px;
		letter-spacing: 0;
	}
	.lower_page .sub_ttl_gra {
		width: 320px;
	}
	.lower_page #visual.size_xs {
		padding: 0 0 120px;
	}
	.lower_page #visual.size_xxs {
		padding: 0 0 60px;
	}
	.lower_page #visual.size_xxs .page_ttl {
		margin: 0;
	}
	.lower_page .info_table dl {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		border-bottom: none;
	}
	.lower_page .info_table dl::after {
		display: none;
	}
	.lower_page .info_table dl:not(:last-child) {
		margin: 0 0 30px;
	}
	.lower_page .info_table dl dt {
		border-bottom: 2px solid;
		border-image: linear-gradient(to right,#348ac1,#134e85);
		border-image-slice: 1;
		box-sizing: border-box;
		padding: 10px 0;
	}
	.lower_page .info_table dl dd {
		border-bottom: 1px solid #D3D3D3;
		padding: 20px 10px;
		width: 100%;
		box-sizing: border-box;
	}
	.lower_page .txt_hyphen li {
		padding-left: 1.2em;
		text-indent: -1.2em;
	}
}

/* identity
-------------------------------------------------------*/
#identity #visual {
	background: url("../images/identity/index/visual.png")no-repeat center right 30%/cover;
}
#identity #visual .visual_ttl {
	font-size: 160%;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 15px;
}
#identity #index_area01.area {
	padding: 70px 0 100px;
}
#identity #index_area01 {
	background: url("../images/identity/index/bg01.png")no-repeat center top/contain;
}
#identity #index_area01 .main_ttl {
	font-weight: 700;
	font-size: 160%;
	text-align: center;
	margin: 0 0 70px;
}
#identity #index_area01 ul li {
	padding: 60px 20px;
	height: 300px;
	box-sizing: border-box;
}
#identity #index_area01 ul li:first-child {
	background: url("../images/identity/index/bg02.png")no-repeat center/cover;
}
#identity #index_area01 ul li:nth-child(2) {
	background: url("../images/identity/index/bg03.png")no-repeat center/cover;
}
#identity #index_area01 ul li:last-child {
	background: url("../images/identity/index/bg04.png")no-repeat center/cover;
}
#identity #index_area01 ul li:not(:last-child) {
	margin: 0 0 10px;
}
#identity #index_area01 ul li .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	height: 100%;
}
#identity #index_area01 ul li .inner_l .txt_box {
	width: 50%;
}
#identity #index_area01 ul li .inner_l .txt_box .en {
	font-size: 210%;
	font-weight: 400;
	letter-spacing: 0.1rem;
	margin: 0 0 20px;
	line-height: 1.2;
}
#identity #index_area01 ul li .inner_l .link_box {
	width: 50%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
}
#identity #area01 {
	background: url("../images/common/bg01.png")no-repeat center top/contain;
}
#identity #area01.area {
	padding: 60px 20px 10px;
}
#identity #area01 .ttl {
	text-align: center;
	font-weight: 700;
	font-size: 160%;
	line-height: 1.4;
	margin: 0 0 30px;
}
#identity #area01 .txt {
	line-height: 2;
	text-align: center;
}

@media screen and (max-width:768px) {
	#identity .bg01 {
		background:none
	}
	#identity #visual .visual_ttl {
		text-align: center;
		margin: 0 0 30px;
	}
	#identity #visual .visual_txt {
		padding: 0 0 40px; 
	}
	#identity #index_area01.area {
		padding: 60px 0 100px;
	}
	#identity #index_area01 {
		background:none;
	}
	#identity #index_area01 .main_ttl {
		margin: 0 0 60px;
	}
	#identity #index_area01 ul li {
		padding: 30px 20px;
		height: inherit;
	}
	#identity #index_area01 ul li:first-child {

	}
	#identity #index_area01 ul li:nth-child(2) {
	}
	#identity #index_area01 ul li:last-child {
	}
	#identity #index_area01 ul li:not(:last-child) {
		margin: 0 0 10px;
	}
	#identity #index_area01 ul li .inner_l {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		height: inherit;
	}
	#identity #index_area01 ul li .inner_l .txt_box {
		width: 100%;
	}
	#identity #index_area01 ul li .inner_l .txt_box .en {
		text-align: center;
	}
	#identity #index_area01 ul li .inner_l .txt_box .ttl_jp {
		text-align: center;
		font-size: 110%;
		font-weight: 500;
		margin: 0 0 40px;
	}
	#identity #index_area01 ul li .inner_l .link_box {
		width: 100%;
		display: flex;
		flex-flow: column;
		align-items: flex-start;
		justify-content: space-between;
		height: 100%;
	}
	#identity #index_area01 ul li .inner_l .link_box .txt {
		margin: 0 0 40px;
		font-size: 95%;
	}
	#identity #area01 {
		background: url("../images/common/bg01_sp.png")no-repeat top right/contain;
	}
}

/* identity integrated */
#identity.integrated #visual {
	background: url("../images/identity/integrated/visual.png")no-repeat center bottom/cover;
}
#identity.integrated #area01 {
	background: none;
}
#identity.integrated #area02.area {
	padding: 70px 20px 80px;
}
#identity.integrated #area02 .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#identity.integrated #area02 .txt {
	width: 65%;
	padding: 0 40px 0 0;
	box-sizing: border-box;
}
#identity.integrated #area02 .img {
	width: 35%;
}
#identity.integrated #area03.area {
	padding: 80px 20px;
}
#identity.integrated #area03 .txt {
	margin: 0 0 60px;
}
#identity.integrated #area03 .box {
	background: #fff;
	padding: 40px;
}
#identity.integrated #area03 .box .ttl {
	text-align: center;
	font-size: 140%;
	font-weight: 500;
	margin: 0 0 40px;
	letter-spacing: 0.1rem;
}
#identity.integrated #area03 .box .img {
	text-align: center;
}
#identity.integrated #area03 .box .img img {
	max-width: 750px;
}
@media screen and (max-width:768px) {
	#identity.integrated #visual {
		background: url("../images/identity/integrated/visual_sp.png")no-repeat center bottom/cover;
	}
	#identity.integrated #area01 {
		background: url("../images/common/bg01_sp.png")no-repeat center top/contain;
	}
	#identity.integrated #area02 .box {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#identity.integrated #area02 .txt {
		width: 100%;
		padding: 0;
		margin: 0 0 40px;
	}
	#identity.integrated #area02 .img {
		width: 100%;
	}
	#identity.integrated #area03 .box {
		padding: 40px 20px;
	}
	#identity.integrated #area03 .box .ttl {
		margin: 0 0 25px;
		line-height: 1.4;
		
	}
}
/* identity quality */
#identity.quality #visual {
	background: url("../images/identity/quality/visual.png")no-repeat center/cover;
}
#identity.quality #area03 .inner_m {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#identity.quality #area03 .txt_box {
	width: 87%;
	padding: 0 40px 0 0;
	box-sizing: border-box;
}
#identity.quality #area03 .img {
	width: 13%;
}
@media screen and (max-width:768px) {
	#identity.quality #area03 .inner_m {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#identity.quality #area03 .txt_box {
		width: 100%;
		padding: 0;
		margin: 0 0 40px;
	}
	#identity.quality #area03 .img {
		width: 50%;
	}
}
/* identity deliver */
#identity.deliver #visual {
	background: url("../images/identity/deliver/visual.png")no-repeat center/cover;
}
#identity.deliver #area02.area {
	padding: 130px 20px 80px;
}
#identity.deliver #area02 .mb {
	margin: 0 0 80px;
}
@media screen and (max-width:768px) {
	#identity.deliver #area02.area {
		padding: 100px 20px 80px;
	}
}

/* profile
-------------------------------------------------------*/
#profile #visual {
	background: url("../images/profile/index/visual.png")no-repeat center/cover;
}
#profile #visual.size_m .page_ttl {
	margin: 0 0 30px;
}
#profile #visual .box {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	justify-content: flex-end;
}
#profile #visual .visual_ttl_m {
	background: rgba(255,255,255,0.66);
	font-size: 160%;
	font-weight: 700;
	padding: 15px 20px;
	display: inline-block;
	box-sizing: border-box;
	margin: 0 0 10px;
	text-align: right;
}
#profile #visual .visual_txt {
	background: rgba(255,255,255,0.66);
	display: inline-block;
	padding: 15px 20px;
	text-align: left;
}
#profile #profile_link.area {
	padding: 40px 20px 50px;
}
#profile #profile_link .inner_m {
	max-width: 680px;
}
#profile #profile_link ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
#profile #profile_link ul li {
	width: 20.5%;
	border-bottom: 1px solid #D3D3D3;
	padding: 20px 0;
}
#profile #profile_link ul li:not(:last-child) {
	margin: 0 6% 0 0;
}
#profile #profile_link ul li a {
	position: relative;
	display: block;
}
#profile #profile_link ul li a::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow02.png")no-repeat center/7px 10px ;
	width: 7px;
	height: 10px;
	right: 0;
	top: 50%;
	transform: translate(0,-50%);
}
#profile #profile_link ul li:nth-child(-n+2) a::after {
	transform: rotate(90deg) translate(0,-50%);
	right: 6px;
	width: 8px;
	height: 10px;
}
#profile .profile_ttl {
	text-align: center;
	font-size: 180%;
	margin: 0 0 50px;
	font-weight: 700;
}
#profile .profile_ttl .bg-wrap {
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
}
#profile .profile_ttl .bg-wrap span.white {
	position: relative;
	z-index: 5;
}
@media screen and (max-width:768px) {
	#profile #visual {
		background: url("../images/profile/index/visual.png")no-repeat center left/cover;
	}
	#profile #visual.size_m .page_ttl {
		margin: 0 0 50px;
	}
	#profile #visual .visual_ttl_m {
		padding: 15px 10px;
		margin: 0 0 100px;
		text-align: center;
		width: 100%;
		line-height: 1.4;
		font-size: 150%;
	}
	#profile #sp_txt {
		background: url("../images/common/bg01_sp.png")no-repeat top right/contain;
		text-align: center;
	}
	#profile #sp_txt.area {
		padding: 30px 20px;
	}
	#profile #profile_link.area {
		padding: 30px 20px 50px;
	}
	#profile #profile_link ul {
		flex-flow: row wrap;
		justify-content: space-between;
	}
	#profile #profile_link ul li {
		width: 47%;
	}
	#profile #profile_link ul li:not(:last-child) {
		margin: 0;
	}
	#profile #profile_link ul li:nth-child(-n+2) {
		margin: 0 0 20px;
	}
	#profile .profile_ttl {
		margin: 0 0 60px;
	}
	#profile01.area {
		padding: 70px 0;
	}
	#profile01 .inner_m {
		padding: 0 20px;
	}
	#profile02.area {
		padding: 60px 0;
	}
	#profile02 .inner_m {
		padding: 0 20px;
	}
}
/* profile history */
#profile.history #visual {
	background: url("../images/profile/history/visual.png")no-repeat center/cover;
}
#profile.history #area01 {
	background: url("../images/common/bg01.png")no-repeat center top/contain;
	text-align: center;
}
#profile.history #area01.area {
	padding: 60px 20px 10px;
}
#profile.history #area01 .ttl {
	font-size: 160%;
	font-weight: 700;
	margin: 0 0 20px;
	line-height: 1.4;
}
#profile.history #profile03.area {
	padding: 70px 0 50px;
}
#profile.history #profile03 .inner_m {
	padding: 0 20px;
}
#profile.history #profile03 .flex {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#profile.history #profile03 .flex .txt_box {
	width: 65%;
	padding: 0 40px 0 0;
	box-sizing: border-box;
}
#profile.history #profile03 .flex .img {
	width: 35%;
}
#profile.history #profile03 .flex .btn_b {
	margin: 30px 0 0;
}
#profile.history #profile03 .bg_b {
	padding: 80px 0;
	margin: 80px 0;
}
#profile.history #profile04.area {
	padding: 70px 0 80px;
}
#profile.history #profile04 .inner_m {
	padding: 0 20px;
}
#profile.history #profile04 dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start;
}
#profile.history #profile04 dl:not(:last-child) {
	margin: 0 0 15px;
}
#profile.history #profile04 dt {
	min-width: 140px;
	background: #ECF0F4;
	padding: 20px 10px;
	box-sizing: border-box;
	font-weight: 700;
}
#profile.history #profile04 dd {
	padding: 20px;
}
#profile.history #profile04 .ttl {
	margin: 0 0 20px;
	font-size: 110%;
	font-weight: 700;
}
#profile.history #profile04 .flex {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
}
#profile.history #profile04 .flex .txt {
	width: 72%;
}
#profile.history #profile04 .flex .img {
	width: 28%;
	font-size: 85%;
	line-height: 1.4;
}
#profile.history #profile04 .flex .img img {
	margin: 0 0 10px;
}
@media screen and (max-width:768px) {
	#profile.history #visual {
		background: url("../images/profile/history/visual.png")no-repeat center right 30%/cover;
	}
	#profile.history #area01 {
		background: url("../images/common/bg01_sp.png")no-repeat top right/contain;
		text-align: center;
	}
	#profile.history #area01.area {
		padding: 60px 20px 10px;
	}
	#profile.history #area01 .ttl {
		margin: 0 0 30px;
	}
	#profile.history #profile03 .flex {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#profile.history #profile03 .flex .txt_box {
		width: 100%;
		padding: 0;
		margin: 0 0 40px;
	}
	#profile.history #profile03 .flex .img {
		width: 100%;
	}
	#profile.history #profile03 .flex .btn_b {
		margin: 30px auto 0;
	}
	#profile.history #profile04 dl {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#profile.history #profile04 dl:not(:last-child) {
		margin: 0 0 40px;
	}
	#profile.history #profile04 dt {
		min-width: 100%;
		width: 100%;
		padding: 15px;
		margin: 0 0 20px;
	}
	#profile.history #profile04 dd {
		padding: 0;
	}
	#profile.history #profile04 .ttl {
		line-height: 1.6;
	}
	#profile.history #profile04 .flex {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#profile.history #profile04 .flex .txt {
		width: 100%;
	}
	#profile.history #profile04 .flex .img {
		width: 100%;
	}
	#profile.history #profile04 .flex .img img {
		margin: 20px 0 10px;
	}
}

/* profile page_link */
#profile #page_link ul li:nth-child(3) a::after,#profile #page_link ul li:last-child a::after {
	background: url("../images/common/icon_arrow02.png")no-repeat center/8px 10px;
	width: 12px;
	top: 40%;
	transition: .3s;
	transform: rotate(-90deg);
}
#profile #page_link ul li:nth-child(3) a:hover::after,#profile #page_link ul li:last-child a:hover::after {
	background: url("../images/common/icon_arrow01.png")no-repeat center/8px 10px;
	width: 8px;
	top: 40%;
	transition: .3s;
	transform: rotate(-90deg);
}
@media screen and (max-width:768px) {
	
}

/* product
-------------------------------------------------------*/
#product #visual {
	background: url("../images/product/index/visual_bg.png")no-repeat center bottom/cover;
}
#product #visual .visual_ttl_l {
	font-size: 320%;
	font-weight: 700;
	margin: 0 0 50px;
}
#product #area01 {
	background: url("../images/product/index/bg01.png")no-repeat center/cover;
}
#product #area01.area {
	padding: 60px 20px 50px;
}
#product #area01 ul {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#product #area01 ul li {
	letter-spacing: 0.075em;
	width: 31%;
	background: rgba(255,255,255,0.8);
	padding: 30px 0 20px;
	box-sizing: border-box;
	margin: 0 3.5% 3.5% 0;
	text-align: center;
	position: relative;
}
#product #area01 ul li:nth-child(3n) {
	margin: 0 0 3.5%;
}
#product #area01 ul li .name01 {
	margin: 0 0 10px;
}
#product #area01 ul li .name02 {
	font-size: 130%;
	font-weight: 500;
}
#product #area01 ul li .btn_b {
	letter-spacing: 0;
}
#product #area01 ul li .btn_b {
	position: absolute;
	bottom: 20px;
	right: 50%;
	transform: translate(50%,0);
}
#product #area02 {
	background: #ecf0f4;
}
#product #area02 ul {
	letter-spacing: 0.075em;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#product #area02 ul li {
	padding: 20px 20px 30px;
	box-sizing: border-box;
	width: 48%;
	background:url("../images/product/index/banner_bg01.png")no-repeat center/cover;
	position: relative;
}
#product #area02 ul li:last-child {
	background:url("../images/product/index/banner_bg02.png")no-repeat center/cover;
}
#product #area02 ul li::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/product/index/banner_arrow.png")no-repeat center right/13px 24px;
	width: 13px;
	height: 24px;
	right: 20px;
	top: 50%;
	transform: translate(0,-50%);
}
#product #area02 .page_ttl {
	font-weight: 700;
	margin: 0 0 20px;
}
#product #area02 .txt {
	color: #fff;
	line-height: 1.5;
}
@media screen and (max-width:768px) {
	#product #visual {
		background: url("../images/product/index/visual_bg_sp01.png")no-repeat right top/cover;
	}
	#product #visual .visual_ttl_l {
		margin: 0 0 190px;
		line-height: 1.2;
		text-stroke: 1px #fff;
		-webkit-text-stroke: 1px #fff;
	}
	#product #visual .visual_ttl_l img {
		max-width: 320px;
	}
	#product #visual .visual_txt {
		padding: 0 0 80px;
	}
	#product #area01 ul li {
		letter-spacing: 0;
		width: 48%;
		padding: 20px 0;
		margin: 0;
		box-sizing: border-box;
	}
	#product #area01 ul li:nth-child(3n) {
		margin: 0;
	}
	#product #area01 ul li:nth-child(odd) {
		margin: 0 4% 4% 0;
	}
	#product #area01 ul li .name01 {
		font-size: 70%;
	}
	#product #area01 ul li .name02 {
		font-size: 140%;
	}
	#product #area01 ul li .btn_b {
		width: 70%;
		height: 25px;
		font-size: 70%;
	}
	#product #area01 ul li .btn_b {
		bottom: 15px;
	}
	#product #area02.area {
		padding: 40px 20px;
	}
	#product #area02 ul {
		letter-spacing: 0;
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#product #area02 ul li {
		width: 100%;
	}
	#product #area02 ul li:not(:last-child) {
		margin: 0 0 40px;
	}
	#product #area02 .page_ttl {
		margin: 0 0 15px;
	}
	#product #area02 .txt {
		font-size: 90%;
	}
}
@media screen and (max-width:568px) {
	#product #visual {
		background: url("../images/product/index/visual_bg_sp02.png")no-repeat right top/cover;
	}
	#product #area01 ul li .name02 {
		font-size: 100%;
	}
}

/* product product_detail */
#product.product_detail #visual{ 
	background: url("../images/product/other/visual_clasx1.png")no-repeat center bottom/cover;
}
#product.product_detail #visual .txt_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#product.product_detail #visual .txt_box .img {
	max-width: 730px;
	padding: 0 0 0 30px;
}
#product.product_detail #visual .page_ttl {
	margin: 0 0 60px;
}
#product.product_detail #visual .sub {
	font-size: 110%;
	margin: 0 0 10px;
}
#product.product_detail #visual .sub_ttl_gra {
	margin: 0 0 30px;
}
#product.product_detail #visual .txt {
	margin: 0 0 20px;
	line-height: 1.5;
}
#product.product_detail #visual .blue_box {
	max-width: 350px;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
#product.product_detail #visual .blue_box li {
	background: #002E86;
	color: #fff;
	padding: 10px;
}
#product.product_detail #visual .blue_box li:not(:last-child) {
	margin: 0 10px 10px 0;
}
/* #product_link */
#product #product_link.area  {
	padding: 40px 20px 0;
}
#product #product_link .inner_m {
    max-width: 500px;
}
#product #product_link .inner_m.type02 {
	max-width: 860px;
}
#product #product_link ul {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
#product #product_link ul li {
    width: 29%;
    border-bottom: 1px solid #D3D3D3;
    padding: 20px 10px 20px 0;
}
#product #product_link ul li:not(:last-child) {
    margin: 0 6.5% 0 0;
}
#product #product_link ul li a {
	position: relative;
	display: block;
}
#product #product_link ul li a::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow02.png")no-repeat center/8px 10px;
	width: 8px;
	height: 10px;
	right: -10px;
	top: 50%;
	transform: translate(0,-50%) rotate(90deg);
}

/* */
#product.product_detail .inner_m h4 {
	font-size: 110%;
	font-weight: 700;
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 1px solid #D3D3D3;
	color: #002E86;
}

/* flow */
#product.product_detail #flow ul li {
	background: url("../images/product/other/flow01.png")no-repeat left top/99px 98px;
	padding: 15px 0 0 70px;
	min-height: 98px;
}
#product.product_detail #flow ul li:nth-child(2) {
	background: url("../images/product/other/flow02.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(3) {
	background: url("../images/product/other/flow03.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(4) {
	background: url("../images/product/other/flow04.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(5) {
	background: url("../images/product/other/flow05.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(6) {
	background: url("../images/product/other/flow06.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(7) {
	background: url("../images/product/other/flow07.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(8) {
	background: url("../images/product/other/flow08.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:nth-child(9) {
	background: url("../images/product/other/flow09.png")no-repeat left top/99px 98px;
}
#product.product_detail #flow ul li:not(:last-child) {
	margin: 0 0 70px;
}
#product.product_detail #flow ul li .ttl {
	font-weight: 700;
	margin: 0 0 20px;
}
@media screen and (max-width:768px) {
	#product.product_detail #visual{ 
		background: url("../images/product/other/visual_clasx1_sp.png")no-repeat center top/cover;
	}
	#product.product_detail #visual .txt_box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#product.product_detail #visual .txt_box .img {
		padding: 0 0 70px;
	}
	#product.product_detail #visual .txt {
		font-size: 95%;
	}
	#product.product_detail #visual .blue_box {
		font-size: 95%;
		margin: 0 0 50px;
	}
	/* flow */
	#product.product_detail #flow ul li:not(:last-child) {
		margin: 0 0 50px;
	}
}
/* product maintenance */
#product.maintenance #visual {
    background: url("../images/product/maintenance/visual.png")no-repeat center bottom/cover;
}
#product.maintenance #area01 {
	background: url("../images/common/bg01.png")no-repeat center top/contain;
	text-align: center;
}
#product.maintenance #area01 .ttl {
	font-size: 160%;
	font-weight: 700;
	margin: 0 0 20px;
	line-height: 1.4;
}
#product.maintenance .top_txt {
	line-height: 1.8;
}
#product.maintenance #regularly .top_txt {
	margin: 0 0 30px;
}
#product.maintenance #support .top_txt {
	margin: 0 0 80px;
}
@media screen and (max-width:768px) {
	#product.maintenance #visual {
		background: url("../images/product/maintenance/visual.png")no-repeat right 30% bottom/cover;
	}
	#product.maintenance #area01 {
		background: url("../images/common/bg01_sp.png")no-repeat top right/contain;
	}
	#product.maintenance #product_link.area {
		padding: 20px 20px 0;
	}
	#product.maintenance #product_link ul {
		align-items: flex-end;
		font-display: 85%;
	}
	#product.maintenance #product_link ul li:nth-child(2) a::after {
		top: 75%;
	}
}
/* product interview */
#product.interview #visual {
    background: url("../images/product/interview/visual.png")no-repeat center bottom/cover;
}
#product.interview #top_area {
	text-align: center;
	background: url("../images/common/bg01.png")no-repeat center top/contain;
}
#product.interview #top_area.area {
	padding: 60px 20px 50px;
}
#product.interview #top_area .ttl {
	font-size: 160%;
	font-weight: 700;
	margin: 0 0 20px;
	line-height: 1.4;
}
@media screen and (max-width:768px) {
	#product.interview #top_area {
		background: url("../images/common/bg01_sp.png")no-repeat top right/contain;
	}
	#product.interview #top_area.area {
		padding: 60px 20px 20px;
	}
}

/* product interview menu */
#product.interview #menu.area {
	padding: 50px 20px 80px;
}
#product.interview #menu ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content:space-between;
	max-width: 920px;
}
#product.interview #menu ul.second {
	margin: 40px 0 0 auto;
}
#product.interview #menu ul li {
	width: 48%;
	position: relative;
}
#product.interview #menu ul li .ttl {
	font-size: 140%;
	font-weight: 700;
	position: absolute;
	right: 0;
	top: 40px;
}
#product.interview #menu ul li .ttl .bg-wrap {
	width: 240px;
	height: 55px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: linear-gradient(to right,#348ac1,#134e85);
}
#product.interview #menu ul li .ttl .bg-wrap::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow01.png")no-repeat center/7px 10px;
	width: 7px;
	height: 10px;
	right: 10px;
	top: 50%;
	transform: translate(0,-50%);
}
#product.interview #menu ul li .ttl .white {
	padding: 0 0 0 20px;
	position: relative;
	
}
#product.interview #menu ul li .img {
	margin: 0 0 25px;
}
#product.interview #menu ul li .img img {
	max-width: 290px;
}
#product.interview #menu ul li .txt {
	padding: 0 0 0 20px;
	line-height: 1.5;
}
@media screen and (max-width:768px) {
	#product.interview #menu.area {
		padding: 40px 20px 80px;
	}
	#product.interview #menu ul {
		flex-flow: column;
		align-items: flex-start;
		justify-content:flex-start;
	}
	#product.interview #menu ul.second {
		margin: 60px 0 0 auto;
	}
	#product.interview #menu ul li {
		width: 100%;
	}
	#product.interview #menu ul li:not(:last-child) {
		margin: 0 0 60px;
	}
	#product.interview #menu ul li .ttl .white {
		padding: 0 0 0 20px;
		position: relative;
	}
	#product.interview #menu ul li .img {
		margin: 0 0 20px;
	}
	#product.interview #menu ul li .img img {
		max-width: 270px;
	}
	#product.interview #menu ul li .txt {
		padding: 0;
		text-align: center;
	}
}

/* product interview_in */
#product.interview_in #visual .sub {
	margin: 0 0 10px;
	font-size: 110%;
}
#product.interview_in #top_area .ttl {
	margin: 0;
}
#product.interview_in #article.area {
	padding: 30px 20px 80px;
}
#product.interview_in #article ul li:not(:last-child) {
	margin: 0 0 80px;
}
#product.interview_in #article ul li .txt {
	line-height: 2;
}
#product.interview_in #article ul li .top_area {
	margin: 0 0 30px;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
#product.interview_in #article ul li .top_area .ttl {
	position: absolute;
	top: 0;
	left: 0;
}
#product.interview_in #article ul li .top_area .ttl .bg-wrap {
	width: 630px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#product.interview_in #article ul li .top_area .ttl .white {
	position: relative;
	font-size: 140%;
	font-weight: 700;
}
#product.interview_in #article ul li .top_area .txt {
	padding: 140px 0 0;
	width: 48%;
}
#product.interview_in #article ul li .top_area .img {
	width: 49%;
	margin: 30px 0 0;
}
#product.interview_in #article ul li:nth-child(even) .top_area {
	flex-flow: row-reverse;
}
#product.interview_in #article ul li:nth-child(even) .top_area .ttl {
	position: absolute;
	top: 0;
	left: inherit;
	right: 0;
}
#product.interview_in #article ul li:nth-child(even) .top_area .txt {
	padding: 170px 0 0;
}
#product.interview_in #article ul li:nth-child(even) .top_area .img {
	margin: 50px 0 0;
}
@media screen and (max-width:768px) {
	#product.interview_in #visual.size_xs {
		padding: 0 0 90px;
	}
	#product.interview_in #top_area.area  {
		padding: 60px 20px 50px;
	}
	#product.interview_in #article.area {
		padding: 30px 0 80px;
	}
	#product.interview_in #article .txt {
		padding: 0 20px!important;
		box-sizing: border-box;
	}
	#product.interview_in #article ul li .top_area {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#product.interview_in #article ul li .top_area .ttl {
		position: inherit;
		top: inherit;
		left: inherit;
		margin: 0 0 25px;
	}
	#product.interview_in #article ul li .top_area .ttl .bg-wrap {
		width: 100%;
	}
	#product.interview_in #article ul li .top_area .ttl.ani_bg.scroll-animation.active .bg-wrap::before {
		display: none;
	}
	#product.interview_in #article ul li .top_area .ttl.ani_bg.scroll-animation.active {
		position: relative;
		width: 100%;
	}
	#product.interview_in #article ul li .top_area .ttl.ani_bg.scroll-animation.active::before {
		animation: bg 5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
		background: linear-gradient(to right, #348ac1 0%,#134e85 100%);
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transform-origin: left center;
	}
	#product.interview_in #article ul li .top_area .ttl .white {
		line-height: 1.2;
	}
	#product.interview_in #article ul li .top_area .txt {
		padding: 0;
		width: 100%;
	}
	#product.interview_in #article ul li .top_area .img {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}
	#product.interview_in #article ul li:nth-child(even) .top_area {
		flex-flow: column;
	}
	#product.interview_in #article ul li:nth-child(even) .top_area .ttl {
		position: inherit;
		top: inherit;
		right: inherit;
	}
	#product.interview_in #article ul li:nth-child(even) .top_area .txt {
		padding: 0;
	}
	#product.interview_in #article ul li:nth-child(even) .top_area .img {
		margin: 30px 0 0;
	}
}

/* news
-------------------------------------------------------*/
#news #news_area.area {
	padding: 60px 20px 100px;
}
#news .year:not(:last-child) {
	margin: 0 0 80px;
}
#news .year ul li a {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	padding: 0 10px;
}
#news .year ul li:nth-child(even) {
	background: #ECF0F4;
	padding: 20px 0;
	margin: 20px 0;
}
#news .year ul li .date {
	font-weight: 700;
	margin: 0 40px 0 0;
}
#news .year ul li .txt {
	line-height: 1;
}
@media screen and (max-width:768px) {
	#news .year ul li a {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	#news .year ul li .date {
		margin: 0 0 20px;
	}
	#news .year ul li .txt {
		line-height: 1.4;
	}
}

/* news post */
#news.post #post.area {
	padding: 60px 20px 80px;
}
#news.post #post .date {
	margin: 0 0 40px;
}
@media screen and (max-width:768px) {
}

/* policy
-------------------------------------------------------*/
#policy #policy_area.area {
	padding: 60px 20px 120px;
}
#policy #policy_area ul li.mb {
	margin: 0 0 80px;
}
#policy #policy_area ul li .top_txt {
	margin: 0 0 30px;
	line-height: 1.8;
}
@media screen and (max-width:768px) {
	#policy #policy_area ul li .ttl_ub {
		line-height: 1.4;
	}

}


/* contact
-------------------------------------------------------*/
#contact #contact_area.area {
	padding: 60px 20px 120px;
}
#contact #contact_area .top_txt {
	text-align: center;
	line-height: 1.8;
	margin: 0 0 80px;
}
#contact #contact_area .top_txt a {
	text-decoration: underline;
}
#contact #contact_area .box {
	margin: 0 0 80px;
}
#contact #contact_area dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start
}
#contact #contact_area dl:not(:last-child) {
	margin: 0 0 20px;
}
#contact #contact_area dl dt {
	background: #ECF0F4;
	line-height: 1.8;
	padding: 15px;
	font-weight: 700;
	min-width: 180px;
	width: 16%;
}
#contact #contact_area dl dd {
	width: 84%;
	padding: 15px 0 15px 20px;
	box-sizing: border-box;
}
#contact #contact_area dl dd input {
	width: 100%;
	height: 35px;
}
#contact #contact_area dl dd span {
	display: block;
	font-size: 80%;
	margin: 10px 0 0;
}
#contact #contact_area textarea {
	width: 100%;
	height: 300px;
}
#contact #contact_area .contact_btn {
}
#contact #contact_area button {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(to right,#237fb9,#134e85);
	width: 300px;
	height: 45px;
	border: none;
	border-radius: 50px;
	margin: 0 auto;
	box-sizing: border-box;
	font-size: 90%;
	color: #fff;
	cursor: pointer;
	transition: .3s;
	position: relative;
}
#contact #contact_area button:hover {
	opacity: 0.7;
}
#contact #contact_area button img {
	position: absolute;
	width: 7px;
	height: 10px;
	right: 15px;
}
@media screen and (max-width:768px) {
	#contact #contact_area .top_txt {
		line-height: 2;
	}
	#contact #contact_area dl {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start
	}
	#contact #contact_area dl:not(:last-child) {
		margin: 0 0 25px;
	}
	#contact #contact_area dl dt {
		line-height: 1;
		min-width: 100%;
		padding: 15px 10px;
		width: 100%;
		margin: 0 0 10px;
		box-sizing: border-box;
	}
	#contact #contact_area dl dd {
		width: 100%;
		padding: 0;
	}
	#contact #contact_area dl dd input {
		width: 100%;
	}
	#contact #contact_area textarea {
		height: 200px;
	}
}


/*タイマー式スライダー*/

#product_slider {
	margin-top: 50px;
}

#slidegallery {
	margin: 0 auto;
}
#slide {
	position: relative;
	width: 100%;
}
#slide img {
	position: absolute;
}
#paging {
	display: flex;
	flex-flow: row wrap;
	/*justify-content: center;*/
	list-style: none;
}
#paging li {
	/*flex: 1 1 auto;*/
	height: 6px;
	width: 60px;
	margin-bottom: 10px;
	margin-right: 10px;
	background: #ccc;
	cursor: pointer;
}
#paging li:last-child {
	border-right: none;
}
#paging li:hover {
	background: #ddd;
}
#paging li span {
	display: block;
	width: 0;
	height: 100%;
}
#paging li.active span {
	/*background: #ff0;*/
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2984be+0,124e85+100 */
background: #2984be; /* Old browsers */
background: -moz-linear-gradient(left, #2984be 0%, #124e85 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #2984be 0%,#124e85 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #2984be 0%,#124e85 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2984be', endColorstr='#124e85',GradientType=1 ); /* IE6-9 */
}


/* メーター付きスライダー　ここから
-------------------------------------------------------*/
/*.slide_txt01:after {
	display: block;
	content:"新構造の検体搬送システム IDS-CLAS X-1シリーズ";
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	background: rgba(0,0,0,0.7);
	color: #fff;
	z-index: 999;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}

.slide_inner {
	position: relative;
}

.slide_inner_txt {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	background: rgba(0,0,0,0.7);
	color: #fff;
	z-index: 999;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}*/
/* メーター付きスライダー　ここまで */

@media screen and (max-width:768px) {
	#product_slider {
		width: 340px;
		margin: 0 auto;
	}
	#slide {
		position: relative;
		width:100%;
	}
}

/* メーター付きスライダー　ここから
-------------------------------------------------------*/
#index #index_product #slide .slide_inner {
	position: relative;
	height: 100%;
}
#index #index_product #slide ul li {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(0,0,0,0.7);
	color: #fff;
	z-index: 80;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}
/* メーター付きスライダー　ここまで */

#index #index_product #slide ul li b {
	margin-left: 10px;
	font-size: 120%;
}

@media screen and (max-width:768px) {
	#index #index_product #slide ul li {
		line-height: 1.4;
	}
	#index #index_product #slide ul li b {
		display: block;
		margin-left: 0px;
		font-size: 120%;
	}

	#index #index_product #slide ul li {
		padding: 10px;
	}
	#index #index_product #product_slider {
		width: 100%;
		margin: 0 auto;
	}
}


.tel_txt01 {
	color: #fff;
	font-size: 230%;
	display: block;
	margin-bottom: 10px;
}

.tel_txt02 {
	color: #fff;
}

/* product モーダル
-------------------------------------------------------*/
#layer_board_area {
	text-align: center;
}
#layer_board_area .layer_board {
	display: none;
}
#layer_board_area .icon {
	text-align: center;
	margin: 0 0 25px;
}
#layer_board_area .icon img {
	max-width: 70px;
}
#layer_board_area .txt {
	margin: 0 0 40px;
}
#layer_board_area .mid_ttl {
	margin: 0 0 25px;
	font-weight: 700;
	font-size: 140%;
}
#layer_board_area .btn_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
#layer_board_area .btn_box li {
	margin: 0 20px;
}
#layer_board_area .btn_box a {
	width: 150px;
	height: 35px;
	border-radius: 50px;
	font-size: 95%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#layer_board_area .btn_box a:hover {
	opacity: 0.7;
}
#layer_board_area .btn_box .yes a {
	background: linear-gradient(to right,#237fb9,#134e85);
	color: #fff;
}
#layer_board_area .btn_box .no a {
	background: #D3D3D3;
}
@media screen and (max-width:768px) {
	#layer_board_area .btn_box li {
		margin: 0 10px;
	}
}
.scroll-animation .white {
	opacity: 0;
}

.scroll-animation.active .white {
	opacity: 1;
}

/* modal cookie */
#wrapper {
	position: relative;
}
#layer_board_area {
	position: absolute;
	text-align: center;
	background: rgba(0,0,0,0.8);
	z-index: 999;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
}
#layer_board_area .layer_board {
	display: block;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background: #fff;
	text-align: center;
	z-index: 2000;
	padding: 40px 30px;
	box-sizing: border-box;
	width: 80%;
	max-width: 700px;
}

/* 0729 */
#product.interview_in #article ul li .top_area.no_img .txt {
    width: 100%;
}

/* 0804 product visual video
-------------------------------------------------------*/
#product #visual .breadcrumb {
	position: relative;
	z-index: 5;
}
#product #visual .txt_box{
	position: relative;
	z-index: 6;
}
#product #visual {
    background: url("../images/product/visual_bg_2.png")no-repeat center bottom/cover;
	position: relative;
	overflow: hidden;
}
#product #visual .visual_video {
	text-align: right;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	margin-right: -60%;
	z-index: 1;
}
#product #visual .visual_video .mask {
	-webkit-clip-path: url(#svgPath);
	clip-path: url(#svgPath);
}
#product #visual .visual_video .shape {
	margin: 0 0 0 auto;
}
@media screen and (max-width:1600px) {
	#product #visual .visual_video {
		margin-right: -52%;
	}
}
@media screen and (max-width:1500px) {
	#product #visual .visual_video {
		margin-right: -49%;
	}
}
@media screen and (max-width:1300px) {
	#product #visual .visual_video {
		margin-right: -46%;
	}
}
@media screen and (max-width:768px) {
	#product #visual {
		background: url("../images/product/index/visual_bg_sp02.png")no-repeat right top/cover;
	}
	#product #visual .visual_video {
		display: none;
	}
}


/* youtube
-------------------------------------------------------*/
.movie {
	max-width: 800px;
	margin: 0 auto;
}
.movie-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin: 40px auto 0;
}
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* archive
-------------------------------------------------------*/
#archive.lower_page .bg01 {
	background: url("../images/common/visual_bg.png")no-repeat top center;
}
#archive #area01.area {
	padding: 60px 20px 10px;
}
#archive #area01 .ttl {
	text-align: center;
	font-weight: 700;
	font-size: 160%;
	line-height: 1.4;
	margin: 0 0 30px;
}
#archive #area01 .txt {
	line-height: 2;
	text-align: center;
}
#archive.lower_page #visual.size_xs {
	background: rgba(153, 175, 197, 0.2);
}
#archive #area02 {
	padding-top: 54px;
}
#archive #area02 ul.list01 {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 50px;
}
#archive #area02 ul.list01 li {
	width: 31%;
	padding: 0 0 20px;
	box-sizing: border-box;
	margin: 12px 3.5% 3.5% 0;
	box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.1);
}
#archive #area02 ul.list01 li:nth-child(3n) {
	margin: 12px 0 3.5%;
}
#archive #area02 ul.list01 li .box {
	background: #ECF0F4;
	padding: 20px;
	margin-bottom: 15px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
#archive #area02 ul.list01 li .box .thumb {
	width: auto;
	height: 140px;
	border: solid 1px #C6C6C6;
}
#archive #area02 ul.list01 li .ttl {
	font-weight: 700;
	font-size: 110%;
	line-height: 1.66;
	margin: 0 16px 4px;
}
#archive #area02 ul.list01 li .txt {
	line-height: 1.875;
	margin: 0 16px 23px;
}
#archive #area02 ul.list01 li .center {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
#archive #area02 ul.list02 li {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #D3D3D3;
}
#archive #area02 ul.list02 li:nth-child(n + 2) {
	padding: 25px 0 20px;
}
#archive #area02 ul.list02 li .txt {
	width: calc(100% - 230px);
	font-weight: 700;
	font-size: 110%;
	line-height: 1.66;
}
#archive #area02 ul.list03 {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 50px;
}
#archive #area02 ul.list03 li {
	letter-spacing: 0.075em;
	width: 31%;
	background: rgba(255, 255, 255, 0.8);
	box-sizing: border-box;
	padding: 32px 0 0;
	margin: 0 3.5% 3.5% 0;
	text-align: center;
	position: relative;
	box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.1);
}
#archive #area02 ul.list03 li:nth-child(3n) {
	margin: 0 0 3.5%;
}
#archive #area02 ul.list03 li .name01 {
	margin: 0 0 10px;
}
#archive #area02 ul.list03 li .name02 {
	font-size: 130%;
	font-weight: 500;
}
#archive .modal-content .name02 {
	font-size: 130%;
	font-weight: 500;
}
@media screen and (max-width:768px) {
	#archive #area02 ul.list01 {
		margin-left: 10px;
		margin-right: 10px;
	}
	#archive #area02 ul.list01 li {
		width: 100%;
		padding: 0 0 20px;
		box-sizing: border-box;
		margin: 12px 0 3.5% 0;
	}
	#archive #area02 ul.list01 li:nth-child(3n) {
		margin: 12px 0 3.5%;
	}
	#archive #area02 ul.list02 li .txt {
		width: 100%;
	}
	#archive #area02 ul.list02 li .btn {
		margin-left: auto;
		margin-top: 20px;
	}
	#archive #area02 ul.list03 {
		margin-left: 10px;
		margin-right: 10px;
	}
	#archive #area02 ul.list03 li {
		width: 100%;
		padding: 32px 0 20px;
		box-sizing: border-box;
		margin: 12px 0 3.5% 0;
	}
	#archive #area02 ul.list03 li:nth-child(3n) {
		margin: 12px 0 3.5%;
	}
	#archive #area02 ul.list03 li .txt {
		width: 100%;
	}
	#archive #area02 ul.list03 li .btn {
		margin-left: auto;
		margin-top: 20px;
	}
	#archive .modal-content .name01 {
		display: inline-block;
		padding-bottom: 6px;
	}
}

/* archive_link
-------------------------------------------------------*/
#archive_link.area {
	padding: 50px 20px 0;
}
#archive_link ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
#archive_link ul li {
	width: 18%;
}
#archive_link ul li:not(:last-child) {
	margin: 0 2% 0 0;
}
#archive_link ul li a {
	padding: 20px 0;
	border-bottom: 1px solid #D3D3D3;
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	transition: ease .3s;
	padding-left: 10px;
}
#archive_link ul li a span {
	position: relative;
	z-index: 3;
}
#archive_link ul li a:hover {
	opacity: 1;
	box-sizing: border-box;
}
#archive_link ul li a:hover span {
	color: #fff;
}
#archive_link ul li a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: linear-gradient(to right, #237fb9, #134e85);
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}
#archive_link ul li:hover a::before {
	transform-origin: left top;
	transform: scale(1, 1);
}
#archive_link ul li a.on::before {
	display: none;
}
#archive_link ul li a::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_arrow02.png")no-repeat center/7px 10px;
	width: 7px;
	height: 10px;
	right: 0;
	top: 50%;
	transition: .3s;
	transform: translate(0, -50%);
}
#archive_link ul li:hover a::after {
	background: url("../images/common/icon_arrow01.png")no-repeat center/7px 10px;
	z-index: 5;
	right: 10px;
}
#archive_link ul li .on {
	color: #fff;
	background: linear-gradient(to right, #237fb9, #134e85);
	font-weight: 700;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: none;
}
#archive_link ul li .on::after {
	display: none;
}
@media screen and (max-width:768px) {
	#archive_link.area {
		display: none;
	}
}


/* modal
-------------------------------------------------------*/
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	justify-content: center;
	align-items: center;
	z-index: 999;
}
.modal-content {
	background-color: #fff;
	padding: 30px 24px 40px;
	max-width: 848px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
}
.modal-content .movie-wrap {
	margin: 20px auto 0;
}
.modal-content .btn {
	display: flex;
	justify-content: center;
	margin: 40px auto 0;
}
.close-btn {
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	z-index: 999;
	background: linear-gradient(to right, #237fb9, #134e85);
	transition: .5s;
}
.close-btn:hover {
	opacity: 0.7;
}
.close-btn::before, .close-btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px;
	height: 30px;
	background: #fff;
	border-radius: 5px;
}
.close-btn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.close-btn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.openModal {
	cursor: pointer;
	position: relative;
	transition: .5s;
}
.openModal:hover {
	opacity: 0.7;
}
.openModal::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 127.5px;
	height: 88px;
	background: url("../images/archive/movie/ic01.png") no-repeat 50% 50% / contain;
}