@charset "UTF-8";
/* Reset Stylesheet Based on - html5doctor.com Reset Stylesheet http://html5doctor.com/html-5-reset-stylesheet/ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: middle; }
ul, li { list-style: none; }
/*-------------------------------------
clearfix
-------------------------------------*/
.clearfix:before,.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/*-------------------------------------
common
-------------------------------------*/
body { font: 75%/1.5 "Oswald", sans-serif, Arial, Helvetica, Verdana, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック"; font-weight: 300; letter-spacing: .05em; -webkit-text-size-adjust: 100%; }
a { text-decoration: none; cursor: pointer; color: rgb(0,120,210); }
h1 { font-size: 48px; font-weight: 400; color: rgb(56,74,98); }
h2 { font-size: 48px; font-weight: 400; color: rgb(56,74,98); }
h3 { font-size: 18px; font-weight: 400; }
h4 { font-size: 18px; font-weight: 300; }
p, dl, ul { font-size: 18px; }
input, select, table { font-size: 16px; }
img { vertical-align: bottom; }
.inner { max-width: 1080px; margin: 0 auto; padding: 0 2%; box-sizing: border-box; }
.block { background: rgba(0,0,0,0.04); }
.more { width: 300px; margin: 30px auto; text-align: center; font-weight: 400; }
.more a { display: block; padding: 5px; color: rgb(56,74,98); background: rgb(255,255,255); border: solid 1px rgb(56,74,98); border-radius: 2em; transition: all 0.2s ease 0s; }
.more a:hover { color: rgb(255,255,255); background: rgb(56,74,98); }

/*-------------------------------------
header
-------------------------------------*/
header { width: 100%; min-width: 1200px; z-index: 1; background: rgba(255,255,255,1); position: fixed; }
header .logo { float: left; width: 160px; line-height: 1; margin: 12px 0 15px; }
header nav { float: right; }
header nav ul { display: block; }
header nav li { float: left; font-size: 16px; font-weight: 400; letter-spacing: 0.2em; }
header nav li a { float: left; padding: 22px; color: rgb(56,74,98); position: relative; display: inline-block; text-decoration: none; }
header nav li a::after { position: absolute; bottom: 10px; left: 0; content: ''; width: 100%; height: 2px; background: rgb(56,74,98); transform: scale(0, 1); transform-origin: right top; transition: transform .3s; }
header nav li a:hover::after { transform-origin: left top; transform: scale(1, 1); }

/*-------------------------------------
footer
-------------------------------------*/
footer { width: 100%; min-width: 1200px; background: rgb(0,0,0); }
footer .copy { text-align: center; color: rgb(255,255,255); font-size: 16px; font-weight: 400; letter-spacing: 0.4em; padding: 20px 0 180px; background: url("/en/osv/images/copy_bg.jpg") repeat-x top; background-size: 1100px; }
footer .copy { animation: copy-bgLoop 60s linear infinite; }
@keyframes copy-bgLoop {
    0% { background-position: 0 -30px;}
  100% { background-position: 1100px -30px;}
}
footer .copyright { padding: 15px 0px 20px; text-align: center; color: rgb(255,255,255); background: rgb(56,74,98); font-size: 14px; }

/*-------------------------------------
contents
-------------------------------------*/
.contents { width: 100%; min-width: 1200px; overflow: hidden; }



/*-------------------------------------
top common
-------------------------------------*/
/* top-heading */
.top-heading { padding-bottom: 10px; text-align: center; letter-spacing: 0.4em; }
.top-heading span { display: block; font-size: 18px; letter-spacing: 0.2em; }

/*-------------------------------------
top
-------------------------------------*/
/* top-visual */
.top-visual { width: 100%; min-width: 1200px; height: 800px; padding: 74px 0 0; background: url("/en/osv/images/top_visual_bg.jpg") repeat-x bottom; background-size: 1100px; }
.top-visual h1 { width: 1100px; margin: 141px auto 0; text-align: right; }
.top-visual { animation: visual-bgLoop 60s linear infinite; }
@keyframes visual-bgLoop {
    0% { background-position: 0 74px;}
  100% { background-position: 1100px 74px;}
}

/* top-company-logo */
.top-company-logo { width: 100%; min-width: 1200px; height: 108px; background: url("/en/osv/images/top_company_logo.gif") repeat-x bottom; background-size: 3400px; }
.top-company-logo { animation: company-logo-bgLoop 100s linear infinite; }
@keyframes company-logo-bgLoop {
    0% { background-position: 0 0;}
  100% { background-position: -3400px 0;}
}

/* top-osv */
.top-osv { padding: 60px 0; background: rgb(56,74,98); }
.top-osv .inner { position: relative; }
.top-osv h2 { margin-bottom: 30px; text-align: center; letter-spacing: 0.05em; line-height: 120%; font-size: 50px; color: rgb(255,255,255); }
.top-osv h3 { padding: 10px 0 5px; background: rgb(180,160,100); color: rgb(255,255,255); text-align: center; letter-spacing: 0.05em; font-size: 30px; }
.top-osv ul { color: rgb(180,160,100); border: solid 10px rgb(180,160,100); padding: 0 20px; background: rgb(255,255,255); font-size: 18px; }
.top-osv ul li { margin: 25px 0; margin-left: 20px; display: list-item; list-style: disc; }
.top-osv ol { color: rgb(255,255,255); font-size: 16px; }
.top-osv ol li { margin: 25px 0; margin-left: 20px; display: list-item; list-style: disc; }
.top-osv ol li.harf { width: 75%; }
.top-osv .logo-abs { width: 150px; position: absolute; right: 50px; bottom: 30px; }

/* top-news */
.top-news { padding: 60px 0; }
.top-news ul { margin: -10px 0 0 -3%; }
.top-news li { float: left; width: 30.333333333333333%; margin: 40px 0 0 3%; box-sizing: border-box; position: relative; }
.top-news li a { display: block; box-shadow: 0 1px 2px rgb(220,220,220); transition: all 0.2s ease 0s; }
.top-news li a:hover { text-decoration: none; box-shadow: 0 1px 10px rgb(220,220,220); transform: translate3d(0px,-3px,0px); backface-visibility: hidden; }
.top-news .pict { display: block; }
.top-news .info { display: block; padding: 12px 6% 16px; position: relative; }
.top-news .info p { display: block; text-align: center; color: rgb(255,255,255); background: rgb(56,74,98); font-weight: 400; padding: 5px 10px; margin: -30px 0 0; border-radius: 2em; letter-spacing: 0.1em; }
.top-news .info h3 { display: block; color: rgb(40,40,40); margin: 10px 0 0; font-size: 21px; font-weight: 400; }
.top-news .new { width: 25%; position: absolute; top: 0px; left: 0px; opacity: 1; }

/* top-package */
.top-package { padding: 60px 0; }
.top-package figure { margin-top: 30px; }

/* top-mpsv */
.top-mpsv { padding: 60px 0; }
.top-mpsv h3 { margin-top: 30px; padding: 15px 0 5px; text-align: center; font-size: 36px; letter-spacing: 0.05em; color: rgb(255,255,255); background: rgb(140,160,175); }
.top-mpsv table { width: 100%; background: rgb(255,255,255); color: rgb(56,74,98); border: 10px solid rgb(140,160,175); box-sizing: border-box; }
.top-mpsv table th { width: 30%; padding: 10px; text-align: left; font-weight: 300; box-sizing: border-box; }
.top-mpsv table td { width: 70%; padding: 10px; box-sizing: border-box; }
.top-mpsv table tr:nth-child(odd) th { background: rgb(240,240,240); }
.top-mpsv table tr:nth-child(even) td { background: rgb(240,240,240); }
.top-mpsv table tr th.title { font-size: 20px; color: rgb(255,255,255); background: rgb(140,160,175); font-weight: 400; }
.top-mpsv table tr th.bold { font-weight: 400; }
.top-mpsv table tr th.pl20 { padding-left: 20px; }
.top-mpsv table tr th.pl30 { padding-left: 30px; }
.top-mpsv table tr th.pl40 { padding-left: 40px; }

/* top-members */
.top-members { padding: 60px 0; }
.top-members ul { margin-top: 30px; background: rgb(255,255,255); border-bottom: 1px solid rgb(240,240,240); border-right: 1px solid rgb(240,240,240); box-sizing: border-box; }
.top-members li { float: left; text-align: center; border-top: 1px solid rgb(240,240,240); border-left: 1px solid rgb(240,240,240); box-sizing: border-box; }
.top-members li.col3 { width: 33.333333333333333%; }
.top-members li.col2 { width: 50%; }
.top-members li a { display: block; padding: 60px 0; transition: 0.2s; }
.top-members li a:hover { transform: scale(1.2, 1.2); }
.top-members li a figure { position: relative; height: 82px; }
.top-members li a figure img { position: absolute; left: 50%; top: 50%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); }
.top-members li a span { display: block; margin-top: 10px; }
.top-members .logo-bemac img { max-width: 140px; }
.top-members .logo-daihatsu img { max-width: 160px; }
.top-members .logo-ibuki img { max-width: 75px; }
.top-members .logo-ihi img { max-width: 150px; }
.top-members .logo-kashiwa img { max-width: 240px; }
.top-members .logo-manabe img { max-width: 170px; }
.top-members .logo-miura img { max-width: 165px; }
.top-members .logo-nakashima img { max-width: 190px; }
.top-members .logo-naniwapump img { max-width: 200px; }
.top-members .logo-nhe img { max-width: 110px; }
.top-members .logo-nishishiba img { max-width: 190px; }
.top-members .logo-semco img { max-width: 160px; }
.top-members .logo-taiyo img { max-width: 165px; }
.top-members .logo-tokyokeiki img { max-width: 130px; }
.top-members .logo-ushio img { max-width: 160px; }
.top-members .logo-yanmar img { max-width: 185px; }

