/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html,
button,
input,
select,

textarea {
    color: #222;
}

html {
	font-size: 88%;
	line-height: 1.6;
}

body {
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Times New Roman , Georgia;
	-webkit-text-size-adjust: 100%;
}
a { overflow: hidden; outline: none;}
a:link { color: #1A9BED; text-decoration: none; }
a:visited { color: #1A9BED; text-decoration: none; }
a:hover { color: #1A9BED; text-decoration: underline; }
a:active { color: #1A9BED; text-decoration: underline; }
a:focus{outline: none;}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
	vertical-align: middle;
}
img {width: 100%;}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
a img.linkimg{
background:none!important;
}
a:hover img.linkimg{
opacity:0.6;
filter:alpha(opacity=60);
-ms-filter: "alpha( opacity=60 )";
background:none!important;
    -webkit-transition: all .5s;
    transition: all .5s;
}
.clear { clear:both;}
.br_pconly {display:block;}
.br_sponly {display:none;}
.bold {font-weight:bold;}
.red { color:#FF0000;}
.m-auto {margin:0 auto !important;}
.pt30 {padding-top:30px !important;}
/* -----------------------------------------------
ヘッダー・グローバルナビ部分
----------------------------------------------- */ 
/* header */
#top-head {
	position: fixed;
    width: 100%;
    margin: -80px auto 0;
    padding: 0 40px 0;
	background: #fff;
    z-index: 999;
	border-bottom: solid 4px #0081FF;
}
#top-head a,
#top-head {
	text-decoration: none;
}
#top-head .inner {
	position: relative;
	width:100%;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	height: 80px;
	padding: 18px 0;
	box-sizing:border-box;
}
#top-head .inner:after {
    content: "";
    clear: both;
    display: block;
}

#top-head .logo {
	margin: 0;
	padding:0;
	width:100%;
	max-width:384px;
	border-bottom: solid 4px #121957;
	height: 66px;
}

