

@charset "utf-8";

/* Elegant: ver.202309210000 */

/*------------------------------------------------------------------------------
 reset
------------------------------------------------------------------------------*/
* {
  box-sizing: border-box;
  word-wrap: break-word;
  word-break: break-all;
}

h1, h2, h3, h4, h5, h6,
ul, ol, li,
dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

table {
  border-collapse: collapse;
}

a img {
  border: none;
}

/*------------------------------------------------------------------------------
 パーツ表示切替用style
------------------------------------------------------------------------------*/
.site_description {
  display: block;
}

.shop_name {
  display: block;
}

.shop_tel {
  display: block;
}

.shop_rss {
  display: none;
}

.today_area {
  display: block;
}

.qr_area {
  display: none;
}

.counter_area {
  display: none;
}

.copyright {
  display: block;
}

.powered {
  display: none;
}

/*------------------------------------------------------------------------------
 link(default)
------------------------------------------------------------------------------*/
a:link, a:visited {
  text-decoration: none;
  color: #4f463c;
}
a:hover, a:active {
  text-decoration: underline;
  color: #4f463c;
}

/*------------------------------------------------------------------------------
 html / body / container
------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  background: #fcfbfa;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
  font-family: "Merriweather", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  color: #4f463c;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  transform: none !important;
}

#container {
  display: inline;
}

/*------------------------------------------------------------------------------
 header
------------------------------------------------------------------------------*/
#header {
  margin: 0 auto;
  background: #ede7e1 url(/img/theme_elegant/cream/background_header_line.png);
  background: url(/img/theme_elegant/cream/background_header_line.png), -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(40%, #fcfbfa), color-stop(80%, #ede7e1));
  background: url(/img/theme_elegant/cream/background_header_line.png), -webkit-linear-gradient(top, #fcfbfa 40%, #ede7e1 80%);
  background: url(/img/theme_elegant/cream/background_header_line.png), -moz-linear-gradient(top, #fcfbfa 40%, #ede7e1 80%);
  background: url(/img/theme_elegant/cream/background_header_line.png), -o-linear-gradient(top, #fcfbfa 40%, #ede7e1 80%);
  background: url(/img/theme_elegant/cream/background_header_line.png), linear-gradient(top, #fcfbfa 40%, #ede7e1 80%);
  background-repeat: repeat-x;
  background-position: left top;
}
#header > .inner {
  position: relative;
  max-width: 1050px;
  background: url(/img/theme_elegant/cream/background_header.png) no-repeat center top;
  margin: 0 auto;
  padding: 8em 0 5.7em;
}
#header h1 {
  margin: 0;
  padding: 0;
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.2;
  text-align: center;
}
#header h1 a {
  text-decoration: none !important;
  font-weight: normal;
  color: #4f463c;
}
#header h1 a img {
  max-width: 90%;
}
#header .site_description {
  margin: .3em auto 0;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.2;
}
#header .shop_tel {
  position: absolute;
  right: 0;
  top: 0;
  width: 224px;
  height: 65px;
  padding: .9em 0 0;
  background: url(/img/theme_elegant/common/background_tel.png) no-repeat right top;
  text-align: center;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  color: #ffffff;
}
#header .shop_tel a {
  text-decoration: none;
  color: #ffffff;
  cursor: default;
}

/*------------------------------------------------------------------------------
 navigation
------------------------------------------------------------------------------*/
.navi_button {
  display: none;
}
.navi_button:hover {
  cursor: pointer;
}

.navi {
  position: relative;
  display: block;
  max-width: 1050px;
  margin: 2.1em auto 0;
  line-height: 1;
  padding-top: 0;
  border-top: none;
  text-align: center;
}
.navi li {
  display: inline-block;
  position: relative;
  margin: 0 8px 10px;
  padding: 0;
  border: none;
  text-align: center;
  vertical-align: top;
  line-height: 1;
}
.navi li.active .fa {
  position: absolute;
  right: 8px;
  top: 50%;
  margin: -9px 0 0;
  padding: 0;
  line-height: 1;
}
.navi li a {
  display: block;
  height: 28px;
  margin: 0;
  padding: 0 14px;
  background: #ede7e1;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  -o-border-radius: 1px;
  -ms-border-radius: 1px;
  border-radius: 1px;
  text-decoration: none;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 29px;
}
.navi li a:hover, .navi li a:active {
  background: #d4c8b8;
}
.navi li.active > a {
  background: #d4c8b8;
}
.navi li:hover > ul {
  display: block !important;
}
.navi .sub_navi {
  display: none;
  position: absolute;
  left: -3px;
  z-index: 2;
  padding: 0 3px 3px;
  background: rgba(255, 255, 255, 0.3);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}
.navi .sub_navi li {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  text-align: left;
}
.navi .sub_navi li a {
  width: 240px;
  height: auto;
  margin-top: 3px;
  padding: 4px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.2;
}

#footer .navi li a:link, #footer .navi li a:visited {
  background: transparent;
}
#footer .navi li a:hover, #footer .navi li a:active {
  background: #cbbba8;
}
#footer .navi li.active a {
  background: #cbbba8;
}

/*------------------------------------------------------------------------------
 content
------------------------------------------------------------------------------*/
.content {
  position: relative;
}
.content > .inner {
  position: relative;
  top: -33px;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 4em 80px 3em;
  background: url(/img/theme_elegant/common/background_section_head.png) no-repeat center top;
}
.content h2 {
  margin: 0 auto;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.3;
  margin: 0 auto;
  padding: 0 0 .6em;
  background: url(/img/theme_elegant/common/page_header_line.png) no-repeat center bottom;
  text-align: center;
  color: #dac173;
}

/*------------------------------------------------------------------------------
 schedule
------------------------------------------------------------------------------*/
#schedule {
  padding: 4em 0;
  background: #ede7e1;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(30%, #fcfbfa), color-stop(80%, #ede7e1));
  background: -webkit-linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background: -moz-linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background: -o-linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background: linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background-position: 50% 0;
  color: #dac173;
}
#schedule > .inner {
  max-width: 1050px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}
#schedule dl {
  padding: 0;
  line-height: 1.3;
}
#schedule dl .today_title {
  margin: 0 auto;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.3;
  width: 50%;
  padding: 0 0 1em;
  background: url(/img/theme_elegant/common/page_header_line.png) no-repeat center bottom;
  line-height: 1;
  color: #dac173;
}
#schedule dl dd {
  margin: 1.2em 0 0;
  font-size: 16px;
  font-size: 1.6rem;
}
#schedule dl dd a {
  color: #4f463c;
}

/*------------------------------------------------------------------------------
 gadgets
------------------------------------------------------------------------------*/
#gadgets {
  padding: 4em 0 6em;
  background: #ede7e1;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(30%, #fcfbfa), color-stop(80%, #ede7e1));
  background: -webkit-linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background: -moz-linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background: -o-linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
  background: linear-gradient(top, #fcfbfa 30%, #ede7e1 80%);
}

