/* =============================================================================
   HTML5 Boilerplate CSS: h5bp.com/css
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: sans-serif; color: #222; }
body { margin: 0; font-size: 1em; line-height: 1.4; }

a { color: #84AFE6; text-decoration: none; }
a:visited { color: #84AFE6; }
a:hover { color: #CCC; text-decoration: underline;}
a:focus { outline: none; }
a:hover, a:active { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

svg:not(:root) { overflow: hidden; }

figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }



/* ===== Primary Styles ========================================================
   Author: MOYA Systems & Design
   ========================================================================== */
html {
 overflow-y:scroll;
 font-size: 62.5%;
}

html, body {
  height: 100%;
}

body {
 color: #333;
 background-color: #FFFFFB;
}

body, textarea { font-family: "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
input, select { font-family: Arial, "ＭＳ Ｐゴシック", sans-serif; }

a { color: #67A2E9; }
a:visited { color: #67A2E9; }

h1, h2, h3, h4, h5, h6 { 
 margin: 0;
 font-weight: normal;
 font-size: 1em;
 line-height: 1.2;
}

p, ul, ol {
 margin: 0 0 1.5em;
 font-size: 1.4em;
 line-height: 1.6;
 text-align: justify;
 text-justify: inter-ideograph;
}

.wrapper {
 width: 940px;
 padding: 0 10px;
 margin: 0 auto;
}

#container {
 width: 100%;
 min-height: 100%;
 position: relative;
}

html.lt-ie7 #container { /* ie6*/
 height: 100%;
}

.left-column {
 float: left;
}

.right-column {
 float: right;
}


#header-container {
 height: 90px;
}

#site-title {
 float: left;
 width: 260px;
 height: 34px;
 background: url(../img/header-logo.png) 0 0 no-repeat transparent;
 margin-top: 54px;
}

#site-title a {
 display: block;
 width: 100%;
 height: 100%;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

html.lt-ie7 #site-title { /* ie6*/
 overflow: hidden;
 text-indent: -9999px;
 display: inline;
}

#header-container nav {
 float: right;
 width: 534px;
 width: 599px; /* add SLS*/
 margin-top: 52px;
}
html.lt-ie7 #header-container nav { /* ie6*/
 width: 544px;
 width: 607px; /* add SLS*/
 text-indent: -9999px;
}

#header-container nav ul li {
 float: left;
 background-image: url(../img/menu.png);
 background-repeat: no-repeat;
 margin-left: 10px;
 margin-left: 6px; /* add SLS*/
 margin-top: 6px;
 height: 20px;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

#header-container nav ul li a {
 display: block;
 width: 100%;
 height: 100%;
 background: url(../img/menu-hover.png) no-repeat #FFFFFB;
 color: transparent;
}

#header-container nav ul li.menu-1 {
 width: 121px;
 background-position: 0 0;
}
#header-container nav ul li.menu-2 {
 width: 56px;
 background-position: -131px 0; 
}
#header-container nav ul li.menu-3 {
 width: 147px;
 background-position: -197px 0; 
}
#header-container nav ul li.menu-4 {
 background-position: -354px 0; 
 width: 82px;
}
#header-container nav ul li.menu-5 {
 background-position: -446px 0; 
 width: 78px;
}
#header-container nav ul li.menu-6 {
 background-position: -535px 0; 
 width: 79px;
}

#header-container nav ul li.menu-1 a {
 background-position: 0 0;
}
#header-container nav ul li.menu-2 a {
 background-position: -131px 0;
}
#header-container nav ul li.menu-3 a {
 background-position: -197px 0;
}
#header-container nav ul li.menu-4 a {
 background-position: -354px 0;
}
#header-container nav ul li.menu-5 a {
 background-position: -446px 0;
}
#header-container nav ul li.menu-6 a {
 background-position: -535px 0;
}

#header-container nav ul li a:hover {
 background-position: -999px -999px;
}

html.lt-ie7 #header-container nav ul li a:hover {
 background-color: transparent;
}

#main-container {
 padding-bottom: 180px;
 text-shadow: 1px 1px 0px #FFF;
}

#main-container ::-moz-selection {
 text-shadow: none;
 background: #3399FF;
 color: #FFF;
}

#main-container ::selection {
 text-shadow: none;
 background: #3399FF;
 color: #FFF;
}

#page-title {
 height: 140px;
 background-repeat: no-repeat;
 background-position: 0 center;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

