@charset "utf-8";


/* --------------------------------------------------
	Resetting default margin and padding
-------------------------------------------------- */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: 'KozGoPr6N', sans-serif;
	font-weight: 400;
	line-height: 1.5;
	font-size: 14px;
	color: #323232;
	-webkit-text-size-adjust: none;
	font-feature-settings: "palt";
}

body, div, pre, p, blockquote, dl, dt, dd, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td,input,a,textarea,select,span,section,header
{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
input,
textarea {
	margin: 0;
	font-size: 100%;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: 500;}
q:after, q:before
{ content:'';}
a, input
{ /* outline: none; */ }
abbr, acronym
{ border: 0;}




/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* !Layout
---------------------------------------------------------- */
html { overflow-y: scroll;}
body { }
@media print {
	html,
	html body { *zoom: 0.65;}
}



/* link
------------------------------------------------ */
a {
	color: #323232;
	text-decoration:none;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}

a:hover {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}


.op,
.op a,
.op img,
.op input {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
@media (max-width: 767px) {
.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=100)"; /* IE 8 */
}
}



/* !fs
------------------------------------------------ */
.visible-pc {
	display: block !important;
}
.visible-tab {
	display: none !important;
}
.visible-ts {
	display: none !important;
}
.visible-pc-only {
	display: block !important;
}


@media (max-width: 1024px) {
.visible-tab {
	display: block !important;
}
.visible-pc-only {
	display: none!important;
}
}
@media (max-width: 767px) {
.visible-pc {
	display: none !important;
}
.visible-ts {
	display: block !important;
}
}


/* !fonts
------------------------------------------------ */
.fwb {
	font-weight: 700;
}
.fwm {
	font-weight: 500;
}

.vat {
	vertical-align: top !important;
}
.vam {
	vertical-align: middle !important;
}
.tal {
	text-align: left !important;
}
.tac {
	text-align: center !important;
}
.tar {
	text-align: right !important;
}