#gadgets > .inner {
  max-width: 1050px;
  margin: 0 auto;
  text-align: center;
}

#gadgets #footer_parts .navi_parts_detail {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px;
}

#gadgets .navi_parts_detail img {
  max-width: 100%;
}

/*------------------------------------------------------------------------------
Google翻訳ウィジェット
------------------------------------------------------------------------------*/

#google_translate_element .goog-te-gadget a {
  pointer-events: none;
}

/*------------------------------------------------------------------------------
 social
------------------------------------------------------------------------------*/
#social {
  margin: 0;
  padding: 0 0 40px;
}

@media only screen and (max-width: 1050px) {
  #social {
    padding-left: 20px;
    padding-right: 20px;
  }
}

#social > .inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

#social #social_widgets .social_widget {
  display: inline-block;
  height: 20px;
  margin: 10px 0 0 10px;
  vertical-align: middle;
}

#social #social_widgets .social_widget:first-child {
  margin-left: 0;
}

#social #social_widgets .social_widget#widget_facebook_like {
  width: 180px;
}

#social #social_widgets .social_widget#widget_facebook_like iframe {
  width: 180px;
}

#social #social_widgets .social_widget#widget_facebook_follow {
  width: 148px;
}

#social #social_widgets .social_widget#widget_facebook_follow.social_widget_facebook_follow iframe {
  width: 148px;
}

#social #social_widgets .social_widget#widget_facebook_follow.social_widget_facebook_likebox {
  width: 340px;
  height: 72px;
  overflow: hidden;
}

#social #social_widgets .social_widget#widget_facebook_follow.social_widget_facebook_likebox > div {
  display: inline-block;
  width: 340px;
}

/*------------------------------------------------------------------------------
 footer
------------------------------------------------------------------------------*/
#footer {
  background: #d6cabb;
  color: #4f463c;
}

#footer a {
  color: #4f463c;
}

#footer > .inner {
  position: relative;
  top: -32px;
  zoom: 1;
  max-width: 1050px;
  margin: 0 auto -70px;
  padding: 34px 0 0;
  background: url(/img/theme_elegant/cream/background_footer_head.png) no-repeat center top;
}

#footer > .inner:after {
  content: '';
  display: block;
  clear: both;
}

#footer .shop_name {
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.2;
}

#footer .shop_name > span {
  padding: 0 48px 0 0;
  background: url(/img/theme_elegant/cream/background_shopname_right.png) no-repeat 100% 4px;
}

#footer .shop_name > span span {
  padding: 0 0 0 48px;
  background: url(/img/theme_elegant/cream/background_shopname_left.png) no-repeat 0 4px;
}

#footer .wrap_navi {
  margin: 24px 0 0;
  padding: 22px 0 0;
  background: url(/img/theme_elegant/cream/footer_navi_top.png) no-repeat center top;
}

#footer .wrap_navi .navi {
  margin: 0;
  padding: 0 0 14px;
  background: url(/img/theme_elegant/cream/footer_navi_bottom.png) no-repeat center bottom;
}

#footer .parts {
  zoom: 1;
  margin: 35px 0 0;
  text-align: center;
}

#footer .parts:after {
  content: '';
  display: block;
  clear: both;
}

#footer .parts .qr_area {
  width: 80px;
  margin: 0 auto 1em;
}

#footer .parts .qr_area img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

#footer #navi_parts {
  display: none;
}

.social_icons {
  font-size: 29px;
  font-size: 2.9rem;
}

.social_icons a {
  margin: 0 .4em;
}

.social_icons a:hover,
.social_icons a:active {
  text-decoration: none;
}

/*------------------------------------------------------------------------------
 ソーシャルアイコン
------------------------------------------------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src: url('/css/social-icon-fonts/social-icon.eot?3koa62');
  src: url('/css/social-icon-fonts/social-icon.eot?3koa62#iefix') format('embedded-opentype'),
    url('/css/social-icon-fonts/social-icon.ttf?3koa62') format('truetype'),
    url('/css/social-icon-fonts/social-icon.woff?3koa62') format('woff'),
    url('/css/social-icon-fonts/social-icon.svg?3koa62#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^='icon-'],
[class*='icon-'] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-instagram:before {
  content: '\e900';
}

.icon-facebook:before {
  content: '\e901';
}

.icon-twitter:before {
  content: '\e902';
}

/*------------------------------------------------------------------------------
 WYSIWYGフィールド表示制御
------------------------------------------------------------------------------*/
.textfield {
  zoom: 1;
}

.textfield:after {
  content: '';
  display: block;
  clear: both;
}

.textfield img {
  max-width: 100% !important;
  height: auto !important;
}

.textfield p {
  margin: .5em 0 0 !important;
}

.textfield table {
  width: 100% !important;
  height: auto !important;
}

.textfield iframe {
  max-width: 100% !important;
}

.textfield ul li {
  list-style-type: disc;
  list-style-position: inside;
}

.textfield ol li {
  list-style-type: decimal;
  list-style-position: inside;
}

/* WYSIWYGテンプレート(プロフィール) */
.wysiwyg_template_profile1,
.wysiwyg_template_profile2 {
  table-layout: fixed;
}

.wysiwyg_template_profile1_wraptext,
.wysiwyg_template_profile2_wraptext {
  width: 60%;
}

.wysiwyg_template_profile1_wrapimage,
.wysiwyg_template_profile2_wrapimage {
  width: 40%;
}

/*------------------------------------------------------------------------------
 totopボタン
------------------------------------------------------------------------------*/
.sm_totop {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
  width: 44px;
  height: 44px;
}
.sm_totop .sm_totop_button {
  visibility: hidden;
  display: block;
  width: 44px;
  height: 44px;
  margin: 0 0 0 auto;
  background: #cbbba8;
  background: rgba(203, 187, 168, .7);
  -webkit-border-radius: 2px 0 0 0;
  -moz-border-radius: 2px 0 0 0;
  -o-border-radius: 2px 0 0 0;
  -ms-border-radius: 2px 0 0 0;
  border-radius: 2px 0 0 0;
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 44px;
  color: #ffffff;
}
.sm_totop .sm_totop_button:hover {
  cursor: pointer;
}

