html { overflow-x: hidden; }
h1 , h2 , h3 , h4 ,h5 , h6 {
	font-weight: bold;
	line-height: 1.4;
    font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
    /*font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" ;*/
}
h5 {
	font-size: 18px;
}
h1 .titsub , h2 .titsub , h3 .titsub , h4 .titsub , h5 .titsub , h6 .titsub {
	font-family: dinosaur, fot-tsukubrdgothic-std, "Avenir Next", Verdana , "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
body {
	font-size: 16px;
	/*font-family: "Avenir Next", Verdana , "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;*/
    font-family: "Avenir Next", Verdana , "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	color: #333;
    overflow-x: hidden;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

/*--- fadeIn ---*/
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
a {
	color: #333;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
a:hover {
	color: #ad0712;
	text-decoration: none;
}
a img {
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
a[href*="tel:"] {
  text-decoration: underline;
}
p {
	padding: 15px 0px;
	margin: 0;
	line-height: 1.6;
    letter-spacing: 0.5px;
}
dl {
  margin: 30px 0;
  margin: 0;
  border-bottom: 0.5px dotted #303030;
}
dl dt {
  float: left;
  padding: 15px 0;
  letter-spacing: 0.5px;
  font-weight: normal;
}
dl dd {
  padding: 15px;
  display: block;
  overflow-x: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.txtleft {
  text-align: left!important;
}
.txtright {
  text-align: right!important;
}

/* -------------------------------------------------------
   navbar
------------------------------------------------------- */

.navbar {
  position: fixed;
  z-index: 999;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #fff;
  border-radius: 0;
}
.navbar-toggle {
  z-index: 2;
}
.navbar > .container .navbar-header {
  text-align: center;
}
.navbar > .container .navbar-brand {
  float: none;
  text-align: center;
  margin: 0;
  padding: 0;
}
.navbar > .container .navbar-brand h1 {
  display: inline-block;
  margin: 10px auto;
  padding: 0;
}
.navbar > .container .navbar-brand h1 img {
  margin: auto;
  /*zoom: 0.35;*/
  width: 180px;
}
/*-- 検索フォーム --*/
.navbar > .container .form-inline {
  position: absolute;
  top: 15px;
  right: 0;
}
.navbar > .container .form-inline input[type="text"] {
  border: 2px solid #ad0712;
  padding: 2px 5px;
  vertical-align: middle;
}
.navbar > .container .form-inline input[type="text"]::placeholder{ color:#ad0712; }
.navbar > .container .form-inline .btn {
  color: #ad0712;
  font-size: 22px;
  line-height: 1;
  background-color: transparent;
  padding: 2px 2px;
}

.navbar-right {
  margin-right: 0;
}
.navbar-collapse {
  padding: 0;
}
.navbar-nav {
  float: none;
}
.navbar-nav > li {
  float: none;
  display: inline-block;
  padding: 10px 0 0;

  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
}
.navbar-nav > li:first-child:before {
  display: none;
}
.navbar-inverse .navbar-nav > li > a {
  padding: 0px 15px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #333;
  letter-spacing: 0.5px;
}
.navbar-inverse .navbar-nav > li:last-child > a {
  color: #ad0712;
  font-size: 0.95em;
  margin-left: 5px;
  padding: 5px 15px 3px;
  background-color: #f3dadb;
  border: 2px solid #ad0712;
  border-radius: 50px;
}
.navbar-inverse .navbar-nav > li:last-child:hover > a {
  background-color: #ad0712;
  color: #fff;
}
.navbar-inverse .navbar-nav > li:hover > a {
  color: #ad0712;
}

/* dropdown menu */
.navbar-nav > li > .dropdown-menu {
  background: #fff;
  margin-top: 25px;
  padding-bottom: 0;
}
.dropdown-menu > li > a {
  color: #333;
  padding: 8px 20px;
  font-size: 14px;
  border-bottom: 1px solid #eee;
}
.dropdown-menu > li > a:hover {
  background: #f2f2f2;
}


/* --- sns-icon --- */
ul.sns-icon {
    display: inline-block;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 10px;
    right: 230px;
    line-height: 0;
}
ul.sns-icon li {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 5px;
  padding: 5px;
  color: #fff;
  background-color: #ad0712;
  border-radius: 100%;
  border: 2px solid #ad0712;

  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
}
ul.sns-icon li a {
  color: #fff;
}
ul.sns-icon li a i {
  font-size: 23px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

ul.sns-icon li:hover {
  background-color: #fff;
}
ul.sns-icon li:hover a {
  color: #ad0712;
}
@media (max-width: 991px) {
  ul.sns-icon { right: auto; left: 15px; }
}
@media(max-width:767px) {
  ul.sns-icon { position: relative; top: 0; left: 0; padding: 25px 0 15px; }
  ul.sns-icon li { margin: 0 10px; width: 45px; height: 45px; border: 2.5px solid #ad0712; }
  ul.sns-icon li a i { font-size: 26px; }
}



/* -------------------------------------------------------
   Header
------------------------------------------------------- */
#hd01 {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 160px auto 0;
}
#hd01 .slider-cover {
  width: 50%;
  max-width: 600px;
  position: absolute;
  right: 3%;
  bottom: 4%;
  z-index: 10;
}

.slick-slider {
    margin-bottom: 30px;
    width: 100%;
    margin: auto;
}
#hd01 .style-box {
  background-color: #fff;
}
#hd01 .style-box:focus{ outline: none; }
#hd01 .style-box img {
  width: 100%;
}


/* -------------------------------------------------------
   Top page
------------------------------------------------------- */

/* ---------- contents ---------- */
#contents {
  position: relative;
  padding-top: 40px;
  padding-bottom: 80px;
}
.top-page h3 {
  color: #ad0712;
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 36px;
  font-weight: normal;
  font-style: italic;
  margin: 0 auto;
  padding: 35px 0;
  letter-spacing: 3px;
}
.top-page h3 span {
  padding-left: 20px;
  font-size: 0.55em;
  font-style: normal;
}

/* ---------- btn CSS ---------- */
#contents .btn01-wrap {
  margin: 35px auto;
  text-align: center;
}
/*-- btn01 --*/
#contents .btn01 {
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1;
  color: #ad0712;
  border: 1px solid #ad0712;
  margin: 30px auto;
  padding: 10px 15px;
  white-space: inherit;
}
#contents .btn01:hover {
  color: #fff;
  background-color: #ad0712;
}
#contents .btn01:after {
  padding-left: 20px;
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
}
/*-- btn02 --*/
#contents .btn02 {
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1;
  color: #fff;
  background-color: #ad0712;
  border: 1px solid #ad0712;
  border-radius: 0;
  margin: 30px auto;
  padding: 10px 15px;
  white-space: inherit;
}
#contents .btn02:hover {
  color: #ad0712;
  background-color: #fff;
}
#contents .btn02:after {
  padding-left: 20px;
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
}

