@charset "utf-8";

/*---------------------------------------------
	body
---------------------------------------------*/
html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}

body {
	width: 100%;
	font-size: 1.6rem;
	color: #000;
	line-height: 1.9;
	text-align: left;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	overflow: hidden;
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 1000px) {
	body {
		font-size: 1.6rem;
	}
}

img {
	width: 100%;
	height: auto;
	border-style: none;

}

*:focus {
	outline: none;
}


/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
	outline: none;
}

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

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

a:hover {
	color: #6b9cc1;
	text-decoration: none;
}

a:active {
	color: #6b9cc1;
	text-decoration: none;
}

a {
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}


#top_con01 h2 {
	font-size: 180%;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 3%;
	color: #103087;
	letter-spacing: 0.05em;
}

#top_con01 p {
	font-size: 110%;
}


@media screen and (max-width: 1100px) {
	#top_con01 h2 {
		font-size: 150%;
	}

	#top_con01 h2 br {
		display: none;
	}
}

#top_con01 h2+p {
	margin-bottom: 30px;
}

.h2_blue,
.h2_white {
	font-size: 120%;
	color: #103087;
	letter-spacing: 0.1em;
	font-weight: bold;
	margin-bottom: 2%;
}

.h2_blue {
	color: #103087;
}

.h2_white {
	color: #fff;
}

.h2_blue span,
.h2_white span {
	font-size: 200%;
	display: block;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

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

	.h2_blue,
	.h2_white {
		font-size: 110%;
	}

	.h2_blue span,
	.h2_white span {
		font-size: 160%;
		display: block;
		line-height: 1.2;
		letter-spacing: 0.1em;
	}
}





p {
	margin-bottom: 1em;
}

.only_pc_none {
	display: none;
}

.only_sp_none {
	display: block;
}

.sp_br {
	display: none;
}

.br_480 {
	display: none;
}

.sp_contact {
	display: none;
}

/*---------------------------------------------
 ** ON OFF hover
---------------------------------------------*/
.hover {
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	-o-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}

.hover:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}

/*=================================================================================================================================*/
/**  共通部分	*/
/*=================================================================================================================================*/

.scroll-up.done,
.scroll-fade.done {
	opacity: 1;
	transform: translate(0, 0);
}

.load-fade {
	opacity: 0;
	transition: all 4s
		/*処理にかかる時間*/
	;
}

.load-up {
	opacity: 0;
	transform: translateY(30px)
		/*スクロールアップする距離*/
	;
	transition: all 4s
		/*処理にかかる時間*/
	;
}

.load-up.done,
.load-fade.done {
	opacity: 1;
	transform: translate(0, 0);
}

.btn_tri {
	position: relative;
	display: inline-block;
	padding: 15px 30px 15px 50px;
	text-align: center;
	outline: none;
	font-size: 130%;
	background: #103087;
	color: #fff !important;
}

.btn_tri.btn_small {
	padding: 7px 30px 10px 40px;
	font-size: 100%;
}

.btn_tri::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: 4px solid #103087;
	box-sizing: border-box;
	z-index: -1;
	transform: scale(0.8);
	opacity: 0;
	transition: transform ease .3s, opacity .3s;
}

.btn_tri:hover {
	color: #103087 !important;
	background: transparent;
}

.btn_tri:hover::before {
	transform: scale(1);
	opacity: 1;
}


.btn_tri span::after {
	content: "";
	width: 13px;
	height: 10px;
	position: absolute;
	top: 40%;
	left: 20px;
	margin: auto;
	box-sizing: border-box;
	border: 7px solid transparent;
	border-left: 10px solid #fff;
	transition: transform ease .3s, opacity .3s;
}

.btn_tri:hover span::after {
	border-left: 10px solid #103087 !important;
}

.btn_tri.btn_small span::after {
	content: "";
	top: 38%;
	border: 5px solid transparent;
	border-left: 7px solid #fff;
}

