@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
html {
  height: 101%;
  margin-bottom: 1px; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, img {
  margin: 0;
  padding: 0; }

ol, ul {
  list-style: none; }

body {
  height: 100%;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #000;
  background: #fff;
  font-size: 18px;
  line-height: 180%; }

a {
  color: #640a0a;
  text-decoration: underline; }
  a:link, a:visited {
    color: #640a0a;
    text-decoration: underline; }
  a:hover, a:active {
    color: #e18257;
    text-decoration: none; }

.single-post a {
  word-break: break-word;
  overflow-wrap: break-word;
  display: inline-block;
  max-width: 100%;
}

.sp_only {
  display: none; }

br.clear {
  clear: both; }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translate(0, -80px); }
  50% {
    opacity: 0;
    transform: translate(0, -80px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translate(-50px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes overlayIn {
  from {
    transform: translateY(-45%); }
  to {
    transform: translateY(-50%);
    opacity: 1; } }
@keyframes footerIn {
  from {
    transform: translateY(100%);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }
.fadeInUp {
  opacity: 0.1;
  transform: translate(0, 80px);
  transition: all 1000ms; }

.fadeInSlide {
  opacity: 0;
  transform: translate(-500px);
  transition: all 1000ms; }

.fadeInUp.on
, .fadeInSlide.on {
  opacity: 1;
  transform: translate(0, 0); }

div.overlay_msg {
  animation: overlayIn 1s ease 1s 1 both;
  position: fixed;
  background: rgba(195, 150, 116, 0.95);
  width: 95%;
  margin: 0 2.5%;
  z-index: 10000;
  top: 50%;
  opacity: 0;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
  div.overlay_msg h1 {
    font-size: 1.25em;
    padding: 10px 20px;
    line-height: 1;
    margin: 15px 0;
    width: 75%;
    border-bottom: 1px dotted #640a0a; }
    div.overlay_msg h1::before {
      font-family: 'FontAwesome';
      content: '\f071';
      color: #640a0a;
      margin-right: 5px;
      font-weight: normal; }
  div.overlay_msg p {
    padding: 0 20px 15px; }
  div.overlay_msg a.btn_close {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1; }
    div.overlay_msg a.btn_close img {
      width: 35px; }
  div.overlay_msg a.txt_close {
    margin-top: 10px;
    display: block;
    text-align: center;
    background: #640a0a;
    color: #fff;
    text-decoration: none;
    padding: 10px; }

div.overlay_meter {
  animation: overlayIn 1s ease 0s 1 both;
  position: fixed;
  background: #640a0a;
  width: 95%;
  margin: 0 2.5%;
  z-index: 10000;
  top: 50%;
  opacity: 0;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  color: #fff; }
  div.overlay_meter h1 {
    font-size: 1.25em;
    padding: 10px 20px;
    line-height: 1;
    margin: 15px 0;
    width: 75%;
    border-bottom: 1px dotted #640a0a; }
    div.overlay_meter h1::before {
      font-family: 'FontAwesome';
      content: '\f0c0';
      color: #fff;
      margin-right: 10px;
      font-weight: normal; }
  div.overlay_meter p {
    padding: 0 20px 15px; }
  div.overlay_meter img {
    display: block;
    width: 120px;
    margin: 0 auto; }
  div.overlay_meter a.btn_close {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1; }
    div.overlay_meter a.btn_close img {
      width: 35px; }
  div.overlay_meter a.txt_close {
    margin-top: 10px;
    display: block;
    text-align: center;
    background: #640a0a;
    color: #fff;
    text-decoration: none;
    padding: 10px; }

section#main {
  padding: 0 0 25px; }

section#home_cover {
  position: relative;
  width: 100%;
  background-color: #000;
  background-size: cover; }
  section#home_cover h2 {
    text-align: right;
    letter-spacing: .5em;
    color: #fff;
    text-shadow: 1px 1px 5px black;
    font-size: 36px;
    line-height: 150%;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%); }
  section#home_cover a.scrolldown {
    font-family: "Trochut", "Noto Serif JP", serif;
    animation: fadeIn 2s ease 0s 1 normal;
    width: 50px;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 70px;
    padding-top: 55px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    outline: none;
    text-shadow: 0 0 5px black; }
    section#home_cover a.scrolldown span {
      position: absolute;
      top: 0;
      left: 50%;
      width: 24px;
      margin-left: -12px;
      height: 50px;
      border: 2px solid #fff;
      border-radius: 50px;
      box-sizing: border-box; }
    section#home_cover a.scrolldown span::before {
      position: absolute;
      top: 10px;
      left: 50%;
      content: '';
      width: 8px;
      height: 8px;
      margin-left: -4px;
      background-color: #fff;
      border-radius: 100%;
      box-sizing: border-box; }

section.home_sec {
  padding: 50px 0; }

section#home_sec_info {
  background: url("../images/concrete.jpg") no-repeat center center;
  background-size: cover;
  background-attachment: fixed; }

section#home_sec_concept {
  background: url("../images/wall.jpg") no-repeat center center;
  background-size: cover; }
  section#home_sec_concept h3.common {
    color: #fff !important; }
    section#home_sec_concept h3.common span {
      color: #fff !important; }
  section#home_sec_concept .paper {
    background: url("../images/paper.jpg") repeat-y center center;
    background-size: 100%;
    padding: 10px; }
    section#home_sec_concept .paper .concept_txt {
      text-align: center;
      padding: 25px 25px 0;
      background: rgba(255, 255, 255, 0.7);
      box-shadow: 0 1px 5px rgba(0, 0, 0, 0.7); }
    section#home_sec_concept .paper p {
      padding-bottom: 25px; }

