/* @charset "UTF-8"; */
/* ////// ELEMENTS ////// */
html, body {
 padding: 0;
 margin: 0;
 width: 100%;
 font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro"," ＭＳ Ｐゴシック", "MS P Gothic", "IPA Pゴシック", "Takao Pゴシック", "TakaoPGothic", "VL Pゴシック", "VL PGothic", "IPAPGothic", Osaka, Helvetica, Arial, sans-serif;
 font-size: medium;
 line-height: 1;
}
._serif {
 font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "IPA P明朝", "IPAPMincho", "Times New Roman", "Times", serif
}
._monospace {
 font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-Mono", "Takaoゴシック", "TakaoGothic", "IPAゴシック", "IPAGothic", "VL ゴシック", "VL Gothic", monospace
}
._monospace._serif {
 font-family: "ＭＳ 明朝", "MS Mincho", "Takao明朝", "TakaoMincho", "IPA明朝", "IPAMincho", monospace
}
body.hasDepth:before { /* top shadow */ 
 content: ""; 
 position: fixed; 
 top: -10px; 
 left: -10px; 
 width: 110%; 
 height: 10px; 
 -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8); 
 -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8); 
 -ms-box-shadow: 0px 0px 10px rgba(0,0,0,.8); 
 -o-box-shadow: 0px 0px 10px rgba(0,0,0,.8); 
 box-shadow: 0px 0px 10px rgba(0,0,0,.8); 
 z-index: 100; 
}

p,
h1, h2, h3, h4, h5, h6,
div,
ul, ol, dl, dt, dd,
pre, hr, blockquote, address,
fieldset,
table,
form,
noscript,
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
 display: block;
 margin: 0;
 padding: 0;
 position: relative;
}
p, div, section, article, header, footer, aside, dl, dt, dd {
 overflow: hidden;
}
div.box_center {
 margin: 0 auto;
}
video {
 max-width: 100%;
 height: auto;
}

table {
 border-collapse: collapse;
 border-spacing: 0;
}
td, th {
 vertical-align: top;
}
th {
 background: url(images/bg_grad_white-gray_top-bottom.png) repeat-x bottom left white;
}
h1, h2, h3, h4, h5, h6 {
 padding: 0.5em;
 clear: both;
 font-size: 120%;
 font-weight: bold;
 overflow: hidden;
}
p, dt, dd {
 padding: 0.5em;
}
ul, li {
 margin: 0;
 padding: 0;
}
ul, ol {
 margin: 0 0 0 1.5em
}
address, em {
 font-style: normal;
}
hr { clear: both; }

h1 a, h1 a:link, h1 a:visited, 
h2 a, h2 a:link, h2 a:visited, 
h3 a, h3 a:link, h3 a:visited, 
h4 a, h4 a:link, h4 a:visited, 
h5 a, h5 a:link, h5 a:visited, 
h6 a, h6 a:link, h6 a:visited {
 text-decoration: none;
}

button {
 background-color: transparent;
 border: none;
 cursor: pointer;
 padding: 0;
 text-align: center;
}
blockquote, q {
 quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
 content: '';
 content: none;
}
code {
 font-family: monospace;
}
a:link img, a:hover img, a:visited img, a:active img, img {
 border: none;
}
/* form elements */
input[type=text], textarea {
 padding: 0.3em;
 font-size: 110%;
 border: solid 1px #ccc;
 -webkit-border-radius: 3px; 
 -moz-border-radius: 3px; 
 border-radius: 3px;
 color: #444;
}
input[type=text] {
}
input:focus[type=text], textarea:focus {
 border: 1px solid #EEA34A;
 color: black;
}
.input_shadow {
 -moz-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); 
 -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2); 
 box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}

a:link img, a:visited img, a:hover img, a:active img, img {
 border: none;
 text-decoration: none;
}

button {
 border: solid 1px #ccc; 
 font-size: 100%;
 padding: 0.5em 2em; 
 text-transform: uppercase;
 font-weight: bold;
 color: #333;
 cursor: pointer;
 background-image: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#aaa)); 
 background-image: -webkit-linear-gradient(top, #ddd, #aaa); 
 background-image: -moz-linear-gradient(top, #ddd, #aaa); 
 background-image: -ms-linear-gradient(top, #ddd, #aaa); 
 background-image: -o-linear-gradient(top, #ddd, #aaa); 
 background-image: linear-gradient(top, #ddd, #aaa); 
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddd', endColorstr='#aaa',GradientType=0 ); /* IE6-9 */
 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5); 
 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5); 
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
 -webkit-border-radius: 0.2em; 
 -moz-border-radius: 0.2em; 
 border-radius: 0.2em;
}
button:hover {
 background-color: #aaa;
}
/* ////// COMMON CLASSES /////// */
/************* clearfix **************/
/* For modern browsers (old code)
.clearfix:before, .clearfix:after {
 content:"";
 display:table;
}
.clearfix:after { clear:both; } */
.clearfix { zoom:1; }
.clearfix:after{
 content: ""; 
 display: block; 
 clear: both;
}
/*** end clearfix ***/

/************* Sprite **************/
.sprite-block {
 display: block;
 overflow: hidden;
 height: 0px;
 background-repeat: no-repeat;
}

.sprite-image-block {
 position: relative;
 overflow: hidden;
}
.sprite-image-block img {
 position: absolute;
}
.sprite-box {
 display: block;
 overflow: hidden;
 white-space: nowrap;
 text-indent: 100%;
 background-repeat: no-repeat;
}

.disabled {
 pointer-events: none;
 opacity: 0.5;
}

/************* UI **************/
#fancybox-outer {
 overflow: visible;
}
.ui-datepicker p, .ui-datepicker dt, .ui-datepicker dd {
 padding: 0;
 overflow: visible;
}

/************* embedded videos **************/
.video-container {
 position: relative;
 padding-bottom: 56.25%;
 padding-top: 30px;
 height: 0;
 overflow: hidden;
}
.video-container iframe,  
.video-container object,  
.video-container embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
/*
 to restrict the video width, wrap .video-container with div.video-wrapper,
 style it as follows.
.video-wrapper {
 width: 600px;
 max-width: 100%;
}
*/

/* ////// CUSTOM CLASSES /////// */
.navi {
 text-align: center;
 font-size: smaller;
}

.inParagraph, inParagraph.featuredContent {
 float: left;
 clear: left;
 margin-right: 0.5em;
 overflow: hidden;
}

.inParagraph_r, .inParagraph.subContent {
 float: right;
 clear: right;
 margin-left: 0.5em;
 overflow: hidden;
}
.alignleft { float: left; }
.alignright { float: right; }
.caption .note, .note { font-size: smaller; }

.ime_on { -ms-ime-mode: active; }
.ime_off { -ms-ime-mode: inactive; }

img[align="left"] {
 margin: 0 0.5em 0.5em 0;
}

img[align="right"] {
 margin: 0 0 0.5em 0.5em;
}

.price {
 font-weight: bold;
 font-size: larger;
}
.price_unit {
 font-size: smaller;
}
.vertical-align-middle {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}