@charset "UTF-8";
/*
Theme Name: dynac
*/
@font-face {
  font-family: "NotoSansJP-Regular";
  src: url("./font/NotoSansJP-Regular.ttf");
  font-family: "NotoSerifJP-Regular";
  src: url("./font/NotoSerifJP-Regular.otf");
  font-family: "CormorantGaramond-Regular";
  src: url("./font/CormorantGaramond-Regular.ttf");
}
:root {
  --primary: #BE2021;
  --bg-gray: #F6F6F6;
  --fcgray: #707070;
  --fclight: #b9b9b9;
  --fcblack: #000000;
  --fcwhite: #ffffff;
  --fcgold: #937E53;
  --ffNotoSans: "NotoSansJP-Regular", sans-serif;
  --ffNotoSerif: "NotoSerifJP-Regular", serif;
  --box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
  --transition: all 0.35s ease;
  --hov-opacity: 0.8;
}

/*共通
****************************************************/
html body {
  font-family: var(--ffNotoSans);
  color: var(--fcgray);
  line-height: 1.7;
  font-size: 0.9rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ffNotoSerif);
  color: var(--fcblack);
  font-weight: 700;
}

h3 {
  font-family: var(--ffNotoSans);
}

h6 {
  color: var(--colPtn2);
  font-weight: 600;
  font-size: 0.9rem;
}

.pb-8 {
  padding-bottom: 8rem;
}

.not-serif {
  font-family: var(--ffNotoSerif);
}

a {
  color: var(--primary);
  text-decoration: none;
}

.fc-primary {
  color: var(--primary);
}

.fc-white {
  color: var(--fcwhite);
}

.fc-light {
  color: var(--fclight);
}

.fc-gold {
  color: var(--fcgold);
}

.fc-black {
  color: var(--fcblack);
}

.fc-gray {
  color: var(--fcgray);
}

.ff-nsans {
  font-family: var(--ffNotoSans);
}

.bg-main {
  background: var(--primary);
}

.bg-gray {
  background: var(--bg-gray);
}

.bg-white {
  background: #fff;
}

section {
  padding-top: 100px;
  padding-bottom: 100px;
}

.sec-title span {
  position: relative;
  display: inline-block;
  margin-bottom: 3em;
}

.sec-title span::after {
  content: "";
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  background-color: black;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.img-zoom {
  overflow: hidden;
  border-radius: 1rem;
}

.img-zoom img {
  transition: 0.5s all;
}

.img-zoom img:hover {
  transform: scale(1.1, 1.1);
  transition: 0.5s all;
}

@media screen and (max-width: 768px) {
  section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media screen and (min-width: 769px) {
  section {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
/*SP表示
********************************************/
@media screen and (min-width: 769px) {
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .pc-only-b {
    display: none;
  }
}
/*ナビゲーション
********************************************/
#navbar {
  position: absolute;
  width: 100%;
  background: none;
  transition: var(--transition);
  z-index: 9999;
}

#navbar_sub {
  position: absolute;
  width: 100%;
  background: none;
  transition: var(--transition);
}

.container-fluid .collapse .navbar-nav .menu-item .nav-link {
  position: relative;
  color: #fff;
}

.nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 80%;
  height: 1px;
  background: #fff;
  transition: all 0.3s;
  transform: scale(0, 1);
  transform-origin: left top;
}

.nav-link:hover::after {
  transform: scale(1, 1);
}

.contact-btn {
  background: none;
  border: solid 1px #fff;
  color: #fff;
  padding: 0.7rem 2rem;
  border-radius: 2rem;
  transition: var(--transition);
}

.contact-btn:hover {
  background: var(--primary);
  border: solid 1px var(--primary);
}

.contact-infoblock {
  display: flex;
  flex-flow: wrap row;
  justify-content: center;
  margin: 3rem 0;
}

.contact-infoblock a {
  margin: 0 1rem;
  text-decoration: none;
  color: #fff;
  background: var(--primary);
  border-radius: 3rem;
  padding: 0.5rem 2rem;
  opacity: 1;
  transition: var(--transition);
}

.contact-infoblock a:hover {
  opacity: var(--hov-opacity);
  color: #fff;
}

.navbar img {
  width: 160px;
  filter: invert(99%) sepia(71%) saturate(2%) hue-rotate(20deg) brightness(106%) contrast(101%);
}

.contact-complete {
  width: min(100%, 1000px);
  margin: 4rem auto;
}

/*ナビゲーション固定*/
#navbar.fixed {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

#navbar.fixed-back {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

#navbar.fixed .nav-link {
  color: #000000;
}

#navbar.fixed .nav-link::after {
  background: #000000;
}

#navbar.fixed .contact-btn {
  background: var(--primary);
  color: var(--fcwhite);
  border: solid 1px var(--primary);
  opacity: 1;
  transition: var(--transition);
}

#navbar.fixed .contact-btn:hover {
  opacity: var(--hov-opacity);
}

#navbar.fixed img {
  filter: invert(17%) sepia(94%) saturate(2165%) hue-rotate(341deg) brightness(102%) contrast(101%);
}

#navbar_sub.fixed {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

#navbar_sub.fixed-back {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

#navbar_sub.fixed .nav-link {
  color: #000000;
  font-size: 0.8rem;
}

#navbar_sub.fixed .nav-link::after {
  background: #000000;
}

#navbar_sub.fixed .contact-btn {
  background: var(--primary);
  color: var(--fcwhite);
  border: solid 1px var(--primary);
  opacity: 1;
  transition: var(--transition);
}

#navbar_sub.fixed .contact-btn:hover {
  opacity: var(--hov-opacity);
}

#navbar_sub.fixed img {
  filter: invert(17%) sepia(94%) saturate(2165%) hue-rotate(341deg) brightness(102%) contrast(101%);
}

#wprmenu_bar .bar_logo {
  height: 33px !important;
}

#wprmenu_bar {
  padding: 14px 16px !important;
}

.hamburger {
  margin-right: 1rem !important;
}

@media screen and (max-width: 1204px) {
  #navbar_sub.fixed .nav-link,
  .container-fluid .collapse .navbar-nav .menu-item .nav-link {
    font-size: 0.7rem;
  }
  .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }
}
#mg-wprm-wrap.cbp-spmenu-left,
#mg-wprm-wrap.cbp-spmenu-right,
#mg-widgetmenu-wrap.cbp-spmenu-widget-left,
#mg-widgetmenu-wrap.cbp-spmenu-widget-right {
  padding: 1rem;
  text-align: center;
}

#mg-wprm-wrap ul li {
  margin: 0;
  border-bottom: 1px solid #db6767;
  padding: 0.3rem;
}

#mg-wprm-wrap ul#wprmenu_menu_ul li.menu-item a,
div#mg-wprm-wrap ul li span.wprmenu_icon {
  color: #ffffff;
  font-size: 0.8rem;
}

.dropdown__lists {
  position: relative;
}

.dropdown__lists .sub-menu {
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  list-style-type: none;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 0 0 0.5rem 0.5rem;
  width: 230%;
  padding: 1rem 0 1rem 0;
  opacity: 0;
  transition: var(--transition);
}

.dropdown__lists:hover .sub-menu {
  display: block;
  height: auto;
  top: 38px;
  opacity: 1;
}

.fixed .dropdown__lists .sub-menu {
  background: #fff;
}

.navbar-light .container-fluid .collapse .navbar-nav .dropdown__lists .sub-menu a {
  color: #000;
}

