/*===================================================

 Common

====================================================*/
* {
    margin: 0;
    padding: 0;
}
img {
    border: 0;
}
ul li {
    list-style: none;
}
body {
    width: 100%;
    min-width: 960px;
    font-family: 'Noto Sans JP', sans-serif;
}
#main {
    padding-top: 30px;
    clear: both;
}
.inner {
    width: 960px;
    margin: 0 auto;
}
h1 {
    color: #fff;
    font-size: 10px;
}
h2 {
    font-size: 1.5rem;
    border-bottom: 3px solid #345495;
}
h2 span {
    margin-left: 690px;
    font-size: 0.6rem;
    font-weight: normal;
}
a {
    color: #333;
    text-decoration: none;
}
a img:hover {
    opacity: 0.7;
}


/*---------------------------------------------------
 Header
----------------------------------------------------*/
header {
    width: 100%;
    height: 78px;
    padding: 3px 0 5px;
    background: #004d8f;
    -moz-box-shadow: 0px 3px 30px rgba(0,0,0,0.4);
    -webkit-box-shadow: 0px 3px 30px rgba(0,0,0,0.4);
    -o-box-shadow: 0px 3px 30px rgba(0,0,0,0.4);
    -ms-box-shadow: 0px 3px 30px rgba(0,0,0,0.4);
    z-index: 9999;
}
#header_inner {
    position: relative;
    overflow: visible;
}


/*---------------------------------------------------
 MainNav
----------------------------------------------------*/
#main_nav {
    float: right;
    position: relative;
}
#main_nav ul li {
    float: left;
    list-style: none;
}
#main_nav ul li a {
    background-repeat: no-repeat;
    display: block;
    text-indent: -9999px;
}
#main_nav ul li#home a {
    width: 90px;
    height: 55px;
    background: url('/img/nav/home.png');
}
#main_nav ul li#product a {
    width: 114px;
    height: 55px;
    background: url('/img/nav/product.png');
}
#main_nav ul li#service a {
    width: 118px;
    height: 55px;
    background: url('/img/nav/service.png');
}
#main_nav ul li#company a {
    width: 113px;
    height: 55px;
    background: url('/img/nav/company.png');
}
#main_nav ul li#contact a {
    width: 150px;
    height: 55px;
    background: url('/img/nav/contact.png');
}
#main_nav span {
    width: 50px;
    height: 5px;
    background: url('/img/nav/point.png');
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    position: absolute;
    top: 53px;
    left: 40px;
}
#sp-nav {
    display: none !important;
}

/*---------------------------------------------------
 Support Banner
----------------------------------------------------*/
#support-banner {
    width: 960px;
    height: 220px;
    margin: 0 auto 40px;
    background: url('/img/banner/banner-support.png');
    clear: both;
    position: relative;
}
#support-banner a {
    width: 365px;
    display: block;
    position: absolute;
    bottom: 45px;
    right: 20px;
}
#support-banner a:hover {
    opacity: 0.9;
}

/*---------------------------------------------------
 Twitter-Timeline
----------------------------------------------------*/
#twitter-timeline {
    width: 256px;
    min-height: 544px !important;
    max-height: 3050px !important;
    overflow: hidden;
    position: absolute;
    top: 100px;
    right: 30px;
    z-index: 9999;
}
#twitter-timeline2 {
    display: none;
}
@media (max-width: 1580px) {
    #twitter-timeline {
        right: 20px;
    }
}
@media (max-width: 1560px) {
    #twitter-timeline {
        right: 10px;
    }
}
@media (max-width: 1550px) {
    #twitter-timeline {
        right: 0;
    }
}
@media (max-width: 1510px) {
    #twitter-timeline {
        width: 200px;
    }
}
@media (max-width: 1400px) {
    #twitter-timeline {
        width: 180px;
    }
}
@media (max-width: 1350px) {
    #twitter-timeline {
        display: none;
    }
    #twitter-timeline2 {
        width: 960px;
        margin: 0 auto 80px;
        display: block;
    }
    #twitter-timeline2 .twitter-follow-button {
        float: right;
    }
}

