
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
   font-family: 'Yu Gothic UI Semibold', sans-serif;
  background: #fff;
  color: #fff;
}

a {
  color: #696969;
  text-decoration: none;
}

a:hover {
  color: #d9ba85;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
   font-family: 'Yu Gothic UI Semibold', sans-serif;
}



/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
  border: 2px solid #cda45e;
}

.back-to-top i {
  font-size: 28px;
  color: #cda45e;
  line-height: 0;
}

.back-to-top:hover {
  background: #cda45e;
  color: #1a1814;
}

.back-to-top:hover i {
  color: #444444;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Top Bar
--------------------------------------------------------------*/
#topbar {
  height: 40px;
  font-size: 14px;
  transition: all 0.5s;
  z-index: 996;
}

#topbar.topbar-scrolled {
  top: -40px;
}

#topbar .contact-info i {
  font-style: normal;
  color: #d9ba85;
}

#topbar .contact-info i span {
  padding-left: 5px;
  color: #fff;
}

#topbar .languages ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  color: #cda45e;
}

#topbar .languages ul a {
  color: white;
}

#topbar .languages ul li + li {
  padding-left: 10px;
}

#topbar .languages ul li + li::before {
  display: inline-block;
  padding-right: 10px;
  color: rgba(255, 255, 255, 0.5);
  content: "/";
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  background: rgba(12, 11, 9, 0.6);
  border-bottom: 1px solid rgba(12, 11, 9, 0.6);
  transition: all 0.5s;
  z-index: 997;
  padding: 15px 0;
  top: 40px;
}

#header.header-scrolled {
  top: 0;
  background: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid #37332a;
}

#header .logo {
  font-size: 23px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 1px;
  text-transform: uppercase;
   font-family: 'Yu Gothic UI Semibold', sans-serif;
}

#header .logo a {
  color: #fff;
}

#header .logo img {
  max-height: 40px;
}

/*--------------------------------------------------------------
# Book a table button Menu
--------------------------------------------------------------*/
.book-a-table-btn {
  margin: 0 0 0 15px;
  border: 2px solid #cda45e;
  color: #fff;
  border-radius: 50px;
  padding: 8px 25px;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  transition: 0.3s;
}

.book-a-table-btn:hover {
  background: #cda45e;
  color: #fff;
}

@media (max-width: 992px) {
  .book-a-table-btn {
    margin: 0 15px 0 0;
    padding: 8px 20px;
  }
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  color: #fff;
  white-space: nowrap;
  transition: 0.3s;
  font-size: 14px;
}

.navbar a i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover, .navbar .active, .navbar li:hover > a {
  color: #d9ba85;
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 14px;
  top: calc(100% + 30px);
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
  border-radius: 4px;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  color: #444444;
}

.navbar .dropdown ul a i {
  font-size: 12px;
}

.navbar .dropdown ul a:hover, .navbar .dropdown ul .active:hover, .navbar .dropdown ul li:hover > a {
  color: #cda45e;
}

.navbar .dropdown:hover > ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}

.navbar .dropdown .dropdown:hover > ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}

@media (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }
  .navbar .dropdown .dropdown:hover > ul {
    left: -100%;
  }
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }
  .navbar ul {
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  transition: 0.3s;
  z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  border-radius: 6px;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a {
  padding: 10px 20px;
  font-size: 15px;
  color: #1a1814;
}

.navbar-mobile a:hover, .navbar-mobile .active, .navbar-mobile li:hover > a {
  color: #cda45e;
}

.navbar-mobile .getstarted {
  margin: 15px;
}

.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}

.navbar-mobile .dropdown ul li {
  min-width: 200px;
}

.navbar-mobile .dropdown ul a {
  padding: 10px 20px;
}

.navbar-mobile .dropdown ul a i {
  font-size: 12px;
}

.navbar-mobile .dropdown ul a:hover, .navbar-mobile .dropdown ul .active:hover, .navbar-mobile .dropdown ul li:hover > a {
  color: #cda45e;
}

.navbar-mobile .dropdown > .dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# Hero Section
-------------------------------------------
#hero {
  width: 100%;
  height: 100vh;
  background: url("../img/hero-bg.png") top center;
  background-size: cover;
  position: relative;
  padding: 0;
}

#hero:before {
  content: "";
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}-------------------*/

#hero .container {
  padding-top: 110px;
}

@media (max-width: 992px) {
  #hero .container {
    padding-top: 98px;
  }
}

#hero h1 {
  margin: 0;
  font-size: 118px;
  font-weight: 1000;

 line-height: 0.6; /* 1.5倍の行間 */
  color: #000;
   font-family:  serif;
  z-index: 6;

}

#hero h1 span {
 color: #000;
  display: block; /
  
  font-family:  serif;
}

#hero h1 .line1 {
  text-indent: 0px; /* 最初の行はそのまま */
}

#hero h1 .line2 {
  text-indent: 80px; /* 2行目を20px右に */
}

#hero h1 .line3 {
  text-indent: 160px; /* 3行目をさらに40px右に */
}


