@charset "utf-8"; /*使用する文字コード*/
/* フォント読み込み */
@import url(https://fonts.googleapis.com/css?family=Archivo+Narrow);
@import url('https://fonts.googleapis.com/css?family=Poppins:400,500&display=swap');
/* =============== 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: #333;
  -webkit-text-size-adjust: 100%;
}
BODY, H1, H2, H3, H4, H5, H6, P, TD, TH, DIV, INPUT, TEXTAREA, OL, UL, LI, PRE {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: 400;
}
p.btn {
  font-family: 'Poppins';
}
#contents .entryBody,
#contents .entryMore,
#contents .inner {
  padding: 10px;
  overflow: hidden;
  max-width: 640px;
  margin: 0 auto;
}
#topPage #contents .entryBody {
  padding: 0;
  overflow: visible;
  max-width: 100%;
}
#topPage .column_wrapper {
  padding: 10px;
  overflow: hidden;
  max-width: 640px;
  margin: 0 auto;
}
#contents .entryBody .imageBox {
  text-align: center;
}
#contents .entryBody img,
#contents .inner img,
#contents .entryMore 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:visited,
a:hover {
  color: #333;
  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: rgba(0,0,0,0);
}
#contents .entryBody .title1,
#contents .entryMore .title1,
#contents .inner .title1,
#contents .entryBody .title2,
#contents .entryMore .title2,
#contents .inner .title2,
#contents .entryBody .title3,
#contents .entryMore .title3,
#contents .inner .title3 {
  margin: 0 0 10px;
}
.title3,
.title4,
p,
table {
  margin: 0 0 10px;
}
.title1 {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: 400;
  font-size: 20px;
  padding: 15px 10px;
  margin: 0 auto 5px;
  color: #333;
  text-align: center;
  position: relative;
}
.title1::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -25px;
  width: 50px;
  height: 3px;
  background: #7d6246;
}
.title2 {
  font-size: 16px;
  padding: 5px 10px;
  margin: 0;
  color: #333;
  border-bottom: 1px solid #eee7e1;
}
.title2 a {
  color: #333;
}
.title3 {
  font-size: 14px;
  padding: 10px;
  margin-bottom: 10px;
  background: #eee;
  background: #f8f6f4;
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
#contents .entryBody ul,
#contents .entryBody ol{
  margin: 0;
  padding-left: 1.5em;
  list-style: disc;
}
table {
  width: 100% !important;
  border-collapse: collapse;
}
th,
td {
  padding: 10px;
}
th {
  text-align: left;
  font-weight: normal;
  border-bottom: 3px solid #7d6246;
}
td {
  border-bottom: 3px solid #cdbeaf;
}
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,
P.btn .fa-question-circle:before,
DIV#copyrightArea .fa-desktop:before,
DIV#footerTop .fa-angle-up:before,
DIV#footerTop .fa-home:before,
nav.show .fa-angle-right:before,
nav.show .fa-phone:before,
nav.show .fa-envelope-o:before,*/
DIV#copyrightArea .fa:before,
DIV#footerTop .fa:before,
.btn .fa:before {
  padding: 0 5px 0 0;
}
/* header */
.fa-times,
.fa-bars {
  display: block !important;
}
.fa-facebook-square:before,
.fa-twitter-square:before,
.fa-instagram:before {
}
/* ==================== 色変更箇所 ==================== */
/* 共通要素 */
.caution {
  color: #EE0000;
}
/* icon色変更 */
/*nav.show .fa-phone:before,
nav.show .fa-envelope-o:before,
DIV#headerIcon .fa-phone:before,
DIV#headerIcon .fa-envelope-o:before,
nav.show .fa:before,*/
#headerIcon .fa:before {
  color: #7d6246;
}
#navBtn a {
  color: #7d6246 !important;
}
/* カテゴリー吐き出し .title2・.title3 */
aside.categoryList .title2 {
  background: #fff;
  color: #333;
}
aside#galleryCatList .title3 {
  background-color: rgba(0, 0, 0, 0);
}
#contents .categoryTopList li div span:before {
  color: #333;
}
#galleryList li .title2,
#galleryList li .title3 {
  color: #333;
}
#galleryList li .title3 a {
  color: #333;
}
/* グローバルメニュー */
#header_nav {
  background: #f7f3ef;
}
#menuClose {
  background: #fff;
}
#header_nav li {
  border-bottom: 1px solid #7d6246;
}
#header_nav li a {
  color: #4a3b2c !important;
}
/* 1つ目のボタン */
.btn .typeA {
  background-color: #7d6246;
  border: 2px solid #7d6246;
  color: #FFF;
}
.btn .typeA.tapStyle {
  top: 2px;
  background-color: #fff;
  color: #7d6246;
}
/* 2つ目のボタン */
.btn .typeB {
  background-color: #fff;
  border: 2px solid #fff;
  color: #333;
}
.btn .typeB.tapStyle {
  top: 2px;
  background-color: #333;
  color: #fff;
}
/* 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 0px rgba(255,255,255,0.9);
}
.btn .typeC.tapStyle {
  box-shadow: 0px 0px 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;
}
/* コピーライト */
DIV#copyrightArea {
  /*background-color: #4d4d4d;*/
}
#pcsite {
  background-color: #fff;
}
DIV#copyrightArea P#copyright {
  color: #fff;
}
/* ブログ吐き出し */
.topLatestBlog li span.logoEnpty,
.swipeImageStyle span.logoEnpty,
.gallerylist_thumb_img span.logoEnpty,
#contents .entryList li span.logoEnpty,
#contents .categoryTopList li span.logoEnpty {
  background-color: #fafafa;
}
.topLatestBlog li div span,
.topLatestBlogTxt li span,
#contents .entryList li div 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 .title2 {
  color: #333;
}
.topLatestBlog li a div .title2,
.topLatestBlogTxt li a .title2,
#contents .entryList li a div .title2 {
  color: #333;
}
/* ブログ吐き出しタイトル（日付） */
.topLatestBlog li div time,
#contents .entryList li div time {
  color: #cdb8a6;
}
/* ページング */
#contents .paging {
  background: #F7F4EF;
}
#contents .paging .current_page {
  padding: 5px;
  line-height: 10px;
  border-radius: 4px;
  background: #7d6246;
  color: #fff;
  display: inline-block;
}
#swipeSlider #swipeSliderPosition li,
.swipeImageStyle .swipeImageStylePosition li,
#swipeImage #swipeImagePosition li {
  color: #ccc;
}
#swipeSlider #swipeSliderPosition li.swipeImageOn,
.swipeImageStyle .swipeImageStylePosition li.swipeImageOn,
#swipeImage #swipeImagePosition li.swipeImageOn {
  color: #333;
}
/** お問い合せページ button**/
input[type=button] {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  background-color: #7d6246;
  color: #FFF;
}
input[type=button]:hover {
  color: #FFF;
  border-color: #CECECE;
  background: linear-gradient(top, rgba(244,244,244,1) 0%, rgba(242,242,242,1) 100%);
}
/* スタッフ カテゴリーボタンカラー*/