/*------------------------------------------------------------------------------
 pager
------------------------------------------------------------------------------*/
.pager {
  zoom: 1;
  position: relative;
  margin: 5em 0;
  font-family: "Merriweather", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
.pager:after {
  content: '';
  display: block;
  clear: both;
}
.pager .inner div {
  zoom: 1;
  position: relative;
  text-align: center;
}
.pager .inner div:after {
  content: '';
  display: block;
  clear: both;
}
.pager .inner div a {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 3px 0;
  border: 1px solid #cdc5bd;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  -o-border-radius: 1px;
  -ms-border-radius: 1px;
  border-radius: 1px;
  text-decoration: none;
  text-align: center;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 38px;
  color: #cdc5bd;
}
.pager .inner div a.next, .pager .inner div a.prev {
  border: none;
}
.pager .inner div a.chk {
  background: #cdc5bd;
  border: none;
  cursor: default;
  color: #ffffff;
}
.pager .inner div a:hover {
  background: #cdc5bd;
  border: none;
  color: #ffffff;
}

/*------------------------------------------------------------------------------
 ページ：トップ
------------------------------------------------------------------------------*/
body#top #schedule {
  background: #ede7e1 url(/img/theme_elegant/cream/background_schedule.png);
  background: url(/img/theme_elegant/cream/background_schedule.png), -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #a58968), color-stop(35%, #ffffff), color-stop(65%, #ffffff), color-stop(100%, #a58968));
  background: url(/img/theme_elegant/cream/background_schedule.png), -webkit-linear-gradient(top, #a58968 0%, #ffffff 35%, #ffffff 65%, #a58968 100%);
  background: url(/img/theme_elegant/cream/background_schedule.png), -moz-linear-gradient(top, #a58968 0%, #ffffff 35%, #ffffff 65%, #a58968 100%);
  background: url(/img/theme_elegant/cream/background_schedule.png), -o-linear-gradient(top, #a58968 0%, #ffffff 35%, #ffffff 65%, #a58968 100%);
  background: url(/img/theme_elegant/cream/background_schedule.png), linear-gradient(top, #a58968 0%, #ffffff 35%, #ffffff 65%, #a58968 100%);
  background-position: 50% 0;
  color: #4f463c;
}
body#top #schedule dl dd a {
  color: #4f463c;
}
body#top .content {
  padding: 0 0 5em;
  background: #ded4c8 url(/img/theme_elegant/cream/background_content.png) repeat-x;
  color: #4f463c;
}
body#top .content > .inner {
  top: 0;
  padding: 0;
  background: none;
}
body#top #wrap_slider {
  position: relative;
  top: -37px;
  background: url(/img/theme_elegant/common/background_slider.png) no-repeat center 21px;
}
body#top #wrap_slider .frame {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 70px;
  background: url(/img/theme_elegant/cream/wrap_slider.png) no-repeat center -1px;
  z-index: 10;
}
body#top #wrap_slider:before, body#top #wrap_slider:after {
  position: absolute;
  content: '';
  bottom: 11px;
  left: 11px;
  width: 50%;
  top: 80%;
  max-width: 300px;
  background: #b8a288;
  -webkit-box-shadow: 0 9px 12px #b8a288;
  -moz-box-shadow: 0 9px 12px #b8a288;
  box-shadow: 0 9px 12px #b8a288;
  -webkit-transform: rotate(-1deg);
  -moz-transform: rotate(-1deg);
  -o-transform: rotate(-1deg);
  -ms-transform: rotate(-1deg);
  transform: rotate(-1deg);
}
body#top #wrap_slider:after {
  -webkit-transform: rotate(1deg);
  -moz-transform: rotate(1deg);
  -o-transform: rotate(1deg);
  -ms-transform: rotate(1deg);
  transform: rotate(1deg);
  right: 11px;
  left: auto;
}
body#top #slider {
  position: relative;
  max-width: 1040px;
  height: 500px;
  margin: 0 5px;
  padding: 0;
  overflow: hidden;
  -webkit-border-radius: 2px 2px 0 0;
  -moz-border-radius: 2px 2px 0 0;
  -o-border-radius: 2px 2px 0 0;
  -ms-border-radius: 2px 2px 0 0;
  border-radius: 2px 2px 0 0;
  z-index: 1;
}
body#top #slider .article {
  position: relative;
  width: 100%;
  height: 500px;
  border-radius: 2px;
  overflow: hidden;
}
body#top #slider .article img {
  display: block;
  width: 100%;
}
body#top #slider .caption {
  display: block;
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #4f463c;
  background: rgba(245, 245, 220, 0.2);
  color: #ffffff;
}
body#top #slider .caption .caption_txt {
  display: block;
  line-height: 27px;
  padding: 0 20px;
  text-align: center;
}
body#top .welcome_message {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto 3em;
  padding: 0 0 4.5em;
  background: url(/img/theme_elegant/common/info_bottom.png) no-repeat center bottom;
  text-align: center;
}
body#top .welcome_message .message {
  width: 80%;
  margin: 0 auto;
  padding: 4.5em 0 0;
  background: url(/img/theme_elegant/common/info_top.png) no-repeat center top;
}
body#top .information {
  padding: 0 auto 5em;
  background: #fcfbfa;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #fcfbfa), color-stop(80%, #ede7e1));
  background: -webkit-linear-gradient(top, #fcfbfa 20%, #ede7e1 80%);
  background: -moz-linear-gradient(top, #fcfbfa 20%, #ede7e1 80%);
  background: -o-linear-gradient(top, #fcfbfa 20%, #ede7e1 80%);
  background: linear-gradient(top, #fcfbfa 20%, #ede7e1 80%);
}
body#top .information > .inner {
  position: relative;
  top: -32px;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 4em 0 3em;
  background: url(/img/theme_elegant/common/background_section_head.png) no-repeat center top;
}
body#top .information h3 {
  margin: 0 auto;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.3;
  width: 50%;
  padding: 0 0 1em;
  background: url(/img/theme_elegant/common/page_header_line.png) no-repeat center bottom;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  color: #dac173;
}
body#top .information ul {
  width: 80%;
  margin: 0 auto;
}
body#top .information li {
  zoom: 1;
  margin: 1.4em 0 0;
  text-align: center;
  line-height: 1.6;
}
body#top .information li:after {
  content: '';
  display: block;
  clear: both;
}
body#top .information li a:link, body#top .information li a:visited {
  text-decoration: none;
}
body#top .information li a:link span.date, body#top .information li a:visited span.date {
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1;
}
body#top .information li a:link span.date span, body#top .information li a:visited span.date span {
  font-size: 18px;
  font-size: 1.8rem;
}
body#top .information li a:link span.title, body#top .information li a:visited span.title {
  margin: .3em 0 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}
body#top .information li a:hover, body#top .information li a:active {
  border-bottom: 1px solid #4f463c;
}

