@charset "UTF-8";
/*使用する文字コード*/
/* フォント読み込み */
@import url("https://fonts.googleapis.com/css?family=Oswald:400,700");
@import url(http://fonts.googleapis.com/css?family=Archivo+Narrow);
/* =============== NEW_SP ==================== */
/* 共通設定 */
/* Android 4系一部の機種(デフォルトブラウザ)でブロック要素の幅が100％に広がらないバグの対応 */
div,
p {
  background-color: rgba(255, 255, 255, 0.01);
}

img {
  vertical-align: bottom;
}

body {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  line-height: 1.5em;
  margin: 0;
  padding: 0;
  word-break: break-all;
  font-size: 13px;
  color: #241916;
  -webkit-text-size-adjust: 100%;
  background-image: url("/cmn/images/bg_body.jpg");
  background-repeat: repeat;
}

#contents .entryBody,
#contents .entryMore,
#contents .inner {
  padding: 10px;
  overflow: hidden;
  max-width: 640px;
  margin: 0 auto;
}

#contents .entryBody .imageBox {
  text-align: center;
}

#contents .entryBody img,
#contents .entryMore img,
#contents .inner img {
  margin: 0 auto 10px;
  max-width: 100%;
  height: auto;
}

/* =============== ウィジウィグで入れた画像のセンタリング ==================== */
.image-none {
  display: block;
  margin: 0 auto 10px;
}

.image-left {
  display: block;
  margin: 0 auto 10px;
}

.image-right {
  display: block;
  margin: 0 auto 10px;
}

.image-center {
  display: block;
  margin: 0 auto 10px;
}

a,
a:hover,
a:visited {
  color: #241916;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

#contents .entryBody a,
#contents .entryMore a,
#contents .inner a {
  text-decoration: underline;
}

#contents .entryBody .btn a,
#contents .entryMore .btn a,
#contents .inner .btn a {
  text-decoration: none;
}

.btn a:hover {
  -webkit-tap-highlight-color: transparent;
}

#contents .entryBody h2,
#contents .entryBody h3,
#contents .entryBody h4,
#contents .entryMore h2,
#contents .entryMore h3,
#contents .entryMore h4,
#contents .inner h2,
#contents .inner h3,
#contents .inner h4 {
  margin: 0 0 10px;
}

h4,
h5,
p,
table {
  margin: 0 0 10px;
}

h2 {
  font-size: 16px;
  padding: 15px 10px;
  margin: 0;
}

h3 {
  font-size: 16px;
  padding: 10px;
  margin: 0;
}

h4 {
  font-size: 14px;
  padding: 5px 10px;
  margin-bottom: 10px;
}

ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

table {
  width: 100%;
  border-collapse: collapse;
}

br.clear {
  clear: both;
}

.mr0 {
  margin-right: 0 !important;
}

/* clearfix */
.cf:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.cf {
  min-height: 1px;
  _height: 1px;
}

/* =============== icon設定 ==================== */
/* 共通 */
.fa-caret-right:before,
DIV#copyrightArea .fa-desktop:before,
DIV#footerTop .fa-angle-up:before,
DIV#footerTop .fa-home:before,
P.btn .fa-question-circle:before,
nav.show .fa-angle-right:before,
nav.show i {
  padding: 0 5px 0 0;
}

/* header */
.fa-bars,
.fa-times {
  display: block !important;
}

/* ==================== 色変更箇所 ==================== */
/* 共通要素 */
h2 {
  text-align: center;
  color: #333;
  background-image: url("/cmn/images/bg_h2.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  margin-bottom: 10px;
}

h3 {
  background: #241916;
  color: #fff;
}

h3 a {
  color: #fff;
}

h4 {
  background: #f9f9f9;
}

td,
th {
  padding: 10px;
  border-top: 1px solid #d4cebd;
  border-bottom: 1px solid #d4cebd;
}

th {
  background-color: #f7f4ec;
  width: 25%;
  text-align: left;
}

td {
  background-color: #fff;
}

.caution {
  color: #C33737;
}

/* icon色変更 */
nav.show p i {
  color: #aaa;
}

DIV#headerIcon .fa-envelope-o:before,
DIV#headerIcon .fa-phone:before {
  color: #241916;
}

/* カテゴリー吐き出しh3・h4 */
aside.categoryList h3 {
  background: #fff;
  color: #333;
}

aside#galleryCatList H4 {
  background-color: transparent;
}

#contents .categoryTopList li div span:before {
  color: #333;
}

#galleryList li h3,
#galleryList li h4 {
  color: #333;
}

#galleryList li h4 a {
  color: #333;
}

/* グローバルメニュー背景色 */
nav {
  background-color: #241916;
}
nav div,
nav p {
  background-color: #241916;
}