SPAN.category {
  background: #333;
  color: #fff;
}
.categoryName {
  background: rgba(0, 0, 0, 0);
}
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 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 10px;
  overflow: hidden;
  min-height: 60px;
}
#logo {
  margin-right: auto;
  /* margin: auto; ロゴ中央揃え */
}
#logo a {
  display: block;
  padding-top: 2px;
}
#logo img {
  width: 120px;
}
#headerIcon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 50px;
}
#headerIcon p {
  margin: 0;
  text-align: center;
}
#headerIcon p a {
  display: block;
  padding: 10px;
}
#navBtn {
  position: fixed;
  top: 0;
  right: 0;
  font-family: "Archivo Narrow", sans-serif;
  z-index: 2;
  margin: 0;
  text-align: center;
}
#navBtn a {
  display: block;
  font-size: x-small;
  line-height: 1.2;
  padding: 16px 20px 15px 15px;
}
#header_nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  width: 90%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#header_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);
}
#header_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);
}
#header_nav #wrap {
  height: 100%;
  overflow-y: auto;
  padding-bottom: 15px;
}
#header_nav ul {
  padding: 0 0 20px;
}
#header_nav li a {
  display: block;
  padding: 16px 16px 16px 40px;
  font-size: 16px;
  text-indent: -0.5em;
}
#header_nav li:first-child a {
  padding: 23px 16px 24px 40px;
}
#header_nav .mail a {
  font-size: 16px;
}
#header_nav .tel a {
  font-size: 18px;
}
#menuClose {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
/* ==================== トップページ ==================== */
#catchArea {
  max-width: 640px;
  margin: 0px 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;
}*/
body#topPage #contents img[_cke_saved_src] {
  display: inline;
  max-width: none;
  width: auto;
  margin: 0;
  float: none;
}
/* ボタン */
.btn a {
  display: block;
  width: 80%;
  max-width: 600px;
  margin: 0px auto 23px;
  padding: 10px 10px;
  font-size: 13px;
  border-radius: 4px;
  text-align: center;
  position: relative;
  top: 0;
}