#global-nav ul {
	margin: 0 0 0 0;
	padding:0;
	list-style: none;
	position: absolute;
	right: 0;
	top: 0;
	height:90px;line-height:88px;
}
#global-nav ul li {
	display:inline-block;
	vertical-align:middle;
	position:relative;
	font-weight:bold;
}
#global-nav ul li a {
	padding:0 .4em;
	text-align:left;
	margin: 0 .2em;
}
#global-nav ul li a:link,
#global-nav ul li a:visited
{ color:#000;text-decoration: none; }
#global-nav ul li a:hover,
#global-nav ul li a:active
{
	color:#000;
	text-decoration: none;
	border-bottom:solid #004097 3px;
}
header {
	width: 100%;
	max-width: 2200px;
	padding: 0 0 55.9%;
	background-image: url(../images/head_img.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	height: 0;
	position: relative;
	margin: 80px auto 0;
}
header h1 {
	margin:0 auto;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
}
header h1 span {font-size: 18px;}

header .main_copy {
	position: absolute;
	top: 5%;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 980px;
	height: 120px;
	margin: 0 auto;
	text-align: center;
	background-image: url(../images/head_copy_logo.png);
	background-repeat: no-repeat;
	background-position: center right;
	padding:0 110px 0 0;
}

/* -----------------------------------------------
TOP共通
----------------------------------------------- */
#TOP_news,#TOP_strength,#TOP_facility,#TOP_company,#TOP_recruit {
	width: 100%;
	max-width:2200px;
	padding: 60px 0;
}
.TOP_news,.TOP_strength,.TOP_company,.TOP_recruit {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 0;
	overflow: hidden;
}
#TOP_news h1,.TOP_strength h1,.TOP_facility h1,.TOP_company h1,.TOP_recruit h1 {
	margin:0 0 0 0;
	font-size:36px;
	font-weight:bold;
}
#TOP_news h1::after,
.TOP_strength h1::after,
.TOP_facility h1::after,
.TOP_company h1::after,
.TOP_recruit h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #121957;
}
.ruby{color:#808080;font-weight: bold;margin: 1em auto;}
.ruby_white{color:#fff;font-weight: bold;margin: 1em auto;}


 /* -----------------------------------------------
TOP_news
----------------------------------------------- */
#TOP_news {
	background: #ebebeb;
	margin: 0 auto;
    text-align: center
}
.TOP_news {
    height: 10em;
    overflow: auto;
}

.TOP_news dl{width: 100%; margin:2em auto 0; text-align:left; }
.TOP_news dt{
	display: block;
	width: 24%;
	clear: left;
	float: left;
	font-weight:bold;
}
.TOP_news dt .category{
	display: inline-block;
	padding:.2em 0;
	background:#fff;
	margin:0 0 0 2em;
	width:6em;
	text-align:center;
	font-size: 12px;
}
.TOP_news dt .category li{
	padding:.2em .4em;
}

.TOP_news dd{
	display: block;
	width: 76%;
	float: left;
	margin:0 0 20px 0;
	padding:0;
	box-sizing:border-box;
}
.TOP_news dd a:link,
.TOP_news dd a:visited { color: #222; text-decoration: none; }
.TOP_news dd a:hover,
.TOP_news dd a:active { color: #222; text-decoration: underline; }

 /* -----------------------------------------------
TOP_strength
----------------------------------------------- */
#TOP_strength {
	background:linear-gradient(180deg, #fff 0%,#fff 40%, #d3e0ed 40%,#d3e0ed 100%);
}
.TOP_strength .copy {
	font-size: 20px;
	font-weight: bold;
	color: #121957;
	margin: 0 auto;
	padding: 0;
}
.TOP_strength .strength_box {
	width:100%;
	padding:40px 0 20px;
	margin:0 auto;
}
.TOP_strength .strength_left {
	text-align: left;
	position: relative;
}
.TOP_strength .strength_right {
	text-align: right;
	position: relative;
}
.TOP_strength .strength_left .strengthbox,
.TOP_strength .strength_right .strengthbox{
	position: absolute;
	background: #fff;
	padding: 2% 3%;
	text-align: left;
	border-radius: 4px;
	box-shadow: 2px 2px 4px #cccccc;
	width: 500px;
}
.TOP_strength .strength_left img,
.TOP_strength .strength_right img{max-width: 640px;}

.TOP_strength .strength_left .strengthbox{top: 10%;right:4px;}
.TOP_strength .strength_right .strengthbox{top: 10%;left:0;}
.TOP_strength .strength_title {font-size: 26px;font-weight: bold;color: #0081ff;margin: 0 auto .5em;}
.TOP_strength .strength_subtitle {font-size: 20px;font-weight: bold;color: #121957;margin: 0 auto .5em;}
.TOP_strength p {margin: 0;}

.TOP_strength .go_detail {
	width:427px;
	height: 50px;
	line-height:50px;
	text-align:center;
	margin: 20px auto 0;
	font-weight: bold;
}
.TOP_strength .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/go_detail.png);
	background-repeat: no-repeat;
	background-position: right top;
	color: #fff;
}
.TOP_strength .go_detail a:link,
.TOP_strength .go_detail a:visited
{  text-decoration: none; }
.TOP_strength .go_detail a:hover,
.TOP_strength .go_detail a:active{
	transition:all 0.5s;
	background-image:url(../images/go_detail_h.png);
	background-repeat: no-repeat;
	text-decoration: none;
}
 /* -----------------------------------------------
TOP_facility
----------------------------------------------- */
#TOP_facility {
	background:#ebebeb;
}
.TOP_facility {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 0;
	overflow: hidden;
}

.TOP_facility .facility_left {
	margin-top: 40px;
	text-align: left;
	position: relative;
}
.TOP_facility .facility_left img {max-width: 987px;
}

.TOP_facility .facility_left .copybox{
	position: absolute;
	text-align: left;
	width: 42%;
	max-width: 520px;
	top: 10%;
	left:8%;
	color: #fff;
}
.TOP_facility .facility_left .copybox p{font-size: 28px; font-weight: bold;margin:0 auto .5em;}

.TOP_facility .facility_left .facilitybox{
	position: absolute;
	background: #fff;
	padding: 4% 10% 4% 2%;
	text-align: left;
	border-radius: 4px;
	box-shadow: 2px 2px 4px #cccccc;
	width: 48%;
	top: 8%;
	right:4px;
}
.facilitybox ul {
	margin: 0 auto 40px;;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.facilitybox ul li {
	margin: 0;
	padding: 0 5% 0 0;
	width: 36%;
	display: inline-block;
	vertical-align: top;
}
.facilitybox ul li:last-child {
	padding: 0 0 0 0;
	width: 26%;
}
.facilitybox .faci_midashi {font-weight: bold;margin-bottom: 1em;}
.facilitybox .faci_detail {font-size: 12px; margin-bottom: .5em;padding-bottom: .5em; border-bottom: solid 1px #cccccc;}
.facilitybox .faci_detail:before{content: "●"; color:#0081ff;padding-right: .2em;}
.TOP_facility .go_detail {
	width:427px;
	height: 50px;
	line-height:50px;
	text-align:center;
	margin: 30px auto 0;
	font-weight: bold;
}
.TOP_facility .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/go_detail.png);
	background-repeat: no-repeat;
	background-position: right top;
	color: #fff;
}
.TOP_facility .go_detail a:link,
.TOP_facility .go_detail a:visited
{  text-decoration: none; }
.TOP_facility .go_detail a:hover,
.TOP_facility .go_detail a:active{
	transition:all 0.5s;
	background-image:url(../images/go_detail_h.png);
	background-repeat: no-repeat;
	text-decoration: none;
}

 /* -----------------------------------------------
TOP_company
----------------------------------------------- */
.TOP_company .company_box {
	width:100%;
	padding:40px 0 20px;
	margin:0 auto;
}
.company_box .company_left {
	float: left;
	width: 50%;
	text-align: left;
	padding-right: 5%;
}
.company_left .company_title {font-size: 28px;font-weight: bold;color: #121957;margin: 0 auto 1em;}
.company_left p {margin: 0;}
.TOP_company .go_detail {
	width:427px;
	height: 50px;
	line-height:50px;
	text-align:center;
	margin: 30px auto 0;
	font-weight: bold;
}
.TOP_company .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/go_detail.png);
	background-repeat: no-repeat;
	background-position: right top;
	color: #fff;
}
.TOP_company .go_detail a:link,
.TOP_company .go_detail a:visited
{  text-decoration: none; }
.TOP_company .go_detail a:hover,
.TOP_company .go_detail a:active{
	transition:all 0.5s;
	background-image:url(../images/go_detail_h.png);
	background-repeat: no-repeat;
	text-decoration: none;
}

.company_box .company_right {
	float: right;
	width: 50%;
}
.company_box .company_right img {width: 100%;}

 /* -----------------------------------------------
TOP_recruit
----------------------------------------------- */
#TOP_recruit {
	background: #d3e0ed;
	padding: 60px 0 0;
}
.TOP_recruit .copy {
	font-size: 20px;
	font-weight: bold;
	color: #121957;
	margin: 0 auto;
	padding: 0;
}
#TOP_recruit img {
	width: 100%;}
