@charset "UTF-8";
body {
  line-height: 1.8em;
  min-width: 0;
}

#header {
  height: 60px;
  padding: 14px 0 0 15px;
}

#header .h-logo {
  padding: 0;
  width: 220px;
}

#header .h-reserve {
  display: none;
}

.humberger {
  top: 20px;
  right: 20px;
  width: 30px;
  height: 20px;
}

.humberger.is-on span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(45deg);
  transform: translateY(9px) rotate(45deg);
}

.humberger.is-on span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}

.g-navi {
  width: 100%;
}

.g-navi .navi-inner {
  padding: 60px 0 0;
}

.g-navi .navi-inner .navi-list {
  margin: 0 0 15px;
}

.g-navi .navi-inner .navi-list > li {
  line-height: 50px;
}

.g-navi .navi-inner .navi-list > li > a {
  padding: 0 22px 0 0;
}

#mainimage .main-logo {
  width: 150px;
}
#mainimage .page-scroll {
  bottom: 2%;
}

/*------------
zoom slider
--------------*/
.t-h3 {
  font-size: 25px;
  margin: 0 auto 30px;
}

.t-inner {
  width: 100%;
}

.sec00 {
  display: block;
  padding: 20px;
}

.sec01 {
  display: block;
  padding: 50px 0 0;
}

.sec01 .sec01-bg {
  margin: 0 0 50px;
  height: 200px;
  width: 100%;
}

.sec01 .sec01-info {
  padding: 0 15px;
  width: 100%;
}

.sec01 .sec01-info .inner {
  width: 100%;
}

.sec01 .sec01-info .jp {
  margin: 0 0 20px;
}

.sec01 .sec01-info .en {
  margin: 0 0 20px;
}

.sec01 .sec01-ttl {
  display: table;
  font-size: 25px;
  padding: 0 0 15px;
  margin: 0 auto 30px;
  text-align: center;
}

.sec02 {
  padding: 50px 15px 0;
}

.sec02 .sec02-gallery {
  margin: 0;
}

.sec02 .sec02-gallery li {
  margin: 0;
  width: 50%;
}

.sec03 {
  padding: 50px 15px 0;
}

.sec03 .t-inner {
  display: block;
}

.sec03 .sec03-block {
  padding: 0 0 70px;
  width: 100%;
}

.sec03 .sec03-block + .sec03-block {
  margin-top: 40px;
}

.sec03 .sec03-block .ttl {
  border-bottom: 4px solid #000;
  display: table;
  font-size: 25px;
  padding: 0 0 15px;
  margin: 0 auto 20px;
  text-align: center;
}

.sec03 .sec03-block .ttl:after {
  display: none;
}

.sec03 .sec03-block .jp {
  margin: 0 0 15px;
}

.sec03 .sec03-block .btn {
  width: 100%;
}

.sec04 {
  padding: 50px 15px 0;
}

.sec04 .sec04-post {
  display: block;
  margin: 0;
}

.sec04 .sec04-post li {
  margin: 0;
  width: 100%;
}

.sec04 .sec04-post li + li {
  margin-top: 15px;
}

.sec04 .sec04-post .post-img {
  margin: 0 15px 0 0;
  width: 80px;
}

.sec04 .sec04-post .post-info .time {
  margin: 0;
}

.sec04 .sec04-post .post-info .ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.sec05 {
  display: block;
  padding: 50px 15px 0;
}

.sec05 .sec05-info {
  margin: 0 0 30px;
  width: 100%;
}

.sec05 .sec05-info .inner {
  float: none;
  width: 100%;
}

.sec05 .sec05-info .sec05-wrapper {
  display: block;
  margin: 0 0 30px;
}

.sec05 .sec05-info .sec05-wrapper .logo {
  padding: 0;
  margin: 0 auto 20px;
  width: 250px;
}

.sec05 .sec05-info .sec05-wrapper .reserve a {
  text-align: center;
  width: 100%;
}

.sec05 .sec05-info .sec05-wrapper .reserve a:before {
  content: "";
  background: url(../images/share/icon01_b.png) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 22px;
  height: 22px;
  margin: 0 13px 0 0;
  vertical-align: -4px;
}

.sec05 .sec05-info .jp {
  margin: 0 0 20px;
}

.sec05 .sec05-ttl {
  border-bottom: 4px solid #000;
  display: table;
  font-size: 25px;
  padding: 0 0 15px;
  margin: 0 auto 20px;
  text-align: center;
}

.sec05 .sec05-map {
  height: auto;
  width: 100%;
}

.top-instagram {
  padding: 30px 0 0;
}

.pagetop a {
  right: 50%;
  bottom: -25px;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
  width: 50px;
}

#footer {
  padding: 70px 15px 15px;
  width: 100%;
  z-index: 0;
}

#footer .f-sns {
  display: block;
  text-align: center;
  margin: 0 0 50px;
}

#footer .f-sns .ttl {
  margin: 0 0 15px;
}

#footer .f-sns ul {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#footer .f-sns ul li {
  margin: 0 15px;
}

