 @charset "utf-8";
/* CSS Document */

/*-------------------------------
	共通
--------------------------------*/
* {
	margin: 0px;
	padding: 0px;
	max-height: 9999999px; 
}
body {
	font-size:16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	text-align: center;
	color:#333;
	min-width:1020px;
	-webkit-text-size-adjust: 100%;
}

p,dt,dl {
	line-height:1.8;
}
img {
	border: none;
	height:auto;
	-ms-interpolation-mode: bicubic;
	-webkit-backface-visibility: hidden;
}
a {
	color:#1A4082;
	text-decoration:underline;
	text-decoration-thickness:1px;
	transition:background-color 0.4s;
}
a img {
	opacity:1;
	transition:opacity 0.4s;
	backface-visibility: hidden;
}
a:hover img  {
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
.ov {
	transition:opacity 0.4s;
}
.ov:hover {
	filter:alpha(opacity=60);
	opacity: 0.6;
}
table{
	border-collapse:collapse;
}
.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}
.pagetop {
	display: none;
	position: fixed;
	bottom:20px;
	right:20px;
}
.pagetop a {
	display: block;
}
.pagetop img {
	width:40px;
	vertical-align:bottom;
}
br.spbr {
	display:none;
}
br.pcbr {
}
.i-b span {
	display:inline-block;
}
.wrap {
	overflow:hidden;/*iPadの右側にできるスペース対策*/
}
.right {
	text-align:right;
}
.left { 
	text-align:left;
}
.center {
	text-align:center;
}
.box {
	width:1000px;
	margin:0 auto;
	overflow:hidden;
}
a.tel {
	display:inline-block;
	pointer-events:none;
}
.relative {
	position:relative;
}
.box-shadow { box-shadow:0 3px 3px rgba(0,0,0,0.25); }
.text-shadow { text-shadow:0 3px 3px rgba(0,0,0,0.25); }
@media only screen and (max-width:600px){
body {
	font-size: 16px;
	text-align:left;
	min-width:320px;
	-webkit-text-size-adjust: 100%;
}
p,li,dt,dl {
	line-height:1.6;
}
a {
	transition: none;
}
a:hover img  {
	opacity:1;
}
.ov:hover {
	filter:alpha(opacity=100);
	opacity:1;
}
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
}
.pagetop img {
	width:40px;
	height:40px;
}
br.spbr {
	display:block;
}
br.pcbr {
	display:none;
}
.box {
	width:auto;
	margin:0 15px;
}
a.tel {
	pointer-events:auto;
}
.pic img {
	width:100%;
}
}
/*-------------------------------
	フォントサイズ
--------------------------------*/
.f16{
	font-size:16px;
}
.f17{
	font-size:17px;
}
.f18{
	font-size:18px;
}
.f19{
	font-size:19px;
}
.f20{
	font-size:20px;
}
.f21{
	font-size:21px;
}
.f22{
	font-size:22px;
}
.f23{
	font-size:23px;
}
.f24{
	font-size:24px;
}
.f25{
	font-size:25px;
}
@media only screen and (max-width:600px){
.f16{
	font-size:14px;
}
.f17{
	font-size:15px;
}
.f18{
	font-size:16px;
}
.f19{
	font-size:17px;
}
.f20{
	font-size:18px;
}
.f21{
	font-size:19px;
}
.f22{
	font-size:20px;
}
.f23{
	font-size:21px;
}
.f24{
	font-size:22px;
}
.f25{
	font-size:23px;
}
}
/*-------------------------------
	マージン
--------------------------------*/
.mb10 {
	margin-bottom:10px;
}
.mb15 {
	margin-bottom:15px;
}
.mb20 {
	margin-bottom:20px;
}
.mb30 {
	margin-bottom:30px;
}
.mb40 {
	margin-bottom:40px;
}
.mb50 {
	margin-bottom:50px;
}
.mb60 {
	margin-bottom:60px;
}
.mb70 {
	margin-bottom:70px;
}
.mb80 {
	margin-bottom:80px;
}
.mb90 {
	margin-bottom:90px;
}
.lr20 {
	margin-right:20px;
	margin-left:20px;
}
@media only screen and (max-width:600px){
.mb10 {
	margin-bottom:5px;
}
.mb15 {
	margin-bottom:10px;
}
.mb20 {
	margin-bottom:10px;
}
.mb30 {
	margin-bottom:15px;
}
.mb40 {
	margin-bottom:20px;
}
.mb50 {
	margin-bottom:25px;
}
.mb60 {
	margin-bottom:30px;
}
.mb70 {
	margin-bottom:35px;
}
.mb80 {
	margin-bottom:40px;
}
.mb90 {
	margin-bottom:45px;
}
.lr20 {
	margin-right:10px;
	margin-left:10px;
}
}
/*-------------------------------
	フロート
--------------------------------*/
.float-wrap {
	overflow:hidden;
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap:wrap;
	margin:0 -2%;
}
.float-pc-five .float-box {
	width:16%;
}
.float-pc-four .float-box {
	width:21%;
}
.float-pc-three .float-box {
	width:29.3%;
}
.float-pc-two .float-box {
	width:46%;
}
.float-box {
	float:left;
	display:block;
	text-align:center;
	margin-left:2%;
	margin-right:2%
}
.float-box img {
	width:100%;
}
@media(max-width:600px){
.float-sp-three .float-box {
	width:29.3%;
}
.float-sp-two .float-box {
	width:46%;
}
.float-sp-one .float-box {
	width:100%;
}
.float-box {
	margin-left:2%;
	margin-right:2%
}
}
/*-------------------------------
	ヘッダー
--------------------------------*/
.header {
	width:100%;
	min-width:1100px;
	height:140px;
	background-color:#FFF;
}
.header a {
	color:#000;
	text-decoration:none;
}
.logo {
	font-size:40px;
	font-weight:700;
	float:left;
	padding:50px 0 0 20px;
	text-align:left;
	line-height:1;
}
.header-contact a {
	color:#FFF;
	font-size:17px;
	font-weight:500;
	width:175px;
	line-height:60px;
	margin:40px 20px 0;
	padding-left:25px;
	float:right;
	display:block;
	background-color:#1A4082;
	background-image: url(../images/header-mail.png);
	background-repeat: no-repeat;
	background-position: 35px 24px;
	border-radius:50px;
}
@media only screen and (max-width:600px){
.header {
	width:100%;
	min-width:320px;
	height:80px;
	background-color:#FFF;
}
.logo {
	font-size:24px;
	float:left;
	padding:28px 0 0 10px;
	text-align:left;
	line-height:1;
	position:relative;
	z-index:20;
}
.header-contact a {
	width:60px;
	line-height:60px;
	margin:10px 80px 0 0;
	padding-left:0;
	float:right;
	display:block;
	background-color:#FFF;
	background-image: url(../images/header-mail-sp.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 60px 60px;
	border-radius:0;
	position:relative;
	z-index:20;
	
	box-shadow:none;
	
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
}
/*-------------------------------
	メニュー
--------------------------------*/
#menu_bg {
	text-align:right;
	padding:55px 0 0;
}
#menu li {
	list-style-type: none;
}
#menu ul ul li {
	display: inline-block;
}
#menu ul ul li i {
	display:none;
}
#menu ul ul li a {
	font-size:17px;
	font-weight:500;
	margin-left:30px;
	display: inline-block;
	transition:color 0.4s;
}
#menu ul ul li a:hover {
	color:#CCC;
}
@media only screen and (max-width:600px){
#menu_bg {
	text-align:left;
	padding:0;
	width:100%;
	position:absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index:5;
}
#menu {
	margin-top:80px;
	background-color:#1A4082;
}
#menu li {
	list-style-type: none;
}
#menu ul ul li {
	display: block;
}
#menu ul ul li i {
	margin:0 15px 0 0;
	display: inline-block;
}
#menu ul ul li a {
	color:#FFF;
	font-size:18px;
	margin-left:0;
	padding:18px 20px;
	display:block;
	border-bottom:solid 1px #FFF;
}
#menu ul ul li a:hover {
	color:#FFF;
}
#menu ul.accordion strong {
	width:60px;
	height:60px;
	display:block;
	position:absolute;
	top:10px;
	right:10px;
	background-image:url(../images/menu_sp.png);
	background-size:60px 60px;
	z-index:10;
	border-radius:30px;
	box-shadow:0 3px 3px rgba(0,0,0,0.25);
}
#menu ul.accordion ul {
	display:none;
}
#menu ul.accordion > li {}
#menu ul.accordion > li > p { 
	cursor:pointer;}