/*------------------------------------------------------------------------------
 ページ：インフォメーション
------------------------------------------------------------------------------*/
body#info .content > .inner {
  padding-bottom: 0;
}
body#info .article {
  margin: 5em auto 0;
}
body#info .article .date {
  font-size: 20px;
  font-size: 2rem;
}
body#info .article .date span {
  font-size: 14px;
  font-size: 1.4rem;
}
body#info .article h3 {
  margin: 0 auto;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.3;
}
body#info .article .photo {
  position: relative;
  margin: 1em auto 0;
}
body#info .article .photo a {
  display: block;
  max-width: 100%;
}
body#info .article .photo a:focus {
  outline: none;
}
body#info .article .photo img {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}
body#info .article .body {
  margin: 1em auto 0;
}
body#info .article .body p {
  margin: 1em 0 0;
}
body#info .navi > .inner {
  position: relative;
}
body#info .navi li > ul {
  display: none;
}
body#info .navi li:hover > ul {
  display: block;
}
body#info .navi .sub_navi {
  display: none;
  position: absolute;
  margin: 0;
  padding: 0 0 3px;
}
body#info .navi .sub_navi .year {
  zoom: 1;
  position: relative;
  width: 100px;
  margin: 0;
  padding: 3px 3px 0;
  font-size: 16px;
  font-size: 1.6rem;
}
body#info .navi .sub_navi .year:after {
  content: '';
  display: block;
  clear: both;
}
body#info .navi .sub_navi .year > div {
  display: block;
  height: 30px;
  background: #ede7e1;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  line-height: 30px;
  text-align: center;
}
body#info .navi .sub_navi .year > div:hover {
  background: #d4c8b8;
  cursor: pointer;
}
body#info .navi .sub_navi .month {
  zoom: 1;
  position: absolute;
  left: 98px;
  top: 0;
  margin: 0;
  padding: 0 0 3px;
  background: rgba(255, 255, 255, 0.3);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}
body#info .navi .sub_navi .month:after {
  content: '';
  display: block;
  clear: both;
}
body#info .navi .sub_navi .month li {
  display: block;
  width: 60px;
  height: 33px;
  margin: 0;
  padding: 3px 3px 0;
}
body#info .navi .sub_navi .month li a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 30px;
}

/*------------------------------------------------------------------------------
 ページ：カレンダー
------------------------------------------------------------------------------*/
body#calendar .wrap_calendar {
  margin: 5em 0 0;
}
body#calendar .wrap_calendar .navi {
  margin: 0;
  font-size: 16px;
  font-size: 1.6rem;
}
body#calendar .table_calendar {
  margin: 3em 0 0;
}
body#calendar .table_calendar th {
  padding: 3px 0;
  font-size: 16px;
  font-size: 1.6rem;
  color: #4f463c;
}
body#calendar .table_calendar th.sun {
  color: #ff4d4d;
}
body#calendar .table_calendar td {
  position: relative;
  height: 112px;
  padding: 2px;
}
body#calendar .table_calendar td p.day {
  height: 110px;
  margin: 0;
  padding: 10px;
  background: #ebe6e2;
  background: rgba(204, 204, 204, 0.3);
  text-align: right;
  font-family: "Merriweather", Verdana, serif;
  font-weight: bold;
  font-size: 30px;
  font-size: 3rem;
  line-height: 146px;
  color: #4f463c;
}
body#calendar .table_calendar td.sun p.day,
body#calendar .table_calendar td.holiday p.day {
  background: #ffbfbf;
  background: rgba(255, 191, 191, 0.5);
  color: #ff4d4d;
}
body#calendar .table_calendar td a {
  position: absolute;
  left: 10px;
  top: 10px;
}
body#calendar .schedule dl.article {
  margin: 3em 0 0;
}
body#calendar .schedule dl.article dt.date {
  margin: 0 0 1em;
  padding: 0 0 .9em;
  border-bottom: 1px dotted #eeebe9;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  color: #4f463c;
}
body#calendar .schedule dl.article dd {
  zoom: 1;
  margin: 1em 0 0;
  font-size: 16px;
  font-size: 1.6rem;
}
body#calendar .schedule dl.article dd:after {
  content: '';
  display: block;
  clear: both;
}
body#calendar .schedule dl.article dd .category {
  float: left;
  margin-right: 1em;
  padding: .22em .43em;
  background: #4f463c;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  color: #ffffff;
}
body#calendar .schedule dl.article dd a:link, body#calendar .schedule dl.article dd a:visited {
  text-decoration: none;
}
body#calendar .schedule dl.article dd a:hover, body#calendar .schedule dl.article dd a:active {
  text-decoration: underline;
}
body#calendar .details {
  margin: 40px 0 0;
}
body#calendar .details > div {
  zoom: 1;
}
body#calendar .details > div:after {
  content: '';
  display: block;
  clear: both;
}
body#calendar .details .category {
  float: left;
  padding: .22em .43em;
  background: #4f463c;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  font-weight: bold;
  color: #ffffff;
}
body#calendar .details .date {
  font-size: 20px;
  font-size: 2rem;
}
body#calendar .details h3 {
  margin: .5em 0;
  font-size: 26px;
  font-size: 2.6rem;
}
body#calendar .details .body img {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}

/*------------------------------------------------------------------------------
 ページ：メニュー
------------------------------------------------------------------------------*/
body#menu .list {
  zoom: 1;
  margin: 5em 0 0;
}
body#menu .list:after {
  content: '';
  display: block;
  clear: both;
}
body#menu .category {
  display: block;
  padding: 0;
  background: url(/img/theme_elegant/common/background_title.png) no-repeat 0 -1px;
  text-decoration: none;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.2;
  color: #4f463c;
}
body#menu .category span {
  margin-left: 1.1em;
  padding-right: .5em;
  background: #fcfbfa;
}
@media screen and (max-width: 800px) {
  body#menu .category {
    background-image: url(/img/theme_elegant/common/background_title@2x.png);
    background-size: 1050px 28px;
  }
}
@media screen and (max-width: 640px) {
  body#menu .category {
    background-size: 788px 21px;
  }
}
body#menu .category + .article {
  margin: 3em 0 0;
}
body#menu .article {
  zoom: 1;
  position: relative;
  margin: 5em 0 0;
}
body#menu .article:after {
  content: '';
  display: block;
  clear: both;
}
body#menu .article:first-child {
  padding: 0;
}
body#menu .article h3 {
  position: relative;
  margin: 0 auto;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.3;
  font-size: 22px;
  font-size: 2.2rem;
}
body#menu .article h3 .recommend_badge {
  display: inline;
  width: 20px;
  height: 20px;
}
body#menu .article h3 .recommend_badge img {
  width: 20px;
}
body#menu .article h3 a {
  position: relative;
  z-index: 2;
  text-decoration: none;
}
body#menu .article h3 a:hover, body#menu .article h3 a:active {
  text-decoration: underline;
}
body#menu .article .body {
  margin: 1em auto 0;
}
body#menu .article .body p,
body#menu .article .body span {
  margin: 1em 0 0;
}
body#menu .article .price {
  position: relative;
  margin: .3em 0 0;
  padding: 0;
  font-size: 22px;
  font-size: 2.2rem;
}
body#menu .article .image {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  float: right;
  width: 46%;
  margin: 0 0 1.7em 2em;
}
body#menu .article .image img {
  width: 100%;
}