section#home_sec_message {
  background: url("../images/concrete_pat.jpg"); }
  section#home_sec_message h3 {
    font-size: 1.5em;
    margin-bottom: 25px;
    position: relative;
    padding-left: 25px;
    line-height: 1; }
    section#home_sec_message h3 span {
      display: block;
      font-size: .7em;
      font-family: "Trochut", "Noto Serif JP", serif;
      font-weight: normal;
      font-style: italic;
      color: #640a0a;
      margin-top: 20px; }
    section#home_sec_message h3::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 5px;
      height: 100%;
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#a3733e+0,ffb882+50,a3733e+100 */
      background: #a3733e;
      /* Old browsers */
      background: -moz-linear-gradient(top, #a3733e 0%, #ffb882 50%, #a3733e 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(top, #a3733e 0%, #ffb882 50%, #a3733e 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, #a3733e 0%, #ffb882 50%, #a3733e 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3733e', endColorstr='#a3733e',GradientType=0 );
      /* IE6-9 */ }
  section#home_sec_message .msg {
    background: rgba(255, 255, 255, 0.5);
    padding: 25px 25px 0; }
    section#home_sec_message .msg p {
      padding-bottom: 25px;
      font-size: .9em; }

ul.home_feature li .ft_text h3 {
  font-weight: bold;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  font-size: 60px;
  line-height: 150%;
  margin-bottom: 15px; }

footer {
  font-family: "Trochut", "Noto Serif JP", serif;
  background: #0e0000 url(../images/footer_bg.jpg) repeat-x center bottom;
  background-size: auto 750px;
  display: block;
  padding: 15px 0 100px;
  color: #fff;
  text-align: center;
  font-size: 14px; }
  footer a {
    color: #fff !important; }
  footer h4 {
    font-style: italic;
    padding: 20px 0;
    font-weight: normal; }
    footer h4:before, footer h4:after {
      content: '-';
      margin: 0 5px; }
  footer .footer_payment img {
    width: 90px;
    margin: 0 5px; }
/* 全体を包むブロック */
footer .footer_social_block {
  text-align: center;
  margin-top: 20px;
}

/* タイトルの見た目 */
footer .footer_social_block h4 {
  margin-bottom: 10px;
  font-size: 1.2em;
  font-weight: normal;
}

/* SNSアイコンを整列 */
footer .footer_social {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px 40px !important;
  padding: 10px 0 20px !important;
  margin-bottom: 30px !important;
}
@media (max-width: 600px) {
  footer .footer_social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 25px; 
    padding: 20px 0;
  }

  footer .footer_social a {
    margin-bottom: 10px; /* 各アイコンの下に余白を追加 */
  }
}
/* アイコンの見た目 */
footer .footer_social img {
  height: 40px;
  margin: 0;
}

/* ホバー効果 */
footer .footer_social a {
  display: inline-block;
  transition: transform 0.3s ease, filter 0.3s ease;
}
footer .footer_social a:hover {
  transform: scale(1.15);
  filter: brightness(1.3);
}

/* モバイル対応（スマホの上下に余白） */
@media screen and (max-width: 768px) {
  footer .footer_social {
    gap: 15px 20px;
    padding-bottom: 30px;
  }
}
footer .footer_social {
  display: flex;
  flex-wrap: wrap; /* 複数行OK */
  justify-content: center;
  gap: 10px 20px; /* 縦10px, 横20px の間隔 */
  padding: 10px 0 20px;}
footer .footer_social img {
  height: 40px;
  margin: 0; /* gapで間隔を調整する場合はmargin不要 */}
/* ホバーエフェクト追加部分 */
  footer .footer_social a {
    display: inline-block;
  transition: transform 0.3s ease, filter 0.3s ease; }
  footer .footer_social a:hover {
    transform: scale(1.15);
    filter: brightness(1.3); }
/* ホバーエフェクト追加部分（ここまで） */
  footer p.lang {
    padding-top: 10px; }
  footer .bogo-language-switcher {
    padding: 0 0 30px; }
    footer .bogo-language-switcher .current {
      display: none; }
    footer .bogo-language-switcher li {
      text-align: center; }
    footer .bogo-language-switcher a {
      font-size: 18px;
      text-decoration: none; }
    footer .bogo-language-switcher a:before {
      content: "\f0ec";
      font-family: FontAwesome;
      padding-right: 8px; }
  footer p.footer_add {
    line-height: 140%;
    margin-bottom: 10px; }
  footer p.footer_tel {
    font-size: 20px;
    margin-bottom: 10px; }

.padd5 {
  padding: 5px; }

.padd10 {
  padding: 10px; }

.padd15 {
  padding: 15px; }

.padd20 {
  padding: 20px; }

.padd0_5 {
  padding: 0 5px; }

.padd0_10 {
  padding: 0 10px; }

.padd0_20 {
  padding: 0 20px; }

.padd10_20 {
  padding: 10px 20px; }

.padd-top5 {
  padding-top: 5px; }

.padd-top10 {
  padding-top: 10px; }

.padd-top15 {
  padding-top: 15px; }

.padd-top20 {
  padding-top: 20px; }

.padd-bottom5 {
  padding-bottom: 5px; }

.padd-bottom10 {
  padding-bottom: 10px; }

.padd-bottom15 {
  padding-bottom: 15px; }

.padd-bottom20 {
  padding-bottom: 20px; }

.marg5 {
  margin: 5px; }

.marg10 {
  margin: 10px; }

.marg20 {
  margin: 20px; }

.marg0_5 {
  margin: 0 5px; }

.marg0_10 {
  margin: 0 10px; }

.marg0_20 {
  margin: 0 20px; }

.marg-top0 {
  margin-top: 0 !important; }

.marg-top5 {
  margin-top: 5px; }

.marg-top10 {
  margin-top: 10px; }

.marg-top15 {
  margin-top: 15px; }

.marg-top20 {
  margin-top: 20px; }

.marg-bottom5 {
  margin-bottom: 5px; }

.marg-bottom10 {
  margin-bottom: 10px; }

.marg-bottom15 {
  margin-bottom: 15px; }

.marg-bottom20 {
  margin-bottom: 20px; }

.st {
  font-weight: bold; }

.reg {
  font-weight: normal; }

.fs150 {
  font-size: 150%;
  letter-spacing: 0.01em; }

.fs120 {
  font-size: 120%; }

.fs110 {
  font-size: 110%; }

.fs90 {
  font-size: 90%; }

.fs80 {
  font-size: 80%;
  line-height: 160%; }

.fs70 {
  font-size: 70%;
  line-height: 160%; }

.fs60 {
  font-size: 60%;
  line-height: 160%; }