.to-top {
 clear: both;
 width: 100%;
 text-align: right;
}

.to-top a{
 font-family: verdana, sans-serif;
 font-size: 1.2em;
 min-height: 10px;
 padding-left: 13px;
 padding-bottom: 4px;
 background: url(../img/to-top.png) 0 center no-repeat transparent;
}

#footer-container {
 clear: both;
 height: 140px;
 /* height: 170px; del footer-link*/
 width: 100%;
 min-width: 960px;
 background: url(../img/footer-bg.png) 0 bottom repeat-x transparent;
 /* background: url(../img/footer-bg-150.png) 0 bottom repeat-x transparent; del footer-link*/
 position: absolute;
 bottom: 0px;
 text-align: center;
 color: #FFF;
}

#footer-container .wrapper {
 background: url(../img/footer-shadow.png) center top no-repeat transparent;
 padding-top: 42px;
}

#footer-container h2 {
 width: 214px;
 height: 24px;
 margin: 0 auto;
 background: url(../img/footer-logo.png) 0 0 no-repeat transparent;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

#footer-container h3 {
 font-family: verdana, sans-serif;
 font-size: 1em;
}

.footer-link {
 position: absolute;
 bottom: 16px;
 width: 920px;
 height: 40px;
 margin: 0;
 padding: 0;
 list-style-type: none;
 text-align: center;
 /* del footer-link */
 display: none;
}

.footer-link li {
 display: inline;
 margin: 0 8px;
}

.footer-link li a:hover{
 filter:alpha(opacity=75);
 -moz-opacity: 0.75;
 opacity: 0.75;
}

/* =========
  Home
   ========= */
#home-catch {
 position: relative;
 width: 960px;
 height: 560px;
 margin: 0 auto 16px;;
 background: url(../img/home-catch-shadow.png) center bottom no-repeat transparent;
}

#home-catch h2 {
 display: block;
 width: 958px;
 height: 538px;
 margin: 0 auto;
 border: 1px solid #EFEFEF;
 background: url(../img/home-catch-2024.jpg) center center no-repeat #FFF;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

#home-catch .sls-logo {
 display: block;
 width: 83px;
 height: 132px;
 position: absolute;
 left: 35px;
 top: 384px;
}

#home-catch .iva-logo {
 display: block;
 width: 100px;
 height: 120px;
 position: absolute;
 left: 39px;
 top: 393px;
}

#home-catch .sls-logo a,
#home-catch .iva-logo a {
 display: block;
 width: 100%;
 height: 100%;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

.home .left-column {
 width: 700px;
 margin-right: 20px;
}

.home .right-column {
 width: 220px;
}

.home .right-column section {
 margin-bottom: 30px;
}

#home-lead {
 margin-bottom: 1.6em;
}

#home-lead p {
 font-size: 1.6em;
 margin-bottom: 0.4em;
 color: #1F5581;
}

#home-lead strong {
 font-weight: normal;
 font-size:1.37em;
}

.whats-new {
 clear: both;
}


.whats-new h3 {
 font-family: 'Port Lligat Slab', serif;
 font-size: 2em;
 color: #ABCAEF;
 color: #999;
 margin-bottom: 0.5em;
}

.whats-new ul {
 padding-left: 0;
 list-style-type: none;
 /* margin-bottom: 4em; add Insta bnr */
 margin-bottom: 3em;

}

.whats-new ul li {
 margin-bottom: 0.5em;
 padding-left: 22px;
 background: url(../img/list-image.gif) no-repeat 3px 0.4em;
}
html.lt-ie8 .whats-new ul li {
 zoom: 1;
}

.whats-new .date {
 font-size: 0.9em;
 color: #999;
 padding-left: 0.5em;
}

.whats-new dl {
 margin: 0;
 width: 100%;
}

.whats-new dt {
 color: #84AFE6;
 cursor: pointer;
 display: inline-block;
}

.whats-new dt:hover {
 color: #CCC;
}

html.js .whats-new dd {
 display: none;
}

.whats-new dd {
 margin: 0 2em 1em 1em;
}

.whats-new dd p {
 font-size: 1em;
 margin-bottom: 0;
}

.whats-new dd .permalink {
 line-height: 1;
 margin-bottom: 2em;
}