.btn_tri.btn_small:hover span::after {
	border-left: 7px solid #103087 !important;
}

.btn_tri.btn_white {
	border: 1px solid #fff;
	position: relative;
}

.btn_tri.btn_white::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: 4px solid #fff;
	box-sizing: border-box;
	z-index: -1;
	transform: scale(0.8);
	opacity: 0;
	transition: transform ease .3s, opacity .3s;
}

.btn_tri.btn_white:hover::before {
	transform: scale(1);
	opacity: 1;
}

.btn_tri.btn_white:hover {
	color: #fff !important;
	background: transparent;
}

.btn_tri.btn_white:hover span::after {
	border-left: 10px solid #fff !important;
}

.no_tri {
	padding-left: 30px !important;
}

.no_tri span::after {
	display: none !important;
}





@media screen and (max-width: 1200px) {
	.btn_tri {
		font-size: 110%;
	}

}

#header {
	/*はじめの高さを設定*/
	height: 170px;
	width: 100%;
	position: absolute;
	top: 0;
	z-index: 3;
	box-shadow: 0px 10px 10px -5px rgb(0 0 0 / 10%);
}

#home #header {
	box-shadow: none;
}

#home #header.HeightMin {
	box-shadow: 0px 10px 10px -5px rgb(0 0 0 / 10%);
}

#under-content #header {
	background: #fff;
}

/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#header.HeightMin {
	position: fixed;
	z-index: 999;
	/*最前面へ*/
	height: 80px;
	animation: DownAnime 0.5s forwards;
	background: #fff !important;
	padding-bottom: 0px;
	box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.1);
}

@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-170px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


header nav>a {
	width: 300px;
	display: block;
	margin-left: 30px;
	position: absolute;
	left: 10px;
	top: 20px;
}



header nav ul {
	display: flex;
	width: calc(100% - 380px);
	margin-left: 380px;
	box-sizing: border-box;
	padding: 15px 30px;
	position: relative;
}

#header.HeightMin nav ul {
	padding: 15px 30px;
}


header nav ul li a {
	box-sizing: border-box;
	font-weight: bold;
	padding: 10px 20px;
	display: block;
	white-space: nowrap;
	margin-top: 0;
	color: #fff !important;
}

header nav ul li a:hover {
	color: #6b9cc1 !important;
}

/*-------追加------*/
.scr {
	display: none !important;
}

#header.HeightMin .scr {
	display: block !important;
}

#header.HeightMin .no-scr {
	display: none !important;
}

#header.HeightMin nav ul li a {
	color: #333 !important;
}

#header.HeightMin nav ul li a:hover {
	color: #999 !important;
}

#header.HeightMin nav ul li a {
	color: #333 !important;
}

/*-------追加------*/



#header nav ul li#nav06 a {
	width: 10em;
	background: #1b82d6;
	color: #fff !important;
	padding: 7px 0;
	margin-left: 15px;
	margin-top: 0px;
	text-align: center;
	position: absolute;
	top: 18px;
	right: 11.5em;
}

#header nav ul li#nav06 a:hover {
	opacity: 0.8;
	color: #fff !important;
}

#header nav ul li#nav07 a {
	width: 10em;
	background: #103080;
	color: #fff !important;
	padding: 7px 0;
	margin-left: 15px;
	margin-top: 0px;
	text-align: center;
	position: absolute;
	top: 18px;
	right: 1em;
}

#header nav ul li#nav07 a:hover {
	opacity: 0.8;
	color: #fff !important;
}

#header.HeightMin nav ul li#nav06 a,
#header.HeightMin nav ul li#nav07 a {
	border: 1px solid #fff;
}

.menu-item {
	position: relative;
	display: inline-block;
}

.menu-item .sub-menu {
	display: none;
	width: 320px;
	position: absolute;
	top: 50px;
	right: -160px;
	z-index: 3;
}