.fs50 {
  font-size: 50%;
  line-height: 160%; }

.fsblack {
  color: #000; }

.fsred {
  color: #CC4B5B; }

.fsgray {
  color: #afafaf; }

.must {
  font-weight: bold;
  margin-left: 5px;
  color: red; }

.alignright {
  text-align: right; }

.aligncenter {
  text-align: center; }

hr {
  height: 1px;
  border: none;
  background: #333;
  margin: 10px 0; }

#fb-root {
  display: none; }

.fb_iframe_widget
, .fb_iframe_widget span
, .fb_iframe_widget span iframe[style] {
  width: 100% !important;
  background: #fff !important; }

h3.common {
  text-align: center;
  line-height: 150%;
  margin: 0 0 30px; }
  h3.common span.en {
    font-family: "Trochut", "Noto Serif JP", serif;
    display: inline-block;
    font-size: 45px;
    font-weight: normal;
    font-style: italic;
    background: url("../images/gold_rose.png") no-repeat right bottom;
    background-size: auto 55px;
    padding: 0 60px 25px; }
  h3.common span.jp {
    display: block;
    font-size: 14px;
    line-height: 100%;
    font-weight: normal;
    padding: 0;
    color: #640a0a; }

.box {
  background: rgba(255, 255, 255, 0.8);
  padding: 10px;
  margin-bottom: 15px; }

img.photo, ul.gallery li img {
  width: 96%;
  padding: 2%;
  background: rgba(255, 255, 255, 0.8); }

ul.gallery {
  margin-left: -0.666%; }
  ul.gallery li {
    width: 16%;
    margin: 0 0 0.666% 0.666%;
    float: left; }

.single-post {
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.7);
  position: relative;
  margin-bottom: 50px; }
  .single-post h1.post-title {
    line-height: 180%;
    padding: 25px 20px;
    font-size: 20px; }
  .single-post img.stockout {
    width: 50px;
    float: left;
    margin-left: 20px; }
  .single-post .date {
    font-family: "Trochut", "Noto Serif JP", serif;
    font-size: 16px;
    padding: 0 20px 25px;
    line-height: 100%;
    text-align: right;
    font-style: italic; }
  .single-post .single-post-content {
    clear: both;
    font-size: 16px;
    padding: 25px 20px;
    line-height: 1.8; }
    .single-post .single-post-content p {
      margin-bottom: 15px; }
    .single-post .single-post-content h3, .single-post .single-post-content h4, .single-post .single-post-content h5 {
      margin-bottom: 15px;
      border-top: 1px solid #640a0a;
      border-bottom: 1px solid #640a0a;
      color: #640a0a; }
    .single-post .single-post-content h3 {
      font-size: 20px;
      padding: 10px 0; }
    .single-post .single-post-content h4 {
      font-size: 18px;
      padding: 15px 0; }
    .single-post .single-post-content h5 {
      font-size: 16px;
      padding: 15px 0; }
    .single-post .single-post-content iframe, .single-post .single-post-content .instagram-media {
      width: 100% !important;
      max-width: 100% !important;
      min-width: initial !important; }

ul.paging {
  margin-top: 10px;
  font-size: 12px;
  border-top: 1px dotted #ccc; }
  ul.paging li {
    width: 50%; }
  ul.paging li.prev {
    float: left; }
  ul.paging li.emptynext a {
    border-right: 1px dotted #ccc; }
  ul.paging li.next {
    text-align: right;
    float: right; }
  ul.paging li a {
    display: block;
    position: relative;
    text-decoration: none; }
  ul.paging li.prev a {
    padding: 15px 5px 15px 25px; }
  ul.paging li.next a {
    padding: 15px 25px 15px 5px;
    border-left: 1px dotted #ccc; }
  ul.paging li a i {
    position: absolute;
    top: 21px; }
  ul.paging li.prev a i {
    left: 10px; }
  ul.paging li.next a i {
    right: 10px; }

.posts {
  position: relative;
  margin-bottom: 15px;
  background: rgba(255, 255, 255, 0.7);
  padding: 0 0 10px;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }
  .posts img {
    width: 100%; }
  .posts .date {
    font-family: "Trochut", "Noto Serif JP", serif;
    font-size: 16px;
    padding: 10px 10px 0;
    line-height: 100%;
    font-style: italic;
    text-align: right; }
    .posts .date.nothumbnail {
      padding: 35px 10px 10px; }
  .posts h3 {
    font-weight: bold;
    margin: 10px;
    line-height: 150%;
    font-size: 18px; }
  .posts img.stockout {
    width: 50px;
    float: left;
    margin-left: 10px; }
  .posts .excerpt {
    clear: both;
    font-size: 12px;
    padding: 10px 10px 0;
    line-height: 150%; }

.icons {
  position: absolute;
  top: 5px;
  right: 10px;
  line-height: 100%; }
  .icons span, .icons a {
    display: inline-block;
    background: #640a0a;
    color: #fff;
    font-size: 10px;
    line-height: 100%;
    padding: 2px 8px;
    margin-right: 0;
    text-decoration: none;
    border-radius: 10px; }
  .icons span.new {
    background: #e18257; }

a.more {
  font-family: "Trochut", "Noto Serif JP", serif;
  position: relative;
  display: block;
  margin-top: 20px;
  text-align: center;
  text-decoration: none;
  line-height: 30px;
  outline: none;
  font-size: 16px;
  z-index: 2;
  border: 1px solid #640a0a;
  color: #640a0a;
  overflow: hidden; }

a.more::before
, a.more::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: ''; }

a.more
, a.more::before
, a.more::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .5s;
  transition: all .5s; }

a.more:hover {
  color: #fff; }

a.more::after {
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%; }

a.more:hover::after {
  right: 0;
  background-color: #640a0a; }

.posts a.more {
  margin: 20px 10px 0; }

ul.home_feature li .ft_text a.more {
  border: 1px solid #fff;
  color: #fff; }

ul.home_feature li .ft_text a.more:hover {
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); }

ul.home_feature li .ft_text a.more:hover::after {
  background-color: rgba(255, 255, 255, 0.3); }

header#fixed_header {
  font-family: "Trochut", "Noto Serif JP", serif;
  background: url(../images/header_bg.png) repeat-x center top;
  background-size: auto 20px;
  position: fixed;
  width: 100%;
  z-index: 9999; }
  header#fixed_header.scrollon {
    background-color: #640a0a;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }
  header#fixed_header a#menu_bars, header#fixed_header a#sp_1st {
    display: none; }

body#page {
  background: url("../images/concrete_pat.jpg") center center; }
  body#page #main .container {
    background: url("../images/paper.jpg") repeat-y center center;
    background-size: 100%;
    padding: 10px;
    margin-bottom: 15px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.7); }
    body#page #main .container .single-page {
      padding: 50px;
      background: white;
      box-shadow: 0 1px 5px rgba(0, 0, 0, 0.7); }
      body#page #main .container .single-page p {
        padding-bottom: 25px; }

body#sub {
  background: url("../images/paper.jpg") repeat-y center center;
  background-size: 100%; }

