/* common
---------------------------------------------------------- */
.case .pack {
	margin-bottom: 50px;
}
.case .pack:last-child {
	margin-bottom: 0;
}
.box_style01::after {
	content: '';
	display: block;
	clear: both;
}
.box_style01 .img_wrap {
	position: relative;
	max-width: 330px;
	width: 41%;
}
.box_style01 .img_wrap::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	border: 1px solid #004492;
}
.box_style01 .img_wrap.fl_l {
	margin-right: 40px;
}
.box_style01 .img_wrap.fl_r {
	margin-left: 40px;
}
.box_style01 .img_wrap img {
	position: relative;
}
.box_style01 .img_wrap video {
	position: relative;
	max-width: 330px;
	width: 100%;
}
.box_style01 .txt_wrap {
	overflow: hidden;
}
.box_style02 .img_wrap {
	max-width: 350px;
	width: 38%;
}
.box_style02 .img_wrap::before {
	left: unset;
	right: 10px;
}
.box_style02 .txt_wrap {
	padding-top: 60px;
}

/* breadcrumbs */
#breadcrumbs {
	margin-top: 10px;
	overflow: hidden;
}
#breadcrumbs li {
	position: relative;
	padding-right: 10px;
	margin-right: 10px;
	float: left;
	font-size: 12px;
	color: #888;
}
#breadcrumbs li::after {
	content: '/';
	position: absolute;
	top: 0;
	right: -3px;
	bottom: 0;
	margin: auto;
	color: #888;
}
#breadcrumbs li:last-child::after {
	display: none;
}
#breadcrumbs li:first-child a {
	padding-left: 20px;
	text-decoration: underline;
	background: url(../img/common/ico_home.png) no-repeat top 4px left / 12px;
}
#breadcrumbs li a {
	color: #888;
}
#breadcrumbs li a:hover {
	text-decoration: none;
}

/* table */
table {
	margin: auto;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	box-sizing: border-box;
	table-layout: fixed;
	border: 1px solid #ddd;
}
table th,
table td {
	padding: 10px;
	vertical-align: middle;
	width: 100%;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}
table th {
	font-weight: 600;
	text-align: left;
}
.tb_style01 td {
	padding: 25px;
}
.tb_style01 th {
	padding: 25px 35px;
	width: 280px;
	background-color: #f4f4f4;
}
.tb_style02 th {
	width: auto;
	text-align: center;
	border: 1px solid #ddd;
}
.tb_style02 td {
	padding: 20px;
	text-align: center;
	border: 1px solid #ddd;
}

/* inquiry */
#flow .inquiry_wrap {
	margin-top: 100px;
}
.inquiry_wrap {
	text-align: center;
}
.inquiry_wrap .tit_inquiry {
	font-size: 22px;
}
.inquiry_wrap .tel_wrap {
	font-size: 32px;
	font-weight: bold;
}
.inquiry_wrap .tel_wrap span {
	display: inline-block;
	margin-right: 10px;
	color: #004492;
}
.inquiry_wrap .tel_wrap a {
	color: #333;
}
.inquiry_wrap .contact_person {
	display: inline-block;
	padding: 5px;
	max-width: 320px;
	width: 100%;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	-ms-border-radius: 25px;
	-o-border-radius: 25px;
}

/* mvisual
---------------------------------------------------------- */
#mvisual {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 325px;
	background: url(../img/common/bg_mvisual.jpg) no-repeat center / cover;
}
#mvisual .mv_text {
	position: relative;
	padding: 30px 44px;
	margin-top: 80px;
	/* max-width: 270px;
	width: 100%; */
	border: 1px solid #fff;
	box-sizing: border-box;
}
#mvisual .mv_text::before,
#mvisual .mv_text::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 30px;
	height: 1px;
	background-color: #fff;
}
#mvisual .mv_text::before {
	left: -15px;
}
#mvisual .mv_text::after {
	right: -15px;
}
#mvisual .tit_mv span {
	display: block;
	color: #fff;
	text-align: center;
}
#mvisual .tit_mv .tit_jp {
	margin-bottom: 15px;
	font-size: 40px;
	line-height: 1;
}
#mvisual .tit_mv .tit_en {
	font-size: 15px;
	font-weight: 500;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* page products
