@charset 'utf-8';

body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,pre,form,input,img{margin:0;padding:0;}
table{width:100%;border-collapse:collapse;border-spacing:0;font-size: 100%;}
img,object{border:0;vertical-align: top;}
ul {list-style:none;}
ol {margin: 0; padding: 0 0 0 1.4em;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6,select{font-size:100%;}
em,address,i {font-style: normal;}

p {margin: 0 0 1em;padding: 0;}

/* ====== utility ====== */
.fz10 {
    font-size: 10px;
    font-size: .625rem;
}
.fz11 {
    font-size: 11px;
    font-size: .6875rem;
}
.fz12 {
    font-size: 12px;
    font-size: .75rem;
}
.fz13 {
    font-size: 13px;
    font-size: .8125rem;
}
.fz14 {
    font-size: 14px;
    font-size: .875rem;
}
.fz16 {
    font-size: 16px;
    font-size: 1rem;
}
.fz18 {
    font-size: 18px;
    font-size: 1.125rem;
}
.fz20 {
    font-size: 20px;
    font-size: 1.25rem;
}
.fz22 {
    font-size: 22px;
    font-size: 1.375rem;
}
.r {
    text-align: right;
}
.c {
    text-align: center;
}
.flo_l {
    float: left;
    margin-right: 20px;
}
.flo_r {
    float: right;
    margin-left: 20px;
}
.attention,
.emph,
.accent {
    font-weight: bold;
}
.attention,
.caution,
.warn,
.alert {
    color: red;
}
.blue {
    color: #1c54c6;
}
.disc {
    list-style-type: disc;
    margin-bottom: 1em;
    padding-left: 1.4em;
}
.hide {
    display: none;
}
td,th {
    padding: 5px;
    text-align: left;
    vertical-align: top;
}

/* micro clearfix */
.cf:before,
.cf:after,
.contents:after {
    content: '';
    display: table;
}
.cf:after,
.contents:after {
    clear: both;
}
/* fix width or so to turn hasLayout true (instead of zoom:1) */

/* ====== outline ====== */
body {
    line-height: 1.6;
    font-family: /*Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,*/ sans-serif;
    text-align: center;
    word-wrap: break-word;
}
a:link {
    color: #1e0fbe;
    text-decoration: none;
}
a:visited {
    color: #609;
}
a:hover {
    text-decoration: underline;
}
.wrapper {
    width: 980px;
    margin: 0 auto;
    text-align: left;
}
.header {
    padding: 10px 0;
    text-align: right;
}
.header img {
    vertical-align: middle;
}
.footer {
    background-color: #1c54c6;
    color: #fff;
}
.footer a {
    color: #fff;
}
.ft_top {
    padding: 20px 0 30px;
    border-bottom: 1px solid #407af2;
}
.company_info {
    float: left;
}
.company_info p {
    margin: .5em 0;
    line-height: 1.3;
}
.site_info {
    float: right;
    height: 100%;
}
.site_info ul {
    display: table-row;
    height: 100%;
}
.site_info li {
    display: table-cell;
    padding: 0 15px;
    border-left: 1px solid #407af2;
/*  line-height: 2;*/
}
.site_info li:first-child {
    border-left: none;
}
.ft_copy {
    padding: 10px 0;
    text-align: right;
}
.ft_copy p {
    float: left;
    margin-bottom: 0;
}
.ft_copy p a {
    display: inline-block;
    margin-right: 15px;
    padding-left: 10px;
    background: url(../images/share/arw.gif) left center no-repeat;
}

.nav {
    margin-bottom: 25px;
}
.nav h1 {
    float: left;
    width: 270px;
}
.nav ul {
    float: left;
    margin-top: 15px;
    margin-left: 6px;
}
.nav li {
    float: left;
    width: 124px;
    margin-left: 12px;
    box-shadow: 1px 1px 4px  rgba(0,0,0,0.4);
}
.nav li a {
    display: block;
    width: 124px;
    height: 60px;
    background: url(../images/share/bgs.png) no-repeat;
}
li.n1,
.nav .n1 a {
    width: 148px;
}
.nav .n2 a {
    background-position: -148px 0;
}
.nav .n3 a {
    background-position: -272px 0;
}
.nav .n4 a {
    background-position: -396px 0;
}
.nav .n5 a {
    background-position: -520px 0;
}
.nav .n6 a {
  background-position: -644px 0;
}
.nav li a:hover img {
    visibility: hidden;
}
.path {
    margin-bottom: 10px;
}
.back {
    clear: both;
    margin: 20px 0;
    padding-top: 20px;
    border-top: 1px solid #333;
    text-align: right;
}
.back a {
    display: inline-block;
    padding: 2px 4px;
    background-color: #000;
    color: #fff;
    font-size: 12px;
}
.refresh {
    position: fixed;
    bottom: 100px;
    right: 100px;
}


/* ====== HOME ====== */
/*body.home {
    background: url(../images/home/bg.jpg) center 40px no-repeat;
}*/
.home .nav {
    margin: 150px 0 30px;
}
.home .nav + .r {
  margin-bottom: 100px;
}
.home_news {
    margin-bottom: 50px;
}
.home_news a {
    color: #fff;
}
.home_news h2 {
    color: #304c76;
    font-size: 35px;
}
.home_news > div {
    display: table-row;
    padding: 5px 10px;
    background-color: #304c76;
    background-color: rgba(0,35,87,0.8);
}
.home_news ul {
    display: table-cell;
    width: 859px;
    padding: 5px 10px;
    color: #fff;
}
.home_news li {
    padding: 5px 0 5px 8em;
}
.home_news .date,
.main .date {
    float: left;
    margin-left: -7em;
}
.home_news .ichiran {
    display: table-cell;
    width: 100px;
    border-left: 1px solid #fff;
    vertical-align: middle;
    text-align: center;
}
.home_news .ichiran a {
    display: inline-block;
    width: 81px;
    height: 15px;
    overflow: hidden;
}
.home_news .ichiran a:hover img {
    margin-top: -15px;
}


/* ====== news ====== */
.main {
    float: right;
    width: 672px;
    margin-left: 40px;
}
.sub,
.sublist {
    float: right;
    width: 268px;
    margin-bottom: 20px;
}
.main .article {
    padding-bottom: 20px;
}
.main h1 {
    padding: 20px 0;
    border-bottom: 1px solid #333;
}
.main .article h1 {
    line-height: 1.5;
    margin-bottom: 20px;
    padding-bottom: 20px;
    padding-left: 7em;
}
.news .main ul,
.history .main ul,
.white-paper .main ul {
    padding-bottom: 10px;
    overflow: hidden;
}
.news .main li,
.history .main li,
.white-paper .main li {
    margin-top: -1px;
    padding: 15px 0 15px 7em;
    border-top: 1px dotted #333;
}
.sub li a {
    position: relative;
    display: block;
    line-height: 60px;
    padding-left: 20px;
    border-bottom: 1px solid #b2b2b2;
}
.sub li.on a,
.sub li a:hover {
    background-color: #eaeaea;
}
.sub li a:after,
.sublist li li a:after {
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -2px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #b2b2b2;
    border-bottom: 1px solid #b2b2b2;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: '';
}


/* ====== company ====== */
.profile .prof a,
.message .message a,
.board-members .board-members a,
.history .history a,
.access .access a,
.partners .partners a,
.ir .ir a {
    background-color: #eaeaea;
}
table.profile td,
table.profile th {
    padding: 15px 0;
    border-top: 1px dotted #999;
}
table.profile tr:first-child td,
table.profile tr:first-child th {
    border-top: none;
}
table.profile th {
    width: 30%;
    font-weight: normal;
}
table.profile th:before,
.section h3:before {
    content: '\25A0';
    color: #1c54c6;
}
.catch {
    margin-bottom: 30px;
}
.board-members .profile a {
    text-decoration: underline;
    cursor: pointer;
}
.profile .hide td {
    border-top: none;
}
.noindex {
    list-style-type: none;
    padding-left: 0;
}
.noindex li {
    padding-left: 7em;
}
.noindex .date {
    float: left;
    margin-left: -7em;
}
#gmap,
[id^="gmap"] {
    width: 682px;
    height: 380px;
    margin-top: 12px;
}
.access .list {
    margin-top: 1em;
    padding-left: 50px;
}
span.icon,
.icon2 {
    display: inline-block;
    width: 36px;
    line-height: 19px;
    background-color: #1c54c6;
    color: #fff;
    font-size: 12px;
    text-align: center;
}
.icon2 {
	width: auto;
	margin-right: 4px;
	padding: 0 4px;
}
.list .icon {
    float: left;
    margin-left: -50px;
}
.partners .main ul {
    margin-bottom: 200px;
}
.partners .main li {
    float: left;
    width: 50%;
    padding: 30px 0 0;
    text-align: center;
}
.access .main > h1,
.access .main > section {
  margin-bottom: 30px;
}


/* ====== technology ====== */
.index .tech a,
.optical .optical a,
.circuit .circuit a,
.white-paper .white-paper a {
    background-color: #eaeaea;
}
.technology .main h1 {
    margin-bottom: 20px;
}
.tech_link a {
    display: block;
    width: 279px;
    height: 51px;
    background: url(../images/tech/btn_bg.png) 0 -51px no-repeat;
}
.tech_link a:first-child {
    background-position: 0 0;
}
.tech_link a:hover img {
    visibility: hidden;
}
.section h2,
.feat h2,
.hd_contact {
    margin-bottom: 20px;
    padding: 2px 10px;
    background-color: #1c54c6;
    color: #fff;
}
.optical .section,
.circuit .section {
    float: left;
    width: 452px;
}
.section > div {
    margin-bottom: 20px;
    border-bottom: 1px dotted #b3b3b3;
}
.section > div.no {
    border-bottom: none;
}
.lightbox {
    float: right;
    width: 180px;
    text-align: center;
}
.lightbox p {
    position: relative;
}
.white-paper li p {
    margin-bottom: .5em;
    padding-left: 4em;
}
span.label {
    float: left;
    margin-left: -4em;
    color: #1c54c6;
}


/* ====== products ====== */
.products .main h1 {
    margin-bottom: 40px;
}
.products .main img {
    max-width: 670px;
}


.search li {
    float: left;
    width: 50%;
}
.search li a {
    display: block;
    padding-left: 20px;
    background: url(../images/products/arw.gif) left center no-repeat;
}
.search .section {
    margin-bottom: 40px;
}
.sublist > ul {
    margin-bottom: 50px;
}
.sublist > ul > li > a {
    position: relative;
    display: block;
    line-height: 60px;
    padding-left: 20px;
    border-bottom: 1px solid #b2b2b2;
}
.sublist > ul > li.on > a,
.sublist > ul > li > a:hover {
    background-color: #eaeaea;
}
.sublist > ul > li > a i{
    position: absolute;
    top: 50%;
    right: 10px;
    width: 11px;
    height: 11px;
    margin-top: -5px;
    background: url(../images/products/tgl.png) no-repeat;
    overflow: hidden;
    content: '';
}
.sublist li li a {
    position: relative;
    display: block;
    line-height: 40px;
    padding-left: 26px;
    border-bottom:  1px solid #b2b2b2;
    background-color: #f6f6f6;
}
.sublist li li.on a,
.sublist li li a:hover {
    background-color: #e3fdff;
}
.btn_pdf {
    display: inline-block;
    width: 220px;
    height: 54px;
    background: url(../images/products/btn_bg.png) no-repeat;
}
.btn_pdf:hover img {
    visibility: hidden;
}
.category .section {
    position: relative;
    padding-right: 280px;
}
.category .section h2,
.category .section .flo_r {
    margin-right: -280px;
}
.category .section .r {
    position: absolute;
    bottom: 0;
    width: 392px;
    margin-bottom: 0;
}
.category .section .r a:after {
    content: url(../images/products/marker.gif);
}
.detail .section {
    margin-bottom: 30px;
}
.detail .feat {
    margin-right: 280px;
    margin-bottom: 20px;
}
.item_img {
    float: right;
    margin-bottom: 20px;
    margin-left: 20px;
    text-align: center;
}
.detail_nav {
    margin-bottom: 15px;
}
.detail_nav li {
    float: left;
    margin-left: 14px;
}
.detail_nav .d1 {
    margin-left: 0;
}
.detail_nav a {
    display: block;
    width: 123px;
    height: 49px;
    overflow: hidden;
}
.detail_nav a:hover img {
    margin-top: -49px;
}
.catalog .main li {
    float: left;
    width: 50%;
    margin-bottom: 10px;
}
.catalog .main li img {
    vertical-align: middle;
}
.purchase {
  position: relative;
  top: -50px;
}


/* ====== recruit ====== */
.career .career a,
.new .new a {
    background-color: #eaeaea;
}
.rec {
    clear: both;
    margin: 60px 0;
    text-align: center;
}
.rec a {
    display: inline-block;
    width: 208px;
    height: 51px;
    margin: 0 30px;
    background: url(../images/recruit/btn_bg.png) 0 -51px no-repeat;
}
.rec a:first-child {
    background-position: 0 0;
}
.rec a:hover img {
    visibility: hidden;
}
.career_list a,
.new_list a {
    display: block;
    padding-left: 20px;
    background: url(../images/products/arw.gif) left center no-repeat;
}
.career_list .icon2 + a {
	display: inline-block;
}
.career_list a.no {
    display: inline-block;
    line-height: 19px;
    padding: 2px 5px;
    background-color: #1c54c6;
    background-image: none;
    color: #fff;
    font-size: 12px;
}
.career_list > p {
    padding: 20px 0;
    margin-bottom: 0;
}
.career_list > ul {
    margin-bottom: 40px;
}
.career_list > ul > li {
    clear: both;
    padding-top: 20px;
    border-top: 1px dotted #b3b3b3;
}
.career_list .icon {
    float: left;
}
.career_list ul ul {
    float: left;
    width: 93%;
    margin-bottom: 20px;
    margin-left: 5px;
}
.career_list ul ul li {
    float: left;
    width: 33%;
}
.new_list ul {
    min-height: 200px;
}
.new_list li {
    float: left;
    width: 50%;
}
.recruit .profile,
.recruit .profile + p {
    margin-bottom: 40px;
}
.mrkr:after {
    content: url(../images/products/marker.gif);
}
.recruit .quit {
    min-height: 200px;
}


/* ====== contact ====== */
.contact .main h1 {
    margin-bottom: 20px;
}
.contact .links {
    margin-bottom: 40px;
}
.contact .links a {
    display: block;
    width: 449px;
    height: 51px;
    margin: 15px auto;
    background: url(../images/contact/btn_bg.png) no-repeat;
}
#email_recruit {
    background-position: 0 -51px;
}
#email_products {
    background-position: 0 -102px;
}
.contact .links a:hover img {
    visibility: hidden;
}


