@charset "UTF-8";
/* CSS Document */
/* common */
.under_bg {
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(30, 87, 153, 0) 0%, rgba(255, 255, 255, 0.85) 50%, rgba(125, 185, 232, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e5799', endColorstr='#007db9e8',GradientType=0 );
  /* IE6-9 */ }

.under_bg_inner {
  padding: 60px;
  background-image: url(images/common/kazari_icon2-1.png), url(images/common/kazari_icon2-2.png), url(images/common/kazari_icon2-4.png), url(images/common/kazari_icon2-3.png);
  background-repeat: no-repeat;
  background-position: left top, right top, left bottom, right bottom;
  box-sizing: border-box; }

@media screen and (max-width: 640px) {
  .under_bg_inner {
    padding: 45px 15px;
    background-size: 60px; } }
/* contactform page（お問い合わせ）
----------------------------------------------------------*/
#contactform .section {
  background: rgba(255, 255, 255, 0.8); }
#contactform #aboutinquiry #tel {
  margin: 0 auto; }
#contactform .requiredmark {
  padding: 5px;
  margin: 5px 0;
  color: #F00; }
#contactform #formlist {
  width: 90%;
  margin: 0 5%; }
  #contactform #formlist li {
    border-bottom: 1px dotted #ccc; }
    #contactform #formlist li:first-child, #contactform #formlist li:last-child {
      border: none; }
    #contactform #formlist li:first-child {
      font-weight: bold; }

/***** コンタクトフォーム *****/
#formlist li p {
  padding: 5px;
  display: block;
  line-height: 30px;
  margin-bottom: 5px; }
#formlist input[type=tel] {
  width: 15%; }
#formlist input[type=text] {
  width: 99%; }
  #formlist input[type=text]#zip, #formlist input[type=text]#pref, #formlist input[type=text]#your-place1, #formlist input[type=text]#your-place2 {
    width: 15%; }
#formlist input[type=email] {
  width: 99%; }
#formlist textarea {
  width: 99%; }
#formlist .file {
  margin: 10px;
  display: block; }
#formlist span.wpcf7-list-item {
  display: block; }
#formlist input[type=text]:focus, #formlist input[type=email]:focus, #formlist input[type=tel]:focus {
  border: solid 1px #333; }
#formlist input[type=text] {
  outline: none; }
#formlist select {
  outline: none; }

#formlistinput[type=email], #formlist input[type=tel] {
  outline: none; }

input[type=submit] {
  border: #a9a9a9 1px solid;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.3);
  padding: 10px 20px;
  margin: 20px 5px 5px;
  cursor: pointer;
  color: #333;
  font-weight: bold;
  background: #f5f5f5;
  text-shadow: 1px 1px 0px #fff; }

#formlist .contact_form input[type=text], #formlist .contact_form input[type=email] {
  width: 100%;
  height: 50px;
  font-size: 1.5em; }
#formlist input[type="radio"] {
  margin: 0 0 4px 0 !important; }
#formlist .acceptance {
  margin-top: 8px; }

@media screen and (max-width: 640px) {
  #contactform #aboutinquiry #tel {
    width: 144px;
    height: 23px;
    margin: 10px auto;
    background-size: contain; }
  #contactform #aboutinquiry p {
    padding: 10px; }
    #contactform #aboutinquiry p.center {
      text-align: left; }
  #contactform #formlist {
    width: 100%;
    margin: 0 0%; }

  #formlist input[type=tel] {
    width: 25%; }
  #formlist input[type=text] {
    width: 96%; }
    #formlist input[type=text]#zip, #formlist input[type=text]#pref, #formlist input[type=text]#your-place1, #formlist input[type=text]#your-place2 {
      width: 40%; }
  #formlist input[type=email] {
    width: 96%; }
  #formlist textarea {
    width: 96%; } }
/* access
----------------------------------------------------------*/
#access #map_canvas2 {
  height: 400px;
  border: 2px solid #33604A;
  box-sizing: border-box; }
#access .map_link {
  font-size: 1.2rem;
  color: #754C24; }
#access .store_info th, #access .store_info td {
  padding: 0 0 15px;
  font-weight: normal;
  line-height: 1.7em; }
#access .store_info th {
  width: 25%; }
#access .store_info td {
  width: 75%; }

@media screen and (max-width: 640px) {
  #access #map_canvas2 {
    height: 200px; }
  #access .store_info th, #access .store_info td {
    display: block;
    width: 100%;
    padding: 3px 15px;
    box-sizing: border-box;
    font-size: 1.2rem; }
  #access .store_info th {
    background: rgba(255, 255, 255, 0.5); } }
/* pager block
----------------------------------------------------------*/
#categorypage #pager {
  background: none;
  border: none;
  box-shadow: none; }