/*トップページ追加*/
#topPage h2 {
  text-align: center;
  position: relative;
}
#topPage h2::after {
  content: "";
  position: absolute;
  bottom: 35px;
  left: 50%;
  margin-left: -25px;
  width: 50px;
  height: 3px;
  background: #7d6246;
}
#topPage .topLatestBlog h2 {
  text-align: left;
}
#topPage .topLatestBlog h2::after {
  position: relative;
}
#topPage h2 span {
  color: #4a3b2c;
  display: block;
  margin-top: 36px;
  font-size: 16px;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: 400;
}

#top_about {
  position: relative;
  padding-top: 50px;
  margin-bottom: 80px;
}
#top_about::before {
  content: "";
  background: url(/cmn/images/top_bg_about.jpg);
  position: absolute;
  height: 95%;
  width: 100%;
  z-index: -999;
  top: 50px;
  left: -20%;
}
#top_about h2 {
  line-height: 1.5;
}
#topPage #top_about h2::after {
  bottom: 40px;
}
.top_about_box01,
.top_about_box02 {
  max-width: 640px;
  margin: 0 auto;
}
.top_about_box02_inner {
  max-width: 640px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}
#contents .entryBody .top_about_box01 img {
  width: 90%;
  margin-right: 10%;
  max-width: 640px;
}
#contents .entryBody .top_about_box02 img {
  width: 90%;
  margin-left: 10%;
  max-width: 640px;
}

#top_specialty {
  max-width: 640px;
  margin: 0 auto 40px;
}
#contents .entryBody img.top_specialty_main {
  width: 95%;
  margin: 0 0 0 5%;
}
.top_specialty_txt {
  position: relative;
  background: #fff;
  max-width: 580px;
  margin: -30px 0 20px 0;
  width: 80%;
  box-sizing: border-box;
  padding: 20px 20px 10px;
}
#top_specialty .column_wrapper {
  max-width: 500px;
  width: 90%;
  box-sizing: border-box;
  margin-bottom: 20px;
  padding: 0;
}
#top_specialty .f_l {
  width: 49%;
  float: left;
}
#top_specialty .f_r {
  float: right;
  width: 49%;
}

