@charset "utf-8";
/*============================
	html5 base style
============================*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, pre, address, code, em, img, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, figcaption, figure, footer, header, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	line-height: 1.6;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

article, aside, figcaption, figure, footer, header, menu, nav, section {
	display: block;
}

ul, ol {
	list-style: none;
}

a {
	text-decoration: none;
	color: #000;
	cursor: pointer;
}

img {
	vertical-align: bottom;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input, select {
	vertical-align: middle;
}

input:focus, select:focus, button:focus {
	outline: 0;
}

/*============================
	style common
============================*/

html {
	scroll-behavior: smooth;
	scroll-padding-top: 170px;
	/* 固定ヘッダの高さ分 */
}

body {
	background-color: #ddd;
}

/* IE適応 */

_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", "メイリオ", Meiryo, sans-serif;
}

.hover_style {
	background-color: #ddd;
	display: inline-block;
	padding: 3px 8px;
	border-radius: 5px;
	margin-bottom: 5px;
}

.hover_style:hover {
	background-color: #555;
	color: #fff;
}

.wrapper {
	width: 1040px;
	margin: auto;
	background-color: #fff;
	padding: 0 20px;
}

.icon_scale, .icon_scale_pdf {
	width: 25px;
	height: 25px;
}

.icon_scale_pdf {
	width: 20px;
	height: 20px;
}