#menuClose {
  background: #000;
}

/* 1つ目のボタン */
.btn .typeA {
  background-color: #241916;
  color: #FFF;
}

.btn .typeA.tapStyle {
  top: 2px;
}

/* 2つ目のボタン */
.btn .typeB {
  background-color: #fff;
  color: #000;
}

.btn .typeB.tapStyle {
  top: 2px;
}

/* 3つ目のボタン */
.btn .typeC {
  color: #333;
  border: 1px solid #ccc;
  background: #fcfcfc;
  background: -moz-linear-gradient(top, #fcfcfc 0%, #e5e5e5 50%, #efefef 99%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fcfcfc), color-stop(50%, #e5e5e5), color-stop(99%, #efefef));
  background: -webkit-linear-gradient(top, #fcfcfc 0%, #e5e5e5 50%, #efefef 99%);
  background: linear-gradient(to bottom, #fcfcfc 0%, #e5e5e5 50%, #efefef 99%);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.9);
}

.btn .typeC.tapStyle {
  box-shadow: 0 0 5px rgba(100, 100, 100, 0.5) inset;
  background: #e5e5e5;
}

/* フッターエリア */
#footerBnr p {
  background-color: #eee;
}

DIV#footerTop P#siteTop {
  color: #000 !important;
  border: 1px solid #ddd;
}

P#pageTop {
  color: #000 !important;
  border: 1px solid #ddd;
}

DIV#footerSns P#SnsTitle {
  color: #909090;
}

DIV#footerSns P#SnsTitle SPAN {
  color: #898989;
}

DIV#footerSns {
  border-top: 1px solid #EEE;
}

DIV#footerMenu UL LI {
  color: #808080;
  border-right: 1px solid #aaa;
}

/* コピーライト */
#pcsite {
  background-color: #eee;
  color: #000 !important;
}

DIV#copyrightArea P#copyright {
  color: #fff;
}

/* ブログ吐き出し */
#contents .categoryTopList li span.logoEnpty,
#contents .entryList li span.logoEnpty,
.topLatestBlog li span.logoEnpty {
  background-color: #eee;
}

#contents .entryList li div span,
.topLatestBlog li div span,
.topLatestBlogTxt li span {
  background: #333;
  color: #fff;
}

.topLatestBlog li p {
  display: none;
}

.topLatestBlog li p.new {
  background: none;
  padding-left: 0.5em;
  font-size: bold;
  color: #000 !important;
}

/* ブログ吐き出しタイトル */
#contents .categoryTopList h3 {
  color: #333;
}

#contents .entryList li a div h3,
.topLatestBlog li a div h3,
.topLatestBlogTxt li a h3 {
  color: #333;
}

/* ブログ吐き出しタイトル（日付） */
#contents .entryList li div time,
.topLatestBlog li div time {
  color: #AAA;
}

/* ページング */
#contents .paging {
  background: #eee;
}

#contents .paging .current_page {
  padding: 5px;
  line-height: 10px;
  border-radius: 4px;
  background: #ccc;
  display: inline-block;
}

#swipeImage #swipeImagePosition li,
#swipeSlider #swipeSliderPosition li,
.swipeImageStyle .swipeImageStylePosition li {
  color: #ccc;
}

#swipeImage #swipeImagePosition li.swipeImageOn,
#swipeSlider #swipeSliderPosition li.swipeImageOn,
.swipeImageStyle .swipeImageStylePosition li.swipeImageOn {
  color: #333;
}

/** お問い合せページ button**/
input[type=button] {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  background-color: #4d4d4d;
  color: #FFF;
}

input[type=button]:hover {
  color: #FFF;
  border-color: #CECECE;
  background: linear-gradient(top, #f4f4f4 0%, #f2f2f2 100%);
}

/* スタッフ カテゴリーボタンカラー*/
SPAN.category {
  background: #333;
  color: #fff;
}

H3.categoryName {
  background: transparent;
}

UL#staffCatList LI.top A,
UL#staffCatListBottom LI.top A {
  background-color: #4d4d4d;
  color: #FFF;
}

/* カテゴリーリスト */
aside.categoryList li i.fa-angle-right {
  position: absolute;
  top: 50% !important;
  right: 3%;
  margin-top: -5px;
}

aside.categoryList li i.fa-caret-right {
  position: absolute;
  top: 50% !important;
  left: 2%;
  margin-top: -7px;
}

/* =============== ヘッダー ==================== */
header {
  padding: 0 10px;
  overflow: hidden;
  min-height: 60px;
}

h1#logo a {
  display: block;
  padding-top: 2px;
}

h1#logo img {
  width: 80px;
}