/*------------------------------------------------------------------------------
 ページ：フォトアルバム
------------------------------------------------------------------------------*/
body#photo #index {
  margin: 5em 0 0;
}
body#photo #index .album {
  zoom: 1;
  margin: 5em 0 0;
}
body#photo #index .album:after {
  content: '';
  display: block;
  clear: both;
}
body#photo #index .album:first-child {
  margin: 0;
}
body#photo #index .album .title {
  margin: 0 2px 1em;
}
body#photo #index .album .title a {
  display: block;
  padding: 0;
  background: url(/img/theme_elegant/common/background_title.png) no-repeat 0 -1px;
  text-decoration: none;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.2;
  color: #4f463c;
}
body#photo #index .album .title a span {
  margin-left: 1.1em;
  padding-right: .5em;
  background: #fcfbfa;
}
@media screen and (max-width: 800px) {
  body#photo #index .album .title a {
    background-image: url(/img/theme_elegant/common/background_title@2x.png);
    background-size: 1050px 28px;
  }
}
@media screen and (max-width: 640px) {
  body#photo #index .album .title a {
    background-size: 788px 21px;
  }
}
body#photo #index .album .thumb {
  visibility: hidden;
  float: left;
  width: 20%;
  height: 152px;
  margin: 0;
  padding: 2px;
}
body#photo #index .album .thumb a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
}
body#photo #index .album .thumb a:focus {
  outline: none;
}
body#photo #index .album .thumb a img {
  position: absolute;
  display: block;
}
body#photo #index .album .thumb a img:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
body#photo #index .album > h3 + .thumb {
  width: 40%;
  height: 304px;
}
body#photo #entries .album_title {
  display: block;
  padding: 0;
  background: url(/img/theme_elegant/common/background_title.png) no-repeat 0 -1px;
  text-decoration: none;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.2;
  color: #4f463c;
}
body#photo #entries .album_title span {
  margin-left: 1.1em;
  padding-right: .5em;
  background: #fcfbfa;
}
@media screen and (max-width: 800px) {
  body#photo #entries .album_title {
    background-image: url(/img/theme_elegant/common/background_title@2x.png);
    background-size: 1050px 28px;
  }
}
@media screen and (max-width: 640px) {
  body#photo #entries .album_title {
    background-size: 788px 21px;
  }
}
body#photo #entries .article {
  position: relative;
  margin: 5em 0 0;
  zoom: 1;
}
body#photo #entries .article:first-child {
  padding: 0;
}
body#photo #entries .article:after {
  content: '';
  display: block;
  clear: both;
}
body#photo #entries .article:first-child {
  margin: 2.5em 0 0;
}
body#photo #entries .article .date {
  margin: 0;
  font-size: 20px;
  font-size: 2rem;
}
body#photo #entries .article .title {
  margin: 0 auto;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.3;
}
body#photo #entries .article .body {
  margin: 1em 0 0;
}
body#photo #entries .article .photo {
  width: 100%;
}
body#photo #entries .article .photo img {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  margin: 0 auto;
}

/*------------------------------------------------------------------------------
 ページ：クーポン
------------------------------------------------------------------------------*/
body#coupon .autopagerize_page_element {
  zoom: 1;
  margin: 5em 0 0;
}
body#coupon .autopagerize_page_element:after {
  content: '';
  display: block;
  clear: both;
}
body#coupon .article {
  zoom: 1;
  margin: 5em 0 0;
}
body#coupon .article:after {
  content: '';
  display: block;
  clear: both;
}
body#coupon .article:first-child {
  margin: 0;
}
body#coupon .article .image {
  float: right;
  width: 46%;
  margin: 0 0 1.7em 2em;
}
body#coupon .article .image img {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  margin-left: auto;
  margin-right: 0;
  width: 100%;
}
body#coupon .article .details h3.title {
  font-size: 26px;
  font-size: 2.6rem;
  margin: 0 0 .7em;
  line-height: 1.3;
}
body#coupon .article .details h3.title a {
  text-decoration: none;
}
body#coupon .article .details .qrcode {
  float: left;
  width: 100px;
  margin: -2px 5px 10px -5px;
}
body#coupon .article .details .qrcode img {
  display: block;
  width: 100%;
}
body#coupon .article .details .body li {
  margin: .3em 0 0;
}
body#coupon .article .details .body li:first-child {
  margin: 0;
}
body#coupon .print {
  text-align: right;
}

/*------------------------------------------------------------------------------
 ページ：店舗情報
------------------------------------------------------------------------------*/
body#about .map {
  margin: 5em 0 3em;
  padding: 5px 5px 0 5px;
  background: #ffffff;
  border: 1px solid #eeebe9;
}
body#about .map iframe {
  height: 500px;
}
body#about .detail table tr:first-child th,
body#about .detail table tr:first-child td {
  border: none;
}
body#about .detail table th,
body#about .detail table td {
  padding: 18px 14px;
  border-top: 1px solid #eeebe9;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  vertical-align: top;
}
body#about .detail table th {
  width: 26%;
  text-align: right;
}
body#about .detail table td {
  padding-left: 40px;
}

/*------------------------------------------------------------------------------
 ページ：お問い合わせ
------------------------------------------------------------------------------*/
body#contact .contact_area {
  zoom: 1;
}
body#contact .contact_area:after {
  content: '';
  display: block;
  clear: both;
}
body#contact .contact_message {
  background: #efc0be;
  width: 70%;
  margin: 3em auto 0;
  padding: 1em;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  font-size: 16px;
  font-size: 1.6rem;
  color: #4f463c;
}
body#contact form {
  position: relative;
  width: 70%;
  margin: 5em auto 3em;
}
body#contact form .contact_area,
body#contact form .button_area {
  margin: 2em 0 0;
}
body#contact form select {
  width: 100% !important;
}
body#contact .personal_info {
  width: 70%;
  margin: 20px auto 7%;
  padding: 20px;
  background: #ffffff;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  font-size: 14px;
  font-size: 1.4rem;
  color: #4f463c;
}
body#contact .personal_info p {
  margin-bottom: 0;
}