.icon_scale img {
	width: 25px;
	display: block;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.icon_scale_pdf img {
	width: 20px;
	display: inline-block;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.icon_scale img:hover {
	-webkit-transform: scale(0.8, 0.8);
	    -ms-transform: scale(0.8, 0.8);
	        transform: scale(0.8, 0.8);
}

.icon_scale_pdf img:hover {
	-webkit-transform: scale(0.8, 0.8);
	    -ms-transform: scale(0.8, 0.8);
	        transform: scale(0.8, 0.8);
}

/* ========  header ===============  */

.header_fix {
	height: 180px;
} 
/* ======== top header ===============  */
.header_top_fix {
	height: 146.7px;
} 

.header {
	position: fixed;
	top: 0;
	width: 1040px;
	background-color: #fff;
	z-index: 10;
	padding-top: 30px;
}

.header_flex {
	display: -webkit-box;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
	padding-bottom: 10px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.header_sub_icons_tool {
	margin-right: 5px;
}

.header_sub_icons_tool, .header_sub_icons_lang {
	display: -webkit-box;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
}

.g_navi_ul {
	display: -webkit-box;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
}

.site_logo {
	display: block;
	width: 100%;
}

.h_list {
	padding: 5px 0;
}

.header_sub_icons {
	display: -webkit-box;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.header_sub_icons_tool li {
	margin-left: 3px;
}

.header_sub_icons_lang li {
	background-color: #aaa;
	padding: 0 5px;
	margin-left: 3px;
	font-size: 12px;
	line-height: 25px;
	height: 25px;
	width: 55px;
	text-align: center;
}

.h2_title {
	font-size: 12px;
	text-align: right;
	padding: 14px 0 3px 0;
	font-weight: normal;
	letter-spacing: -0.03rem;
}

/* ========= g_navi =================  */

.g_navi li {
	width: 20%;
	text-align: center;
	border: 1px solid #666;
	line-height: 2.2;
	font-size: 19px;
	background-color: #fff;
	letter-spacing: 0 05rem; /* ========= 0.1rem =================  */
	box-sizing: border-box;
	-webkit-transition: background-color 0.1s;
	-moz-transition: background-color 0.1s;
	-o-transition: background-color 0.1s;
	transition: background-color 0.1s;

}

.g_navi_ul li:hover {
	background: #666;
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

.g_navi_ul li a:hover {
	color: #fff;
}

.g_navi a {
	display: inline-block;
	width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
}

.g_navi li:nth-child(1), .g_navi li:nth-child(2), .g_navi li:nth-child(3), .g_navi li:nth-child(4) {
	border-right: none;
}

.g_navi_ul .on_navi {
	background: #666;
}

.g_navi_ul .on_navi a {
	color: #fff;
}

.bread_list {
	padding-top: 3px;
}

.bread_list span {
	display: inline-block;
	padding: 0 5px;
	font-size: 15px;
} 
/*  ======= padding: 0 15px ============== */
/*  ======= font-size: 20px ============== */

/*  ======= main content ============== */

.main_wrap {
	width: 100%;
}

.h3_title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 24px;
	font-weight: normal;
	border-bottom: 2px solid #333;
	margin: 20px 0 30px 0;
	letter-spacing: 0.1rem;
}

/* ======= Top main content ============== */

.h3_top_title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 24px;
	font-weight: normal;
	border-bottom: 2px solid #333;
	margin: 20px 0 0 0;
	letter-spacing: 0.1rem;
} 


/* ======= side ====================*/

.side {
	width: 200px;
	position: fixed;
}

.sub_navi li {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	border: 1px solid #333;
	text-align: center;
	line-height: 40px;
	box-sizing: border-box;
}

.sub_navi li:nth-child(2), .sub_navi li:nth-child(3), .sub_navi li:nth-child(4), .sub_navi li:nth-child(5), .sub_navi li:nth-child(6) {
	border-top: none;
}

.side .sub_navi .sub_navi_height {
	line-height: 25px;
}

.step a {
	display: inline-block;
	width: 100%;
	color: #666;
	background: #fff;
	text-decoration: none;
	-webkit-transition: background-color 0.1s;
	-moz-transition: background-color 0.1s;
	-o-transition: background-color 0.1s;
	transition: background-color 0.1s;
}

.step a:hover, .step a.current {
	background: #666;
	color: #fff;
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

/* kasou main ==========================*/

.kasou_main {
	display: block;
	width: 76%;
	padding-left: 24%;
	line-height: 2.1;
}

.kasou_main section {
	margin-bottom: 79px;
}
/* ======= margin-bottom: 120px  ======================*/
/* ======= footer  ======================*/

.footer {
	border-top: 2px solid #333;
	font-size: 12px;
	text-align: center;
	padding: 16px 0;
	margin-top: 40px;
}

.footer_copy {
	display: block;
	margin-top: 15px;
	background-color: #666;
	padding: 10px 0;
	color: #fff;
}

.f_space {
	display: inline-block;
	padding: 0 10px;
}

.f_mail_space {
	display: inline-block;
	padding: 0 20px;
}

.sp_footer {
	display: none;
}

/*============================
	style custom
============================*/

.f_ex {
	display: -webkit-box;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
}

.jc_around {
	-ms-flex-pack: distribute;
	justify-content: space-around;
	justify-content: space-around;
}

.jc_bet {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.m_b_20 {
	margin-bottom: 20px;
}

.m_b_30 {
	margin-bottom: 30px;
}

.m_b_40 {
	margin-bottom: 40px;
}

.m_b_50 {
	margin-bottom: 50px;
}

.m_l_30 {
	margin-left: 30px;
}

.m_r_30 {
	margin-right: 30px;
}

.align_right {
	text-align: right;
}

.hum {
	display: none;
}

.el_humburger {
	position: fixed;
	top: 45px;
	right: 60px;
	width: 46px;
	height: 25px;
	padding-top: 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 0px;
	z-index: 20;
	cursor: pointer;
	pointer-events: auto;
	color: #666;
	text-align: center;
}

@media screen and (max-width: 840px) {
	.el_humburger {
		display: block;
		right: 0;
		top: 0;
		padding-top: 20px;
		width: 70px;
		height: 70px;
	}
	#factory .el_humburger {
		display: none;
	}
}

.el_humburger_wrapper {
	margin-bottom: 5px;
	width: 42px;
	display: inline-block;
}

@media screen and (max-width: 840px) {
	.el_humburger_wrapper {
		margin-bottom: 5px;
		width: 30px;
	}
}

.el_humburger_text {
	font-size: 13px;
	letter-spacing: 0.1em;
}

.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
	display: none;
}

.el_humburger_text.el_humburger_text__close {
	display: none;
}

.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
	display: block;
}

@media screen and (max-width: 840px) {
	.el_humburger_text {
		font-size: 10px;
		padding-top: 2px;
	}
}

@media screen and (max-width: 840px) {
	.el_humburger_text svg path {
		-webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
		-o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
		transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
		fill: #000;
	}
}

@media screen and (max-width: 840px) {
	.js_humburgerOpen .el_humburger_text svg path {
		fill: #000;
	}
}

.el_humburger span.el_humburger_bar {
	display: block;
	width: 100%;
	margin: 0 auto 9px;
	height: 1px;
	background: #000;
	-webkit-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.el_humburger span.el_humburger_bar:last-child {
	margin-bottom: 0;
}

.js_humburgerOpen .el_humburger span.el_humburger_bar {
	background: #000;
}

@media screen and (max-width: 840px) {
	.el_humburger span.el_humburger_bar {
		left: 0;
		top: 0;
		background: #000;
	}
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
	-webkit-transform: translateY(9px) rotate(-45deg);
	-ms-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
	opacity: 0;
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-11px) rotate(45deg);
	-ms-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
}

.el_humburgerButton.el_humburgerButton__close {
	top: 2%;
	right: 2%;
}

.el_humburgerButton__close span.el_humburger_bar {
	display: block;
	width: 35px;
	margin: 0 auto;
	height: 4px;
	background: #000;
}

.el_humburgerButton__close span.el_humburger_bar.top {
	-webkit-transform: translateY(5px) rotate(-45deg);
	-ms-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}

.el_humburgerButton__close span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-6px) rotate(45deg);
	-ms-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}

