@charset "UTF-8";
.new-restaurant-contents.contents-bg {
  position: relative;
  background-image: url(../images/restaurant/restaurant-bg.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.new-restaurant-kv-area {
  position: relative;
}

.new-restaurant-title {
  position: absolute;
  top: 11.94vw;
  left: 15.42vw;
  width: 39.58vw;
  margin: 0;
}

.new-restaurant-title img {
  display: block;
  width: 100%;
  height: auto;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0;
}

.new-restaurant-kv-area .kv {
  padding-top: 60px;
  margin: 0 10.42vw 0 35.42vw;
}

.new-restaurant-kv-area .kv img {
  width: 54.17vw;
}

.new-restaurant-kv-area .food01 {
  position: absolute;
  top: 40px;
  right: 0;
}

.new-restaurant-kv-area .food01 img {
  width: 25vw;
}

.new-restaurant-kv-area .food02 {
  position: absolute;
  top: 0;
  right: 27.78vw;
}

.new-restaurant-kv-area .food02 img {
  width: 16.67vw;
}

.new-restaurant-kv-area .food03 {
  position: absolute;
  top: 25.14vw;
  right: 0;
  z-index: 5;
}

.new-restaurant-kv-area .food03 img {
  width: 14.58vw;
}

.new-restaurant-kv-area .food04 {
  position: absolute;
  top: 2.08vw;
  left: 6.25vw;
}

.new-restaurant-kv-area .food04 img {
  width: 16.67vw;
}

.new-restaurant-kv-area .food05 {
  position: absolute;
  bottom: -2.5vw;
  left: 0;
  z-index: 5;
}

.new-restaurant-kv-area .food05::before {
  content: "";
  position: absolute;
  bottom: 5.56vw;
  left: -5.56vw;
  width: 13.89vw;
  height: 13.89vw;
  background-image: url(../images/restaurant/food05-decoration.png);
  background-size: auto;
  background-repeat: no-repeat;
}

.new-restaurant-kv-area .food05 img {
  width: 20.83vw;
}

.contents-area-01 {
  position: relative;
  z-index: 3;
}

.contents-area-01:after {
  content: "";
  position: absolute;
  bottom: -9.24vw;
  left: 4.72vw;
  width: 34.72vw;
  height: 34.72vw;
  background-image: url(../images/restaurant/contents-area-01-decoratio.png);
  background-size: auto;
  background-repeat: no-repeat;
  z-index: 2;
}

.contents-area-01 .food06 {
  position: absolute;
  right: 8.33vw;
  top: -7.64vw;
  z-index: 4;
}

.contents-area-01 .food06::before {
  content: "";
  position: absolute;
  bottom: -1.94vw;
  right: -3.4vw;
  width: 6.94vw;
  height: 6.94vw;
  background-image: url(../images/restaurant/food06-decoration.png);
  background-size: auto;
  background-repeat: no-repeat;
}

.contents-area-01 .food06 img {
  width: 20.83vw;
}

.contents-area-01 .food07 {
  position: absolute;
  right: 12.44vw;
  bottom: -7.29vw;
  z-index: 4;
}

.contents-area-01 .food07 img {
  width: 31.25vw;
}

.contents-area-01 .contents-box-01 {
  padding: clamp(40px, 5.56vw, 80px);
  position: relative;
  width: 61.61vw;
  border: 5px solid #bd872b;
  box-sizing: border-box;
  margin: -30px 24.58vw 0 15.42vw;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
  z-index: 3;
}

.contents-area-01 .contents-box-01:before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid #bd872b;
  pointer-events: none;
}

.contents-area-01 .contents-box-01 h3 {
  font-size: 36px;
  font-family: "Zen Old Mincho", serif;
  color: #bd872b;
  font-weight: 600;
}

.contents-area-01 .contents-box-01 h3:last-of-type {
  line-height: 250%;
}

.contents-area-01 .contents-box-01 p {
  font-size: 18px;
  font-family: "Zen Old Mincho", serif;
  line-height: 250%;
  color: #000;
  font-weight: 500;
}

.contents-area-02 {
  margin-top: 203px;
}

.restaurant-heading {
  margin: 0 auto;
  width: 41.11vw;
  aspect-ratio: 600 / 80;
  display: grid;
  place-items: center;
  background: url("/assets/images/restaurant/heading-bg.png") center / 100% 100%
    no-repeat;
}

.restaurant-heading span {
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(28px, 2.78vw, 40px);
  font-weight: 600;
  line-height: 100%;
}

.contents-area-02 {
  position: relative;
}

.contents-area-02::before {
  content: "";
  position: absolute;
  top: 33%;
  right: 0;
  width: 160px;
  height: 200px;
  background-image: url(../images/restaurant/contents-area-02-decoration01.png);
  background-size: auto;
  background-repeat: no-repeat;
}

.contents-area-02 .subtitle-box,
.contents-area-03 .subtitle-box {
  margin: 30px 0 0 0;
}

.contents-area-02 .subtitle-box p,
.contents-area-03 .subtitle-box p {
  position: relative;
  text-align: center;
  font-size: 30px;
  font-family: "Zen Old Mincho", serif;
  line-height: 130%;
  font-weight: 500;
  color: #000;
}

.contents-area-02 .subtitle-box p::after,
.contents-area-03 .subtitle-box p::after {
  position: absolute;
  content: "";
  background-color: #000000;
  width: 50px;
  height: 1px;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.contents-area-02 .contents-box-02-flex {
  width: 69.44vw;
  margin: 80px auto 100px auto;
  padding-bottom: 100px;
  gap: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.contents-area-02 .contents-box-02 {
  width: calc(50% - 20px);
  display: flex;
  flex-direction: column;
  text-align: center;
}

.contents-area-02 .contents-box-02 img {
  display: block;
  width: 33.33vw;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.contents-area-02 .contents-box-02 .contents-box-02-text {
  position: relative;
  flex: 1;
  width: 27vw;
  padding: 25px;
  border: 5px solid #bd872b;
  margin: -50px auto 0;
  background-color: #fff;
  box-sizing: border-box;
}

.contents-area-02 .contents-box-02 .contents-box-02-text::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid #bd872b;
  pointer-events: none;
}

.contents-area-02 .contents-box-02 .contents-box-02-text h4 {
  position: relative;
  text-align: center;
  font-size: 24px;
  line-height: 130%;
  font-family: "Zen Old Mincho", serif;
  color: #bd872b;
  margin-bottom: 40px;
}

.contents-area-02 .contents-box-02 .contents-box-02-text h4::after {
  position: absolute;
  content: "";
  background-color: #bd872b;
  width: 30px;
  height: 1px;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.contents-area-02 .contents-box-02 .contents-box-02-text p {
  font-size: 16px;
  line-height: 180%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #000;
  font-weight: 400;
  text-align: left;
}

.contents-area-03 .lead-box {
  margin: 80px 0 50px 0;
  text-align: center;
}

.contents-area-03 .lead-box p {
  font-size: 16px;
  line-height: 200%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #000;
}

.contents-area-03 .lead-box span {
  font-size: 20px;
  line-height: 200%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #bd872b;
}

.contents-area-03 .list-box {
  position: relative;
  width: 69.44vw;
  margin: 0 auto;
  border: 3px solid #bd872b;
  padding: 60px 100px;
  background-color: #fff;
}

.contents-area-03 .list-title {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 0 20px;
  background-color: #fff;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: 30px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #000;
}

.contents-area-03 .list-box ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contents-area-03 .list-box ul li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 32px;
  font-size: 20px;
  line-height: 130%;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #000;
}

.contents-area-03 .list-box ul li::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 18px;
  height: 18px;
  background: url("/assets/images/restaurant/list-icon.svg") center / contain
    no-repeat;
}