@media screen and (max-width: 991px) {
  #navbar_sub.fixed {
    display: none;
  }
  #navbar {
    display: none;
  }
}
/*メインビジュアル
********************************************/
.mv {
  background: url(./img/top/mv.jpg);
  background-position: center;
  background-size: cover;
  filter: sepia;
  position: relative;
  height: 80vh;
}

.mv .container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.bg-filter {
  background-color: rgba(0, 0, 0, 0.2);
  height: 80vh;
  width: 100%;
}

.fv-chatch {
  font-size: 4.5rem;
  font-family: "CormorantGaramond-Regular", sans-serif;
}

/*スクロールダウン*/
.scrolldown1 {
  position: absolute;
  left: 50%;
  bottom: 2rem;
  height: 5rem;
}

.scrolldown1 span {
  position: absolute;
  left: -24px;
  top: -30px;
  color: #eee;
  font-size: 1.1rem;
  font-family: var(--ffNotoSerif);
  letter-spacing: 0.05em;
}

.scrolldown1::after {
  content: "";
  position: absolute;
  top: 0;
  width: 2px;
  height: 30px;
  background: #eee;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
.mv-logo {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}

.mv-logo img {
  width: 170px;
}

@media screen and (max-width: 991px) {
  .mv,
  .bg-filter {
    height: 91vh;
  }
}
@media screen and (max-width: 768px) {
  .fv-chatch {
    font-size: 4.7rem;
    line-height: 58px;
  }
  .fv-ttl {
    line-height: 30px;
  }
}
@media screen and (max-width: 480px) {
  .mv-logo {
    bottom: 1rem;
    right: 0.5rem;
    position: absolute;
  }
  .mv-logo img {
    width: 130px;
  }
  .mv {
    background-position: left;
  }
}
/*ページトップ
********************************************/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--primary);
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.8rem;
  opacity: var(--hov-opacity);
  transition: all 0.3s;
}

#page-top a:hover {
  opacity: 1;
}

#page-top {
  position: fixed;
  right: 10px;
  bottom: 20px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}

#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/*カード
********************************************/
.l-wrapper_01 {
  margin: 1rem 0.5rem;
  width: calc((100% - 48px) / 3);
}

.l-wrapper_01:hover {
  transform: translateY(-3px);
  box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08);
  transition: all 0.5s;
}

.card_01 {
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
  color: var(--fcgray);
  font-family: var(--ffNotoSerif);
  text-decoration: none;
  height: 480px;
}

.card__header_01 {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem 1rem 0;
}

.card__title_01 {
  padding: 1rem 0;
  font-size: 1.2rem;
  order: 1;
  margin-bottom: 0.6rem;
  font-weight: bold;
  text-decoration: none;
}

.card__thumbnail_01 {
  margin: 0;
  order: 0;
  width: 100%;
}

.card__thumbnail_01 img {
  height: 200px;
}

.card__image_01 {
  width: 100%;
}

.card__body_01 {
  padding: 0 1.5rem;
}

.card__text_01 {
  font-size: 0.8rem;
  text-align: center;
  text-decoration: none;
  padding-bottom: 0;
}

.card__text2_01 {
  font-size: 0.8rem;
  margin-top: 0;
  margin-bottom: 2rem;
}

.card__text_01 + .card__text_01 {
  margin-top: 0.5rem;
}

.button_01 {
  display: inline-block;
  text-decoration: none;
  transition: background-color 0.3s ease-in-out;
  text-align: center;
}

.button_01 a {
  text-decoration: none;
}

.button_01.-compact {
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  background-color: var(--primary);
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  opacity: 1;
  transition: var(--transition);
}

.button_01.-compact:hover,
.button_01.-compact:focus {
  opacity: var(--hov-opacity);
}

.news-date {
  padding: 0 1rem 1rem;
  text-align: right;
  font-size: 0.7rem;
  font-family: var(--ffNotoSans);
  font-weight: bold;
  color: #ababab;
}

@media screen and (max-width: 900px) {
  .l-wrapper_01 {
    width: calc((100% - 48px) / 2);
  }
}
@media screen and (max-width: 500px) {
  .l-wrapper_01 {
    width: calc((100% - 48px) / 1);
  }
}
/*purpose section
********************************************/
.btnarrow4 {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  font-family: var(--ffNotoSerif);
  color: var(--primary);
  text-decoration: none;
  outline: none;
  font-size: 0.9rem;
}

.btnarrow4::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 15%;
  width: 85%;
  height: 1px;
  background: var(--primary);
  transition: all 0.3s;
}

.btnarrow4::after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: 0;
  width: 15px;
  height: 1px;
  background: var(--primary);
  transform: rotate(35deg);
  transition: all 0.3s;
}

.btnarrow4:hover {
  color: var(--primary);
}

.btnarrow4:hover::before {
  left: 20%;
}

.btnarrow4:hover::after {
  right: -5%;
}

.btnarrow-w {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  font-family: var(--ffNotoSerif);
  color: var(--fcwhite);
  text-decoration: none;
  outline: none;
}

.btnarrow-w::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 15%;
  width: 85%;
  height: 1px;
  background: #fff;
  transition: all 0.3s;
}

.btnarrow-w::after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: 0;
  width: 15px;
  height: 1px;
  background: #fff;
  transform: rotate(35deg);
  transition: all 0.3s;
}

.btnarrow-w:hover {
  color: var(--fcwhite);
}

.img-zoom img:hover ~ .btanrrow-w::before {
  left: 20%;
}

.img-zoom img:hover ~ .btanrrow-w::after {
  right: -5%;
}

.c-text {
  font-family: var(--ffNotoSerif);
  writing-mode: vertical-rl;
}

@media screen and (max-width: 500px) {
  .communication h2 {
    font-size: 1.6rem;
  }
}
/*service plan section
********************************************/
.btn06 {
  position: relative;
  text-decoration: none;
  display: inline-block;
  background: var(--primary);
  color: #fff;
  padding: 10px 40px 10px 30px;
  border-radius: 25px;
  text-align: center;
  outline: none;
  opacity: 1;
  transition: ease 0.2s;
}

#service h3 a {
  text-decoration: none;
  color: var(--fcblack);
  opacity: 1;
  transition: var(--transition);
}

#service h3 a:hover {
  opacity: var(--hov-opacity);
}

#service .text-center a {
  margin: 0 1rem;
}

#history .btn-white {
  background: none;
  border: solid #fff 1px;
}

#history .btn-white:hover {
  opacity: 1;
}

.btn06:hover {
  opacity: var(--hov-opacity);
  color: var(--fcwhite);
}

.btnarrow1::after {
  content: "";
  position: absolute;
  top: 42%;
  right: 20px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  transition: all 0.3s;
}

.btnarrow1:hover::after {
  right: 16px;
}

.perty-buffet {
  margin-bottom: 3rem;
}

@media screen and (max-width: 768px) {
  .perty-buffet img {
    height: 48vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .perty-buffet {
    margin-bottom: 0;
  }
  .perty-buffet h3 {
    text-align: center;
  }
  #service .text-center a {
    margin: 0.5rem 0;
  }
}
/*event section
********************************************/
#event h3 {
  line-height: 24px;
}

#event .text-center a {
  margin: 0 1rem;
}

@media screen and (max-width: 768px) {
  #event .text-center a {
    margin: 0.5rem 0;
  }
}
/*news section
********************************************/
.news-title {
  position: relative;
}

.news-title span {
  display: block;
  transform: rotate(90deg);
  position: absolute;
  top: 0.9rem;
  right: 0;
  font-size: 0.8rem;
  font-family: var(--ffNotoSerif);
  letter-spacing: 0.2rem;
}

