@charset "UTF-8";
/* CSS Document */
@media screen and (min-width:769px){
	.sp-only { display: none; }

	#gnav ul li a {
		display: block;
		padding: 43px 0;
		position: relative;
	}
	#gnav ul li a:hover {
		color: #004086;
	}
}


@media screen and (min-width:1021px){
	.footer__nav_menu {
		display: none;
	}
	#gnav ul li a:hover:after {
		width: 100%;
		transition: .2s;
	}
	#gnav ul li a:after {
		content: "";
		width: 0;
		height: 2px;
		background: #004086;
		position: absolute;
		bottom: 0;
		left: 0;
		transition: .2s;
	}
	#header.fixed .header__logo_wrap .logomark {
		width: 60px;
		height: 60px;
		transition: .2s;
	}
	#header.fixed .header__logo_wrap .logomark img {
		width: 42px;
	}
	#header.fixed {
		box-shadow: 0 0 16px rgba(0,0,0,.16);
	}
	#header.fixed #gnav ul li a {
		padding: 23px 0;
	}
	#wrapper {
		margin-top: 100px;
	}
}




@media screen and (max-width:1020px){
	/*==========================
	　　　　　　Header
	==========================*/
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		z-index: 99999999999;
		box-shadow: 0 0 10px rgba(0,0,0,.06);
	}
	#gnav {
		position: fixed;
		top: 51px;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		visibility: hidden;
		opacity: 0;
		transition: .2s;
	}
	#gnav ul {
		display: block;
		padding: 60px 20px;
	}
	#gnav li {
		width: 100%;
		border-bottom: 1px solid #e8e8e8;
	}
	#gnav li a {
		display: block;
		padding: 25px 20px;
		position: relative;
	}
	#gnav li a:after {
		content: "";
		width: 4px;
		height: 4px;
		border-top: 1px solid #004086;
		border-right: 1px solid #004086;
		position: absolute;
		top: 50%;
		right: 20px;
		-webkit-transform: translateY(-50%) rotate(45deg);
		   -moz-transform: translateY(-50%) rotate(45deg);
		    -ms-transform: translateY(-50%) rotate(45deg);
		     -o-transform: translateY(-50%) rotate(45deg);
		        transform: translateY(-50%) rotate(45deg);
	}
	#gnav.open {
		visibility: visible;
		opacity: 1;
		transition: .2s;
	}

	/* burger button */
	#burger {
		display: block;
		width: 18px;
		height: 18px;
		text-align: center;
		position: fixed;
		top: 23px;
		right: 20px;
		z-index: 999999;
	}
	#burger span {
		display: block;
		height: 2px;
		width: 18px;
		background-color: #000;
		margin: 4px auto;
		transition: .3s;
	}
	#burger.open span:first-child {
		transform: translateY(6px) rotate(45deg);
		transition: .3s;
	}
	#burger.open span:nth-child(2n) {
		opacity: 0;
		transition: .3s;
	}
	#burger.open span:last-child {
		transform: translateY(-6px) rotate(-45deg);
		transition: .3s;
	}
	.header__logo_wrap .logomark {
		width: 70px;
		height: 70px;
	}


	/*==========================
	　　　　　　  Main
	==========================*/
	#topMv,
	#wrapper.lower {
		margin-top: 70px;
	}


	/*==========================
	　　　　　　Footer
	==========================*/
	.footer__nav_menu {
		padding: 20px;
		background: #004086;
		color: #fff;
		text-align: center;
		letter-spacing: 2px;
		position: relative;
		cursor: pointer;
	}
	.footer__nav_menu:after {
		content: "";
		width: 4px;
		height: 4px;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		position: absolute;
		top: 50%;
		right: 20px;
		transition: .2s;
		-webkit-transform: translateY(-50%) rotate(45deg);
		   -moz-transform: translateY(-50%) rotate(45deg);
		    -ms-transform: translateY(-50%) rotate(45deg);
		     -o-transform: translateY(-50%) rotate(45deg);
		        transform: translateY(-50%) rotate(45deg);
	}
	.footer__nav_menu.open:after {
		transition: .2s;
		-webkit-transform: translateY(-50%) rotate(-135deg);
		   -moz-transform: translateY(-50%) rotate(-135deg);
		    -ms-transform: translateY(-50%) rotate(-135deg);
		     -o-transform: translateY(-50%) rotate(-135deg);
		        transform: translateY(-50%) rotate(-135deg);
	}
	.footer__nav_wrap .outer {
		padding: 40px 0;
		display: block;
	}
	.footer__nav_wrap {
		display: none;
	}
	.footer__nav_box {
		padding: 0;
		border-right: none;
		padding-bottom: 30px;
		border-bottom: 1px dotted #e8e8e8;
		margin-bottom: 30px;
	}
	.footer__nav_box:last-child {
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 0;
	}
	.footer__nav_list li {
		padding-left: 15px;
		position: relative;
	}
	.footer__nav_list li:before {
		content: "";
		width: 4px;
		height: 4px;
		border-top: 1px solid #004086;
		border-right: 1px solid #004086;
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%) rotate(45deg);
		   -moz-transform: translateY(-50%) rotate(45deg);
		    -ms-transform: translateY(-50%) rotate(45deg);
		     -o-transform: translateY(-50%) rotate(45deg);
		        transform: translateY(-50%) rotate(45deg);
	}
}




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

	/*==========================
	　　　　　  Common
	==========================*/
	.w10,.w20,.w30,.w40,.w50,.w60,.w70,.w80,.w90 {width: 100%;}
	.left_clm  {float: left;}
	.right_clm {float: right;}
	.pc-only { display: none; }



	/*==========================
		　　　 Header
	==========================*/
	.header__logo_wrap .logomark {
		width: 50px;
		height: 50px;
	}
	.header__logo_wrap .logomark img {
		width: 40px;
	}
	#burger {
		top: 14px;
	}
	.header__logo_wrap .logotxt {
		padding-left: 15px;
	}



	/*==========================
	　　　　　　Main
	==========================*/
	/*　Common
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	.btnWrap {
		max-width: 500px;
		width: 100%;
		margin-top: 30px;
	}


	/*　TopPage
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	#topMv {
		margin-top: 51px;
		height: 500px;
	}
	#topMv:after {
		width: 260px;
		height: 503px;
	}
	#topMv:before {
		content: "";
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,.4);
		z-index: 1;
		position: absolute;
		top: 0;
		left: 0;
	}
	#topMv .inner,
	#topMv .scroll {
		z-index: 10;
	}
	.topMv__catch {
		font-size: 30px;
		letter-spacing: 3px;
	}
	.topSc {
		padding: 50px 20px;
	}
	.topSc__ttl.left {
		text-align: center;
	}
	.topSc__ttl .ja {
		font-size: 26px;
		letter-spacing: 2px;
	}
	.slickSlider .slick-arrow, .topNews__slider_inner .slick-arrow {
		width: 30px;
	}
	.slickSlider .slick-arrow.slick-prev, .topNews__slider_inner .slick-arrow.slick-prev {
		left: 0;
	}
	.slickSlider .slick-arrow.slick-next, .topNews__slider_inner .slick-arrow.slick-next {
		right: 0;
	}
	#topAbout .inner {
		display: block;
	}
	#topAbout .leftClm {
		width: 100%;
		padding: 0;
	}
	#topNews {
		padding: 50px 0;
	}
	.topNews__slider_inner .slider_box {
		margin: 0 10px;
	}
	.slickSlider li:not(.slick-current),
	.topNews__slider_inner .slider_box:not(.slick-current) {
		opacity: .4;
	}
	.order__list.flexBox {
		display: block;
	}
	.order__list li {
		width: 100%;
		padding: 20px 0;
	}
	.order__list li:first-child {
		padding-top: 0;
	}
	.order__list li:nth-child(odd) {
		margin-right: 0;
	}
	.order__list .content {
		padding-left: 20px;
	}
	.order__list .content .cat_wrap {
		margin-top: 10px;
	}
	#topReport .arrow_link {
		margin-top: 20px;
	}
	.topNews__slider_inner .slider_box .title,
	.order__list .content .title {
		font-size: 13px;
	}
	.topNews__slider_inner .slider_box .title {
		height: 60px;
		margin-bottom: 20px;
	}


	/*　LowerPage -- 共通
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	#wrapper.lower {
		margin-top: 51px;
	}
	#lwTitle__wrap {
		height: 150px;
	}
	#lwTitle__wrap .lwTitle {
		padding: 40px 20px;
	}
	#bread {
		padding: 0 20px;
		bottom: 0;
		margin-bottom: 10px;
		justify-content: flex-start;
	}
	#lwTitle__wrap .lwTitle .ja {
		font-size: 24px;
	}
	#lwTitle__wrap .lwTitle .eng {
		margin-top: 10px;
	}
	#sideNav ul li a {
		padding: 20px;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	#sideNav ul li a:after,
	#sideNav ul li a:before {
		display: none;
	}
	#side {
		width: 54px;
		/*display: none;*/
	}
	#main {
		padding: 50px 0;
		width: calc(100% - 54px);
		/*width: calc(100% - 20px);*/
		margin-right: auto;
		margin-left: auto;
	}
	.lwSc {
		padding: 0 20px;
	}
	.lwSc__ttl {
		font-size: 20px;
	}
	.topMv__catch,
	#topMv .scroll,
	.topSc__ttl .ja,
	.topSc__ttl .eng,
	.datetime,
	#lwTitle__wrap .lwTitle .ja,
	#lwTitle__wrap .lwTitle .eng,
	.lwSc__ttl,
	.copy small {
		letter-spacing: 1px;
	}
	#lwSection {
		margin-top: 0;
	}
	.main__txt {
		font-size: 13px;
	}


	/*　LowerPage -- 企業情報
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	.office__box li {
		display: block;
	}
	.office__image,
	.office__content {
		width: 100%;
	}
	.office__image {
		margin-bottom: 15px;
	}
	.office__content {
		padding: 0;
	}
	.office__btnWrap {
		margin-top: 20px;
	}
	.tb:not(.action-tb) th,
	.tb:not(.action-tb) td {
		display: block;
		width: 100%;
		padding: 15px 0;
	}
	.tb:not(.action-tb) tr:last-child th {
		border-bottom: 1px solid #e8e8e8;
	}


	/*　LowerPage -- 商品情報
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	.products__list li,
	.products__list li:nth-child(3n),
	.products__list li:nth-child(-n+3) {
		width: 47.221%;
		margin-right: 5.5565%;
		margin-top: 40px;
	}
	.products__list li:nth-child(even) {
		margin-right: 0;
	}
	.products__list li:nth-child(-n+2) {
		margin-top: 0;
	}



	/*　LowerPage -- 社員ブログ
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	.person__blog .person__content {
		width: 100%;
		margin-top: 15px;
	}
	.person__blog .person__content:before {
		top: 0;
		left: 50%;
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	   -moz-transform: translate(-50%,-50%) rotate(45deg);
	    -ms-transform: translate(-50%,-50%) rotate(45deg);
	     -o-transform: translate(-50%,-50%) rotate(45deg);
	        transform: translate(-50%,-50%) rotate(45deg);
	}
	.office__list li {
		display: block;
	}
	.office__list .office__info {
		width: 100%;
		padding: 0;
	}
	.office__list .btnWrap {
		max-width: none;
		width: 100%;
		margin-top: 15px;
	}
	.personnel__blog_list li {
		display: block;
	}
	.personnel__blog_list .datetime,
	.personnel__blog_list .title {
		width: 100%;
	}
	.personnel__blog_list .title {
		padding-left: 0;
		border-left: 0;
		margin-top: 5px;
	}
	.personnel__blog_list + .pager__wrap {
		margin-top: 20px;
		display: blockl
	}
	#lwPrBlogSingle .personnel__blog_list {
		height: 200px;
	}
	#lwPrBlogSingle .btnWrap {
		margin-top: 0;
		width: 100%;
		max-width: none;
		margin-right: 0;
	}
	#lwPrBlogSingle .btnWrap:not(:first-child) {
		margin-top: 5px;
	}
	.personnel__blog_single {
		margin-bottom: 0;
	}
	#lwPrBlogSingle .person__blog .thumb {
		margin: 0 auto 20px;
	}
	#lwPrBlogSingle .person__blog .person__info {
		width: 100%;
		margin-bottom: 15px;
	}
	.table__inner {
		overflow-x: scroll;
	}
	.table__wrap:after {
		position: absolute;
		top: 0;
		right: 0;
		content: "";
		width: 50px;
		height: 100%;
		z-index: 10;
		background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 31%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 31%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 31%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	}
	.finance_tb thead {
		width: calc(100% - 52px);
	}
	.finance_tb thead th,
	.finance_tb tbody th {
		min-width: 80px;
	}
	.finance_tb thead th {
		padding: 10px 0;
	}
	#lwFinance .table__content,
	#MazakFinance .table__content {
		padding-right: 50px;
		width: 720px;
	}
	#lwPrBlogSingle .personnel__blog_list_wrap:before {
		height: 50px;
	}
	.welfare__box {
		display: block;
	}
	.welfare__box .welfare__image,
	.welfare__box .welfare__content {
		width: 100%;
		padding: 0;
	}
	.welfare__box .welfare__image {
		margin-bottom: 15px;
	}
	.welfare__box .welfare__content .office__btn {
		position: relative;
		left: 0;
		bottom: 0;
	}
	#lwWelfare .txt + .office__btn {
		margin-top: 10px;
	}
	.block__ttl, .product__single h3 {
		padding-bottom: 5px;
		padding-left: 20px;
		margin-bottom: 10px;
		margin-top: 40px;
	}
	#sideNav .gaibu {
		padding-right: 0;
	    padding-bottom: 17px;
	    background: url(../img/gaibu_ico.png) no-repeat bottom center / 10px;
	}


	/*　LowerPage -- お問い合わせ・その他
	￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
	.form__tb th, .form__tb td {
		display: block;
		width: 100%;
	}
	.sitemap__wrap .sitemap__box {
		width: 100%;
	}
	.sitemap__wrap .sitemap__box:nth-child(2) h3 {
		margin-top: 50px;
	}


	/*==========================
	　　　　　　Footer
	==========================*/
	#bottomRecruit .inner {
		display: block;
	}
	#bottomRecruit .leftClm {
		width: 100%;
		padding: 0;
	}
	#bottomRecruit .banner__wrap {
		max-width: 400px;
		width: 100%;
		margin-top: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#bottomRecruit .banner__wrap .banner {
		margin-bottom: 0;
	}
	#bottomRecruit .banner__wrap .banner:first-child {
		margin-right: 10px;
	}
	#footer .footer__bottom .outer,
	.footer__info_wrap {
		display: block;
	}
	#footer .footer__bottom .outer {
		padding: 30px 0;
	}
	.footer__logo {
		margin-right: 0;
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.footer__logo img {
		width: 240px;
	}
	.footer__info_nav .arrow_list {
		justify-content: center;
	}
	.copy {
		text-align: center;
		margin-top: 40px;
	}
	.copy small {
		font-size: 11px;
	}

	/* 191206追記 */
	#gnav {
		display: block;
	}
	.search-form-wrap,
	.search-form-wrap.open {
		width: 100%;
		margin: 0 auto;
		width: calc(100% - 40px);
	}
	#lwSearch .personnel__blog_list .txt {
		padding-left: 0;
	}
	#lwSearch .lwSc__ttl span {
		font-size: 15px;
	}
}



@media screen and (max-width:420px){
	.history__box dl {
		font-size: 11px;
	}
	.history__box dl:first-of-type {
		margin-top: 15px;
	}
	.history__box#y1990 {
		margin-top: -170px;
	}
	.btnWrap .btn {
		padding: 20px 10px;
	}
	.order__tb th,
	.order__tb td {
		display: block;
		width: 100%;
		padding: 15px;
		word-wrap: break-word;
		word-break: break-all;
	}
	.order__tb th {
		border-right: none;
		background: #f9f9f9;
		padding: 10px 15px;
	}
	.order__tb tr:last-child th {
		border-bottom: 1px solid #e8e8e8;
	}
	#topNews .new span  {
		padding: 3px 6px;
	}
}