.bg01 {
  background-image: url(../img/bg01.png);
  background-repeat:  no-repeat;
  background-position: center;
  background-size: cover;
  padding: 15px;
}
.bg02 {
  background-image: url(../img/bg02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 1%;
}


/* -------------------------------------------------------
   ページネーション
------------------------------------------------------- */
.pagination {
  margin:auto;
  text-align:center;
}
.pagination ul {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  border-radius: 3px;
  margin: 0 auto;
  padding: 0;
}
.pagination li {
  flex-wrap: wrap;
  overflow: hidden;
  margin: 4px;
  padding: 0;
}
.pagination li a , .pagination li span {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 3px 0 0;
  padding: 0.5em 0;
  border-radius: 5px;
  text-decoration: none;
  color: #666;
  border:2px solid #fff;
}
.pagination li:first-child a , .pagination li:last-child a {
  width: auto;
  padding: 0.5em 10px;
}
.pagination a:hover , .pagination li span {
  color: #fff;
  background-color: #ad0712;
  border:2px solid #ad0712;
}
@media(max-width:767px) {
  .pagination li { margin: 3px; }
  .pagination li a, .pagination li span {
    font-size: 14px;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
  }
  .pagination li:first-child a , .pagination li:last-child a { padding: 0 5px; }
}


/* ---------- news01 ---------- */
/*--- news box ---*/
.news01-box {
  background-color: #fff;
  margin: 15px auto;
  padding: 15px;
}
.news01-box .img_wrap {
  width: 120px;
  height: 120px;
  display: inline-block;
  overflow: hidden;
}
.news01-box .img_wrap img {
  width: 100%;
  object-fit: contain;
  transition-duration: 0.5s;
}
.news01-box .txt_wrap {
  width: calc(100% - 135px);
  float: right;
  margin-left: 15px;
  transition-duration: 0.5s;
  overflow: hidden;
}
.news01-box .txt_wrap p {
  padding: 0;
  line-height: 1.8!important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.news01-box .txt_wrap p:first-child { height: 5.5em; }

.news01-box .day {
  font-size: 0.95em;
  -webkit-line-clamp: 1;
}
.news01-box:hover .img_wrap img {
  transform: scale(1.1);
  transition-duration: 0.5s;
}
.news01-box:hover .txt_wrap {
  color: #ad0712;
}

/* ---------- topics01 ---------- */
/*--- topics box ---*/
.topics01-box {
  border: 1px solid #ad0712;
  padding: 5px 30px;
}
.topics01-box dl:last-child {
  border-bottom: none;
}
.topics01-box dl dt {
  position: relative;
  /*width: 325px;*/
}
/*.topics01-box dl:first-child dt:before , .topics01-box dl:nth-child(2) dt:before {*/
.topics01-box dl dt.new_topics::before {
  position: absolute;
  left: -46px;
  top: 50%;
  transform: translateY(-50%);
  content: "NEW";
  width: 38px;
  height: 38px;
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 12.5px;
  font-weight: normal;
  font-style: italic;
  color: #fff;
  padding: 8px 3px;
  background-color: #ad0712;
  border: 2px solid #fff;
  border-radius: 100%;
}
.topics01-box dl dt a.cat {
  padding: 2px 7px 1px;
  margin: 0 0 0 10px;
  color: #ad0712;
  border: 1px solid #ad0712;
  border-radius: 50px;
  font-size: 0.8em;
  line-height: 1;
  opacity: 1;
}
.topics01-box dl:hover dt a.cat {
  color: #fff;
  background-color: #ad0712;
}
.topics01-box dl:hover dd > a {
  color: #ad0712;
}

#topics01 .btn {
  width: 60%;
  padding: 15px;
  margin: 40px 0 0;
}
#topics01 .btn:hover {
  color: #fff;
}