.pagination {
  overflow: hidden;
  clear: both;
  padding: 0;
  position: relative;
  font-size: 11px;
  line-height: 13px; }
  .pagination span {
    display: block;
    float: left;
    margin: 2px 2px 2px 0;
    padding: 6px 9px 5px 9px;
    text-decoration: none;
    width: auto;
    background: #ffffff;
    /*通常時*/
    color: #730000; }
  .pagination a {
    display: block;
    float: left;
    margin: 2px 2px 2px 0;
    padding: 6px 9px 5px 9px;
    text-decoration: none;
    width: auto;
    background: #ffffff;
    /*通常時*/
    color: #730000; }
    .pagination a:hover {
      background: #730000;
      color: #fff;
      font-weight: 700; }
  .pagination .current {
    background: #730000;
    /*選択中*/
    color: #fff;
    padding: 6px 9px 5px 9px;
    font-weight: 700; }

/* single page
----------------------------------------------------------*/
#singlepage .section {
  background: rgba(255, 255, 255, 0.8) url(../../images/normal/normal_li_pattern.png) 100% 0 no-repeat; }
  #singlepage .section.none {
    background: none;
    /*border:solid 1px #1e1e1e;*/ }
  #singlepage .section .article {
    padding: 20px; }

.singlepost li .single_title {
  padding: 0 15px;
  border-bottom: 1px solid #323232; }
  .singlepost li .single_title .title {
    float: left;
    font-size: 1.8rem; }
  .singlepost li .single_title .day {
    float: right;
    margin-top: 3px;
    font-size: 13px;
    color: #64321E; }
.singlepost li .contenttext {
  padding: 20px; }
  .singlepost li .contenttext img {
    max-width: 450px;
    margin: 20px 0; }

/* 以下、画面の横幅が640pxまでの場合のスタイル記入 */
@media screen and (max-width: 640px) {
  #singlepage .section .article {
    padding: 10px; }

  .singlepost li .contenttext {
    padding: 10px; }
    .singlepost li .contenttext img {
      max-width: 100%;
      margin: 20px 0; } }
/* .single_pager  */
.single_pager a:hover {
  text-decoration: underline;
  color: #730000; }
.single_pager .left, .single_pager .right {
  padding: 10px;
  box-sizing: border-box;
  color: #fff; }
  .single_pager .left a, .single_pager .right a {
    color: #fff;
    text-decoration: underline; }
.single_pager .left {
  float: left; }
.single_pager .right {
  float: right;
  text-align: right; }

@media screen and (max-width: 640px) {
  .single_pager {
    padding: 10px 10px 8px 10px; }
    .single_pager .left, .single_pager .right {
      font-size: 1.2rem; }
    .single_pager .left {
      margin-bottom: 5px; } }
/* single page sns button
----------------------------------------------------------*/
/*iframeで読みこんでいるため無駄な空白が出た場合非表示*/
.snsarticle {
  clear: both;
  overflow: hidden;
  /*padding:15px 40px 12px;*/ }
  .snsarticle:after {
    clear: both; }
  .snsarticle #snsbuttonlist {
    overflow: hidden;
    float: left;
    /* ここから高さのズレ調整のため*/
    margin: 0;
    padding: 0; }
    .snsarticle #snsbuttonlist li {
      margin: 0 10px 0 0;
      float: left; }

/*twitter+1*/
iframe.twitter-share-button {
  width: 91px !important; }

/*google+1*/
.snsarticle #snsbuttonlist div#___plusone_0 {
  width: 105px !important;
  -webkit-background-clip: padding-box;
  border: none; }
.snsarticle #snsbuttonlist .fbbtn {
  margin: -2px 15px 0 0; }

/*facebook 高さズレ調整*/
@media screen and (max-width: 640px) {
  .snsarticle {
    padding: 10px 10px 8px 10px; }
    .snsarticle #snsbuttonlist {
      float: none; }
      .snsarticle #snsbuttonlist iframe.twitter-share-button {
        width: 88px !important; }
      .snsarticle #snsbuttonlist .googlebtn {
        margin-top: 3px; }
      .snsarticle #snsbuttonlist div#___plusone_0 {
        width: 70px !important; }

  /*google+ 高さズレ調整*/ }
/* SNSボタン ここまで---------------*/
/* categorypage
----------------------------------------------------------*/
/* normalpost
----------------------------------------------------------*/
#maincolumn .normalpost li .heading {
  margin-bottom: 15px; }
  #maincolumn .normalpost li .heading a {
    display: block;
    float: left;
    font-size: 1.8rem;
    color: #33604a;
    text-decoration: underline; }
  #maincolumn .normalpost li .heading .day {
    float: right;
    margin-top: 3px;
    font-size: 1.2rem; }
#maincolumn .normalpost li .img {
  float: left;
  width: 35%; }
  #maincolumn .normalpost li .img img {
    display: block;
    width: 100%;
    border: 1px solid #33604A; }
#maincolumn .normalpost li .posttxt {
  float: right;
  width: 63%; }
#maincolumn .normalpost li .des {
  margin-bottom: 10px;
  font-size: 1.4rem;
  line-height: 1.7em; }