/* スマホ用スタイル */
@media (max-width: 768px) {
  #hero h1 .line1 {
    text-indent: 0px; /* スマホ用：最初の行のインデントはそのまま */
  }

  #hero h1 .line2 {
    text-indent: 0px; /* スマホ用：2行目を40px右に */
  }

  #hero h1 .line3 {
    text-indent: 0px; /* スマホ用：3行目を80px右に */
  }
}


#hero h2 {
  color: #eee;
  margin-bottom: 10px 0 0 0;
  font-size: 22px;
}

#hero .btns {
  margin-top: 30px;
}

#hero .btn-menu, #hero .btn-book {
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: white;
  border: 2px solid #cda45e;
}

#hero .btn-menu:hover, #hero .btn-book:hover {
  background: #cda45e;
  color: #fff;
}

#hero .btn-book {
  margin-left: 15px;
}

#hero .play-btn {
  width: 94px;
  height: 94px;
  background: radial-gradient(#cda45e 50%, rgba(205, 164, 94, 0.4) 52%);
  border-radius: 50%;
  display: block;
  position: relative;
  overflow: hidden;
}

#hero .play-btn::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

#hero .play-btn::before {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation: pulsate-btn 2s;
  animation: pulsate-btn 2s;
  -webkit-animation-direction: forwards;
  animation-direction: forwards;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: steps;
  animation-timing-function: steps;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid rgba(205, 164, 94, 0.7);
  top: -15%;
  left: -15%;
  background: rgba(198, 16, 0, 0);
}

#hero .play-btn:hover::after {
  border-left: 15px solid #cda45e;
  transform: scale(20);
}

#hero .play-btn:hover::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 200;
  -webkit-animation: none;
  animation: none;
  border-radius: 0;
}

@media (min-width: 1024px) {
  #hero {
    background-attachment: fixed;
  }
}

@media (max-width: 992px) {
  #hero .play-btn {
    margin-top: 30px;
  }
}

@media (max-height: 500px) {
  #hero {
    height: auto;
  }
  #hero .container {
    padding-top: 130px;
    padding-bottom: 60px;
  }
}

@media (max-width: 768px) {
  #hero h1 {
    font-size: 70px;
    font-weight: 400;

line-height: 0.6; /* 1.5倍の行間 */
  color: #000;
  
   
    font-family:  serif;
  }
  #hero h2 {
    font-size: 18px;
    line-height: 24px;
  }
}






@-webkit-keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }
  100% {
    transform: scale(1, 1);
    opacity: 0;
  }
}

@keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }
  100% {
    transform: scale(1, 1);
    opacity: 0;
  }
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-bg {
  background-color: #1a1814;
}

.section-title {
  padding-bottom: 40px;
}

.section-title h2 {
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  line-height: 1px;
  margin: 0 0 5px 0;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #aaaaaa;
   font-family: 'Yu Gothic UI Semibold', sans-serif;
}

.section-title h2::after {
  content: "";
  width: 120px;
  height: 1px;
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
  margin: 4px 10px;
}

.section-title p {
  margin: 0;
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  font-family: 'Yu Gothic UI Semibold', sans-serif;
  color: #191970;
}

@media only screen and (max-width: 768px) {
  .section-title p {
    font-size: 28px; /* スマホ用に文字サイズを小さく */
  }
}


.section-title2 p {
  margin: 0;
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  font-family: 'Yu Gothic UI Semibold', sans-serif;
  color: #191970;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .section-title2 p {
    font-size: 28px; /* スマホ用に文字サイズを小さく */
  }
}


/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 15px 0;
  background: #1d1b16;
  margin-top: 110px;
}

@media (max-width: 992px) {
  .breadcrumbs {
    margin-top: 98px;
  }
}