/* ---------- message01 ---------- */
#msg01 {

}
#msg01 .msg01-box {
  background-color: #f5f5f5;
  border: 5px solid #fff;
  position: relative;
  padding: 35px 35px 30px;
}
#msg01 .msg01-img01 {
  width: 135px;
  margin-top: 35px;
  margin-left: 80px;
}
#msg01 .msg01-box .msg01-tit {
  position: absolute;
  color: #ad0712;
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 21px;
  font-weight: normal;
  font-style: italic;
  letter-spacing: 2px;
}
#msg01 .msg01-box .msg01-txt {
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.5px;
}
#msg01 .msg01-box .msg01-img {
  position: absolute;
  /*zoom: 0.35;*/
}

/*--- 01 ---*/
#msg01 .msg01-box01 {
  display: inline-block;
  width: calc(100% - 250px);
  max-width: 620px;
  margin-left: 25px;
  margin-bottom: 120px;
}
#msg01 .msg01-box01::before {
  position: absolute;
  right: -35px;
  bottom: -30px;
  content: "";
  width: 70%;
  height: 90%;
  background-color: #f5f5f5;
  z-index: -1;
}
#msg01 .msg01-box01::after {
  position: absolute;
  right: -60px;
  bottom: -60px;
  content: "";
  display: inline-block;
  width: 35%;
  height: 80%;
  background-image: url(../img/top-msg05.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  vertical-align: middle;
  z-index: 10;
}
#msg01 .msg01-box01 .msg01-tit {
  top: -16px;
  left: 25px;
}
#msg01 .msg01-box01 .msg01-img {
  top: -32px;
  right: -10%;
}
#msg01 .msg01-box01 .msg01-img img { width: 75px; }
/*--- 02 ---*/
#msg01 .msg01-box02 {
  display: inline-block;
  width: 45%;
  max-width: 600px;
  padding: 20px 15px;
}
#msg01 .msg01-box02::before {
  position: absolute;
  right: -25px;
  top: -25px;
  content: "";
  width: 80%;
  height: 90%;
  background-color: #f5f5f5;
  z-index: -1;
}
#msg01 .msg01-box02 .msg01-tit {
  top: -46px;
  right: 25px;
}
#msg01 .msg01-box02 .msg01-img {
  top: -70px;
  left: 0%;
}
#msg01 .msg01-box02 .msg01-img img { width: 150px; }
/*--- 03 ---*/
#msg01 .msg01-box03 {
  float: right;
  display: inline-block;
  width: 45%;
  max-width: 600px;
  padding: 20px 15px 35px;
}
#msg01 .msg01-box03::before {
  position: absolute;
  left: -45px;
  top: -25px;
  content: "";
  width: 100%;
  height: 95%;
  background-color: #f5f5f5;
  z-index: -1;
}
#msg01 .msg01-box03::after {
  position: absolute;
  left: -30%;
  bottom: -10px;
  content: "";
  display: inline-block;
  width: 65%;
  height: 55%;
  background-image: url(../img/top-msg06.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  vertical-align: middle;
  z-index: 10;
}
#msg01 .msg01-box03 .msg01-tit {
  top: -46px;
  right: 80px;
}
#msg01 .msg01-box03 .msg01-img {
  top: 85%;
  right: 10%;
}
#msg01 .msg01-box03 .msg01-img img { width: 150px; }