#top_gallery {
  margin: 0 auto 40px;
  max-width: 640px;
}
#contents .entryBody img.top_gallery_main {
  width: 95%;
  margin: 0 5% 0 0;
}
.top_gallery_txt {
  background: #fff;
  max-width: 580px;
  margin: -30px 0 10px 10%;
  width: 90%;
  box-sizing: border-box;
  padding: 20px 20px 10px;
  position: relative;
}
#top_gallery .column_wrapper {
  text-align: center;
  /*background: #fff;
  max-width: 500px;
  width: 90%;*/
  box-sizing: border-box;
  margin: 0 auto;
}
#top_gallery .column_wrapper img {
  width: 32%;
  vertical-align: top;
}
#top_gallery .column_wrapper img:nth-child(2) {
  margin: 0 2%;
}
#top_case {
  background: url(/cmn/images/top_bg_case.jpg) top center;
  padding: 60px 0 0;
  margin-bottom: 50px;
}
#topPage #top_case h2,
#topPage #top_case h2 span {
  color: #fff;
}
#topPage #top_case h2::after {
  background: #fff;
}
#top_case .column_wrapper {
  background: #fff;
  padding: 10px 10px 30px;
  max-width: 580px;
  width: 80%;
}
#contents .entryBody ul.top_case_list {
  list-style: none;
  padding: 0;
}
.top_case_list li {
  display: inline-block;
  width: 33.33333%;
  text-align: center;
  padding-top: 50px;
  color: #4a3b2c;
  vertical-align: top;
  font-size: 11px;
}
.top_case_list .fas {
  display: block;
  font-size: 35px;
  color: #7d6246;
  margin-bottom: 15px;
}
.top_blog_bg {
  background: #f7f3ef;
  padding: 40px 0;
}

/* ==================== フッター ==================== */
footer {
  background: url(/cmn/images/bg_footer.jpg) top center;
  text-align: center;
  color: #fff;
  padding: 50px 0px 10px;
}
footer img {
  display: block;
  margin: 0 auto 20px;
  max-width: 60%;
}
footer img.sales {
  margin-bottom: 0;
}
#footerFree {
  max-width: 640px;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
}
#footerFree p {
  margin-bottom: 30px;
  font-size: 11px;
}
#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: 0px;
  border-radius: 2px;
  text-decoration: none;
  width: 46%;
  text-align: center;
  font-size: 11px;
  margin: 0;
}
P#pageTop {
  float: right;
  display: inline-block;
  padding: 0px;
  border-radius: 2px;
  text-decoration: none;
  width: 46%;
  text-align: center;
  font-size: 11px;
  margin: 0;
}
P#siteTop A,
P#pageTop A {
  display: block;
  padding: 5px 15px;
}
DIV#footerSns P#SnsTitle {
  text-align: center;
  margin: 0;
  padding: 10px 0 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 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
  width: 90%;
  padding: 10px 0px 15px 0px;
  margin: 0 auto;
  overflow: hidden;
}
DIV#footerSns UL LI {
  margin: 0 auto;
  text-align: center;
  padding: 0;
}
DIV#footerSns UL LI A {
}
/* フッターメニュー */
DIV#footerMenu {
}
DIV#footerMenu UL {
  line-height: 2em;
  text-align: center;
  padding: 0px 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: 0px;
}
/* コピーライト */
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;
}
footer DIV#copyrightArea P#copyright {
  margin: 0 0 10px;
  padding: 5px 0px;
  font-size: 13px;
  /*float: left;*/
  text-align: center;
}
/* ==================== 下層ページ ==================== */
.topLatestBlog ul,
.topLatestBlogTxt ul,
#contents .entryList ul,
#contents .categoryTopList {
  margin-bottom: 20px;
}
.topLatestBlog li,
.topLatestBlogTxt li,
#contents .entryList li,
#contents .categoryTopList li {
  border-bottom: 1px solid #eee7e1;
  width: 100%;
}
.topLatestBlog li a,
.topLatestBlogTxt li a,
#contents .entryList li a,
#contents .categoryTopList li a {
  display: block;
  max-width: 620px;
  padding: 10px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
