html, body {height: 100%;}
p {text-align:justify}
.main { width: 980px; margin:auto; position: relative; z-index: 0; min-height: 100%;height: auto !important;height: 100%;margin: 0 auto -36px;}
.main-inner { padding: 10px; min-height: 540px}
body, .ff-2, input, option, textarea { cursor: default; font: 14px/1.4 Georgia, Palatino,'Palatino Linotype', Times, 'Times New Roman', serif ; background-position: center top; background-repeat:no-repeat}
input, option, textarea { font-style: italic; font-size: 11px }
a.theme-bd-1,a.theme-bd-2,a.theme-bd-3,a.theme-bd-3 { text-decoration:underline; }
a.theme-bd-1:hover,a.theme-bd-2:hover,a.theme-bd-3:hover,a.theme-bd-3:hover { text-decoration:none }
/* font sizes */
.xs { font-size: 11px; }
.s { font-size: 12px; }
.m { font-size: 14px }
.l { font-size: 16px; }
.ff-1.xs{ font-size: 9px; }
.ff-1.s{ font-size: 11px; }
.ff-1.m { font-size: 12px }
.ff-1.l { font-size: 14px; letter-spacing:-.08em }
.ff-1.xl { letter-spacing:-.08em; font-size: 28px }
.ff-1.xxl, .ff-1 .xxl { font-size: 55px }
.ff-1.xxl2, .ff-1 .xxl2  { font-size: 50px;letter-spacing:-.09em }
/* shadows, round corners, distances */
.shadow{ -moz-box-shadow:0 0 6px #888; -webkit-box-shadow:0 0 6px #888; box-shadow:0 0 6px #888; }
.text-shadow { text-shadow: #999 1px 1px 1px }
.round { -moz-border-radius: 14px;-webkit-border-radius: 14px;border-radius: 14px;position: relative; z-index: 1;  }
.round .round { -moz-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;position: relative; z-index: 1;  }
.tiny-round { -moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px; }
.small { font-size: 80%;position: relative; z-index: 1; }
.std-distance { margin-bottom: 10px }
.std-padding { padding: 10px }
.big-padding { padding: 20px 10px }
.multicol-2 { column-count: 2;column-gap: 16px;-moz-column-count: 2;-moz-column-gap: 16px;-webkit-column-count: 2;-webkit-column-gap: 16px; }
.eye-catcher { font-size: 16px; font-style: oblique; padding: 10px 20px}
.sidebar-widget .ff-1.xl{ font-style: normal; line-height: 1 }
/* header */
.title-box { padding: 0 5px }
.title-box h1  { padding: 95px 0 0 0; margin:0; line-height: 1.1 }
.title-box h2, h3, .h3, .home-title-box h2 { padding: 0 8px 1px 8px; line-height: 1.2 }
.home-title-box { padding: 0 15px; margin-top: 85px }
.home .header { padding-bottom: 230px }
#slogan { position: absolute; right: 0px; top: 220px; z-index:50; font-weight:normal }
#slogan q { font-style:italic; font-size: 24px; margin:0; padding: 5px 20px; display:block }
#slogan a { padding: 3px 6px 2px 6px; position:absolute; right:30px; bottom: -18px }
.header-bar { padding: 10px; }
#logo {display:block;padding: 0 10px }
.navi a { text-decoration: none; }
/* header navi */
#header-navi { position:absolute; right: 60px; top: -10px; z-index: 50}
#header-navi li { padding-top: 25px; } 
#header-navi a { display:block; padding: 0px 5px 1px 5px; margin: 0 4px } 
#donation { top: -24px; position: relative; margin-left: 14px;-moz-border-radius-topleft: 0px;-moz-border-radius-topright: 0px;-moz-border-radius-bottomright: 10px;-moz-border-radius-bottomleft: 10px;-webkit-border-radius: 0px 0px 10px 10px;border-radius: 0px 0px 10px 10px;}
#donation a { padding: 23px 14px 10px; }
/* lang navi */
#lang-navi { position: absolute; top: 16px; right: -23px; z-index:50}
#lang-navi li { height: 16px; line-height:16px;  }
#lang-navi a { position: relative; width: 50px; margin: 2px 0 }
#lang-navi abbr { border:none; padding-left: 4px;display:block; font-style:normal; width:27px; text-align:center; }
#lang-navi a:hover abbr {  top: 0px; left: 20px; }
/* main navi */
#main-navi { display:table; width: 99%; margin: 4px .5% }
#main-navi li { padding: 2px; display: table-cell }
#main-navi li:first-child { padding-left: 15px; }
#main-navi li.last { padding-right: 20px; }
#main-navi a { display:block; text-align:center }
#main-navi a.home { text-indent: -10000px; overflow:hidden; width: 20px; padding: 0 12px  }
/* text size */
#txt-size { position: absolute; top: 52px; right: 50px; cursor:default }
#txt-size ul, #txt-size li { display:inline }
#txt-size a { padding: 0 3px }
/* sub-navi */
#sub-navi-box { min-height: 80px; padding: 5px 0 }
#sub-navi { padding: 10px 0; }
#sub-navi li { line-height: 2; padding: 0 5px }
#sub-navi a { display:block; padding: 0 10px }
#sub-navi .active a { padding: 0 15px }
/* sidebar */
.sidebar { padding-top:10px }
.sidebar-widget { position:relative }
.large-icon { padding-left: 40px }
#mail-icon { width: 40px; height: 40px; position: absolute; left: 5px; top: 11px }
/* contents */
.contents { min-height: 150px; margin-bottom: 20px;padding: 15px 15px 0 15px;}
.content-page img { padding-bottom: 10px } 
/* social networks */
#social-network-widget { position: absolute; bottom: 0px; left: -232px; display:none; overflow:hidden; padding: 8px 1px 8px 36px; }
.home #social-network-widget { left: auto; right: -232px}
#social-network-widget .addthis_toolbox { height:20px;width: 188px; overflow:hidden; }
#social-network-widget a { overflow:hidden; float:left; display:inline; }
#social-network-widget a.addthis_button_facebook_like { width: 84px }
#social-network-widget a.addthis_button_tweet { width: 94px }
/* news & publications*/
.article { position: relative; margin-bottom: 20px }
.home .article { margin-bottom: 10px }
.news-date { line-height: 1; position: absolute; z-index: 55;left:0; top: 10px; padding:5px ;-webkit-box-shadow: 1px 1px 1px 0px #888; -moz-box-shadow: 1px 1px 1px 0px #888;box-shadow: 1px 1px 1px 0px #888; -moz-border-radius-topleft: 4px;-moz-border-radius-topright: 0px;-moz-border-radius-bottomright: 4px;-moz-border-radius-bottomleft: 0px;-webkit-border-radius: 0px 4px 4px 0;border-radius: 0px 4px 4px 0px;}
.date-fragment { display: block; }
.article h3 { padding: 0 0px 5px 0px; margin-bottom:10px }
.home .article h3 { margin-bottom:00px }
.article .description { padding-top: 20px }
.home .article .description { padding-top: 0px }
.article .more  { position: absolute; right: 0; bottom: 0px; background: white }
.article .more:before {	content: "\a0\a0\bb\a0"; }
.publication-price span { font-weight: bold }
.publication-description { min-height: 130px } 
/* list scroller */
.scroll-container { margin: 0 -15px; padding: 0 15px 20px 15px; -moz-border-radius-topleft: 0px;-moz-border-radius-topright: 0px;-moz-border-radius-bottomright: 10px;-moz-border-radius-bottomleft: 10px;-webkit-border-radius: 0px 0px 10px 10px;border-radius: 0px 0px 10px 10px; }
.scroll-container .scroll-end { height: 30px;margin-top: -20px }
/* gallery */
.thumbs {padding: 0 0 0 1px ; margin: 0;list-style:none}
.thumbs li { padding:2px 2px 2px 1px; opacity: .8 }
.thumbs li:hover, .thumbs li.active  { opacity: 1}
.gallery-container {position: relative}
.gallery-container img {display:block;}
/* forms */
.form-row { clear:left; overflow:hidden; padding: 3px 0 }
.fifty label { width: 130px }
input[type="text"], input[type="password"], input[type="email"],  textarea { width: 203px; border: 1px #ccc solid}
select { width: 209px; border: 1px #ccc solid}
abbr { border: none }
.gmap-form { padding: 10px 0 }
.gmap-form input { width: 245px; margin-right: 5px;position: relative; top : 1px }
/* table */
table { border-collapse: collapse; width: 100% }
td, th { text-align:center; vertical-align:top; padding: 4px 3px }
th:first-child { -moz-border-radius-topleft: 4px;-moz-border-radius-topright: 0px;-moz-border-radius-bottomright: 0px;-moz-border-radius-bottomleft: 4px;-webkit-border-radius: 4px 0px 0px 4px;border-radius: 4px 0px 0px 4px;}
th:last-child, th.last { -moz-border-radius-topleft: 0px;-moz-border-radius-topright: 4px;-moz-border-radius-bottomright: 4px;-moz-border-radius-bottomleft: 0px;-webkit-border-radius: 0px 4px 4px 0px;border-radius: 0px 4px 4px 0px;}
th span { display:block; text-transform: none }
#footer-box { height: 36px;position: relative; z-index: 1000 }
#footer {  width: 960px; margin:auto; position: relative;padding: 0; line-height: 36px; }
#copyright { float:left }
#supplier { float:right }
/* home news */
#news-teaser-pic-box { position: relative; height: 107px; width: 339px;z-index:49;overflow:hidden; margin-bottom: 15px }
#news-teaser-pic-box img { position:absolute; top:0; left:0; clip:rect(10px,339px,117,0px); z-index: 50;overflow:hidden; display:block}
/* home zoom */
#day-center-list { overflow:hidden }
#day-center-list h4 { overflow:hidden; padding:0 8px 1px; margin: 0px }
.cycle { overflow:hidden;   }
.has-js .cycle { width: 20000em }
.has-js .cycle li { float:left; width: 339px;  background:white; height: 400px; overflow: hidden}
.file-listing {padding-top:26px !important}
.file { padding-top: 10px; padding-bottom:10px ; line-height: 40px}
button { border-width: 1px ; border-style: solid; padding: 1px 10px; font-size: 13px }
#gmap-directions { background: white }
#gmap-directions td { text-align: left }
.radio_list { list-style:none; padding: 30px 0 30px 0; margin:0 }
.radio_list li { padding:10px 0 0 0; margin:0; clear:left }
.radio_list input { width: 20px !important; top:3px; position: relative; float:left }
.radio_list label { float:left; width:300px !important}
#supplier a { text-transform: none }


/* Training */
abbr { text-decoration: none; }
.listtraining_item { padding-top: 20px; border-top: 1px #ccc dotted; }
  .listtraining_itemtitle { background-color: #ff6600; margin-bottom: 20px; position: relative; }
  .listtraining_itemref { position: absolute; top: 3px; right: 8px; z-index: 1; font-size: 73.3333%; font-style: normal; }
  .listtraining_itembox { float: left; width: 25%; }
  .listtraining_itembox.\:x2 { width: 50%; }
    .listtraining_itemboxtitle { margin: 0 0 2px; color: #ff6600; }
    .listtraining_itemboxtext { margin: 0 15px 20px 0; text-align: left; }
    .listtraining_itemboxtext + .listtraining_itemboxtitle { margin-top: -10px; }
    .listtraining_itemboxbtn1,
    .listtraining_itemboxbtn2 { font-size: 11px; text-transform: uppercase; padding: 3px 1px; text-decoration: none !important; border-width: 1px; border-style: solid; margin: 5px 15px 0 0; display: block; text-align: center; }
  .listtraining_itemboxlast { float: right; width: 25%; }
    .listtraining_itemboximg { max-width: none; width: 100%; }

#contents { border-left: 1px #ccc dotted; }
#social-network-widget { width: 231px; }   
#sidebar_cart { position: relative; margin: 10px 0; padding-bottom: 25px; }
#sidebar_cart > .icon_cart { position: absolute; left: 5px; top: 11px }
#sidebar_carttitle { line-height: 30px; white-space: nowrap; }
.listcart { margin: 0 -10px 0 -40px !important; border-top: 1px #ccc dotted; padding-top: 10px !important; }
  .listcart_item { border-bottom: 1px #ccc dotted; position: relative; padding: 7px 10px 7px; }
    .listcart_itemtitle { display: inline-block; white-space: nowrap; vertical-align: top; overflow: hidden; text-overflow: ellipsis; width: 140px; }
    .listcart_itemprice { display: inline-block; white-space: nowrap; vertical-align: top; }
    .listcart_item > .icon_cartremove { position: absolute; right: 10px; top: 50%; margin-top: -7px; z-index: 1; }
#sidebar_cartbtn { padding: 3px 0; display: block; margin: 20px 40px 0 0; text-align: center; font-size: 11px; text-decoration: none !important; border-width: 1px; border-style: solid; }


  .trainingorder_steptitle { background-color: #ff6600; margin-top: 20px; margin-bottom: 20px; }
  .trainingorder_steptitle.\:inactive { background-color: #a4a4a4; }
  
.listcart2 { margin: 35px 0 40px !important; }
  .listcart2_item { border-bottom: 1px #ccc dotted; position: relative; padding: 7px 0 7px; }
    .listcart2_itemtitle { display: inline-block; white-space: nowrap; vertical-align: top; overflow: hidden; text-overflow: ellipsis; width: 525px; }
    .listcart2_itemprice { display: inline-block; white-space: nowrap; vertical-align: top; }
    .listcart2_item > .icon_cartremove { position: absolute; right: 0; top: 50%; margin-top: -7px; z-index: 1; }
  #listcart2_itemlast { border: 0; }
  
  #trainingorder_formbtn { padding: 3px 0; display: block; text-align: center; font-size: 11px; text-transform: uppercase; margin: 3px 0 0 130px; width: calc(100% - 130px); )}

 /* staff */
 ul.liststaff { margin: -10px -10px 5px; }
 .liststaff_item { width: 25%; display: inline-block; vertical-align: top; padding: 10px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; }
   .liststaff_itemimg { max-width: none; width: 100%; height: auto; }
   .liststaff_itemtitle { margin-bottom: 5px; }