.news-title h2 {
  position: absolute;
  top: 0;
  right: 1rem;
  letter-spacing: 0.5rem;
}

.header-image.news-head {
  background: url(img/area/area-head.jpg) no-repeat center/cover;
}

.news-page .news-list {
  width: min(100%, 1000px);
  margin: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
  width: 84%;
  margin: 0 auto;
  padding: 0;
}

.slider img {
  width: 100%;
  height: 220px;
}

@media screen and (max-width: 991px) {
  .slider img {
    height: 150px;
  }
}
@media screen and (max-width: 480px) {
  .slider img {
    height: 180px;
  }
}
.slider .slick-slide {
  margin: 10px;
  padding: 1rem;
  height: 380px;
}

.slider h3 a {
  color: var(--fcblack);
  text-decoration: none;
  opacity: 1;
  transition: var(--transition);
}

.slider h3 a:hover {
  opacity: var(--hov-opacity);
}

/*矢印の設定*/
.slick-prev,
.slick-next {
  position: absolute;
  top: 42%;
  cursor: pointer;
  outline: none;
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  height: 15px;
  width: 15px;
}

.slick-prev {
  left: -1.5%;
  transform: rotate(-135deg);
}

.slick-next {
  right: -1.5%;
  transform: rotate(45deg);
}

.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background: #ccc;
}

.slick-dots .slick-active button {
  background: #333;
}

/*history section
********************************************/
#history {
  position: relative;
  height: 44vh;
  margin-bottom: 6rem;
}

.history-inner span {
  font-size: 5vw;
}

@media screen and (max-width: 768px) {
  .history-inner span {
    font-size: 12vw;
  }
}
@media screen and (min-width: 1300px) {
  #history {
    height: 50vh;
  }
}
@media screen and (min-width: 1500px) {
  #history {
    height: 57vh;
  }
}
@media screen and (min-width: 1600px) {
  #history {
    height: 63vh;
  }
}
/*instagram section
********************************************/
.followus {
  display: inline-block;
  color: var(--fcgray);
  text-decoration: none;
  font-family: var(--ffNotoSerif);
  opacity: 1;
  transition: var(--transition);
}

.followus:hover {
  opacity: 0.8;
  color: var(--fcgray);
}

.followus:after {
  content: url(./img/common/insta.svg);
  display: block;
  transform: scale(0.6);
}

@media screen and (max-width: 768px) {
  #instagram {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  #instagram {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
}
/*flow
********************************************/
.flow h3 {
  font-size: 2rem;
  font-family: var(--ffNotoSerif);
}

.flow p {
  font-family: var(--ffNotoSans);
}

.flow .post_thumbnail {
  padding: 4rem 0;
  margin-top: 95px;
}

.flow .post_thumbnail h2 {
  color: #fff;
  font-size: 2rem;
  font-family: var(--ffNotoSerif);
}

.flow .step-box {
  max-width: 1200px;
  padding: 3rem;
}

.triangle-gary {
  position: relative;
}

.triangle-gary:before {
  content: "";
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 30px solid var(--bg-gray);
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}

.triangle-white {
  position: relative;
}

.triangle-white:before {
  content: "";
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 30px solid #fff;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}

@media screen and (max-width: 768px) {
  .flow .step-box {
    padding: 2rem 0;
  }
  .step-box .col-md-2 img {
    width: 40%;
    margin: 2rem auto 2rem;
    display: block;
  }
}
/*footer
********************************************/
footer {
  background: var(--primary);
  color: #fff;
  padding: 2rem;
}

footer img {
  width: 160px;
}

footer p {
  font-size: 0.8rem;
}

footer h5 {
  font-size: 0.8rem;
  color: #fff;
  font-weight: bold;
  font-family: var(--ffNotoSans);
}

footer a {
  color: #fff;
  text-decoration: none;
  font-size: 0.7rem;
  opacity: 1;
  transition: var(--transition);
}

footer a:hover {
  opacity: var(--hov-opacity);
}

footer a:hover {
  color: #fff;
}

.footer-flex {
  display: flex;
  flex-flow: row wrap;
}

.footer-flex .list-unstyled {
  margin-right: 1rem;
}

.copyright {
  background: #333;
  color: #fff;
}

.copyright a {
  color: #fff;
  text-decoration: none;
}

.copyright a:hover {
  color: #fff;
}

/**************************************
* 投稿ページ
***************************************/
.wrap {
  width: min(100%, 1200px);
  margin: 0 auto;
}

.inner {
  padding: 100px 0;
}

.mb-2 {
  margin-bottom: 2rem;
}

.header-image {
  padding: 4rem 0;
  margin-top: 95px;
  background: url(img/common/post_head.jpg) no-repeat center/cover;
}

@media screen and (max-width: 991px) {
  .header-image {
    margin-top: 0;
  }
}
.header-image.bento-east,
.header-image.bento-west {
  background: url(img/bento/bento-head.png) no-repeat center/cover;
}

.header-image h2 {
  text-align: center;
  color: var(--fcwhite);
  font-weight: normal;
  font-size: 2.4rem;
  margin-bottom: 0;
}

.pageheader {
  text-align: center;
}

.pageheader h3 {
  font-family: var(--ffNotoSerif);
  color: var(--fcgold);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2rem;
}

.pageheader h3::before,
.pageheader h3::after {
  content: "";
  display: inline-block;
  margin: 0 10px;
  width: 38px;
  height: 18px;
  background: url(img/common/ttl-ico.png) no-repeat center/contain;
}

.delivery a {
  transition: var(--transition);
  text-decoration: none;
  color: var(--fcblack);
}

.delivery a:hover {
  opacity: 0.7;
  color: var(--fcblack);
}

@media screen and (min-width: 992px) {
  .application_link {
    position: fixed;
    left: 2%;
    top: 40%;
    background: var(--primary);
    color: #fff;
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    line-height: 1.5;
    padding-top: 5px;
    transition: var(--transition);
    text-decoration: none;
  }
}
@media screen and (max-width: 991px) {
  .application_link {
    position: fixed;
    left: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(14, 14, 14, 0.9);
    color: #fff;
    width: 100%;
    height: 50px;
    text-align: center;
    border-radius: 0;
    line-height: 1.5;
    padding: 5px;
    transition: var(--transition);
    text-decoration: none;
  }
}
.application_link:hover {
  opacity: 0.9;
  color: var(--fcwhite);
  color: #ffda6d;
}

.application_link a {
  text-decoration: none;
  color: #fff;
  margin: 0 1rem;
  opacity: 1;
  transition: var(--transition);
}

.application_link a:hover {
  opacity: var(--hov-opacity);
  color: #ffda6d;
}

/*一覧*/
.delivery-link a {
  display: inline-block;
  background: var(--primary);
  color: var(--fcwhite);
  padding: 1rem 1rem;
  border-radius: 30px;
  margin: 0 0.5rem;
  text-decoration: none;
}

.delivery-link a:hover {
  color: #fff;
}

.delivery .list ul {
  list-style: none;
  padding: 0;
  width: min(100%, 900px);
  margin: 0 auto;
}

.delivery .list ul li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.delivery .list ul li a .pic {
  width: 30%;
  border-radius: 10px;
  overflow: hidden;
}

.delivery .list ul li a .text {
  width: 62%;
}

.delivery .list .item_name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--fcblack);
  font-family: var(--ffNotoSerif);
  border-bottom: 1px solid var(--fcgray);
  padding-bottom: 0.5rem;
}