/*---------------------------------------------------
 Footer
----------------------------------------------------*/
footer {
    width: 100%;
    clear: both;
    background: #004d8f;
    color: #fff;
}
#footer_inner {
    width: 960px;
    height: 230px;
    margin: 0 auto;
    padding-top: 15px;
}
#footer_inner h4 {
    font-size: 0.8rem;
    line-height: 2.0rem;
}
#footer_inner h4 span {
    margin-left: 15px;
    font-weight: normal;
}
#footer_inner h4 a {
    color: #fff;
    text-decoration: none;
}
#footer_inner #site_map {
    width: 100%;
    height: 195px
}
#footer_inner #site_map ul {
    float: left;
}
#footer_inner #site_map ul:first-child {
    width: 120px;
}
#footer_inner #site_map ul:nth-child(2) {
    width: 170px;
}
#footer_inner #site_map ul:nth-child(3) {
    width: 140px;
}
#footer_inner #site_map ul:nth-child(4) {
    width: 200px;
}
#footer_inner #site_map ul:nth-child(5) {
    width: 120px;
}
#footer_inner #site_map ul:nth-child(6) {
    width: 120px;
}
#footer_inner #site_map ul:last-child {
    width: 90px;
}
#footer_inner #site_map ul li {
    list-style: none;
}
#footer_inner #site_map ul li:first-child {
    margin-bottom: 10px;
}
#footer_inner #site_map ul li a {
    color: #fff;
    font-size: 0.8rem;
}
#footer_inner #site_map ul li a:hover {
    color: #06f;
}
#footer_inner #site_map ul li a.nav {
    padding-bottom: 1px;
    border-bottom: 1px solid #fff;
}
#footer_inner #adress {
    width: 960px;
    clear: both;
}
footer #copy_r {
    width: 100%;
    padding: 10px 0;
    background: #004d8f;
    border-top: 1px solid #999;
    clear: both;
}
footer #copy_r .sp_view {
    display: none;
}
footer #copy_r p {
    color: #fff;
    font-size: 0.8rem;
    text-align: center;
}
footer #copy_r .inner a {
    width: 130px;
    float: left;
    display: block;
    color: #fff;
    font-size: 0.8rem;
    text-decoration: none;
}
footer #copy_r .inner a:hover {
    text-decoration: underline;
}


/*===================================================

 Index

====================================================*/
#index #main {
    padding-top: 0;
}

/*---------------------------------------------------
 Main_view*
----------------------------------------------------*/
#main_view {
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px 0;
    background: #f5f5f5;
    clear: both;
}
#main_view_inner {
    width: 960px;
    margin: 0 auto;
}

/*---------------------------------------------------
 Comment_area
----------------------------------------------------*/
#comment_area {
    width: 100%;
    height: 128px;
    margin: 15px auto 20px;
    padding: 10px;
    border: 4px solid #fff;
    box-sizing: border-box;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -o-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    border-radius: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    clear: both;
}
#comment_area img {
    margin-bottom: 5px;
}
#comment_area h2 {
    margin-bottom: 5px;
    border-bottom: 3px solid #345495;
    font-size: 1.1rem;
}
#comment_area h2 span {
    margin-left: 0;
    color: #345495;
    font-size: 1.4rem;
    font-weight: bold;
}
#comment_area p {
    font-size: 0.8rem;
    line-height: 22px;
}
#comment_area a {
    float: right;
    margin-top: 8px;
    display: block;
}

/*---------------------------------------------------
 Banner_area
----------------------------------------------------*/
#banner_area {
    width: 100%;
    margin: 40px auto;
}
#banner_area ul li {
    width: 470px;
    float: left;
    margin: 0 20px 10px 0;
    display: block;
}
#banner_area ul li:nth-child(2n) {
    margin-right: 0;
}

/*---------------------------------------------------
 Products_info
----------------------------------------------------*/
#products_info {
    width: 100%;
    margin-bottom: 20px;
    padding-top: 40px;
    clear: both;
}
#products_info ul {
    width: 960px;
    display: inline-block;
}
#products_info ul li {
    width: 310px;
    float: left;
    margin-right: 15px;
}
#products_info ul li:nth-child(3n) {
    margin-right: 0;
}
#products_info ul li h3 {
    margin-bottom: 5px;
    border-bottom: 3px solid #345495;
    font-size: 0.8rem;
}
#products_info ul li a:first-of-type img {
    margin-bottom: 5px;
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -o-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}
#products_info ul li a:last-of-type img {
    float: right;
    display: block;
}