section#pagetitle {
  animation: slideIn 2s ease 0s 1 normal;
  background: url("../images/wall.jpg") center top;
  background-size: cover;
  padding: 120px 0 40px; }
  section#pagetitle h1, section#pagetitle p {
    font-weight: bold;
    font-size: 35px;
    line-height: 100%;
    padding: 30px;
    text-align: center;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
    section#pagetitle h1 span, section#pagetitle p span {
      line-height: 100%;
      font-weight: normal;
      font-size: 14px; }

h3.disable {
  display: none; }

.sub_right_widget {
  margin-bottom: 25px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }
  .sub_right_widget h3 {
    color: #fff;
    font-size: 22px;
    font-family: "Trochut", "Noto Serif JP", serif;
    font-style: italic;
    font-weight: normal;
    background-color: #640a0a;
    background-image: url("../images/bt_left.png"), url("../images/bt_right.png");
    background-position: center left                  ,center right;
    background-repeat: repeat-y;
    padding: 0 0 0 25px; }
  .sub_right_widget ul {
    font-size: 12px; }
    .sub_right_widget ul > li {
      border-bottom: 1px dotted #ccc;
      padding: 8px 10px; }
    .sub_right_widget ul > li:last-child {
      border-bottom: 0; }
    .sub_right_widget ul > li a {
      font-size: 14px;
      margin-right: 3px; }
    .sub_right_widget ul > li ul.children {
      margin: 5px 0 0 10px; }
    .sub_right_widget ul > li ul.children li {
      padding: 2px 0; }

div.tags {
  margin: 0 10px;
  text-align: right; }
  div.tags h4 {
    color: #999;
    font-size: 12px;
    margin-bottom: 5px; }
  div.tags a {
    font-size: 12px;
    display: inline-block;
    background: #fff;
    padding: 2px 10px;
    margin: 0 0 5px 5px;
    border: 1px solid #009ae2;
    border-radius: 3px;
    text-decoration: none; }
  div.tags a:hover {
    background: #009ae2;
    color: #fff; }

ul.gal2
, ul.gal3 {
  margin-left: -1%; }

ul.gal2 li
, ul.gal3 li {
  float: left;
  margin: 0 0 7px 1%; }

ul.gal2 li img
, ul.gal3 li img {
  width: 100%; }

ul.gal2 li {
  width: 49%; }

ul.gal3 li {
  width: 32.3%; }

.pagenation {
  text-align: center;
  margin: 10px 0 30px; }
  .pagenation a
  , .pagenation span {
    display: inline-block;
    border: 1px solid #ccc;
    margin: 0 2px;
    padding: 5px 8px;
    border-radius: 3px;
    text-decoration: none;
    background: #fff; }
  .pagenation .current {
    background: #640a0a;
    border-color: #640a0a;
    color: #fff; }

section#breadcrumb {
  font-size: 12px;
  padding: 5px 0; }
  section#breadcrumb ul li {
    display: inline-block; }
  section#breadcrumb ul li span.fa {
    margin: 0 8px; }

.after_clear:after {
  content: ".";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden; }

ul.recommend {
  margin-left: -2%;
  padding-bottom: 10px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  ul.recommend li {
    position: relative;
    float: left;
    width: 23%;
    margin: 0 0 10px 2%;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }
  ul.recommend li .date {
    font-size: 12px;
    font-weight: normal;
    font-family: "Trochut", "Noto Serif JP", serif;
    font-style: italic;
    color: #640a0a;
    padding: 5px 10px;
    text-align: right; }
  ul.recommend li img {
    width: 100%; }
  ul.recommend li h4 {
    padding: 0 10px 10px;
    font-size: 12px;
    font-weight: normal; }

.google-maps {
  position: relative;
  padding-bottom: 75%;
  height: 0;
  overflow: hidden; }
  .google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

a#totop {
  display: none;
  position: fixed;
  bottom: 90px;
  right: 0; }
  a#totop img {
    width: 80px; }

img.footer_guest_meter {
  position: fixed;
  bottom: 50%;
  transform: translateY(50%);
  left: 0;
  width: 60px; }

@media screen and (min-width: 768px) {
  img.footer_guest_meter {
    bottom: 20% !important;
  }
}

.overlay_meter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  background: rgba(255, 255, 255, 0.95);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.overlay_meter img {
  max-width: 300px;
  height: auto;
}
.overlay_meter .btn_close {
  margin-top: 20px;
  font-size: 18px;
  cursor: pointer;
  color: #333;
  background: #eee;
  padding: 8px 16px;
  border-radius: 6px;
}


a.mouseonzoom {
  overflow: hidden;
  display: block; }
  a.mouseonzoom img {
    width: 100%;
    transition-duration: 0.3s; }
    a.mouseonzoom img:hover {
      transform: scale(1.1);
      transition-duration: 0.3s; }

dl.home_info dt {
  font-family: "Trochut", "Noto Serif JP", serif;
  font-style: italic;
  background-color: #640a0a;
  background-image: url("../images/bt_left.png"), url("../images/bt_right.png");
  background-position: center left                  ,center right;
  background-repeat: repeat-y;
  font-size: 14px;
  padding: 5px 10px 5px 25px;
  color: #fff;
  font-weight: normal; }