.whats-new dd .permalink a {
 display: block;
 width: 20px;
 height: 15px;
 background: url(../img/link-icon.gif) no-repeat transparent;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

.whats-new dd .permalink a:hover {
 filter:alpha(opacity=50);
 -moz-opacity: 0.5;
 opacity: 0.5;
}



.sns-link ul {
 height: 28px;
 list-style-type: none;
 padding: 0;
 margin-bottom: 20px;
}

.sns-link ul li {
 /* height: 28px; */
 float: left;
 list-style-type: none;
 background: 0 0 no-repeat transparent;
}

.sns-link ul li a {
 display: block;
 width: 100%;
 height: 100%;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

html.lt-ie7 .sns-link ul li a { /* ie6*/
 text-indent: -9999px;
}

.sns-link ul li:hover {
 filter:alpha(opacity=50);
 -moz-opacity: 0.5;
 opacity: 0.5;
}

.sns-link ul li.sns-link-twitter {
 width: 105px;
 background-image: url(../img/follow-me.png);
 margin-right: 24px;
}

.sns-link ul li.sns-link-fb {
 width: 122px;
 background-image: url(../img/find-me.png);
}

.sns-button {
 clear: both;
 margin-bottom: 2em;
 text-shadow: none;
}

.lets-banner a img:hover {
 filter:alpha(opacity=60);
 -moz-opacity: 0.6;
 opacity: 0.6;
}

.tweet_iframe_widget {
 width: 77px !important;
}

/*
.addthis_button_facebook_like iframe {
 width: 102px !important;
}

.addthis_button_tweet iframe {
 width: 94px !important;
}

.addthis_button_google_plusone {
 width: 64px !important;
}
*/

html.lt-ie8 .addthis_button_facebook_like iframe, /*ie7*/
html.lt-ie8 .addthis_button_google_plusone {
 display: none;
}

.twtr-widget {
 text-shadow: none;
}

.twtr-tweet-text p {
 font-size: 1em;
 font-family: "メイリオ", sans-serif;
 text-align: left;
}

#voices {
 margin-bottom: 4em;
 width: 170px;
 float: left;
}

#voices h3 {
 width: 146px;
 height: 28px;
 background: url(../img/voices-banner.png) no-repeat 0 0;
 cursor: pointer;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
 margin-top: 6px;
}

#voices h3:hover {
 filter:alpha(opacity=50);
 -moz-opacity: 0.5;
 opacity: 0.5;
}

html.js .voices-content-wrap {
 display: none;
}

.voices-content {
 list-style-type: none;
 padding: 20px 30px 0 30px;
}

html.lt-ie8 .voices-content { /* ie7*/
 width: 86%;;
}

.voices-content  li {
 margin-bottom: 3em;
}

.voices-content .spokenby {
 display: inline-block;
 width: 100%;
 text-align: right;
 color: #666;
 font-weight: bold;
}

.trial-banner a img{
 border: 1px solid #FFF;
 margin-top: -1px;
}

.trial-banner a img:hover {
 filter:alpha(opacity=60);
 -moz-opacity: 0.6;
 opacity: 0.6;
 border-color: #273645;
}

#cboxTitle {
 height: 14px;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
 background: url(../img/voices-title.gif) no-repeat 6px 0;
}

#cboxClose {
 width: 50px;
 text-align: right;
 padding-right: 14px;
 background: url(../img/close-x.gif) no-repeat right 0;
}

#cboxClose:hover {
 text-decoration: underline;
}

#cboxBottomCenter {
 background: url(../img/colorbox-border-bottom.png) no-repeat left 0;
}

.ryutopia-mag {
 position: relative;
 width: 100%;
 height: 136px;
 background: url(../img/ryutopia-mag.jpg) no-repeat;
 overflow: hidden;
}

.ryutopia-mag h3 {
 font-size: 1.3em;
 font-weight: bold;
 margin-left: 50%;
 padding-top: 0.2em;
}

.ryutopia-mag p {
 font-size: 1.3em;
 line-height: 1.2;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 text-align: left;
}

.ryutopia-mag p a {
 display: block;
 padding-top: 2em;
 padding-left: 50%;
 height: 100%;
}


.home #footer-container address {
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}
html.lt-ie8 #footer-container address {
 display: none;
}

/* =========
  Profile
   ========= */
.profile #page-title {
 background-image: url(../img/page-title-profile.png);
}

.profile .left-column {
 width: 540px;
 float: left;
}

.biography h3 {
 font-size: 2.2em;
 margin-bottom: 2em;
}