.breadcrumbs h2 {
  font-size: 26px;
  font-weight: 300;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

.breadcrumbs ol li + li {
  padding-left: 10px;
}

.breadcrumbs ol li + li::before {
  display: inline-block;
  padding-right: 10px;
  color: #37332a;
  content: "/";
}

@media (max-width: 768px) {
  .breadcrumbs .d-flex {
    display: block !important;
  }
  .breadcrumbs ol {
    display: block;
  }
  .breadcrumbs ol li {
    display: inline-block;
  }
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about {
 
  position: relative;

  padding: 80px 0;
}

.about:before {
  content: "";
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

.about .about-img {
  position: relative;
  transition: .5s;
}

.about .about-img img {
  max-width: 100%;
  border: 4px solid rgba(255, 255, 255, 0.2);
  position: relative;
}

.about .about-img::before {
  position: absolute;
  left: 20px;
  top: 20px;
  width: 60px;
  height: 60px;
  z-index: 1;
  content: '';
  border-left: 0px solid #cda45e;
  border-top: 0px solid #cda45e;
  transition: .5s;
}

.about .about-img::after {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 60px;
  height: 60px;
  z-index: 2;
  content: '';
  border-right: 0px solid #cda45e;
  border-bottom: 0px solid #cda45e;
  transition: .5s;
}

.about .about-img:hover {
  transform: scale(1.03);
}

.about .about-img:hover::before {
  left: 10px;
  top: 10px;
}

.about .about-img:hover::after {
  right: 10px;
  bottom: 10px;
}


.about .content h1 {
  font-weight: 600;
  font-size: 2em;
   color: #000;
}


.about .content h3 {
  font-weight: 600;
  font-size: 1.9em;
   color: #4682b4;
}


.about .content p {
  
  font-size: 17px;
   color: #000;
}

.about .content h4 {
  
  font-size: 1.6em;
   color: #000;
   padding-bottom: 20px;
}
@media (max-width: 768px) {
  .about .content h4 {
    font-size: 1.2em; /* スマホで表示する場合のフォントサイズ */
  }
}



.about .content ul {
  list-style: none;
  padding: 0;
}

.about .content ul li {
  padding-bottom: 10px;
}

.about .content ul i {
  font-size: 20px;
  padding-right: 4px;
  color: #cda45e;
}

.about .content p:last-child {
  margin-bottom: 0;
   color: #000;
}

@media (min-width: 1024px) {
  .about {
    background-attachment: fixed;
  }
  
}

@media (max-width: 767px) {
  .about .content h3 {
    font-size: 1.2em; /* スマートフォンでの文字サイズ */
  }
}

@media (max-width: 767px) {
  .about .content p {
    font-size: 1.0em; /* スマートフォンでの文字サイズ */
  }
}

@media (max-width: 767px) {
  .about .content h4 {
    font-size: 16px; /* スマートフォンでの文字サイズ */
  }
}



/*--------------------------------------------------------------
# Why Us
--------------------------------------------------------------*/
.why-us .box {
  padding: 50px 30px;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
  transition: all ease-in-out 0.3s;
  background: #1a1814;
}

.why-us .box span {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: #cda45e;
}

.why-us .box h4 {
  font-size: 24px;
  font-weight: 600;
  padding: 0;
  margin: 20px 0;
  color: rgba(255, 255, 255, 0.8);
}

.why-us .box p {
  color: #191970;
  font-size: 15px;
  margin: 0;
  padding: 0;
}

.why-us .box:hover {
  background: #cda45e;
  padding: 30px 30px 70px 30px;
  box-shadow: 10px 15px 30px rgba(0, 0, 0, 0.18);
}

.why-us .box:hover span, .why-us .box:hover h4, .why-us .box:hover p {
  color: #fff;
}

/*--------------------------------------------------------------
# Menu Section
--------------------------------------------------------------*/
.menu #menu-flters {
  padding: 0;
  margin: 0 auto 0 auto;
  list-style: none;
  text-align: center;
  border-radius: 50px;
}

.menu #menu-flters li {
  cursor: pointer;
  display: inline-block;
  padding: 8px 12px 10px 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  margin-bottom: 10px;
  transition: all ease-in-out 0.3s;
  border-radius: 50px;
   font-family: 'Yu Gothic UI Semibold', sans-serif;
}

.menu #menu-flters li:hover, .menu #menu-flters li.filter-active {
  color: #cda45e;
}

.menu #menu-flters li:last-child {
  margin-right: 0;
}

.menu .menu-item {
  margin-top: 50px;
}

.menu .menu-img {
  width: 70px;
  border-radius: 50%;
  float: left;
  border: 5px solid rgba(255, 255, 255, 0.2);
}

.menu .menu-content {
  margin-left: 85px;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.menu .menu-content::after {
  content: "......................................................................"
 "...................................................................."
 "....................................................................";
  position: absolute;
  left: 20px;
  right: 0;
  top: -4px;
  z-index: 1;
  color: #bab3a6;
   font-family: 'Yu Gothic UI Semibold', sans-serif;
}

.menu .menu-content a {
  padding-right: 10px;
  background: #1a1814;
  position: relative;
  z-index: 3;
  font-weight: 700;
  color: white;
  transition: 0.3s;
}

.menu .menu-content a:hover {
  color: #cda45e;
}

.menu .menu-content span {
  background: #1a1814;
  position: relative;
  z-index: 3;
  padding: 0 10px;
  font-weight: 600;
  color: #cda45e;
}

.menu .menu-ingredients {
  margin-left: 85px;
  font-style: italic;
  font-size: 14px;
  font-family: 'Yu Gothic UI Semibold', sans-serif;
  color: rgba(255, 255, 255, 0.5);
}

/*--------------------------------------------------------------
# Specials
--------------------------------------------------------------*/
.specials {
  overflow: hidden;
}

.specials .nav-tabs {
  border: 0;
}

.specials .nav-link {
  border: 0;
  padding: 12px 15px;
  transition: 0.3s;
  color: #fff;
  border-radius: 0;
  border-right: 2px solid #cda45e;
  font-weight: 600;
  font-size: 15px;
}

.specials .nav-link:hover {
  color: #cda45e;
}

.specials .nav-link.active {
  color: #1a1814;
  background: #cda45e;
  border-color: #cda45e;
}

.specials .nav-link:hover {
  border-color: #cda45e;
}

.specials .tab-pane.active {
  -webkit-animation: fadeIn 0.5s ease-out;
  animation: fadeIn 0.5s ease-out;
}

.specials .details h3 {
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 20px;
  color: #fff;
}

.specials .details p {
  color: #aaaaaa;
}

.specials .details p:last-child {
  margin-bottom: 0;
}

@media (max-width: 992px) {
  .specials .nav-link {
    border: 0;
    padding: 15px;
  }
}

/*--------------------------------------------------------------
# Events
--------------------------------------------------------------*/
.events {
  background: url(../img/events-bg.jpg) center center no-repeat;
  background-size: cover;
  position: relative;
}

.events::before {
  content: '';
  background-color: rgba(60, 60, 60, 0.7);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

.events .section-title h2 {
  color: #fff;
}

.events .container {
  position: relative;
}

@media (min-width: 1024px) {
  .events {
    background-attachment: fixed;
  }
}

.events .events-carousel {
  background: rgba(255, 255, 255, 0.08);
  padding: 30px;
}

.events .event-item {
  color: #fff;
}

.events .event-item h3 {
  font-weight: 600;
  font-size: 36px;
  color: #fff;
}


.events .event-item p {
 
  font-size: 1.2em;
  color: #fff;
}


@media only screen and (max-width: 768px) {
  .events .event-item h3 {
    font-size: 22px; /* タブレット用に文字サイズを少し小さく */
  }
}



@media only screen and (max-width: 768px) {
  .events .event-item p {
    font-size: 16px; /* タブレット用に文字サイズを少し小さく */
  }
}

@media only screen and (max-width: 768px) {
  .events .event-item ul {
    font-size: 14px; /* タブレット用に文字サイズを少し小さく */
  }
}




.events .event-item .price {
  font-size: 26px;
  font-family: 'Yu Gothic UI Semibold', sans-serif;
  font-weight: 700;
  margin-bottom: 15px;
}

.events .event-item .price span {
  border-bottom: 2px solid #cda45e;
}

.events .event-item ul {
  list-style: none;
  padding: 0;
}

.events .event-item ul li {
 font-size: 1.2em;
  padding-bottom: 10px;
}

.events .event-item ul i {
  font-size: 20px;
  padding-right: 4px;
  color: #cda45e;
}

.events .event-item p:last-child {
  margin-bottom: 0;
}

.events .swiper-pagination {
  margin-top: 30px;
  position: relative;
}

.events .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.events .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #cda45e;
}




#events .btns {
  margin-top: 30px;
}