.TOP_recruit .go_detail {
	width:427px;
	height: 50px;
	line-height:50px;
	text-align:center;
	margin: 30px auto;
	font-weight: bold;
}
.TOP_recruit .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/go_recruit.png);
	background-repeat: no-repeat;
	background-position: right top;
	color: #fff;
}
.TOP_recruit .go_detail a:link,
.TOP_recruit .go_detail a:visited
{  text-decoration: none; }
.TOP_recruit .go_detail a:hover,
.TOP_recruit .go_detail a:active{
	transition:all 0.8s;
	background-image:url(../images/go_recruit_h.png);
	background-repeat: no-repeat;
	text-decoration: none;
	color: #ff0000;
}
/* -----------------------------------------------
共通
----------------------------------------------- */
.pr_box {
	margin: -80px auto 0;
	width: 100%;
	max-width: 1100px;
	position: relative;
	z-index: 99;
	overflow: hidden;
}
.pr_box .list {
	margin: 0 auto 2em 0;
	list-style: none;
	padding: 0;
}
.pr_box .list li {
	display: inline;
	color: #fff;
	font-size: 12px;
}
.pr_box .list li:before {content: " > ";}
.pr_box .list li:first-child:before {content: none;}

.pr_box .list li a:link,
.pr_box .list li a:visited{color: #fff;text-decoration: none; }
.pr_box .list li a:hover,
.pr_box .list li a:active{color: #fff;text-decoration: underline; }

.pr_box .submenu {
	list-style: none;
	padding: 1%;
	background: #ebebeb;
	border-radius: 6px;
	margin: 0 40px;
}
.pr_box .submenu li {
	display: inline-block;
	margin: 0 1% 0 0;
}
.pr_box .submenu li:last-child {
	margin: 0 0% 0 0;
}

.pr_box .submenu li a {
    display: block;
	padding: .4em 0 .4em 2.5em;
	text-decoration:none;
	background-image:url(../images/submenu_back.png);
	background-repeat: no-repeat;
	background-position:4% 40%;
	background-color: #121957;
	font-weight: bold;
}
.pr_box .submenu li a:link,
.pr_box .submenu li a:visited { color: #fff; text-decoration: none; }
.pr_box .submenu li a:hover,
.pr_box .submenu li a:active{
    -webkit-transition: all .5s;
    transition: all .5s;
	background-color: #0081ff;
	color: #fff; 
	text-decoration: none; 
}


/* -----------------------------------------------
strange_page
----------------------------------------------- */
.strange_head{
	margin: 80px auto 0;
	background-image: url(../images/strength_main.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	width: 100%;
	padding: 24.26% 0 0;
	height: 0;
	position: relative;
}
.strange_head .main_title {
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 300px;
	height: 100%;
	max-height: 120px;
	margin: auto auto;
}
.strange_head h1{
	font-size: 36px;
	font-weight: bold;
}
.strange_head h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #fff;
}
.strange_submenu{width: 23.8%;}

.strange_concept {
	width:50%;
	max-width:520px;
	padding: 0;
	margin:100px auto 0;
	text-align:left;
	float: left;
	vertical-align: top;
}
.strange_concept .catch {font-size: 26px;color: #121957; font-weight: bold;margin:0 0 .5em;}
.strange_concept p {margin:0;}

.strange_ph {
	width:50%;
	max-width:540px;
	padding: 0;
	margin:100px auto 0;
	float: right;
	vertical-align: top;
}

#strange_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
.strange_page {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 0;
}
.strange_page h1{
	background: #f2f2f2;
    margin: 0 auto;
	font-size: 28px;
	font-weight: bold;
	padding: .8em 0;
}

.strange_page h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #000;
}

#strange_detailboxA{
	background: #121957;
	padding: 70px 0;
	width: 100%;
	margin: 0 auto;
	background: url(../images/detailboxA_back.png) no-repeat;
	background-size: cover;
	background-position: center top;
	overflow: hidden;
}

.strange_detailboxA{
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	color: #fff;
	overflow: hidden;
}
.strange_detailboxA .boxA_text{
	float: left; width: 45%; max-width: 480px;margin-bottom: 120px;
}
.strange_detailboxA h2{
	font-size: 50px;
	font-weight: bold;
	margin: 0 0 .8em;
	line-height: 1.4;
}

.strange_detailboxA h2::after{
    content: '';
    margin: .6em 0 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #0081ff;
}
.strange_detailboxA .boxA_pt{
	position: absolute;
	bottom:0%;
	right: 0%;
	max-width: 520px;
}
#strange_detailboxB{
	background: #121957;
	padding: 70px 0;
	width: 100%;
	margin: 0 auto;
	background: url(../images/detailboxB_back.png) no-repeat;
	background-size: cover;
	background-position: center top;
	overflow: hidden;
}

.strange_detailboxB{
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	color: #fff;
	overflow: hidden;
}
.strange_detailboxB h2{
	font-size: 50px;
	font-weight: bold;
	margin: 0 0 .8em;
	line-height: 1;
}
.strange_detailboxB h2 span{font-size: 30px}

.strange_detailboxB h2::after{
    content: '';
    margin: .8em 0 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #0081ff;
}
.strange_detailboxB .boxB_text{
	float: right; width: 45%; max-width: 480px;margin-bottom: 120px;
}

#strange_detailboxC{
	background: #d3e0ed;
	padding: 70px 0;
	width: 100%;
	margin: 0 auto;
}
.strange_detailboxC{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	overflow: hidden;
}
.strange_detailboxC .boxC_text{
	float: left; width: 45%; max-width: 460px;
}
.strange_detailboxC h2{
	font-size: 50px;
	font-weight: bold;
	margin: 0 0 .8em;
	line-height: 1.4;
}