---------------------------------------------------------- */
.page_products iframe {
	height: 550px;
	width: 100%;
}
.page_products .t_center {
	margin-bottom: 50px;
}
.tit_products {
	margin-bottom: 40px;
}
.tit_products li {
	position: relative;
	padding-left: 15px;
	font-size: 18px;
	font-weight: normal;
}
.tit_products li::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 0;
	height: 5px;
	width: 5px;
	background-color: #004492;
}
.product_wrap::after {
	content: '';
	display: block;
	clear: both;
}
.product_wrap .product_item .t_center {
	margin-bottom: 0;
}
.product_wrap .product_item {
	margin: 0 5.7% 5.7% 0;
	float: left;
	max-width: 285px;
	width: 29.534%;
}
.product_wrap .product_item:nth-child(3n) {
	margin-right: 0;
}
.product_wrap .product_item:nth-last-child(2),
.product_wrap .product_item:last-child {
	margin-bottom: 0;
}
.product_wrap .product_item .img_wrap {
	position: relative;
	margin-bottom: 35px;
}
.product_wrap .product_item .img_wrap::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	border: 1px solid #004492;
}
.product_wrap .product_item .img_wrap img {
	position: relative;
}
#machine .product_wrap .product_item,
#machine .product_wrap .product_item:nth-child(3n),
.page_products #sorter .product_wrap .product_item,
.page_products #sorter .product_wrap .product_item:nth-child(3n)  {
	margin: 0 6.7% 50px 0;
	max-width: 450px;
	width: 46.6%;
}
#machine .product_wrap .product_item:nth-child(2n),
.page_products #sorter .product_wrap .product_item:nth-child(2n) {
	margin-right: 0;
}
.page_products #feeder .tit_topic{
	line-height: 1.1;
    min-height: 44px;
    display: flex;
    align-items: center;
}
.page_products .case_dev{
	background: #f3f6f8;
	padding: 40px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row-reverse;
	gap: 40px;
	margin-bottom: 60px;
}
.page_products #development .case_dev:last-of-type{
	margin-bottom: 0;
}
.page_products .case_dev .img_wrap{
	min-width: 370px;
}
.page_products .case_dev .tit_dev{
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 30px;
}
.page_products .case_dev .pack p{
	font-size: 18px;
	margin-bottom: 20px;
}
.page_products .case_dev .list_style02{
	display: flex;
	flex-wrap: wrap;
	gap: 2%;
}
.page_products .case_dev .list_style02 li{
	background: #fff;
	padding: 5px 3px 5px 22px;
	width: 31%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	margin-bottom: 2%;
	font-size: 13px;
}
.page_products .case_dev .list_style02 li::before{
	content: "";
	position: absolute;
	left: 12px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 5px;
	height: 5px;
	background: #004492;
}
.page_products .case_dev .img_wrap img{
	margin-bottom: 20px;
}
.btn02{
	background: #63afce;
	color: #fff;
	text-align: center;
	padding: 14px 10px;
	display: block;
	width: 100%;
	box-sizing: border-box;
	max-width: 370px;
	border-radius: 50px;
	margin-bottom: 10px;
}
.btn02:hover{
	background: #417286;
}
.btn02 span{
	padding-left: 36px;
	background: url(../img/products/ico_play.png) no-repeat left center;
	background-size: 23px;
	font-weight: bold;
	display: inline-block;
	text-align: left;
	line-height: 1.4;
}
.page_products .case_dev .btn02:last-of-type{
	margin-bottom: 0;
}
.page_products .popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.page_products .popup-inner {
	background: #fff;
	padding: 30px;
	max-width: 920px;
	width: 80%;
	position: relative;
	box-sizing: border-box;
}

.page_products .popup .close {
	position: absolute;
	top: -1px;
	right: 7px;
	cursor: pointer;
	font-size: 20px;
}
.page_products .popup-inner video{
	max-width: 860px;
	width: 100%;
}
.page_products #dev04 .btn_list .btn02.btn_narrow{
	padding: 5px 10px;
}
.page_products.page_system #breadcrumbs li:nth-child(2),
.page_products.page_parts #breadcrumbs li:nth-child(2),
.page_history #breadcrumbs li:nth-child(2),
.page_summary #breadcrumbs li:nth-child(2),
.page_access #breadcrumbs li:nth-child(2){
	display: none;
}
.page_products.page_system #breadcrumbs li:nth-child(2)::after,
.page_products.page_parts #breadcrumbs li:nth-child(2)::after,
.page_history #breadcrumbs li:nth-child(2)::after,
.page_summary #breadcrumbs li:nth-child(2)::after,
.page_access #breadcrumbs li:nth-child(2)::after{
	display: none;
}

/* page_recruit
---------------------------------------------------------- */
#careers p {
	padding: 100px 0;
}

