@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

.hidden_s { display: none !important;}

/* margin */
.mb30-15 { margin-bottom: 15px !important;}
.mb40-20 { margin-bottom: 20px !important;}
.mb60-30, .mb50-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb160-80 { margin-bottom: 80px !important;}

/* ------------------------
	ヘッダー
------------------------ */

.header { position: static !important; display: block; border-bottom: none !important;}
.header .top_logo { display: none !important;}
.header .normal_logo { display: inline !important;}
.header h1 { padding-left: 10px; line-height: 50px; width: auto !important;}
.header h1 img { width: auto; height: 36px; vertical-align: middle;}

.clone-nav { display: none;}

.lang_btn dt { position: absolute; top: 7px; right: 60px; border: solid 1px #C7C7C7; border-radius: 5px; line-height: 34px; width: 50px; text-align: center; padding-right: 10px; cursor: pointer;}
.lang_btn dt:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 3.5px 0 3.5px;
	border-color: #000000 transparent transparent transparent;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
}
.lang_btn dd { position: absolute; left: 20px; right: 20px; top: 58px; border-radius: 5px; overflow: hidden; background: #fff; display: none; z-index: 9999;}
.lang_btn dd a, .lang_btn dd span { display: block; padding: 8px 20px; color: #4B5158 !important;}
.lang_btn dd span, .lang_btn dd a:hover { background: #E2E2E2;}


/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #0055AA;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: #eaeaea;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
}
.sp-navi .sp-navi-inner .navi-main li:first-child { border-top: 1px solid #ddd;}
.sp-navi .navi-main li { position: relative;}
.sp-navi .navi-main li > a { display: block; text-decoration: none; border-bottom: dashed 1px #ccc; padding: 7px 5px 7px 40px; font-size: 1.05em; position: relative;}
.sp-navi .navi-main li:last-child > a { border: none;}
.sp-navi .navi-main > li > a:before { content: ""; position: absolute; left: 15px; top: 50%; margin-top: -1.5px; width: 10px; height: 3px; background-color: #0055AA;}

.sp-navi .logo { padding: 0px 60px 0px 10px; line-height: 50px;}
.sp-navi .logo img { max-height: 36px; width: auto; vertical-align: middle;}

.sp-navi .footer .list01 { padding: 30px 0px;}
.footer .bg01 .list01 { font-size: min(2.3vw,1em);}
.footer .bg01 .list01 li { width: 50%; margin: 0px !important; padding: 0px 5% !important;}
.footer .bg01 .more_btn a { min-width: initial;}

@media only screen and (max-width: 480px) {
	.footer .bg01 .list01 { display: block; padding-left: 5%; padding-right: 5%; font-size: 1em;}
	.footer .bg01 .list01 li { width: auto; padding: 0px !important;}
	.footer .bg01 .list01 li:first-child { border-right: none; border-bottom: solid 1px #fff; padding-bottom: 20px !important; margin-bottom: 20px !important;}
}


/* ------------------------
	フッター
------------------------ */

.footer .bg01 .container02 { display: block; padding: 30px 0px;}
.footer .bg01 .ttl_box h2 { margin: -10px 0px 20px;}

.footer .map iframe { height: 230px;}

.footer .bg02 { padding: 30px 0px 15px;}
.footer .bg02 .container02 { display: block;}
.footer .bg02 .copy { position: static; margin-top: 20px;}
.footer .bg02 h2 img { width: auto; max-height: 55px;}

.footer_nav { justify-content: center;}
.footer_nav ul { margin: 0px 1.5em;}
.footer_nav li { margin-bottom: 10px;}

@media only screen and (max-width: 640px) {
	.footer_nav { justify-content: space-between; flex-wrap: wrap; margin-right: -1.5em;}
	.footer_nav ul { margin: 0px 1.5em 0px 0px;}
}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.video_wrap video { width: 150%; margin-left: -25%;}

.video_wrap .text_box { top: 50%; padding: 0px 3%; font-size: min(2.5vw,1em);}
.video_wrap .text_box .box01 { flex-wrap: wrap; justify-content: center; flex-flow: column;}
.video_wrap .box01 figure { width: 15em; margin: 0px auto 2em;}
.video_wrap .box01 p { margin: 0px; text-align: center;}

.top_bnr { display: flex; flex-wrap: wrap; font-size: min(2.5vw,1em); line-height: 1.2;}
.top_bnr > div { width: 50%;}
.top_bnr .mb15 { margin-bottom: 0.5em !important;}

.top_sec01 { padding-top: 30%;}
.top_sec01 .box01 { padding: 30px 10px 0px 0px; margin: 0px -5px;}
.top_sec01 .box01 .text01 { position: static; width: 30%; margin: 0px 5px 25px auto;}
.top_sec01 .box01 .text02 { width: 60px; padding: 0px 20px 0px 15px;}
.top_sec01 .box01 .box_inner { padding-left: 70px;}
.top_sec01 .box01 .fo16 { font-size: min(4.5vw,1.45em) !important; margin-right: -1em;}

.top_sec01 section { display: block;}
.top_sec01 section > figure { width: auto; margin: 25px -15px 0px;}
.top_sec01 section .box_inner { width: auto;}
.top_sec01 .num img { width: auto; height: 3.5em; margin-bottom: -15px;}
.top_sec01 section .fo16 { font-size: min(6vw,1.6em) !important;}

.top_sec01 .box02 .box_inner { padding: 25px !important; width: auto !important}
.top_sec01 .box03 { display: block;}
.top_sec01 .box03 h3 { writing-mode: horizontal-tb; font-size: 1.6em;}
.top_sec01 .box03 .box_inner02 { width: auto !important; margin: 10px 0px;}

.top_sec02 .box01 .text02 { width: 80px;}
.top_sec02 .box01 .box_inner { padding-left: 90px;}

.top_sec02 .box02 .border { display: block;}
.top_sec02 .box02 .border > figure { width: auto; margin-left: 1px;}

.top_btn a { background-size: 2em auto; background-position: calc(100% - 1em) center; height: 6em; padding: 0px 3.5em 0px 1.5em; max-width: 450px; font-size: min(3.4vw,1em);}
.top_btn a figure { width: 11em;}

.top_news { display: block;}
.top_news .ttl_box, .top_news .box_inner { width: auto;}
.top_news .ttl_box { display: flex; justify-content: space-between; align-items: center;}
.top_news .en_ttl img { width: 110px; margin-bottom: -15px; vertical-align: bottom;}
.top_news .more_btn { max-width: 180px; min-width: 150px; margin-top: -20px;}

.top_archive a { padding-bottom: 20px; margin-bottom: 20px;}

@media only screen and (max-width: 640px) {
	.top_sec01 .box01 .list01 { display: block; margin-left: -60px; padding: 0px 5%;}
	.top_sec01 .box01 .list01 li:first-child { margin: 0px 0px 6%;}
}

@media only screen and (max-width: 480px) {
	.top_sec01 .box01 .fo16 .show_sp { display: inline;}
}

@media only screen and (max-width: 400px) {
	.top_bnr > div { width: 100%; font-size: min(5vw,1.6em);}
}


/* ------------------------
	コンテンツ
------------------------ */

.more_btn a { background-position: calc(100% - 1em) center; background-size: 2em auto; padding: 1.3em 3.5em;}

.pagettl { height: auto; padding: 50px 0px 100px;}
.pagettl h2.mb15 { margin-bottom: 5px !important;}
.pagettl:before, .pagettl:after { height: 25px; bottom: 40px;}
.pagettl:after { bottom: 15px;}

.pagettl h2 span { font-size: 1em; margin-top: 0px; letter-spacing: 0; }

.pagettl02 { padding-left: 1em;}
.pagettl02 h2 { font-size: 1.8em;}

.heading_middle { font-size: min(7vw,1.7em);}

.heading_large { font-size: 2em;}

.page_wrap { margin-top: -70px;}
.page_wrap > .back_white { padding: 50px 15px 1px;}

.page_sidebar { display: block;}
.page_sidebar main { width: auto;}

.link_pad { margin-top: -30px; padding-top: 30px;}

.table_bordered th, .table_bordered td { padding: 1em 0px;}
.table_bordered th { width: 10.5em; padding-left: 0.5em;}

.table_back th, .table_back td { padding: 1em;}

@media only screen and (max-width: 640px) {
	.pagettl .show_sp { display: inline;}
}

@media only screen and (max-width: 480px) {
	.table_bordered, .table_bordered tbody, .table_bordered tr, .table_bordered th, .table_bordered td { display: block; width: 100%; border: none;}
	.table_bordered th { background: #efefef; padding: 0.7em 0.5em;}
	.table_bordered td { padding: 1em 0.5em;}
}


/* ------------------------
	company
------------------------ */

.com_sec03 .text_box { padding: 6em 17% 6em 2em; font-size: min(2.7vw,1em);}

@media only screen and (max-width: 600px) {
	.com_sec01 .box01 { display: block;}
	.com_sec01 .box01 figure, .com_sec01 .box01 p { width: auto;}
	.com_sec01 .box01 p { margin: 25px 0px;}
}


/* ------------------------
	quality
------------------------ */

.qua_sec03 .box01 p { width: calc(100% - 80px);}
.qua_sec03 .box01 figure { width: 60px;}

.cta_sec h3.fo17 { font-size: min(6vw,1.45em) !important;}
.cta_sec .list01 { padding: 20px 0px; font-size: min(2.2vw,1em);}
.cta_sec .list01 li { padding: 0px 15px;}

@media only screen and (max-width: 480px) {
	.cta_sec h3 .show_sp { display: inline;}
	.cta_sec .list01 { display: block; font-size: min(4vw,1em); padding: 0px 20px;}
	.cta_sec .list01 li { width: auto; padding: 20px 0px;}
	.cta_sec .list01 li:first-child { border-right: none; border-bottom: dotted 1px #3B4043;}
}


/* ------------------------
	faq
------------------------ */
.faq_sec dl dt, .faq_sec dl dd { padding: 1em 1em 1em 3.8em;}
.faq_sec dl dt { padding-right: 3em;}
.faq_sec dl dt:before, .faq_sec dl dd:before { left: 0.8em; top: 0.8em;}
.faq_sec dl dt:after { width: 0.8em; right: 1em;}


/* ------------------------
	processing
------------------------ */

.cta_box .border { padding: 8% 20px;}
.cta_box .fo125 { font-size: 1.15em !important;}

.pro_bnr { font-size: min(2.5vw,1em);}
.pro_nav.tech li { width: 31.6333%; font-size: min(2.3vw,1em);}

@media only screen and (max-width: 640px) {
	.pro_sec01 { margin: auto -15px; font-size: min(3.5vw,1em);}
	.pro_sec01 h3 { margin-right: -1em; letter-spacing: -0.02em;}
	.pro_sec01 .list01 li { width: 46%; margin: 0px 2% 35px;}
	
	.cta_box { margin: auto -15px; font-size: min(3.3vw,1em);}
	.cta_box.press { margin: auto;}
	.cta_box .show_sp { display: inline;}
	
	.top_btn.pro { margin: auto -40px;}

	.pro_nav ul { margin-bottom: -60px;}
	.pro_nav li { width: 47% !important; font-size: min(3.7vw,1em) !important; margin-bottom: 40px;}

	.pro_under_sec02 { display: block;}
	.pro_under_sec02 figure { width: auto; margin-bottom: 30px;}
	.pro_under_sec02 .box_inner { width: auto;}
}

@media only screen and (max-width: 480px) {
	.pro_bnr { font-size: 1em;}
	.pro_bnr li { width: 100%;}
}


/* ------------------------
	technology
------------------------ */

@media only screen and (max-width: 780px) {
	.press_sec02 section { display: flex; flex-flow: column-reverse;}
	.press_sec02 section > figure { width: auto; max-width: 450px; margin: auto;}
	.press_sec02 section .box_inner { width: auto; margin-bottom: 30px;}
}

@media only screen and (max-width: 640px) {
	.tech_sec01 { margin: auto -15px;}
	.tech_sec01 .heading_middle { font-size: min(4.9vw,1.7em); margin-right: -0.5em;}
	.tech_sec01 section { display: block;}
	.tech_sec01 section > figure { width: auto;}
	.tech_sec01 section .box_inner { width: auto; margin-bottom: 30px;}

	.press_sec01 .box01 { display: block; margin-top: -10px;}
	.press_sec01 .box_inner01 { width: auto; max-width: 450px; margin: auto;}
	.press_sec01 .box_inner02 { width: auto; max-width: initial;}
}

@media only screen and (max-width: 480px) {
	.mach_sec01 section { display: block;}
	.mach_sec01 section > figure { width: auto; margin-bottom: 20px;}
	.mach_sec01 section .box_inner { width: auto;}
}


/* ------------------------
	recruit
------------------------ */

.rec_sec01 { display: block;}
.rec_sec01 .ttl_box { margin: 15px 0px 40px;}
.rec_sec01 h3.mb30 { font-size: min(12.5vw,3.5em); margin-bottom: 15px !important;}
.rec_sec01 .btn_area a { min-width: 250px;}

.loop_item { width: 130vw;}

.rec_wrap { display: block;}
.rec_wrap .ttl_box { width: auto; margin-bottom: 30px;}
.rec_wrap .box_inner { width: auto;}

.rec_sec02:before { bottom: 12%;}
.rec_sec02 .ttl_box { margin-top: -15px;}

.rec_sec > figure { width: 30%;}
.rec_sec .box_inner { width: 65%;}
.rec_sec .num img { width: auto; height: 4em;}
.rec_sec .text02 { padding-left: 1.5em;}

.rec_sec04 { padding-top: 50px;}
.rec_sec04 th { width: 8em;}

.tab_wrap { padding-top: 10px; margin-right: -1.5em;}
.tab_wrap > div, .tab_wrap ul { display: inline;}
.tab_wrap > div:first-child { margin-bottom: 0px;}
.tab_wrap ul { border-left: none; padding-left: 0px;}
.tab_wrap li { cursor: pointer; display: inline-block; margin: 0px 0px 0.5em !important;}
.tab_wrap .tab li:after { content: "　／　"; color: #000;}

.rec_btn a { background-position: 1.5em center, calc(100% - 1em) center; background-size: 3.5em auto, 2em auto; max-width: 350px; padding: 1.8em 4.5em;}

@media only screen and (max-width: 640px) {
	.rec_sec01 { margin: auto -15px;}
	.loop_item { width: 180vw;}
}

@media only screen and (max-width: 480px) {
	.rec_sec { display: block;}
	.rec_sec > figure { width: auto; padding: 0px 10% 25px;}
	.rec_sec .box_inner { width: auto;}

	.rec_sec04 th { width: 100%; background: #fff;}
}


/* ------------------------
	equipment
------------------------ */

@media only screen and (max-width: 640px) {
	.eq_sec01 { margin-left: -10px; margin-right: -10px;}
	.eq_text01.fo15 { font-size: 1.3em !important;}
}

@media only screen and (max-width: 480px) {
	.eq_sec01 .list01 li { width: 100%;}
	.eq_sec01 .table_back { font-size: 0.9em;}
}


/* ------------------------
	product
------------------------ */

.pdt_head { display: block;}
.pdt_head .box01 { width: auto; margin-bottom: 30px;}
.pdt_head .glry_box { width: auto;}

.pdt_sec05 .list01 li { width: 46%;}

@media only screen and (max-width: 640px) {
	.table_wrap { overflow-x: scroll;}
	.table_wrap .show_sp { display: block;}
	.table_wrap table { min-width: 500px; font-size: 0.85em;}
	.table_wrap .table_back th, .table_wrap .table_back td { padding: 0.7em;}

	.pdt_sec06 section { display: block;}
	.pdt_sec06 section figure { width: auto;}
	.pdt_sec06 section .box_inner { width: auto; margin-bottom: 20px;}
}

@media only screen and (max-width: 480px) {
	.pdt_sec04 section { display: block;}
	.pdt_sec04 section figure { width: auto; margin-bottom: 20px;}
	.pdt_sec04 section .box_inner { width: auto;}
}


/* ------------------------
	contact
------------------------ */

.con_sec01, .con_sec02 { margin: auto -15px;}

.contact_sec .btn_area input { padding: 1em;}

@media only screen and (max-width: 640px) {
	.con_sec01 { font-size: min(4vw,1.1em);}
	.con_sec01 .show_sp { display: inline;}
	.con_sec01 .list01 { display: block; padding: 0px;}
	.con_sec01 .list01 li { width: auto; padding: 20px 0px;}
	.con_sec01 .list01 li:first-child { border-bottom: dotted 1px #3B4043; border-right: none;}

	.contact_sec dl, .contact_sec dl > * { display: block; width: auto !important;}
	.contact_sec dl { margin-bottom: 10px;}
	.contact_sec dt { padding-bottom: 0.5em;}
}

@media only screen and (max-width: 480px) {
	.wpcf7-checkbox .wpcf7-list-item { width: 100% !important;}
	.wpcf7-checkbox .wpcf7-list-item:nth-child(2) { order: 1;}
	.wpcf7-checkbox .wpcf7-list-item:nth-child(3) { order: 3; margin-top: 1em;}
	.wpcf7-checkbox .wpcf7-list-item:nth-child(4) { order: 2;}
}


/* ------------------------
	topics
------------------------ */

.archive_box { display: block;}
.archive_box h2, .archive_box .box_inner { width: auto;}
.archive_box dt { width: 6rem;}
.archive_box dd { width: calc(100% - 6rem);}

.blog_content h1 { font-size: 1.6em;}
.blog_content table { font-size: 0.9em;}

img.aligncenter, img.alignright, img.alignleft { display: block; margin: 20px auto; float: none;}

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