.menu-item .sub-menu li a {
	background: #103080d6;
	padding: 10px 20px 10px 30px;
	box-sizing: border-box;
	display: block;
	font-size: 90%;
	color: #fff !important;
	position: relative;
}

.menu-item .sub-menu li a::before {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	top: 20px;
	left: 15px;
	margin: auto;
	box-sizing: border-box;
	border: 5px solid transparent;
	border-left: 6px solid #fff;
}

#header .menu-item .sub-menu li a {
	color: #fff !important;
}

#header .menu-item .sub-menu li a:hover {
	background: #1c82d6cf;
	color: #fff !important;
}

.nav_sp_ban {
	display: none;
}

.nav_group {
	position: relative;
	display: inline-block;
}

@media screen and (max-width: 1450px) {
	#header.HeightMin {
		height: 110px;
	}

	.menu-item .sub-menu {
		display: none;
		width: 280px;
		position: absolute;
		top: 0px;
		right: 5px;
		z-index: 3;
	}

	#header.HeightMin nav>a {
		top: 20px;
	}

	#header nav ul,
	#header.HeightMin nav ul {
		justify-content: flex-end;
		padding-top: 55px;
		padding-right: 0;
	}

	#header nav ul li#nav06 a,
	#header nav ul li#nav07 a {
		top: 10px;
	}
}


#main {
	position: relative;
	text-align: center;
	margin-bottom: 2.5%;
}

#main>img {
	width: 80%;
	max-width: 600px;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 54%;
}

#top_con01 {
	background: url(../img/top_about01.jpg) no-repeat right top;
	background-size: 40% auto;
	padding: 1% 0 3%;
	margin-bottom: 3%;
}

#top_con01>div {
	width: 60%;
	max-width: 640px;
	margin-left: calc(50% - 550px);
}

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

	#top_con01>div {
		width: 47%;
		margin-left: 5%;
	}
}


#top_factory {
	background: url(../img/top_factory_bg.jpg) no-repeat right top;
	background-size: 100% auto;
	padding: 3% 0;
	box-sizing: border-box;
}

#top_factory>div {
	width: 90%;
	max-width: 900px;
	box-sizing: border-box;
	padding: 2% 3%;
	background: #ffffffc9;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto;
}

#top_factory>div>div:nth-child(1) {
	width: 40%;
}

#top_factory>div>div:nth-child(2) {
	width: 55%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#top_factory>div>div:nth-child(2)>img {
	width: 48%;
	margin-top: 3%;
}

@media screen and (max-width: 1230px) {
	#top_factory {
		background: url(../img/top_factory_bg.jpg) no-repeat right top;
		background-size: 150% auto;
	}
}

#top_product {
	background: #103087;
	background-size: 100% auto;
	padding: 1% 0 0;
	box-sizing: border-box;
	color: #fff;
}

#top_product>div {
	width: 90%;
	max-width: 1100px;
	box-sizing: border-box;
	padding: 2% 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto;
}

#top_product>div>div:nth-child(1) {
	width: 49%;
}

#top_product>div>div:nth-child(1)>div {
	font-size: 95%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 40px;
}

#top_product>div>div:nth-child(1)>div>div {
	width: 48%;
	margin-bottom: 3%;
}

#top_product>div>div:nth-child(1)>div>div a {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}

#top_product>div>div:nth-child(1)>div>div a i {
	font-size: 120%;
	display: inline-block;
	margin-left: 5px;
}

#top_product>div>div:nth-child(2) {
	width: 45%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#top_product>div>div:nth-child(2)>a {
	display: block;
	width: 28.5%;
	color: #fff;
	font-size: 80%;
	text-align: center;
	margin-bottom: 4%;
}

#top_product>div>div:nth-child(2)>a img {
	margin-bottom: 5px;
}