/*------------------------------------------------------------------------------
 ページ：予約
------------------------------------------------------------------------------*/
body#reservation .form {
  width: 100%;
  margin: 5em auto 0;
}
body#reservation .form .message {
  background: #efc0be;
  width: 70%;
  margin: 3em auto 0;
  padding: 1em;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  font-size: 16px;
  font-size: 1.6rem;
  color: #4f463c;
}
body#reservation .form .reservation_area,
body#reservation .form .button_area {
  margin: 2em 0 0;
}
body#reservation .form form {
  width: 70%;
  margin: 0 auto;
}
body#reservation .form .reservation_course_body {
  zoom: 1;
  position: relative;
  margin: 5em 0 0;
  margin: 1em 0 2em;
}
body#reservation .form .reservation_course_body:after {
  content: '';
  display: block;
  clear: both;
}
body#reservation .form .reservation_course_body:first-child {
  padding: 0;
}
body#reservation .form .reservation_course_body div {
  float: right;
  width: 56%;
}
body#reservation .form .reservation_course_body div img {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  margin-left: auto;
  margin-right: 0;
}
body#reservation .form .reservation_course_body p {
  float: left;
  width: 44%;
  margin: 0;
  padding-right: 10px;
}
body#reservation .info {
  margin-top: 0;
}
body#reservation .info .note {
  margin: 5em 0 1em;
  text-align: center;
}
body#reservation .info .summary {
  margin: 1em 0;
  padding: 1em;
  background: #ede7e1;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  text-align: center;
  font-size: 26px;
  font-size: 2.6rem;
  color: #4f463c;
}
body#reservation .article {
  position: relative;
  margin: 5em 0 0;
  zoom: 1;
}
body#reservation .article:first-child {
  padding: 0;
}
body#reservation .article:after {
  content: '';
  display: block;
  clear: both;
}
body#reservation .article .image {
  float: right;
  width: 56%;
  margin-left: 20px;
}
body#reservation .article .image img {
  display: block;
  max-width: 100%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  margin-left: auto;
  margin-right: 0;
}
body#reservation .article .details .title {
  margin: 0;
  line-height: 1.3;
  font-size: 26px;
  font-size: 2.6rem;
}
body#reservation .article .details .body {
  margin: 1em 0 0;
}

/*------------------------------------------------------------------------------
 ページ：フリー
------------------------------------------------------------------------------*/
body#free .textfield {
  width: 85%;
  margin: 5em auto 0;
}

/*------------------------------------------------------------------------------
 共通要素
------------------------------------------------------------------------------*/
body#contact form .button::before, body#reservation .form .button::before, .navi li a::before, body#info .navi .sub_navi .year > div::before, body#photo #index .album .thumb a img::before, body#contact form .button::after, body#reservation .form .button::after, .navi li a::after, body#info .navi .sub_navi .year > div::after, body#photo #index .album .thumb a img::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
body#contact form .button, body#reservation .form .button, .navi li a, body#info .navi .sub_navi .year > div, body#photo #index .album .thumb a img, body#contact form .button::before, body#reservation .form .button::before, .navi li a::before, body#info .navi .sub_navi .year > div::before, body#photo #index .album .thumb a img::before, body#contact form .button::after, body#reservation .form .button::after, .navi li a::after, body#info .navi .sub_navi .year > div::after, body#photo #index .album .thumb a img::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .2s;
  transition: all .2s;
}

body#contact form input[type=text], body#reservation .form input[type=text],
body#contact form input[type=tel],
body#reservation .form input[type=tel],
body#contact form input[type=email],
body#reservation .form input[type=email],
body#contact form textarea,
body#reservation .form textarea {
  width: 100%;
  background: #ffffff;
  border: 1px solid #e4e2e1;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body#contact form input[type=text], body#reservation .form input[type=text],
body#contact form input[type=tel],
body#reservation .form input[type=tel],
body#contact form input[type=email],
body#reservation .form input[type=email] {
  padding: 8px;
  font-size: 20px;
  font-size: 2rem;
}
body#contact form input[type=text], body#reservation .form input[type=text] {
  width: 100%;
}
body#contact form input[type=text].contact_small, body#reservation .form input[type=text].contact_small {
  width: 60% !important;
}
body#contact form textarea, body#reservation .form textarea {
  width: 100%;
  height: 180px;
  padding: 5px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6;
}
body#contact form input[type=text]:focus, body#reservation .form input[type=text]:focus,
body#contact form input[type=tel]:focus,
body#reservation .form input[type=tel]:focus,
body#contact form input[type=email]:focus,
body#reservation .form input[type=email]:focus,
body#contact form textarea:focus,
body#reservation .form textarea:focus {
  background: #ffffff;
  border: 1px solid #e4e2e1;
  outline: none;
}
body#contact form label, body#reservation .form label {
  font-size: 20px;
  font-size: 2rem;
}
body#contact form label .requier, body#reservation .form label .requier {
  color: #993737;
}
body#contact form .checkbox, body#reservation .form .checkbox,
body#contact form .radio,
body#reservation .form .radio {
  display: block;
}
body#contact form .checkbox label, body#reservation .form .checkbox label,
body#contact form .radio label,
body#reservation .form .radio label {
  margin-right: 10px;
  font-size: 18px;
  font-size: 1.8rem;
}
body#contact form select, body#reservation .form select {
  padding: 7px;
  background: #ffffff;
  border: 1px solid #eeeeee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  font-size: 18px;
  font-size: 1.8rem;
  color: #4f463c;
}
body#contact form select:focus, body#reservation .form select:focus {
  outline: none;
}
body#contact form input[type=submit]:focus, body#reservation .form input[type=submit]:focus {
  outline: none;
}
@media screen and (max-width: 600px) {
  body#contact form select, body#reservation .form select {
    padding: 7px 24px 7px 7px;
    background: #ffffff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}
body#contact form .wrap_select, body#reservation .form .wrap_select {
  position: relative;
  display: inline;
}
body#contact form .select_arrow, body#reservation .form .select_arrow {
  position: absolute;
  right: 10px;
  bottom: 12px;
  line-height: 0;
  font-size: 12px;
  font-size: 1.2rem;
  color: #4f463c;
}
body#contact form .button, body#reservation .form .button {
  position: relative;
  display: block;
  width: 100%;
  padding: 18px 10px;
  background: #ded4c8;
  border: none;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-size: 2rem;
  color: #ffffff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body#contact form .button:hover, body#reservation .form .button:hover, body#contact form .button:active, body#reservation .form .button:active {
  cursor: pointer;
  background: #e59895;
}

body#contact form .button::before, body#reservation .form .button::before, .navi li a::before, body#info .navi .sub_navi .year > div::before, body#photo #index .album .thumb a img::before, body#contact form .button::after, body#reservation .form .button::after, .navi li a::after, body#info .navi .sub_navi .year > div::after, body#photo #index .album .thumb a img::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
body#contact form .button, body#reservation .form .button, .navi li a, body#info .navi .sub_navi .year > div, body#photo #index .album .thumb a img, body#contact form .button::before, body#reservation .form .button::before, .navi li a::before, body#info .navi .sub_navi .year > div::before, body#photo #index .album .thumb a img::before, body#contact form .button::after, body#reservation .form .button::after, .navi li a::after, body#info .navi .sub_navi .year > div::after, body#photo #index .album .thumb a img::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .2s;
  transition: all .2s;
}