#headerIcon p {
  margin: 0;
  text-align: center;
}

#headerIcon p a {
  display: block;
  padding: 9px 11px 10px;
}

#headerIcon #navBtn {
  position: fixed;
  top: 0;
  right: 0;
  font-family: "Archivo Narrow", sans-serif;
  z-index: 2;
}

#headerIcon #navBtn a {
  font-size: x-small;
  line-height: 1.2;
  padding: 16px 20px 15px 15px;
  color: #241916;
}

#headerIcon .reservation,
#headerIcon .tel {
  position: absolute;
  top: 10px;
}

#headerIcon .tel {
  right: 60px;
}

#headerIcon .reservation {
  right: 100px;
  line-height: 1.6;
  font-size: 10px;
}
#headerIcon .reservation i {
  font-size: 18px;
}
#headerIcon .reservation a {
  color: #241916;
}

#headerIcon .mail a {
  padding-top: 7px;
}

nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  width: 90%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

nav.hide {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

nav.show {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: translate3d(0%, 0, 0);
  -moz-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

nav #wrap {
  height: 100%;
  overflow-y: auto;
  padding-bottom: 15px;
}

nav ul {
  padding: 0 0 20px;
}

nav li a {
  display: block;
  border-bottom: 1px solid #443b39;
  padding: 16px 16px 16px 40px;
  font-size: 16px;
  color: #fff !important;
  text-indent: -0.5em;
}

nav li:first-child a {
  padding: 23px 16px 24px 40px;
}

nav p a {
  color: #fff;
}

nav .mail a {
  font-size: 16px;
}

nav .tel a {
  font-size: 18px;
}

nav .reservation a {
  font-size: 16px;
}

#menuClose {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

/* ==================== トップページ ==================== */
#catchArea {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

#catchArea img {
  width: 100% !important;
  vertical-align: bottom;
}

/*Slider メインイメージ*/
#catchArea #swipeImage a.catchSwipe i {
  top: 50%;
  margin-top: -23px;
  position: absolute;
  padding: 10px;
}

#catchArea #swipeImage a.catchSwipe #on {
  margin-top: -42px;
}

#catchArea #swipeImage a.catchSwipe .fa-angle-left {
  left: 1%;
}

#catchArea #swipeImage a.catchSwipe .fa-angle-right {
  right: 1%;
}

/*JavaScript メインイメージ*/
#catchArea #jsMainImg {
  width: 100% !important;
}

/*
body#topPage #contents img {
	display: block;
	max-width: 320px;
	width: 50%;
	height: auto;
	margin: 0 0 10px 10px;
	float: right;
}*/
/* ボタン */
.btn a {
  display: block;
  width: 80%;
  max-width: 600px;
  margin: 0 auto 23px;
  padding: 10px;
  font-size: 13px;
  border-radius: 4px;
  text-align: center;
  position: relative;
  top: 0;
}
.btn a i {
  padding-right: 5px;
}

.btn .w_full {
  width: 100%;
  box-sizing: border-box;
}

#topPage h2 {
  max-width: 640px;
  margin: 0 auto 20px;
}
#topPage h2 img {
  max-width: 640px;
  width: 100%;
}

.top_concept {
  margin: 40px 0 20px;
}
.top_concept img {
  max-width: 640px;
  width: 100%;
  display: block;
  margin: 0 auto;
}

.top_gallery {
  background-image: url("/cmn/images/bg_gallery.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 64px;
  max-width: 640px;
  margin: 0 auto;
}
.top_gallery img {
  max-width: 640px;
  width: 100%;
}

/* ==================== フッター ==================== */
footer {
  background-image: url("/cmn/images/bg_footer.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  padding-top: 40px;
}

.footer_btn {
  margin-top: 20px;
  padding: 0 10px;
  font-size: 12px;
}
.footer_btn div {
  background-color: transparent;
}
.footer_btn img {
  width: 18px;
  margin-right: 5px;
  vertical-align: middle;
}
.footer_btn a {
  display: block;
  background-color: #fff;
  border: solid 1px #dcd6d0;
  padding: 10px 0;
  vertical-align: middle;
}
.footer_btn a i {
  font-size: 18px;
  padding-right: 5px;
  vertical-align: middle;
}

#social {
  display: table;
  width: 90%;
  margin: 0 auto 20px;
}

#social div {
  width: 30%;
  text-align: center;
  display: table-cell;
  margin: 0 10px;
  vertical-align: top;
}

/* フッターバナー */
#footerBnr {
  width: 100%;
  display: table;
}

#footerBnr p {
  margin: 0;
  text-align: center;
  width: 50%;
  display: table-cell;
  vertical-align: middle;
}

#footerBnr p a {
  padding: 10px;
  display: block;
}