/* !ff
------------------------------------------------ */
@font-face {
	font-family: 'KozGoPr6N';
	src: url('../fonts/KozGoPr6N-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'KozGoPr6N';
	src: url('../fonts/KozGoPr6N-Medium.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'KozGoPr6N';
	src: url('../fonts/KozGoPr6N-Bold.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'KozGoPr6N';
	src: url('../fonts/KozGoPr6N-Heavy.otf') format('opentype');
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: 'AGaramondPro';
	src: url('../fonts/AGaramondPro-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
}

.ff_agaramondpro {
	font-family: 'AGaramondPro', sans-serif;
}


/* !fc
------------------------------------------------ */
.fc_red {
	color: #e60012;
}
.fc_blue {
	color: #0071bc;
}


/* !anchor
------------------------------------------------ */
.anchor {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}
@media (max-width: 767px) {

}



/* wrapper
----------------------------------------------- */
#wrapper {
	overflow: hidden;
}

.inner {
	max-width: 1005px;
	margin: 0 auto;
	padding: 0 20px;
}



/* main
----------------------------------------------- */
.top_main {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
.top_main .main_intro {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: min(24px,2.33vw);
	letter-spacing: 0.06em;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
	position: relative;
}
.top_main .main_intro:before {
	position: absolute;
	content: "";
	width: 100vw;
	height: 100%;
	right: 100%;
	top: 0;
	z-index: 0;
}
.top_main .main_intro .intro_left {
	padding: 13px 60px 13px 0;
	clip-path: polygon(0 0,100% 0,calc(100% - 50px) 100%,0 100%);
}
.top_main .main_intro .intro_right {
	margin: 0 0 0 -10px;
}
.top_main .main_logo {
	margin: 50px 0 0;
	font-size: 0;
}
.top_main .main_logo img {
	width: min(572px,55.86vw);
}
.top_main .main_hd {
	color: #fff;
	white-space: nowrap;
	font-size: min(60px,5.86vw);
	font-weight: 700;
	line-height: 1.25;
	margin: 45px 0 0;
	text-shadow: 0 0 10px rgba(0,0,0,0.6), 0 0 10px rgba(0,0,0,0.6), 0 0 10px rgba(0,0,0,0.6);
}
.top_main .main_txt {
	color: #fff;
	margin: 30px 0 0;
	font-size: min(22px,2.15vw);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.63;
	text-shadow: 0 0 10px rgba(0,0,0,0.6), 0 0 10px rgba(0,0,0,0.6), 0 0 10px rgba(0,0,0,0.6);
}
.top_main .main_navi {
	margin: 35px 0 0;
	padding: 10px;
	position: relative;
}
.top_main .main_navi:before {
	position: absolute;
	content: "";
	background: #211e21;
	opacity: 0.9;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.top_main .main_navi .navi_inner {
	max-width: 1005px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	position: relative;
	z-index: 1;
}
.top_main .main_navi .navi_inner li {
	flex-grow: 1;
}
.top_main .main_navi .navi_inner li+li {
	border-left: 1px #e60012 solid;
}
.top_main .main_navi .navi_inner li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
	font-size: min(16px,1.77vw);
	letter-spacing: 0.06em;
	font-weight: 700;
	color: #fff;
	line-height: 1.19;
	padding: 3px 10px;
}
.top_main .main_navi .navi_inner li a:hover {
	opacity: 0.5;
}

@media (max-width: 767px) {
.top_main .main_intro {
	font-size: 12px;
	letter-spacing: 0.06em;
}
.top_main .main_intro .intro_left {
	padding: 5px 20px 5px 0;
	clip-path: polygon(0 0,100% 0,calc(100% - 20px) 100%,0 100%);
}
.top_main .main_intro .intro_right {
	margin: 0;
}
.top_main .main_logo {
	margin: 30px 0 0;
}
.top_main .main_logo img {
	width: 300px;
}
.top_main .main_hd {
	font-size: 26px;
	margin: 20px 0 0;
	white-space: normal;
}
.top_main .main_txt {
	margin: 20px 0 0;
	font-size: 14px;
	letter-spacing: 0.08em;
}
.top_main .main_navi {
	margin: 30px 0 0;
	padding: 10px 20px 20px;
}
.top_main .main_navi .navi_inner {
	flex-wrap: wrap;
	gap: 0 20px;
}
.top_main .main_navi .navi_inner li {
	width: calc((100% - 20px)/2);
	border-bottom: 1px #e60012 solid;
}
.top_main .main_navi .navi_inner li+li {
	border-left: none;
}
.top_main .main_navi .navi_inner li a {
	padding: 10px;
	font-size: 12px;
}
.top_main .main_navi .navi_inner li a:hover {
	opacity: 1;
}
}

.top_links {
	background: #e7e8e9;
	padding: 30px 0;
}
.top_links .links_inner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0 20px;
}
.top_links .links_tit {
	text-align: center;
	font-size: 20px;
	letter-spacing: 0.06em;
	margin: 0 0 8px;
}
.top_links .links_btn {
	display: flex;
	gap: 0 13px;
}
.top_links .links_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 45px;
	color: #fff;
	-webkit-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-moz-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-ms-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-o-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	-ms-border-radius: 30px;
	-o-border-radius: 30px;
	border-radius: 30px;
}
.top_links .links_btn .btn_txt {
	font-size: 21px;
	letter-spacing: 0.04em;
	font-weight: 700;
}
.top_links .links_btn .btn_txt .txt_lar {
	font-size: 28px;
	line-height: 1.3;
}
.top_links .links_solu {
	
}
.top_links .links_solu .links_tit {
	color: #e60012;
}
.top_links .links_solu .links_btn a {
	background: #e60012;
	width: 295px;
}
.top_links .links_solu .links_btn a:hover {
	background: #fff;
	color: #e60012;
}
.top_links .links_down {
	
}
.top_links .links_down .links_tit {
	color: #00a99d;
}
.top_links .links_down .links_btn a {
	background: #00a99d;
	width: 310px;
}
.top_links .links_down .links_btn a:hover {
	background: #fff;
	color: #00a99d;
}
@media (max-width: 1024px) {
.top_links .links_inner {
	flex-direction: column;
	align-items: center;
	gap: 30px;
}
}

@media (max-width: 767px) {
.top_links .links_tit {
	font-size: 16px;
}
.top_links .links_btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.top_links .links_btn a {
	height: 40px;
}
.top_links .links_btn .btn_txt {
	font-size: 16px;
}
.top_links .links_btn .btn_txt .txt_lar {
	font-size: 22px;
}
.top_links .links_solu {
	
}
.top_links .links_solu .links_btn a {
	width: 250px;
}
.top_links .links_solu .links_btn a:hover {
	background: #e60012;
	color: #fff;
}
.top_links .links_down .links_btn a {
	width: 250px;
}
.top_links .links_down .links_btn a:hover {
	background: #00a99d;
	color: #fff;
}
}

.top_challenge {
	padding: 70px 0 45px;
	position: relative;
	background: -webkit-linear-gradient(#fff 40%, #cbd1d5);
	background: -o-linear-gradient(#fff 40%, #cbd1d5);
	background: linear-gradient(#fff 40%, #cbd1d5);
}
.top_challenge .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.top_challenge .challenge_hd {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 28px;
	line-height: 1.2;
	margin: 0 0 15px;
	font-weight: 700;
}
.top_challenge .challenge_hd .hd_lar {
	font-size: 36px;
}
.top_challenge .challenge_det {
	text-align: center;
	margin: 0 0 25px;
	font-size: 16px;
	letter-spacing: 0.02em;
}
.top_challenge .challenge_box {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	position: relative;
}
.top_challenge .challenge_box .box_img {
	position: absolute;
	left: -190px;
	z-index: 0;
}
.top_challenge .challenge_box .challenge_item {
	width: 640px;
	max-width: 67%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 20px;
	position: relative;
	z-index: 1;
}
.top_challenge .challenge_box .challenge_item li {
	width: calc((100% - 20px)/2);
	background: #fff;
	padding: 20px 15px;
	box-shadow: 
		3px 3px 10px rgba(0,0,0,0.1),
		5px 5px 10px rgba(0,0,0,0.1);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.top_challenge .challenge_box .challenge_item .item_tit {
	color: #e60012;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.06em;
	margin: 0 0 5px;
}
.top_challenge .challenge_box .challenge_item .item_txt {
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 1.64;
}
.top_challenge .challenge_ot {
	background: linear-gradient(to top right, #242932, #0071bc);
	margin: 60px 0 0;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 30px 25px 30px 20px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
	position: relative;
}
.top_challenge .challenge_ot:before {
	position: absolute;
	content: "";
	background: url("../img/plus_manufacture.png") center center no-repeat;
	width: 100%;
	height: 36px;
	left: 0;
	bottom: calc(100% + 10px);
	z-index: 0;
}
.top_challenge .challenge_ot .ot_tit {
	font-size: 33px;
	line-height: 1.27;
	color: #e60012;
	font-weight: 800;
	letter-spacing: 0.06em;
	flex-shrink: 0;
	padding: 0 15px 0 0;
	background: url("../img/head_challenge.png") right center no-repeat;
}
.top_challenge .challenge_ot .ot_tit .tit_sml {
	font-size: 22px;
	display: block;
}
.top_challenge .challenge_ot .ot_txt {
	font-size: 14px;
	line-height: 1.86;
	color: #fff;
	letter-spacing: 0.06em;
}

@media (max-width: 1024px) {
.top_challenge .challenge_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}
.top_challenge .challenge_box .box_img {
	position: static;
}
.top_challenge .challenge_box .challenge_item {
	width: auto;
	max-width: none;
}
}
@media (max-width: 767px) {
.top_challenge {
	padding: 40px 0 30px;
}
.top_challenge .challenge_hd {
	font-size: 22px;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
.top_challenge .challenge_hd .hd_lar {
	font-size: 28px;
}
.top_challenge .challenge_det {
	margin: 0 0 20px;
	font-size: 14px;
	letter-spacing: 0.02em;
}
.top_challenge .challenge_box .challenge_item {
	gap: 20px 15px;
}
.top_challenge .challenge_box .challenge_item li {
	width: calc((100% - 15px)/2);
}
.top_challenge .challenge_box .challenge_item .item_tit {
	font-size: 16px;
}
.top_challenge .challenge_box .challenge_item .item_txt {
	font-size: 12px;
}
.top_challenge .challenge_ot {
	flex-direction: column;
	align-items: center;
	gap: 20px 0;
}
.top_challenge .challenge_ot .ot_tit {
	width: 100%;
	font-size: 26px;
	padding: 0;
	background: url("../img/head_challenge.png") right center no-repeat;
	background-size: 90px 90px;
}
.top_challenge .challenge_ot .ot_tit .tit_sml {
	font-size: 18px;
}
}

.top_hdl {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-align: center;
}
.top_det {
	text-align: center;
	margin: 5px 0 0;
	font-size: 16px;
	letter-spacing: 0.02em;
	line-height: 1.8;
}
@media (max-width: 767px) {
.top_hdl {
	font-size: 24px;
}
.top_det {
	font-size: 14px;
}
}

.top_solution {
	background: #fff;
	padding: 100px 0 90px;
	position: relative;
}
.top_solution .solution_box {
	display: flex;
	align-items: stretch;
	gap: 20px;
	margin: 30px 0 0;
}
.top_solution .solution_box .solution_inner {
	width: calc((100% - 20px)/2);
	border: 2px #e60012 solid;
	background: #fff;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
	border-radius: 16px;
}
.top_solution .solution_box .solution_cap {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.33;
	padding: 8px 10px;
}
.top_solution .solution_box .solution_cap .cap_sml {
	font-size: 14px;
}
.top_solution .solution_box .solution_tit {
	color: #fff;
	padding: 0 10px;
	height: 62px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 44px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
	background: -moz-linear-gradient(left, #751a1e, #e50012);
	background: -webkit-gradient(linear, left, from(#751a1e), to(#e50012));
	background: -webkit-linear-gradient(left, #751a1e, #e50012);
}
.top_solution .solution_box .solution_txt {
	padding: 15px 25px 15px 30px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.04em;
}
.top_solution .solution_box .solution_img img {
	width: 100%;
}
.top_solution .solution_box .solution_cont {
	padding: 20px 30px 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.top_solution .solution_box .solution_in {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6875;
	letter-spacing: 0.06em;
}
.top_solution .solution_box .solution_type {
	font-size: 16px;
	color: #0071bc;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 5px;
}
.top_solution .solution_box .solution_list li {
	text-indent: -1em;
	padding-left: 1em;
}
.top_solution .solution_box .solution_list .list_dot {
	font-size: 10px;
	color: #e60012;
}
.top_solution .solution_box .solution_exp {
	
}
.top_solution .solution_dx {
	margin: 40px 0 0;
}
.top_solution .solution_dx .dx_tit {
	text-align: center;
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.top_solution .solution_dx .dx_box {
	background: #0071bc;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 30px;
	padding: 0 20px;
	text-align: center;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	-ms-border-radius: 12px;
	-o-border-radius: 12px;
	border-radius: 12px;
	-webkit-box-shadow: inset 0 -10px 10px rgba(0,0,0,0.3);
	-moz-box-shadow: inset 0 -10px 10px rgba(0,0,0,0.3);
	-ms-box-shadow: inset 0 -10px 10px rgba(0,0,0,0.3);
	-o-box-shadow: inset 0 -10px 10px rgba(0,0,0,0.3);
	box-shadow: inset 0 -10px 10px rgba(0,0,0,0.3);
}
.top_solution .solution_dx .dx_box .dx_name {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 10px;
}
.top_solution .solution_dx .dx_box .dx_txt {
	font-size: 14px;
	line-height: 1.64;
	letter-spacing: 0.06em;
}
.top_solution .solution_dx .dx_box .dx_inner {
	padding: 35px 0 30px;
	background-position: center center;
	background-repeat: no-repeat;
}
.top_solution .solution_dx .dx_box .dx_01 {
	background-image: url("../img/dx_solution01.png");
}
.top_solution .solution_dx .dx_box .dx_02 {
	background-image: url("../img/dx_solution02.png");
}
.top_solution .solution_dx .dx_box .dx_03 {
	background-image: url("../img/dx_solution03.png");
}
@media (max-width: 1024px) {
.top_solution .solution_dx .dx_box {
	gap: 10px;
	padding: 0 10px;
}
.top_solution .solution_dx .dx_box .dx_name {
	font-size: 20px;
}
}
@media (max-width: 767px) {
.top_solution {
	padding: 50px 0;
}
.top_solution .solution_box {
	flex-direction: column;
	gap: 20px;
}
.top_solution .solution_box .solution_inner {
	width: 100%;
}
.top_solution .solution_box .solution_cap {
	font-size: 20px;
	letter-spacing: 0.06em;
	padding: 8px 10px;
}
.top_solution .solution_box .solution_tit {
	height: 50px;
	font-size: 36px;
}
.top_solution .solution_box .solution_txt {
	padding: 15px 20px;
	font-size: 14px;
}
.top_solution .solution_box .solution_cont {
	padding: 20px;
}
.top_solution .solution_box .solution_in {
	font-size: 14px;
}
.top_solution .solution_box .solution_type {
	font-size: 14px;
}
.top_solution .solution_box .solution_list li {
	text-indent: -1em;
	padding-left: 1em;
}
.top_solution .solution_dx {
	margin: 30px 0 0;
}
.top_solution .solution_dx .dx_tit {
	font-size: 18px;
}
.top_solution .solution_dx .dx_box {
	gap: 10px;
	flex-direction: column;
	align-items: center;
	padding: 20px;
}
.top_solution .solution_dx .dx_box .dx_name {
	font-size: 22px;
}
.top_solution .solution_dx .dx_box .dx_txt {
	font-size: 12px;
}
.top_solution .solution_dx .dx_box .dx_inner {
	padding: 20px 0;
}
.top_solution .solution_dx .dx_box .dx_01 {
	background-image: url("../img/dx_solution01.png");
}
.top_solution .solution_dx .dx_box .dx_02 {
	background-image: url("../img/dx_solution02.png");
}
.top_solution .solution_dx .dx_box .dx_03 {
	background-image: url("../img/dx_solution03.png");
}
}


.top_benefit {
	position: relative;
	padding: 20px 0 140px;
	background: -moz-linear-gradient(top, #fff, #d6dce2);
	background: -webkit-gradient(linear, top, from(#fff), to(#d6dce2));
	background: -webkit-linear-gradient(top, #fff, #d6dce2);
}
.top_benefit .benefit_box {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 30px 20px;
	margin: 30px 0 0;
}
.top_benefit .benefit_box li {
	width: calc((100% - 40px)/3);
	background: rgba(255,255,255,0.53);
	padding: 15px 0 25px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	box-shadow: 
		3px 3px 10px rgba(0,0,0,0.1),
		5px 5px 10px rgba(0,0,0,0.1);
}
.top_benefit .benefit_box .benefit_tit {
	text-align: center;
	padding: 0 10px;
	margin: 0 0 10px;
	line-height: 1.3;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.top_benefit .benefit_box .benefit_cont {
	display: flex;
	align-items: flex-start;
}
.top_benefit .benefit_box .benefit_ico {
	width: 110px;
	text-align: center;
	flex-shrink: 0;
	padding: 5px 0 0;
}
.top_benefit .benefit_box .benefit_txt {
	font-size: 14px;
	line-height: 1.64;
	padding: 0 15px 0 0;
}
@media (max-width: 767px) {
.top_benefit {
	padding: 20px 0 70px;
}
.top_benefit .benefit_box {
	gap: 30px 15px;
}
.top_benefit .benefit_box li {
	width: calc((100% - 15px)/2);
	padding: 15px 0 25px;
}
.top_benefit .benefit_box .benefit_tit {
	padding: 0 5px;
	font-size: 16px;
}
.top_benefit .benefit_box .benefit_cont {
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.top_benefit .benefit_box .benefit_ico {
	width: auto;
	padding: 0;
}
.top_benefit .benefit_box .benefit_txt {
	padding: 0 10px;
	font-size: 12px;
	width: 100%;
}
}

.top_strength_case {
	background: url("../img/bg_strength.png") center 90px no-repeat;
	background-size: 100% auto;
}
@media (max-width: 1400px) {
.top_strength_case {
	background: url("../img/bg_strength.png") center 60px no-repeat;
	background-size: auto;
}
}


.top_strength {
	position: relative;
}
.top_strength .strength_hd {
	text-align: center;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 35px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.06em;
	background: -moz-linear-gradient(left, #751a1e, #e60012);
	background: -webkit-gradient(linear, left, from(#751a1e), to(#e60012));
	background: -webkit-linear-gradient(left, #751a1e, #e60012);
}
.top_strength .strength_box {
	background-size: cover;
	padding: 10px 0 135px;
	position: relative;
}
.top_strength .top_det {
}
.top_strength .strength_logo {
	text-align: center;
	margin: 30px 0 0;
}
.top_strength .strength_ul {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 25px 0;
	margin: 45px 0 0;
}
.top_strength .strength_ul li {
	width: 33.33333%;
	border-left: 3px #e60012 solid;
	padding: 3px 25px 30px 20px;
}
.top_strength .strength_ul .box_tit {
	font-size: 20px;
	margin: 0 0 10px;
	color: #e60012;
	font-weight: 700;
	letter-spacing: 0.06em;
	white-space: nowrap;
}
.top_strength .strength_ul .box_txt {
	font-size: 14px;
	letter-spacing: 0.06em;
}
.top_strength .strength_flexible {
	margin: 50px 0 0;
}
.top_strength .strength_flexible .flexible_tit {
	text-align: center;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 20px;
}
.top_strength .strength_flexible .flexible_step {
	text-align: center;
	width: 977px;
}
.top_strength .strength_flexible .flexible_note {
	text-align: center;
	margin: 15px 0 0;
	font-size: 16px;
	font-weight: 700;
	color: #e60012;
	letter-spacing: 0.06em;
}
@media (max-width: 1024px) {
.top_strength .strength_ul .box_tit {
	white-space: normal;
}
.top_strength .strength_flexible .flexible_step {
	width: auto;
}
}

@media (max-width: 767px) {
.top_strength .strength_hd {
	height: 40px;
	font-size: 24px;
}
.top_strength .strength_box {
	background: url("../img/bg_strength.png") center 20px no-repeat;
	background-size: cover;
	padding: 15px 0 60px;
}
.top_strength .strength_logo {
	margin: 20px 0 0;
}
.top_strength .strength_ul {
	margin: 30px 0 0;
}
.top_strength .strength_ul li {
	width: 50%;
	border-left: 2px #e60012 solid;
	padding: 5px 10px 20px 10px;
}
.top_strength .strength_ul .box_tit {
	font-size: 16px;
}
.top_strength .strength_ul .box_txt {
	font-size: 12px;
}
.top_strength .strength_flexible {
	margin: 30px 0 0;
}
.top_strength .strength_flexible .flexible_tit {
	font-size: 16px;
	margin: 0 0 20px;
}
.top_strength .strength_flexible .flexible_note {
	font-size: 14px;
}
.top_strength .strength_flexible .flexible_step_scroll {
	overflow-x: scroll;
}
.top_strength .strength_flexible .flexible_step {
	width: 700px;
}
}

.top_case {
	position: relative;
}
.top_case .case_box {
	position: relative;
	margin: 25px 0 0;
	display: flex;
	align-items: stretch;
}
.top_case .case_box .case_left {
	width: 51%;
	padding: 20px 30px 15px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	background: #f2f2f2;
}
.top_case .case_box .case_mess {
	width: 460px;
	max-width: 100%;
}
.top_case .case_box .case_name {
	display: flex;
	align-items: center;
	gap: 0 10px;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.57;
	margin: 0 0 10px;
}
.top_case .case_box .case_name img {
	flex-shrink: 0;
	width: 49px;
}
.top_case .case_box .case_list {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	width: 100%;
}
.top_case .case_box .case_list li {
	background: #fff;
	border-left: 3px #e60012 solid;
	display: flex;
	align-items: flex-start;
	padding: 5px 0;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.06em;
}
.top_case .case_box .case_list .list_tit {
	width: 65px;
	flex-shrink: 0;
	color: #e60012;
	padding: 0 5px;
	font-weight: 700;
}
.top_case .case_box .case_list .list_txt {
	font-weight: 700;
	padding: 0 5px;
}
.top_case .case_box .case_right {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 49%;
	display: flex;
	align-items: center;
}
.top_case .case_box .case_voice {
	color: #fff;
	width: 505px;
	max-width: 100%;
	padding: 20px 25px 20px 20px;
}
.top_case .case_box .case_voice .voice_tit {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 20px;
}
.top_case .case_box .case_voice .voice_txt {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 0 0 0 20px;
	line-height: 2;
	position: relative;
}
.top_case .case_box .case_voice .voice_txt .txt_left {
	position: absolute;
	left: 0;
	top: 3px;
	line-height: 1;
	font-size: 40px;
	font-weight: 400;
}
.top_case .case_box .case_voice .voice_txt .txt_right {
	line-height: 1;
	font-size: 40px;
	font-weight: 400;
	display: inline-block;
	vertical-align: bottom;
	transform: translateY(50%);
}
.top_case .case_box .case_voice .voice_note {
	margin: 20px 0 0;
	text-align: right;
	font-size: 16px;
	letter-spacing: 0.06em;
}
@media (max-width: 767px) {
.top_case .case_box {
	margin: 30px 0 0;
	display: block;
}
.top_case .case_box .case_left {
	width: auto;;
	padding: 30px 20px;
	display: block;
}
.top_case .case_box .case_mess {
	width: auto;
}
.top_case .case_box .case_name {
	font-size: 18px;
}
.top_case .case_box .case_list li {
	border-left: 2px #e60012 solid;
	font-size: 14px;
}
.top_case .case_box .case_list .list_tit {
	width: 60px;
}
.top_case .case_box .case_right {
	width: auto;
}
.top_case .case_box .case_voice {
	width: auto;
	padding: 30px 20px;
}
.top_case .case_box .case_voice .voice_tit {
	font-size: 16px;
}
.top_case .case_box .case_voice .voice_txt {
	font-size: 16px;
}
.top_case .case_box .case_voice .voice_txt .txt_left {
	font-size: 30px;
}
.top_case .case_box .case_voice .voice_txt .txt_right {
	font-size: 30px;
}
.top_case .case_box .case_voice .voice_note {
	font-size: 14px;
}
}

.top_contact {
	position: relative;
	background: #fff;
	padding: 120px 0 45px;
}
.top_contact .contact_box {
	display: flex;
	align-items: stretch;
	gap: 20px;
	margin: 15px 0 0;
}
.top_contact .contact_box .box_inner {
	width: calc((100% - 20px)/2);
	background: #f2f2f2;
	padding: 15px 35px 20px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}
.top_contact .contact_box .contact_tit {
	text-align: center;
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.top_contact .contact_box .contact_cont {
	
}
.top_contact .contact_box .down_txt {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.top_contact .contact_box .down_txt .txt_in {
	font-size: 16px;
	line-height: 1.375;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.top_contact .contact_box .cta_txt {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.top_contact .contact_box .cta_txt li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.top_contact .contact_box .cta_txt .cta_ico {
	width: 40px;
	text-align: center;
	flex-shrink: 0;
}
.top_contact .contact_box .cta_btn {
	margin: 15px 0 0;
	display: flex;
	justify-content: center;
}
.top_contact .contact_box .cta_btn a {
	width: 296px;
	height: 34px;
	background: #00a99d;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	-ms-border-radius: 30px;
	-o-border-radius: 30px;
	border-radius: 30px;
	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-ms-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	-o-box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}
.top_contact .contact_box .cta_btn a:hover {
	background: #fff;
	color: #00a99d;
}

.top_contact .contact_note {
	text-align: center;
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.77;
	letter-spacing: 0.08em;
}


@media (max-width: 767px) {
.top_contact {
	padding: 60px 0 30px;
}
.top_contact .contact_box {
	flex-direction: column;
	gap: 30px;
}
.top_contact .contact_box .box_inner {
	width: 100%;
	padding: 20px;
}
.top_contact .contact_box .contact_tit {
	font-size: 16px;
}
.top_contact .contact_box .down_txt {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
.top_contact .contact_box .down_txt .txt_in {
	font-size: 14px;
}
.top_contact .contact_box .cta_txt li {
	font-size: 14px;
}
.top_contact .contact_box .cta_btn {
	margin: 20px 0 0;
}
.top_contact .contact_box .cta_btn a {
	width: 260px;
	height: 34px;
	font-size: 14px;
}
.top_contact .contact_box .cta_btn a:hover {
	background: #00a99d;
	color: #fff;
}
.top_contact .contact_note {
	font-size: 12px;
}
}




/* manufacture
----------------------------------------------- */
.manufacture {
	overflow: hidden;
}
.manufacture .top_main {
	background-image: url("../img/main_manufacture.jpg");
}
.manufacture .intro_left {
	background: #e60012;
}
.manufacture .top_main .main_intro:before {
	background: #e60012;
}
.manufacture .top_challenge .challenge_box .box_img {
	bottom: -100px;
	width: 608px;
	max-width: 100%;
}
.manufacture .top_case .case_box .case_right {
	background-image: url("../img/bg_case_manufacture.jpg");
}

@media (max-width: 1024px) {

}
@media (max-width: 767px) {

}



/* pharma
----------------------------------------------- */
.pharma {
	overflow: hidden;
}
.pharma .top_main {
	background-image: url("../img/main_pharma.jpg");
}
.pharma .intro_left {
	background: #ff5722;
}
.pharma .top_main .main_intro:before {
	background: #ff5722;
}
.pharma .top_challenge .challenge_box .box_img {
	bottom: -100px;
	width: 605px;
	max-width: 100%;
}
.pharma .top_case .case_box .case_right {
	background-image: url("../img/bg_case_pharma.jpg");
}

@media (max-width: 1024px) {

}
@media (max-width: 767px) {

}

/* 
@media (min-width: 426px) {
.contents {
	padding: 0 0 0 200px;
}
} */