.strange_detailboxC h2::after{
    content: '';
    margin: .6em 0 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #0081ff;
}
.strange_detailboxC .boxC_ph{
	float: right; width: 52%; max-width: 580px;
}

#strange_detailboxD{
	background: #ebebeb;
	padding: 70px 0;
	width: 100%;
	margin: 0 auto;
}
.strange_detailboxD{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	overflow: hidden;
}
.strange_detailboxD h2{
	font-size: 50px;
	font-weight: bold;
	margin: 0 0 .8em;
	line-height: 1.4;
}

.strange_detailboxD h2::after{
    content: '';
    margin: .6em 0 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #0081ff;
}
.strange_detailboxD ul{
	margin: 0;padding: 0;list-style: none;
}
.strange_detailboxD ul li{
	width: 31.7%;
	margin: 0 2% 0 0;
	padding: 20px;
	background: #fff;
	display: inline-block;
}
.strange_detailboxD ul li:last-child{margin: 0}

.strange_detailboxD ul li .D_tritle{font-size: 28px;font-weight: bold;color: #121957;margin: 0 0 .2em 0;}

/* -----------------------------------------------
facility_page
----------------------------------------------- */
.facility_head{
	margin: 80px auto 0;
	background-image: url(../images/facility_main.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	width: 100%;
	padding: 24.26% 0 0;
	height: 0;
	position: relative;
}
.facility_head .main_title {
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 300px;
	height: 100%;
	max-height: 120px;
	margin: auto auto;
}
.facility_head h1{
	font-size: 36px;
	font-weight: bold;
}
.facility_head h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #fff;
}
.facility_submenu{width: 23.8%;}

.facility_concept {
	width:50%;
	max-width:520px;
	padding: 0;
	margin:100px auto 0;
	text-align:left;
	float: left;
	vertical-align: top;
}
.facility_concept .catch {font-size: 26px;color: #121957; font-weight: bold;margin:0 0 .5em;}
.facility_concept p {margin:0;}

.facility_ph {
	width:50%;
	max-width:540px;
	padding: 0;
	margin:100px auto 0;
	float: right;
	vertical-align: top;
}

#facility_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
#facility_page h1{
	background: #f2f2f2;
    margin: 0 auto;
	font-size: 28px;
	font-weight: bold;
	padding: .8em 0;
}
#facility_page h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #000;
}
#facility_detailboxA{
	background:linear-gradient(180deg, #fff 0%,#fff 40%, #d3e0ed 40%,#d3e0ed 100%);
	padding: 70px 0;
}
#facility_detailboxB,#facility_detailboxC,#facility_detailboxD,#facility_detailboxE{
	background:linear-gradient(180deg, #fff 0%,#fff 70%, #d3e0ed 70%,#d3e0ed 100%);
	padding: 70px 0;
}