#footerBnr p:first-child a {
  border-right: 1px solid #fff;
}

/* フッタートップ */
DIV#footerTop {
  padding: 15px 10px 10px;
  overflow: hidden;
}

DIV#footerTop P#siteTop {
  float: left;
  display: inline-block;
  padding: 0;
  border-radius: 2px;
  text-decoration: none;
  width: 46%;
  text-align: center;
  font-size: 11px;
  margin: 0;
}

P#pageTop {
  float: right;
  display: inline-block;
  padding: 0;
  border-radius: 2px;
  text-decoration: none;
  width: 46%;
  text-align: center;
  font-size: 11px;
  margin: 0;
}

P#pageTop A,
P#siteTop A {
  display: block;
  padding: 5px 15px;
}

DIV#footerSns P#SnsTitle {
  text-align: center;
  margin: 0;
  padding: 10px 0 0;
  font-size: 12px;
}

DIV#footerSns P#SnsTitle SPAN {
  font-family: 'Archivo Narrow', sans-serif;
  letter-spacing: 0.1em;
  font-size: small;
}

DIV#footerSns {
  margin: 0 auto;
  width: 100%;
}

DIV#footerSns UL {
  list-style: none;
  width: 90%;
  padding: 10px 0 15px;
  margin: 0 auto;
  overflow: hidden;
}

DIV#footerSns UL LI {
  float: left;
  width: 33.33333%;
  margin: 0 auto;
  text-align: center;
  padding: 0;
}

/* フッターメニュー */
DIV#footerMenu UL {
  line-height: 2em;
  text-align: center;
  padding: 0 0 10px;
}

DIV#footerMenu UL LI {
  display: inline-block;
  font-size: 11px;
  padding-right: 5px;
  line-height: 10px;
}

DIV#footerMenu UL LI:last-child {
  border-right: none;
  padding-right: 0;
}

/* コピーライト */
DIV#copyrightArea {
  padding: 10px;
  overflow: hidden;
}

#pcsite {
  float: right;
  display: inline-block;
  border-radius: 2px;
  text-decoration: none;
  margin: 0;
  font-size: 11px;
}

#pcsite A {
  display: block;
  padding: 5px 15px;
}

DIV#copyrightArea P#copyright {
  margin: 0;
  padding: 5px 0;
  font-size: 13px;
}

/* ==================== 下層ページ ==================== */
#contents .categoryTopList,
#contents .entryList ul,
.topLatestBlog ul,
.topLatestBlogTxt ul {
  margin-bottom: 20px;
}

#contents .categoryTopList li,
#contents .entryList li,
.topLatestBlog li,
.topLatestBlogTxt li {
  border-bottom: 1px solid #ddd;
  width: 100%;
}

#contents .categoryTopList li a,
#contents .entryList li a,
.topLatestBlog li a,
.topLatestBlogTxt li a {
  display: block;
  max-width: 620px;
  padding: 10px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}

.categoryTopList li a i.fa-angle-right,
.topLatestBlog li a i.fa-angle-right,
.topLatestBlogTxt li a i.fa-angle-right,
ul.entryList li i.fa-angle-right {
  position: absolute;
  top: 50% !important;
  right: 4%;
  margin-top: -9px;
}

#contents .categoryTopList li img,
#contents .categoryTopList li span.logoEnpty,
#contents .entryList li .left,
#contents .entryList li img,
#contents .entryList li span.logoEnpty,
.topLatestBlog li img,
.topLatestBlog li span.logoEnpty {
  float: left;
  width: 25%;
  height: auto;
}

#contents .entryList li .left img,
#contents .entryList li .left span.logoEnpty {
  float: none;
  width: 100%;
  margin-bottom: 5px;
  padding: 0;
}

#contents .entryList li .left p {
  font-size: 11px;
  text-align: center;
  line-height: 1.3;
}

#contents .categoryTopList li span.logoEnpty,
#contents .entryList li span.logoEnpty,
.topLatestBlog li span.logoEnpty {
  min-height: 75px;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 60px auto;
}

#contents .categoryTopList li div,
#contents .entryList li div,
.topLatestBlog li div {
  float: right;
  margin: 0;
  padding: 0 5% 0 0;
  width: 65%;
}

#contents .categoryTopList h3,
#contents .entryList li div h3,
.topLatestBlog li div h3,
.topLatestBlogTxt li h3 {
  background: none;
  padding: 0;
}

#contents .entryList li div time,
.topLatestBlog li div time {
  font-family: 'Archivo Narrow', sans-serif;
  padding: 0 5px 0 0;
  vertical-align: sub;
  letter-spacing: 0.7px;
  font-size: 14px;
  margin: 0 0 5px;
}