#maincolumn .normalpost li .link a {
  color: #A28478;
  font-size: 12px; }
  #maincolumn .normalpost li .link a:hover {
    text-decoration: underline; }

@media screen and (max-width: 640px) {
  #maincolumn .normalpost li p {
    font-size: 1.2rem; }
  #maincolumn .normalpost li .img {
    float: none;
    width: 100%; }
  #maincolumn .normalpost li .posttxt {
    float: none;
    width: 100%;
    padding: 15px 0; } }
/* gallery
----------------------------------------------------------*/
.gallery li {
  margin-bottom: 15px; }
.gallery img {
  display: block;
  border: 1px solid #33604A; }

@media screen and (max-width: 640px) {
  .gallery.divide4:after {
    display: block;
    content: "";
    clear: both;
    overflow: hidden; }
  .gallery.divide4 li {
    width: 49%;
    float: left;
    margin-right: 2%;
    margin-bottom: 15px; }
    .gallery.divide4 li:nth-child(2n) {
      margin-right: 0; } }
/* staffpost
----------------------------------------------------------*/
.staffpost li {
  margin-bottom: 30px; }
  .staffpost li .img {
    float: left;
    width: 45%; }
    .staffpost li .img img {
      border: 3px solid #D6AE3C;
      box-sizing: border-box; }
  .staffpost li .posttxt {
    float: right;
    width: 53%; }
    .staffpost li .posttxt .jobtitle {
      padding: 3px 15px;
      background: #33604A;
      font-size: 2.3rem;
      color: #fff; }
    .staffpost li .posttxt .nametitle {
      font-size: 2.3rem;
      font-weight: bold; }
    .staffpost li .posttxt .name_en {
      font-size: 2rem;
      font-family: 'Aileron-UltraLightItalic'; }
    .staffpost li .posttxt .minititle {
      font-size: 1.8rem;
      color: #33604A; }

@media screen and (max-width: 640px) {
  .staffpost li .img {
    float: none;
    width: 100%; }
  .staffpost li .posttxt {
    float: none;
    width: 100%; }
    .staffpost li .posttxt .jobtitle {
      font-size: 1.6rem; } }
/* menupage
----------------------------------------------------------*/
#menu .post_list {
  margin-bottom: 30px; }
#menu .post_title, #menu .post_price {
  font-size: 1.4rem; }
#menu .post_title {
  float: left; }
#menu .post_price {
  float: right;
  text-align: right; }
#menu .campaign_title {
  margin-bottom: 30px;
  border-bottom: 1px solid #33604A;
  font-size: 18px; }
  #menu .campaign_title:first-letter {
    margin-right: .1em;
    font-size: 1.5em; }
#menu .campaign_des {
  font-size: 14px; }

#menu .note {
  float: right;
  font-size: 1.4rem; }

@media screen and (max-width: 970px) {
  .recomendlist li {
    background-size: contain; }
    .recomendlist li .title {
      font-size: 16px; }

  #servicechoice h4 .stitle {
    font-size: 14px; }

  .servicelist li p.minititle {
    line-height: 1.4em;
    font-size: 14px; }
  .servicelist li p.title {
    font-size: 20px; }

  .menulist li {
    width: 100%;
    margin: 0 2px 20px;
    /*下側余白指定*/ }
    .menulist li:nth-child(2n) {
      width: 100%;
      margin: 0 2px 20px;
      /*下側余白指定*/ }
    .menulist li .plustax {
      font-size: 11px; }
    .menulist li table tr th, .menulist li table tr td {
      font-size: 11px; } }
@media screen and (max-width: 640px) {
  .recomendlist li {
    float: none;
    width: 90%;
    display: inline-block;
    background: url(../../images/menu/md3_pattern_top.png) 50% 0 no-repeat, url(../../images/menu/md3_pattern_under.png) 50% 100% no-repeat;
    background-size: 100%;
    padding: 30px 5%;
    margin: 0 0 30px;
    /*下側余白指定*/
    overflow: hidden; }
    .recomendlist li:nth-child(3) {
      float: none;
      width: 90%;
      display: inline-block;
      background: url(../../images/menu/md3_pattern_top.png) 50% 0 no-repeat, url(../../images/menu/md3_pattern_under.png) 50% 100% no-repeat;
      background-size: 100%;
      padding: 30px 5%;
      margin: 0 0 30px;
      /*下側余白指定*/
      overflow: hidden; }

  #servicechoice h4 {
    font-size: 9px;
    padding: 4px 3px 5px; }
    #servicechoice h4 span {
      font-size: 15px; }
    #servicechoice h4 .stitle {
      font-size: 11px; }

  .servicelist li {
    width: 100%;
    float: none;
    margin: 0 0 10px 0; }
    .servicelist li .inner {
      padding: 5px; }

  .menulist li {
    width: 100%;
    margin: 0 2px 15px;
    /*下側余白指定*/ } }