.facility_page {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 0;
}
.facility_page h2 {font-size: 24px; font-weight: bold; margin: 0 auto .5em;}
.facility_page h2:before {content: "─";padding-right: .2em;}
.facility_page h2:after {content: "─";padding-left: .2em;}
.facility_page .facility_list{display: inline-block;width: 45%;text-align: left;padding: 0 0 0 5%;vertical-align: top;margin-bottom: 40px;}
.facility_page .facility_list span{font-size: 10px;color: #cccccc;padding-right: .2em;}
.facility_page .facility_list:first-child{}
.facility_page .facility_list:last-child{padding: 0 5% 0 0%;}

.facility_page ul {
	margin: 0 auto 40px;
	padding: 0;
	border:  solid 1px #cccccc;
	border-radius: 4px;
	box-shadow: 2px 2px 4px #cccccc;
	list-style: none;
	overflow: hidden;
	background: #fff;
}
.facility_page ul:last-child {
	margin: 0 auto 0;
}

.facility_page ul li {
	float: left;
	margin: 0;
	padding: 0;
	width: 48%;
	max-width: 540px;
}
.facility_page ul li:last-child {padding: 40px 30px 40px 40px;max-width: 570px;text-align: left; width: 52%;}
.facility_page ul li .caption{
	background: #0081ff;
	border-radius: 4px;
	padding: .2em;
	color: #fff;
	font-weight: bold;
	width: 12em;
	text-align: center;
	margin: 0 auto 20px 0;
}
.facility_page ul li .product_name{
	font-size: 28px;
	font-weight: bold;
	margin: 0 auto .2em;
line-height: 1.2;}
.facility_page ul li .product_subname{	font-weight: bold;
	margin: 0 auto 1em;
}
.facility_page .go_detail,.products_page .go_detail {
	width:427px;
	height: 50px;
	line-height:50px;
	text-align:center;
	margin: 0 auto 0;
	font-weight: bold;
}
.facility_page .go_detail a,.products_page .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/go_detail.png);
	background-repeat: no-repeat;
	background-position: right top;
	color: #fff;
}
.facility_page .go_detail a:link,
.facility_page .go_detail a:visited,
.products_page .go_detail a:link,
.products_page .go_detail a:visited
{  text-decoration: none; }
.facility_page .go_detail a:hover,
.facility_page .go_detail a:active,
.products_page .go_detail a:hover,
.products_page .go_detail a:active{
	transition:all 0.5s;
	background-image:url(../images/go_detail_h.png);
	background-repeat: no-repeat;
	text-decoration: none;
}

/* -----------------------------------------------
products_page
----------------------------------------------- */
.products_head{
	margin: 80px auto 0;
	background-image: url(../images/case_main.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	width: 100%;
	padding: 24.26% 0 0;
	height: 0;
	position: relative;
}
.products_head .main_title {
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 300px;
	height: 100%;
	max-height: 120px;
	margin: auto auto;
}
.products_head h1{
	font-size: 36px;
	font-weight: bold;
}
.products_head h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #fff;
}
.products_submenu{width: 18.8%;}

.products_concept {
	width:50%;
	max-width:520px;
	padding: 0;
	margin:100px auto 0;
	text-align:left;
	float: left;
	vertical-align: top;
}
.products_concept .catch {font-size: 26px;color: #121957; font-weight: bold;margin:0 0 .5em;}
.products_concept p {margin:0;}

.products_ph {
	width:50%;
	max-width:540px;
	padding: 0;
	margin:100px auto 0;
	float: right;
	vertical-align: top;
}

#products_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
#products_page h1{
	background: #f2f2f2;
    margin: 0 auto;
	font-size: 28px;
	font-weight: bold;
	padding: .8em 0;
}
#products_page h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #000;
}
#products_detailboxA{
	background:linear-gradient(180deg, #fff 0%,#fff 45%, #d3e0ed 45%,#d3e0ed 100%);
	padding: 70px 0 40px;
}
#products_detailboxB,#products_detailboxC,#products_detailboxD,#products_detailboxE,#products_detailboxF,#products_detailboxG{
	background:linear-gradient(180deg, #fff 0%,#fff 45%, #d3e0ed 45%,#d3e0ed 100%);
	padding: 0 0 40px;
}