#contents .entryList li div span,
.topLatestBlog li div span,
.topLatestBlogTxt li span {
  display: inline-block;
  padding: 2px 5px;
  font-size: 11px;
  border-radius: 2px;
  margin: 0 5px 5px 0;
  line-height: 1.3;
}

/* ==================== ブログNEWマーク表示 ==================== */
/* 時間によって表示 */
.topLatestBlog li strong span {
  display: none;
}

.topLatestBlog li strong span.new {
  font-weight: bold;
  color: #000 !important;
  background: none !important;
}

#contents .entryList li div strong span,
#contents .entryList li div strong span.new {
  display: none !important;
}

/* 時間によって表示 End */
/* 最新の1件を表示
.topLatestBlog li:not(:first-child) strong span.new,
#contents .entryList li div strong span.new{
	display:none !important;
}
.topLatestBlog li:first-child strong span.new{
	font-weight:bold;
	color:#000 !important;
	background:none !important;
}
最新の1件を表示 End */
/* ==================== ブログNEWマーク表示 End ==================== */
/* ==================== ギャラリーNEWマーク表示 ==================== */
/* ★時間によってNEWマーク*/
#swipeImage60 li .topLatestBlogPhotoImage {
  position: relative;
  overflow: hidden;
  max-width: 200px;
  margin: 0 auto;
}

#swipeImage60 li span {
  display: none;
}

#swipeImage60 li ul li span.new {
  font-weight: bold;
  left: -30%;
  line-height: 30px;
  text-align: center;
  top: 6%;
  width: 100%;
  position: absolute;
  text-align: center;
  background: #000;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  font-family: 'Helvetica Neue', Helvetica, Verdana, Arial, sans-serif;
  color: #FFFFFF;
  max-width: 200px;
}

/*★時間によってNEWマーク End*/
/* ★最新の1件だけNEWマーク
#swipeImage60 li .topLatestBlogPhotoImage{
	position:relative;
	overflow: hidden;
	max-width: 200px;
	margin: 0 auto;
}
#swipeImage60 li:not(:first-child) span{
  display:none;
}
#swipeImage60 li:first-child span.new {
   font-weight: bold;
   left: -30%;
   line-height: 30px;
   text-align: center;
   top: 6%;
   width: 100%;
   position: absolute;
   text-align: center;
   background: #000;
   -webkit-transform: rotate(-45deg);
   -moz-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
    font-family: 'Helvetica Neue', Helvetica, Verdana, Arial, sans-serif;
    color:#FFFFFF;
	max-width: 200px;
}
★最新の1件だけNEWマーク End*/
/* ==================== ギャラリーNEWマーク表示 End ==================== */
#contents .entryList li div p,
.topLatestBlog li div p,
.topLatestBlogTxt li p {
  margin: 0;
}

#contents .categoryTopList li div span:before {
  display: inline-block;
  font-size: 14px;
  padding: 0 5px 0 0;
}

#galleryList ul {
  width: 98%;
  display: -webkit-box;
  /* Android 2~4 */
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  box-pack: justify;
  /* Android 2~4 */
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between;
  margin: 0;
  padding: 2% 1% 0;
}

#galleryList li {
  width: 48%;
  padding: 1%;
  text-align: center;
}

#galleryList li h3,
#galleryList li h4 {
  background: none;
  padding: 0;
  font-size: 12px;
  line-height: 1.3;
}

#galleryList li img {
  width: 100%;
  max-width: 300px;
  height: auto;
  margin-bottom: 6px;
}

aside.categoryList {
  max-width: 640px;
  margin: 0 auto 20px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

aside.categoryList h3 {
  border-left: 5px solid #333;
  padding: 10px 10px 10px 15px;
  margin: 0;
}

aside.categoryList li a {
  display: block;
  border-top: 1px solid #ddd;
  padding: 10px 20px;
  position: relative;
}

aside.categoryList li span {
  margin-right: 5px;
}

#contents .paging {
  padding: 10px;
  margin: 0 0 20px;
}

/* スタッフページ */
DIV.punctuation {
  border-bottom: 1px #DDD solid !important;
  margin-bottom: 20px !important;
}

/* ギャラリー */
#contents .galleryTitle {
  margin: 0;
}

#galleryCatList,
#galleryTopList,
.topLatestBlogPhoto {
  width: 100%;
  margin: 0 auto 10px;
}

#galleryCatList ul,
#galleryTopList ul,
.topLatestBlogPhoto ul {
  overflow: hidden;
  padding: 0;
  margin: 0;
}

#galleryCatList li,
#galleryTopList li,
.topLatestBlogPhoto li {
  list-style: none;
}