/*===================================================

 Product

====================================================*/
/*---------------------------------------------------
 Products_nav
----------------------------------------------------*/
#product_nav {
    width: 100%;
    height: 80px;
    margin: 20px 0 30px 0;
    padding: 10px;
    border: 1px solid #a6a5a5;
    box-sizing: border-box;
}
#product_nav ul {
    width: 100%;
}
#product_nav ul li {
    float: left;
    margin: 0 30px 10px 0;
    list-style: none;
}
#product_nav ul li a {
    font-size: 0.8rem;
}
#product_nav ul li.active a,
#product_nav ul li a:hover {
    padding-bottom: 2px;
    border-bottom: 2px solid #345495;
}
/*---------------------------------------------------
 Section
----------------------------------------------------*/
#product section {
    width: 100%;
    margin: 15px 0 60px;
}
#product h3 {
    margin-bottom: 20px;
    border-left: 5px solid #345495;
    font-size: 1.2rem;
    text-indent: 7px;
}
#product .detail {
    width: 100%;
    height: 249px;
    margin-bottom: 25px;
    clear: both;
}
#product .detail ul {
    width: 368px;
    height: 249px;
    float: left;
}
#product .detail ul li {
    float: left;
    margin-right: 10px;
    list-style: none;
}
#product .detail ul li img {
    width: 160px;
    margin-bottom: 5px;
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -o-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
#product .product_right {
    width: 592px;
    float: right;
}
#product .product_right p {
    border-bottom: 1px dashed #a6a5a5;
    font-size: 0.8rem;
    line-height: 2.5rem;
}
#product .product_right p.p_name {
    font-size: 1.2rem;
    font-weight: bold;
}
#product .product_right p.p_name2 {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4rem;
}
#product .product_right p.p_name span.red {
    margin-left: 15px;
    color: #f00;
    font-size: 0.5rem;
}
#product .product_right p.p_name2 span.red2 {
    color: #f00;
    font-size: 0.5rem;
    line-height: 1.2rem;
}
#product .product_right p.p_size {
    line-height: 1.8rem;
}
#product .product_right p.p_desc {
    margin-bottom: 10px;
    line-height: 1.8rem;
}
#product .product_right img {
    float: left;
    margin-right: 10px;
}
#product a.back_top {
    float: right;
}


/*===================================================

 Service

====================================================*/
/*---------------------------------------------------
 Greeting
----------------------------------------------------*/
#service #greeting {
    height: 270px;
}
#service #greeting h2 {
    margin-bottom: 25px;
}
#service #greeting_inner{
    width: 100%;
    padding: 10px;
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -o-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    border-radius: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    box-sizing: border-box;
}
/*---------------------------------------------------
 Contents
----------------------------------------------------*/
#service #contents h2+p {
    margin-bottom: 10px;
    font-size: 1.0rem;
    font-weight: bold;
}
#service #contents h2+p span {
    color: #345495;
    font-weight: bold;
}
#service #contents ul {
    width: 100%;
    margin-bottom: 15px;
    display: inline-block;
}
#service #contents ul li {
    float: left;
    margin-right: 15px;
}
#service #contents ul li:last-child {
    margin-right: 0;
}
#service #contents ul li img {
    width: 302px;
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -o-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
#service #contents ul.block li img {
    width: 172px;
}


/*===================================================

 Company

====================================================*/
#company h2 {
    margin-bottom: 25px;
}
#company #company_left {
    width: 40%;
    float: left;
}
#company #company_left table {
    margin-top: 10px;
}
#company #company_left table th {
    width: 150px;
    padding: 10px 10px 10px 0;
    border-bottom: 1px dashed #999;
    font-size: 12px;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
}
#company #company_left table td {
    width: 180px;
    padding: 10px 10px 10px 0;
    border-bottom: 1px dashed #999;
    font-size: 12px;
    text-align: left;
}
#company #company_right {
    width: 60%;
    float: right;
    margin-bottom: 30px;
}


/*===================================================

 Newitem

====================================================*/
#newitem h2 {
    margin-bottom: 25px;
}
#newitem h2 span {
    float: right;
    margin: 10px 0 0 0;
    font-size: 0.6rem;
    font-weight: normal;
}
#newitem h2+p {
    margin-bottom: 10px;
    font-size: 1.0rem;
    font-weight: bold;
}
#newitem h2+p span {
    color: #345495;
    font-weight: bold;
}
#newitem section {
    width: 100%;
    margin-top: 10px;
    clear: both;
}
#newitem section {
    margin-bottom: 10px;
    display: inline-block;
}
#newitem section ul {
    width: 100%;
    display: inline-block;
}
#newitem section ul li {
    float: left;
    margin-right: 15px;
    list-style: none;
}
#newitem section ul li:last-child {
    margin-right: 0;
}
#newitem section ul li img {
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -o-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
#newitem section ul li img.blockImg {
    width: 172px;
}
#newitem section ul li img.side {
    width: 302px;
    margin-top: 40px;
}


/*===================================================

 Video

====================================================*/
#video h2 {
    margin-bottom: 25px;
}
#video #video_info a {
    width: 100%;
    margin-bottom: 20px;
    display: block;
}
#video #video_info #video_area {
    margin-bottom: 60px;
    display: inline-block;
}
#video #video_info .video {
    width: 470px;
    float: left;
    margin: 0 20px 20px 0;
}
#video #video_info .video:nth-child(2n) {
    margin-right: 0;
}