#events .btn-menu, #hero .btn-book {
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: white;
  border: 2px solid #cda45e;
  
    margin: 0 auto;  /* 自動的に左右の余白を調整して中央寄せ */
}




#events .btn-menu:hover, #hero .btn-book:hover {
  background: #cda45e;
  color: #fff;
}

#events .btn-book {
  margin-left: 15px;
}

#events .play-btn {
  width: 94px;
  height: 94px;
  background: radial-gradient(#cda45e 50%, rgba(205, 164, 94, 0.4) 52%);
  border-radius: 50%;
  display: block;
  position: relative;
  overflow: hidden;
}

#events .play-btn::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

#events .play-btn::before {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation: pulsate-btn 2s;
  animation: pulsate-btn 2s;
  -webkit-animation-direction: forwards;
  animation-direction: forwards;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: steps;
  animation-timing-function: steps;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid rgba(205, 164, 94, 0.7);
  top: -15%;
  left: -15%;
  background: rgba(198, 16, 0, 0);
}

#events .play-btn:hover::after {
  border-left: 15px solid #cda45e;
  transform: scale(20);
}

#events .play-btn:hover::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #fff;
  z-index: 200;
  -webkit-animation: none;
  animation: none;
  border-radius: 0;
}









/*--------------------------------------------------------------
# Book A Table
--------------------------------------------------------------*/
.book-a-table .php-email-form {
  width: 100%;
}

.book-a-table .p {
  color: #000;
  font-size: 15px;
  margin: 0;
  padding: 0;
}




.book-a-table .php-email-form .form-group {
  padding-bottom: 8px;
}

.book-a-table .php-email-form .validate {
  display: none;
  color: red;
  margin: 0 0 15px 0;
  font-weight: 400;
  font-size: 13px;
}

.book-a-table .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  font-weight: 600;
}

.book-a-table .php-email-form .error-message br + br {
  margin-top: 25px;
}

.book-a-table .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.book-a-table .php-email-form .loading {
  display: none;
  text-align: center;
  padding: 15px;
}

.book-a-table .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #cda45e;
  border-top-color: #1a1814;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

.book-a-table .php-email-form input, .book-a-table .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  background: #0c0b09;
  border-color: #625b4b;
  color: white;
}

.book-a-table .php-email-form input::-webkit-input-placeholder, .book-a-table .php-email-form textarea::-webkit-input-placeholder {
  color: #a49b89;
}

.book-a-table .php-email-form input::-moz-placeholder, .book-a-table .php-email-form textarea::-moz-placeholder {
  color: #a49b89;
}

.book-a-table .php-email-form input::placeholder, .book-a-table .php-email-form textarea::placeholder {
  color: #a49b89;
}

.book-a-table .php-email-form input:focus, .book-a-table .php-email-form textarea:focus {
  border-color: #cda45e;
}

.book-a-table .php-email-form input {
  height: 44px;
}

.book-a-table .php-email-form textarea {
  padding: 10px 12px;
}

.book-a-table .php-email-form button[type="submit"] {
  background: #cda45e;
  border: 0;
  padding: 10px 35px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}