ul.entryList li i.fa-angle-right,
.categoryTopList li a i.fa-angle-right,
.topLatestBlogTxt li a i.fa-angle-right,
.topLatestBlog li a i.fa-angle-right {
  position: absolute;
  top: 50% !important;
  right: 4%;
  margin-top: -9px;
}
.topLatestBlog li img,
.topLatestBlog li span.logoEnpty,
#contents .entryList li img,
#contents .entryList li .left,
#contents .entryList li span.logoEnpty,
#contents .categoryTopList li img,
#contents .categoryTopList 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;
}
.topLatestBlog li span.logoEnpty,
#contents .entryList li span.logoEnpty,
#contents .categoryTopList li span.logoEnpty {
  min-height: 75px;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 60px auto;
}
.topLatestBlog li div,
#contents .entryList li div,
#contents .categoryTopList li div {
  float: right;
  margin: 0;
  padding: 0 5% 0 0;
  width: 65%;
}
.topLatestBlog li div.sp_blog_text,
#contents .entryList li div.sp_blog_text,
#contents .categoryTopList li div.sp_blog_text{
  float:none !important;
  width:100% !important;
}
.topLatestBlog li div .title2,
.topLatestBlogTxt li .title2,
#contents .entryList li div .title2,
#contents .categoryTopList .title2 {
  background: none;
  border: none;
  padding: 0;
}
.topLatestBlog li div time,
#contents .entryList 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;
}
.topLatestBlog li div span,
.topLatestBlogTxt li span,
#contents .entryList li div span {
  display: inline-block;
  padding: 2px 5px 2px;
  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マーク*/
.swipeImageStyle li .topLatestBlogPhotoImage{
  position:relative;
  overflow: hidden;
  max-width: 200px;
  margin: 0 auto 5px;
}
.swipeImageStyle li .topLatestBlogPhotoImage img{
  margin-bottom: 0;
}
.swipeImageStyle li ul li span.new {
  display:none;
   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マーク
.swipeImageStyle li .topLatestBlogPhotoImage{
  position:relative;
  overflow: hidden;
  max-width: 200px;
  margin: 0 auto;
}
.swipeImageStyle li .topLatestBlogPhotoImage img{
  margin-bottom: 0;
}
.swipeImageStyle li:not(:first-child) span{
  display:none;
}
.swipeImageStyle 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 ==================== */


.topLatestBlog li div p,
.topLatestBlogTxt li p,
#contents .entryList li div 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 .title2,
#galleryList li .title3 {
  background: none;
  border: none;
  padding: 0;
  font-size: 12px;
  line-height: 1.3;
}
#galleryList li img {
  width: 100%;
  max-width: 300px;
  height: auto;
}
.gallerylist_thumb_img {
  max-width: 300px;
  height: auto;
  position: relative;
  margin: 0 auto 6px;
}
.gallerylist_thumb_img .logoEnpty {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 80% auto;
}