/* page_company
---------------------------------------------------------- */
#history .history_list li {
	display: flex;
	padding: 0 40px;
	overflow: hidden;
}
#history .history_list li:nth-child(even) {
	background-color: #f4f4f4;
}
#history .history_list li .date {
	position: relative;
	padding: 21px 0;
	max-width: 150px;
	width: 100%;
	background: url(../img/company/ico_history.png) no-repeat top 25px right / 21px;
	box-sizing: border-box;
}
#history .history_list li .date::before,
#history .history_list li .date::after {
	content: '';
	position: absolute;
	right: 10px;
	margin: auto;
	width: 1px;
	height: 100%;
	background-color: #004492;
}
#history .history_list li .date::before {
	top: -45px;
}
#history .history_list li .date::after {
	bottom: -45px;
}
#history .history_list li:first-child .date::before,
#history .history_list li:last-child .date::after {
	display: none;
}
#history .history_list li p {
	padding: 21px 0;
	padding-left: 40px;
	width: 100%;
	box-sizing: border-box;
}
#access .location_wrap {
	overflow: hidden;
}
#access .map {
	margin-left: 30px;
	float: right;
}
#access iframe {
	height: 500px;
	width: 600px;
}
#access .txt_wrap {
	overflow: hidden;
}
#access .btn_grp {
	display: flex;
	justify-content: center;
}
#access .btn_grp .btn {
	margin: 0;
}
#access .btn_grp .btn:first-child {
	margin-right: 30px;
}
#access .btn_grp .btn span {
	display: inline-block;
	padding-top: 2px;
	padding-left: 40px;
	background: url(../img/company/ico_pdf.png) no-repeat left center / 25px;
}
#access .btn_grp .btn:hover span {
	background-image: url(../img/company/ico_pdf_hov.png);
}
#access .btn_grp02 .btn:hover span {
	background-image: url(../img/common/ico_btn01.png);
}
#access .case .pack p {
	margin-top: 15px;
}
#access .btn_grp02 {
	display: block;
	overflow: hidden;
	margin: auto;
	max-width: 620px;
	width: 100%;
}
#access .btn_grp02 .btn {
	padding: 18px 20px;
	float: left;
	margin: 0 30px 30px 0;
	color: #333;
	text-align: left;
	border-color: #ddd;
	background-color: #fff;
}
#access .btn_grp02 .btn::before {
	display: none;
}
#access .btn_grp02 .btn:nth-child(2n) {
	margin-right: 0;
}
#access .btn_grp02 .btn span {
	padding-left: 35px;
	background: url(../img/common/ico_btn01.png) no-repeat left center / 14px
}
#access .btn_grp02 .btn:hover {
	border-color: #004492;
}
#greetings p {
	margin-bottom: 10px;
}
#greetings .f_bold {
	display: block;
	margin-bottom: 10px;
}
#greetings .director {
	border-top: 1px solid #ddd;
	margin-top: 40px;
}
#greetings .director::after {
	content: '';
	display: block;
	clear: both;
}
#greetings .director span {
	position: relative;
	padding-top: 40px;
	margin-top: -1px;
	float: right;
	font-weight: bold;
	border-top: 1px solid #004492;
	z-index: 9;
}