.book-a-table .php-email-form button[type="submit"]:hover {
  background: #d3af71;
}




.scroll { 
  overflow-x: auto; /* 横スクロールを有効にする */
}

.tbl-r07 {
  width: 100%;
  border-collapse: collapse;
}

.tbl-r07 th, .tbl-r07 td {
  border: 1px solid #ddd;
  padding: 8px;
}

/* 先頭列（th、td）を固定 */
.tbl-r07 th:first-child {
  position: sticky;
  left: 0;
  background-color: #778899; /* 固定列の背景色 */
   color: #fff; /* 文字を黒色に変更 */
  z-index: 3; /* 列を上に表示するための設定 */
}








/* rowspanによる結合されたセルの調整 */
.tbl-r07 th[rowspan], .tbl-r07 td[rowspan] {
  z-index: 5; /* 結合セルが上に来るように設定 */
  background-color: #778899; /* 背景色を設定 */
  color: #fff; /* 文字を黒色に変更 */
}

/* 結合されたセルの調整 */
.tbl-r07 th[rowspan] {
  position: sticky;
  left: 0; /* 先頭列として左に固定 */
  z-index: 4; /* 他の行の下にくるように調整 */
}

/* thの上に表示される必要がある場合 */
.tbl-r07 th {
  background-color: #333;
  color: white;
  text-align: center; /* ヘッダーテキストを中央揃え */
}

.tbl-r07 td {
  background-color: #fff;
  
  text-align: center; /* ヘッダーテキストを中央揃え */
}


 /* テーブル内の文字色と罫線の色を明示的に指定 */
.tbl-r07 th, .tbl-r07 td {
  color: #000; /* 文字を黒色に変更 */
  border-color: #000; /* 罫線を黒色に変更 */
}

/* 罫線のスタイルを強調 */
.tbl-r07 th, .tbl-r07 td {
  border: 1px solid #000; /* 明示的に黒い罫線を設定 */
}






@media screen and (max-width: 640px) {
  .scroll {
   
    overflow-x: auto;
    
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
 
  
  .tbl-r07 {
    width: 100%;
   
    margin: 0 10px 50px;
    
    
  }
  .tbl-r07 td {
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
  }
}





.tbl-r08 {
  width: 100%;
   overflow-x: auto; 
  border-collapse: collapse;
}

.tbl-r08 th, .tbl-r08 td {
  border: 1px solid #ddd;
  padding: 8px;
}





/* rowspanによる結合されたセルの調整 */
.tbl-r08 th[rowspan], .tbl-r08 td[rowspan] {
  z-index: 5; /* 結合セルが上に来るように設定 */
  background-color: #778899; /* 背景色を設定 */
  color: #fff; /* 文字を黒色に変更 */
}

/* 結合されたセルの調整 */
.tbl-r08 th[rowspan] {
  position: sticky;
  left: 0; /* 先頭列として左に固定 */
  z-index: 4; /* 他の行の下にくるように調整 */
}

/* thの上に表示される必要がある場合 */
.tbl-r08 th {
  background-color: #333;
  color: white;
  text-align: center; /* ヘッダーテキストを中央揃え */
}

.tbl-r08 td {
  background-color: #fff;
  
  text-align: center; /* ヘッダーテキストを中央揃え */
}


 /* テーブル内の文字色と罫線の色を明示的に指定 */
.tbl-r08 th, .tbl-r08 td {
  color: #000; /* 文字を黒色に変更 */
  border-color: #000; /* 罫線を黒色に変更 */
}

/* 罫線のスタイルを強調 */
.tbl-r08 th, .tbl-r08 td {
  border: 1px solid #000; /* 明示的に黒い罫線を設定 */
}




 @media screen and (max-width: 640px) {
      .scroll {
        overflow-x: auto; /* 横スクロールを許可 */
      }
      
      .tbl-r08 {
        min-width: 640px; /* 横スクロールが発生する幅を設定 */
        margin: 0 10px; /* 横幅が狭いときに余白を調整 */
      }

      .tbl-r08 td {
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
      }
    }












/*--------------------------------------------------------------
# Testimonials
--------------------------------------------------------------*/


.testimonials {
   background: url("../img/about-bg.jpg") center center no-repeat;
 background-attachment: fixed;

  background-size: cover;
  position: relative;
  padding: 80px 0;

}

.testimonials::before {
  content: "";
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;


}






.testimonials .testimonial-item {
  box-sizing: content-box;
  min-height: 320px;
}

.testimonials .testimonial-item .testimonial-img {
  width: 90px;
  border-radius: 50%;
  margin: -40px 0 0 40px;
  position: relative;
  z-index: 2;
  border: 6px solid rgba(255, 255, 255, 0.2);
}

.testimonials .testimonial-item h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 15px 0 15px;
  color: #26231d;
}

.testimonials .testimonial-item h4 {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 0 45px;
}

.testimonials .testimonial-item .quote-icon-left, .testimonials .testimonial-item .quote-icon-right {
  color: #d3af71;
  font-size: 26px;
}

.testimonials .testimonial-item .quote-icon-left {
  display: inline-block;
  left: -5px;
  position: relative;
}