aside.categoryList {
  max-width: 640px;
  margin: 0 auto 20px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
aside.categoryList .title2 {
  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 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;
}
.topLatestBlogPhoto .swipeImageStyle,
#galleryCatList .swipeImageStyle {
}
.topLatestBlogPhoto,
#galleryCatList,
#galleryTopList {
  width: 100%;
  margin: 0 auto 10px;
}
.topLatestBlogPhoto ul,
#galleryCatList ul,
#galleryTopList ul {
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.topLatestBlogPhoto li,
#galleryCatList li,
#galleryTopList li {
  list-style: none;
}
.topLatestBlogPhoto li ul,
#galleryCatList li ul,
#galleryTopList li ul {
  margin: 0;
  padding: 2% 2% 0;
}
.topLatestBlogPhoto li ul li,
#galleryCatList li ul li,
#galleryTopList li ul li {
  float: left;
  width: 32%;
  margin: 0 2% 0 0;
  text-align: center;
}
.topLatestBlogPhoto li a,
#galleryCatList li a,
#galleryTopList li a {
  display: block;
}
.topLatestBlogPhoto li img,
#galleryCatList li img,
#galleryTopList 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;
}
.galleryEntryFirstEmpty {
  max-width: 150px;
  margin: 0 auto;
  position: relative;
}
.galleryEntryFirstEmpty img {
  margin-bottom: 0;
}
.topLatestBlogPhoto li .title3,
#galleryCatList li .title3,
#galleryTopList li .title3,
.galleryEntryFirst .title3 {
  font-size: 12px;
  line-height: 1.3;
  background: none;
  border: none;
}
#swipeSlider {
  position: relative;
}
#galleryDetail #swipeSlider li,
#beforeAfterGallery #swipeSlider li,
.swipeImageStyle li,
#swipeImage 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 .title3 {
  padding: 0;
  margin: 0;
}
#swipeSlider img,
.swipeImageStyle img {
  width: 100%;
  vertical-align: bottom;
}
.swipeImageStyle .logoEnpty {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 80% auto;
}
#swipeSlider .slideNav,
.swipeImageStyle .slideNav {
  position: relative;
}
.swipeImageStyle .fa-angle-right,
.swipeImageStyle .fa-angle-left {
  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%;
}
#swipeSlider #swipeSliderPosition,
.swipeImageStyle .swipeImageStylePosition,
#swipeImage #swipeImagePosition {
  text-align: center;
  padding: 0;
  background: none;
  line-height: 1.5;
}
#swipeImage #swipeImagePosition {
  margin: 10px 0 10px 0;
}
#swipeSlider #swipeSliderPosition {
  margin: 5px auto 10px;
  width: 80%;
}
.swipeImageStyle .swipeImageStylePosition {
  margin: 10px auto 5px !important;
  width: 80%;
}
#swipeSlider #swipeSliderPosition li,
.swipeImageStyle .swipeImageStylePosition li,
#swipeImage #swipeImagePosition li {
  list-style: none;
  display: inline-block;
  margin: 0 1%;
  font-size: 12px;
  width: auto;
  float: none;
}
.swipeImageStyle,
#swipeImage {
  position: relative;
}
#swipeSlider .title3 {
  text-align: center;
  margin: 0;
  font-size: 13px;
  background: none;
  border: none;
  padding: 10px;
}
#swipeSlider P {
  margin: 10px;
  line-height: 150%;
}
.photo_text_sp {
  display: block;
  padding: 10px;
  text-align: left;
}
.photo_text_sp p {
  margin: 0 !important;
}

/* Grid-A-Licious */
#device {
  margin: 10px auto 0;
  max-width: 640px;
}
.item {
  font-size: small;
  line-height: 150%;
}
.item_img {
  margin-bottom: 10px;
}
.item_noimage {
  height: 127px;
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
  background: #fff;
}
.item_noimage img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
  width: 80% !important;
}
/* カテゴリリスト */
ul.gridCatList {
  padding: 0 5px!important;
}
.gridCatList li {
  list-style: outside none none;
  display: inline-block;
}
.gridCatList .normal {
  border: #cccccc solid 1px;
  margin-bottom: 10px;
  background: #cccccc;
  text-decoration: none;
  margin: 0px 5px 5px 0px;
  padding: 3px 10px;
  display: inline-block;
  font-size: 11px;
}
.gridCatList li a {
  border: #ccc solid 1px;
  margin-bottom: 10px;
  background: #f4f4f4;
  text-decoration: none;
  margin: 0px 5px 5px 0px;
  padding: 3px 10px;
  display: inline-block;
  font-size: 11px;
}
.gridCatList li a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
}

/* 事例集 */
.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 .title3 {
  margin: 0;
}