@media screen and (max-width: 1100px) {
	#top_product>div>div:nth-child(1)>div {
		margin-top: 20px;
	}

	#top_product>div>div:nth-child(1)>div>div {
		width: 48%;
		margin-bottom: 3%;
		font-size: 85%;
	}

	#top_product>div>div:nth-child(1)>div>div a {
		padding: 15px 20px 15px 20px;
	}

	#top_product>div>div:nth-child(1)>div>div a.no_tri {
		padding: 15px 10px 15px 10px !important;
	}


	#top_product>div>div:nth-child(2)>a {
		width: 31%;
		font-size: 70%;
		margin-bottom: 8%;
	}
}



#top_news {
	padding: 3% 0 4%;
}

#top_news>div {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#top_news .ttl {
	width: 220px;
}


#top_news .news_dl {
	width: calc(100% - 220px);
}

#top_news .news_dl dl {
	font-size: 17px !important;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	text-align: left;
	padding: 2.5% 4%;
	border-bottom: 1px solid #ccc;
}

#top_news .news_dl dl dt {
	width: 11.5em;
}

#top_news .news_dl dl dd {
	width: calc(100% - 11.5em);
}

#top_group {
	padding: 1% 0;
	background: #edeaea;
}

#top_group>div {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#top_group .ttl {
	width: 220px;
}


#top_group>div>div:nth-child(2) {
	width: calc(100% - 220px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 15px;
}

#top_group>div>div:nth-child(2) dl {
	width: 50%;
	display: flex;
	align-items: flex-start;
}

#top_group>div>div:nth-child(2) dl:nth-child(1) dt img {
	width: 170px;
	margin: 0 15px 10px 0;
}

#top_group>div>div:nth-child(2) dl:nth-child(2) dt img {
	width: 200px;
	margin: 0 15px 10px 0;
}

#top_group>div>div:nth-child(2) dl dd span {
	line-height: 1.4;
	font-weight: bold;
	display: block;
}






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

	#top_news .news_dl {
		width: calc(100% - 200px);
	}

	#top_news .ttl {
		width: 200px;
	}


	#top_news .news_dl dl {
		font-size: 90%;
	}

	#top_group .ttl {
		width: 180px;
	}

	#top_group>div>div:nth-child(2) {
		width: calc(100% - 180px);
		font-size: 80%;
	}

	#top_group>div>div:nth-child(2) dl:nth-child(1) {
		width: 43%;
	}

	#top_group>div>div:nth-child(2) dl:nth-child(1) dt img {
		width: 120px;
	}

	#top_group>div>div:nth-child(2) dl:nth-child(2) {
		width: 53%;
	}

	#top_group>div>div:nth-child(2) dl:nth-child(2) dt img {
		width: 150px;
	}
}


#top_recruit {
	background: url(../img/top_recruit01.png) no-repeat #e0eaf3 right top;
	background-size: auto 100%;
	padding: 4% 0 4%;
}

#top_recruit>div {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}

#top_recruit>div>div {
	width: 500px;
	background: #ffffffc7;
	box-sizing: border-box;
	padding: 2% 3%;
}

#top_recruit p {
	margin-bottom: 7%;
}

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

	#top_recruit .ttl h2 {
		font-size: 100%;
	}

	#top_recruit .ttl h2 span {
		font-size: 180%;
	}

	#top_recruit .ttl {
		width: 55%;
	}

}

footer {
	padding: 2% 0 0.5%;
	background: #103087;
	color: #fff;
}

#footer_data {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#footer_data>div {
	width: 33%;
}

#footer_data>div img {
	max-width: 320px;
}

#footer_data>div p {
	line-height: 1.6;
	margin: 10px 0;
}

#footer_data>ul {
	width: 65%;
	max-width: 680px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

#footer_data>ul li {
	width: 48%;

}

#footer_data>ul li a {
	width: 100%;
	height: 100%;
	padding: 3% 2%;
	box-sizing: border-box;
	border: 1px solid #fff;
	text-align: center;
	display: block;
	color: #fff !important;
	line-height: 1.6;
	font-size: 90%;
}