.products_page {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 0;
}
.products_page .caption{
	background: #0081ff;
	border-radius: 4px;
	padding: .2em;
	color: #fff;
	font-weight: bold;
	width: 12em;
	text-align: center;
	margin: 0 auto 20px;
}
.products_page .top_margin{margin-top: 100px;}
.products_page ul {
	margin: 0 auto 40px;
	padding: 0;
	border:  solid 1px #cccccc;
	border-radius: 4px;
	box-shadow: 2px 2px 4px #cccccc;
	list-style: none;
	overflow: hidden;
	background: #fff;
}
.products_page ul:last-child {
	margin: 0 auto 0;
}

.products_page ul li {
	float: left;
	margin: 0;
	padding: 0;
	width: 33.3%;
	max-width: 366px;
}
.products_page ul li:last-child {
	float: left;
	margin: 0;
	padding: 1.2em 0;
	width: 100%;
	text-align: center;
	max-width: 1100px;
}
.products_page .go_bottom {
	margin: 0 auto 20px;
	padding: 0;
	max-width: 104px;
}

/* -----------------------------------------------
company_page
----------------------------------------------- */
.company_head{
	margin: 80px auto 0;
	background-image: url(../images/company_main.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	width: 100%;
	padding: 24.26% 0 0;
	height: 0;
	position: relative;
}
.company_head .main_title {
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 300px;
	height: 100%;
	max-height: 120px;
	margin: auto auto;
}
.company_head h1{
	font-size: 36px;
	font-weight: bold;
}
.company_head h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #fff;
}
.company_submenu{width: 23.8%;}
#company_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 0;
}
#company_page h1{
	background: #f2f2f2;
    margin: 0 auto;
	font-size: 28px;
	font-weight: bold;
	padding: .8em 0;
}
#company_page h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #000;
}
.company_page {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 0;
}
#company_detailboxA{
	padding: 70px 0;
	background-image: url(../images/company_ph01.jpg);
	background-repeat: no-repeat;
	background-position: right 240px;
	overflow: hidden;
}

.company_greeting {
	padding: 0;
	margin:140px auto 0 0;
	text-align:left;
	vertical-align: top;
}
.company_greeting .catch {font-size: 46px; font-weight: bold;margin:0 0 1em;}
.company_greeting .profile {background: #121957;text-align: center;padding: 40px 0;color: #fff;font-weight: bold;max-width: 320px;}
.company_greeting .profile .name {font-size:32px ;}
.company_greeting p {margin:0;}
.greeting_text {
    width: 870px;
    padding: 0;
    margin-top: 300px;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 0;
    vertical-align: top;
    text-align: left;
}

#company_detailboxB{
	padding: 0 0;
	background-image: url(../images/company_back.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	overflow: hidden;
}
#company_detailboxB .caption{
	color: #fff;
	background: #0081ff;
	border-radius: 4px;
	padding: .2em;
	font-weight: bold;
	width: 12em;
	text-align: center;
	margin: 70px auto 40px;
	font-size: 20px;
}
#company_detailboxB p{color: #fff;}
#company_detailboxB h2{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	margin: 0 auto;
}
#company_detailboxB h3{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	margin: 0 auto;
}
#company_detailboxB .h3{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	margin: 0 auto;
}

#company_detailboxB h3:before{
    content: '';
    margin: 1.5em auto;
	display: block;
    width: 158px;
	border-top: solid 1px #0081ff;
}
#company_detailboxB h3:first-child:before{
    content: none;
	border-top: none;
}
#company_detailboxB .btom100{margin-bottom: 100px;}

#company_detailboxC{
	padding: 0 0;
	overflow: hidden;
}
#company_detailboxC dl{width: 100%; margin:2em auto 0; text-align:left;overflow: hidden; }
#company_detailboxC .borderb{border-bottom: solid 1px #cccccc;	margin:0 0 10px 0;}