/* page_flow
---------------------------------------------------------- */
.page_flow .t_center {
	font-size: 18px;
}
.flow_wrap {
	margin-bottom: 50px;
}
.flow_wrap .flow_item {
	position: relative;
	padding-bottom: 20px;
	overflow: hidden;
}
.flow_wrap .flow_item:last-child {
	padding-bottom: 0;
}
.flow_wrap .flow_item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 44px;
	bottom: 0;
	width: 1px;
	background-color: #004492;
}
.flow_wrap .flow_item::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 30px;
	bottom: 0;
	margin: auto;
	height: 18px;
	width: 28px;
	background: url(../img/flow/ico_flow.png) no-repeat center / 28px;
}
.flow_wrap .flow_item:last-child::before,
.flow_wrap .flow_item:last-child::after {
	display: none;
}
.flow_wrap .flow_item .flow_step {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 30px;
	float: left;
	height: 88px;
	width: 88px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	text-transform: uppercase;
	background-color: #004492;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}
.flow_wrap .flow_item .flow_step::before {
	content: '';
	position: absolute;
	top: 4px;
	left: 4px;
	right: 4px;
	bottom: 4px;
	border: 1px solid #fff;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}
.flow_wrap .flow_item .flow_step span {
	position: relative;
}
.flow_wrap .flow_item .flow_content {
	padding: 20px;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
	overflow: hidden;
}
.flow_wrap .flow_item .flow_content .tit_flow {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 15px;
	font-size: 22px;
	font-weight: bold;
}
.flow_wrap .flow_item .flow_content .tit_flow::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 1px;
	background-color: #004492;
}
.flow_wrap .flow_item .flow_content .number_list {
	margin-bottom: 15px;
}
.flow_wrap .flow_item .flow_content .number_list li .num {
	display: inline-block;
	color: #004492;
	margin-right: 10px;
	font-weight: bold;
}
.flow_wrap .flow_item .flow_content .box_style01 .img_wrap::before {
	left: unset;
	right: 10px;
}

/* page_contact
---------------------------------------------------------- */
#contact .alt_bg01 {
	position: relative;
	padding: 100px;
	margin-bottom: 110px;
	box-sizing: border-box;
}
#contact .inquiry_wrap {
	margin-bottom: 40px;
}
#contact .t_center {
	margin-bottom: 20px;
}
.tb_contact {
	margin-bottom: 30px;
	border: 0;
}
.tb_contact .tb_header {
	padding: 30px 0 30px 5px;
	max-width: 260px;
	width: 100%;
	font-weight: bold;
}
.tb_contact .tb_items {
	display: flex;
	align-items: center;
	width: 100%;
	border-bottom: 1px solid #ddd;
}
.tb_contact .tb_header.req span {
	position: relative;
	display: inline-block;
	padding-right: 70px;
}
.tb_contact .tb_header.req span::before {
	content: '必須';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 22px;
	width: 50px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 1.5;
	box-sizing: border-box;
	background-color: #63afce;
}
.tb_contact .tb_items .tb_input {
	padding: 30px 0;
	overflow: hidden;
	width: 100%;
}
.tb_contact .tb_items .tb_input input,
.tb_contact .tb_items .tb_input textarea {
	padding: 15px;
	width: 100%;
	border: 1px solid #ddd;
	outline: 0;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
}
.tb_contact .tb_items .tb_input input.post_code {
	max-width: 200px;
}
.tb_contact .tb_items textarea {
	height: 200px;
}
.tb_contact .tb_items .tb_input input:focus,
.tb_contact .tb_items .tb_input textarea:focus {
	border-color: #004492;
}
.tb_contact .tb_items:last-child {
	flex-direction: column;
}
.tb_contact .tb_items:last-child .tb_header {
	padding-bottom: 0;
	max-width: none;
}
.send {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -110px;
	margin: auto;
	cursor: pointer;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-ms-transition: all .3s ease;
	-o-transition: all .3s ease;
}
#thanks .thanks_wrap {
	padding: 125px 30px;
	border: 1px solid #004492;
}
#thanks .thanks_wrap p {
	font-size: 20px;
}
.wpcf7-spinner {
	display: block !important;
	margin: 20px auto 0 !important;
}
.page_confirm .confirm_sec .inner:first-of-type{
	margin-bottom: 50px;
}
.page_confirm .confirm_sec .btn_wrap{
	position: absolute;
	bottom: -120px;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	display: flex;
	gap: 50px;
}
.page_confirm .confirm_sec .btn_wrap .btn{
	width: 100%;
}
.page_confirm .confirm_sec .btn_wrap br{
	display: none;
}
.page_confirm .confirm_sec .btn_wrap .btn_prev{
	margin: 0;
	background-color: #888888;
	border-color: #888888;
	cursor: pointer;
	transition: all ease .3s;
}
.page_confirm .confirm_sec .btn_wrap .btn_prev:hover{
	background-color: #fff;
	color: #888;
}
.page_confirm .confirm_sec .btn_wrap .send{
	bottom: 0;
	position: relative;
}
.page_confirm .confirm_sec .btn_wrap .wpcf7-spinner{
	display: none!important;
}
.page_confirm .tb_contact .tb_items:last-child{
	flex-direction: row;
}
.page_confirm .tb_contact .tb_items:last-child .tb_header{
	max-width: 260px;
	padding-bottom: 30px;
}
.page_contact .inquiry_wrap .tit_inquiry{
	color: #333;
}
.page_contact #contact .inquiry_wrap{
	background: none;
	padding: 0;
}
/* page_sitemap
---------------------------------------------------------- */
.sitemap_list {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}
.sitemap_list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-right: 4.6%;
	float: left;
	max-width: 460px;
	width: 47.7%;
	border-bottom: 1px solid #ddd;
}
.sitemap_list li:nth-child(2n) {
	margin-right: 0;
}
.sitemap_list li a {
	position: relative;
	display: block;
	padding: 25px 30px;
	width: 100%;
	color: #333;
	font-weight: bold;
	box-sizing: border-box;
}
.sitemap_list li a:hover {
	text-decoration: underline;
}
.sitemap_list li a::before {
	content: '';
	position: absolute;
	top: 39px;
	left: 10px;
	width: 10px;
	height: 1px;
	background-color: #004492;
}
.sitemap_list li .sub_links {
	padding: 0 25px 25px 35px;
	width: 100%;
	overflow: hidden;
}
.sitemap_list li .sub_links li {
	margin-bottom: 5px;
	float: left;
	width: 47%;
	border: 0;
}
.sitemap_list li .sub_links li::before {
	display: none;
}
.sitemap_list li .sub_links li:last-child {
	margin-bottom: 0;
}
.sitemap_list li .sub_links02 li {
	float: none;
	width: 100%;
}
.sitemap_list li .sub_links li a {
	padding: 0 0 0 20px;
	font-size: 14px;
	font-weight: normal;
	background: url(../img/common/ico_arrow02.png) no-repeat top 8px left / 11px;
}
.sitemap_list li .sub_links li a::before {
	display: none;
}
.sitemap_list li .sub_links li a:hover {
	text-decoration: underline;
}