.testimonials .testimonial-item .quote-icon-right {
  display: inline-block;
  right: -5px;
  position: relative;
  top: 10px;
}


.box {
            width: 300px;          /* 幅を300pxに設定 */
            height: 300px;         /* 高さを200pxに設定 */
            margin: 20px;          /* 周囲の余白 */
            padding: 20px;         /* 内側の余白 */
            background-color: #f0f0f0; /* 背景色 */
            border: 2px solid #4682b4; /* ボーダーの設定 */
            border-radius: 8px;    /* 角を丸くする */
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* 影の設定 */
            text-align: center;     /* テキストを中央寄せ */
        }




.testimonials .testimonial-item h2 {
  
  
   font-size: 1.4em; /* フォントサイズを調整（必要に応じて変更） */
  text-align: center; /* テキストを中央寄せ */
  color: #0000cd;
}



.testimonials .testimonial-item p {
  font-style: italic;
  margin: 0 15px 0 15px;
  padding: 20px 20px 60px 20px;
  background: #26231d;
  position: relative;
  border-radius: 6px;
  position: relative;
  z-index: 1;
}

.testimonials .swiper-pagination {
  margin-top: 30px;
  position: relative;
}

.testimonials .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #cda45e;
}

/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.gallery .gallery-item {
  overflow: hidden;
  border-right: 0px solid #454035;
  border-bottom: 0px solid #454035;
}

.gallery .gallery-item img {
  transition: all ease-in-out 0.4s;
}

.gallery .gallery-item:hover img {
  transform: scale(1.1);
}

/*--------------------------------------------------------------
# Chefs
--------------------------------------------------------------*/
.chefs .member {
  text-align: center;
  margin-bottom: 20px;
  background: #343a40;
  position: relative;
  overflow: hidden;
}

.chefs .member .member-info {
  opacity: 0;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.2s;
}

.chefs .member .member-info-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  transition: bottom 0.4s;
}

.chefs .member .member-info-content h4 {
  font-weight: 700;
  margin-bottom: 2px;
  font-size: 18px;
  color: #fff;
}

.chefs .member .member-info-content span {
  font-style: italic;
  display: block;
  font-size: 13px;
  color: #fff;
}

.chefs .member .social {
  position: absolute;
  left: 0;
  bottom: -38px;
  right: 0;
  height: 48px;
  transition: bottom ease-in-out 0.4s;
  text-align: center;
}

.chefs .member .social a {
  transition: color 0.3s;
  color: #fff;
  margin: 0 10px;
  display: inline-block;
}

.chefs .member .social a:hover {
  color: #cda45e;
}

.chefs .member .social i {
  font-size: 18px;
  margin: 0 2px;
}

.chefs .member:hover .member-info {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.8) 20%, rgba(0, 212, 255, 0) 100%);
  opacity: 1;
  transition: 0.4s;
}

.chefs .member:hover .member-info-content {
  bottom: 60px;
  transition: bottom 0.4s;
}

.chefs .member:hover .social {
  bottom: 0;
  transition: bottom ease-in-out 0.4s;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info {
  width: 100%;
}

.contact .info i {
  font-size: 20px;
  float: left;
  width: 44px;
  height: 44px;
  background: #cda45e;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
}

.contact .info h4 {
  padding: 0 0 0 60px;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 5px;
  font-family: 'Yu Gothic UI Semibold', sans-serif;
}

.contact .info p {
  padding: 0 0 0 60px;
  margin-bottom: 0;
  font-size: 14px;
  color: #bab3a6;
}

.contact .info .open-hours, .contact .info .email, .contact .info .phone {
  margin-top: 40px;
}

.contact .php-email-form {
  width: 100%;
}

.contact .php-email-form .form-group {
  padding-bottom: 8px;
}

.contact .php-email-form .validate {
  display: none;
  color: red;
  margin: 0 0 15px 0;
  font-weight: 400;
  font-size: 13px;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  text-align: center;
  padding: 15px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #cda45e;
  border-top-color: #1a1814;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input, .contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  background: #0c0b09;
  border-color: #625b4b;
  color: white;
}

.contact .php-email-form input::-webkit-input-placeholder, .contact .php-email-form textarea::-webkit-input-placeholder {
  color: #a49b89;
}

.contact .php-email-form input::-moz-placeholder, .contact .php-email-form textarea::-moz-placeholder {
  color: #a49b89;
}

.contact .php-email-form input::placeholder, .contact .php-email-form textarea::placeholder {
  color: #a49b89;
}

.contact .php-email-form input:focus, .contact .php-email-form textarea:focus {
  border-color: #cda45e;
}

.contact .php-email-form input {
  height: 44px;
}

.contact .php-email-form textarea {
  padding: 10px 12px;
}

.contact .php-email-form button[type="submit"] {
  background: #cda45e;
  border: 0;
  padding: 10px 35px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}

.contact .php-email-form button[type="submit"]:hover {
  background: #d3af71;
}

@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  background: black;
  padding: 0 0 30px 0;
  color: #fff;
  font-size: 14px;
}

#footer .footer-top {
  background: #0c0b09;
  border-top: 1px solid #37332a;
  border-bottom: 1px solid #28251f;
  padding: 60px 0 30px 0;
}

