@charset "UTF-8";

/* --- 共通設定 --- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: min(100px, 9.09vw);
}

body {
  background-image: url(../image/top-back1.png);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0;
}

body,
button,
input,
textarea,
select {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
}

li {
  list-style: none;
}

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

a:hover {
  opacity: 0.8;
}

/* --- コンテナ設定 --- */
img {
  max-width: 100%;
  height: auto;
  border-style: none;
  display: block;
}

/* 消してる要素 */
.sp-header,
.sp {
  display: none;
}

/* アニメーションの動き */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s ease-out,
    transform 0.8s ease-out;
}

/* 画面に入った時に付与するクラス */
.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* ヘッダー */
/* 1350 */
#header {
  width: 100%;
  height: min(305px, 22.59vw);
}

.header-container {
  width: 100%;
  height: 100%;
  /* 60px / 1350 * 100 = 4.44vw, 95px / 1350 * 100 = 7.04vw */
  padding: min(60px, 4.44vw) min(95px, 7.04vw) 0;
}

.header-box {
  height: 100%;
  display: flex;
  justify-content: space-between;
}

.header-logo {
  width: min(150px, 11.11vw);
  height: min(150px, 11.11vw);
}

.header-item {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.header-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.header-contact span {
  font-size: min(16px, 1.19vw);
}

.header-tel {
  display: flex;
  align-items: center;
}

.header-tel span {
  font-size: min(24px, 1.78vw);
}

.header-tel img {
  width: min(24px, 1.78vw);
  height: min(24px, 1.78vw);
}

.header-nav {
  display: flex;
  gap: min(50px, 3.7vw);
  margin-top: min(15px, 1.11vw);
}

.header-nav ul {
  display: flex;
  gap: min(50px, 3.7vw);
}

.header-nav ul a {
  display: inline-block;
  font-size: min(16px, 1.19vw);
  line-height: 1.2;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  padding: min(5px, 0.37vw);
}

.header-nav ul a:hover {
  background-color: #d9d9d9;
}

.header-inst {
  width: min(32px, 2.37vw);
}

/* 最初は非表示 */
.sp-header {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

/* 表示 */
.sp-header.is-show {
  opacity: 1;
  visibility: visible;
}

/* header消える */
#header.is-hide {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

/* ヘッダー２ */
.sp-header {
  position: fixed;
  top: 0;
  right: 0;
  width: min(70px, 5.19vw);
  height: min(70px, 5.19vw);
  background-color: transparent;
  z-index: 9999;
  display: block;
}

/* ハンバーガーボタン */
.sp-menu-btn {
  position: relative;
  width: min(70px, 5.19vw);
  height: min(70px, 5.19vw);
  background-image: url(../image/top-back10.png);
  background-repeat: no-repeat;
  background-size: cover;
  border: none;
  z-index: 1000;
  cursor: pointer;
}

/* 線 */
.sp-menu-btn span {
  position: absolute;
  left: 50%;
  width: min(40px, 2.96vw);
  height: min(1px, 0.07vw);
  background-color: #000;
  transform: translateX(-50%);
  transition: 0.3s;
}

/* 上線 */
.sp-menu-btn span:nth-child(1) {
  top: min(24px, 1.78vw);
}

/* 下線 */
.sp-menu-btn span:nth-child(2) {
  top: min(34px, 2.52vw);
}

/* MENU文字 */
.sp-menu-btn::after {
  content: "MENU";
  position: absolute;
  left: 50%;
  bottom: min(14px, 1.04vw);
  transform: translateX(-50%);
  font-size: min(12px, 0.89vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.08em;
}

/* 開いた時 */
.sp-menu-btn.is-active span:nth-child(1) {
  top: min(29px, 2.15vw);
  transform: translateX(-50%) rotate(25deg);
}

.sp-menu-btn.is-active span:nth-child(2) {
  top: min(29px, 2.15vw);
  transform: translateX(-50%) rotate(-25deg);
}

/* 全画面メニュー */
.sp-header-nav {
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  height: 100vh;
  background-image: url(../image/top-back9.png);
  background-repeat: no-repeat;
  background-size: cover;
  transition: 0.4s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(200px, 14.81vw);
  z-index: 999;
}

.sp-header-nav.is-active {
  right: 0;
}

.sp-header-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(30px, 2.22vw);
}

.sp-header-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sp-header-contact span {
  font-size: min(18px, 1.33vw);
}

.sp-header-tel {
  display: flex;
  align-items: center;
  letter-spacing: min(3px, 0.22vw);
}

.sp-header-tel span {
  font-size: min(28px, 2.07vw);
}

.sp-header-tel img {
  width: min(28px, 2.07vw);
  height: auto;
}

.sp-header-web a {
  width: min(344px, 25.48vw);
  height: min(73px, 5.41vw);
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../image/top-back7.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.sp-header-web a span {
  position: relative;
  font-size: min(18px, 1.33vw);
}

.sp-header-web a span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + min(60px, 4.44vw));
  transform: translateY(-50%);
  width: min(24px, 1.78vw);
  height: min(24px, 1.78vw);
  background-image: url(../image/part4.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.sp-hader-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(40px, 2.96vw);
}

.sp-header-logo {
  width: min(150px, 11.11vw);
}

.sp-nav-list {
  display: flex;
  gap: min(40px, 2.96vw);
}

.sp-nav-list li a {
  display: inline-block;
  font-size: min(16px, 1.19vw);
  line-height: 1.2;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  padding: min(5px, 0.37vw);
}

.sp-nav-list li a:hover {
  background-color: #d9d9d9;
}

.sp-nav-list .header-inst a {
  width: min(32px, 2.37vw);
  height: min(32px, 2.37vw);
  padding: 0;
}

.sp-nav-list .header-inst a:hover {
  background-color: transparent;
}

/* web予約 */
.web {
  position: fixed;
  top: min(475px, 35.19vw);
  right: 0;
  z-index: 100;
  transition: top 0.4s ease;
}

.web a {
  width: min(70px, 5.19vw);
  height: min(250px, 18.52vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(20px, 1.48vw);
  background-image: url(../image/top-back11.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.web a span {
  font-size: min(18px, 1.33vw);
  font-family: "Yuji Syuku", serif;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: min(3px, 0.22vw);
}

.web a img {
  width: min(10px, 0.74vw);
  height: auto;
}

.web.is-fixed {
  top: min(80px, 5.93vw);
}

/* SP下固定メニュー */
.sp-fixed-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  display: none;
  z-index: 9999;
}

/* トップ */
/* 1350 */
.main-v {
  width: 100%;
}

.main-v-container {
  padding-left: min(95px, 7.04vw);
  padding-right: min(95px, 7.04vw);
}

.main-v-img {
  width: 100%;
}

/* 1350 */
.p1-a-container {
  background-image: url(../image/top-back2.png), url(../image/top-back3.png);
  background-repeat: no-repeat;
  background-size:
    min(565px, 41.85vw) auto,
    min(437px, 32.37vw) auto;
  background-position:
    left bottom min(242px, 17.93vw),
    right bottom max(-100px, -7.41vw);
  padding: min(200px, 14.81vw) 0 min(130px, 9.63vw);
}

.p1-a-img {
  width: min(760px, 56.3vw);
  margin: 0 auto;
  transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.p1-a-img img {
  width: 100%;
  display: block;
}

/* スクロール後 */
.p1-a-img.is-active {
  width: min(1180px, 87.41vw);
}

.p1-a-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(100px, 7.41vw);
  margin-top: min(130px, 9.63vw);
}

.p1-a .p1-title h2 {
  writing-mode: vertical-rl;
}

.p1-a .p1-title h2 span {
  padding-top: min(60px, 4.44vw);
}

.p1-a-text {
  width: min(404px, 29.93vw);
}

.p1-a-text p {
  font-size: min(16px, 1.19vw);
  line-height: 2;
  letter-spacing: 0.02em;
}

/* 1440 */
.p1-b-img {
  width: 100%;
  position: relative;
  display: inline-block;
}

.p1-b-img::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: min(1px, 0.07vw);
  height: min(260px, 18.06vw);
  background-color: #000;
}

.p1-b-box {
  display: flex;
  justify-content: center;
  gap: min(108px, 7.5vw);
  margin-top: min(250px, 17.36vw);
}

.p1-b-img2 {
  margin-top: min(150px, 10.42vw);
}

.p1-b-img2,
.p1-b-img3 {
  width: min(375px, 26.04vw);
}

.p1-b .p1-title {
  text-align: center;
  margin-top: min(70px, 4.86vw);
}

.p1-b-text {
  width: min(350px, 24.31vw);
  text-align: center;
  margin-top: min(60px, 4.17vw);
}

.p1-b-text p {
  font-size: min(16px, 1.11vw);
  line-height: 2;
  letter-spacing: 0.02em;
}

.p1-b-link {
  margin-top: min(60px, 4.17vw);
}

.p1-b-link a {
  width: min(344px, 23.89vw);
  height: min(73px, 5.07vw);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 min(40px, 2.78vw);
  border: min(1px, 0.07vw) solid #383838;
}

.p1-b-link a span {
  font-size: min(18px, 1.25vw);
}

.p1-b-link a img {
  width: min(24px, 1.67vw);
  height: auto;
}

/* 1440 */
.p1-c-container {
  padding-top: min(100px, 6.94vw);
}

.p1-c-box {
  width: 100%;
  overflow: hidden;
}

.p1-c-img-box {
  width: min(1850px, 128.47vw);
  display: flex;
  gap: min(60px, 4.17vw);
  margin-left: 50%;
  transform: translateX(-50%);
}

.p1-c-img {
  width: min(550px, 38.19vw);
  margin-top: min(140px, 9.72vw);
}

.p1-c-img2 {
  width: min(630px, 43.75vw);
}

/* 1350 */
.p1-d-container {
  background-image: url(../image/top-back4.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: min(240px, 16.67vw) 0 min(200px, 13.89vw);
}

.p1-d-box {
  width: min(1280px, 88.89vw);
  background-image: url(../image/top-back5.png);
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 0 min(20px, 1.39vw) rgba(0, 0, 0, 0.1);
  padding: min(300px, 20.83vw) min(100px, 6.94vw) min(30px, 2.08vw);
  margin: 0 auto;
}

.p1-d .p1-title {
  text-align: center;
}

.p1-d .p1-title p {
  font-size: min(16px, 1.11vw);
  line-height: 2;
}

.p1-d-text {
  margin-top: min(30px, 2.08vw);
}

.p1-d-text p {
  font-size: min(16px, 1.11vw);
  line-height: 2;
  letter-spacing: 0.03em;
}

.p1-d-link {
  text-align: center;
  padding-top: min(30px, 2.08vw);
  border-top: min(1px, 0.07vw) solid #000;
  margin-top: min(30px, 2.08vw);
}

.p1-d-link a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: min(50px, 3.47vw);
}

.p1-d-link a span {
  font-size: min(18px, 1.25vw);
}

.p1-d-link a img {
  width: min(24px, 1.67vw);
  height: auto;
}

/* 1350 */
.p1-e-container {
  background-image: url(../image/top-back8.png);
  background-repeat: no-repeat;
  background-size: min(992px, 73.48vw) auto;
  background-position: left bottom;
  padding: min(200px, 14.81vw) 0;
}

.p1-e-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(30px, 2.22vw);
}

.p1-e-item img {
  width: min(42px, 3.11vw);
  height: auto;
}

.p1-e-item span {
  font-size: min(32px, 2.37vw);
  letter-spacing: 0.08em;
}

.p1-e-link {
  width: min(530px, 39.26vw);
  margin: min(60px, 4.44vw) auto 0;
}

/* 1440 */
.p1-f {
  position: relative;
  width: 100%;
  height: min(535px, 37.15vw);
  overflow: hidden;
  background-image: url(../image/top-back6.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

/* 1350 */
.p1-g-container {
  position: relative;
  padding: min(150px, 11.11vw) 0 min(100px, 7.41vw);
}

.p1-g .h2-title {
  position: absolute;
  top: 0;
  right: min(230px, 17.04vw);
  z-index: 10;
}

.p1-g-logo {
  width: min(200px, 14.81vw);
  height: auto;
  margin: 0 auto;
}

.p1-g-text {
  text-align: center;
  margin-top: min(15px, 1.11vw);
}

.p1-g-text p {
  font-size: min(18px, 1.33vw);
  line-height: 2;
  letter-spacing: 0.03em;
}

.p1-g-box {
  width: min(1167px, 86.44vw);
  display: flex;
  justify-content: center;
  background-color: #fdfbf1;
  padding: min(80px, 5.93vw) min(165px, 12.22vw);
  border-radius: min(30px, 2.22vw);
  margin: min(55px, 4.07vw) auto 0;
}

.p1-g-item,
.p1-g-item2 {
  width: 50%;
  padding: min(30px, 2.22vw) 0 min(50px, 3.7vw);
}

.p1-g-item2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-left: min(1px, 0.07vw) solid #000;
}

.p1-g-item2 span {
  display: inline-block;
}

.p1-g-item2 span:first-child {
  font-size: min(18px, 1.33vw);
}

.p1-g-item2 span:nth-of-type(2) {
  width: min(206px, 15.26vw);
  display: inline-block;
  text-align: center;
  font-size: min(16px, 1.19vw);
  line-height: 2;
  background-color: #d9d9d9;
  margin-top: min(20px, 1.48vw);
}

.p1-g-item2 span:nth-of-type(3) {
  width: min(206px, 15.26vw);
  display: inline-block;
  text-align: center;
  font-size: min(16px, 1.19vw);
  line-height: 2;
  background-color: #d9d9d9;
  margin-top: min(2px, 0.15vw);
}

.p1-g-item2 span:last-child {
  font-size: min(16px, 1.19vw);
  margin-top: min(20px, 1.48vw);
}

.p1-g-table {
  width: min(700px, 51.85vw);
  margin: min(100px, 7.41vw) auto 0;
}

.p1-g-table table {
  width: 100%;
  border-collapse: collapse;
}

.p1-g-table table th,
.p1-g-table table td {
  text-align: left;
  font-size: min(18px, 1.33vw);
  padding-top: min(40px, 2.96vw);
  padding-bottom: min(40px, 2.96vw);
  border-bottom: min(1px, 0.07vw) solid #b9bbb6;
}

.p1-g-table table th {
  width: min(194px, 14.37vw);
  vertical-align: top;
  letter-spacing: 0.05em;
  padding-left: min(45px, 3.33vw);
}

.p1-g-map {
  width: min(700px, 51.85vw);
  margin: min(50px, 3.7vw) auto 0;
}

.p1-g-map h3 {
  font-size: min(32px, 2.37vw);
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  letter-spacing: 0.03em;
  margin-bottom: min(25px, 1.85vw);
}

.p1-g-map iframe {
  width: 100%;
  height: min(416px, 30.81vw);
}

/* トップ共通 */
/* 1350 */
.p1-title h2 {
  font-size: min(28px, 2.07vw);
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.p1-title h2 span {
  font-size: min(32px, 2.37vw);
  color: #b1812f;
}

/* 共通タイトル */
/* 1350 */
.h2-title h2 {
  font-size: min(32px, 2.37vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  line-height: 1.3;
  letter-spacing: 0.03em;
  writing-mode: vertical-rl;
  padding-top: min(175px, 12.96vw);
  padding-right: min(10px, 0.74vw);
  border-right: min(1px, 0.07vw) solid #000;
}

/* 魚鶏の思い */
/* 1350 */
.p2-a-container {
  padding-top: min(100px, 7.41vw);
}

.p2-a-box {
  width: min(878px, 65.04vw);
  margin: 0 auto;
}

.p2-item h3 {
  font-size: min(24px, 1.78vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.03em;
  padding-bottom: min(20px, 1.48vw);
  border-bottom: min(1px, 0.07vw) solid #b1812f;
}

.p2-item p {
  font-size: min(16px, 1.19vw);
  line-height: 2;
  letter-spacing: 0.05em;
  padding-top: min(30px, 2.22vw);
}

/* 1350 */
.p2-b-box {
  width: min(1120px, 82.96vw);
  display: flex;
  justify-content: space-between;
  margin: min(150px, 11.11vw) auto 0;
}

.p2-b-box.reverce {
  flex-direction: row-reverse;
}

.p2-b-img {
  width: min(450px, 33.33vw);
}

.p2-b .p2-item {
  width: min(640px, 47.41vw);
}

/* 1350 */
.p2-c-container {
  background-image: url(../image/top-back4.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top;
  padding: calc(128 / 1440 * 100vw) 0 calc(100 / 1440 * 100vw);
  margin-top: min(66px, 4.89vw);
}

.p2-c-title {
  text-align: center;
}

.p2-c-title h2 {
  font-size: min(24px, 1.78vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  left: 0.05em;
}

.p2-c-box {
  width: min(1120px, 82.96vw);
  display: flex;
  justify-content: space-between;
  margin: min(100px, 7.41vw) auto 0;
}

.p2-c-item {
  width: min(505px, 37.41vw);
  background-repeat: no-repeat;
  background-size: cover;
  padding: min(380px, 28.15vw) min(35px, 2.59vw) min(40px, 2.96vw);
}

.p2-c-item:first-child {
  background-image: url(../image/p2-img5.png);
}

.p2-c-item:last-child {
  background-image: url(../image/p2-img6.png);
}

.p2-c-item h3 {
  text-align: center;
  font-size: min(24px, 1.78vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  line-height: 1.5;
  letter-spacing: 0.03em;
  padding-bottom: min(10px, 0.74vw);
}

.p2-c-item h3 span {
  text-align: center;
  font-size: min(20px, 1.48vw);
}

.p2-c-item p {
  font-size: min(16px, 1.19vw);
  line-height: 1.8;
  letter-spacing: 0.15em;
  padding-top: min(27px, 2vw);
  border-top: min(1px, 0.07vw) solid #000;
  margin: 0 min(15px, 1.11vw);
}

/* お品書き */
.p3-a-container {
  padding-top: min(100px, 7.41vw);
}

.p3-a-box {
  width: min(1034px, 76.59vw);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

.p3-a-box.reverce {
  flex-direction: row-reverse;
}

.p3-item {
  width: min(479px, 35.48vw);
}

.p3-item h3 {
  font-size: min(28px, 2.07vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.15em;
  padding-bottom: min(30px, 2.22vw);
  padding-left: min(10px, 0.74vw);
  border-bottom: min(1px, 0.07vw) solid #000;
  margin-right: min(30px, 2.22vw);
}

.p3-item p {
  font-size: min(16px, 1.19vw);
  line-height: 1.8;
  letter-spacing: 0.15em;
  padding-top: min(30px, 2.22vw);
  padding-left: min(10px, 0.74vw);
}

.p3-img {
  width: min(500px, 37.04vw);
}

/* 1350 */
.p3-b-container {
  width: min(1034px, 76.59vw);
  padding-top: min(100px, 7.41vw);
  margin: 0 auto;
}

.p3-b-box {
  width: 100%;
  background-color: #fdfbf1;
  padding: min(30px, 2.22vw) min(100px, 7.41vw);
  border-radius: min(30px, 2.22vw);
  margin-top: min(47px, 3.48vw);
}

.p3-b-box:first-child {
  margin-top: 0;
}

.menu-accordion__head {
  width: 100%;
  padding: min(20px, 1.48vw) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: none;
  cursor: pointer;
}

.menu-accordion__title {
  font-size: min(24px, 1.78vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.04em;
}

.menu-accordion__icon {
  width: min(20px, 1.48vw);
  transition: transform 0.3s ease;
}

.menu-accordion.active .menu-accordion__icon {
  transform: rotate(180deg);
}

.menu-accordion__body {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.4s ease,
    padding 0.4s ease;
}

.menu-accordion.active .menu-accordion__body {
  max-height: min(500px, 37.04vw);
  padding-bottom: min(20px, 1.48vw);
}

.menu-list {
  display: flex;
  flex-direction: column;
  gap: min(10px, 0.74vw);
}

.menu-list__item {
  display: flex;
  justify-content: space-between;
  gap: min(20px, 1.48vw);
}

.menu-list__name {
  font-size: min(18px, 1.33vw);
  line-height: 2;
  letter-spacing: 0.1em;
}

.menu-list__price {
  font-size: min(18px, 1.33vw);
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: right;
  flex-shrink: 0;
}

/* 1350 */
.p3-c-container {
  width: min(1034px, 76.59vw);
  padding: min(100px, 7.41vw) 0;
  margin: 0 auto;
}

/* ギャラリー */
/* 1350 */
.p4-a-container {
  padding: min(100px, 7.41vw) 0;
}

.p4-a-text {
  width: min(1000px, 74.07vw);
  margin: 0 auto;
}

.p4-a-text p {
  font-size: min(16px, 1.19vw);
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.p4-a-box {
  width: min(1280px, 94.81vw);
  margin: min(100px, 7.41vw) auto 0;
}

.p4-a-title {
  text-align: center;
  margin-bottom: min(50px, 3.7vw);
}

.p4-a-title h3 {
  font-size: min(24px, 1.78vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.03em;
}

.p4-a-list {
  display: grid;
  grid-template-columns: repeat(4, min(300px, 22.22vw));
  gap: min(50px, 3.7vw) min(20px, 1.48vw);
}

.p4-a-img img {
  width: min(300px, 22.22vw);
  height: auto;
}

/* 店舗情報 */
/* 1350 */
.p5-a-container {
  padding: min(120px, 8.89vw) 0 min(100px, 7.41vw);
}

.p5-a-box {
  width: min(1120px, 82.96vw);
  margin: 0 auto;
}

.p5-a-item h3 {
  text-align: center;
  font-size: min(24px, 1.78vw);
  font-weight: 400;
  font-family: "Yuji Syuku", serif;
  letter-spacing: 0.03em;
}

.p5-a-item p {
  font-size: min(18px, 1.33vw);
  line-height: 2;
  letter-spacing: 0.03em;
  padding-top: min(50px, 3.7vw);
}

.p5-a-table {
  width: min(1120px, 82.96vw);
  background-color: #fdfbf1;
  padding: min(50px, 3.7vw) min(160px, 11.85vw);
  margin: min(100px, 7.41vw) auto 0;
}

.p5-a-table table {
  width: 100%;
  border-collapse: collapse;
}

.p5-a-table table th,
.p5-a-table table td {
  text-align: left;
  font-weight: 400;
  line-height: 1.8;
  padding: min(25px, 1.85vw) 0;
  border-bottom: min(1px, 0.07vw) solid #000;
}

.p5-a-table table th {
  width: min(140px, 10.37vw);
  font-size: min(18px, 1.33vw);
  font-family: "Yuji Syuku", serif;
  vertical-align: top;
}

.p5-a-table table td {
  font-size: min(16px, 1.19vw);
  line-height: 2;
}

.p5-a-map {
  width: min(1120px, 82.96vw);
  height: min(300px, 22.22vw);
  margin: min(50px, 3.7vw) auto 0;
}

.p5-a-map iframe {
  width: 100%;
  height: 100%;
}

/* 下層共通メイン */
/* 1350 */
.sub-v-box {
  width: min(1200px, 88.89vw);
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.sub-v-img {
  width: min(1000px, 74.07vw);
}

/* フッター */
.footer-container {
  background-color: #fdfbf1;
  padding-top: min(50px, 3.7vw);
}

.footer-box {
  width: min(1280px, 94.81vw);
  display: flex;
  justify-content: space-between;
  padding-bottom: min(50px, 3.7vw);
  border-bottom: min(1px, 0.07vw) solid #000;
  margin: 0 auto;
}

.footer-logo {
  width: min(150px, 11.11vw);
  height: auto;
}

.footer-nav ul {
  display: flex;
  gap: min(40px, 2.96vw);
}

.footer-nav ul li a {
  display: inline-block;
  font-size: min(16px, 1.19vw);
  line-height: 1.2;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  padding: min(5px, 0.37vw);
}

.footer-nav ul li a:hover {
  background-color: #d9d9d9;
}

.footer-nav ul .footer-inst a {
  width: min(32px, 2.37vw);
  height: min(32px, 2.37vw);
  padding: 0;
}

.footer-nav ul .footer-inst a:hover {
  background-color: transparent;
}

.footer-item {
  width: min(1280px, 94.81vw);
  text-align: center;
  position: relative;
  padding: min(40px, 2.96vw) 0;
  margin: 0 auto;
}

.footer-item img {
  width: min(18px, 1.33vw);
  height: auto;
  margin: 0 auto min(10px, 0.74vw);
}

.footer-item span {
  font-size: min(16px, 1.19vw);
  letter-spacing: 0.03em;
}

.copy-right {
  position: absolute;
  right: 0;
  bottom: min(40px, 2.96vw);
  z-index: 10;
  font-size: min(14px, 1.04vw);
}

/* お知らせ内容 1100で可変 */
.single-container {
  width: 100%;
  padding: min(60px, 5.45vw) 0;
}

.single-box {
  width: min(1000px, 90.91vw);
  margin: 0 auto;
}

.single-title {
  font-size: min(32px, 2.91vw);
  font-weight: 600;
  margin-bottom: min(30px, 2.73vw);
  line-height: 1.4;
}

.single-img {
  width: 100%;
  max-width: min(600px, 54.55vw);
  margin-bottom: min(40px, 3.64vw);
}

.single-img img {
  width: 100%;
  height: auto;
  display: block;
}

.single-content {
  font-size: min(16px, 1.45vw);
  line-height: 1.8;
  color: #333;
}

.single-content img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  /* 全体 */
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  /* ヘッダー */
  /* 1350 */
  #header {
    width: 100%;
    height: 236px;
  }

  .header-container {
    width: 100%;
    height: 100%;
    padding: 0 13px;
  }

  .header-box {
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }

  .header-logo {
    width: 150px;
    height: 150px;
    margin: 0 auto;
  }

  .header-item {
    display: none;
  }

  .header-text p {
    font-size: 12px;
    color: #b9bbb6;
    letter-spacing: 0.05em;
  }

  /* 固定ヘッダー */
  .sp-fixed-menu {
    display: flex;
  }

  .sp-fixed-menu__item {
    width: 25%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background-image: url(../image/sp-back1.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
  }

  .sp-fixed-menu__item:last-child {
    border-right: none;
  }

  .sp-fixed-menu__item img {
    width: 22px;
    height: 22px;
    object-fit: contain;
  }

  .sp-fixed-menu__item span,
  .sp-fixed-menu__item p {
    font-size: 12px;
    font-family: "Yuji Syuku", serif;
    letter-spacing: 0.15em;
    line-height: 1;
  }

  /* ハンバーガー */
  .sp-fixed-menu-btn {
    background-image: url(../image/sp-back1.png);
    background-repeat: no-repeat;
    background-size: cover;
    border: none;
  }

  .sp-fixed-menu-btn span {
    position: absolute;
    width: 28px;
    height: 1px;
    background-color: #000;
    transition: 0.3s;
  }

  .sp-fixed-menu-btn span:nth-of-type(1) {
    top: 16px;
  }

  .sp-fixed-menu-btn span:nth-of-type(2) {
    top: 24px;
  }

  .sp-fixed-menu-btn p {
    margin-top: 30px;
  }

  /* 開いた時 */
  .sp-fixed-menu-btn.is-active span:nth-of-type(1) {
    top: 20px;
    transform: rotate(25deg);
  }

  .sp-fixed-menu-btn.is-active span:nth-of-type(2) {
    top: 20px;
    transform: rotate(-25deg);
  }

  /* 全画面メニュー */
  .sp-header-nav {
    position: fixed;
    top: 0;
    right: -100vw;
    width: 100vw;
    height: 100vh;
    background-image:
      url(../image/sp-back2.png), url(../image/sp-back3.png),
      url(../image/sp-back4.png);
    background-repeat: no-repeat;
    background-size:
      200px auto,
      300px auto,
      cover;
    background-position:
      top left,
      right bottom,
      center center;
    transition: 0.4s;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding-top: 30px;
    z-index: 9998;
  }

  .sp-header-nav.is-active {
    right: 0;
  }

  .sp-header-nav .sp-header-left {
    display: none;
  }

  .sp-header-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .sp-header-contact span {
    font-size: 15px;
  }

  .sp-header-tel {
    display: flex;
    align-items: center;
    letter-spacing: 3px;
  }

  .sp-header-tel span {
    font-size: 24px;
  }

  .sp-header-tel img {
    width: 24px;
    height: auto;
  }

  .sp-header-web a {
    width: 300px;
    height: 63px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../image/top-back7.png);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .sp-header-web a span {
    position: relative;
    font-size: 15px;
  }

  .sp-header-web a span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 50px);
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url(../image/part4.png);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .sp-hader-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 100px;
  }

  .sp-header-logo {
    width: 150px;
  }

  .sp-nav-list {
    display: flex;
    gap: 40px;
  }

  .sp-nav-list li a {
    display: inline-block;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    padding: 5px;
  }

  .sp-nav-list li a:hover {
    background-color: #d9d9d9;
  }

  .sp-nav-list .header-inst {
    display: none;
  }

  /* web予約 */
  .web {
    display: none;
  }

  /* トップ */
  /* 1350 */
  .main-v {
    width: 100%;
    overflow: hidden;
    margin-top: 10px;
  }

  .main-v-container {
    padding-left: 0;
    padding-right: 0;
  }

  .main-v-img {
    width: 100%;
  }

  /* 1350 */
  .p1-a-container {
    background-image: url(../image/sp-back5.png), url(../image/sp-back6.png);
    background-repeat: no-repeat;
    background-size:
      246px auto,
      175px auto;
    background-position:
      left top 130px,
      right bottom -75px;
    padding: 100px 0 80px;
  }

  .p1-a-img {
    width: 225px;
    margin: 0 auto;
    transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .p1-a-img img {
    width: 100%;
    display: block;
  }

  /* スクロール後 */
  .p1-a-img.is-active {
    width: 92%;
  }

  .p1-a-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin-top: 60px;
  }

  .p1-a .p1-title h2 {
    writing-mode: horizontal-tb;
  }

  .p1-a .p1-title h2 span {
    padding-top: 33px;
  }

  .p1-a-text {
    width: 76%;
    margin: 0 auto;
  }

  .p1-a-text p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.02em;
  }

  /* 1440 */
  .p1-b-img {
    width: 100%;
    position: relative;
    display: inline-block;
  }

  .p1-b-img::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 70px;
    background-color: #000;
  }

  .p1-b-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 100px;
  }

  .p1-b-img2 {
    margin-top: 0;
  }

  .p1-b-img2,
  .p1-b-img3 {
    display: none;
  }

  .p1-b-img4 {
    width: 80%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 10px auto 40px;
  }

  .p1-b-img4 img {
    width: 48%;
  }

  .p1-b-img4 img:first-child {
    margin-top: 25px;
  }

  .p1-b .p1-title {
    text-align: center;
    margin-top: 0;
  }

  .p1-b-text {
    width: 82%;
    text-align: center;
    margin: 0 auto;
  }

  .p1-b-text p {
    font-size: 14px;
    line-height: 2;
    letter-spacing: normal;
  }

  .p1-b-link {
    margin: 76px auto 0;
  }

  .p1-b-link a {
    width: 311px;
    height: 66px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px;
    border: 1px solid #383838;
    margin: 0 auto;
  }

  .p1-b-link a span {
    font-size: 16px;
  }

  .p1-b-link a img {
    width: 24px;
    height: auto;
  }

  /* 1440 */
  .p1-c-container {
    padding-top: 50px;
  }

  .p1-c-box {
    width: 100%;
    overflow: hidden;
  }

  .p1-c-img-box {
    width: calc(745 / 375 * 100vw);
    display: flex;
    gap: 25px;
    margin-left: 0;
    transform: translateX(-10%);
  }

  .p1-c-img {
    width: calc(221 / 375 * 100vw);
    margin-top: 56px;
  }

  .p1-c-img2 {
    width: calc(253 / 375 * 100vw);
  }

  /* 1350 */
  .p1-d-container {
    background-image: url(../image/sp-back8.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 150px 0 75px;
  }

  .p1-d-box {
    width: 350px;
    background-image: url(../image/sp-back7.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    padding: 211px 28px 10px;
    margin: 0 auto;
  }

  .p1-d .p1-title {
    text-align: center;
  }

  .p1-d .p1-title p {
    font-size: 16px;
    line-height: 2;
  }

  .p1-d-text {
    margin-top: 15px;
  }

  .p1-d-text p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
  }

  .p1-d-link {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid #000;
    margin-top: 20px;
  }

  .p1-d-link a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
  }

  .p1-d-link a span {
    font-size: 16px;
  }

  .p1-d-link a img {
    width: 24px;
    height: auto;
  }

  /* 1350 */
  .p1-e-container {
    background-image: url(../image/top-back8.png);
    background-repeat: no-repeat;
    background-size: 354px auto;
    background-position: left bottom;
    padding: 50px 0 74px;
  }

  .p1-e-item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
  }

  .p1-e-item img {
    width: 42px;
    height: auto;
  }

  .p1-e-item span {
    font-size: 28px;
    letter-spacing: 0.08em;
  }

  .p1-e-link {
    width: 335px;
    margin: 75px auto 0;
  }

  /* 1440 */
  .p1-f {
    position: relative;
    width: 100%;
    height: 234px;
    overflow: hidden;
    background-image: url(../image/top-back6.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }

  /* 1350 */
  .p1-g-container {
    position: relative;
    padding: 115px 0 50px;
  }

  .p1-g .h2-title {
    position: absolute;
    top: 0;
    right: 40px;
    z-index: 10;
  }

  .p1-g-logo {
    width: 150px;
    height: auto;
    margin: 0 auto;
  }

  .p1-g-text {
    text-align: center;
    margin-top: 20px;
  }

  .p1-g-text p {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.03em;
  }

  .p1-g-box {
    width: 92%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fdfbf1;
    padding: 50px 25px;
    border-radius: 30px;
    margin: 50px auto 0;
  }

  .p1-g-item,
  .p1-g-item2 {
    width: 100%;
    padding: 0 0 30px;
  }

  .p1-g-item2 {
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-left: none;
    padding-top: 30px;
    border-top: 1px solid #000;
  }

  .p1-g-item2 span {
    display: inline-block;
  }

  .p1-g-item2 span:first-child {
    font-size: 18px;
  }

  .p1-g-item2 span:nth-of-type(2) {
    width: 206px;
    display: inline-block;
    text-align: center;
    font-size: 16px;
    line-height: 2;
    background-color: #d9d9d9;
    margin-top: 26px;
  }

  .p1-g-item2 span:nth-of-type(3) {
    width: 206px;
    display: inline-block;
    text-align: center;
    font-size: 16px;
    line-height: 2;
    background-color: #d9d9d9;
    margin-top: 2px;
  }

  .p1-g-item2 span:last-child {
    font-size: 16px;
    margin-top: 26px;
  }

  .p1-g-table {
    width: 92%;
    margin: 50px auto 0;
  }

  .p1-g-table table {
    width: 100%;
    border-collapse: collapse;
  }

  .p1-g-table table th,
  .p1-g-table table td {
    text-align: left;
    display: block;
    font-size: 16px;
    padding: 10px 0 25px 24px;
    border-bottom: 1px solid #b9bbb6;
  }

  .p1-g-table table th {
    width: 100%;
    font-size: 18px;
    vertical-align: top;
    letter-spacing: 0.05em;
    padding: 25px 0 0 24px;
    border-bottom: none;
  }

  .p1-g-map {
    width: 92%;
    margin: 50px auto 0;
  }

  .p1-g-map h3 {
    font-size: 24px;
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    margin-bottom: 35px;
  }

  .p1-g-map iframe {
    width: 100%;
    height: 300px;
  }

  /* トップ共通 */
  /* 1350 */
  .p1-title h2 {
    font-size: 24px;
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .p1-title h2 span {
    font-size: 28px;
    color: #b1812f;
  }

  /* 共通タイトル */
  /* 1350 */
  .h2-title h2 {
    font-size: 24px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    line-height: 1.3;
    letter-spacing: 0.03em;
    writing-mode: vertical-rl;
    padding-top: 30px;
    padding-right: 20px;
    border-right: 1px solid #000;
  }

  /* 魚鶏の思い */
  /* 1350 */
  .p2-a-container {
    padding-top: 50px;
  }

  .p2-a-box {
    width: 92%;
    margin: 0 auto;
  }

  .p2-item h3 {
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    letter-spacing: 0.03em;
    padding-bottom: 10px;
    border-bottom: 1px solid #b1812f;
  }

  .p2-item p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.05em;
    padding-top: 15px;
  }

  /* 1350 */
  .p2-b-box {
    width: 92%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin: 70px auto 0;
  }

  .p2-b-box.reverce {
    flex-direction: column;
  }

  .p2-b-img {
    max-width: 400px;
    width: 100%;
  }

  .p2-b .p2-item {
    width: 100%;
  }

  /* 1350 */
  .p2-c-container {
    background-image: url(../image/top-back4.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    padding: calc(128 / 1440 * 100vw) 0 calc(100 / 1440 * 100vw);
    margin-top: 30px;
  }

  .p2-c-title {
    text-align: center;
  }

  .p2-c-title h2 {
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    left: 0.05em;
  }

  .p2-c-box {
    width: 92%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin: 50px auto 0;
  }

  .p2-c-item {
    max-width: 400px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 290px 12px 20px;
  }

  .p2-c-item:first-child {
    background-image: url(../image/p2-img5.png);
  }

  .p2-c-item:last-child {
    background-image: url(../image/p2-img6.png);
  }

  .p2-c-item h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding-bottom: 10px;
  }

  .p2-c-item h3 span {
    text-align: center;
    font-size: 16px;
  }

  .p2-c-item p {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.15em;
    padding-top: 20px;
    border-top: 1px solid #000;
    margin: 0;
  }

  /* お品書き */
  .p3-a-container {
    padding-top: 50px;
  }

  .p3-a-box {
    width: 92%;
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    align-items: center;
    gap: 20px;
    margin: 0 auto;
  }

  .p3-a-box.reverce {
    flex-direction: column;
  }

  .p3-item {
    width: 100%;
  }

  .p3-item h3 {
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    letter-spacing: 0.15em;
    padding-bottom: 10px;
    padding-left: 10px;
    border-bottom: 1px solid #000;
    margin-right: 0;
  }

  .p3-item p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.15em;
    padding-top: 20px;
    padding-left: 10px;
  }

  .p3-img {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  /* 1350 */
  .p3-b-container {
    width: 92%;
    padding-top: 50px;
    margin: 0 auto;
  }

  .p3-b-box {
    width: 100%;
    background-color: #fdfbf1;
    padding: 20px;
    border-radius: 20px;
    margin-top: 30px;
  }

  .p3-b-box:first-child {
    margin-top: 0;
  }

  .menu-accordion__head {
    width: 100%;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    border: none;
    cursor: pointer;
  }

  .menu-accordion__title {
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    letter-spacing: 0.04em;
  }

  .menu-accordion__icon {
    width: 15px;
    transition: transform 0.3s ease;
  }

  .menu-accordion.active .menu-accordion__icon {
    transform: rotate(180deg);
  }

  .menu-accordion__body {
    max-height: 0;
    overflow: hidden;
    transition:
      max-height 0.4s ease,
      padding 0.4s ease;
  }

  .menu-accordion.active .menu-accordion__body {
    max-height: 500px;
    padding-bottom: 10px;
  }

  .menu-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .menu-list__item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 10px;
  }

  .menu-list__name {
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0.1em;
  }

  .menu-list__price {
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
    flex-shrink: 0;
  }

  /* 1350 */
  .p3-c-container {
    width: 92%;
    padding: 50px 0;
    margin: 0 auto;
  }

  /* ギャラリー */
  /* 1350 */
  .p4-a-container {
    padding: 50px 0;
  }

  .p4-a-text {
    width: 92%;
    margin: 0 auto;
  }

  .p4-a-text p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }

  .p4-a-box {
    width: 92%;
    margin: 50px auto 0;
  }

  .p4-a-title {
    text-align: center;
    margin-bottom: 20px;
  }

  .p4-a-title h3 {
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    letter-spacing: 0.03em;
  }

  .p4-a-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .p4-a-img img {
    width: 100%;
    height: auto;
  }

  /* 店舗情報 */
  /* 1350 */
  .p5-a-container {
    padding: 60px 0 50px;
  }

  .p5-a-box {
    width: 92%;
    margin: 0 auto;
  }

  .p5-a-item h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    font-family: "Yuji Syuku", serif;
    letter-spacing: 0.03em;
  }

  .p5-a-item p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    padding-top: 30px;
  }

  .p5-a-table {
    width: 92%;
    background-color: #fdfbf1;
    padding: 20px;
    margin: 50px auto 0;
  }

  .p5-a-table table {
    width: 100%;
    border-collapse: collapse;
  }

  .p5-a-table table th,
  .p5-a-table table td {
    text-align: left;
    font-weight: 400;
    line-height: 1.8;
    padding: 10px 0;
    border-bottom: 1px solid #000;
  }

  .p5-a-table table th {
    width: 90px;
    font-size: 16px;
    font-family: "Yuji Syuku", serif;
    vertical-align: top;
  }

  .p5-a-table table td {
    font-size: 14px;
    line-height: 2;
  }

  .p5-a-map {
    width: 92%;
    height: 300px;
    margin: 25px auto 0;
  }

  .p5-a-map iframe {
    width: 100%;
    height: 100%;
  }

  /* 下層共通メイン */
  /* 1350 */
  .sub-v-box {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: flex-end;
    margin: 10px auto 0;
  }

  .sub-v-img {
    width: 100%;
  }

  .sub-v .h2-title {
    margin-right: 4%;
  }

  /* フッター */
  footer {
    margin-bottom: 60px;
  }

  .footer-container {
    background-color: #fdfbf1;
    padding-top: 50px;
  }

  .footer-box {
    width: 92%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #000;
    margin: 0 auto;
  }

  .footer-logo {
    width: 150px;
    height: auto;
  }

  .footer-inst {
    width: 32px;
  }

  .footer-nav ul {
    display: flex;
    gap: 40px;
  }

  .footer-nav ul li a {
    display: inline-block;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    padding: 5px;
  }

  .footer-nav ul li a:hover {
    background-color: #d9d9d9;
  }

  .footer-item {
    width: 92%;
    text-align: center;
    position: relative;
    padding: 20px 0;
    margin: 0 auto;
  }

  .footer-item img {
    width: 18px;
    height: auto;
    margin: 0 auto 10px;
  }

  .footer-item span {
    font-size: 16px;
    letter-spacing: 0.03em;
  }

  .copy-right {
    position: static;
    text-align: center;
    font-size: 14px;
    padding-top: 70px;
  }

  /* お知らせ内容 1100で可変 */
  .single-container {
    width: 100%;
    padding: 40px 0;
  }

  .single-box {
    width: 94%;
    margin: 0 auto;
  }

  .single-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.4;
  }

  .single-img {
    width: 100%;
    max-width: 400px;
    margin-bottom: 30px;
  }

  .single-img img {
    width: 100%;
    height: auto;
    display: block;
  }

  .single-content {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
  }

  .single-content img {
    max-width: 100%;
    height: auto;
  }
}