.biography h3 span {
 font-size: 0.82em;
}

.biography h4 {
 font-size: 1.4em;
 font-weight: bold;
 margin-top: 3em;
 margin-bottom: 1em;
}

.biography dl dt {
 font-size: 1.4em;
 text-indent: 0.5em;
}

.biography dl dd {
 margin-left: 0;
}

.biography dl dd ul {
 padding-left: 2em;
 margin-bottom: 1em;
}

.biography dl dd ul li {
 margin-bottom: 0.3em;
}

.profile .right-column {
 width: 300px;
 float: right;
 margin-top: -17px;
}

.profile-photo h4 {
 height: 17px;
 background: url(../img/shadow-top-300px.png) center bottom no-repeat transparent;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

.profile-photo p {
 background: url(../img/shadow-bottom-300px.png) center bottom no-repeat transparent;
 padding-bottom: 19px;
 margin-bottom: 6px;
}

.profile-photo img {
 padding: 6px;
 background-color: #FFF;
 border: 1px solid #EFEFEF;
}


/* =========
  SLS
   ========= */
.sls #page-title {
 background-image: url(../img/page-title-sls.png);
}

.sls .left-column {
 width: 540px;
 float: left;
}

.sls .right-column {
 width: 300px;
 float: right;
}

.sls .right-column p {
 text-align: center;
 font-weight: bold;
}

.sls .right-column p a {
 font-weight: normal;
}

/* =========
  IVA
   ========= */
.iva #page-title {
 background-image: url(../img/page-title-iva.png);
}

.iva .left-column {
 width: 540px;
 float: left;
}

.iva .left-column section {
 margin-bottom: 7em;
}

.iva .left-column section h3 {
 font-size: 2em;
 margin-bottom: 0.8em;
}

.iva .left-column .iva-officialsite {
 margin-bottom: 0;
}

.iva .left-column .iva-officialsite h3 {
 display: none;
}

.iva .right-column {
 width: 320px;
 float: right;
}

.iva .right-column p {
 font-size: 1.3em;
 text-align: center;
 font-weight: bold;
}

.iva .right-column p a {
 font-weight: normal;
}


/* =========
  Cost
   ========= */
.cost #page-title {
 background-image: url(../img/page-title-cost.png);
}

.cost .lessons-all {
 margin-bottom: 4em;
}

.cost .lessons-all ul {
 padding-left: 20px;
 margin-bottom: 0.4em;
 list-style-image: url(../img/list-image.gif);
}

.cost .lessons-all ul li {
 margin-bottom: 0.2em;
}

.cost .lessons-all p {
 font-weight: bold;
 margin: 0;
}

.cost table {
 font-size: 1.6em;
 background: #FFF;
 border: 1px solid #DFDFDF;
 width: 700px;
 margin-bottom: 2em;
}
html.lt-ie7 .cost table { /* ie6*/
 position: relative;
}

.cost table caption {
 height: 22px;
 background: url(../img/shadow-bottom-700px.png) center top no-repeat transparent;
 /*
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
 */
 text-align: right;
 font-size: 0.78em;
 font-weight: normal;
 padding-top: 0.4em;
}

html.lt-ie7 .cost table caption { /* ie6*/
  position: absolute;
}

.cost table td {
 padding-top: 1.4em;
 padding-bottom: 1.4em;
 border-bottom: 1px dotted #CCC;
}

.cost table td.times {
 /* width: 480px; */
 padding-left: 60px;
}

.cost table td.yen {
 text-align: right;
 padding-right: 50px;
}

.cost table td.yen .taxin {
 font-size: 0.78em;
}

.cost table td.times-1,
.cost table td.times-3,
.cost table td.times-4 {
 background: 0 0 no-repeat transparent;
}

.cost table td.times-1 {
 background-image: url(../img/td-bg-01.png);
}

.cost table td.times-3 {
 background-image: url(../img/td-bg-02.png);
}

.cost table td.times-4 {
 background-image: url(../img/td-bg-03.png);
}

.cost .note {
 padding-left: 20px;
 margin-bottom: 0.4em;
 list-style-image: url(../img/list-image-star.gif);
}

.cost .note li {
 margin-bottom: 0.4em;
}


/* =========
  Lesson
   ========= */
.lesson #page-title {
 background-image: url(../img/page-title-lesson.png);
}

.lesson .lesson-about {
 margin-bottom: 6em;
}