.delivery .list .item_price {
  font-weight: 500;
  font-size: 1rem;
  margin-bottom: 0;
}

.delivery .list .item_price span {
  margin-left: 1rem;
}

/*詳細*/
.delivery .list .item-box {
  width: min(100%, 900px);
  margin: 0 auto 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.delivery .list .item-box > div {
  width: 47%;
}

.delivery .list .item-box .pic {
  border-radius: 10px;
  overflow: hidden;
}

.delivery .list .item-box .item_name {
  border: none;
  padding: 0;
}

.delivery .list .item-box .text > div {
  border-bottom: 1px solid var(--fclight);
  margin-bottom: 1rem;
}

.delivery .list .item-box .item_price {
  text-align: right;
  color: var(--fcblack);
}

.delivery .list .item-box2 dl {
  display: flex;
  flex-wrap: wrap;
  width: min(100%, 900px);
  margin: 0 auto;
  font-size: 0.8rem;
}

.delivery .list .item-box2 dl dt,
.delivery .list .item-box2 dl dd {
  padding: 1rem;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.delivery .list .item-box2 dl dt {
  width: 120px;
  background: #dbdbdb;
  text-align: center;
}

.delivery .list .item-box2 dl dd {
  width: calc(100% - 120px);
  background: #fafafa;
  margin-bottom: 0;
}

.delivery .list .item-box2 dl dd span {
  display: block;
}

@media screen and (max-width: 768px) {
  .delivery .list .item-box > div {
    width: 100%;
  }
  .delivery.wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .delivery .list ul li a .pic {
    height: 20vw;
  }
  .delivery .list ul li a .pic img {
    height: 20vw;
  }
}
/*flow
********************************************/
#sub-page h3 {
  font-size: 2rem;
  font-family: var(--ffNotoSerif);
}

#sub-page p {
  font-family: var(--ffNotoSans);
}

.post_thumbnail {
  padding: 4rem 0;
  margin-top: 96px;
}

.post_thumbnail h2 {
  color: #fff;
  font-size: 2rem;
  font-family: var(--ffNotoSerif);
}

@media screen and (max-width: 991px) {
  .post_thumbnail {
    margin-top: 0;
  }
}
/*scene
********************************************/
#scene .scene {
  width: min(100%, 1200px);
  margin: auto;
}

.scene-block {
  padding: 3rem 1rem;
  width: min(100%, 1200px);
  margin: auto;
}

#scene .scene h3,
#area .scene h3,
#area-west .scene h3 {
  font-family: var(--ffNotoSans);
  font-size: 0.9rem;
}

#scene .scene-inner,
#area .scene-inner,
#area-west .scene-inner {
  max-width: 1200px;
  margin: auto;
}

@media screen and (max-width: 991px) {
  #area .venue .btn-block p {
    margin: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  #area .venue .btn-block p {
    margin: 0 1rem;
  }
  #scene .scene {
    padding: 2rem;
  }
}
/*venue
********************************************/
.header-image.venue-head {
  background: url(img/venue/venue_head.jpg) no-repeat center/cover;
}

.venue img {
  border-radius: 0.5rem;
}

.venue a {
  text-decoration: none;
}

h2.venue-ttl {
  font-size: 2rem;
  font-weight: bold;
}

section .btn-block,
section .venue-block {
  max-width: 1000px;
}

.num-buton div p {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  padding: 1rem;
}

.nop-block div {
  background: #f0f0f0;
  border-radius: 0.4rem;
  transition: var(--transition);
}

.nop-block div:hover {
  background: #c5c5c5;
}

.nop-block a {
  color: #000;
  padding: 1rem;
}

.nop-block a:hover {
  color: #000;
}

.area-block div {
  background: #cd7e7e;
  border-radius: 0.4rem;
  transition: var(--transition);
}

.area-block a {
  color: #fff;
}

.area-block a:hover {
  color: #fff;
}

.venue-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 1rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.venue-west-grid {
  grid-template-columns: 1fr 1fr 1fr;
}

.venue-grid-inner {
  display: inline-grid;
  align-items: center;
}

.venue-grid-inner p {
  margin: 0;
  text-align: center;
  font-size: 0.7rem;
}

.venue-block {
  padding: 3rem 0 0;
}

.venue-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: start;
  align-items: center;
  margin-bottom: 1rem;
}

.venue-list p {
  width: 79%;
}

.venue-list span {
  background: #B9B9B9;
  padding: 0.5rem 1rem;
  color: #fff;
  width: 100px;
  text-align: center;
  font-size: 0.7rem;
  margin-right: 1rem;
}

.pagar {
  text-align: center;
  padding: 1rem 0;
}

.pagar .pagination {
  display: block;
}

.page-numbers {
  padding: 0;
  margin: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagar li {
  list-style: none;
}

.pagar li a {
  color: #fff;
  background: #ddd;
  padding: 0.3rem 0.6rem;
  color: #fff;
  margin: 0 0.1rem;
  border-radius: 0.1rem;
}

.pagar li span {
  color: #fff;
  background: var(--primary);
  padding: 0.3rem 0.6rem;
  color: #fff;
  margin: 0 0.1rem;
  border-radius: 0.1rem;
}

.pagar .nav-previous,
.pagar .nav-next {
  background: #ebebeb;
  padding: 2rem;
  width: 46%;
  display: flex;
  align-items: center;
}

.pagination {
  justify-content: center;
  margin-top: 5rem;
}

.delivery .pagination .page-numbers {
  color: #fff;
  background: #ddd;
  padding: 0.3rem 0.6rem;
  color: #fff;
  margin: 0 0.1rem;
  border-radius: 0.1rem;
}

.delivery .pagination .page-numbers.current {
  color: #fff;
  background: var(--primary);
  padding: 0.3rem 0.6rem;
  color: #fff;
  margin: 0 0.1rem;
  border-radius: 0.1rem;
}

@media screen and (max-width: 991px) {
  .venue-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 1rem;
    margin: 1rem 2rem 1rem;
  }
  .venue-grid-s {
    grid-template-rows: 50px;
  }
  .venue-list p {
    width: 72%;
  }
  .venue-block {
    padding: 3rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  .venue .img-zoom {
    margin-bottom: 2rem;
  }
  .venue-list span {
    width: 100%;
    margin-right: 0;
  }
  .venue-list p {
    width: auto;
  }
  .venue .sp-px0 {
    padding-left: 0;
    padding-right: 0;
  }
  .venue-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 1rem;
    margin: 1rem 1rem 1rem;
  }
  .venue-grid-s {
    grid-template-rows: 50px 50px;
  }
  .venue-block {
    padding: 1rem 0 0;
  }
  .pagar .nav-previous,
  .pagar .nav-next {
    padding: 1rem;
    width: 80%;
  }
}
/*faq
********************************************/
#faq .qa-title h2 {
  font-family: var(--ffNotoSans);
  font-size: 1.6rem;
  margin-top: 2rem;
}

#faq .qa-list p {
  position: relative;
  font-size: 1rem;
  letter-spacing: 4px;
  font-weight: bold;
  background: #f6f6f6;
  padding: 1.5rem 1rem 1.5rem 2rem;
  border-radius: 0.7rem;
}

#faq .question-ico {
  font-weight: bold;
  font-size: 1.6rem;
  padding-right: 1rem;
}

#faq p .plus-ico {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  right: 5%;
}

/*=========
accordion
=========*/
.accordion_area div {
  border-radius: 0;
}