#footer .footer-top .footer-info {
  margin-bottom: 30px;
}

#footer .footer-top .footer-info h3 {
  font-size: 24px;
  margin: 0 0 20px 0;
  padding: 2px 0 2px 0;
  line-height: 1;
  font-weight: 300;
  text-transform: uppercase;
   font-family: 'Yu Gothic UI Semibold', sans-serif;
}

#footer .footer-top .footer-info p {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 0;
   font-family: 'Yu Gothic UI Semibold', sans-serif;
  color: #fff;
}

#footer .footer-top .social-links a {
  font-size: 18px;
  display: inline-block;
  background: #28251f;
  color: #fff;
  line-height: 1;
  padding: 8px 0;
  margin-right: 4px;
  border-radius: 50%;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}

#footer .footer-top .social-links a:hover {
  background: #cda45e;
  color: #fff;
  text-decoration: none;
}

#footer .footer-top h4 {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  position: relative;
  padding-bottom: 12px;
}

#footer .footer-top .footer-links {
  margin-bottom: 30px;
}

#footer .footer-top .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer .footer-top .footer-links ul i {
  padding-right: 2px;
  color: #cda45e;
  font-size: 18px;
  line-height: 1;
}

#footer .footer-top .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}

#footer .footer-top .footer-links ul li:first-child {
  padding-top: 0;
}

#footer .footer-top .footer-links ul a {
  color: #fff;
  transition: 0.3s;
  display: inline-block;
  line-height: 1;
}

#footer .footer-top .footer-links ul a:hover {
  color: #cda45e;
}

#footer .footer-top .footer-newsletter form {
  margin-top: 30px;
  background: #28251f;
  padding: 6px 10px;
  position: relative;
  border-radius: 50px;
  border: 1px solid #454035;
}

#footer .footer-top .footer-newsletter form input[type="email"] {
  border: 0;
  padding: 4px;
  width: calc(100% - 110px);
  background: #28251f;
  color: white;
}

#footer .footer-top .footer-newsletter form input[type="submit"] {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  border: 0;
  background: none;
  font-size: 16px;
  padding: 0 20px 2px 20px;
  background: #cda45e;
  color: #fff;
  transition: 0.3s;
  border-radius: 50px;
}

#footer .footer-top .footer-newsletter form input[type="submit"]:hover {
  background: #d3af71;
}

#footer .copyright {
  text-align: center;
  padding-top: 30px;
}

#footer .credits {
  padding-top: 10px;
  text-align: center;
  font-size: 13px;
  color: #fff;
}







.news-list{
  list-style: none outside;
  margin: 30px 0 0 0;
  padding: 0;
   padding-bottom: 100px; /* 要素1の下側に20pxの空白を作る */
}
.news-list .item p{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
}


.news-list .item span{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
}






.news-list .item:first-child p{
  border-top: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 140px;
  font-size: 16px;
  color: #000;
  padding: 0 20px 0 0;
}
.news-list .item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .item .category span{
  background: #999;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item p:hover .title{
  color: #00F;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;

}
.news-list .item .title{
  margin-top: 10px;
}
}

/* 装飾 */
 
*{
  box-sizing: border-box;
}
a{
  text-decoration: none;
}
body{
  margin: 0px;
}


.e1 {
    padding-bottom: 100px; /* 要素1の下側に20pxの空白を作る */
}



.custom-heading {
  font-size: 1.8rem; /* ここで好きなサイズに変更 */
}



.container-xxl2 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center; /* 中央寄せ */
}




.center-box {
    width: 300px;
    padding: 20px;
    border: 1px solid #000;
    background-color: #f0f0f0;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.left-text {
    width: 100%;
    text-align: right;
    margin: 0;
}





 .custom-underline {
    display: inline-block;
    position: relative;
 margin-bottom: 20px; /* アンダーラインの下にスペースを追加 */
  }

  .custom-underline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px; /* アンダーラインの位置を調整 */
    width: 150%;
    height: 4px; /* アンダーラインの太さ */
    background-color: #006eb0; /* アンダーラインの色 */
  }



 .custom-underline2 {
    display: inline-block;
    position: relative;
 margin-bottom: 20px; /* アンダーラインの下にスペースを追加 */
  }

  .custom-underline2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px; /* アンダーラインの位置を調整 */
    width: 150%;
    height: 4px; /* アンダーラインの太さ */
    background-color: #e4007f; /* アンダーラインの色 */
  }



.img-responsive {
  width: 100%;
  height: auto;
  display: block; /* ブロック要素として表示 */
  margin-bottom: 10px; /* 画像間のスペース */
}



 .custom-underline3 {
    display: inline-block;
    position: relative;
 margin-bottom: 20px; /* アンダーラインの下にスペースを追加 */
  }

  .custom-underline3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px; /* アンダーラインの位置を調整 */
    width: 150%;
    height: 4px; /* アンダーラインの太さ */
    background-color: #a50082; /* アンダーラインの色 */
  }



.e1 {
    padding-bottom: 100px; /* 要素1の下側に20pxの空白を作る */
}