/* top-download */
.download {}

/* top-contact */
.top-contact { padding: 60px 0; }
.top-contact h3 { margin: 30px 0 0 25px; font-size: 24px; letter-spacing: 0.1em; color: rgb(56,74,98); }
.top-contact table { width: 100%; margin-top: 30px; background: rgb(255,255,255); color: rgb(56,74,98); }
.top-contact table th { width: 25%; padding: 25px; text-align: left; border-top: 1px solid rgb(240,240,240); font-weight: 300; box-sizing: border-box; }
.top-contact table td { width: 75%; padding: 25px; border-top: 1px solid rgb(240,240,240); box-sizing: border-box; }



/*-------------------------------------
page common
-------------------------------------*/
.headline { width: 100%; padding: 74px 0 0; background: url("/en/osv/images/headline_bg.jpg") repeat-x top; background-size: 1100px; }
.headline h1 { margin: 130px 0 0; padding-bottom: 30px; text-align: center; letter-spacing: 0.4em; color: rgb(255,255,255); }
.headline h1 span { display: block; font-size: 18px; letter-spacing: 0.2em; }
.headline { animation: headline-bgLoop 60s linear infinite; }
@keyframes headline-bgLoop {
    0% { background-position: 0 74px;}
  100% { background-position: 1100px 74px;}
}