.accordion_area .accordion_one .ac_header {
  background-color: #f6f6f6;
  padding: 1.5rem 4rem 1.5rem 2rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: 0.2s;
}

.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: #f5f5f5;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}

.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}

.accordion_area .accordion_one .ac_header .i_box:before,
.accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #014897;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #014897;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: 0.3s;
}

.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}

.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-left: 1px solid #f5f5f5;
  border-right: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
  box-sizing: border-box;
  background: #fff;
}

/*=========
faq
=========*/
.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}

.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q．";
  color: #09357f;
  font-size: 20px;
  font-weight: bold;
}

.p-faq__headinner p.p-faq__q-txt {
  font-size: 1rem;
  letter-spacing: 4px;
  font-weight: bold;
}

.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}

.p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "A．";
  color: #de0000;
  font-size: 20px;
  font-weight: bold;
}

.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 1rem;
  letter-spacing: 4px;
}

/*contact
********************************************/
#contact #sub-page .contact-cnt01 {
  position: relative;
  max-width: 100%;
}

#contact #sub-page .contact-btn-posi {
  position: fixed;
  top: 2rem;
  right: 2rem;
}

#contact #sub-page {
  padding-top: 0;
}

#contact .container {
  padding: 2rem 0;
}

#contact .container {
  max-width: 1000px;
  padding: 4rem 0;
}

#contact .bg-gray .container {
  max-width: 800px;
}

#contact .form-label {
  margin-bottom: 0;
}

#contact .ssl-block {
  padding: 4rem;
  border: solid 1px #ddd;
}

#contact .submit-block {
  padding: 3rem;
  max-width: 900px;
  margin: auto;
}

#contact .contact-btn {
  background: var(--primary);
}

#contact form input {
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

#contact form .w-10 {
  width: 10%;
}

#contact form .w-20 {
  width: 20%;
}

#contact form .w-30 {
  width: 30%;
}

#contact form .form-label span {
  background: var(--primary);
  padding: 0.1rem 0.3rem;
  border-radius: 0.2em;
  color: #fff;
  margin-left: 1rem;
  font-size: 0.5rem;
}

@media screen and (max-width: 768px) {
  #contact .container {
    padding: 2rem 1rem;
  }
  #contact .ssl-block {
    padding: 2rem;
    border: solid 1px #ddd;
  }
}
/*purpose
********************************************/
#purpose {
  padding-top: 0px;
}

#purpose .system-subttl,
#area .system-subttl {
  border: solid 1px #AB8B7E;
  border-radius: 3rem;
  padding: 0.5rem 2rem;
  color: #AB8B7E;
  font-size: 1.2rem;
  font-weight: bold;
}

#purpose .system .w-80,
#area .system .w-80 {
  width: 80%;
}

/*contact
********************************************/
.wsp-container {
  max-width: 1000px;
  margin: auto;
}

.wsp-pages-list {
  padding: 0 2rem;
}

.wsp-container h2 {
  background: var(--primary);
  color: #fff;
  padding: 0.8rem 2rem;
  border-radius: 0.3rem;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 2rem;
  font-family: var(--ffNotoSans);
}

.wsp-container ul {
  list-style: none;
  margin-bottom: 4rem;
}

.wsp-container li {
  margin-bottom: 1rem;
  border-bottom: solid 1px #f3f3f3;
}

.wsp-container li a {
  color: #707070;
  text-decoration: none;
  opacity: 1;
  transition: var(--transition);
}

.wsp-container li a:hover {
  opacity: var(--hov-opacity);
}

/*service-plan
********************************************/
.service-plan .row {
  width: min(100%, 1200px);
  margin: auto;
}

.service-plan .item-num {
  background: var(--fcgold);
  color: #fff;
  font-size: 0.8rem;
  padding: 0.2rem 0.5rem;
  margin-right: 0.5rem;
  border-radius: 0.3rem;
}

.service-plan .menu-name a {
  text-decoration: none;
  color: var(--fcgray);
  opacity: 1;
  transition: var(--transition);
}

.service-plan .menu-name a:hover {
  opacity: var(--hov-opacity);
}

.service-plan h2 {
  font-size: 2rem;
  line-height: 3rem;
}

#service img {
  height: 11vw;
}

@media screen and (max-width: 1199px) {
  #service img {
    height: 11vw;
  }
}
@media screen and (max-width: 991px) {
  #service img {
    height: 21vw;
  }
  .wprm-wrapper div#mg-wprm-wrap ul li span.wprmenu_icon {
    padding: 22px 49%;
  }
}
@media screen and (max-width: 768px) {
  .service-plan h2 {
    font-size: 1.2rem;
    line-height: 2rem;
  }
  .service-plan h3,
  #horsdoeuvre h3,
  .vegan-delivery-menu h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
  }
  .plan-name {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .plan-name span {
    padding: 0.8rem 0.5rem;
    width: 4rem;
    text-align: center;
    height: 2.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
/*party-buffet-plan
********************************************/
.header-image.buffet-head {
  background: url(img/buffet-plan/buffet-plan-head.png) no-repeat center/cover;
}

.header-image.vegan-head {
  background: url(img/vegan/vegan-head.png) no-repeat center/cover;
}

.buffet-plan ul,
#free-drink ul {
  padding: 0;
  margin-bottom: 2rem;
}

.buffet-plan li,
#free-drink li {
  list-style: none;
  border-bottom: solid 1px var(--fclight);
  line-height: 2.3rem;
}

.menu-block {
  margin-left: 1rem;
}

.cup-image {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 1rem;
  margin: 1rem auto 1rem auto;
  width: min(100%, 1000px);
}

.cup-image a {
  text-decoration: none;
  opacity: 1;
  transition: var(--transition);
}

.cup-image a:hover {
  opacity: var(--hov-opacity);
}

.cup-image-inner {
  display: inline-grid;
  align-items: center;
}

.cup-image h3 {
  font-size: 1rem;
  margin-top: 0.5rem;
  line-height: 21px;
}

.max-w1200 {
  width: min(100%, 1000px);
}

.drink-plan-block {
  justify-content: flex-end;
}

.drink-plan {
  padding: 0.5rem 1rem;
  background: #be2021;
  border-radius: 0.2rem;
  text-align: center;
  color: #fff;
  font-weight: bold;
}

#free-drink .drink-price {
  color: #937e53;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: var(--ffNotoSerif);
}

.drink-price span {
  font-size: 2rem;
}

.drink-plan-list {
  margin-right: 1rem;
}

.tortal {
  border: solid 3px var(--fcgold);
  padding: 3rem 4rem;
  width: min(100%, 1000px);
  margin: auto;
  color: var(--fcgold);
}

.tortal h4 {
  color: var(--fcgold);
  text-align: center;
  margin-bottom: 2rem;
}

.tortal img {
  display: block;
  text-align: center;
  margin-bottom: 1rem;
}

.estimate {
  width: min(100%, 1000px);
  margin: auto;
}

.estimate h3 {
  color: var(--fcgold);
  border-bottom: solid 1px var(--fcgold);
  margin-bottom: 1rem;
}

.estimate table {
  width: 100%;
  margin-bottom: 1rem;
}

.estimate th,
.estimate td {
  padding: 1.6rem;
  box-sizing: border-box;
  border-bottom: 1px solid #ebe3d2;
}

.estimate th {
  width: 36%;
}

.estimate tr:nth-child(odd) {
  background: #fbfaf8;
}

.movie img {
  display: block;
  width: min(100%, 1000px);
  margin: auto;
}

.component-list div {
  background: url(img/vegan/bg-began.png);
  background-position: center;
  background-size: cover;
  padding: 5rem;
}