.navi {
	position: fixed;
	right: 0;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	width: 0;
	z-index: 3;
	padding-top: 100px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 600ms ease-out;
	-o-transition: all 600ms ease-out;
	transition: all 600ms ease-out;
	overflow: hidden;
}

.js_humburgerOpen .navi {
	width: 450px;
}

@media screen and (max-width: 840px) {
	.js_humburgerOpen .navi {
		width: 100%;
		padding: 60px 5% 0;
	}
}

.navi_item {
	margin-bottom: 28px;
	font-size: 20px;
	white-space: nowrap;
	margin-left: 90px;
}

.navi_item.op_innerLink {
	cursor: pointer;
}

@media screen and (max-width: 840px) {
	.navi_item {
		font-size: 18px;
		text-align: center;
		border-bottom: #aaa 1px solid;
		width: 80%;
		margin: auto;
		padding: 15px 0;
	}
	.navi_item a {
		display: inline-block;
		width: 100%;
	}
}

@media screen and (max-width: 840px) {
	.hum {
		display: block;
	}
	.header {
		padding-top: 0;
		width: 100%;
	}
	.header_sub {
		display: none;
	}
	h1 {
		margin-top: 5px;
	}
	.header_sub_h2 {
		text-align: center;
	}
	.site_logo {
		padding-left: 10px;
	}
	.g_navi {
		display: none;
	}
	.page_link {
		text-align: left;
		font-size: 15px;
		padding: 5px 0;
	}
	.header_flex {
		width: 100%;
		height: 60px;
		padding-bottom: 0;
	}
	.header_fix {
		width: 100%;
		height: 50px;
	}
	.bread_list {
		padding-top: 0;
		padding-right: 5px;
		text-align: right;
		font-size: 11px;
	}
	.bread_list span {
		font-size: 13px;
		padding: 0 8px;
	}
	body {
		width: 100%;
	}
	.wrapper {
		width: 100%;
		padding: 0;
	}
	.main_wrap {
		display: block;
	}
	.side {
		display: none;
	}
	.kasou_main {
		padding-left: 0;
		padding-top: 12px;
		width: 96%;
		margin: auto;
	}
	.h3_title {
		padding-left: 5px;
	}
	.sp_footer {
		display: block;
	}
	.sp_footer .h2_title {
		text-align: center;
		padding: 0 0 10px 0;
	}
	.sp_footer .header_sub_icons {
		justify-content: center;
	}
	.sp_footer .header_sub_icons {
		margin-bottom: 15px;
	}
	.footer p {
		width: 80%;
		margin: auto;
	}
}