/*-------------------------------------
news
-------------------------------------*/
.news { padding: 60px 0; }
.news ul { margin: -40px 0 0 -3%; }
.news li { float: left; width: 30.333333333333333%; margin: 40px 0 0 3%; box-sizing: border-box; position: relative; }
.news li a { display: block; box-shadow: 0 1px 2px rgb(220,220,220); transition: all 0.2s ease 0s; }
.news li a:hover { text-decoration: none; box-shadow: 0 1px 10px rgb(220,220,220); transform: translate3d(0px,-3px,0px); backface-visibility: hidden; }
.news .pict { display: block; }
.news .info { display: block; padding: 12px 6% 16px; position: relative; }
.news .info p { display: block; text-align: center; color: rgb(255,255,255); background: rgb(56,74,98); font-weight: 400; padding: 5px 10px; margin: -30px 0 0; border-radius: 2em; letter-spacing: 0.1em; }
.news .info h3 { display: block; color: rgb(40,40,40); margin: 10px 0 0; font-size: 21px; font-weight: 400; }
.news .new { width: 25%; position: absolute; top: 0px; left: 0px; opacity: 1; }



/*-------------------------------------
package
-------------------------------------*/
.package { padding: 60px 0; }
.package h2 { }



/*-------------------------------------
mpsv
-------------------------------------*/
.mpsv { padding: 60px 0; }
.mpsv h2 { padding: 15px 0 5px; text-align: center; font-size: 36px; letter-spacing: 0.05em; color: rgb(255,255,255); background: rgb(140,160,175); }
.mpsv table { width: 100%; background: rgb(255,255,255); color: rgb(56,74,98); border: 10px solid rgb(140,160,175); box-sizing: border-box; }
.mpsv table th { width: 30%; padding: 10px; text-align: left; font-weight: 300; box-sizing: border-box; }
.mpsv table td { width: 70%; padding: 10px; box-sizing: border-box; }
.mpsv table tr:nth-child(odd) th { background: rgb(240,240,240); }
.mpsv table tr:nth-child(even) td { background: rgb(240,240,240); }
.mpsv table tr th.title { font-size: 20px; color: rgb(255,255,255); background: rgb(140,160,175); font-weight: 400; }
.mpsv table tr th.bold { font-weight: 400; }
.mpsv table tr th.pl20 { padding-left: 20px; }
.mpsv table tr th.pl30 { padding-left: 30px; }
.mpsv table tr th.pl40 { padding-left: 40px; }