/* ---------- recruit01 ---------- */
#rct01 .rec01-box {
  margin-top: -25px;
}
#rct01 .rec01-box img {
  width: 100%;
}
#rct01 .rct01-wrap p {
  width: 92%;
  max-width: 700px;
  margin: 30px auto;
  padding: 0;
  text-align: center;
}

/* ---------- recruit01 ---------- */
#cafe01 .row img {
  width: 100%;
  max-width: 500px;
  margin: auto;
}
#cafe01 .row p {
  line-height: 2;
}

/* ---------- business01 ---------- */
#biz01 .style-box {
  margin: 0 5px;
  padding: 15px;
  border: 1px solid #ad0712;
}
#biz01 .style-box:focus{ outline: none; }
#biz01 .style-box img {
  width: 100%;
}
#biz01 .style-box p {
  height: 3em;
  padding: 10px 0 0;
  line-height: 1.3;
}

/* ---------- bnr01 ---------- */
#bnr01 {
  margin-top: 100px;
}
#bnr01 ul.bnr-icon {
  list-style: none;
  text-align: center;
  padding: 0;
}
#bnr01 ul.bnr-icon li {
  display: inline-block;
  margin: 0 15px 15px;
}
#bnr01 ul.bnr-icon li img {
  width: 160px;
  height: auto;
  object-fit: contain;
}


/* -------------------------------------------------------
   TOP PAGE
------------------------------------------------------- */
.topBtn {
  position: fixed;
  bottom: -20px;
  right: 5%;
  z-index: 100;
  display: block;
}
.topBtn img {
  /*zoom: 0.25;*/
  width: 65px;
  object-fit: contain;
}
.topBtn:hover , .topBtn:focus {
  opacity: 0.7;
}

/* -------------------------------------------------------
   Footer
------------------------------------------------------- */
footer {
  margin: 0px;
  background-color: #ad0712;
  padding: 25px 0 60px;
  color: #fff;
}
footer h2 {
  margin: 0;
  padding: 15px 0;
}
footer h2 img {
  /*zoom: 0.35;*/
  width: 120px;
  margin: 0 auto;
  display: inline-block;
}
footer .row {
  margin: 25px auto 35px;
}
footer h6 {
  color: #fff;
  font-size: 1em;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.5px;
  padding-left: 5px;
  border-left: 5px solid #fff;
}
footer h6 a {
  color: #fff;
  font-weight: normal;
}
footer .ft-menu {
  padding: 0;
  margin: 20px 0 0 15px;
  /*list-style-type: none;*/
}
footer .ft-menu li {
  /*display: inline-block;*/
  padding: 0 0 3px;
}
footer .ft-menu li a {
  font-size: 15px;
  color: #fff;
}
footer .ft-menu li a:hover , footer h6 a:hover {
  color: #ccc;
}

footer .ft-submenu {
  text-align: center;
  margin: 35px auto;
  list-style-type: none;
}
footer .ft-submenu li {
  display: inline-block;
  padding: 0 20px;
  border-right: 1px solid #fff;
}
footer .ft-submenu li:first-child {
  padding-left: 0;
}
footer .ft-submenu li:last-child {
  border-right: none;
}
footer .ft-submenu li a {
  font-size: 14px;
  color: #fff;
}
footer .ft-submenu li a:hover {
  color: #ccc;
}

footer .cp {
  text-align: center;
  margin: 0;
  padding: 0;
}

/* -------------------------------------------------------
   内部ページ
------------------------------------------------------- */
/* titbar */
#titbar {
  width: 100%;
  max-width: 1280px;
  position: relative;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