#galleryCatList li ul,
#galleryTopList li ul,
.topLatestBlogPhoto li ul {
  margin: 0;
  padding: 2% 2% 0;
}

#galleryCatList li ul li,
#galleryTopList li ul li,
.topLatestBlogPhoto li ul li {
  float: left;
  width: 32%;
  margin: 0 2% 0 0;
  text-align: center;
}

#galleryCatList li a,
#galleryTopList li a,
.topLatestBlogPhoto li a {
  display: block;
}

#galleryCatList li img,
#galleryTopList li img,
.topLatestBlogPhoto li img {
  max-width: 200px;
  margin-bottom: 5px;
}

.galleryEntryFirst {
  padding: 2% 10% 0;
  text-align: center;
}

.galleryEntryFirst img {
  margin-bottom: 5px;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  max-height: 200px;
}

#galleryCatList li h4,
#galleryTopList li h4,
.galleryEntryFirst h4,
.topLatestBlogPhoto li h4 {
  font-size: 12px;
  line-height: 1.3;
  background: none;
}

#swipeSlider {
  position: relative;
}

#beforeAfterGallery #swipeSlider li,
#galleryDetail #swipeSlider li,
#swipeImage li,
.swipeImageStyle li {
  vertical-align: middle !important;
}

#swipeSlider li {
  text-align: center;
}

#swipeSlider li div {
  display: table-cell;
  vertical-align: middle;
}

#swipeSlider li.small img {
  width: 80%;
}

.swipeImageStyle li h4 {
  padding: 0;
  margin: 0;
}

#swipeSlider img,
.swipeImageStyle img {
  width: 100%;
  vertical-align: bottom;
}

#swipeSlider .slideNav,
.swipeImageStyle .slideNav {
  position: relative;
}

.swipeImageStyle .fa-angle-left,
.swipeImageStyle .fa-angle-right {
  position: absolute;
  top: 2px;
}

#swipeSlider > a .fa-angle-left,
#swipeSlider > a .fa-angle-right {
  position: absolute;
  top: 50%;
  margin-top: -20px;
}

#swipeSlider > a .fa-angle-left,
.swipeImageStyle .fa-angle-left {
  left: 3%;
}

#swipeSlider > a .fa-angle-right,
.swipeImageStyle .fa-angle-right {
  right: 3%;
}

#swipeImage #swipeImagePosition,
#swipeSlider #swipeSliderPosition,
.swipeImageStyle .swipeImageStylePosition {
  text-align: center;
  padding: 0;
  background: none;
  line-height: 1.5;
}

#swipeImage #swipeImagePosition {
  margin: 10px 0;
}

#swipeSlider #swipeSliderPosition {
  margin: 5px auto 10px;
  width: 80%;
}

.swipeImageStyle .swipeImageStylePosition {
  margin: 10px auto 5px !important;
  width: 80%;
}

#swipeImage #swipeImagePosition li,
#swipeSlider #swipeSliderPosition li,
.swipeImageStyle .swipeImageStylePosition li {
  list-style: none;
  display: inline-block;
  margin: 0 1%;
  font-size: 12px;
  width: auto;
  float: none;
}

#swipeImage,
.swipeImageStyle {
  position: relative;
}

#swipeSlider h4 {
  text-align: center;
  margin: 0;
  font-size: 13px;
  background: none;
  padding: 10px 10px 0;
}

#swipeSlider P {
  margin: 10px;
  line-height: 150%;
}

/* 事例集 */
.arrow {
  width: 0;
  height: 0;
  border-top: 30px solid #333;
  border-right: 80px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 80px solid transparent;
  margin: 0 auto;
}

#baImg img {
  width: 100%;
}

#baImg h4 {
  margin: 0;
}

/* お問い合わせ */
.h4Body {
  margin: 0 0 20px;
}

ul.ul01 {
  margin: 0;
  padding: 0 0 0 10px;
  list-style: none;
  position: relative;
}

ul.ul01 li {
  margin: 0 0 10px;
}

ul.ul01 li i.fa-caret-right {
  position: absolute;
  left: 0;
}

/** we remove the red glow around required fields since we are already using the red star */
fieldset {
  border: none !important;
}

input:required,
textarea:required {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
}

input[type="button"] {
  -webkit-appearance: none;
}

/** check radio**/
.form_check {
  display: block;
  margin-bottom: 15px;
}

.form_check input[type="checkbox"],
.form_check input[type="radio"] {
  width: 20px;
  vertical-align: middle;
  margin-right: 3px;
  display: inline;
}

.form_check input:not([type="submit"]) {
  height: 20px;
}

/** textarea**/
input:not([type="button"]),
textarea {
  outline: none;
  display: block;
  padding: 10px 5px;
  font-size: 14px;
  border-radius: 2px;
  width: 94%;
  margin: 0 auto;
  vertical-align: middle;
}