.foot_tel a span:nth-child(1) {
	font-size: 120%;
}

.foot_tel a span:nth-child(2) {
	font-size: 150%;
	font-weight: bold;
	display: block;
}

.foot_contact a {
	font-size: 120%;
	font-weight: bold;
	display: block;
	position: relative;
}

.foot_contact a:hover {
	background: #ffffff42;
	transition: all 0.5s;
}

.foot_contact a i {
	font-size: 120%;
	margin-right: 5px;
}

.foot_contact a span {
	width: 100%;
	height: 1.5em;
	font-size: 120%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	display: inline-block;
}

#copy {
	background: #103080;
	padding: 10px 0;
	text-align: center;
	color: #fff;
	margin-bottom: 0;
}

.br_1100 {
	display: none;
}

@media screen and (max-width: 1100px) {
	#footer_data>div p {
		font-size: 90%;
	}

	#footer_data>ul {
		font-size: 90%;
	}

	.br_1100 {
		display: inline;
	}
}

/*---------------------------------------------
 **  ページトップ
---------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 0;
	right: 0px;
	z-index: 999;
}

#pageTop a {
	display: block;
	width: 50px;
	height: 50px;
	background: url(../img/page_top.jpg) no-repeat;
	background-size: 100%;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}

#pageTop a:hover {
	text-decoration: none;
	opacity: 0.5;
}


/* お知らせ */
#news .news_data {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 10%;
}

.blog-kiji {
	margin-bottom: 5%;
}

.info_data img {
	width: auto !important;
	max-width: 100%;
	margin: 0 auto;
}

.kiji-date {
	font-size: 90%;
	font-weight: bold;
	margin-bottom: 5px;
	display: inline-block;
	background: #efefef;
	padding: 0 10px;
}

#news.lower h3 {
	width: 100%;
	text-align: left;
	font-size: 160%;
	line-height: 1.8;
}

.news_list {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 10%;
}

.news_list>dl {
	padding: 3%;
	box-sizing: border-box;
	border-bottom: 1px dotted #ccc;
	margin-bottom: 3%;
}

.news_list>dl dt a {
	font-size: 120%;
	font-weight: bold;
	color: #103080 !important;
}

.news_list>dl dt a:hover {
	color: #297ed0 !important;
	transition: all 0.5s;
}

/* .news_list>dl dt span {
	font-size: 80%;
	font-weight: bold;
	margin-bottom: 5px;
	margin-right: 10px;
	display: inline-block;
	background: #efefef;
	padding: 0 10px;
	color: #000;
	} */




.kiji_btn a {
	width: 80%;
	max-width: 150px;
	background: #103080;
	padding: 5px 20px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	display: inline-block;
	margin: 20px 0 0;
	font-size: 90%;
	border-radius: 30px;
}

.info_data .kiji_btn {
	text-align: center;
}

.info_data .kiji_btn a {
	margin: 7% auto 15%;
	max-width: 200px;
}

.kiji_btn a:hover {
	background: #297ed0;
	transition: all 0.5s;
}

.info_data {
	width: 90%;
	max-width: 1100px;
	margin: 0% auto;
}

.info_data h3 {
	background: #103080;
	padding: 5px 0 0 3%;
	color: #fff;
	height: 80px;
	font-size: 130% !important;
	margin-bottom: 30px;
	margin-left: 15px;
	line-height: 1.5 !important;
	position: relative;
}

.info_data h3 :before {
	position: absolute;
	top: 0;
	left: -30px;
	content: '';
	border-width: 40px 30px 40px 0;
	border-style: solid;
	border-color: transparent #103080 transparent transparent;
}

.info_data h3 :after {
	position: absolute;
	top: calc(50% - 7px);
	left: -10px;
	width: 14px;
	height: 14px;
	content: '';
	border-radius: 50%;
	background: #fff;
}

.info_data h3>span {
	padding-left: 20px;
	display: inline-block;
	font-weight: bold;
}

