@charset 'utf-8';
/*
Theme Name: zen.mirantipu.com
Theme URI: REBIRTH
Description: REBIRTH
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');


* {
  font-family: '游明朝', 'Yu Mincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', 'Noto Serif JP', serif;
  letter-spacing: 0.05em;
  margin: 0 auto;
  padding: 0;

  overflow-wrap: break-word;

  tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-feature-settings: 'palt';
}
* > br,
.base * > br,
.base figcaption > br {
  line-height: inherit;
}

body {
  background: #000000;
  text-align: center;

  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  -o-text-size-adjust: none;
  text-size-adjust: none;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  border: 0;
}
figure { margin-bottom: 0; }

table {
  border-collapse: collapse;
}

h1, h2, h3, h4, h5, h6 { font-weight: 400; }

.kc,
.base em {
  color: rgba(255, 255, 255, 1);
}

a {
  color: #ffffff;
  line-height: inherit;
  text-decoration: none;
}
:focus { outline: none; }

time,
i,
small {
  letter-spacing: 0 !important;
}

iframe {
  display: block;
}



header,
nav,
footer,
main {
  color: #ffffff;
  text-align: left;
}


header {
  width: 100%;

  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
#header {
  position: relative;
  box-sizing: border-box;
}
#header h1 {
  font-size: 0.5em;
  overflow: hidden;
}
#header h1 svg {
  width: 100%;
  fill: #ffffff;
}


footer {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
}
#footer {
  padding-top: 1.25em;
  padding-bottom: 1.25em;
}
#footer:after {
  content: '';
  clear: both;
  display: block;
}
footer small {
  display: block;
  font-size: 0.8em;
  text-align: center;
}


main {
}
main:after {
  content: '';
  clear: both;
  display: block;
}


#nodata {
  text-align: center;
  padding-top: 140px;
}


.left {
  float: left;
}
.right {
  float: right;
}
.clear {
  clear: both;
}

.c {
  border-radius: 50%;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.cc {
  position: relative;
  overflow: hidden;
}
.cc > * {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

.w100 {
  width: 100%;
  max-height: initial;
}
.h100 {
  max-width: initial;
  height: 100%;
}

a,
input[type='submit'],
input[type='reset'],
.tw {
  transition: all 1.0s cubic-bezier(0.2, 1.0, 0.2, 1.0);
}



#home {
  overflow: hidden !important;
}
#home .section { background: no-repeat center / cover; }
#home .section * {
  line-height: 2em;
}
#home .section article {
  font-weight: 700;
  text-align: center;
}
#home .section article p {
  text-shadow: 0 0 0.5em rgba(0, 0, 0, 1), 0 0 0.75em rgba(0, 0, 0, 1), 0 0 1em rgba(0, 0, 0, 1);
}
#home .section article a {
  display: block;
  background: rgba(50, 50, 50, 0.9);
  width: 240px;
  letter-spacing: 0.25em;
  text-indent: 0.25em;
  text-align: center;
  margin-top: 1.75em;
}
#home #c1 {
  text-align: center;
  position: relative;
}
#home #c1:before {
  content: '';
  display: block;
  background: rgba(0, 0, 0, 0.35);
  width: 100%;
  height: 100%;

  position: absolute;
  top: 0;
  left: 0;
}
#home #c1 * {
  line-height: 2.5em;
  position: relative;
}
#home #c1 svg {
  width: 70px;
  fill: #ffffff;
  filter: drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.5));
}
#home #c1 h1 {
  font-weight: 900;
  margin-top: 2em;
  text-shadow: 0 0 0.5em rgba(0, 0, 0, 1), 0 0 0.75em rgba(0, 0, 0, 1), 0 0 1em rgba(0, 0, 0, 1);
  white-space: nowrap;
}



#pmain {
  background: no-repeat center / cover;
  margin-bottom: 60px;
  position: relative;
}
#menu #pmain { background-image: url('image/home/1A7A1067.jpg'); }
#pmain:before {
  content: '';
  display: block;
  background: rgba(0, 0, 0, 0.35);
  width: 100%;
  height: 100%;

  position: absolute;
  top: 0;
  left: 0;
}
#pmain h1 {
  background: rgba(50, 50, 50, 0.9);
  font-weight: 700;
  letter-spacing: 0.25em;
  line-height: 2.8em;
  text-indent: 0.25em;
  padding: 0 3em;
  white-space: nowrap;

  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}


#menu .box {
  position: relative;
}
#menu .box * {
  line-height: 1.6em;
}
#menu .box > h6 {
  font-size: 0.8em;
  text-align: right;
  margin-top: -30px;
}
.mt {
  position: relative;
}
.mt > h1 {
  background: rgba(255, 255, 255, 0.9);
  color: #000000;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  padding: 0.25em 1.25em;

  position: absolute;
  top: 0;
  left: 0;
}
#menu main > section:nth-of-type(3) {
  padding-top: 50px;
}
#menu main > section:nth-of-type(n+4) {
  padding-top: 100px;
}
#menu .box h3 {
  font-size: 1.2em;
  margin-top: 60px;
  padding-bottom: 0.5em;
  padding-left: 1.5em;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
  position: relative;
}
#menu .box h3:before {
  content: '◆';
  color: rgba(255, 255, 255, 0.5);

  position: absolute;
  left: 0;
}
#menu .box h3 span {
  display: inline-block;
  font-size: 0.8em;
}
#menu .box article div {
  margin-top: 1em;
  padding-right: 0.25em;
  padding-left: 0.25em;
  position: relative;
}
#menu .box article div h4 {
  font-size: 1em;
}
#menu .box article div h6 {
  font-size: 0.9em;

  position: absolute;
  top: 0.15em;
  right: 0.5em;
}
#menu .box article h5 {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9em;
  padding-top: 0.15em;
}
#menu .box article div h6:after { content: '円'; }
#menu .box article div h6.to:after { content: '円～'; }
#menu .box article ul {
  font-size: 0.9em;
  padding-left: 1.3em;
}
#menu .box article li {
  margin-top: 0.5em;
}
#menu .box article div font {
  display: block;
  color: rgba(255, 255, 255, 0.75);
  padding-left: 1em;
  position: relative;
}
#menu .box article div font:before {
  content: '_';

  position: absolute;
  left: 0;
}



.slider {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.slider ul,
.slider ul li {
  float: left;
  overflow: hidden;
}
.slider ul {
  position: relative;
}
.slider ul:after {
  content: '';
  clear: both;
  display: block;
}
.slider ul li {
  display: block;
  position: relative;
  box-sizing: border-box;
}
.slider ul li:last-of-type {
  position: absolute;
  top: 0;
  right: 0;
}
.slider ul li img {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-fit: cover;
}
.wideslider_base,
.wideslider_wrap {
  position: absolute;
  top: 0;
}
.wideslider_wrap {
  overflow: hidden;
}
.slider_prev,
.slider_next {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 100;
  overflow: hidden;
  cursor: pointer;
}
.slider_prev:after,
.slider_next:after {
  display: block;
  background: rgba(0, 0, 0, 0.8);
  height: 0;
  color: #ffffff;
  font-family: 'Font Awesome 6 Free';
  font-weight: bold;
  line-height: 0;
  text-align: center;

  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.slider_prev:after {
  content: '\f053';
  left: 0;
}
.slider_next:after {
  content: '\f054';
  right: 0;
}
.pagination,
.pagination * {
  line-height: 0;
  vertical-align: top;
  box-sizing: border-box;
}
.pagination {
  width: 100%;
  text-align: center;
}
/*
.pagination a {
  display: inline-block;
  text-decoration: none;
  overflow: hidden;
}
.pagination a.active,
.pagination a:active,
.pagination a:hover {
  opacity: 0.5 !important;
}
.pagination a p {
  background: no-repeat center / cover;
  width: 100%;
  height: 0;
  padding-top: 66.6%;
  position: relative;
}
*/
/*
.pagination {
  position: absolute;
  left: 0;
  bottom: 1%;
}
.pagination a {
  display: inline-block;
  width: 7px;
  height: 7px;
  text-decoration: none;
  margin: 0 3px;

  border-radius: 50%;

  position: relative;
  z-index: 1;
  overflow: hidden;
}
.pagination a:link,
.pagination a:visited {
  background: rgba(255, 0, 0, 1);
}
.pagination a.active,
.pagination a:active,
.pagination a:hover {
  background: rgba(0, 0, 0, 1);
}
*/