#footer .site-map ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 50px;
}

#footer .site-map ul li {
  margin: 0 5px 10px;
}

#footer .site-map ul li:after {
  display: none;
}

/*------------
下層レイアウト
--------------*/
.page-ttl {
  height: 240px;
}

.page-ttl h2 {
  font-size: 30px;
  padding: 30px 0 0;
}

.breadcrumb {
  padding: 0 15px;
  margin: 10px 0;
}

.breadcrumb ul {
  width: 100%;
}

#under-middle {
  padding: 50px 0;
  overflow: hidden;
}

/*------------
パーツ
--------------*/
.h301 {
  margin: 0 0 30px;
}

.h301 .en {
  font-size: 25px;
  padding: 0 0 15px;
  margin: 0 0 30px;
}

.h301 .en:after {
  width: 50px;
}

.h302 {
  font-size: 25px;
  padding: 0 0 20px;
  margin: 0 0 30px;
}

.h401 {
  padding: 0 0 10px;
  margin: 0 0 30px;
}

.h401 .en {
  font-size: 25px;
  padding: 0 0 5px;
}

.h401 .en:after {
  display: none;
}

.btn-style01 {
  width: 100%;
}

.page-wrapper {
  padding: 0 15px;
  width: 100%;
}

.tall + .tall {
  margin-top: 50px;
}

.short + .short {
  margin-top: 50px;
}

.u-intro {
  margin-bottom: 50px;
}

.bg-gray {
  padding: 0 0 50px;
}

.bg-gray:before {
  top: 50px;
}

.l-style01 {
  display: block;
}

.l-style01 .left-side {
  margin: 0 0 30px;
  width: 100%;
}

.l-style01 .right-side {
  width: 100%;
}

.list-style02 li {
  margin-bottom: 5px;
}

.list-style02 li:before {
  top: 10px;
}

/*------------
ABOUT
--------------*/
.about-hiro {
  padding: 0 15px;
  margin: 0 auto 30px;
  width: 100%;
}

.gallery-list {
  margin: 0;
}

.gallery-list > li {
  margin: 0;
  width: 50%;
}

/*------------
GALLERY
--------------*/
.select-area {
  padding: 25px 0;
  margin: 0 0 50px;
}

.select-area .page-wrapper {
  display: block;
}

.select-area .select-box {
  display: block;
  width: 100%;
}

.select-area .select-box + .select-box {
  margin-top: 15px;
}

.select-area .select-ttl {
  font-size: 17px;
  padding: 0 0 0 20px;
  margin: 0 0 5px;
}

.select-area .select-ttl:before {
  width: 10px;
}

.under-gallery {
  margin: 0;
}

.under-gallery li {
  margin: 0;
  width: 50%;
}

.single-gallery {
  padding: 0;
  margin: 0;
  width: 100%;
}

.gallery-wrapper {
  display: block;
}

.gallery-wrapper .left-side {
  display: block;
  margin: 0 0 30px;
  width: 100%;
}

.gallery-wrapper .right-side {
  padding: 0 15px;
  width: 100%;
}

.gallery-wrapper .gallery-main {
  text-align: center;
  margin: 0 auto 15px;
  width: 300px;
}

.gallery-wrapper .gallery-ttl {
  font-size: 20px;
}

/*------------
PRICE
--------------*/
.dl-price {
  display: block;
}

.dl-price dt {
  margin-bottom: 5px;
  padding: 0 0 5px;
  width: 100%;
}

.dl-price dd {
  border-bottom: none;
  margin-bottom: 5px;
  padding: 0 0 10px;
  width: 100%;
}

/*------------
ARTIST
--------------*/
.artist-list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0;
}

.artist-list > li {
  margin: 0 0 15px;
  width: calc(50% - 7.5px);
  position: relative;
  overflow: hidden;
}

.artist-list .artist-name {
  color: #000;
  position: static;
  top: 0;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  letter-spacing: .1rem;
  opacity: 1;
  padding: 10px 0 0 15px;
}

.artist-list > li:hover .artist-name {
  letter-spacing: 0.1rem;
}

.single-artist {
  padding: 0 15px;
  margin: 0;
  width: 100%;
}

.artist-wrapper {
  display: block;
  margin: 0 0 30px;
}

.artist-wrapper .left-side {
  text-align: center;
  margin: 0 0 25px;
  width: 100%;
}

.artist-wrapper .right-side {
  width: 100%;
}

.artist-wrapper .artist-name {
  font-size: 20px;
  padding: 0 0 5px;
  margin: 0 0 25px;
  letter-spacing: 2px;
}

/*------------
ACCESS
--------------*/
.u-map {
  margin: 0 0 30px;
}

.dl-access {
  margin: 0 0 30px;
}

.dl-access dt {
  float: none;
}

.dl-access dd {
  padding: 0;
}

.card-access {
  display: block;
  margin: 0;
}

.card-access > li {
  margin: 0;
  width: 100%;
}

.card-access > li + li {
  margin-top: 25px;
}