.component-list img {
  width: min(100%, 1000px);
  margin: auto;
  display: block;
}

.vegan-buffet-menu-block {
  margin-bottom: 1rem;
  margin-left: 1rem;
}

.vegan-desc {
  justify-content: end;
}

.vegan-desc-block {
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  .buffet-plan,
  #free-drink,
  .standard,
  .estimate,
  .movie {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .menu-block h4 {
    margin-top: 2rem;
  }
  .buffet-plan h3,
  #free-drink h3,
  .standard h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.3rem;
  }
  .cup-image {
    grid-template-columns: 1fr 1fr;
  }
  .menu-block {
    margin-left: 0;
  }
  .drink-plan-block {
    justify-content: center;
  }
  .drink-plan-list {
    margin-right: 0;
  }
  .estimate th {
    width: 35%;
  }
  div.vegan-buffet-menu-block {
    margin-top: 1rem;
    margin-left: 1rem;
  }
  .component-list div {
    padding: 2rem;
  }
  #vegetarian {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .vegan-desc {
    justify-content: center;
  }
  .vegan-desc-block {
    margin-right: 0;
  }
  .tortal {
    padding: 2rem 1rem;
  }
  .vegan-delivery-menu {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .estimate th {
    text-align: center;
  }
  .estimate td:last-child {
    width: 100%;
  }
  .estimate th,
  .estimate td {
    display: block;
    width: 100%;
  }
}
/* お知らせ
--------------------------------*/
#sidebar {
  background: #fff;
  padding: 2rem 1rem;
}

.side-title {
  color: #fff;
  background: #be2021;
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
  font-weight: bold;
  font-family: var(--ffNotoSerif);
}

.wp-block-archives-list {
  list-style-type: none;
  padding-left: 0;
}

.wp-block-archives-list li {
  border-bottom: solid 1px #ddd;
  padding: 1rem 0;
}

.wp-block-archives-list a {
  text-decoration: none;
  color: var(--fcgray);
  padding-left: 1rem;
  opacity: 1;
  transition: var(--transition);
}

.wp-block-archives-list a:hover {
  color: var(--fcgray);
  opacity: var(--hov-opacity);
}

.news-main-col {
  background: #fff;
  padding: 2rem;
}

.news-main-col img:first-child {
  width: 100%;
  height: 100%;
}

.nav-links {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
}

.nav-links a {
  color: #333;
  text-decoration: none;
  opacity: 1;
  transform: var(--transition);
  position: relative;
  padding: 0 2rem;
  text-align: left;
}

.nav-previous a:before {
  content: "\f060";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  margin: auto 0;
}

.nav-next a:after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  margin: auto 0;
}

.nav-links a:hover {
  color: #333;
  opacity: var(--hov-opacity);
}

.slick-track li {
  box-shadow: 2px 4px 7px rgba(0, 0, 0, 0.2);
  margin: 1rem auto;
}

@media (max-width: 444px) {
  .nav-links a {
    font-size: 0.6rem;
  }
}
@media (min-width: 991px) {
  .single-news .container {
    max-width: 768px;
  }
}
@media (min-width: 1200px) {
  .single-news .container {
    max-width: 1000px;
  }
}
@media (min-width: 1400px) {
  .single-news .container {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1400px) {
  .nav-links div {
    margin: 3rem 0;
  }
  .news-main-col {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 991px) {
  .news-main-col {
    padding: 3rem 8rem;
  }
}
@media screen and (min-width: 1200px) {
  .news-main-col {
    padding: 3rem 8rem;
  }
}
@media screen and (max-width: 768px) {
  .nav-links div {
    margin: 1rem 0;
  }
}
/* パンくず
--------------------------------*/
#breadcrumbs {
  background: #333;
  color: #fff;
  padding: 0.3rem 1rem;
  margin: 0;
}

#breadcrumbs span a {
  color: #fff;
  text-decoration: none;
}

/* 20240612 エリアページ
--------------------------------*/
h1.area-h1 {
  color: #fff;
  font-size: 1.8rem;
  font-family: var(--ffNotoSerif);
}

#area-osaka .scene h3,
#area-kobe .scene h3,
#area-kyoto .scene h3,
#area-tokyo .scene h3,
#area-kanagawa .scene h3,
#area-saitama .scene h3,
#area-chiba .scene h3 {
  font-family: var(--ffNotoSans);
  font-size: 0.9rem;
}

#area-osaka .scene-inner,
#area-kobe .scene-inner,
#area-kyoto .scene-inner,
#area-tokyo .scene-inner,
#area-kanagawa .scene-inner,
#area-saitama .scene-inner,
#area-chiba .scene-inner {
  max-width: 1200px;
  margin: auto;
}

/**関西・関東のサービスプランページボタンリンク追加**/
.fs-mutual {
  font-size: 0.8rem;
  line-height: 1.4rem;
}

/* 20240927 エリアページ */
section.to-area-list {
  padding-bottom: 5px;
}

.to-area-list-inner {
  align-items: center;
  margin: auto;
  width: 300px;
}

.to-area-list div p {
  text-align: center;
  padding: 1rem;
  background: #cd7e7e;
  border-radius: 0.4rem;
  transition: var(--transition);
}

.to-area-list div a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.to-area-list div p:hover {
  opacity: 0.7;
}

#corresponding-area .area-list {
  text-align: center;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 20px;
}

#corresponding-area .area-list .headline::before {
  content: "■";
}

#corresponding-area .area-list .list-item {
  list-style: none;
}

#corresponding-area .area-list .list-item li {
  display: inline;
  word-break: keep-all;
}

#corresponding-area .area-list .list-item li::after {
  content: " / ";
}

#corresponding-area .area-list .list-item li ul.child-list {
  display: contents;
}

#corresponding-area .area-list .list-item li .child-list li:first-child::before {
  content: "(";
}

#corresponding-area .area-list .list-item li .child-list li:last-child::after {
  content: ")";
}

#corresponding-area .area-list .list-item li:last-child:after {
  content: none;
}

@media screen and (max-width: 768px) {
  #corresponding-area .area-list .list-item {
    padding-left: 0;
  }
}
/* 2024.11.27 イベントページ
--------------------------------*/
#event .news-ttl {
  display: none;
}

#event .news-main-col {
  padding: 0 0 3rem;
}

#event .news-main-col .news-key-visual img {
  width: 100%;
  height: 100%;
  padding: 0px 6rem;
  border-radius: 1rem;
}

#event .news-date,
#event .event-ttl {
  padding: 0px 6rem;
}

#event h2.event-ttl,
#event h2.event-title {
  font-family: Noto Sans JP;
  font-size: 1.7rem;
  font-weight: bold;
  position: relative;
}

#event h3 {
  font-family: Noto Sans JP;
  font-weight: bold;
}

#event h2.event-title:after {
  content: "";
  border-bottom: 2px solid #000;
  width: 70px;
  position: absolute;
  top: 3.6rem;
  right: 0;
  left: 0;
  margin: 0 auto;
}

#event .event-scene h2.event-title:after {
  border-bottom: 2px solid #706D5A;
}

#event .cnt_block h2 {
  text-align: center;
  margin-bottom: 5rem;
}

.cnt_block {
  margin: 6rem 0;
}

.event-detail {
  padding: 0 6rem;
}

.event-scene {
  color: #706D5A;
  padding: 6rem 4rem;
  background: #ECEBE5;
}

.event-scene h2 {
  color: #706D5A;
}