body {
    font-family: 'Yu Gothic UI Semibold', sans-serif;

}
.button a {
    background: #eee;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 400px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #333333;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 800;
}
.button a:hover {
    background: #333333;
    color: #FFF;
}
.button a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333333;
    border-right: 3px solid #333333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button a:hover:after {
    border-color: #FFF;
}




.button2 a {
    background: #4682b4;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 800;
}
.button2 a:hover {
    background: #333333;
    color: #FFF;
}
.button2 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333333;
    border-right: 3px solid #333333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button2 a:hover:after {
    border-color: #FFF;
}





.button3 a {
    background: #3cb371;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 800;
}
.button3 a:hover {
    background: #2e8b57;
    color: #FFF;
}
.button3 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333333;
    border-right: 3px solid #333333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button3 a:hover:after {
    border-color: #FFF;
}








.e1 {
    padding-bottom: 100px; /* 要素1の下側に20pxの空白を作る */
}





.video-section {
height: 100vh; 
  padding: 0;
  background-color: #f0f0f0;
  position: relative;
  overflow: hidden;
 text-align: center;
}

.video-container {
  position: relative;
 overflow: hidden;
  width: 100%;
  height: 100%; /* 高さを100%に変更 */
  padding-top: 56.25%; /* ビデオのアスペクト比を維持 */
  padding-bottom: 0; /* 不要なので削除 */

}

.video-section .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* オーバーレイのスタイルを適用 */
}




 .video-section h1 {
    font-size: 7rem;
    font-weight: 900;
  font-family: sans-serif;
    color: #fff;
white-space: nowrap; /* テキストの改行を防止 */
}
 
    @media (max-width: 991.98px) {
      .video-section h1 {
        font-size: 4rem; } }







.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* 高さを100%に設定 */
  object-fit: cover;
  z-index: 0;
}

.overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
width: 100%;
  height: 100%;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.0) 1.1px, transparent 1.1px);
  background-size: 3px 3px;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  height: 100%; /* 動画の縦サイズに合わせる */
}


.overlay-content {
  position: absolute;
  top: 50%; /* 位置を調整するために必要に応じて変更 */
  left: 50%; /* 位置を調整するために必要に応じて変更 */
  transform: translate(-50%, -50%);
  z-index: 2; /* オーバーレイよりも上に表示するために z-index を指定 */
}






.carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
     justify-content: center; /* 水平方向の中央寄せ */
    text-align: start;
    background: rgba(25, 25, 25, .05);
    z-index: 6;



}


.carousel-caption img.centered-img {
    max-width: 100%; /* 必要に応じて画像の幅を調整 */
    height: auto; /* 高さを自動で調整 */
    object-fit: contain; /* 画像がコンテナに収まるように調整 */
}





.carousel-caption h1 {
    font-size: 6rem; /* 任意の小さなサイズに変更 */
  }


.carousel-caption .breadcrumb-item+.breadcrumb-item::before {
    content: "\f111";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--primary);
}

@media (max-width: 768px) {
    #header-carousel .carousel-item {
        position: relative;
        min-height: 450px;
    }
    
    #header-carousel .carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        width: 3rem;
        height: 3rem;
        border-width: 12px;
    }
}

@media (max-width: 768px) {

.carousel-caption h1 {
max-width: 100%; /* 親要素の幅内に収まるように */
    font-size: 50px; /* 任意の小さなサイズに変更 */
  }


  .carousel-caption h4 {
    font-size: 14px; /* 任意の小さなサイズに変更 */
  }
}

.carousel-item img {
    width: 20em; /* 幅を100%にする */
    height: auto; /* 高さを自動調整 */
  
}

/* タブレットサイズ用 */
@media (max-width: 1024px) { /* 1024px以下の場合 */
    .carousel-item img {
        width: 50%; /* タブレットでは幅80%に */
        height: auto;
    }
}

/* スマホサイズ用 */
@media (max-width: 576px) { /* 576px以下の小さなスマホ用 */
    .carousel-item img {
        width: 50%; /* スマホでは幅100%に */
        height: auto;
    }
}



 .news-list {
      max-height: 400px; /* 最大高さを指定 */
      overflow-y: auto; /* 縦方向のスクロールを有効に */
      border: 0px solid #ccc; /* 見た目のために枠を追加 */
      padding: 0px;
    }
    .item {
      margin-bottom: 10px;
    }
    .date {
      font-weight: bold;
      color: #555;
    }
    .title {
      margin-top: 0px;
    }


 table {
      width: 90%;
      border-collapse: collapse;
      margin-top: 20px;
    }
    th, td {
      border: 1px solid #ccc;
      padding: 10px;
      text-align: center;
    }
    th {
      background-color: #f5f5f5;
    }




 .responsive-table {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .responsive-table th {
      background-color: #778899;
    }
  .responsive-table td {
    border: 1px solid #ccc;
    padding: 8px;
    word-break: break-word;
    text-align: center;
    color: #555;
  }


responsive-table2 {
    width: 100%;
    
    max-width: 700px;
    margin: 0 auto;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .responsive-table2 th {
   border: 0px solid #ccc;
      background-color: #fff;
      color: #000;
      text-align: left;
    }
  .responsive-table2 td {
    border: 0px solid #ccc;
    padding: 8px;
    word-break: break-word;
    text-align: left;
    color: #000;
  }