dl.home_info dd {
  padding: 15px;
  margin-bottom: 15px;
  background: #fff; }

ul.menus h4 {
  background: url(../images/menu_title.png) no-repeat left center, url(../images/menu_title.png) no-repeat right center;
  background-size: auto 50%;
  font-family: "Trochut", "Noto Serif JP", serif;
  line-height: 100%;
  margin-bottom: 30px;
  font-size: 32px;
  color: #98804d;
  border-bottom: double #98804d;
  padding: 0 0 10px 0;
  font-weight: normal;
  text-align: center;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3); }
ul.menus dl {
  margin-top: 15px;
  padding: 0 10px 50px; }
  ul.menus dl dt {
    margin-top: 15px;
    font-weight: normal;
    font-size: 16px;
    padding: 0 0 5px;
    border-bottom: 1px dotted #ccc; }
  ul.menus dl dd {
    font-family: "Trochut", "Noto Serif JP", serif;
    font-style: italic;
    text-align: right;
    padding: 5px 0 0 0; }
    ul.menus dl dd.m:before {
      content: "member";
      font-size: 16px;
      margin-right: 5px;
      color: #98804d; }
    ul.menus dl dd.g:before {
      content: "guest";
      font-size: 14px;
      margin-right: 5px;
      color: #777; }
    ul.menus dl dd.v:before {
      content: "visitor";
      font-size: 14px;
      margin-right: 5px;
      color: #777; }

p.price {
  font-style: italic;
  padding-right: 15px;
  text-align: right;
  font-family: "Trochut", "Noto Serif JP", serif;
  line-height: 1; }
  p.price.m:before {
    content: "member";
    font-size: 16px;
    margin-right: 10px;
    color: #98804d; }
  p.price.g:before {
    content: "guest";
    font-size: 14px;
    margin-right: 10px;
    color: #777; }
  p.price.v:before {
    content: "visitor";
    font-size: 14px;
    margin-right: 10px;
    color: #777; }

h2.common {
  background: url(../images/menu_title.png) no-repeat left center, url(../images/menu_title.png) no-repeat right center;
  background-size: auto 50%;
  font-family: "Trochut", "Noto Serif JP", serif;
  line-height: 100%;
  margin-bottom: 30px;
  font-size: 32px;
  color: #98804d;
  border-bottom: double #98804d;
  padding: 0 0 10px 0;
  font-weight: normal;
  text-align: center;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3); }

dl.membership dt {
  position: relative; }
  dl.membership dt span {
    position: absolute;
    right: 0; }
dl.membership dd {
  line-height: 150%;
  padding: 20px 0 5px 20px;
  font-size: 16px;
  margin-bottom: 20px;
  border-bottom: 1px dotted #ccc; }
  dl.membership dd ul li {
    font-size: .9em;
    line-height: 1.75;
    position: relative;
    padding: 0 0 5px 1.3em; }
    dl.membership dd ul li::before {
      position: absolute;
      left: 0;
      top: 0;
      content: "●";
      color: #640a0a; }
    dl.membership dd ul li sup {
      margin-right: 5px; }

.mem_merit {
  margin: 0 0 25px 0;
  line-height: 1.5; }
  .mem_merit h3 {
    background: #640a0a;
    color: #fff;
    display: inline-block;
    font-size: 1em;
    line-height: 1;
    padding: 10px 15px;
    margin-bottom: 25px; }
  .mem_merit h4 {
    margin-bottom: 25px; }
    .mem_merit h4 span {
      color: #640a0a;
      font-size: 1.1em;
      line-height: 2; }
  .mem_merit .case {
    margin-bottom: 25px;
    font-family: "Noto Sans JP", sans; }
    .mem_merit .case table {
      font-size: .8em;
      width: 100%; }
      .mem_merit .case table th, .mem_merit .case table td {
        text-align: left;
        font-weight: normal; }
        .mem_merit .case table th span, .mem_merit .case table td span {
          font-size: .8em;
          display: inline-block; }
      .mem_merit .case table td.price {
        text-align: right; }
      .mem_merit .case table tr.kei {
        border-top: 1px solid #ccc; }
        .mem_merit .case table tr.kei th {
          text-align: right; }
        .mem_merit .case table tr.kei td {
          font-size: 1.5em;
          font-weight: bold; }
  .mem_merit p.gap {
    text-align: right;
    font-family: "Noto Sans JP", sans;
    font-weight: bold;
    color: #640a0a;
    line-height: 1; }
    .mem_merit p.gap i.fa {
      margin: 0 5px;
      transform: translateY(-5px) rotate(180deg); }
    .mem_merit p.gap span {
      margin-left: 10px;
      display: inline-block;
      border: 1px solid #640a0a;
      font-size: 1.65em;
      padding: 10px 20px; }

ul.asterisk {
  border: 1px dotted #ccc;
  padding: 15px 15px 5px;
  font-size: 14px;
  margin-bottom: 25px; }
  ul.asterisk li {
    position: relative;
    padding: 0 0 10px 20px; }
    ul.asterisk li:before {
      position: absolute;
      content: '※';
      top: 0;
      left: 0; }

table.common, table.recruit {
  width: 100%;
  font-family: "Trochut", "Noto Serif JP", serif;
  margin-bottom: 25px; }
  table.common th, table.recruit th, table.common td, table.recruit td {
    border: 1px solid #98804d; }
  table.common th, table.recruit th {
    font-weight: normal;
    color: #fff;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
    background: #98804d; }
  table.common td, table.recruit td {
    font-family: "Noto Serif JP", serif; }

table.recruit td h4 {
  color: #640a0a;
  font-size: 100%;
  line-height: 2.5; }
table.recruit td p {
  padding-bottom: 0 !important; }

ul.arrow {
  padding: 5px 0; }
  ul.arrow li {
    font-size: 16px;
    padding: 0 0 0 12px;
    margin: 0 0 5px 5px;
    position: relative;
    line-height: 1.5; }
    ul.arrow li:before {
      color: #98804d;
      content: '\f0da';
      font-family: 'FontAwesome';
      position: absolute;
      top: 1px;
      left: 0; }
    ul.arrow li:last-child {
      margin: 0 0 0 5px; }

#cat_narrow {
  padding: 20px 0; }
  #cat_narrow h3 {
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    background-color: #640a0a;
    background-image: url("../images/bt_left.png"), url("../images/bt_right.png");
    background-position: center left                  ,center right;
    background-repeat: repeat-y;
    padding: 10px 0 10px 25px;
    line-height: 1;
    border-radius: 5px 5px 0 0; }
  #cat_narrow nav {
    background: rgba(255, 255, 255, 0.7);
    padding: 15px 15px 0 15px;
    border: solid #640a0a;
    border-width: 0 1px 1px 1px;
    border-radius: 0 0 5px 5px;
    line-height: 1; }
    #cat_narrow nav > ul > li {
      margin-bottom: 10px; }
      #cat_narrow nav > ul > li > a {
        display: block;
        border-bottom: 1px dotted #640a0a;
        font-size: 16px;
        padding-bottom: 5px; }
      #cat_narrow nav > ul > li.current-cat > a {
        text-decoration: none;
        font-weight: bold; }
        #cat_narrow nav > ul > li.current-cat > a:before {
          font-family: "FontAwesome";
          content: "\f101";
          margin-right: 5px; }
      #cat_narrow nav > ul > li ul.children {
        margin-top: 10px;
        font-size: 0; }
        #cat_narrow nav > ul > li ul.children li {
          display: inline-block;
          margin: 0 8px 8px 0; }
          #cat_narrow nav > ul > li ul.children li a {
            display: block;
            background: #fff;
            border: 1px solid #640a0a;
            font-size: 14px;
            text-decoration: none;
            border-radius: 3px;
            padding: 5px 8px; }
            #cat_narrow nav > ul > li ul.children li a:hover {
              background: #640a0a;
              color: #fff; }
          #cat_narrow nav > ul > li ul.children li.current-cat a {
            font-weight: bold;
            background: #640a0a;
            color: #fff; }

ul.menu_posts li {
  box-sizing: border-box;
  padding: 10px;
  position: relative;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  margin-bottom: 10px; }
  ul.menu_posts li.greyout {
    background: #ddd;
    box-shadow: none; }
  ul.menu_posts li div.menu_left {
    float: left;
    width: 30%; }
  ul.menu_posts li div.menu_right {
    float: right;
    width: 67%; }
    ul.menu_posts li div.menu_right p.menu_title {
      padding: 18px 0 10px;
      font-weight: bold; }
    ul.menu_posts li div.menu_right img.stockout {
      width: 50px;
      float: left; }
    ul.menu_posts li div.menu_right p.price {
      padding-right: 5px; }

ul.for1st li {
  margin-bottom: 20px;
  border: 1px solid #98804d;
  border-radius: 5px; }
  ul.for1st li a {
    font-size: 14px;
    padding: 15px;
    text-decoration: none;
    display: block;
    line-height: 1.6; }
    ul.for1st li a img {
      display: block;
      margin: 0 auto;
      width: 75px; }
    ul.for1st li a h4 {
      line-height: 1.7;
      font-size: 20px;
      text-align: center;
      margin: 10px 0 15px; }

@media (min-width: 768px) {
  img.pc_right {
    float: right;
    width: 40%;
    padding: 0 0 30px 25px; }

  img.pc_left {
    float: left;
    width: 40%;
    padding: 0 25px 30px 0; }

  header#fixed_header {
    height: 120px; }
    header#fixed_header .logo img {
      transition: .5s;
      margin: 20px 0 0 40px;
      float: left;
      height: 100px; }
    header#fixed_header ul.header_menu {
      margin-right: 50px;
      height: 80px;
      float: right; }
      header#fixed_header ul.header_menu li {
        float: left; }
      header#fixed_header ul.header_menu li a {
        transition: .5s;
        position: relative;
        height: 35px;
        padding-top: 40px;
        margin: 0 0 0 50px;
        text-decoration: none;
        display: block;
        color: #fff;
        font-size: 24px;
        font-style: italic;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.9); }
      header#fixed_header ul.header_menu li a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 3px;
        background: #fff;
        transform: scale(0, 1);
        transform-origin: center top;
        transition: transform .5s; }
      header#fixed_header ul.header_menu li a:hover::after
      , header#fixed_header ul.header_menu li.current_page_item a::after {
        transform: scale(1, 1); }
    header#fixed_header ul.bogo-language-switcher {
      transition: .5s;
      position: absolute;
      right: 20px;
      top: 38px;
      display: inline-block;
      font-size: 16px;
      border: 1px solid #fff;
      padding: 2px 10px;
      border-radius: 2px; }
      header#fixed_header ul.bogo-language-switcher .current {
        display: none; }
      header#fixed_header ul.bogo-language-switcher a {
        text-decoration: none;
        color: #fff; }
      header#fixed_header ul.bogo-language-switcher a:before {
        content: "\f0ec";
        font-family: FontAwesome;
        padding-right: 5px; }

  header#fixed_header.scrollon {
    height: 80px; }
    header#fixed_header.scrollon .logo img {
      margin: 5px 0 0 20px;
      height: 70px; }
    header#fixed_header.scrollon ul.header_menu li a {
      padding-top: 35px;
      font-size: 20px; }
    header#fixed_header.scrollon ul li a::after {
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#a3733e+0,ffb882+50,a3733e+100 */
      background: #a3733e;
      /* Old browsers */
      background: -moz-linear-gradient(left, #a3733e 0%, #ffb882 50%, #a3733e 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(left, #a3733e 0%, #ffb882 50%, #a3733e 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right, #a3733e 0%, #ffb882 50%, #a3733e 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3733e', endColorstr='#a3733e',GradientType=1 );
      /* IE6-9 */ }
    header#fixed_header.scrollon ul.bogo-language-switcher {
      top: 34px; }

  /*
      dl.home_info{
          margin-bottom: 20px;
  
          dt{
              font-size    : 16px;
              padding      : 20px 0;
              margin-bottom: 20px;
              clear        : both;
              width        : 20%;
              float        : left;
              color        : #fff;
              text-align   : center;
              font-weight  : normal;
              font-style   : italic;
          }
          dd{
              margin-bottom: 1%;
              width        : 76%;
              padding      : 20px 2%;
              float        : right;
              background   : #fff;
              box-shadow   : 0 0 3px rgba(0,0,0,0.3);
          }
      }
  */
  ul.home_feature li.ft_left
  , ul.home_feature li.ft_right {
    width: 50%; }

  ul.home_feature li.ft_left {
    float: left; }

  ul.home_feature li.ft_right {
    float: right; }

  ul.home_feature li .ft_text {
    padding: 50px 50px 0; }

  ul.home_feature li .ft_text a.more {
    font-size: 16px;
    display: inline-block;
    padding: 10px 30px; }

  ul.menus {
    margin: 0 0 0 -3%; }
    ul.menus li.col3 {
      width: 30.3%;
      float: left;
      margin: 0 0 3% 3%; }
    ul.menus li.col2 {
      width: 47%;
      float: left;
      margin: 0 0 3% 3%; }

  table.common, table.recruit {
    border-collapse: separate;
    border-spacing: 5px; }
    table.common th, table.recruit th {
      padding: 15px;
      width: 30%;
      font-size: 20px; }
    table.common td, table.recruit td {
      padding: 15px;
      width: 70%; }

  ul.lineup {
    margin-left: -1%; }
    ul.lineup li {
      float: left;
      width: 19%;
      margin: 0 0 1% 1%;
      position: relative; }
      ul.lineup li span {
        line-height: 1;
        font-family: "Noto Sans JP", sans;
        font-size: 10px;
        display: block;
        position: absolute;
        bottom: 0;
        width: 100%;
        box-sizing: border-box;
        padding: 10px;
        color: #fff;
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+39,000000+100&0+0,0.65+39,1+100 */
        background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 39%, black 100%);
        /* FF3.6-15 */
        background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 39%, black 100%);
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 39%, black 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
        /* IE6-9 */ }

  #cat_narrow.fixed {
    postion: -webkit-sticky;
    position: sticky;
    z-index: 9998;
    transform: translateY(-20px); }
    #cat_narrow.fixed h3 {
      border-radius: 0; }
    #cat_narrow.fixed nav {
      background: #fff; }

  ul.menu_posts {
    margin: 0 0 0 -1%;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
    ul.menu_posts li {
      width: 49%;
      margin: 0 0 1% 1%; }
      ul.menu_posts li div.etc {
        float: right;
        width: 67%;
        font-size: 14px;
        border-top: 1px dotted #640a0a;
        margin-top: 10px;
        padding-top: 10px; }

  ul.for1st {
    display: flex;
    margin: 0 0 25px -2.5%; }
    ul.for1st li {
      width: 47.5%;
      margin-left: 2.5%; }
      ul.for1st li a {
        padding: 25px;
        text-align: center; }

  .mem_merit .case {
    display: flex;
    flex-wrap: wrap; }
    .mem_merit .case > div {
      position: relative;
      box-sizing: border-box; }
      .mem_merit .case > div img {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 60px; }
      .mem_merit .case > div.case_v {
        width: 50%;
        background: url("../images/eg_arrow.png") no-repeat right center/5%;
        padding: 0 5% 0 80px; }
      .mem_merit .case > div.case_m {
        width: 50%;
        padding: 0 0 0 80px; }

  ul.fixed_footer {
    display: none !important; } }