.separate {
  display: flex;
  flex-flow: wrap row;
  justify-content: center;
  align-items: start;
  margin-bottom: 3rem;
}

.separate h3.scene-ttl-s {
  font-size: 1.2rem;
  color: #706D5A;
  border-bottom: 1px #706D5A dashed;
  padding-bottom: 0.4rem;
}

.separate p,
.separate li {
  color: #706D5A;
}

.separate.event-menu h3 {
  font-size: 1rem;
  text-align: center;
  border: none;
  background: #ECEBE5;
  color: #706D5A;
  padding-top: 0.2rem;
}

.separate.event-menu ul {
  padding: 0;
}

.separate.event-menu li {
  border-bottom: 1px #706D5A dashed;
  list-style: none;
  padding: 0.5rem 0;
}

.event-kitchen-menu li:nth-child(2),
.event-kitchen-menu li:nth-child(3) {
  border: none;
}

#event .news-main-col .separate .separate-img {
  width: 50%;
  padding: 0 1rem 0 0;
}

#event .news-main-col .separate .separate-img img {
  border-radius: 1rem;
}

#event .news-main-col .separate div {
  width: 50%;
  padding: 0 1rem;
}

.three_rows {
  display: flex;
  flex-flow: wrap row;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 3rem;
}

.three_rows div {
  width: 30%;
}

.three_rows h3 {
  text-align: center;
  color: #706D5A;
  font-size: 1.1rem;
  padding: 1rem 0 0;
}

.three_rows img {
  border-radius: 1rem;
}

#event .news-main-col section.flow {
  padding: 0;
}

#event .flow .step-box {
  justify-content: center;
}

#event .flow .bg-gray {
  background: #ECEBE5;
}

#event .flow .triangle-gary:before {
  border-top: 30px solid #ECEBE5;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}

#event .flow .fc-light,
#event .flow p,
#event .q-txt,
#event .p-faq__headinner::before {
  color: #706D5A !important;
}

#event .accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #706D5A;
  border-left: 2px solid #706D5A;
}

#event .accordion_area .accordion_one .ac_header .i_box:after {
  border-top: 2px solid #706D5A;
  border-left: 2px solid #706D5A;
}

@media screen and (max-width: 768px) {
  #event .event-scene h2.event-title:after {
    top: 4.6rem;
  }
  #event .news-date,
  #event .event-ttl {
    padding: 0px 2rem;
  }
}
@media screen and (max-width: 768px) {
  #event .news-date {
    padding: 0px 2rem;
  }
  #event h2 {
    font-size: 1.2rem;
    padding: 0 2rem;
  }
  #event .cnt_block h2 {
    padding: 0;
  }
  .event-detail {
    padding: 2rem;
  }
  #event .news-main-col .separate .separate-img {
    width: 100%;
    padding: 0;
    margin-bottom: 1rem;
  }
  #event .cnt_block h2 {
    margin-bottom: 3rem;
  }
  #event .news-main-col .separate div {
    width: 100%;
  }
  .three_rows div {
    width: 100%;
  }
  .cnt_block {
    margin: 2rem 0;
  }
  .event-detail.event-faq {
    padding: 2rem 1rem;
  }
  .three_rows img {
    margin-bottom: 1rem;
  }
  #event h3 {
    font-size: 1.2rem;
  }
  .flow .step-box {
    padding: 3rem 0;
  }
  .p-faq__headinner p.p-faq__q-txt {
    font-size: 0.9rem;
  }
}
/* 2024.11.27 万博ページ
--------------------------------*/
#banpaku .news-ttl {
  display: none;
}

.mb-1 {
  margin-bottom: 1rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.mb-3 {
  margin-bottom: 3rem;
}

.mb-4 {
  margin-bottom: 4rem;
}

.mb-5 {
  margin-bottom: 5rem;
}

.align-center {
  text-align: center;
}

#banpaku .news-main-col {
  padding: 0 0 3rem;
}

#banpaku .news-main-col .news-key-visual img {
  width: 100%;
  height: 100%;
  padding: 0px 6rem;
  border-radius: 1rem;
}

#banpaku .news-date,
#banpaku h2 {
  padding: 0px 6rem;
}

#banpaku h2 {
  font-family: Noto Sans JP;
  font-size: 1.7rem;
  font-weight: bold;
  position: relative;
  text-align: center;
}

#banpaku h2 span {
  font-size: 1.2rem;
  padding-top: 0.8rem;
  display: inline-block;
}

#banpaku h3 {
  font-family: Noto Sans JP;
  font-weight: bold;
}

#banpaku h2.event-title:after {
  content: "";
  border-bottom: 2px solid #000;
  width: 70px;
  position: absolute;
  top: 3.6rem;
  right: 0;
  left: 0;
  margin: 0 auto;
}

#banpaku .event-scene h2.event-title:after {
  border-bottom: 2px solid #000;
}

#banpaku .banpaku-plan h2.event-title:after {
  border-bottom: 2px solid #fff;
}

#banpaku .cnt_block h2 {
  text-align: center;
  margin-bottom: 5rem;
}

.cnt_block {
  margin: 6rem 0;
}

.event-detail {
  padding: 0 6rem;
}

.banpaku-plan {
  background: #BE2021;
  padding: 6rem 0;
}

.banpaku-plan.cnt_block {
  margin-bottom: 0;
}

.event-scene {
  padding: 6rem;
}

.event-scene h2 {
  text-align: center;
  margin-bottom: 3rem;
}

.banpaku-plan h2,
.banpaku-plan p,
.banpaku-plan .separate p {
  color: #fff;
}

.separate {
  display: flex;
  flex-flow: wrap row;
  justify-content: center;
  align-items: start;
  margin-bottom: 3rem;
}

.separate h3.features-ttl-s {
  font-size: 2rem;
  color: #fff;
  padding-bottom: 0.4rem;
}

.separate h3 span {
  display: block;
  font-size: 1rem;
  padding-top: 0.4rem;
}

.separate p,
.separate li {
  color: #706D5A;
}

.separate.event-menu h3 {
  font-size: 1rem;
  text-align: center;
  border: none;
  background: #ECEBE5;
  color: #706D5A;
  padding-top: 0.2rem;
}

.separate.event-menu ul {
  padding: 0;
}

.separate.event-menu li {
  border-bottom: 1px #706D5A dashed;
  list-style: none;
  padding: 0.5rem 0;
}

.event-kitchen-menu li:nth-child(2),
.event-kitchen-menu li:nth-child(3) {
  border: none;
}

#banpaku .news-main-col .separate .separate-img {
  width: 50%;
}

#banpaku .news-main-col .separate .separate-img img {
  border-radius: 1rem;
}

#banpaku .news-main-col .separate div {
  width: 50%;
  padding: 0 1rem;
}

.three_rows {
  display: flex;
  flex-flow: wrap row;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 3rem;
}

.three_rows div {
  width: 30%;
}

.three_rows h3 {
  text-align: center;
  color: #706D5A;
  font-size: 1.1rem;
  padding: 1rem 0 0;
}

.three_rows img {
  border-radius: 1rem;
}

#banpaku .news-main-col section.flow {
  padding: 0;
}

#banpaku .flow .step-box {
  justify-content: center;
}

#banpaku .flow .bg-gray {
  background: #ECEBE5;
}

#banpaku .flow .triangle-gary:before {
  border-top: 30px solid #ffffff;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}

#banpaku .triangle-white:before {
  border-top: 30px solid #ECEBE5;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
}