/* page_404
---------------------------------------------------------- */
.error_case {
	padding: 100px;
	border: 1px solid #004492;
}
.sp_break{
	display: none;
}
@media screen and ( max-width: 980px ) {
	/* mvisual
	---------------------------------------------------------- */
	#mvisual {
		margin-top: 85px;
	}
	#mvisual .mv_text {
		margin-top: 0;
	}

	/* page_company
	---------------------------------------------------------- */
	#access .map {
		margin: 0 auto 20px;
		float: none;
	}
	#access iframe {
		height: 400px;
		width: 100%;
	}
	/* page_products
	---------------------------------------------------------- */
	.page_products .case_dev{
		padding: 25px;
		gap: 30px;
	}
	.page_products .tab_nav li a, 
	.page_products .tab_nav li:last-child a{
		height: 70px !important;
		font-size: 110%;
	}
}

@media screen and ( max-width: 768px ) {
	/* common
	---------------------------------------------------------- */
	.case .pack {
		margin-bottom: 35px;
	}
	.box_style01 {
		padding-bottom: 0;
	}
	.box_style01 .img_wrap {
		margin: 0 auto 40px;
		max-width: none;
		width: 100%;
	}
	.box_style01 .img_wrap video {
		max-width: none;
	}
	.box_style01 .img_wrap.fl_l {
		margin-right: 0;
	}
	.box_style01 .img_wrap.fl_r {
		margin-left: 0;
	}
	.box_style02 .img_wrap {
		max-width: none;
		width: 100%;
	}
	.box_style02 .txt_wrap {
		padding-top: 0;
	}

	/* table */
	.tb_style01 th,
	.tb_style01 td {
		padding: 20px;
	}
	.tb_style01 th {
		width: 230px;
	}
	.tb_wrap {
		position: relative;
		max-width: 768px;
		width: 100%;
		overflow-x: scroll;
	}
	.tb_wrap::before {
		content: '';
		position: absolute;
		top: 20px;
		right: 50px;
		height: 50px;
		width: 50px;
		background: url(../img/common/ico_tb_arrow.png) no-repeat center / 50px;
		animation: arrow-loop 1.8s ease infinite;
		-webkit-animation: arrow-loop 1.8s ease infinite;
	}
	@keyframes arrow-loop {
		0% {
			transform: translateX(0);
			-webkit-transform: translateX(0);
			-moz-transform: translateX(0);
			-ms-transform: translateX(0);
			-o-transform: translateX(0);
		}
		50% {
			transform: translateX(50px);
			-webkit-transform: translateX(50px);
			-moz-transform: translateX(50px);
			-ms-transform: translateX(50px);
			-o-transform: translateX(50px);
		}
		100% {
			transform: translateX(0);
			-webkit-transform: translateX(0);
			-moz-transform: translateX(0);
			-ms-transform: translateX(0);
			-o-transform: translateX(0);
		}
	}

	/* inquiry */
	#flow .inquiry_wrap {
		margin-top: 70px;
	}
	.inquiry_wrap .tit_inquiry {
		font-size: 120%;
	}
	.inquiry_wrap .tel_wrap {
		font-size: 170%;
	}
	.inquiry_wrap .contact_person {
		padding: 5px;
		max-width: 270px;
	}

	/* mvisual
	---------------------------------------------------------- */
	#mvisual {
		margin-top: 80px;
		height: 250px;
	}
	#mvisual .mv_text {
		padding: 20px 35px;
	}
	#mvisual .mv_text::before,
	#mvisual .mv_text::after {
		width: 20px;
	}
	#mvisual .mv_text::before {
		left: -10px;
	}
	#mvisual .mv_text::after {
		right: -10px;
	}
	#mvisual .tit_mv .tit_jp {
		font-size: 230%;
	}
	#mvisual .tit_mv .tit_en {
		font-size: 80%;
	}

	/* page_products
	---------------------------------------------------------- */
	.page_products iframe {
		height: 350px;
	}
	.page_products .t_center {
		margin-bottom: 30px;
	}
	.tit_products {
		margin-bottom: 30px;
	}
	.tit_products li {
		font-size: 105%;
	}
	.tit_products li::before {
		top: 13px;
		height: 3px;
		width: 3px;
	}
	.product_wrap .product_item,
	.page_products #sorter .product_wrap .product_item, 
	.page_products #sorter .product_wrap .product_item:nth-child(3n){
		max-width: none;
		width: 47%;
	}
	.product_wrap .product_item,
	.product_wrap .product_item:nth-child(3n),
	.product_wrap .product_item:nth-last-child(2),
	.page_products #sorter .product_wrap .product_item, 
	.page_products #sorter .product_wrap .product_item:nth-child(3n){
		margin: 0 6% 6% 0;
	}
	.product_wrap .product_item:nth-child(2n) {
		margin-right: 0;
	}
	.product_wrap .product_item .img_wrap {
		margin-bottom: 25px;
	}
	#industry .case .pack:last-child .box_style01 {
		display: flex;
		flex-wrap: wrap;
	}
	#industry .case .pack:last-child .box_style01 .img_wrap {
		order: 2;
	}
	#industry .case .pack:last-child .box_style01 .txt_wrap {
		order: 1;
		margin-bottom: 20px;
		width: 100%;
		overflow: visible;
	}
	#industry .case .pack:last-child .box_style01 .txt_wrap p {
		width: auto;
	}

	.move-loop {
		animation: move-loop 4s linear infinite;
		-webkit-animation: move-loop 4s linear infinite;
	}
	@keyframes move-loop {
		0% {
			transform: translateX(0%);
			-webkit-transform: translateX(0%);
			-moz-transform: translateX(0%);
			-ms-transform: translateX(0%);
			-o-transform: translateX(0%);
		}
		50% {
			transform: translateX(calc(90% - 20%));
			-webkit-transform: translateX(calc(90% - 20%));
			-moz-transform: translateX(calc(90% - 20%));
			-ms-transform: translateX(calc(90% - 20%));
			-o-transform: translateX(calc(90% - 20%));
		}
		100% {
			transform: translateX(0%);
			-webkit-transform: translateX(0%);
			-moz-transform: translateX(0%);
			-ms-transform: translateX(0%);
			-o-transform: translateX(0%);
		}
	}
	.page_products .case_dev{
		flex-wrap: wrap;
		margin-bottom: 25px;
	}
	.page_products .btn02{
		margin: 0 auto 10px;
	}
	.page_products .case_dev .tit_dev{
		font-size: 120%;
    	margin-bottom: 15px;
	}
	.page_products .case_dev .list_style02 li{
		width: 49%;
	}
	.page_products .case_dev .pack p{
		font-size: 110%;
	}
	.page_products .case_dev .img_wrap{
		min-width: 0;
	}
	/* page_recruit
	---------------------------------------------------------- */
	#careers p {
		padding: 80px 0;
	}

	/* page_company
	---------------------------------------------------------- */
	#history .history_list li {
		padding: 0 30px;
	}
	#history .history_list li .date {
		padding: 15px 0;
		max-width: 130px;
		background-size: 17px;
		background-position: top 22px right;
	}
	#history .history_list li .date::before,
	#history .history_list li .date::after {
		right: 8px;
	}
	#history .history_list li .date::before {
		top: -30px;
	}
	#history .history_list li .date::after {
		bottom: -35px;
	}
	#history .history_list li p {
		padding: 15px 0;
		padding-left: 30px;
	}
	#access .btn_grp02 {
		max-width: 550px;
	}
	#greetings p,
	#greetings .f_bold {
		margin-bottom: 5px;
	}
	#greetings .director {
		margin-top: 30px;
	}
	#greetings .director span {
		padding-top: 30px;
	}
	#access .map {
		margin: 20px auto 0;
        width: 100%;
	}
	#access .location_wrap{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	/* page_flow
	---------------------------------------------------------- */
	.page_flow .t_center {
		font-size: 110%;
	}
	.flow_wrap {
		margin-bottom: 40px;
	}
	.flow_wrap .flow_item::before {
		left: 35px;
	}
	.flow_wrap .flow_item::after {
		left: 23px;
		height: 16px;
		width: 24px;
		background-size: 24px;
	}
	.flow_wrap .flow_item .flow_step {
		margin-right: 20px;
		height: 70px;
		width: 70px;
	}
	.flow_wrap .flow_item .flow_step span {
		font-size: 70%;
	}
	.flow_wrap .flow_item .flow_content {
		padding: 15px;
	}
	.flow_wrap .flow_item .flow_content .tit_flow {
		padding-bottom: 5px;
		margin-bottom: 10px;
		font-size: 120%;
	}
	.flow_wrap .flow_item .flow_content .tit_flow::before {
		width: 30px;
	}
	.flow_wrap .flow_item .flow_content .number_list {
		margin-bottom: 10px;
	}
	.flow_wrap .flow_item .flow_content .box_style01 .img_wrap::before {
		top: 5px;
		right: 5px;
	}

	/* page_contact
	---------------------------------------------------------- */
	#contact .alt_bg01 {
		padding: 70px 40px;
	}
	#contact .inquiry_wrap {
		margin-bottom: 30px;
	}
	#contact .t_center {
		margin-bottom: 10px;
	}
	.tb_contact {
		margin-bottom: 20px;
	}
	.tb_contact .tb_header {
		padding: 20px 0;
		max-width: 220px;
	}
	.tb_contact .tb_header.req span {
		padding-right: 50px;
	}
	.tb_contact .tb_header.req span::before {
		height: 22px;
		width: 40px;
		font-size: 80%;
	}
	.tb_contact .tb_items .tb_input {
		padding: 20px 0;
	}
	.tb_contact .tb_items .tb_input input,
	.tb_contact .tb_items .tb_input textarea {
		padding: 10px;
	}
	.tb_contact .tb_items .tb_input input.post_code {
		max-width: 170px;
	}
	.tb_contact .tb_items textarea {
		height: 150px;
	}
	#thanks .thanks_wrap {
		padding: 90px 20px;
	}
	#thanks .thanks_wrap p {
		font-size: 115%;
	}

	/* page_sitemap
	---------------------------------------------------------- */
	.sitemap_list li a {
		padding: 15px 25px;
	}
	.sitemap_list li a::before {
		top: 29px;
		left: 5px;
		width: 10px;
		height: 1px;
	}
	.sitemap_list li .sub_links {
		padding: 0 20px 20px 25px;
	}
	.sitemap_list li .sub_links li a {
		padding-left: 15px;
		font-size: 80%;
		background-size: 9px;
	}

	/* page_404
	---------------------------------------------------------- */
	.error_case {
		padding: 80px;
	}
}