/*-------------------------------------
members
-------------------------------------*/
.members { padding: 60px 0; }
.members h2 { text-align: center; letter-spacing: 0.1em; font-size: 36px; }
.members ul { margin-top: 30px; background: rgb(255,255,255); border-bottom: 1px solid rgb(240,240,240); border-right: 1px solid rgb(240,240,240); box-sizing: border-box; }
.members li { float: left; text-align: center; border-top: 1px solid rgb(240,240,240); border-left: 1px solid rgb(240,240,240); box-sizing: border-box; }
.members li.col3 { width: 33.333333333333333%; }
.members li.col2 { width: 50%; }
.members li a { display: block; padding: 60px 0; transition: 0.2s; }
.members li a:hover { transform: scale(1.2, 1.2); }
.members li a figure { position: relative; height: 82px; }
.members li a figure img { position: absolute; left: 50%; top: 50%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); }
.members li a span { display: block; margin-top: 10px; }
.members .logo-bemac img { max-width: 140px; }
.members .logo-daihatsu img { max-width: 160px; }
.members .logo-ibuki img { max-width: 75px; }
.members .logo-ihi img { max-width: 150px; }
.members .logo-kashiwa img { max-width: 240px; }
.members .logo-manabe img { max-width: 170px; }
.members .logo-miura img { max-width: 165px; }
.members .logo-nakashima img { max-width: 190px; }
.members .logo-naniwapump img { max-width: 200px; }
.members .logo-nhe img { max-width: 110px; }
.members .logo-nishishiba img { max-width: 190px; }
.members .logo-semco img { max-width: 160px; }
.members .logo-taiyo img { max-width: 165px; }
.members .logo-tokyokeiki img { max-width: 130px; }
.members .logo-ushio img { max-width: 160px; }
.members .logo-yanmar img { max-width: 185px; }