/* ====== sitemap ====== */
.sitemap .main a {
    text-decoration: underline;
}
.sitemap .main > div {
    margin-bottom: 20px;
}
.sitemap .main h2:before {
    content: '\25A0 ';
    color: #1c54c6;
}
.sitemap .main ul {
    margin-bottom: 10px;
}
.sitemap .main li {
    float: left;
    width: 25%;
}


/* ====== privacy ====== */
.privacy .main h1 {
    margin-bottom: 20px;
}


/* ====== form ====== */
.form {
  padding-left: 12em;
}
.form dt {
  float: left;
  margin-left: -12em;
}
.form dd {
  min-height: 3em;
  margin-bottom: 30px;
}
.req {
  color: red;
}
.form input[type="text"],
.form textarea {
  padding: 8px 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #eee;
}
.form select {
  padding: 4px;
  border: 1px solid #ccc;
}
.form .full {
  width: 360px;
}
input[name="zip1"] {
  width: 5em;
}
input[name="zip2"],
input[name="year"] {
  width: 7em;
}
.formbtn,
.formbtn2 {
  margin-bottom: 30px;
  text-align: center;
}
.placeholder a,
.formbtn a {
  display: inline-block;
  background-color: #1C54C6;
}
.placeholder a:hover,
.formbtn a:hover {
  text-decoration: none;
}
.formbtn input[type="submit"] {
  border: none;
  background-color: #900;
  font-family: inherit;
  cursor: pointer;
}
.placeholder a,
.formbtn a,
.formbtn input[type="submit"] {
  width: 250px;
  padding: 20px 0;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
}
.jpostal {
  display: inline-block;
  margin-left: 15px;
  padding: 0 4px;
  border-radius: 4px;
  background-color: #1c54c6;
  color: #fff;
}
.placeholder {
  margin: 100px;
  text-align: center;
}


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