#company_detailboxC dt{
	display: block;
	width: 24%;
	clear: left;
	float: left;
	font-weight:bold;
	padding:0 0 10px;
}
#company_detailboxC dd{
	display: block;
	width: 76%;
	float: left;
	margin:0 0 0 0;
	padding:0 0 10px;
}
#company_detailboxC img{
    display: block;
    margin-right: 10px;
    padding-top: 0;
    padding-left: 0;
    padding-bottom: 10px;
    object-fit: contain;
    width: auto;
    float: left;
}
.company_page800 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	padding: 70px 0;
}
.map_container {
	margin: 0 auto 20px;
	width: 100%;
	max-width: 800px;
	padding: 0px;
}
.map {
	width:100%;
	max-width:800px;
	margin: 0 auto;
	position: relative;
	padding-bottom: 200px;
	height: 0;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% ;
	height: 100% ;
}
.company_list_title {
	clear: both;
	border: solid 1px #121957;
	text-align: center;
	margin: 70px 0 0;
	padding: .8em 0;
	font-weight: bold;
	color: #121957;
}
.company_list {
	padding: 2%;margin: 0 auto;}
.company_list p{
	padding-bottom: .5em;
	margin0:0 0 .5em;
	border-bottom: solid 1px #cccccc;
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}
.company_list p span{color: #cccccc;font-size: 10px; padding-right: .2em;}

#company_detailboxD{
	padding: 0 0;
	overflow: hidden;
	background: #eef4fa;
}
.company_page760 {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
	padding: 70px 0;
}

.company_page760 dl{width: 100%; margin:0 auto 0; text-align:left;overflow: hidden; }

.company_page760 dt{
	display: block;
	width: 24%;
	clear: left;
	float: left;
	font-weight:bold;
	padding:10px 8% 10px 0;
    border-top: 1px solid #ccc;
	text-align: right;
}
.company_page760 dt:first-child{border-top: none;}
.company_page760 dd{
	width: 76%;
	display: block;
	float: left;
	margin:0 0 0;
	padding:10px 0;
    border-top: 1px solid #ccc;
}
.company_page760 dt:first-child + dd{border-top: none;}


/* -----------------------------------------------
contact_page
----------------------------------------------- */
.contact_head{
    margin: 80px auto 0;
    background-image: url(../images/contact_main.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    width: 100%;
    padding: 24.26% 0 0;
    height: 0;
    position: relative;
}
.contact_head .main_title {
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 300px;
	height: 100%;
	max-height: 120px;
	margin: auto auto;
}
.contact_head h1{
	font-size: 36px;
	font-weight: bold;
}
.contact_head h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #fff;
}

/* -----------------------------------------------
recruit_page
----------------------------------------------- */
.recruit_head{
	margin: 80px auto 0;
	background-image: url(../images/recruit_main.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	width: 100%;
	padding: 24.26% 0 0;
	height: 0;
	position: relative;
}
.recruit_head .main_title {
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 300px;
	height: 100%;
	max-height: 120px;
	margin: auto auto;
}
.recruit_head h1{
	font-size: 36px;
	font-weight: bold;
}
.recruit_head h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #fff;
}
.recruit_submenu{width: 32.3%;}
#recruit_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 0;
}
#recruit_page h1{
	background: #f2f2f2;
    margin: 0 auto;
	font-size: 28px;
	font-weight: bold;
	padding: .8em 0;
}
#recruit_page h1::after{
    content: '';
    margin: .2em auto 0;
	display: block;
    width: 72px;
	border-bottom: solid 3px #000;
}
.recruit_page {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 0;
}
#recruit_detailboxA{
	padding: 70px 0;
	overflow: hidden;
}
#recruit_detailboxA h2 {
	color: #121957;
	font-size: 36px;
	font-weight: bold;
	margin: 70px auto .5em;
}
#recruit_detailboxA .about_box{
	overflow: hidden;
	border-bottom: solid 1px #cccccc;
	margin: 60px auto 0;
	padding: 0 0 60px;
}
#recruit_detailboxA .about_box .phbox{
	float: left;
	width: 41.8%;
	max-width: 460px;
}
#recruit_detailboxA .about_box .textbox{
	float: left;
	width: 54.5%;
	max-width: 600px;
	text-align: left;
}
#recruit_detailboxA .about_box .space {margin-right: 3%;}
#recruit_detailboxA .about_box .caption{
	color: #fff;
	background: #0081ff;
	padding: 0;
	width: 6em;
	text-align: center;
	margin: 0 auto .5em 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 32px;
	vertical-align: middle;
}
#recruit_detailboxA .about_box .caption span{font-size:28px;vertical-align: middle;} 
#recruit_detailboxA .about_box .checkpoint{font-size: 28px;color: #121957;margin-bottom: .5em;}

.recruit_page .goentry_box{
	padding: 40px 0;
	background: #d3e0ed;
}
.goentry_box .go_detail {
	width:427px;
	height: 50px;
	line-height:50px;
	text-align:center;
	margin: 0 auto;
	font-weight: bold;
}
.goentry_box .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/go_recruit.png);
	background-repeat: no-repeat;
	background-position: right top;
	color: #fff;
}
.goentry_box .go_detail a:link,
.goentry_box .go_detail a:visited
{  text-decoration: none; }
.goentry_box .go_detail a:hover,
.goentry_box .go_detail a:active{
	transition:all 0.8s;
	background-image:url(../images/go_recruit_h.png);
	background-repeat: no-repeat;
	text-decoration: none;
	color: #ff0000;
}