.info_data h3>span span {
	font-size: 70%;
	font-weight: normal;
}

.info_con {
	width: 95%;
	margin: 3% auto;
}

.blog-kiji {
	width: 100%;
	margin: 2% auto 5%;
}

.info_img {
	max-width: 95%;
	text-align: center;
	margin: 0 auto 30px;
}

.info_img img {
	width: auto;
	max-width: 100%;
	margin: 10px auto 20px;
}

.info_data h4 {
	font-size: 110%;
	font-weight: bold;
	margin: 5% auto 3%;
	border-bottom: 5px solid #0f3080;
	background: #e7f0ff;
	padding: 15px 0 15px 20px;
	line-height: 1.6;
}

.blog-kiji p {
	width: 95%;
	line-height: 1.8 !important;
	margin: 0 auto 1em;
}

.info_data .btn {
	margin-top: 5%;
}

.link-docu-box {
	width: 93%;
	margin: 0 auto;
}

.pre_next {
	width: 100%;
	max-width: 1100px;
	margin: -2% auto 3%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	font-size: 90%;

}

.pre_next>div {
	width: 48%;
}

.pre_next>div:nth-child(2) {
	text-align: right;
}

/*wp-pagenavi base*/
.wp-pagenavi {
	clear: both;
	text-align: center;

}

.wp-pagenavi a,
.wp-pagenavi span {
	color: #999;
	background-color: #FFF;
	border: solid 1px #e0e0d2;
	padding: 8px 15px;
	margin: 0 2px;
	white-space: nowrap;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration: none;
}

.wp-pagenavi a:hover {
	color: #FFF;
	background-color: #999;
	border-color: #999;
}

.wp-pagenavi span.current {
	color: #FFF;
	background-color: #103080;
	border-color: #103080;
	font-weight: bold;
}

/* フォーム */

#contact {
	width: 90%;
	max-width: 800px;
	margin: 5% auto;
}

#contact p {
	margin-bottom: 5%;
}

.contact_form {
	max-width: 800px;
	margin: 40px auto;
}

.form_btn {
	text-align: center;
	margin: 40px 0;
}

.form_btn .input-btn01,
.form_btn .input-btn02 {
	margin: 0 auto;
}

input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

.info-txt {
	padding: 20px;
	background: #e5e6e5;
}

.color03 {
	color: #f16464;
}

.color04 {
	color: #4ea831;
}



.contact-dl {
	font-size: 15px;
	font-size: 1.5rem;
	border-bottom: solid 1px #ccc;
	padding-top: 20px;
	padding-bottom: 20px;
}

.contact-dl dt {
	vertical-align: top;
	width: 250px;
	display: inline-block;
	margin-right: 20px;
}

.contact-dl dd {
	width: 500px;
	display: inline-block;
	vertical-align: top;
}

.radio-span {
	display: block;
	margin-bottom: 10px;
}

.radio-span input {
	vertical-align: middle;
	margin-right: 6px;
}

.komoku {
	float: left;
	width: 175px;
	display: inline-block;
	margin-top: 0em;
}

.must {
	font-size: 13px !important;
	float: right;
	display: inline-block;
	color: #fff;
	background: #f16464;
	width: 60px;
	line-height: 1.0;
	text-align: center;
	padding: 0.5em 0;
}

input[type="text"],
input[type="email"],
textarea {
	width: 100%;
	padding: 0.6em;
	outline: none;
	border: 1px solid #DDD;
	font-size: 15px;
	background: #eeeeee;
	box-sizing: border-box;
}

.input-zip {
	width: 100px;
	padding: 0.6em;
	outline: none;
	border: 1px solid #DDD;
	font-size: 15px;
	background: #eeeeee;
	box-sizing: border-box;
	margin-right: 10px;
}

.input-box01 {
	width: 100%;
}

.input-box01c {
	width: 100% !important;
	margin-bottom: 8px !important;
}