/* 顔タイプ */
.galleryDetail svg {
    transform: translate(0, 0)
}
.facetype {
    width: 52px;
    height: 70px;
    fill: #e8e8e8;
}
.facetype.face_on {
    fill: #e58f81;
}
.face_on .face_txt {
    fill: #000;
}
/* お問い合わせ */
.h4Body {
  margin: 0 0 20px;
}
ul.ul01 {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 10px;
  list-style: none;
  position: relative;
}
ul.ul01 li {
  margin: 0 0 10px 0;
}
ul.ul01 li i.fa-caret-right {
  position: absolute;
  left: 0%;
}
.inqfmFileSup{
  margin-left: 10px;
  margin-right: 10px;
}
/** 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"]):not([type="file"]),
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"]):not([type="file"]):active,
textarea:active,
input:not([type="button"]):not([type="file"]):focus,
textarea:focus {
  background: #f2f2f2;
  border: solid 1px #b3b3b3;
  box-shadow: 2px 2px 7px #E8E8E8 inset;
}
input:not([type="button"]):not([type="file"]) {
  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 0 5px !important;
  float: left;
}
/**number**/
input[type=number] {
  width: 42% !important;
  margin: 0 5px 0 5px !important;
  float: left;
}
/**number**/
input.text02[type=number] {
  width: 20%;
  margin: 0 5px 0 5px;
  float: left;
}
input.text03[type=number] {
  width: 36%;
  margin: 0 5px 0 5px;
  float: left;
}
input.text04[type=number] {
  width: 88%;
  margin: 0 5px 0 5px;
  float: left;
}
input[type=time],
input[type=date] {
  margin: 0 5px 0 5px;
  float: left;
}
span.price {
  float: left;
  margin: 12px 0px 15px 0px;
}
form .ui-grid-a,
form .ui-grid-b {
  overflow: hidden;
}
p#confirmBtn,
p#cancelBtn,
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]:hover {
}
input[type=button]:active,
input[type=button]:focus {
  position: relative;
  top: 1px;
  background: linear-gradient(top, rgba(234,234,234,1) 0%, rgba(242,242,242,1) 100%);
  box-shadow: 0px -1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
}
.errorMsgArea .caution {
  display: block;
  clear: both;
}
#mainErrorMsg .caution {
  display: block;
  margin: 10px;
  font-size: 15px;
}
/* スタッフ */
SPAN.category {
  display: inline-block;
  padding: 0px 5px;
  font-size: 11px;
  border-radius: 2px;
  margin-bottom: 5px;
}
DIV#staffCategoryNameWrap .categoryName {
  background: rgba(0, 0, 0, 0);
  float: left;
  padding: 1px 4px 1px 0px;
}
UL#staffCatList,
UL#staffCatListBottom {
  overflow: hidden;
  border-bottom: 1px #EEE solid;
  margin: 0 0 5px;
  padding: 5px 5px 0px 5px;
}
UL#staffCatListBottom {
  border: none;
  border-top: 1px #EEE solid;
  margin: 0 0 20px 0;
  border-bottom: 1px #EEE solid;
}
UL#staffCatList LI.top,
UL#staffCatListBottom LI.top {
  margin-right: 0px;
}
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 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 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 6px 10px;
  border: 1px #CCC solid;
  font-size: 12px;
  border-radius: 2px;
  margin-bottom: 0px;
}
UL#staffCatList LI.top A,
UL#staffCatListBottom LI.top A {
  padding: 7px 10px 7px 10px;
  margin-right: 5px;
}
P.staffTitle {
  font-size: 18px;
  border-bottom: 1px #ddd solid;
  padding: 5px 0 10px 0;
  font-weight: bold;
  margin-bottom: 10px;
  clear: both;
}
.fontawesome-angle-right:before {
  padding-right: 5px;
}
.eventCalenderSub{
  margin: 0 10px;
}

/* ==================== 共通装飾 ==================== */
#contents .ul01 li {
  list-style: none;
  padding: 0 0 0 12px;
  position: relative;
}
#contents .ul01 li::before {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-size: 12px;
  position: absolute;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  top: 0;
  left: 0;
}