body#contact form input[type=text], body#reservation .form input[type=text],
body#contact form input[type=tel],
body#reservation .form input[type=tel],
body#contact form input[type=email],
body#reservation .form input[type=email],
body#contact form textarea,
body#reservation .form textarea {
  width: 100%;
  background: #ffffff;
  border: 1px solid #e4e2e1;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body#contact form input[type=text], body#reservation .form input[type=text],
body#contact form input[type=tel],
body#reservation .form input[type=tel],
body#contact form input[type=email],
body#reservation .form input[type=email] {
  padding: 8px;
  font-size: 20px;
  font-size: 2rem;
}
body#contact form input[type=text], body#reservation .form input[type=text] {
  width: 100%;
}
body#contact form input[type=text].contact_small, body#reservation .form input[type=text].contact_small {
  width: 60% !important;
}
body#contact form textarea, body#reservation .form textarea {
  width: 100%;
  height: 180px;
  padding: 5px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6;
}
body#contact form input[type=text]:focus, body#reservation .form input[type=text]:focus,
body#contact form input[type=tel]:focus,
body#reservation .form input[type=tel]:focus,
body#contact form input[type=email]:focus,
body#reservation .form input[type=email]:focus,
body#contact form textarea:focus,
body#reservation .form textarea:focus {
  background: #ffffff;
  border: 1px solid #e4e2e1;
  outline: none;
}
body#contact form label, body#reservation .form label {
  font-size: 20px;
  font-size: 2rem;
}
body#contact form label .requier, body#reservation .form label .requier {
  color: #993737;
}
body#contact form .checkbox, body#reservation .form .checkbox,
body#contact form .radio,
body#reservation .form .radio {
  display: block;
}
body#contact form .checkbox label, body#reservation .form .checkbox label,
body#contact form .radio label,
body#reservation .form .radio label {
  margin-right: 10px;
  font-size: 18px;
  font-size: 1.8rem;
}
body#contact form select, body#reservation .form select {
  padding: 7px;
  background: #ffffff;
  border: 1px solid #eeeeee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  font-size: 18px;
  font-size: 1.8rem;
  color: #4f463c;
}
body#contact form select:focus, body#reservation .form select:focus {
  outline: none;
}
body#contact form input[type=submit]:focus, body#reservation .form input[type=submit]:focus {
  outline: none;
}
@media screen and (max-width: 600px) {
  body#contact form select, body#reservation .form select {
    padding: 7px 24px 7px 7px;
    background: #ffffff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}
body#contact form .wrap_select, body#reservation .form .wrap_select {
  position: relative;
  display: inline;
}
body#contact form .select_arrow, body#reservation .form .select_arrow {
  position: absolute;
  right: 10px;
  bottom: 12px;
  line-height: 0;
  font-size: 12px;
  font-size: 1.2rem;
  color: #4f463c;
}
body#contact form .button, body#reservation .form .button {
  position: relative;
  display: block;
  width: 100%;
  padding: 18px 10px;
  background: #ded4c8;
  border: none;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-size: 2rem;
  color: #ffffff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body#contact form .button:hover, body#reservation .form .button:hover, body#contact form .button:active, body#reservation .form .button:active {
  cursor: pointer;
  background: #e59895;
}