/*===================================================

 Repair

====================================================*/
#repair h2 {
    margin-bottom: 25px;
}
#repair h2+p {
    margin-bottom: 15px;
    color: #205491;
    font-size: 1.6rem;
}
#repair h2+p+p {
    margin-bottom: 185px;
}

/*===================================================

 Special

====================================================*/
#special h2 {
    margin-bottom: 25px;
}
#special p {
    margin-bottom: 10px;
    text-align: center;
}
#special h2+p {
    color: #004d8f;
    font-size: 1.8rem;
}
#special p+img {
    margin-bottom: 30px;
    border: 1px solid #ccc;
}
#special p:last-of-type {
    margin-bottom: 50px;
}
#special a {
    color: #345495;
}
#special a:hover {
    text-decoration: underline;
}

/*===================================================

 Sitemap

====================================================*/
#sitemap h2 {
    margin-bottom: 25px;
}
#sitemap ul {
    width: 33%;
    float: left;
    margin-bottom: 25px;
    display: inline-block;
}
#sitemap ul li {
    margin-bottom: 5px;
    list-style: none;
}
#sitemap ul li a {
    color: #444;
    text-decoration: none;
}
#sitemap ul li a:hover {
    color: #345495;
    text-decoration: underline;
}
#sitemap ul li ul {
    width: 100%;
    float: none;
    margin-bottom: 0;
    padding-left: 10px;
}

/*===================================================

 Contact

====================================================*/
#contact h2 {
    margin-bottom: 25px;
}
#contact  #contact_area {
    width: 100%;
}
#contact_area p.required {
    color: #ff0000;
    font-size: 0.8rem;
}
#contact  #bioglaphy {
    margin: 20px 0 20px 0;
    padding-bottom: 20px;
    border-bottom: 1px dotted #999;
}
#contact  #bioglaphy p {
    font-size: 0.8rem;
}
#contact  #formWrap {
    width: 600px;
    margin: 0 auto;
    font-size: 90%;
    line-height: 120%;
}
#contact  table.formTable {
    width: 100%;
    margin: 10px auto 0;
    border-collapse: collapse;
}
#contact  table.formTable td,table.formTable tr {
    height: 50px;
}
#contact  table.formTable th,
#contact  table.formTable td {
    width: 170px;
    padding: 5px ;
    font-size: 0.8rem;
}
#contact  table.formTable th {
    padding-right: 20px;
    text-align: right;
}
#contact  table.formTable td {
    padding-left: 20px;
}
#contact  table.formTable td,
#contact  table.formTable td input {
    height: 30px;
}
#contact  table.formTable td input {
    padding-left: 3px;
}
#contact  table.formTable {
    text-align: left;
}
#contact  span.notice {
    margin-left: 3px;
    color: #f00;
    font-size: 9px;
    vertical-align: top;
}
#contact span.eng {
    font-size: 9px;
}
#contact .form p {
    margin: 20px 0 50px;
    text-align: center;
}
#contact .form p input {
    width: 250px;
    height: 50px;
    background: url('/img/common/submit_off.png');
    border: none;
    text-indent: -9999px;
    cursor: pointer;
}
#contact .form p input:hover {
    background: url('/img/common/submit_on.png');
}

/*===================================================

 Confirmation

====================================================*/
#confirmation h2 {
    margin-bottom: 25px;
}
#confirmation p {
    margin-bottom: 15px;
}
#confirmation table.formTable {
    width: 100%;
    margin: 0 auto 40px;
    padding: 10px;
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -o-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    border-radius: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    box-sizing: border-box;
}
#confirmation table.formTable tr {
    height: 40px;
}
#confirmation table.formTable tr th {
    width: 200px;
}
#confirmation p#button {
    margin-top: 40px;
}

/*===================================================

 Thanks

====================================================*/
#thanks section {
    width: 100%;
    height: 228px;
    margin: 120px auto 0;
    padding: 10px;
    border: 4px solid #fff;
    -moz-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -o-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    -ms-box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
    border-radius: 10px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    box-sizing: border-box;
}
#thanks section p#thank {
    margin-bottom: 30px;
    font-size: 1.8rem;
    text-align: center;
}
#thanks section p#attention {
    margin-bottom: 10px;
    font-size: 1.0rem;
    text-align: center;
}
#thanks section p#attention span.red {
    color: #ff0000;
    font-size: 0.8rem;
}
#thanks section p#jump {
    font-size: 0.6rem;
    text-align: center;
}