#location article {
  position: relative;
}
#location article svg {
  fill: rgba(255, 255, 255, 0.3);

  position: absolute;
  bottom: 0;
  right: 0;
}
#location article h1 {
  font-size: 1.15em;
  padding-bottom: 0.5em;
}
#location article p {
  margin-top: 0.5em;
}
#location article font {
  display: block;
  font-size: 0.85em;
}
#location article p i {
  display: none;
}
#location article p:nth-of-type(3) a:before {
  content: '公式Instagram：';
  display: inline-block;
  font-size: 0.8em;
  margin-right: 0.25em;
}
#location article aside {
  font-size: 0.9em;
  margin-top: 2em;
  padding-top: 2em;
  padding-left: 5.25em;
  border-top: solid 1px rgba(255, 255, 255, 0.15);
  position: relative;
}
#location article aside:before {
  position: absolute;
  left: 0;
}
#location article aside:nth-of-type(1):before { content: '営業時間'; }
#location article aside:nth-of-type(1) font { margin-top: 0.25em; }
#location article aside:nth-of-type(2):before { content: 'チャージ'; }
#location article aside:nth-of-type(3):before { content: 'ご予約'; }
#location article aside:nth-of-type(3) a {
  display: inline-block;
  padding: 0 0.25em;
}
#location article aside:nth-of-type(3) a:after {
  content: '\f08e';
  font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Brands';
  font-size: 0.7em;
  font-weight: 900;
  vertical-align: 0.15em;
  margin-left: 0.15em;
}

.gmap {
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;

  filter: grayscale(80%) invert(100%) contrast(100%);

  position: absolute;
  top: 0;
  left: 0;
}