.members-vendors { padding: 60px 0; }
.members-vendors h2 { text-align: center; letter-spacing: 0.1em; font-size: 36px; }
.members-vendors ul { margin-top: 30px; background: rgb(255,255,255); border-bottom: 1px solid rgb(240,240,240); border-right: 1px solid rgb(240,240,240); box-sizing: border-box; }
.members-vendors li { float: left; text-align: center; border-top: 1px solid rgb(240,240,240); border-left: 1px solid rgb(240,240,240); box-sizing: border-box; }
.members-vendors li.col4 { width: 25%; }
.members-vendors li.col3 { width: 33.333333333333333%; }
.members-vendors li.col2 { width: 50%; }
.members-vendors li a { display: block; padding: 60px 0; transition: 0.2s; }
.members-vendors li a:hover { transform: scale(1.2, 1.2); }
.members-vendors li a figure { position: relative; height: 40px; }
.members-vendors li a figure img { position: absolute; left: 50%; top: 50%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%); }
.members-vendors li a span { display: block; font-size: 14px; margin-top: 10px; }
.members-vendors .logo-chugoku img { max-width: 150px; }
.members-vendors .logo-coast img { max-width: 100px; }
.members-vendors .logo-furuno img { max-width: 130px; }
.members-vendors .logo-hsnkikai img { max-width: 170px; }
.members-vendors .logo-hien img { max-width: 90px; }
.members-vendors .logo-hisaka img { max-width: 100px; }
.members-vendors .logo-jrc img { max-width: 70px; }
.members-vendors .logo-kamome img { max-width: 120px; }
.members-vendors .logo-nipponpaint img { max-width: 210px; }
.members-vendors .logo-nittoseiko img { max-width: 120px; }
.members-vendors .logo-sasakura img { max-width: 145px; }
.members-vendors .logo-taiko img { max-width: 85px; }
.members-vendors .logo-teramoto img { max-width: 170px; }
.members-vendors .logo-terasaki img { max-width: 120px; }
.members-vendors .logo-volcano img { max-width: 90px; }
.members-vendors .logo-src img { max-width: 60px; }
.members-vendors .logo-mlit img { max-width: 50px; }



/*-------------------------------------
download
-------------------------------------*/
.download { padding: 60px 0; }
.download .box { float: left; width: 40%; text-align: center; font-weight: 400; }
.download .english { margin: 0 5% 30px 5%; }
.download .indonesian { margin: 0 5% 30px 5%; }
.download .box a { display: block; }
.download .box .pict { display: block; margin-bottom: 15px; transition: all 0.2s ease 0s; }
.download .box .text { padding: 5px; color: rgb(56,74,98); background: rgb(255,255,255); border: solid 1px rgb(56,74,98); border-radius: 2em; transition: all 0.2s ease 0s; }
.download .box a:hover .pict { opacity: 0.8; }
.download .box a:hover .text { color: rgb(255,255,255); background: rgb(56,74,98); }






/*-------------------------------------
contact
-------------------------------------*/
.contact { padding: 60px 0; }
.contact h2 { }
.contact h3 { margin: 0 0 0 25px; font-size: 24px; letter-spacing: 0.1em; color: rgb(56,74,98); }
.contact table { width: 100%; margin-top: 30px; background: rgb(255,255,255); color: rgb(56,74,98); }
.contact table th { width: 25%; padding: 25px; text-align: left; border-top: 1px solid rgb(240,240,240); font-weight: 300; box-sizing: border-box; }
.contact table td { width: 75%; padding: 25px; border-top: 1px solid rgb(240,240,240); box-sizing: border-box; }



@media only screen and (max-width: 767px)
{
/*-------------------------------------
common
-------------------------------------*/


/*-------------------------------------
header
-------------------------------------*/


/*-------------------------------------
footer
-------------------------------------*/


/*-------------------------------------
contents
-------------------------------------*/
}/*--------------------------------------------------------------------------*/



@media only screen and (max-width: 479px)
{
/*-------------------------------------
base
-------------------------------------*/
}/*--------------------------------------------------------------------------*/



@media only screen and (max-width: 320px)
{
/*-------------------------------------
base
-------------------------------------*/
}/*--------------------------------------------------------------------------*/