.card-access .card-img {
  margin: 0 0 25px;
}

.card-access .card-info {
  line-height: 1.7em;
}

.parking-message {
  text-align: left;
  margin: 0 0 30px;
}

/*------------
APPOINTMENT
--------------*/
.btn-appointment {
  display: block;
}

.btn-appointment li {
  width: 100%;
}

.btn-appointment li + li {
  margin-top: 15px;
}

/*------------
CONTACT
--------------*/
.contact-message {
  text-align: left;
  margin: 0 0 30px;
}

.contact-form {
  width: 100%;
}

.contact-form table {
  margin: 0 0 60px;
}
.contact-form table colgroup{
  display: none;
}

.contact-form table th {
  display: block;
  border-width: 0 0 1px;
  padding: 15px 10px;
  line-height: 1;
}

.contact-form table td {
  border-width: 0 0 1px;
  display: block;
  padding: 15px 10px;
}

.contact-form input[type="number"].zip_code1 {
  width: 80px;
}

.contact-form input[type="number"].zip_code2 {
  width: 100px;
}

.contact-form .mwform-tel-field input[type="number"] {
  width: 29%;
}

/*------------
投稿レイアウト
--------------*/
#under-post {
  padding: 50px 0;
  margin: 0 auto;
  width: 100%;
}

#under-post .contents {
  float: none;
  padding: 0 15px 30px;
  width: 100%;
}

#under-post .post-category {
  float: none;
  width: 100%;
  padding: 25px;
  background: #212121;
  color: #fff;
  z-index: 10;
}

#under-post .post-category .category-ttl {
  border-bottom: 1px solid #fff;
  font-size: 14px;
  letter-spacing: 2px;
  line-height: 1.5em;
  padding: 0 0 5px;
  margin: 0 0 20px;
}

#under-post .post-category ul li {
  margin: 0 0 15px;
  width: 100%;
}

#under-post .post-category ul li a {
  color: #fff;
  display: block;
  font-size: 13px;
  line-height: 1.5em;
}

.post-list {
  display: block;
  margin: 0;
}

.post-list > li {
  padding: 0 0 10px;
  margin: 0 0 10px;
  width: 100%;
}

.post-list .post-img {
  float: left;
  margin: 0 15px 0 0;
  width: 100px;
}

.post-list .post-info {
  overflow: hidden;
}

.post-list .post-info .ttl {
  font-size: 13px;
  margin: 0 0 5px;
}

.post-list .post-info .txt {
  display: none;
}

.post-list .post-info .category {
  line-height: 1;
  margin: 0 0 10px;
}

.post-list .post-info .category li {
  display: inline-block;
}

.post-list .post-info .category li a {
  font-size: 10px;
  padding: 4px 10px;
}

.post-list .post-info .category li a:hover {
  opacity: .5;
}

.post-list .post-info .time {
  text-align: right;
  font-size: 10px;
}

.single-post .first-block {
  display: block;
  margin: 0 0 30px;
}

.single-post .first-block .post-img {
  text-align: center;
  margin: 0 0 30px;
  width: 100%;
}

.single-post .first-block .post-data {
  width: 100%;
}

.single-post .first-block .post-data .ttl {
  padding: 0 0 5px;
  margin: 0 0 15px;
}

.single-post .first-block .post-data .category {
  line-height: 1;
  margin: 0 0 15px;
}

.single-post .first-block .post-data .category li {
  display: inline-block;
}

.single-post .first-block .post-data .category li a {
  color: #fff;
  background: #212121;
  border-radius: 10px;
  font-size: 12px;
  display: inline-block;
  padding: 5px 10px;
  -webkit-transition: .5s;
  transition: .5s;
}

.single-post .first-block .post-data .category li a:hover {
  opacity: .5;
}

.single-post .first-block .post-data .time {
  font-family: "Monda";
  line-height: 1;
  margin: 0 0 10px;
}

.post-number {
  margin: 30px 0 0;
}

/*------------
Commmon
--------------*/
#map-custmomize {
  height: 300px !important;
}

.sp-br {
  display: none;
}

.pc-only {
  display: none;
}

.sp-only {
  display: block;
}

.pt60-20 {
  padding-top: 20px !important;
}

.fo46-20 {
  font-size: 20px !important;
}

/*Text-align*/
.sp-tac {
  text-align: center !important;
}

.sp-tar {
  text-align: right !important;
}

.sp-tal {
  text-align: left !important;
}

/*Layout*/
.l-imgR .l-img, .l-imgL .l-img {
  float: none;
  text-align: center;
  margin: 0 0 15px;
  width: 100%;
}

.l-imgR .l-img figcaption, .l-imgL .l-img figcaption {
  text-align: center;
}

/* column */
.col2 > li {
  margin: 0 0 25px;
  width: 100%;
}

.col3 {
  margin: 0;
}

.col3 > li {
  margin: 0 0 25px;
  width: 100%;
}

.col4 {
  margin: 0;
}

.col4 > li {
  margin: 0 0 25px;
  width: 100%;
}

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

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