@import url('//fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,700|Sawarabi+Mincho|Oswald:400,600|Lato:400,700|Playfair+Display:400,700');
* {box-sizing:border-box;}
body {
  margin:0;
  padding:0;
  webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
  font-smoothing:antialiased;
  text-rendering:auto;
  background-color:#fff;
  font-family:'Lato', 'Noto Sans JP', '游ゴシック', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:24px;
  color:#000;
  /*
  opacity:0;
  */
}
h1, h2, h3, h4, h5, h6 {line-height:1; font-weight:normal;}

a {text-decoration:none; color:#000; transition:all .2s ease;}
a:hover {text-decoration:none;}
a img {transition:all .2s ease;}
p {margin:0 0 20px; line-height:1.85;}
main {display:block;}

.material-icons {font-family:'Material Icons'; font-weight:normal; font-style:normal; font-size:18px; display:inline-block; line-height:1; text-transform:none; letter-spacing:normal; vertical-align:middle; word-wrap:normal; white-space:nowrap; direction:ltr; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; -moz-osx-font-smoothing:grayscale; font-feature-settings:'liga';}

.form-control {border-radius:0;}

.bg-light {background-color:#f6f6f6;}

.btn {position:relative; display:block; margin:0 auto; padding:15px; width:250px; background-color:transparent; font-weight:700; color:#000; text-align:center; text-decoration:none; position:relative; outline:none; transition:.2s ease-in-out;}
.btn-bordered {border:3px solid #000;}
.btn-bordered:hover {background-color:#000; color:#fff;}
.btn-fill {background-color:#ead219; border:2px solid #ead219; color:#000;}
.btn-fill:hover {background-color:transparent; color:#ead219}
.btn-small {padding:8px 12px;}
.btn-block {display:block;}

.button{
  display:inline-block;
  position:relative;
  background:none;
  border:none;
  color:#8e7e44;
  font-size:18px;
  cursor:pointer;
  margin:0;
  background:rgba(142,126,68,.1);
}
.button.button-r{
  color:#fff;
  background:rgba(255,255,255,.3);
}
.button span{
  display:block;
  padding:25px 80px;
  letter-spacing:2px;
}
.button::before, .button::after{
  content:"";
  width:0;
  height:1px;
  position:absolute;
  transition:all 0.2s linear;
  background:#8e7e44;
}
.button.button-r::before, .button.button-r::after{
  background:#fff;
}

.button span::before, .button span::after{
  content:"";
  width:1px;
  height:0;
  position:absolute;
  transition:all 0.2s linear;
  background:#8e7e44;
}
.button.button-r span::before, .button.button-r span::after{
  background:#fff;
}
.button:hover::before, .button:hover::after{
  width:100%;
}
.button:hover span::before, .button:hover span::after{
  height:100%;
}
/*----- button 1 -----*/
.btn-1::before, .btn-1::after{
  transition-delay:0.2s;
}
.btn-1 span::before, .btn-1 span::after{
  transition-delay:0s;
}
.btn-1::before{
  right:0;
  top:0;
}
.btn-1::after{
  left:0;
  bottom:0;
}
/*----- button 1 -----*/
.btn-1::before, .btn-1::after{
  transition-delay:0.2s;
}
.btn-1 span::before, .btn-1 span::after{
  transition-delay:0s;
}
.btn-1::before{
  right:0;
  top:0;
}
.btn-1::after{
  left:0;
  bottom:0;
}
.btn-1 span::before{
  left:0;
  top:0;
}
.btn-1 span::after{
  right:0;
  bottom:0;
}
.btn-1:hover::before, .btn-1:hover::after{
  transition-delay:0s;
}
.btn-1:hover span::before, .btn-1:hover span::after{
  transition-delay:0.2s;
}

.table {border-collapse:collapse; border-spacing:0; table-layout:auto; margin-bottom:15px; max-width:100%; width:100%; border-top:none;}
.table > thead > tr,
.table > tbody > tr {}
.table > thead > tr > th,
.table > thead > tr > td,
.table > tbody > tr > th,
.table > tbody > tr > td {padding:15px; border:1px solid #eee; vertical-align:middle; text-align:left;}
.table > thead > tr > th,
.table > tbody > tr > th {width:25%; text-align:center; font-weight:400; background-color:#f5f5f5;}
.table > thead > tr > td,
.table > tbody > tr > td {}
.table-text-center > tbody > tr > td {text-align:center;}

.d-none {display:none;}
.pc {display:block !important;}
.sp {display:none !important;}

.serif {font-family:'Playfair Display', 'Sawarabi Mincho', serif; letter-spacing:.1em; font-weight:400;}

.text-muted {color:#999;}

.img-responsive {display:block; max-width:100%; height:auto;}
.img-center {margin-left:auto; margin-right:auto;}
.iframe {display:block;}

#pagetop {position:fixed; bottom:0; right:0; display:block; width:64px; height:64px; padding-top:15px; text-align:center; background-color:transparent; background-color:#000; border:1px solid #000; z-index:100; transition:all .2s ease;}
#pagetop:hover {background-color:#fff;}
#pagetop i {font-size:35px; color:#fff;}
#pagetop:hover i {color:#000;}

.effect {position:relative; opacity:0; transition:.5s;}

#content {margin-top:107px;}

.en {font-family:'Oswald', sans-serif; text-transform:uppercase;}

#header {position:fixed; top:0; left:0; width:100%; z-index:850; background-color:#000;}
.brand-logo {position:relative; margin:20px 0; z-index:900;}
.brand-logo a {display:block; width:200px; margin:0 auto;}
.brand-logo img {display:block; max-width:100%;}
.brand-language {position:absolute; top:calc(50% - 21px); right:15px; font-size:14px; color:#fff; z-index:900;}
#flags {width:50px !important;}
#nav-header {display:none; position:fixed; top:0; left:0; right:0; bottom:0; height:100vh; background-color:rgba(0, 0, 0, 1); z-index:800;}
#nav-header ul {display:block; float:none; margin:107px auto 0; padding:50px 0 0; border-top:1px solid #fff; list-style:none; transition:.2s ease-in-out;}
#nav-header ul li {float:left; width:33.333333%; border:none; text-align:center;}
#nav-header ul li a {padding:0; font-size:30px; font-weight:700; line-height:2.25; color:#fff;}
#nav-header ul li a::before {display:none;}
.nav-toggle {position:fixed; top:23px; left:15px; width:60px; height:60px; display:block; margin:0; padding:0; background:none; border:none; outline:none; transition:.2s ease-in-out;}
.nav-toggle i {font-size:32px; color:#fff;}
#toggle-nav {float:right; z-index:1000; opacity:1;}
#toggle-nav.active {z-index:-1; opacity:0;}
#toggle-nav-close {position:fixed; top:23px; left:15px; z-index:-1; opacity:0;}
#toggle-nav.active + #nav-header #toggle-nav-close {z-index:1003; opacity:1;}
#header.scrolling {}
#header.scrolling .brand-logo {margin:15px 0;}
#header.scrolling .brand-logo a {width:120px;}
#header.scrolling .brand-language {font-size:13px; transition:.2s ease-in-out;}
#header.scrolling #nav-header ul {margin-top:70px;}
#header.scrolling .nav-toggle {top:6px;}

.section-slider {position:relative; height:calc(100vh - 110px); background-repeat:no-repeat; background-size:cover; background-position:center center;}
.section-slider::before {position:absolute; top:0; left:0; right:0; bottom:0; content:''; background-color:rgba(0, 0, 0, .5);}
.section-slider::after {position:absolute; top:0; left:0; right:0; bottom:0; content:''; background:url('../images/hero-overlay.png') 0 0 repeat; z-index:5;}
.section-slider .caption {position:absolute; top:calc(50% - 211px); left:0; right:0; text-align:center; color:#fff; z-index:10;}
.section-slider .caption .lead {font-size:80px; line-height:1.25; font-weight:700; text-shadow:0 0 10px rgba(0, 0, 0, 1);}
.section-slider .caption .under-text {margin-bottom:0; font-size:40px; font-weight:700; line-height:1.5; text-shadow:0 0 10px rgba(0, 0, 0, 1);}
.section-slider .scroll-content {position:absolute; bottom:75px; left:calc(50% - 40px); display:block; width:80px; height:80px; text-align:center; background-color:transparent; z-index:100; animation:scroll-content 3s ease infinite;}
.section-slider .scroll-content i {font-size:80px; color:#fff; transition:all .2s ease;}
.section-slider .scroll-content:hover i {color:#f9ff00;}
.swiper-container {width:100%; height:100%;}
.swiper-slide {background-position:center; background-size:cover;}
@keyframes scroll-content {
  0% {transform:translateY(0);}
  70% {transform:translateY(-15px);}
  100% {transform:translateY(0);}
}

.row {display:flex; flex-wrap:wrap; margin-right:-15px; margin-left:-15px;}
.justify-content-center {justify-content:center;}
.align-items-center {align-items:center;}
.masonry {flex-flow:wrap;}
.col {flex-basis:0; flex-grow:1; max-width:100%; position:relative; padding-right:15px; padding-left:15px;}
.masonry > .col {flex:0 0 33.333333%; max-width:33.333333%;}
.col-50 {max-width:50%; width:50%;}
.col-70 {max-width:70%; width:70%;}
.w-100 {width:100%;}

.section-block {padding:75px 0;}
.section-block-small {padding:20px 0;}
.section-color-white {background-color:#fff; color:#434343;}
.section-cover {position:relative; background-size:cover; background-position:center center; color:#fff;}
.section-cover::before {position:absolute; top:0; left:0; right:0; bottom:0; content:''; background-color:rgba(0, 0, 0, .85);}
.section-align-center {text-align:center;}
.under-title {margin:0 0 30px; letter-spacing:.15em; color:#f9ff00;}
.section-header {position:relative; margin:0 0 50px; padding-bottom:30px; text-align:center; font-size:40px; font-weight:700; letter-spacing:3px;}
.section-header::after {position:absolute; bottom:0; left:calc(50% - 35px); width:70px; height:5px; background-color:#000; content:'';}
.section-header.ja {font-size:34px;}
.section-title {margin:0; font-size:40px; font-weight:700; letter-spacing:3px;}
.btn-more {font-weight:normal; letter-spacing:.15em;}

.table > thead > tr > th, .table > tbody > tr > th, .table > thead > tr > td, .table > tbody > tr > td {background-color:#fff;}

.section-hr {height:400px;}

aside.sidebar {}
aside.sidebar .widget {margin-bottom:20px; border:1px solid #eee;}
aside.sidebar .widget:last-child {margin-bottom:0;}
aside.sidebar .widget-title {margin:0; padding:15px 20px; border-bottom:1px solid #eee; text-transform:uppercase; font-family:'Oswald', 'Noto Sans JP', '游ゴシック', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif, sans-serif; letter-spacing:.075em;}
aside.sidebar .widget ul {padding-left:2em;}
aside.sidebar .widget ul > li {font-size:14px;}

footer {position:relative; margin-bottom:64px; padding:20px 0; text-align:center; font-size:12px; background-color:#000; color:#fff; z-index:80;}

.sticky {position:fixed; display:block; bottom:0; left:0; right:0; padding:10px 0; text-align:center; background-color:rgba(0, 0, 0, .85); z-index:80;}
.sticky .btn {display:inline-block; margin:0 5px; width:240px;}
.sticky .link-social {position:relative; top:2px; display:inline-block; width:44px; height:44px; margin:0 5px; padding:7px 0 0; font-size:25px; border:2px solid #fff; border-radius:4px; color:#fff;}
.sticky .link-social:hover {background-color:#fff; color:#000;}

.card {position:relative; display:block; margin-bottom:30px; transition:.2s ease-in-out;}
.card-img {display:block; max-width:100%; height:auto; filter:grayscale(0); transition:filter .2s;}
.card-heading {margin:0; padding:1rem 1.5rem; color:#434343; line-height:1.5;}
.card-body {padding:1rem 1.5rem; color:#434343;}
.card-caption {position:absolute; display:flex; align-items:center; justify-content:center; top:0; left:0; width:100%; height:100%; padding:10px; background-color:rgba(0, 0, 0, .75); text-align:center; color:#fff; font-size:13px; opacity:0; transition:.2s ease-in-out;}
.card-caption p:last-child {margin-bottom:0;}
.card:not(.no-hover):hover {background-color:rgba(0, 0, 0, 1);}
.card:not(.no-hover):hover .card-img {filter:grayscale(100);}
.card:not(.no-hover):hover .card-heading,
.card:hover .card-body {color:#fff;}
.card:not(.no-hover):hover .card-caption {opacity:1;}
.section-posts .col {max-width:33.333333%;}
.card-label {position:absolute; top:0; left:0; display:block; padding:8px 12px; background-color:rgba(0, 0, 0, .8); color:#fff; line-height:1; z-index:1; font-size:13px; font-weight:bold;}

#news .card {background-color:#f6f6f6;}

#price .btn {display:inline-block; margin-bottom:10px; text-transform:none; background:#ead219;}
#price .btn:not(:last-child) {margin-right:10px;}

#venue .card {margin-bottom:20px;}
#venue .card-btn {margin-bottom:30px;}
#venue .card-btn .btn {width:120px;}

#artist .card-caption {max-height:4rem; top:inherit; bottom:0; opacity:1;}
#artist .card:hover .card-caption {max-height:100%;}

#restaurantbar .card-caption {max-height:4rem; top:inherit; bottom:0; opacity:1;}
#restaurantbar .card:hover .card-caption {max-height:100%;}

#archive .link-archive {display:inline-block; width:auto; margin:0 10px; padding:10px 15px; font-size:25px; border:2px solid #000; border-radius:4px;}
#archive .link-archive:hover {background-color:#000; color:#fff;}
#archive .btn {width:200px; display:inline-block; margin-bottom:10px;}
#archive .btn:not(:last-child) {margin-right:10px;}

.block-more {display:none;}

#sponsor .row-logo {justify-content:center;}
#sponsor .col-logo {max-width:33.333333%;}
#sponsor .card {margin-bottom:0; padding:15px 0; background-color:transparent; text-align:center; color:#000; font-size:20px;}
#sponsor .card-img {max-width:200px; max-height:120px; margin:0 auto; filter:grayscale(0);}
#sponsor .card:hover {background-color:transparent;}
#sponsor .card:hover .card-img {filter:grayscale(100);}
#sponsor .section-body-sponsor {margin-bottom:70px;}

/* blog */
.blog .post:not(:last-child) {margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #eee;}
.blog .post-thumbnail {margin-bottom:20px;}
.blog .post-thumbnail img {filter:grayscale(100); transition:filter 0.2s;}
.blog .post-thumbnail img:hover {filter:grayscale(0);}
.blog .post-title {margin:0 0 20px; font-weight:400;}
.blog .post-title a {}

/* archive */
.archive .card {}
.archive .grid-item {width:31.6%;}

/* page */
.post-content hr {margin-top:30px; margin-bottom:50px;}
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {margin:0;}
.post-content h2 {position:relative; margin:30px 0; line-height:1.75;}
.post-content h2::after {position:absolute; content:''; bottom:0; left:calc(50% - 30px); width:60px; height:3px; background-color:#fff;}
.post-content .highlight {display:inline-block; width:180px; line-height:1.5; text-align:center; background-color:#8e7e44; font-size:20px;}
.post-content .lead {font-size:24px; line-height:1.5;}
.post-content ul {padding-left:1.75em;}
.post-content ul > li:not(:last-child) {margin-bottom:1em;}
.post-content .table {margin-bottom:0;}
.post-content .table > tbody > tr > td ul {margin:0; padding-left:1.75em;}
.post-content .table > tbody > tr > td ul:not(:last-child) {margin-bottom:1em;}
.post-content .table > tbody > tr > td ul > li:not(:last-child) {margin-bottom:0;}
.post-content img {display:block; max-width:100%; height:auto; margin:30px auto;}

/* single */
.single .article {}
.single .post-title {margin:0 0 30px;}
.single .post-thumbnail {margin-bottom:50px;}

.remodal-overlay {background-color:rgba(0, 0, 0, .9);}
.remodal {padding:30px; background-color:rgba(255, 255, 255, .5);}
.remodal-close {color:#000;}

/* page */
.wp-image-40 {max-width:500px !important;}

@media screen and (max-width:767px) {
  body {min-width:auto;}
  .btn {max-width:250px;}
  .btn-small {padding:6px 12px;}
  .row {display:block; margin-right:0; margin-left:0;}
  .col {padding-right:0; padding-left:0; max-width:100%;}
  .col-50,
  .col-70,
  .w-100 {max-width:100%; width:100%;}
  .pc {display:none !important;}
  .sp {display:block !important;}
  .sticky {overflow:hidden; padding:17.5px 15px;}
  .sticky .btn {display:block; float:left; max-width:100%; margin:0; width:50%; font-size:12px;}
  .sticky .btn i {display:none;}
  .sticky .link-social {top:5px; width:30px; height:30px; margin:0 3px; padding-top:1px; font-size:16px;}
  #pagetop {position:fixed; bottom:100px; right:10px; width:40px; height:40px; padding-top:6px;}
  #pagetop i {font-size:24px;}
  #content {margin-top:60px;}
  #header {height:60px;}
  #nav-header {overflow-y:scroll;}
  #nav-header ul {margin-top:60px; padding-top:30px;}
  #header.scrolling #nav-header ul {margin-top:60px;}
  #nav-header ul li {width:50%;}
  #nav-header ul li a {font-size:16px;}
  .brand-logo {margin:10px 0 !important; width:118px; display:inline-block; position:absolute; left:calc(50% - 90px);}
  .brand-logo a {margin-left:0 !important; margin-right:0 !important; width:118px !important;}
  .brand-logo img {height:auto;}
  .brand-language {right:15px !important; font-size:10px !important; line-height:1.5 !important;}
  .brand-language .highlight {margin-top:2px;}
  .nav-toggle {top:10px !important; left:15px; width:40px !important; height:40px !important;}

  /*.table {margin-bottom:10px !important;}*/
  .section-block ol, .section-block ul {margin-bottom:20px; font-size:14px;}
  .row {margin-left:0; margin-right:0;}
  .section-header {margin-bottom:30px; font-size:24px;}
  .section-header.ja {font-size:20px;}
  .section-title {font-size:20px;}
  .section-block {padding:30px 0;}
  .section-slider {height:calc(100vh - 60px);}
  .section-slider .scroll-content {display:none; bottom:50px; width:40px; height:40px; padding-top:3px;}
  .section-slider .caption {top:calc(50% - 116px);}
  .section-slider .caption .lead {font-size:32px; line-height:1.5;}
  .section-slider .caption .under-text {font-size:16px; font-weight:normal; letter-spacing:0; line-height:1.5;}
  .card {margin-bottom:15px;}
  .card-heading {padding-bottom:.5rem; font-size:14px;}
  .card-body {padding-top:.5rem; font-size:12px;}
  .card-caption {font-size:11px;}
  .section-posts .col {max-width:100%;}

  #movie .iframe {margin-bottom:15px;}

  #price .btn:not(:last-child) {margin-right:0;}

  #venue .card {margin-bottom:20px;}
  #venue .card-btn {margin-bottom:30px;}
  #venue .card-btn .btn {width:auto; font-size:13px;}
  #venue .row {display:flex; margin-right:-10px; margin-left:-10; justify-content:center;}
  #venue .col {padding-right:10px; padding-left:10px; max-width:50%;}

  #restaurantbar .row {display:flex; margin-right:-10px; margin-left:-10; justify-content:center;}
  #restaurantbar .col {padding-right:10px; padding-left:10px; max-width:50%;}

  #artist .row {display:flex; margin-right:-10px; margin-left:-10; justify-content:center;}
  #artist .col {padding-right:10px; padding-left:10px; max-width:50%;}

  #archive .btn:not(:last-child) {margin-right:0;}

  #sponsor .section-body-sponsor {margin-bottom:50px;}
  #sponsor .row-logo {display:flex;}
  #sponsor .col-logo {max-width:50%;}
  #sponsor .card-img {max-width:120px; max-height:80px;}

  /* archive */
  .archive .grid-item {width:100%;}

  /* page */
  .wp-image-40 {max-width:100% !important;}

  footer {margin-bottom:83px;}
}