.lesson .lesson-about .left-column {
 width: 460px;
}

.lesson .lesson-about .right-column {
 width: 380px;
}

.lesson .lesson-index {
 list-style-type: none;
 padding-left: 0;
 font-size: 1.2em;
 margin-top: 2em;
}

.lesson .lesson-index li {
 display: block;
 line-height: 2;
 margin-right: 1.5em;
}

.lesson .lesson-index li a {
 padding-right: 12px;
 background: url(../img/to-bottom.gif) no-repeat right center transparent;
}


.lesson .lesson-photo {
 background: url(../img/shadow-bottom-300px.png) center bottom no-repeat transparent;
 padding-bottom: 19px;
 margin-bottom: 6px;
}

.lesson .lesson-photo img {
 padding: 6px;
 background-color: #FFF;
 border: 1px solid #EFEFEF;
}
.lesson .lesson-info {
 margin-bottom: 8em;
}

.lesson .lesson-info dl {
 width: 620px;
}

.lesson .lesson-info dl dt {
 font-size: 2em;
 margin-bottom: 0.6em;
}

.lesson .lesson-info dl dt span {
 font-size: 0.62em;
 border: 1px solid #CCC;
 background-color: #FFF;
 vertical-align: middle;
 margin-left: 1em;
 padding: 0 1em;
}

.lesson .lesson-info dl dd {
 margin-left: 0;
 margin-bottom: 7em;
}

.lesson .lesson-info .to-top {
 margin-top: -4em;
}

.reserve h3 {
 font-size: 2em;
 margin-bottom: 0.8em;
}

.reserve section {
 margin-bottom: 7em;
}

.reserve .reserve-state span {
 background-color: #668cd9;
 color: #FFF;
 text-shadow: none;
 font-family: Verdana, sans-serif;
 display: inline-block;
 font-size: 0.78em;
 padding: 1px 0.6em;
 margin-right: 0.2em;
}

.reserve .reserve-state p {
 margin-bottom: 1em;
}

.reserve .reserve-howto {
 margin-bottom: 0;
}

.reserve .reserve-howto ul {
 padding-left: 0.5em;
 margin-bottom: 1.5em;
}

.reserve .reserve-howto ul li {
 list-style-type: none;
 margin-bottom: 0.5em;
 padding-left: 18px;
 background: url(../img/caution.gif) no-repeat 0 4px transparent;
}

.reserve table.basic-calendar {
 width: 620px;
 font-size: 1.4em;
 margin-bottom: 2em;
 background: #FFF;
}

.reserve table.basic-calendar caption {
 text-align: left;
 margin-bottom: 0.2em;
 font-weight: bold;
}

.reserve table.basic-calendar tbody th,
.reserve table.basic-calendar tbody td{
 text-align: center;
 border: 1px solid #CCC;
 padding: 0.8em 1em;
 line-height: 1;
}

.reserve table.basic-calendar tr.week th {
 background: #EEF4FC;
 padding: 0.3em 1em;
}

.reserve table.basic-calendar tfoot td {
 text-align: right;
 padding-top: 0.3em;
 background: #fffffb;
}

.reserve .reserve-howto,
.reserve .reserve-policy {
 width: 620px;
}

.reserve .reserve-policy ul {
 padding-left: 1.5em;
}

.reserve .reserve-policy ul li{
 margin-bottom: 1em;
}

.reserve .reserve-notice {
 width: 560px;
 border: 1px dashed #C0C0C0;
 padding: 1.5em 30px 0.5em;
 box-shadow: 0px 0px 10px #EFEFEF;
 color: #1F5581;
}

.reserve .reserve-notice p {
 font-size: 1.5em;
 margin-bottom: 0.4em;
}

.reserve .btn-contact a {
 display: block;
 width: 280px;
 height: 50px;
 background: url(../img/btn-contact.png) no-repeat 0 0 transparent;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

html.lt-ie7 .reserve .btn-contact a { /*ie6*/
 text-indent: -9999px;
}

.reserve .btn-contact a:hover {
 background-position: 0 -50px;
}


/* =========
  Access
   ========= */
.access #page-title {
 background-image: url(../img/page-title-access.png);
}

.access #access-mvs .left-column {
 width: 540px;
 margin-right: 20px;
}
html.lt-ie7 .access #access-mvs .left-column { /*ie6*/
 margin-right: 10px;
}

.access #access-mvs .right-column {
 width: 380px;
}