#banpaku .flow .fc-light,
#banpaku .flow p,
#banpaku .q-txt,
#banpaku .p-faq__headinner::before {
  color: #706D5A !important;
}

#banpaku .accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #706D5A;
  border-left: 2px solid #706D5A;
}

#banpaku .accordion_area .accordion_one .ac_header .i_box:after {
  border-top: 2px solid #706D5A;
  border-left: 2px solid #706D5A;
}

.banpaku-plan .btn06 {
  background: #fff;
  color: #000;
  font-weight: bold;
}

.banpaku-plan .btnarrow1::after {
  border-top: 2px solid var(--primary);
  border-right: 2px solid var(--primary);
}

.banpaku-features {
  background: #477236;
  margin-top: 0;
}

.banpaku-features p {
  color: #fff;
}

.banpaku-features h2 {
  color: #fff;
}

#banpaku .event-scene.banpaku-features h2:after {
  border-bottom: 2px solid #fff;
}

.payment {
  background: #ECEBE5;
  padding: 3rem 0;
}

.payment h2,
.payment h3,
.payment p {
  color: #9C987E;
}

.payment-block {
  border: solid 5px #9C987E;
}

#banpaku .payment h2.event-title:after {
  border-bottom: 2px solid #9C987E;
}

@media screen and (max-width: 768px) {
  #banpaku .news-date {
    padding: 0px 2rem;
  }
  #banpaku h2 {
    font-size: 1.2rem;
    padding: 0 2rem;
  }
  #banpaku .cnt_block h2 {
    padding: 0;
  }
  .event-detail {
    padding: 2rem;
  }
  #banpaku .news-main-col .separate .separate-img {
    width: 100%;
    padding: 0;
    margin-bottom: 1rem;
  }
  #banpaku .cnt_block h2 {
    margin-bottom: 3rem;
  }
  #banpaku .news-main-col .separate div {
    width: 100%;
  }
  .three_rows div {
    width: 100%;
  }
  .cnt_block {
    margin: 2rem 0;
  }
  .event-detail.event-faq {
    padding: 2rem 1rem;
  }
  .three_rows img {
    margin-bottom: 1rem;
  }
  #banpaku h3 {
    font-size: 1.2rem;
  }
  .flow .step-box {
    padding: 3rem 0;
  }
  .p-faq__headinner p.p-faq__q-txt {
    font-size: 0.9rem;
  }
}
/* 20250801 エリアページ */
.row.service-plan {
  margin-bottom: 50px;
}

#service .kanto_plan img {
  height: auto;
}

.kansai_plan .col-md-6 {
  margin-bottom: 20px;
}

/* レスポンシブ対応（スマホでは1列にする） */
@media (max-width: 1200px) {
  .livekitchen-list {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
}
@media screen and (max-width: 768px) {
  .row.service-plan {
    margin-bottom: 20px;
  }
  #service .kansai_plan img {
    height: auto;
  }
}
/* 20250909 エリアページ */
.review-contents-intro {
  margin: 20px auto;
  text-align: center;
}

.review-slider {
  width: 84%;
  margin: 0 auto;
  padding: 0;
}

.review-slider .slick-track {
  display: flex;
}

.review-slider .slick-slide {
  margin: 10px;
  padding: 2rem;
  height: auto;
  background-color: #fff;
}

.review-slider .review-contents-servicename span {
  border-bottom: 1px dashed;
  padding-bottom: 10px;
}

.review-slider .review-contents-detail {
  padding-top: 10px;
}

.review-slider .slick-prev,
.review-slider .slick-next {
  z-index: 100;
}

@media screen and (max-width: 480px) {
  .review-slider {
    width: 95%;
  }
}
#areapage_faq .row {
  justify-content: center;
}

/* 202260114追加スタイル（ライブキッチンページ用） */
/* 全体のコンテナ */
.livekitchen-list {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  /* grid-template-columns: 1fr 1fr; */
  /* 2列並び */
  gap: 20px;
  /* アイテム間の隙間 */
  /* 外側の薄いベージュ背景 */
}

/* 各メニューカード */
.livekitchen-item {
  display: flex;
  background: url(img/livekitchen/livekitchen-bg.jpg) no-repeat center/cover;
  /* 黒背景（画像に合わせて微調整） */
  border: 3px solid #b2954d;
  /* 金色のボーダー */
  color: #fff;
  overflow: hidden;
  font-family: var(--ffNotoSerif);
  /* 高さを固定するか、min-heightで調整 */
  min-height: 330px;
}

/* テキストエリア */
.item-body {
  flex: 1;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.item-title {
  font-size: 2rem;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  margin-bottom: 18px;
  color: #fff;
  font-family: var(--ffNotoSerif);
  font-weight: 700;
}

.item-description {
  font-size: 1.3rem;
  line-height: 1.6;
  color: #ffefca;
}

.item-price {
  margin-top: auto;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 1.1rem;
}

.item-price span {
  font-size: 2rem;
  font-weight: 700;
  color: #ffefca;
}

/* 画像エリア */
.item-image {
  width: 48%;
  /* 画像の幅を固定 */
  position: relative;
  padding: 30px;
}

.item-image img {
  width: 100%;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
  /* 枠に合わせて画像を切り抜き表示 */
}

@media screen and (max-width: 990px) {
  .item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media (max-width: 768px) {
  .livekitchen-list {
    grid-template-columns: 1fr;
  }
}
.livekitchen-footer {
  padding: 30px 20px;
  color: #333;
  font-family: "Sawarabi Mincho", serif;
  background: #e7e3d9;
  min-height: 330px;
  /* 明朝体系を指定 */
}

/* 「シェフ込み」の強調テキスト */
.main-note {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
}

/* 注釈の小さい文字 */
.sub-note {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 4px;
}

.footer-divider {
  border: 0;
  border-top: 2px solid #555;
  margin: 15px 0;
}

/* 相談文言 */
.contact-lead {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}

/* 検索窓風のデザイン */
.contact-search-box {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 1rem;
}

.search-input-group {
  display: flex;
  border: 1px solid #333;
  background: #fff;
}

.search-keyword {
  padding: 8px 20px;
  min-width: 150px;
  display: inline-block;
}

.search-button {
  background-color: #eee;
  border: none;
  border-left: 1px solid #333;
  padding: 8px 15px;
  cursor: pointer;
  font-weight: bold;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .contact-search-box {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* 画面幅が480px以下の場合のスタイル */
@media (max-width: 768px) {
  .livekitchen-item {
    flex-direction: column-reverse;
    /* 画像を上に、テキストを下に配置 */
    height: auto;
    /* 高さをコンテンツに合わせる */
  }
  .item-image {
    width: 100%;
    /* 画像を横幅いっぱいに */
    height: 300px;
    padding: 5px;
    /* 画像の高さを指定（お好みで調整） */
  }
  .item-body {
    width: 100%;
    padding: 15px;
    /* 余白を少し狭くして調整 */
  }
  .item-title {
    font-size: 1.6rem;
    /* 文字サイズを微調整 */
  }
  .contact-lead br {
    display: none;
  }
}
@media (max-width: 540px) {
  .item-title {
    font-size: 1.4rem;
  }
  .item-description {
    font-size: 1rem;
  }
  .item-price {
    font-size: 0.9rem;
  }
  .item-price span {
    font-size: 1.4rem;
  }
}
.header-image.livekitchen {
  background: url(img/livekitchen/livekitchen-mv.jpg) no-repeat center/cover;
}

/* 202260114追加スタイル（ライブキッチンページ用）ここまで *//*# sourceMappingURL=style.css.map */