input:not([type="button"]):active,
input:not([type="button"]):focus,
textarea:active,
textarea:focus {
  background: #f2f2f2;
  border: solid 1px #b3b3b3;
  box-shadow: 2px 2px 7px #E8E8E8 inset;
}

input:not([type="button"]) {
  height: 20px;
  vertical-align: middle;
  width: 96%;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

/* placeholder */
input:-webkit-input-placeholder,
textarea:-webkit-textarea-placeholde {
  color: #BABABA;
  font-style: italic;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #BABABA;
  font-style: italic;
}

/**tel**/
input[type=tel] {
  width: 25% !important;
  margin: 0 5px !important;
  float: left;
}

/**number**/
input[type=number] {
  width: 42% !important;
  margin: 0 5px !important;
  float: left;
}

/**number**/
input.text02[type=number] {
  width: 20%;
  margin: 0 5px;
  float: left;
}

input.text03[type=number] {
  width: 36%;
  margin: 0 5px;
  float: left;
}

input.text04[type=number] {
  width: 88%;
  margin: 0 5px;
  float: left;
}

input[type=date],
input[type=time] {
  margin: 0 5px;
  float: left;
}

span.price {
  float: left;
  margin: 12px 0 15px;
}

form .ui-grid-a,
form .ui-grid-b {
  overflow: hidden;
}

p#cancelBtn,
p#confirmBtn,
p#submitBtn {
  margin: 0 auto 20px;
  text-align: center;
  width: 75%;
}

/** Styling the send button **/
input[type=button] {
  cursor: pointer;
  font-size: 15px;
  padding: 20px 4px;
  border-radius: 5px;
  width: 100%;
  border: none;
}

input[type=button]:active,
input[type=button]:focus {
  position: relative;
  top: 1px;
  background: linear-gradient(top, #eaeaea 0%, #f2f2f2 100%);
  box-shadow: 0 -1px 1px #FFF inset, 0 0 0 5px #E0E0E0;
}

.errorMsgArea .caution {
  display: block;
  clear: both;
}

#mainErrorMsg .caution {
  display: block;
  margin: 10px;
  font-size: 15px;
}

/* スタッフ */
SPAN.category {
  display: inline-block;
  padding: 0 5px;
  font-size: 11px;
  border-radius: 2px;
  margin-bottom: 5px;
}

DIV#staffCategoryNameWrap H3.categoryName {
  background: transparent;
  float: left;
  padding: 1px 4px 1px 0;
}

UL#staffCatList,
UL#staffCatListBottom {
  overflow: hidden;
  border-bottom: 1px #EEE solid;
  margin: 0 0 5px;
  padding: 5px 5px 0;
}

UL#staffCatListBottom {
  border: none;
  border-top: 1px #EEE solid;
  margin: 0 0 20px;
  border-bottom: 1px #EEE solid;
}

UL#staffCatList LI.top,
UL#staffCatListBottom LI.top {
  margin-right: 0;
}

UL#staffCatList LI,
UL#staffCatListBottom LI {
  margin-bottom: 5px;
  float: left;
  margin-right: 5px;
}

UL#staffCatList LI A,
UL#staffCatListBottom LI A {
  display: block;
  padding: 7px 10px;
  border: 1px #CCC solid;
  font-size: 12px;
  border-radius: 2px;
}

UL#staffCatList LI.current A,
UL#staffCatListBottom LI.current A {
  display: block;
  padding: 7px 10px;
  border: 1px #CCC solid;
  background-color: #EEE;
  font-size: 12px;
  border-radius: 2px;
}

UL#staffCatList LI.notLink,
UL#staffCatListBottom LI.notLink {
  display: block;
  padding: 6px 10px;
  border: 1px #CCC solid;
  font-size: 12px;
  border-radius: 2px;
  margin-bottom: 0;
}

UL#staffCatList LI.top A,
UL#staffCatListBottom LI.top A {
  padding: 7px 10px;
  margin-right: 5px;
}

P.staffTitle {
  font-size: 18px;
  border-bottom: 1px #ddd solid;
  padding: 5px 0 10px;
  font-weight: bold;
  margin-bottom: 10px;
  clear: both;
}

.fontawesome-angle-right:before {
  padding-right: 5px;
}

.eventCalenderSub {
  margin: 0 10px;
}

.sp-row-10 {
  margin-left: -5px;
  margin-right: -5px;
}

.sp-row-10 > div {
  padding-right: 5px;
  padding-left: 5px;
}