.access #access-mvs h3 {
 font-size: 2em;
 margin-bottom: 1em;
}

.access #access-mvs h3 span {
 font-size: 0.62em;
 border: 1px solid #CCC;
 background-color: #FFF;
 vertical-align: middle;
 margin-left: 1.5em;
 padding: 0 1em;
}

.access .address {
 margin-bottom: 2em;
 }

.access dl {
 margin-bottom: 4em;
}

.access dl dt {
 font-size: 1.4em;
 font-weight: bold;
 line-height: 1.6;
}

.access dl dt span {
 font-weight: normal;
}

.access dl dd {
 margin-left: 0;
 margin-bottom: 3em;
}

.access dl dd ul {
 padding-left: 1.5em;
 margin-bottom: 0;
}

.access .route-num {
 display: inline-block;
 line-height: 1;
 /* margin-left: 0.8em;
 margin-right: 0.3em; */
 margin-right: 0.4em;
 text-shadow: none;
 color: #FFF;
 background-color: #666;
 padding: 2px 4px 0;
}

.access .access-map iframe {
 border: 1px solid #CCC;
}

.access .access-map p {
 font-size: 1.1em;
 font-size: 0.82em !important;
 line-height: 1.4 !important;
}

.access .studio-photo {
 width: 540px;
 list-style-type: none;
 padding: 0;
}

.access .studio-photo li {
/* width: 140px; */
 width: 240px;
 float: left;
 margin-right: 20px;
 margin-bottom: 16px;
 text-align: center;
/* font-size: 0.78em; */
}

.access .studio-photo li img {
 border: 1px solid #CCC;
 margin-bottom: 0.4em;
}

.access .studio-photo li a {
 display: block;
 width: 100%;
}

.access .studio-photo li a .annotation {
 display: inline-block;
 text-align: left;
 font-size: 0.78em;
 color: #333;
 line-height: 1.4;
}

.access .studio-photo li a:hover {
 filter:alpha(opacity=75);
 -moz-opacity: 0.75;
 opacity: 0.75;
}


#map-canvas {
 border: 1px solid #CCC;
 margin-bottom: 0.5em;
}

#map-canvas p {
 text-align: left;
 margin-bottom: 0.4em;
 font-size: 1.1em;
}

#map-canvas h5 {
 margin-bottom: 0.4em;
 font-size: 1.2em;
 font-weight: bold;
}

div#lightbox-container-image-data-box {
 font: 1.2em/2 "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
}


/* =========
  Contact
   ========= */
.contact #page-title {
 background-image: url(../img/page-title-contact.png);
}

.contact .note {
 width: 620px;
 margin-bottom: 4em;
}

.contact .note span {
 color: #D72828;
}

.contact .note ul {
 padding-left: 0;
}

.contact .note ul li {
 list-style-type: none;
 margin-bottom: 0.5em;
 padding-left: 18px;
 background: url(../img/caution.gif) no-repeat 0 4px transparent;
}

#contact-form ul {
 list-style-type: none;
 padding: 0;
}

#contact-form ul li {
 margin-bottom: 2em;
}
#contact-form label {
 display: block;
 font-weight: bold;
 line-height: 2;
}

#contact-form label span {
 font-weight: normal;
 color: #D72828;
}

#contact-form input#elem-name,
#contact-form input#elem-name-yomi,
#contact-form input#elem-phone {
 width: 15em;
}

#contact-form input#elem-mail,
#contact-form input#elem-address {
 width: 26em;
}

#contact-form textarea#elem-text {
 width: 38em;
 height: 14em;
}

#contact-form #btn-confirm,
.contact-confirm #btn-send,
.contact-confirm #btn-back {
 border: none;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
 cursor: pointer;
}

#contact-form #btn-confirm {
 width: 220px;
 height: 50px;
 background: url(../img/btn-confirm.png) no-repeat 0 0 transparent;
}

.contact-confirm #btn-send {
 width: 220px;
 height: 50px;
 background: url(../img/btn-send.png) no-repeat 0 0 transparent;
}

.contact-confirm #btn-back {
 width: 140px;
 height: 50px;
 background: url(../img/btn-back.png) no-repeat 0 0 transparent;
}

html.lt-ie7 #contact-form #btn-confirm span,  /* ie6*/
html.lt-ie7 .contact-confirm #btn-send span,
html.lt-ie7 .contact-confirm #btn-back span {
 visibility: hidden;
}