/*------------------------------------------------------------------------------
 media queries
------------------------------------------------------------------------------*/
@media screen and (min-width: 801px) {
  .navi {
    display: block !important;
  }
}
@media screen and (max-width: 1080px) {
  #header > .inner,
  #footer > .inner {
    margin: 0 10px;
  }

  #header .shop_tel {
    right: -2px;
  }

  .content > .inner {
    width: auto;
  }

  body#top #wrap_slider {
    background: none;
  }
  body#top #wrap_slider:before, body#top #wrap_slider:after {
    display: none;
  }
  body#top #slider {
    margin: 0 10px !important;
  }
  body#top .information {
    padding-bottom: 0;
  }
  body#top .information > .inner {
    width: auto;
    margin: 0 10px;
  }
}
@media screen and (max-width: 800px) {
  #header > .inner {
    margin: 0;
    background-size: initial;
  }
  #header .shop_tel {
    right: 15px;
  }
  #header .shop_tel {
    right: 15px;
    background-image: url(/img/theme_elegant/common/background_tel@2x.png);
    background-size: cover;
  }

  .navi {
    display: none;
    margin: 0 6px;
    padding: 4px;
    background: #ded4c8;
    background: #fcfbfa;
    -webkit-border-radius: 0 0 2px 2px;
    -moz-border-radius: 0 0 2px 2px;
    -o-border-radius: 0 0 2px 2px;
    -ms-border-radius: 0 0 2px 2px;
    border-radius: 0 0 2px 2px;
  }
  .navi li {
    display: block;
    margin: 4px 0 0;
  }
  .navi li:first-child {
    margin: 0;
  }
  .navi li a {
    height: auto;
    padding: .2em;
  }
  .navi li:hover > ul {
    display: none !important;
  }

  .navi_button {
    display: block;
    margin: 14px 10px 0;
    padding: 1em;
    border: 1px solid #ded4c8;
    text-align: center;
    line-height: 1;
  }

  .content > .inner {
    margin: 0;
    padding-left: 10px;
    padding-right: 10px;
    background-size: initial;
  }

  .content h2,
  #schedule dl .today_title,
  body#top .information h3 {
    background-image: url(/img/theme_elegant/common/page_header_line@2x.png);
    background-size: 1050px 14px;
  }

  .textfield img {
    max-width: 100% !important;
    height: auto !important;
  }
  .textfield p {
    margin: 0 !important;
  }
  .textfield table {
    width: 100% !important;
    height: auto !important;
  }
  .textfield iframe {
    max-width: 100% !important;
  }

  .pager {
    height: 40px;
  }
  .pager .inner {
    position: relative;
    left: 0;
  }
  .pager .inner div {
    position: relative;
    left: 0;
  }
  .pager .inner div a {
    display: none;
    line-height: 42px;
  }
  .pager .inner div a.next, .pager .inner div a.prev {
    float: left;
    display: block;
    margin: 0 10px;
    background: #cdc5bd;
    border: none;
    font-size: 24px;
    font-size: 2.4rem;
    color: #ffffff;
  }
  .pager .inner div a.next {
    float: right;
  }
  .pager .inner div a.chk {
    display: block;
    position: absolute;
    left: 50%;
    float: none;
    background: transparent;
    margin: 0 0 0 -20px;
    border: none;
    font-size: 30px;
    font-size: 3rem;
    color: #cdc5bd;
  }

  #schedule > .inner {
    padding-left: 10px;
    padding-right: 10px;
  }
  #schedule dl dt.today_title {
    width: 100%;
  }

  #footer > .inner {
    margin: 0;
    background-size: initial;
  }
  #footer .shop_name > span {
    padding: 0 48px 0 0;
    background: url(/img/theme_elegant/cream/background_shopname_right@2x.png) no-repeat 100% 4px;
    background-size: 42px 18px;
  }
  #footer .shop_name > span span {
    padding: 0 0 0 48px;
    background: url(/img/theme_elegant/cream/background_shopname_left@2x.png) no-repeat 0 4px;
    background-size: 42px 18px;
  }
  #footer .wrap_navi {
    padding: 0;
    background: none;
  }
  #footer .wrap_navi .navi_button {
    border-color: #ded4c8;
  }
  #footer .wrap_navi .navi {
    display: none;
    margin: 0 6px;
    padding: 4px;
    background: #ded4c8;
    background: #fcfbfa;
    -webkit-border-radius: 0 0 2px 2px;
    -moz-border-radius: 0 0 2px 2px;
    -o-border-radius: 0 0 2px 2px;
    -ms-border-radius: 0 0 2px 2px;
    border-radius: 0 0 2px 2px;
    background: none;
  }
  #footer .wrap_navi .navi li {
    display: block;
    margin: 4px 0 0;
  }
  #footer .wrap_navi .navi li:first-child {
    margin: 0;
  }
  #footer .wrap_navi .navi li a {
    height: auto;
    padding: .2em;
  }
  #footer .wrap_navi .navi li a {
    color: #4f463c;
  }
  #footer .wrap_navi .navi li a:link, #footer .wrap_navi .navi li a:visited {
    background: #ede7e1;
  }
  #footer .wrap_navi .navi li a:hover, #footer .wrap_navi .navi li a:active {
    background: #d4c8b8;
  }
  #footer .navi_button {
    margin-top: 0;
  }
  #footer .parts .info {
    float: none;
    text-align: center;
  }
  #footer .parts .gadgets {
    zoom: 1;
  }
  #footer .parts .gadgets:after {
    content: '';
    display: block;
    clear: both;
  }
  #footer .parts .gadgets .qr_area {
    display: none !important;
  }
  #footer .parts .gadgets #social {
    float: none;
    margin: 16px 0 0;
  }
  #footer .parts .gadgets #social .social_widget {
    height: 28px;
  }
  #footer .parts .gadgets #social .social_widget div {
    text-align: center !important;
  }
  #footer .parts .gadgets #social .social_widget iframe {
    position: relative;
    left: 14px;
    display: block !important;
    width: 150px;
    margin: 0 auto !important;
  }
  #footer .parts .gadgets #social .social_widget iframe.twitter-share-button {
    padding-left: 13px;
  }

  body#top #slider {
    height: 400px;
    margin: 0 !important;
  }
  body#top .welcome_message {
    background-image: url(/img/theme_elegant/common/info_bottom@2x.png);
    background-size: 310px 63px;
  }
  body#top .welcome_message .message {
    background-image: url(/img/theme_elegant/common/info_top@2x.png);
    background-size: 310px 63px;
  }
  body#top .information > .inner {
    margin: 0;
    padding-left: 20px;
    padding-right: 20px;
    background-size: initial;
  }
  body#top #schedule dl dt.today_title {
    width: 50%;
  }

  body#info .content .article {
    width: auto;
  }
  body#info .content .article .photo {
    float: none;
    width: auto;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  body#photo .content #index .album {
    position: relative;
  }
  body#photo .content #index .album .thumb {
    width: 20%;
    height: 135px;
  }
  body#photo .content #index .album > h3 + .thumb {
    width: 40%;
    height: 270px;
  }
  body#photo .content #entries .article .photo {
    float: none;
    width: 100%;
    margin: 0;
  }

  body#menu .content .article .image {
    width: 100%;
  }

  body#about .map iframe {
    height: 350px !important;
  }

  body#calendar .wrap_calendar .navi {
    display: block;
  }
  body#calendar .table_calendar th {
    padding: 3px 0;
  }
  body#calendar .table_calendar td {
    height: 70px;
  }
  body#calendar .table_calendar td p.day {
    height: 70px;
    padding: 7px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 100px;
  }
  body#calendar .table_calendar td a {
    left: 5px;
    top: 8px;
  }

  body#contact form,
  body#contact .personal_info {
    width: 100%;
  }
  body#contact .contact_message {
    width: 100%;
  }

  body#coupon .article .image {
    float: none;
    width: 100%;
    margin: 0;
  }
  body#coupon .article .details {
    padding: 1em 0 0;
  }

  body#reservation .form {
    width: 100%;
  }
  body#reservation .form form {
    width: 100%;
  }
  body#reservation .form .message {
    width: 100%;
  }
  body#reservation .form .reservation_course_body div {
    float: none;
    width: 100%;
  }
  body#reservation .form .reservation_course_body div img {
    margin: 0 auto;
  }
  body#reservation .form .reservation_course_body p {
    float: none;
    width: 100%;
    margin: 1em 0 0;
    padding: 0;
  }
  body#reservation .info .summary {
    padding: 10px;
    font-size: 20px;
    font-size: 2rem;
  }
  body#reservation .article .image {
    float: none;
    width: 100%;
    margin: 0;
  }
  body#reservation .article .details .title {
    margin: 1em 0 0;
  }
}
@media screen and (max-width: 640px) {
  html {
    font-size: 46.875%;
  }

  #header .shop_tel {
    right: 10px;
    width: 168px;
    height: 49px;
    background-size: cover;
  }

  #header h1,
  #header .site_description,
  #footer .shop_name {
    margin-left: 10px;
    margin-right: 10px;
  }

  .content h2,
  #schedule dl dt.today_title,
  body#top .information h3 {
    background-image: url(/img/theme_elegant/common/page_header_line@2x.png);
    background-size: 787px 11px;
  }

  body#top #slider {
    height: 300px;
  }
  body#top .welcome_message {
    background-size: 232px 46px;
  }
  body#top .welcome_message .message {
    background-size: 232px 46px;
  }
  body#top .information > .inner {
    margin: 0;
    background-size: initial;
  }
  body#top .information h3 {
    width: 100%;
  }
  body#top #schedule dl dt.today_title {
    width: 100%;
  }
}

.hotspot {
  cursor: pointer;
}
#tt {
  position: absolute;
  display: block;
  background: url(/img/tooltip/tt_left.gif) top left no-repeat;
}
#tttop {
  display: block;
  height: 5px;
  margin-left: 5px;
  background: url(/img/tooltip/tt_top.gif) top right no-repeat;
  overflow: hidden;
}
#ttcont {
  display: block;
  padding: 2px 12px 3px 7px;
  margin-left: 5px;
  background: #ccc;
  color: #333;
  font-size: 10px;
  line-height: 16px;
}
#ttcont div.schedule_title {
  font-size: 13px;
}
#ttcont div.schedule_body {
  font-size: 11px;
}
#ttbot {
  display: block;
  height: 5px;
  margin-left: 5px;
  background: url(/img/tooltip/tt_bottom.gif) top right no-repeat;
  overflow: hidden;
}