@media (max-width: 979px) {
  section#home_sec_info {
    background-attachment: scroll; }

  footer {
    background-size: cover; } }
@media (max-width: 767px) {
  .sp_only {
    display: inline; }

  .sp_center {
    text-align: center; }

  .pc_only {
    display: none; }

  img.pc_right
  , img.pc_left {
    float: none;
    width: 100%;
    padding: 0 0 20px; }

  section#main
  , section.home_sec {
    padding: 25px 15px; }

  section#home_sec_concept .paper .concept_txt {
    font-size: 14px;
    line-height: 180%;
    text-align: left;
    padding: 15px 15px 0; }

  header#fixed_header
  , #fixed_end {
    height: 70px; }

  header#fixed_header {
    transition: .5s;
    background-size: auto 15px; }
    header#fixed_header .logo {
      text-align: center; }
    header#fixed_header .logo img {
      float: none;
      margin: 8px 0 0;
      height: 60px; }
    header#fixed_header a#menu_bars {
      text-decoration: none;
      display: block;
      cursor: pointer;
      padding-top: 5px;
      height: 45px;
      width: 50px;
      position: absolute;
      top: 0;
      left: 0;
      color: #fff;
      text-align: center;
      font-size: 12px;
      line-height: 150%; }
    header#fixed_header a#menu_bars i#menu_close
    , header#fixed_header a.menu_bars_close i#menu_open {
      display: none; }
    header#fixed_header a.menu_bars_close i#menu_close {
      display: block !important; }
    header#fixed_header a#sp_1st {
      text-decoration: none;
      display: block;
      cursor: pointer;
      padding-top: 6px;
      height: 44px;
      width: 100px;
      position: absolute;
      top: 0;
      right: 10px;
      color: #fff;
      text-align: right;
      font-size: 10px;
      line-height: 2; }
    header#fixed_header a#menu_bars i
    , header#fixed_header a#sp_1st i {
      font-size: 26px;
      margin-top: 11px;
      display: block; }
    header#fixed_header ul.bogo-language-switcher {
      text-align: center;
      position: absolute;
      right: 10px;
      top: 20px;
      display: inline-block;
      font-size: 12px; }
      header#fixed_header ul.bogo-language-switcher .current {
        display: none; }
      header#fixed_header ul.bogo-language-switcher a {
        text-decoration: none;
        color: #fff; }
      header#fixed_header ul.bogo-language-switcher a:before {
        display: block;
        content: "\f0ec";
        font-family: FontAwesome;
        font-size: 24px;
        margin-bottom: 1px; }
    header#fixed_header ul.header_menu {
      display: none;
      height: auto;
      float: none;
      border: none;
      position: fixed;
      margin-top: 10px;
      top: 60px;
      left: 3%;
      width: 94%;
      background: rgba(120, 90, 50, 0.9);
      border: 1px solid #98804d;
      border-radius: 5px; }
      header#fixed_header ul.header_menu li a {
        display: block;
        padding: 15px 0;
        color: #fff;
        border: solid #98804d;
        border-width: 1px 0 0 0;
        text-align: center;
        text-decoration: none; }
      header#fixed_header ul.header_menu li:first-child a {
        border-width: 0; }

  footer .footer_payment img {
    width: 60px;
    margin: 0; }

  div.tags a {
    font-size: 10px;
    padding: 2px 8px; }

  ul.gal2
  , ul.gal3 {
    margin: 0 0 20px 0; }

  ul.gal2 li
  , ul.gal3 li {
    float: none;
    width: 100%;
    margin: 0 0 10px 0; }

  section#breadcrumb {
    padding: 5px 15px;
    font-size: 12px; }

  section#pagetitle {
    padding: 80px 0 15px; }

  section#pagetitle h1
  , section#pagetitle p {
    padding: 20px 15px;
    font-size: 20px; }

  section#pagetitle h1 span
  , section#pagetitle p span {
    font-size: 12px; }

  ul.recommend li {
    float: left;
    width: 48%;
    margin: 0 0 8px 2%; }
  ul.recommend li:nth-child(2n+1) {
    clear: both; }

  h3.common span.en {
    font-size: 30px;
    background-size: auto 35px;
    padding: 0 40px 15px; }
  h3.common span.jp {
    font-size: 12px; }

  .single-post h1.post-title {
    padding: 15px;
    font-size: 18px; }
    .single-post h1.post-title.nothumbnail {
      padding: 30px 15px 15px; }
  .single-post .date {
    padding: 0 15px 25px; }
  .single-post img.stockout {
    margin-left: 15px; }
  .single-post .single-post-content {
    padding: 15px;
    line-height: 180%;
    font-size: 14px; }

  ul.gallery {
    margin-left: -2%; }
    ul.gallery li {
      width: 48%;
      margin: 0 0 2% 2%; }

  dl.home_info {
    margin-bottom: 10px; }
    dl.home_info dt {
      font-size: 14px;
      padding: 5px 10px 5px 25px;
      color: #fff;
      font-weight: normal; }
    dl.home_info dd {
      padding: 10px 15px;
      margin-bottom: 15px;
      background: #fff;
      font-size: 14px; }

  a#totop img {
    width: 50px; }

  section#home_cover h2 {
    font-size: 20px;
    line-height: 200%;
    letter-spacing: .2em; }

  ul.home_feature li .ft_text {
    padding: 15px; }
    ul.home_feature li .ft_text h3 {
      font-size: 25px; }

  .single-page {
    font-size: 16px;
    padding: 25px !important; }

  ul.menus h4 {
    font-size: 30px; }
  ul.menus dl {
    padding: 0 10px 30px; }

  table.common th, table.recruit th, table.common td, table.recruit td {
    display: block;
    padding: 5px 15px;
    line-height: 1.6; }
  table.common th, table.recruit th {
    text-align: center; }
  table.common td, table.recruit td {
    padding: 10px 15px; }

  table.recruit th, table.recruit td {
    display: block;
    padding: 2px 10px;
    text-align: left;
    line-height: 1.8;
    font-size: 14px; }
  table.recruit td {
    padding: 15px; }

  ul.arrow li {
    padding: 0 0 0 10px;
    font-size: 14px; }

  ul.lineup {
    margin-left: -2%; }
    ul.lineup li {
      float: left;
      width: 48%;
      margin: 0 0 2% 2%;
      position: relative; }
      ul.lineup li span {
        display: none; }

  #cat_narrow {
    padding: 0 0 15px; }
    #cat_narrow h3 {
      font-size: 12px; }
    #cat_narrow nav {
      padding: 10px 10px 0 10px; }
      #cat_narrow nav ul.children li a {
        font-size: 12px !important; }

  ul.menu_posts li div.menu_right p.menu_title {
    font-size: 16px; }
  ul.menu_posts li div.etc {
    clear: both;
    font-size: 12px;
    padding-top: 10px; }

  .mem_merit {
    margin: 0 -15px 25px; }
    .mem_merit h4 {
      font-size: 1em;
      line-height: 1.5; }
      .mem_merit h4 span {
        display: block; }
    .mem_merit .case table {
      font-size: .8em; }
    .mem_merit .case > div {
      box-sizing: border-box; }
      .mem_merit .case > div img {
        display: block;
        width: 100px;
        margin: auto; }
      .mem_merit .case > div.case_v {
        background: url("../images/eg_arrow_sp.png") no-repeat center bottom/auto 40px;
        padding: 0 0 50px 0; }
      .mem_merit .case > div.case_m {
        padding: 0; }

  section#home_sec_message h3 {
    font-size: 1.1em;
    margin-bottom: 15px; }
    section#home_sec_message h3 span {
      margin-top: 10px; }
  section#home_sec_message .msg {
    padding: 15px; }
    section#home_sec_message .msg p {
      padding-bottom: 15px; }

  ul.fixed_footer {
    animation: footerIn 1s ease 1s 1 backwards;
    background: #640a0a;
    border-top: 1px solid #fff;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-family: "Noto Sans JP", sans;
    display: flex;
    flex-wrap: wrap; }
    ul.fixed_footer li {
      width: 50%; }
      ul.fixed_footer li a {
        box-sizing: border-box;
        display: block;
        height: 55px;
        font-weight: bold;
        letter-spacing: .2em;
        text-decoration: none;
        font-size: 1.1em;
        line-height: 1.5; }
        ul.fixed_footer li a small {
          font-weight: normal;
          display: block;
          font-size: 10px; }
      ul.fixed_footer li:first-child a {
        background: url("../images/line.png") no-repeat left 15px center/auto 60%;
        padding: 8px 0 0 15%; }
      ul.fixed_footer li:last-child a {
        background: url("../images/tel.png") no-repeat right 15px center/auto 60%;
        border-left: 1px solid #fff;
        padding: 8px 15% 0 0; }

  img.footer_guest_meter {
    bottom: 60px;
    transform: translateY(0);
    width: 40px; } }

/*# sourceMappingURL=base.css.map */