#menu ul.accordion > li > p strong { background-image:url(../images/menu_sp.png); background-size:60px 60px;
transition: all 0.4s;}
#menu ul.accordion > li > p strong.open { background-image:url(../images/menu_sp_close.png); background-size:60px 60px;}
}

/*-------------------------------
	フッター
--------------------------------*/
.footer {
	color:#FFF;
	padding:80px 0;
	background-color:#2B2B2B;
}
.footer-logo {
	margin-bottom:20px;
}
.footer small {
	font-size:16px;
	display:block;
}
@media only screen and (max-width:600px){
.footer {
	font-size:15px;
	padding:40px 20px;
	text-align:center;
}
.footer-logo {
	margin-bottom:15px;
}
.footer-logo img {
	width:153px;
}
.footer small {
	font-size:14px;
	display:block;
}
}
/*-------------------------------
	スライドショー
--------------------------------*/
.main_imgBox {
	height:700px;
	overflow:hidden;
	position:relative;
	z-index:0;
	background-image: url(../images/topimg-bg-1.jpg);
	background-repeat: repeat-x;
}
.main_imgBox_bg {
	background-image: url(../images/topimg-bg-2.png);
	background-repeat: no-repeat;
	background-position: center;
}
.main_copy {
	display:table;
	width: 1100px;
	height:700px;
	margin:0 auto;
}
.main_copy h1 {
	color:#FFF;
	font-size:60px;
	line-height:1.4;
	font-weight:600;
	text-align:left;
	text-shadow: 5px 5px 0 rgba(6,40,98,1);
	display: table-cell;
	vertical-align: middle;
	position:relative;
	z-index:100;
}
.main_copy h1 span {
	font-size:75px;
}
.main_copy h1 span.company-name {
	font-size:35px;
}
.main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height:700px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 700px;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 18s 0s infinite;
    animation: anime 18s 0s infinite;
}
 .main_img:nth-of-type(2) {
      -webkit-animation-delay: 6s;
      animation-delay: 6s;
}
 .main_img:nth-of-type(3) {
      -webkit-animation-delay: 12s;
      animation-delay: 12s;
}
@keyframes anime {
  0% {
        opacity: 0;
    }
    16% {
        opacity: 1;
    }
    33% {
        opacity: 1;
    }
    50% {
        opacity: 0;
         z-index:9;
    }
    100% { opacity: 0 }
}
@media(max-width:600px){
.main_imgBox {
	height:200px;
	overflow:hidden;
	background-image: url(../images/topimg-bg-1.jpg);
	background-repeat: repeat-x;
	background-size:auto 200px;
}
.main_imgBox_bg {
	background-image: url(../images/topimg-bg-2.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size:auto 200px;
}
.main_copy {
	display:table;
	width:100%;
	height:200px;
}
.main_copy h1 {
	color:#FFF;
	font-size:25px;
	line-height:1.4;
	font-weight:600;
	text-align:left;
	padding-left:20px;
	text-shadow: 3px 3px 0 rgba(6,40,98,1);
	display: table-cell;
	vertical-align: middle;
	position:relative;
	z-index:100;
}
.main_copy h1 span {
	font-size:30px;
}
.main_copy h1 span.company-name {
	font-size:18px;
}
.main_img {
    height:200px;
	background-size: auto 200px;
}
}
/*-------------------------------
	トップページ：テキスト
--------------------------------*/
.top-box-bg {
	padding:80px 0;
	background-repeat: no-repeat;
	background-position: center top;
	background-size:cover;
	position: relative;
}
.top-box-bg-1 {
	background-image: url(../images/top-bg-1.jpg);
}
.top-box-bg-2 {
	background-image: url(../images/top-bg-2.jpg);
}
.top-box-bg::after {
	content: '';
	opacity:65%;
	background-color:#001F54;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.top-box-bg-1::after {
	background-image: linear-gradient(to bottom, #2C49B0, #0094FF);
}
.top-box-bg-2::after {
	background-image: linear-gradient(to bottom, #0D7D55, #008CB8);
}
.top-box {
	color:#FFF;
	font-size:18px;
	width:1000px;
	margin:0 auto;
	overflow:hidden;
	position: relative;
	z-index: 1;
}
.top-box h2 {
	font-size:65px;
	line-height:1.4;
	margin-bottom:30px;
}
.top-box h2 span.yorozu {
	margin:0 -20px;
}
.top-box h2 rt {
	font-size:25px;
	margin-bottom:-15px;
}

.top-box-left {
	width:330px;
	float:left;
}
.top-box-right {
	width:600px;
	float:right;
	margin-top:50px;
}
@media only screen and (max-width:600px){
.top-box-bg {
	padding:40px 30px;
	background-repeat: no-repeat;
	background-position: center top;
	background-size:cover;
}
.top-box {
	color:#FFF;
	width:100%;
	margin:0 auto;
}
.top-box h2 {
	font-size:35px;
	line-height:1.4;
	margin-bottom:20px;
}
.top-box h2 span.yorozu {
	margin:0 -10px;
}
.top-box h2 rt {
	font-size:16px;
	margin-bottom:-10px;
}

.top-box-left {
	width:100%;
	float:none;
}
.top-box-right {
	width:100%;
	float:none;
	margin-top:0;
}
}
/*-------------------------------
	トップページ：twitter
--------------------------------*/
.twitter {
	width:700px;
	margin:90px auto;
	/*border:solid 1px #CCC;*/
}
@media only screen and (max-width:600px){
.twitter {
	width:80%;
	margin:40px auto;
}
}
/*-------------------------------
	トップページ：リクルート
--------------------------------*/
.top-recruit {
	color:#FFF;
	background-color:#2560C7;
	background-image: linear-gradient(to bottom, #2560C7, #8372C9);
}
.top-recruit h2 {
	font-size:75px;
}
.top-recruit-wrap {
	width:1000px;
	margin:0 auto;
	padding:60px 0;
	overflow:hidden;
}
.top-recruit-txt {
	width:400px;
	float:right;
	text-align:center;
}
.top-recruit-pic {
	float:left;
}
@media only screen and (max-width:600px){
.top-recruit {
	color:#FFF;
	background-color:#2560C7;
	background-image: linear-gradient(to bottom, #2560C7, #8372C9);
	padding:0 30px;
}
.top-recruit h2 {
	font-size:35px;
}
.top-recruit-wrap {
	width:100%;
	margin:0 auto;
	padding:40px 0;
	overflow:hidden;
}
.top-recruit-txt {
	width:100%;
	float:none;
	text-align:center;
}
.top-recruit-pic {
	float:none;
}
.top-recruit-pic img {
	width:100%;
}
}
/*-------------------------------
	トップページ：インフォメーション
--------------------------------*/
.top-info {
	width:100%;
	height:700px;
	position:relative;
}
.top-info-txt {
	width:1000px;
	margin:0 auto;
	position:absolute;
	top:28%;
	left:0;
	right:0;
}
.top-info-map {
	float:right;
	width:55%;
	position:absolute;
	top:0;
	right:0;
}

.top-info-contact a {
	color:#FFF;
	font-size:17px;
	font-weight:500;
	text-decoration:none;
	width:200px;
	line-height:60px;
	padding-left:25px;
	display:block;
	background-color:#1A4082;
	background-image: url(../images/header-mail.png);
	background-repeat: no-repeat;
	background-position: 35px 24px;
	border-radius:50px;
	text-align:center;
}
.top-info-sns p {
	display:inline-block;
}
.top-info-sns a {
	font-size:35px;
	margin:0 10px;
	display:inline-block;
}
@media only screen and (max-width:600px){
.top-info {
	width:100%;
	height:auto;
}
.top-info-txt {
	width:100%;
	margin:40px auto;
	position: inherit;
	top:0;
	text-align:center;
}
.top-info-map {
	float:none;
	width:100%;
	position: inherit;
	height:400px;
}
.top-info-map iframe {
	height:400px;
}

.top-info-contact a {
	color:#FFF;
	font-size:17px;
	font-weight:500;
	text-decoration:none;
	width:200px;
	line-height:60px;
	padding-left:25px;
	display:inline-block;
	background-color:#1A4082;
	background-image: url(../images/header-mail.png);
	background-repeat: no-repeat;
	background-position: 35px 24px;
	border-radius:50px;
	text-align:center;
}
.top-info-sns p {
	display:inline-block;
}
.top-info-sns a {
	font-size:35px;
	margin:0 10px;
	display:inline-block;
}
}
/*-------------------------------
	技術
--------------------------------*/
.tech-mission {
	color:#FFF;
	font-weight:600;
	padding:2px 10px;
	margin-bottom:5px;
	display:inline-block;
	background-color:#7C70C8;
}
.tech-txt-1 {
	width:470px;
	padding-right:530px;
	margin:0 auto 80px;
}
.tech-txt-1-pic {
	width:600px;
	padding-left:670px;
	margin:0 auto;
	position:absolute;
	top:0;
	left:0;
	right:0;
}
.tech-txt-1-pic img {
	width:100%;
}
@media only screen and (max-width:1250px){
.tech-txt-1-pic {
	width:450px;
	padding-left:550px;
}
}

.tech-txt-2 {
	width:470px;
	padding-left:530px;
	margin:0 auto 80px;
	clear:both;
}
.tech-txt-2-pic {
	width:600px;
	padding-right:670px;
	margin:0 auto;
	position:absolute;
	top:0;
	left:0;
	right:0;
}
.tech-txt-2-pic img {
	width:100%;
}
@media only screen and (max-width:1250px){
.tech-txt-2-pic {
	width:450px;
	padding-right:550px;
}
}

@media only screen and (max-width:600px){
.tech-txt-1 {
	width:auto;
	padding-right:0;
	margin:0 15px 40px;
}
.tech-txt-1-pic {
	width:100%;
	padding-left:0;
	margin:30px auto 0;
	position: inherit;
}
.tech-txt-2 {
	width:auto;
	padding-left:0;
	margin:0 15px 40px;
}
.tech-txt-2-pic {
	width:100%;
	padding-right:0;
	margin:30px auto 0;
	position: inherit;
}
}
/*-------------------------------
	機械設備
--------------------------------*/
.machine h2 {
	color:#FFF;
	font-size:20px;
	padding:15px;
	margin-bottom:10px;
	background-color:#1A4082;
	border-radius:5px;
}
.machine table {
	width:100%;
	border-top: solid 1px #CCC;
	border-left: solid 1px #CCC;
}
.machine table th {
	padding:10px;
	text-align:center;
	background-color:#EEE;
	border-right:solid 1px #CCC;
	border-bottom: solid 1px #CCC;
}
.machine table td {
	padding:10px;
	border-right: solid 1px #CCC;
	border-bottom: solid 1px #CCC;
}
@media only screen and (max-width:600px){
.machine h2 {
	color:#FFF;
	font-size:18px;
	padding:10px;
	margin-bottom:10px;
	background-color:#1A4082;
	border-radius:5px;
}
.machine table {
	font-size:10px;
	width:100%;
	border-top: solid 1px #CCC;
	border-left: solid 1px #CCC;
}
.machine table th {
	padding:3px;
	text-align:center;
	background-color:#EEE;
	border-right:solid 1px #CCC;
	border-bottom: solid 1px #CCC;
}
.machine table td {
	padding:3px;
	border-right: solid 1px #CCC;
	border-bottom: solid 1px #CCC;
}
}
/*-------------------------------
	開発秘話
--------------------------------*/
.story-num {
	color:#FFF;
	font-size:25px;
	font-weight:700;
	padding:10px 15px;
	margin-bottom:30px;
	display:block;
	background-color:#0094FF;
}
.story h2 {
	font-size:35px;
	margin-bottom:20px;
}
.story-pic-r {
	width:450px;
	float:right;
	margin:0 0 20px 50px;
}
.story-pic-r img {
	width:100%;
}
.story .float-box {
	margin-bottom:30px;
}
@media only screen and (max-width:600px){
.story-num {
	color:#FFF;
	font-size:18px;
	font-weight:700;
	padding:10px 15px;
	margin-bottom:30px;
	display:block;
	background-color:#0094FF;
}
.story h2 {
	font-size:23px;
	margin-bottom:20px;
}
.story-pic-r {
	width:100%;
	float:none;
	margin:0 0 20px;
}
.story-pic-r img {
	width:100%;
}
.story .float-box {
	margin-bottom:20px;
}
}
/*-------------------------------
	リクルート
--------------------------------*/
.recruit h2 {
	color:#FFF;
	font-size:50px;
	padding:60px 0;
	background-color:#2560C7;
	text-align:center;
}
.recruit h2.h2-ppl {
	background-color:#7C70C8;
}
.recruit h2.h2-gr1 {
	background-image: linear-gradient(to bottom, #2560C7, #7C70C8);
}
.recruit h2.h2-gr2 {
	background-image: linear-gradient(to bottom, #7C70C8, #2560C7);
}
@media only screen and (max-width:600px){
.recruit h2 {
	color:#FFF;
	font-size:30px;
	padding:30px 0;
	background-color:#2560C7;
	text-align:center;
}
}
/*-------------------------------
	リクルート：社長メッセージ
--------------------------------*/
.ceo-message {
	display:table;
	width:100%;
	height:350px;
	margin-bottom:40px;
}
.ceo-message h3 {
	display:table-cell;
	vertical-align:middle;
	text-align:left;
}
.ceo-message-pic {
	position:absolute;
	top:0;
	right:0;
}
@media only screen and (max-width:600px){
.ceo-message {
	display:inherit;
	width:100%;
	height:auto;
	margin-bottom:20px;
}
.ceo-message h3 {
	display: inherit;
	vertical-align: inherit;
	text-align:left;
}
.ceo-message-pic {
	position: inherit;
	text-align:center;
	margin-bottom:15px;
}
.ceo-message-pic img {
	width:175px;
}
}
/*-------------------------------
	リクルート：先輩社員の声
--------------------------------*/
.senpai-header {
	display:table;
	width:100%;
	height:350px;
}
.senpai-header-txt {
	display:table-cell;
	vertical-align:middle;
	text-align:left;
}
.senpai-header-pic {
	position:absolute;
	top:0;
	right:0;
}
@media only screen and (max-width:600px){
.senpai-header {
	display:inherit;
	width:100%;
	height:auto;
	margin-bottom:20px;
}
.senpai-header-txt {
	display: inherit;
	vertical-align: inherit;
	text-align:left;
}
.senpai-header-pic {
	position: inherit;
	text-align:center;
	margin-bottom:15px;
}
.senpai-header-pic img {
	width:175px;
}
.senpai-header-pic-2 img {
	width:250px;
}
}
/*-------------------------------
	リクルート：募集要項
--------------------------------*/
.recruit-youkou h3 {
	color:#FFF;
	font-size:20px;
	padding:15px;
	background-color:#7C70C8;
	border-radius:5px;
}
.recruit-youkou dt {
	padding:15px 15px 0;
	float:left;
}
.recruit-youkou dd {
	padding:15px 15px 15px 150px;
	border-bottom:solid 1px #CCC;
}
.recruit-modelcase {
	padding:30px;
	border:solid 10px #EEE;
}
.recruit-modelcase h3 {
	font-size:20px;
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:solid 1px #333;
}
@media only screen and (max-width:600px){
.recruit-youkou h3 {
	color:#FFF;
	font-size:18px;
	padding:10px;
	background-color:#7C70C8;
	border-radius:5px;
}
.recruit-youkou dt {
	padding:15px 0 0 10px;
	float:left;
}
.recruit-youkou dd {
	padding:15px 0 15px 80px;
	border-bottom:solid 1px #CCC;
}
.recruit-modelcase {
	padding:20px;
	border:solid 8px #EEE;
}
.recruit-modelcase h3 {
	font-size:18px;
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:solid 1px #333;
}
}
/*-------------------------------
	会社概要
--------------------------------*/
.company h2 {
	color:#FFF;
	font-size:20px;
	padding:15px;
	margin-bottom:10px;
	background-color:#1A4082;
	border-radius:5px;
}
.company dl {
	border-top:solid 1px #CCC;
}
.company dt {
	font-weight:700;
	padding:15px 15px 0;
	float:left;
}
.company dd {
	padding:15px 15px 15px 250px;
	border-bottom:solid 1px #CCC;
}
@media only screen and (max-width:600px){
.company h2 {
	color:#FFF;
	font-size:18px;
	padding:10px;
	margin-bottom:10px;
	background-color:#1A4082;
	border-radius:5px;
}
.company dt {
	padding:15px 0 0 10px;
	float:none;
}
.company dd {
	padding:5px 0 15px 10px;
	border-bottom:solid 1px #CCC;
}
}
/*-------------------------------
	プライバシーポリシー
--------------------------------*/
.privacyppolicy h2 {
	font-size:20px;
	margin-bottom:10px;
}
.privacyppolicy p {
	margin-bottom:40px;
}
@media only screen and (max-width:600px){
.privacyppolicy h2 {
	font-size:18px;
	margin-bottom:10px;
}
.privacyppolicy p {
	margin-bottom:20px;
}
}
/*-------------------------------
	テンプレート
--------------------------------*/
.top {
	text-align:left;
}
.main {
	text-align:left;
}
.h1-bg h1 {
	color:#FFF;
	font-size:40px;
	position: relative;
	z-index: 1;
}
.h1-bg-tech {
	background-image: url(../images/h1-tech.jpg);
}
.h1-bg-machine {
	background-image: url(../images/h1-machine.jpg);
}
.h1-bg-story {
	background-image: url(../images/h1-story.jpg);
}
.h1-bg-recruit {
	background-image: url(../images/h1-recruit.jpg);
}
.h1-bg-company {
	background-image: url(../images/h1-company.jpg);
}
.h1-bg-contact {
	background-image: url(../images/h1-contact.jpg);
}
.h1-bg {
	line-height:250px;
	text-align:center;
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	position: relative;
}
.h1-bg::after {
	content: '';
	opacity:80%;
	background-color:#001F54;
	background-image: linear-gradient(to bottom, #001F54, #1A4082);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

h3.h3-32 {
	font-size:32px;
}
h3.h3-35 {
	font-size:35px;
}
h3.h3-40 {
	font-size:40px;
}

.c-blue {
	color:#1A4082;
}

.hr-dot {
	width:1000px;
	margin:70px auto;
	border-top:none;
	border-right:none;
	border-left:none;
	border-bottom:dashed 1px #333;
}

.btn-wrap {
	text-align:center;
	clear:both;
}
.btn-wrap p {
	display:inline-block;
}
.btn-wrap p a {
	font-size:24px;
	font-weight:500;
	text-decoration:none;
	width:355px;
	line-height:80px;
	margin:0 30px 5px;
	border-radius:50px;
	background-color:#FFF;
	display:inline-block;
	background-image: url(../images/btn-arr.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size:23px 12px;
	box-shadow:0 3px 3px rgba(0,0,0,0.25);
}
.btn-wrap p a:hover {
	color:#FFF;
	background-image: url(../images/btn-arr-wh.png);
	background-color:#1A4082;
}
.btn-wrap.btn-border p a {
	box-sizing:border-box;
	border:solid 2px #1A4082;
}
@media only screen and (max-width:600px){
.h1-bg h1 {
	color:#FFF;
	font-size:25px;
	position: relative;
	z-index: 1;
}
.h1-bg {
	line-height:150px;
	text-align:center;
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	position: relative;
}

h3.h3-32 {
	font-size:22px;
}
h3.h3-35 {
	font-size:23px;
}
h3.h3-40 {
	font-size:24px;
}

.hr-dot {
	width:auto;
	margin:40px 15px;
	border-top:none;
	border-right:none;
	border-left:none;
	border-bottom:dashed 1px #333;
}

.btn-wrap p a {
	font-size:20px;
	text-decoration:none;
	width:250px;
	line-height:60px;
	margin:0 0 30px;
	border-radius:40px;
	background-color:#FFF;
	display:inline-block;
	background-image: url(../images/btn-arr.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size:23px 12px;
}
.btn-wrap p a:hover {
	color:#FFF;
	background-image: url(../images/btn-arr-wh.png);
	background-color:#1A4082;
}
}

/*-------------------------------
	お問い合わせ
--------------------------------*/
.contact h2 {
	color:#FFF;
	font-size:20px;
	padding:15px;
	margin-bottom:10px;
	background-color:#1A4082;
	border-radius:5px;
}
.contact dl {
	border-top:solid 1px #CCC;
}
.contact dt {
	font-weight:700;
	padding:25px 15px 0;
	float:left;
}
.contact dl.kakunin dt {
	padding:15px 15px 0;
}
.contact dd {
	padding:15px 15px 15px 250px;
	border-bottom:solid 1px #CCC;
}
.hissu {
	color:#FF9900;
	font-weight:bold;
}
.select span {
	display:block;
}
@media only screen and (max-width:600px){
.contact h2 {
	color:#FFF;
	font-size:18px;
	padding:10px;
	margin-bottom:10px;
	background-color:#1A4082;
	border-radius:5px;
}
.contact dt {
	padding:15px 0 0;
	float:none;
}
.contact dl.kakunin dt {
	padding:15px 0 0;
}
.contact dd {
	padding:10px 0 15px;
	border-bottom:solid 1px #CCC;
}
}
/*-------------------------------
	フォーム
--------------------------------*/
input[type="text"],input[type="tel"],input[type="button"],input[type="reset"],input[type="submit"],textarea,select {
	outline: none;
	-webkit-appearance: none;
}

.input_txt {
	font-size:16px;
	font-family: "遊ゴシック体", "遊ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Miryo, sans-serif;
	display:block;
	min-width:100%;
	padding:10px;
	border:1px solid #CCC;
	border-radius: 5px;
	box-sizing:border-box;
}
.input_ad {
	display:inline-block;
	min-width:150px;
}
.input_txt:focus {
	border:solid 1px #FF9900;
}
#contact_btn {
	text-align:center;
	margin:50px 0 0;
}
#contact_btn input {
	color:#FFF;
	font-size:20px;
	font-weight:bold;
	font-family: "遊ゴシック体", "遊ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Miryo, sans-serif;
	padding:15px 100px 12px;
	background-color:#1A4082;
	border-radius: 50px;
	border:none;
	cursor:pointer;
}
#contact_btn input.btn_reset {
	padding:15px 30px 12px;
	background-color:#999;
}
@media only screen and (max-width:600px){
.input_txt {
	min-width:100%;
	padding:5px 10px;
	border-radius:5px;
}
.input_ad {
	display:inline-block;
	min-width:100px;
}
#contact_btn {
	text-align:center;
	margin:30px 0 0;
}
#contact_btn input {
	font-size:16px;
	padding:0 60px;
	line-height:50px;
}
#contact_btn input.btn_reset {
	padding:0 20px;
	line-height:50px;
}
}

/*-------------------------------
	フォーム：ラジオボタン装飾
--------------------------------*/
.contact-radio input{
	display: none;
}
.contact-radio label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 10px;
	padding: 10px 0  10px 18px;
	border-radius: 2px;
	text-align:left;
	line-height: 1;
}
.contact-radio label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 18px;
	height: 18px;
	margin-top: -10px;
	background: #FFF;
	border-radius: 50%;
	border:1px solid #999;
}
.contact input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: -5px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background:#FF6600;
}