#titbar img {
  width: 100%;
}
#titbar h2 {
  width: 100%;
  position: absolute;
  bottom: 50px;
  right: 10%;
  color: #fff;
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 50px;
  font-weight: normal;
  font-style: italic;
  letter-spacing: 3px;
  text-align: right;

}
#titbar h2 .titsub {
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 0.55em;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 1px;
  margin-left: 25px;
}
.other-page {
    font-size: 17px;
}
.other-page h3 {
  color: #ad0712;
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 2em;
  font-weight: 700;
  margin: 0 auto;
  padding: 120px 0 35px;
  letter-spacing: 1px;
}
.other-page h3 span.titsub {
  padding-left: 20px;
  font-size: 0.7em;
  font-style: normal;
}
.other-page h4 {
  color: #ad0712;
  font-family: dinosaur, fot-tsukubrdgothic-std, sans-serif;
  font-size: 1.6em;
  font-weight: 700;
  margin: 0 auto;
  padding: 50px 0 15px;
  letter-spacing: 0.5px;
}
.other-page h4 span.titsub {
  font-family: "Avenir Next", Verdana , "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  padding-left: 1em;
  font-size: 0.75em;
  font-style: normal;
}
.other-page p {
  line-height: 1.8;
}
span.italic {
  font-style: italic;
  font-size: 1.1em;
  padding: 0 5px;
}
/*--- Mカフェ グリッド ---*/
ul.crowded{
/*
display: table;
line-height: 0;
padding: 0;
*/
list-style: none;
margin: 0 auto;
padding: 15px 0;
width: 100%;
column-count: 2;
column-gap: 0;
}
ul.crowded li{
  margin: 0 15px 30px;
  padding: 10px 25px;
/*
  display: table-cell;
  float: left;
  width: 47.2% !important;
  height: auto !important;
*/
  background-color: #fff;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
ul.crowded li:nth-child(4) { margin-bottom: 170px; }
ul.crowded img{
height: 70px;
max-width: 100%;
object-fit: contain;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
@media (max-width: 991px) {
  ul.crowded img { height: 55px; }
  ul.crowded li { margin: 0 10px 20px; }
}
@media(max-width:767px) {
  ul.crowded{ column-count: 1; }
  ul.crowded li:nth-child(4) { margin-bottom: 30px; }
}

/*--- 内部 list ---*/
.other-page .other-list01 {
    list-style: none;
    margin: 0;
    padding: 0;
    padding-left: 15px;
    counter-reset: li_count;
}
.other-page .other-list01 li {
    position: relative;
    margin-bottom: 15px;
    padding-left: 25px;
    line-height: 1.6;
}
.other-page .other-list01 li::before {
    position: absolute;
    left: 0;
    counter-increment: li_count;
    content: counter(li_count)".";
    color: #ad0712;
    font-weight: bold;
}

.other-page table {
  width: 100%;
  max-width: 100%;
  margin: 15px 0 30px;
}
.other-page table tbody {
	border-bottom: 1px solid #ddd;
}
.other-page table > tbody > tr:first-child > th , .other-page table > tbody > tr:first-child > td {
    border-top-width: 3px;
}
.other-page table > thead > tr > th , .other-page table > tbody > tr > th ,
.other-page table > thead > tr > td , .other-page table > tbody > tr > td {
  padding: 13px 25px;
  line-height: 1.42857143;
  vertical-align: middle;
  border-top: 1px solid #ddd;
}
.other-page table > thead > tr > th , .other-page table > tbody > tr > th {
  border-top: 1px solid #a0a0a0;
  font-weight: bold;
}
.other-page table > tbody > tr > th {
  width: 200px;
  white-space: nowrap;
}
.other-page table > tbody + tbody {
  border-top: 2px solid #ddd;
}

/*3列 役員表*/
@media screen and (max-width: 640px) {
  .table01 {
    width: 80%;
    border-top: 3px solid #a0a0a0;
  }
  .table01 .thead {
    display: none;
  }
  .table01 tr { width: 100%; border-bottom: 1px solid #ddd; }
  .table01 tr:last-child { border-bottom: none; }
  .table01 tr:first-child { display: none; }
  .table01 td {
    display: block;
    width: 100%;
  }
  .table01 td:first-child { padding-top: 15px; }
  .table01 td:empty { display: none; }
  .table01 td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 25px;
  }
}




/* -------------------------------------------------------
   各ページ スタイル
------------------------------------------------------- */

/* -- 料金表用テーブル -- */
.table_pricelist01 {
	display: table;
}
.other-page .table_pricelist01 th,
.other-page .table_pricelist01 td {
	text-align: center;
}
.other-page .table_pricelist01 td {
	background: #fff;
}
.other-page .table_pricelist01 tr:nth-child(odd) td {
	background: #f4f4f4;
}


/*--- Mカフェ ---*/
.mcafe-page span.italic { font-size: 1.3em; padding: 0 3px; letter-spacing: 5px; }
.mcafe-page .moon-bg01 { position: relative; margin-bottom: 50px; }
.mcafe-page .moon-bg01::before {
    position: absolute;
    right: -5%;
    bottom: -3%;
    transform: rotateY(180deg);
    content: "";
    display: inline-block;
    width: 65%;
    height: 300px;
    background-image: url(../img/bg02-before.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    vertical-align: middle;
    z-index: 10;
}
.mcafe-page .row .col-sm-6 p { line-height: 2; font-size: 1.05em; }
@media (max-width: 991px) {
  .mcafe-page .row .col-sm-6 p { font-size: 1em; line-height: 1.8; padding: 0 0 15px; }
  .mcafe-page .moon-bg01::before { bottom: -1%; }
}
@media(max-width:767px) {
  .mcafe-page .row .col-sm-6 p { padding: 15px 0; }
  .mcafe-page .moon-bg01::before { width: 96%; max-width: 400px; height: 200px; bottom: -0.5%; }
  .mcafe-page span.italic { font-size: 1.25em; letter-spacing: 3px; }
}

/*--- 内部 お知らせ ---*/
#search-results .topics01-box dl dt { width: 100px; }

/*--- 内部 お問い合わせ ---*/
.aform { width: 96%; max-width: 800px; margin: 0 auto; }
.aform-header { display: none; }
.aform-required { padding: 5px 5px 3px; }
.aform-error { margin-top: 5px; }

.aform-content dl dt { width: 215px; }

.aform-input[type="text"] { width: 96%; max-width: 360px; }
.aform-radio, .aform-checkbox {
    vertical-align: baseline;
    margin-right: 5px!important;
}
.aform-name-ul li { width: 100%; max-width: 260px; margin-bottom: 10px; }
.aform-name-ul li .aform-input[type="text"] { width: 90%; max-width: none; }
.aform-tel , .aform .parts-4 { max-width: 200px; }
.aform-email { width: 96%; max-width: 320px; }
.aform-prefecture { width: 96%; max-width: 180px; }
.aform-textarea { width: 96%; }
.aform-button-area { background-color: transparent; }
.aform input[type="button"], .aform input[type="submit"] {
    font-size: 18px;
    letter-spacing: 1px;
    line-height: 1;
    color: #ad0712;
    border: 1px solid #ad0712;
    background-color: transparent;
    padding: 10px 25px;
    white-space: inherit;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.aform input[type="submit"]:focus, .aform input[type="submit"]:hover ,
.aform input[type="button"]:focus, .aform input[type="button"]:hover {
    color: #fff;
    background-color: #ad0712;
}

/*-- Aform関係のページ --*/
.aform-header { display: none; }
.aform-content {
    width: 90%;
    max-width: 850px;
    margin: 35px auto 0;
}


/* -------------------------------------------------------
   Responsive
------------------------------------------------------- */
@media (min-width: 768px) {
  .navbar .container { width: 100%; max-width: 1280px; }
  .other-page > .container > .row { width: 96%; margin: 0 auto; }
}
@media (max-width: 991px) {
  /* navbar */
  .navbar { padding-top: 20px; padding-bottom: 20px; }
  .navbar-collapse { padding-top: 10px; }
  .navbar > .container .navbar-brand h1 img { /*zoom: 0.3;*/ width: 150px; }
  .navbar-inverse .navbar-nav > li { padding: 0; }
  .navbar-inverse .navbar-nav > li > a { padding: 0px 7px; font-size: 15px; }
  .navbar-inverse .navbar-nav > li:last-child > a { font-size: 0.9em; }
  #hd01 { margin: 145px auto 0; }
  /* top pgae */
  #contents { padding: 40px 0; }
  #topics01 h3 { margin: 0 -30px 20px; }
  #topics01 .btn { margin: 30px 0 0; }
  #msg01 .msg01-box01::before { right: -20px; bottom: -25px; }
  #msg01 .msg01-box03::before { left: -30px; }
  #msg01 .msg01-box02 , #msg01 .msg01-box03 { width: 46%; }
  footer { padding: 40px 0; }
  footer .bnr { float: none; text-align: center; }
  footer .ft-menu li { padding: 0 10px; }
  #titbar { margin-top: 60px; }
  #titbar h2 { bottom: 20px; right: 5%; }
  .other-page h3 { font-size: 1.8em; padding: 100px 15px 35px; }
}
@media(max-width:767px) {
  dl dt {
    float: none;
    padding:10px 0 0;
  }
  dl dd {
    padding: 7px 0px 10px;
  }
  .topics01-box { padding: 10px 20px; }
  .topics01-box dl dt a.cat { font-size: 0.75em; margin: 0; padding: 2px 5px 1px; }
  .other-page #topics01 { padding: 0 0 15px; }
  /* navbar */
  .navbar {
    padding-top: 0;
    padding-bottom: 0;
  }
  .navbar > .container .navbar-header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 68px;
    z-index: 999;
    background-color: #fff;
    filter: drop-shadow(0px 3px 6px rgba(112, 112, 112, 0.1));
  }
  .navbar-collapse {
    padding: 15px;
    position: absolute;
    top: 68px;
    z-index: 900;
    width: 100%;
    background-color: #fff;
    padding-top: 15px;
  }
  .navbar > .container .navbar-brand {
    float: left;
    position: relative;
    z-index: 10;
  }
  .navbar > .container .navbar-brand h1 {
    margin: 10px 10px 5px;
  }
  .navbar > .container .navbar-brand h1 img {
      margin: 0 auto;
  }
  .navbar-brand {
    float: none;
  }
  .navbar-nav {
    margin: 0;
  }
  .navbar-nav > li {
    display: block;
  }
  .navbar-inverse .navbar-nav > li > a {
    padding: 20px 0;
    border-bottom: 1px dotted #999;
    font-size: 16px;
    text-align: left;
  }
  .navbar-inverse .navbar-nav > li:last-child > a {
    font-size: 1.05em;
    display: inline-block;
    margin: 15px 0 0;
    padding: 10px 20px;
  }
  .dropdown-menu {
    padding: 0;
    margin: 10px 0;
  }
  .dropdown-toggle:after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 20px;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    padding: 12px 0px;
    color: #ad0712;
    font-size: 16px;
  }
  .navbar .button-wrap {
    position: absolute;
    width: 100%;
    display: table;
    float: right;
  }
  .navbar-toggle {
    background: #ad0712;
    margin: 0;
    padding: 22px;
    border-radius: 0;
    z-index: 999;
  }
  .navbar-toggle .icon-bar {
    background-color: #fff;
  }
  .navbar-collapse.in {
    /*height: calc(100vh - 68px);*/
    overflow-y: scroll;
/*
    position: absolute;
    z-index: 900;
    width: 100%;
    background-color: #fff;
    padding-top: 80px;
*/
  }
  .navbar > .container .form-inline {
    position: relative;
  }
  .navbar > .container .form-inline input[type="search"] {
    width: 200px;
    float: left;
  }
  .bg01 {
    padding: 5px 0;
    margin: 0px;
  }
  .txtright { text-align: center!important; }
  /* #hd01 */
  #hd01 { margin: 65px auto 0; }
  #hd01 .slider-cover {
    width: 100%;
    max-width: 600px;
    right: 50%;
    bottom: 9%;
    transform: translateX(50%);
  }
  /* top page */
  #contents {
    font-size: 16px;
    max-width: 600px;
    margin: 0 auto;
    padding-top: 0;
    padding-bottom: 30px;
  }
  #contents h3 {
    line-height: 1.3;
    letter-spacing: 1px;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    padding: 80px 0 35px;
  }
  .top-page h3 span { padding-left: 0; }
  #contents .btn { margin: 20px auto; font-size: 15px; }
  /* #news01 */
  .news01-box { margin: 12px auto; padding: 12px; }
  .news01-box .img_wrap { width: 100px; }
  .news01-box .txt_wrap { width: calc(100% - 115px); }
  .news01-box .txt_wrap p { padding: 0!important; }
  /* #topics01 */
  #topics01 { padding: 0 5px 15px; }
  #topics01 h3 { margin: 0; padding: 50px 0 25px; }
  .topics01-box dl dt.new_topics::before { top: 100%; }
  /* #msg01 */
  #msg01 .msg01-box01 , #msg01 .msg01-box02, #msg01 .msg01-box03 {
    display: block;
    width: 90%;
    margin: auto;
    margin-bottom: 100px;
    border: 3px solid #fff;
  }
  #msg01 .msg01-box01 { margin-bottom: 90px; padding: 35px 25px 30px; }
  #msg01 .msg01-box01::before { right: -15px; bottom: -25px; }
  #msg01 .msg01-box01::after { right: -5%; bottom: -32px; width: 45%; height: 65%; }
  #msg01 .msg01-box02 { margin-bottom: 60px; padding: 20px 15px; }
  #msg01 .msg01-box02::before { right: -15px; }
  #msg01 .msg01-box03 { float: none; margin-bottom: 15px; padding: 20px 15px 35px; }
  #msg01 .msg01-box03::before { left: -15px; }
  #msg01 .msg01-box03::after { left: auto; right: 10px; bottom: 95%; width: 42%; max-width: 150px; height: 50%; background-image: url(../img/top-msg03.png); }
  #msg01 .msg01-box03 .msg01-tit { right: auto; }
  #msg01 .msg01-box .msg01-txt { font-size: 0.95em; letter-spacing: 0.2px; }
  #msg01 .msg01-box01 .msg01-img { top: auto; bottom: 95%; right: -3%; }
  #msg01 .msg01-box01 .msg01-img img { width: 62px; }
  #msg01 .msg01-box02 .msg01-img { top: auto; bottom: 105%; left: 5%; }
  #msg01 .msg01-box02 .msg01-img img { width: 100px; }
  #msg01 .msg01-box03 .msg01-img { top: 80%; right: auto; left: -25px; }
  #msg01 .msg01-box03 .msg01-img img { width: 115px; }
  /* #cafe01 */
  #cafe01 .row p { line-height: 2; }
  /* #rct01 */
  #rct01 .rec01-box { margin-top: 0px; position: relative; }
  #rct01 .rec01-box::before {
    position: absolute;
    left: 40%;
    bottom: 95%;
    content: "";
    display: inline-block;
    width: 80%;
    max-width: 360px;
    height: 80%;
    background-image: url(../img/top-rct01before.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    vertical-align: middle;
    z-index: 10;
  }
  /* footer */
  footer { font-size: 16px; padding: 30px 0px; }
  footer h2 { text-align: center; font-size: 20px; display: block; padding: 0; margin: 0 0 20px; }
  footer .bnr li { margin-bottom: 5px; }
  footer .row { margin: 5px auto 20px; }
  footer .ft-menu { /*display: none;*/ margin: 15px 0 10px 15px; }
  footer .ft-menu li { padding: 0; }
  footer h6 { margin: 15px auto; }
  footer .ft-submenu { margin: 20px auto 30px; }
  footer .cp { text-align: center; font-size: 0.85em; }
  /* 内部ページ */
  #titbar { margin-top: 65px; }
  #titbar h2 { bottom: 15px; right: 15%; font-size: 36px; letter-spacing: 2px; }
  #titbar h2 .titsub { display: block; font-size: 0.55em; margin-left: 0; }
  .other-page { width: 92%; margin: 0 auto; }
	
	.other-page table > thead > tr > th,
	.other-page table > tbody > tr > th,
	.other-page table > thead > tr > td,
	.other-page table > tbody > tr > td {
		width: 100%;
		display: block;
	}
	/* -- 料金表用テーブル -- */
	.other-page .table_pricelist01 {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.other-page .table_pricelist01 th,
	.other-page .table_pricelist01 td {
		display: table-cell !important;
	}

	
  .other-page table > thead > tr > th, .other-page table > tbody > tr > th { padding: 15px 15px 10px; }
  .other-page table > thead > tr > td, .other-page table > tbody > tr > td { border-top: none; padding: 0 15px 15px; }
  .other-page h3 { letter-spacing: 0.5px!important; font-size: 1.65em!important; padding: 50px 0 25px!important; }
  .other-page h3 span.titsub { display: block; padding-left: 0; }
  .other-page h4 { font-size: 1.45em; font-weight: bold; padding: 35px 0 15px; }
  .other-page h4 span.titsub { display: block; padding-left: 0; font-size: 0.75em; }
}