.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9 {
  float: left;
  position: relative;
  min-height: 1px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-1 {
  width: 8.33333333%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-pull-11 {
  right: 91.66666667%;
}

.col-xs-pull-10 {
  right: 83.33333333%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-8 {
  right: 66.66666667%;
}

.col-xs-pull-7 {
  right: 58.33333333%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-5 {
  right: 41.66666667%;
}

.col-xs-pull-4 {
  right: 33.33333333%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-2 {
  right: 16.66666667%;
}

.col-xs-pull-1 {
  right: 8.33333333%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-push-11 {
  left: 91.66666667%;
}

.col-xs-push-10 {
  left: 83.33333333%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-8 {
  left: 66.66666667%;
}

.col-xs-push-7 {
  left: 58.33333333%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-5 {
  left: 41.66666667%;
}

.col-xs-push-4 {
  left: 33.33333333%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-2 {
  left: 16.66666667%;
}

.col-xs-push-1 {
  left: 8.33333333%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

.col-xs-offset-11 {
  margin-left: 91.66666667%;
}

.col-xs-offset-10 {
  margin-left: 83.33333333%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-8 {
  margin-left: 66.66666667%;
}

.col-xs-offset-7 {
  margin-left: 58.33333333%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-5 {
  margin-left: 41.66666667%;
}

.col-xs-offset-4 {
  margin-left: 33.33333333%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-2 {
  margin-left: 16.66666667%;
}

.col-xs-offset-1 {
  margin-left: 8.33333333%;
}

.col-xs-offset-0 {
  margin-left: 0;
}

/* ------ margin ------ */
.sp_mb_0 {
  margin-bottom: 0 !important;
}

.sp_mb_5 {
  margin-bottom: 5px !important;
}

.sp_mb_10 {
  margin-bottom: 10px !important;
}

.sp_mb_15 {
  margin-bottom: 15px !important;
}

.sp_mb_20 {
  margin-bottom: 20px !important;
}

.sp_mb_25 {
  margin-bottom: 25px !important;
}

.sp_mb_30 {
  margin-bottom: 30px !important;
}

.sp_mt_0 {
  margin-top: 0 !important;
}

.sp_mt_5 {
  margin-top: 5px !important;
}

.sp_mt_10 {
  margin-top: 10px !important;
}

.sp_mt_15 {
  margin-top: 15px !important;
}

.sp_mt_20 {
  margin-top: 20px !important;
}

.sp_mt_25 {
  margin-top: 25px !important;
}

.sp_mt_30 {
  margin-top: 30px !important;
}

/* ------ テキスト系 ------ */
.sp_ta_c {
  text-align: center !important;
}

.sp_ta_l {
  text-align: left !important;
}

.sp_ta_r {
  text-align: right !important;
}

.sp_fw_n {
  font-weight: normal !important;
}

.sp_fw_b {
  font-weight: bold !important;
}

/* ------ 画像幅の調整 ------ */
.sp_img_w_l img {
  height: auto;
  width: 100%;
}

/* ------ 非表示 ------ */
.sp_dp_n {
  display: none;
}

/* ------ 装飾解除 ------ */
.sp_nodeco {
  background: none;
  border: none;
  padding: 0;
}

.sp_nodeco::after {
  display: none;
}

/* ------ gglmap ------ */
.gglmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.gglmap embed,
.gglmap iframe,
.gglmap object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sp_ttl_en {
  font-family: 'Oswald', sans-serif;
  font-size: 24px;
  font-weight: bold;
}

/* ------ table ------ */
.table_price th {
  width: 60%;
}
.table_price td {
  text-align: right;
}
.table_price .tag {
  background-color: #fff;
  padding: 3px 10px;
  display: inline-block;
  margin: 0 5px 3px 0;
  font-weight: normal;
  font-size: 10px;
}

/* ------ 色付きボックス ------ */
#contents div.entryBody .sp_box *:last-child {
  margin-bottom: 0;
}

.sp_box {
  margin-bottom: 10px;
  background-color: #fff;
  padding: 20px;
  box-sizing: border-box;
}

/* ------ コンセプト ------ */
.ttl_num {
  vertical-align: middle;
  display: table;
  margin-bottom: 15px;
}
.ttl_num .num {
  display: table-cell;
  vertical-align: middle;
  line-height: 0.8;
  font-family: 'Oswald', sans-serif;
  font-size: 40px;
  font-weight: bold;
  width: 60px;
}
.ttl_num p {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0;
  display: table-cell;
  vertical-align: middle;
}

.concept_flow {
  padding-left: 50px;
  background-image: url("/cmn/images/bg_rope.png");
  background-repeat: repeat-y;
  background-position: 12px top;
  margin-bottom: 20px;
  background-size: 20px auto;
}
.bg_01 {
  background :#faf5f7;
  padding: 15px;
}