#contact-form #btn-confirm:hover,
.contact-confirm #btn-send:hover,
.contact-confirm #btn-back:hover {
 background-position: 0 -50px;
}

.contact-confirm dl {
 font-size: 1.4em;
 width: 620px;
}

.contact-confirm dl dt {
 font-weight: bold;
 line-height: 2;
}

.contact-confirm dl dd {
 width: 38em;
 margin-left: 0;
 margin-bottom: 2em;
 border: 1px solid #E0E0E0;
 padding: 0.2em 0.5em;
 /* margin-left: 0.3em; padding: 0.2em 0.6em; border: none;  border-left: 4px solid #E0E0E0; */
}

.contact-confirm form {
 float: left;
 margin-top: 1em;
 margin-right: 20px;
 padding-bottom: 2em;
}

.contact-error .note span {
 font-weight: bold;
}


/* =========
  Info
   ========= */
.info #page-title {
 background-image: url(../img/page-title-info.png);
}

.info .left-column {
 width: 700px;
}

.info .info-title {
 font-size: 2em;
}

.info .info-date {
 font-size: 1.2em;
 color: #999;
 margin-top: 0.2em;
 margin-bottom: 2em;
}


/* =========
  Trial
   ========= */
.trial-lesson #page-title {
 background-image: url(../img/page-title-trial-1604.png);
}

.trial-lesson .left-column {
 width: 540px;
}

.trial-lesson .info .note {
 font-weight: bold;
 color: #1F5581;
}

.trial-lesson .info strong {
 font-weight: normal;
 font-size: 1.2em;
}

.trial-lesson .info ul {
 list-style-type: none;
 padding-left: 1em;
 margin-bottom: 4em;
}

.trial-lesson .info ul li {
 list-style-type: none;
 font-size: 1.1em;
}

.trial-lesson .info ul li a {
 padding-right: 16px;
 background: url(../img/to-fwd.gif) no-repeat right center;
}




/* =========
  FAQ
   ========= */
.faq #page-title {
 background-image: url(../img/page-title-faq.png);
}

.faq .left-column {
 width: 540px;
}

.faq dl {
 font-size: 1.4em;
 line-height: 1.6;
}

.faq dl dt,
.faq dl dd{
 margin-left: 0;
}

.faq dl dt {
 margin-bottom: 0.6em;
 counter-increment: question;
 font-size: 1.3em;
}

.faq dl dt:before {
 content: "Q" counter(question) ". ";
 font-weight: bold;
}

.faq dl dd{
 margin-bottom: 5em;
}

.faq dl dd:before {
 content: "A. ";
 font-weight: bold;
 font-size: 1.3em;
}




/* =========
  Home-Edit
   ========= */
.home-edit .whats-new li {
 margin-bottom: 0;
}

.home-edit h2 {
 font-size: 1.6em;
 font-weight: bold;
 margin-top: 4em;
 margin-bottom: 1.5em;
}

.home-edit form ul {
 list-style-type: none;
 padding: 0;
 }
 
.home-edit #edit_form {
 margin-bottom: 2em;
}

.home-edit #edit_form ul li {
 margin-bottom: 1em;
}

.home-edit .form-btns {
 display: inline;
 font-size: 13px;
}

.home-edit #element_title {
 width: 30em;
}
.home-edit #element_date {
 width: 8em;
}
.home-edit #element_more {
 width: 48em;
 height: 16em;
}

.home-edit .tag-btn {
 margin-top: 0.5em;
}

.home-edit .tag-btn a {
 display: inline-block;
 width: 20px;
 height: 20px;
 margin-right: 8px;
 border: 1px solid #666;
 border-radius: 4px;
 background: url(../img/tag-btn-bg.gif) #FFF no-repeat;
 overflow: hidden;
 font: 0/0 a;
 text-shadow: none;
 color: transparent;
}

.home-edit .tag-btn a:hover {
 border-color: #84AFE6;
 background-color: #E8F0FB;
}

.home-edit .tag-btn .tag-small {
 background-position: -20px 0;
}

.home-edit .tag-btn .tag-large {
 background-position: -40px 0;
}

.home-edit .tag-btn .tag-strong {
 background-position: -60px 0;
}


/* =============================================================================
   Media Queries
   ========================================================================== */

@media only screen and (max-width: 320px) {
}
/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

/* =============================================================================
   Print Styles
   ========================================================================== */
 
@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