.zip {
	width: 150px;
	border: solid 1px #ccc !important;
	padding: 7px 6px;
	background: #eeeeee;
}

.add-txt {
	display: inline-block;
	width: 9.4em;
}

.ml5 {
	margin-left: 5px;
}

.mwform-radio-field {
	margin: 0 15px;
}

.input-box02 {
	width: 100%;
	height: 200px;
}

.input-box03 {
	margin-top: -25px;
}

.input-btn01 {
	font-size: 16px;
	display: inline-block;
	padding: 1.0em 2.0em;
	color: #fff;
	background-color: #103080;
	border-radius: 6px !important;
}

.input-btn01:hover {
	background-color: rgba(51, 158, 219, 0.7);
}

.input-btn02 {
	font-size: 16px;
	display: inline-block;
	padding: 1.0em 2.0em;
	color: #fff;
	background: #888;
	margin-right: 30px !important;
	border-radius: 6px !important;
}

.input-btn02:hover {
	background: #ccc;
}

.confirm-p {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	padding: 20px;
}

.cr02 {
	color: #ff0000;
}

/* エラー吹き出し */
.error {
	font-weight: bold;
	display: inline-block;
	position: relative;
	padding: 0.5em 1.5em;
	color: #fff !important;
	border-radius: 6px;
	background: #f16464;
	font-size: 1.4rem;
	margin-top: 12px;
	width: 200px;
	text-align: center;
}

.error::before {
	content: '';
	position: absolute;
	left: 64px;
	top: -15px;
	display: block;
	width: 0;
	height: 0;
	border-right: 15px solid transparent;
	border-bottom: 25px solid #f16464;
	border-left: 15px solid transparent;
}

.input-box01b {
	width: 5em;
}

.contact-dl select {
	border: solid 1px #ccc;
}

.bg-type01 {
	background: #fbedef;
}

.bg-type02 {
	background: #f0fcee;
}

.confirm .no-confirm {
	display: none;
}

.form-btn {
	margin-top: 20px;
	margin-bottom: 40px;
}

.error-message {
	width: 90%;
	background: #fbedef;
	padding: 3% 5%;
	color: red;
	text-align: center;
}

.confirm,
.thanks-message {
	width: 90%;
	background: #CFEBF6;
	padding: 3% 5%;
	text-align: center;
}

.kakunin-wrap .kakunin_off{
display:none;
}


/*
-----------------------------------------------
追記
----------------------------------------------- */
.gazo-ninsho img{
width:200px !important;
height:auto !important;
}

/*
-----------------------------------------------
TOPページ一部変更
----------------------------------------------- */


.cate{
display:inline-block;
width:5.2em;
text-align:center;
padding:2px 0;
color:#fff;
font-size:13px;
margin-left:12px;
}

.news_list .cate{
margin-right:10px;
}


.info_data h3 .cate{
border:solid 1px #fff !important;
font-size:12px;
}

.product_news{
background:#eb6b38;
}

.equipment_news{
background:#326d53;
}

.recruit_news{
background:#2a83d3;
}

.event_news{
background:#3a99a7;
}

.company_news{
background:#003366;
}

.category_box ul{
padding:15px 10px;
background:#e6eaf1;
margin-bottom:30px;
}

.category_box ul li{
display:inline-block;
}

.category_box ul li .cate{
font-size:15px;
border-radius:4px;
width:6em;

}

.category_box ul li a{
color:#fff !important;
}

.category_box ul li a:hover{
opacity:0.6;
}

.news_category_h{
font-size:22px;
border-bottom:solid 1px;
padding-bottom:6px;
}


#top_movie {
  background-image: url("../img/mv_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 70%;
  text-align: center;
}

#top_movie .movie_bg {
  padding: 2% 0;
  background-color: rgba(27, 130, 214, 0.3);
  /*   padding-bottom: 60px; */
}

#top_movie>div>div {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}


.movie_btn a:hover{
opacity:0.8;
cursor:pointer;
}