@media screen and ( max-width: 640px ) {
	/* common
	---------------------------------------------------------- */
	.case .pack {
		margin-bottom: 25px;
	}
	.box_style01 .img_wrap {
		margin: 0 auto 30px;
	}

	/* breadcrumbs */
	#breadcrumbs {
		margin-top: 5px;
	}
	#breadcrumbs li {
		padding-right: 10px;
		margin-right: 10px;
		font-size: 70%;
	}
	#breadcrumbs li:first-child a {
		padding-left: 15px;
		background-size: 10px;
	}

	/* table */
	.tb_style01 th,
	.tb_style01 td {
		display: block;
		padding: 15px;
	}
	.tb_style01 th {
		width: 100%;
	}
	.tb_style02 th,
	.tb_style02 td {
		display: table-cell;
	}
	.tb_wrap .tb_style01 th {
		width: 200px;
	}

	/* inquiry */
	#flow .inquiry_wrap {
		margin-top: 50px;
	}
	.inquiry_wrap .tit_inquiry {
		font-size: 115%;
	}
	.inquiry_wrap .tel_wrap {
		font-size: 150%;
	}
	.inquiry_wrap .contact_person {
		padding: 3px;
		max-width: 230px;
	}
	.page_confirm .confirm_sec .btn_wrap{
		gap: 10px;
		bottom: -80px;
	}

	/* mvisual
	---------------------------------------------------------- */
	#mvisual {
		height: 200px;
	}
	#mvisual .mv_text {
		padding: 15px 25px;
	}
	#mvisual .tit_mv .tit_jp {
		margin-bottom: 10px;
		font-size: 180%;
	}

	/* page_products
	---------------------------------------------------------- */
	.page_products .t_center {
		margin-bottom: 25px;
		text-align: left;
	}
	.tit_products {
		margin-bottom: 20px;
	}
	.tit_products li {
		font-size: 100%;
	}
	.product_wrap .product_item {
		margin: 0 auto 30px;
		width: 100%;
	}
	#machine .product_wrap .product_item,
	#machine .product_wrap .product_item:nth-child(3n),
	.page_products #sorter .product_wrap .product_item, 
	.page_products #sorter .product_wrap .product_item:nth-child(3n){
		margin: 0 0 25px 0;
		max-width: none;
		width: 100%;
	}
	.page_products #dev04 .btn_list .btn02.btn_narrow br{
		display: none;
	}
	.page_products #dev03 .btn02:last-of-type{
		padding: 5px 10px;
	}

	/* page_recruit
	---------------------------------------------------------- */
	#careers p {
		padding: 60px 0;
	}

	/* page_company
	---------------------------------------------------------- */
	#history .history_list li {
		padding: 0 20px;
	}
	#history .history_list li .date {
		padding: 10px 0;
		max-width: 120px;
		background-size: 17px;
		background-position: top 18px right;
	}
	#history .history_list li .date::before,
	#history .history_list li .date::after {
		right: 8px;
	}
	#history .history_list li p {
		padding: 10px 0;
		padding-left: 20px;
	}
	#access .btn_grp {
		display: block;
	}
	#access .btn_grp .btn,
	#access .btn_grp .btn:first-child {
		margin: 0 auto 20px;
	}
	#access .btn_grp .btn span {
		padding-left: 25px;
		background-size: 15px;
	}
	#access .btn_grp02 .btn,
	#access .btn_grp .btn, #access .btn_grp .btn:first-child {
		padding: 15px;
		margin: 0 20px 20px 0;
		max-width: none;
		width: 100%;
	}
	#greetings .director {
		margin-top: 20px;
	}
	#greetings .director span {
		padding-top: 20px;
	}

	/* page_flow
	---------------------------------------------------------- */
	.page_flow .t_center {
		font-size: 100%;
		text-align: left;
	}
	.flow_wrap {
		margin-bottom: 25px;
	}
	.flow_wrap .flow_item::before {
		left: 25px;
	}
	.flow_wrap .flow_item::after {
		top: 35%;
		left: 18px;
		height: 10px;
		width: 16px;
		background-size: 16px;
	}
	.flow_wrap .flow_item .flow_step {
		height: 50px;
		width: 50px;
	}
	.flow_wrap .flow_item .flow_step span {
		font-size: 50%;
	}
	.flow_wrap .flow_item .flow_content .tit_flow {
		font-size: 115%;
	}
	.flow_wrap .flow_item .flow_content .tit_flow::before {
		width: 20px;
	}
	.flow_wrap .flow_item .flow_content .number_list {
		margin-bottom: 5px;
	}

	/* page_contact
	---------------------------------------------------------- */
	#contact .inner {
		padding: 50px 30px;
	}
	#contact .inquiry_wrap {
		margin-bottom: 20px;
	}
	.tb_contact .tb_items {
		display: block;
	}
	.tb_contact .tb_header {
		padding: 15px 0 0;
		max-width: none;
	}
	.tb_contact .tb_header.req span {
		display: block;
		width: 100%;
		padding-right: 50px;
		box-sizing: border-box;
	}
	.tb_contact .tb_items .tb_input {
		padding: 15px 0;
	}
	.tb_contact .tb_items .tb_input input.post_code {
		max-width: 150px;
	}
	#thanks .thanks_wrap {
		padding: 70px 20px;
	}
	#thanks .thanks_wrap p {
		font-size: 110%;
	}
	#contact .t_center{
		text-align: left;
	}
	#contact .t_center br{
		display: none;
	}
	/* page_sitemap
	---------------------------------------------------------- */
	.sitemap_list li {
		margin: 0 auto;
		max-width: none;
		width: 100%;
	}

	/* page_404
	---------------------------------------------------------- */
	.error_case {
		padding: 50px;
	}

	
}

@media screen and ( max-width : 380px ) {
	@keyframes move-loop {
		0% {
			transform: translateX(0%);
			-webkit-transform: translateX(0%);
			-moz-transform: translateX(0%);
			-ms-transform: translateX(0%);
			-o-transform: translateX(0%);
		}
		50% {
			transform: translateX(calc(90% - 35%));
			-webkit-transform: translateX(calc(90% - 35%));
			-moz-transform: translateX(calc(90% - 35%));
			-ms-transform: translateX(calc(90% - 35%));
			-o-transform: translateX(calc(90% - 35%));
		}
		100% {
			transform: translateX(0%);
			-webkit-transform: translateX(0%);
			-moz-transform: translateX(0%);
			-ms-transform: translateX(0%);
			-o-transform: translateX(0%);
		}
	}
}