#recruit_detailboxB{
	padding: 0 0 100px;
	overflow: hidden;
}
#recruit_detailboxB h2 {
	color: #121957;
	font-size: 24px;
	font-weight: bold;
	margin: 70px auto;
}
#recruit_detailboxB .interview_box{
	overflow: hidden;
	border-bottom: solid 1px #cccccc;
	margin: 60px auto 0;
	padding: 0 0 60px;
}
.interview_box .main_ph{
	position: relative;
	margin-bottom: 20px;
}
.interview_box .main_ph .p_box_left,.interview_box .main_ph .p_box_right{
	position: absolute;
	background: #121957;
	text-align: center;
	padding: 40px 0;
	color: #fff;
	font-weight: bold;
	width: 380px;
}
.interview_box .main_ph .p_box_left{top:40px;left: 40px;}	
.interview_box .main_ph .p_box_right{top:40px;right: 40px;}	
.interview_box .main_ph .name {font-size:32px ;}

.interview_box h3{font-size: 36px;font-weight: bold; color: #121957;margin: 0 auto 20px;}	
.interview_box .interview_text {
	float: left;
	width: 600px;
	margin-right: 20px;
	text-align: left;
}
.interview_box .interview_text .inte_point{
	background: #0081ff;
	padding: 2em 1em 1em;
	position: relative;
	color: #fff;
	margin: 4em auto 0;
}
.inte_point .point_midashi {
	position: absolute;
	top:-20px;
	left: 0;
	border: solid 4px #0081ff;
	background: #fff;
	color: #0081ff;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	padding: .1em 2em;
}
.interview_box .interview_ph {
	float: right;
	width: 460px;
	margin: 0;
}
#recruit_detailboxC{
	padding: 0 0 100px;
	overflow: hidden;
}
#recruit_detailboxC dl{
	width: 100%;
	max-width: 880px;
	margin:70px auto;
	text-align:left;
	overflow: hidden;
	border-bottom: solid 1px #cccccc;
	background: #eef4fa;
}
#recruit_detailboxC dl p{margin: 0 0 .8em}
#recruit_detailboxC dt{
	display: block;
	width: 24%;
	clear: left;
	float: left;
	font-weight:bold;
	padding:20px 0 20px 20px;
	border-top: solid 1px #cccccc;
}
#recruit_detailboxC dd{
	display: block;
	width: 76%;
	float: left;
	margin:0 0 0 0;
	padding:20px;
	border-top: solid 1px #cccccc;
	background: #fff;
}

/* -----------------------------------------------
フッター
----------------------------------------------- */
footer{
	width: 100%;
	max-width:2200px;
	text-align: center;
	background: #121957;
	color: #fff;
}
footer a:link { color: #fff; text-decoration: none; }
footer a:visited { color: #fff; text-decoration: none; }
footer a:hover { color: #fff; text-decoration: underline; }
footer a:active { color: #fff; text-decoration: underline; }
footer .f_inner{width: 100%;max-width: 1100px;margin: 0 auto;	padding:40px 0;}
footer .f_inner h5 {
	margin:0 auto;
	display: inline-block;
	width: 20%;
	max-width: 240px;
	text-align: left;
}
footer .f_inner h5 img {max-width: 164px;}

footer .f_inner_left,
footer .f_inner_right{
	display:inline-block;
	padding:0 0 0;
	margin: 0 auto;
}
footer .f_inner_left{
	vertical-align:top;
	width: 70%;
	max-width: 820px;
	text-align: left;
}
.f_inner_left ul{
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.f_inner_left ul li {
	margin: 0;
	padding: 0 4.5% 0 0;
	display: inline-block;
	vertical-align: top;
}
.f_inner_left ul li:last-child {
	padding: 0 2% 0 0;
}
.f_inner_left .foot_midashi {font-weight: bold;margin-bottom: 1em;}
.f_inner_left .foot_detail {font-size: 12px; margin-bottom: .5em; }
.f_inner_left .foot_detail:before{content: "＞"; color:#0081ff;padding-right: .2em;}

footer .f_inner_right{
	vertical-align:top;
	width: 18%;
	max-width: 100px;
	border-left: solid 1px #fff;
	padding-left: 20px;
}
footer .f_inner_right img{max-width: 72px;}

footer .copyright{
	font-size:87.5%;
	margin: 10px 0;
}
.gotop{
  position: fixed;
  right: 2%;
  display: block;
  padding: 20px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */


/* @media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}*/

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}