#contents .entryBody .li_check {
  list-style: none;
  padding: 0;
  margin-bottom: 15px;
}
.li_check li {
  border-bottom: dotted 1px #ddd;
  padding: 8px 0 8px 20px;
  position: relative;
}
.li_check li::before {
  content: "\f14a";
  font-family: "Font Awesome 5 Pro";
  font-size: 18px;
  position: absolute;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  top: 9px;
  left: 0;
  color: #b00a40;
}

.bg_type01 {
  background: #f7f3ef;
  padding: 20px;
}
#contents .bg_type01 .li_check {
  background: #fff;
  padding: 15px;
}

/* ==================== 汎用デフォルト設定 ==================== */
/* ------ margin ------ */
.sp_m_A { margin: 0 auto !important; }
.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_mb_35 { margin-bottom: 35px !important; }
.sp_mb_40 { margin-bottom: 40px !important; }
.sp_mb_45 { margin-bottom: 45px !important; }
.sp_mb_50 { margin-bottom: 50px !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_fs_m{
    font-size: 16px;
}
/* ------ 画像幅の調整 ------ */
.sp_img_w_l img {
  height: auto;
  width: 100%;
}

/* ==================== grid ==================== */
.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,
.col-xs-2-4 {
  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-2-4 {width: 20%;}
.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;}

/* ==================== CONCEPT ==================== */
.concept_01 h2,
.concept_02 h2,
.concept_03 h2 {
  text-align: center;
  position: relative;
}
.concept_01 h2::after,
.concept_02 h2::after,
.concept_03 h2::after {
  content: "";
  position: absolute;
  bottom: 50px;
  left: 50%;
  margin-left: -25px;
  width: 50px;
  height: 3px;
  background: #7d6246;
}
.concept_01 h2 span,
.concept_02 h2 span,
.concept_03 h2 span {
  color: #4a3b2c;
  display: block;
  margin-top: 36px;
  font-size: 16px;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: 400;
}
.concept_03 {
  position: relative;
}
.concept_03::before {
  content: "";
  background: url(/cmn/images/top_bg_about.jpg);
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: -999;
  top: -40px;
  right: 30%;
}

/* ==================== FLOW ==================== */
.flow {
  position: relative;
  padding: 30px 0;
}
.flow::before {
  content: "";
  background: url(/cmn/images/top_bg_about.jpg);
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: -999;
  top: -40px;
  right: 50%;
}
.flow_box {
  position: relative;
  margin-bottom: 40px;
}
.flow_box::before {
  content: "";
  display: block;
  width: 4px;
  height: 110%;
  position: absolute;
  top: 30px;
  left: 12%;
  background: #eee7e1;
  z-index: -1;
}
h4.flow_ttl {
  float: left;
  display: inline-block;
  font-weight: bold;
  font-size: 18px;
  padding: 20px 10px;
  text-align: center;
  width: 25%;
  height: 25%;
  background: #eee7e1;
  color: #4a3b2c;
  border: none;
  line-height: 1.2;
  box-sizing: border-box;
  margin: 0;
}
h4.flow_ttl span {
  font-size: 30px;
}
.flow_inner {
  padding: 0;
  float: right;
  width: 72%;
  box-sizing: border-box;
}
.flow_inner h5 {
  border-bottom: 1px solid #4a3b2c;
  padding: 0 0 5px 0;
  font-size: 16px;
  font-weight: 600;
  color: #4a3b2c;
  margin-bottom: 10px;
  margin-top: 0;
}

/* ==================== RECRUIT ==================== */
.recruit_main_txt .title1::after {
  bottom: 70px;
}
.recruit_main_txt span {
  color: #4a3b2c;
  display: block;
  margin-top: 30px;
  font-size: 14px;
  line-height: 1.5;
}
.table_recruit th {
  width: 75px;
  font-weight: 600;
}
.sp_dp_n{
    display:none;
}