@charset 'UTF-8';
html { scroll-behavior: smooth;}
body {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho Pro W3", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
img {
	width: 100%;
}
main {
	width: 100%;
}
h2 {
	width: 20%;
	margin: 0 auto 60px;
	padding-top: 30px;
}
.TtlImg img {
	height: 100px;
}
.menuTtlImg img {
	height: 142px;
}
@media screen and (max-width:835px){
h2 {
	width: unset;
	margin: 0 auto 16vw;
	padding-top: 6vw;
}
.TtlImg img {
	height: 20vw;
}
.menuTtlImg img {
	height: 28.4vw;
}
}
h3 {
	font-size: 24px;
	font-weight: bold;
}
@media screen and (max-width:835px){
h3 {
	font-size: 6vw;
}
}


/*displaynone*/
.disPC {
	display: block;
}
.disSP {
	display: none;
}
@media screen and (max-width:835px){
.disPC {
	display: none;
}
.disSP {
	display: block;
}
}
/*text-align*/
.txaC {
	text-align: center;
}
.txaL {
	text-align: left;
}
.txaR {
	text-align: right;
}
/*font*/
.fts12 {
	font-size: 12px !important;
}
.fts14 {
	font-size: 14px !important;
}
.fts16 {
	font-size: 16px !important;
}
.fts18 {
	font-size: 18px !important;
}
.fts20 {
	font-size: 20px !important;
}
.fts22 {
	font-size: 22px !important;
}
.fts24 {
	font-size: 24px !important;
}
.fts28 {
	font-size: 28px !important;
}
.fts32 {
	font-size: 32px !important;
}
.fts36 {
	font-size: 36px !important;
}
/*font-weight*/
.ftwN {
	font-weight: normal;
}
.ftwB {
	font-weight: bold;
}
.ftwBR {
	font-weight: bolder;
}
/*line-height*/
.lh18 {
	line-height: 1.8;
}
.lh20 {
	line-height: 2.0;
}
.lh22 {
	line-height: 2.2;
}
.lh24 {
	line-height: 2.4;
}
.lh26 {
	line-height: 2.6;
}
/*top*/
.mgt10 {
	margin-top: 10px;
}
.mgt20 {
	margin-top: 20px;
}
.mgt30 {
	margin-top: 30px;
}
.mgt40 {
	margin-top: 40px;
}
.mgt50 {
	margin-top: 50px;
}
.mgt60 {
	margin-top: 60px;
}
.mgt70 {
	margin-top: 70px;
}
.mgt80 {
	margin-top: 80px;
}
.mgt100 {
	margin-top: 100px;
}
.mgt120 {
	margin-top: 120px;
}
.mgt180 {
	margin-top: 180px;
}
.mgt240 {
	margin-top: 240px;
}
/*bottom*/
.mgb10 {
	margin-bottom: 10px;
}
.mgb20 {
	margin-bottom: 20px;
}
.mgb30 {
	margin-bottom: 30px;
}
.mgb40 {
	margin-bottom: 40px;
}
.mgb50 {
	margin-bottom: 50px;
}
.mgb60 {
	margin-bottom: 60px;
}
.mgb70 {
	margin-bottom: 70px;
}
.mgb80 {
	margin-bottom: 80px;
}
.mgb100 {
	margin-bottom: 100px;
}
.mgb120 {
	margin-bottom: 120px;
}
.mgb200 {
	margin-bottom: 200px;
}
.mgr10 {
	margin-right: 10px;
}
.mgr20 {
	margin-right: 20px;
}
.mgr24 {
	margin-right: 24px;
}
@media screen and (max-width: 835px) {
.fts12 {
	font-size: 3vw !important;
}
.fts14 {
	font-size: 3.4vw !important;
}
.fts16 {
	font-size: 3.8vw !important;
}
.fts18 {
	font-size: 4.4vw !important;
}
.fts24 {
	font-size: 6vw !important;
}
.fts28 {
	font-size: 6.6vw !important;
}
.mgt100 {
	margin-top: 20vw !important;
}
.mgt180 {
	margin-top: 15vw;
}
.mgr24 {
	margin-right: 5.8vw;
}
}

/*content style*/

/* 
Loading
=================================== */
/* CSS */
.loading {
  position: fixed;
  inset: 0;
  z-index: 400; /* 他のコンテンツより手前に表示 */
  height: 100svh; /* ★推奨★ モバイルでのviewport高さを考慮 (vhでも多くの場合は動きます) */
  background-color: #333;
  clip-path: inset(0);
}

.loading__inner {
  width: 100%;
  height: inherit;
  display: grid;
  place-content: center;
  row-gap: 10px;
}

.loading__text {
  font-size: max(16px, 1.2rem);
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 2;
  text-align: center;
  color: #fff;
  opacity: 0;
  transform: translateY(60px); /* テキストの初期位置 */
}

.loading__logo {
  margin: 0 auto;
  width: min(200px, 100%);
  opacity: 0;
}

/* コンテンツ本体 */
.contents {
    min-height: 100vh;
    visibility: hidden; /* 要素は存在するが見えない状態 */
}

/* =============================== */
/* ★CSSアニメーション定義★ */
/* =============================== */

/* テキストのフェードインと移動 */
@keyframes loading-text-in {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ロゴのフェードイン */
@keyframes loading-logo-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ローディング背景の中央収縮・フェードアウト */
@keyframes loading-exit-center-line {
  0% {
    clip-path: inset(0);
    opacity: 1;
  }
  100% {
    clip-path: inset(50% 0 50% 0);
    opacity: 0;
  }
}

/* JavaScriptで body にクラスを付与してアニメーションを起動 */
body.is-loading-animated .loading__text {
  animation: loading-text-in 1.33s ease-in-out forwards;
}

body.is-loading-animated .loading__logo {
  animation: loading-logo-in 1.33s ease-in-out forwards;
  animation-delay: 1s; /* テキスト開始から1秒後に開始 */
}

body.is-loading-animated .loading {
  animation: loading-exit-center-line 1.2s ease-in-out forwards;
  /* ローディング終了アニメーションの開始ディレイ計算:
     ロゴ開始(1s) -> ロゴ終了(1s + 1.33s = 2.33s)
     -> ローディング終了開始 (ロゴ終了 + 0.33s = 2.33s + 0.33s = 2.66s)
  */
  animation-delay: 2.66s;
}

/* 
hamburger(ハンバーガーアイコン)
=================================== */
@media screen and (max-width: 835px) {
.hamburger {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 50px;
  height: 40px;
  cursor: pointer;
  z-index: 300;
}

.hamburger__line {
  position: absolute;
  width: 30px;
  height: 2px;
  right: 0;
  background-color: #595857;
  transition: all 0.5s;
}

.hamburger__line--1 {
  top: 0;
}

.hamburger__line--2 {
  top: 2vw;
}

.hamburger__line--3 {
  top: 4vw;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  transform: rotate(-45deg);
  top: 11px;
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  transform: rotate(45deg);
  top: 11px;
}


/* 
sp-nav(ナビ)
=================================== */
body.no-scroll {
    overflow: hidden; /* スクロールを無効にする */
}
.sp-nav {
  position: fixed;
  right: -100%; /*ハンバーガーがクリックされる前はWindow右側に隠す*/
  top: 0;
  width: 70%; /* 出てくるスライドメニューの幅 */
  height: 100vh;
  background-color: #fff;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

/*ハンバーガーがクリックされたら右からスライド*/
.open .sp-nav {
	overflow: scroll;
	width: 70vw;
  right: 0;
  background: rgba(255, 255, 255, 0.9);
}


/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}
}

/*header*/
.mainVisual {
	height: 100%;
  background: linear-gradient(to right, #e0640a 10%, #ec995d 100%, #ffffff 30%, #ffffff 100%);
  overflow: hidden;
}
.header {
	width: 1040px;
	margin: 0 auto;
}
.topNav {
	width: 1040px;
	position: fixed;
	top: 20px;
	z-index: 100;
}
.topNavUl {
	height: 45px;
	margin: 20px 120px 0 40px !important;
}
.topNavUl li a,.snsLogo li a {
  opacity: 1;
  transition: opacity 0.3s ease;
  filter: drop-shadow(0px 0px 9px rgba(255,255,255,1)) drop-shadow(0px 0px 9px rgba(255,255,255,1)) drop-shadow(0px 0px 9px rgba(255,255,255,1));
}
.topNavUl:hover > li a,.snsLogo:hover > li a {
  opacity: 0.3;
}
.topNavUl:hover > li a:hover,.snsLogo:hover > li a:hover {
  opacity: 1;
}
.flexBox {
	margin: 0 auto;
	display: flex;
}
.reverse {
	flex-flow: row-reverse;
}
.mvFlex {
	justify-content: space-between;
}
.topNavUl li:not(:last-child) {
	margin-right: 40px;
}
.snsLogo {
	width: 100px;
	height: 28px;
	justify-content: flex-start;
	margin: 20px 40px 0;
}
.snsLogo li:not(:last-child) {
	margin-right: 20px;
}

@media screen and (max-width: 835px) {
.mainVisual {
	height: 100%;
  background: linear-gradient(to bottom, #e0640a 15%, #ec995d 70%, #ffffff 30%, #ffffff 100%);
    /*background: linear-gradient(to right, #f18333 0%, #f18333 70%, #ffffff 30%, #ffffff 100%);*/
  overflow: hidden;
}
.header {
	width: 100vw;
	height: 100%;
}
.topNav {
	width: 100vw;
	top: 20px;
	left: 0;
	z-index: 10;
}
.flexBox {
	width: 100%;
	margin: 0 auto;
	display: block;
}
.reverse {
	flex-flow: row-reverse;
}
.mvFlex {
	justify-content: flex-start;
}
.topNavUl {
	width: 70%;
}
.topNavUl li{
	margin-bottom: 3%;
}
.topNavUl li:not(:last-child) {
	margin-right: 0;
	margin-bottom: 7vw;
}
.topNavUl li img {
	height: 10vw;
}
.snsLogo li img {
	width: 7vw;
}
.snsLogo {
	width: unset;
	height: unset;
	display: flex;
	justify-content: center;
	margin: 77vw auto 0;
}
.snsLogo li:not(:last-child) {
	margin-right: 10vw;
}
}

/*mv*/
.mainVisualBox {
	width: 1040px;
	position: relative;
}
.ttlBox {
	width: 60%;
	margin: 110px 110px 0 0;
	padding: 80px 0 0;
	position: relative;
	text-align: center;
}
.SubTtl {
	display: inline-block;
	line-height: 1.3;
	font-size: 18px;
	color: #ffffff;
	filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.6));
	margin: 0 0 30px -30px;
	text-align: left;
}
.mainTtl {
	text-align: center;
	filter: drop-shadow(0px 0px 9px rgba(255,255,255,1)) drop-shadow(0px 0px 9px rgba(255,255,255,1));
	margin-bottom: 40px;
}
.mainTtl img {
	width: 470px;
}
.logoImg {
	width: 10%;
	margin: 0 auto 20px;
}

@keyframes rotateWithPause {
  0% {
    transform: rotate(0deg);
  }
  20% {
    transform: rotate(90deg);
  }
  25% {
    transform: rotate(90deg); /* 停止 */
  }
  45% {
    transform: rotate(180deg);
  }
  50% {
    transform: rotate(180deg); /* 停止 */
  }
  70% {
    transform: rotate(270deg);
  }
  75% {
    transform: rotate(270deg); /* 停止 */
  }
  95% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(360deg); /* 停止 (ここを確保) */
  }
}

@keyframes shake {
  0%, 100% {
    transform: rotate(var(--current-rotation)) translateY(0);
  }
  25% {
    transform: rotate(var(--current-rotation)) translateY(-5px);
  }
  50% {
    transform: rotate(var(--current-rotation)) translateY(5px);
  }
  75% {
    transform: rotate(var(--current-rotation)) translateY(-5px);
  }
}
.ttlBoxWt {
	width: 310px;
	height: 600px;
	position: relative;
}
.ttlBoxWt::before {
	content: "";
	width: 2000px;
	height: 2000px;
	background: url('../img/mvRoleImg.png') no-repeat center / cover;
	position: absolute;
	top: -115%;
	left: -50%;
	animation: rotateWithPause 50s infinite ease-in-out, shake 1s ease-in-out 1.5;
}
.scrollImg {
	width: 270px;
	height: 400px;
	position: absolute;
	top: 63%;
	left:0%;
	transform: translateY(-50%);
}
.scrollImgBorder {
	border: 15px solid #f18333;
	border-radius: 20px;
	position: relative;
}
.scrollImgBorder::before {
	content: "";
	width: 300px;
	height: 64.92px;
	background: url('../img/yaneImg.png') no-repeat center / cover;
	position: absolute;
	top: -20%;
	left: -13%;
	z-index: 10;
}
.scrollImgBox {
	width: 240px;
	height: 310px;
}
.sideLogo {
	width: 73%;
	height: 20px;
	background: url('../img/logoSide.svg') no-repeat center / cover;
	position: absolute;
	top: 50%;
	right: -30%;
	transform: rotate(90deg) translateY(-50%);
}
.sideLogoEn {
	font-size: 16px;
	color: #ffffff;
	position: absolute;
	top: 40%;
	left: -17%;
	transform: rotate(270deg) translateY(-50%);
}

#image-list {
    /* 画像を表示するエリアのサイズを設定 */
    position: relative; /* 子要素(li)のabsolute配置の基準 */
    width: 100%; /* または具体的なサイズ 例: 600px */
    height: 100%; /* または具体的なサイズ 例: 400px */
    overflow: hidden; /* コンテナからはみ出る部分を隠す */
    padding: 0; /* ulのデフォルトパディングを削除 */
    margin: 0; /* ulのデフォルトマージンを削除 */
    list-style: none; /* ulのデフォルトリストスタイルを削除 */
}

/* image-list の直下にある li 要素に適用 */
#image-list > li {
    position: absolute; /* コンテナ内で重ねて配置 */
    top: 0;
    left: 0;
    width: 100%; /* 親要素(ul)の幅に合わせる */
    height: 100%; /* 親要素(ul)の高さに合わせる */
    opacity: 0; /* 初期状態では非表示 */
    transition: opacity 1.5s ease-in-out; /* opacityの変化に1.5秒かける */
}

/* li の中にある img 要素に適用 */
#image-list > li img {
     display: block; /* imgの下にできる余白をなくす */
     width: 100%; /* 親要素(li)の幅に合わせる */
     height: 100%; /* 親要素(li)の高さに合わせる */
     /* 画像のアスペクト比を保ちつつコンテナに合わせる */
     object-fit: cover;
}

/*scroll*/
.scrollanim {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 90px;
  overflow: hidden;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
.scrollanim::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1.5px;
  height: 80px;
  background: #585858;
  animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
  transform: scale(1, 0);
  transform-origin: 0 0;
  }
  50% {
  transform: scale(1, 1);
  transform-origin: 0 0;
  }
  50.1% {
  transform: scale(1, 1);
  transform-origin: 0 100%;
  }
  100% {
  transform: scale(1, 0);
  transform-origin: 0 100%;
  }
}


@media screen and (max-width: 835px) {
.mainVisualBox {
	width: 100vw;
}
.mainVisualBox.flexBox {
	display: block;
}
.ttlBox {
	width: 100vw;
	margin:  0;
	position: relative;
	text-align: center;
	padding: 6vw 0 8vw;
}
.SubTtl {
	display: inline-block;
	line-height: 1.3;
	font-size: 5vw;
	color: #ffffff;
	filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.6));
	margin: 15vw 0 10vw;
	text-align: left;
}
.mainTtl {
	text-align: center;
	filter: drop-shadow(0px 0px 9px rgba(255,255,255,1)) drop-shadow(0px 0px 9px rgba(255,255,255,1)) drop-shadow(0px 0px 9px rgba(255,255,255,1));
	margin-bottom: 10vw;
}
.mainTtl img {
	width: 80vw;
}
.logoImg {
	width: 70vw;
	text-align: center;
	margin: 20vw auto 10vw;
}
.logoImg img {
	width: 20vw;
}
.sideLogoEn {
	width: 100%;
	font-size: 4.5vw;
	color: #ffffff;
	position: absolute;
	top: 50vw;
	left: -46vw;
	transform: rotate(270deg);
}
.ttlBoxWt {
	width: 100vw;
	height: 140vw;
	position: relative;
}
.ttlBoxWt::before {
	content: "";
	width: 350vw;
	height: 350vw;
	background: url('../img/mvRoleImg.png') no-repeat center / cover;
	position: absolute;
	top: -5vw;
	left: -124%;
	animation: rotateWithPause 50s infinite ease-in-out, shake 1s ease-in-out 1.5;
}
.scrollImg {
	width: 100vw;
	height: 100vw;
	padding: 0 10%;
	top: 85vw;
}
.scrollImgBorder {
	width: 73vw;
	margin: 0 auto;
	border: 4vw solid #f18333;
	border-radius: 4vw;
	position: fixed;
	top: -3vw;
	left: 50%;
	transform: translateX(-50%);
}
.scrollImgBorder::before {
	content: "";
	width: 80vw;
	height: 21vw;
	background: url('../img/yaneImg.png') no-repeat center / contain;
	position: absolute;
	top: -18vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
.scrollImgBox {
	width: 66vw;  /* 横幅を指定 */
	height: 89vw;
	overflow-x: hidden;  /* 横スクロールを隠す */
  margin: 0 auto;  /* 中央揃え */
  position: relative;
}
#image-list > li img {
	display: block;
	object-fit: cover;
}
.sideLogo {
	width: 65vw;
  height: 5.85vw;
	position: absolute;
	top: 55%;
	right: -25%;
	transform: rotate(90deg) translateY(-50%);
}

/*scroll*/
.scrollanim img {
	width: 5vw;
}
.scrollanim {
  position: absolute;
  top: unset;
  bottom: -20vw;
  right: 2%;
  z-index: 2;
  padding: 4vw 0 20vw;
}
.scrollanim::after {
  width: 0.5vw;
  height: 17vw;
  top: 27vw;
  right: 43%;
  left: unset;
  background: #ffffff;
}
}

/*wrappar*/

/*news*/
.newsBox .slider-wrapper {
	margin: 100px 0 0;
}
.newsBox .slider-wrapper img {
	width: 700px;
}

#announcement-list {
	width: 800px;
	text-align: left;
	margin: 0 auto;
}
#announcement-list li a:hover {
	opacity: 0.6;
	transition: opacity 0.3s;
}
#announcement-list ul li:not(:first-child) {
	margin-top: 25px;
}
#announcement-list ul li a {
	display: flex;
	align-items: center;
}
#announcement-list ul li img {
	width: 150px;
	object-fit: contain;
}
.announcement-content {
	margin-left: 20px;
}
.announcement-content a {
	font-size: 20px;
	line-height: 2;

}
.dateIcon {
	background: #f18333;
	color: #ffffff;
	padding: 5px;
	margin-left: 10px;
}
.announcement-excerpt {
	display: none;
}
.announcement-excerpt p {
	line-height: 2 !important;
}
@media screen and (max-width: 835px) {
	#announcement-list {
	width: 100vw;
	text-align: center;
}
#announcement-list ul li:not(:first-child) {
	margin-top: 8vw;
}
#announcement-list ul li a {
	display: block;
}
#announcement-list ul li img {
	width: 90vw;
}
.announcement-date {
	font-size: 4vw;
}
.announcement-title {
	font-size: 6vw;
	margin-bottom: 3vw;
}
.announcement-content {
	margin: 0 5vw;
}
}
@media screen and (max-width: 835px) {
.newsBox .slider-wrapper {
	margin: 5vw auto 0;
}
.newsBox .slider-wrapper img {
	width: 100vw;
}
}

.wrappar {
	width: 100%;
	background: #f8f7ea;
	text-align: center;
	padding-top: 70px;
	overflow: hidden;
}
.wrappar section {
	margin-top: -100px;
	padding-top: 100px;
	margin-bottom: 120px;
}
.wrappar p {
	display: block;
	line-height: 3.5;
}
.contentBk {
	width: 100%;
	margin: 0 auto;
}

.contentBox{
	width: 1040px;
	margin: 0 auto;
}
.concept {
	position: relative;
	z-index: 1;
}
.concept::before {
	position: absolute;
	content: "";
	width: 414px;
	height: 122px;
	background: url('../img/decoImg01.png') no-repeat center / cover;
	top: 20%;
	left: -20%;
	z-index: -1;
}
.concept::after {
	position: absolute;
	content: "";
	width: 414px;
	height: 122px;
	background: url('../img/decoImg01.png') no-repeat center / cover;
	bottom: -10%;
	right: -25%;
	z-index: -1;
}
.pride {
	position: relative;
	z-index: 1;
}
.pride::before {
	position: absolute;
	content: "";
	width: 414px;
	height: 122px;
	background: url('../img/decoImg02.png') no-repeat center / cover;
	top: 20%;
	left: -20%;
	z-index: -1;
}
.pride::after {
	position: absolute;
	content: "";
	width: 414px;
	height: 122px;
	background: url('../img/decoImg02.png') no-repeat center / cover;
	bottom: -10%;
	right: -20%;
	z-index: -1;
}
.prideImgBox {
	width: 480px;
	height: 350px;
	justify-content: space-between;
}
.prideImg {
	width: 220px;
	height: auto;
	margin: 0;
	position: relative;
	z-index: 1;
}
.prideImg img {
	width: 220px;
	height: 317.16px;
	display: block;
}
.prideImgMeat::after ,.prideImgVeg::before {
	content: "";
	display: block;
	width: 100px;
	height: 100px;
	background: #bd8873;
	position: absolute;
	z-index: -1;
}
.prideImgMeat::after {
	top: -10px;
	left: -10px;
}
.prideImgVeg::before {
	bottom: 24px;
	right: -10px;
}
.prideTxt {
	width: 540px;
}


@media screen and (max-width: 835px) {
.wrappar {
	width: 100vw;
	padding: 14vw 0 0;
	overflow: hidden;
}
.concept::before {
	width: 53.077vw;
	height: 15.641vw;
	top: 2%;
	left: -10%;
}
.concept::after {
	width: 53.077vw;
	height: 15.641vw;
	bottom: -2%;
	right: -10%;
}
.pride::before {
	width: 57.949vw;
	height: 16.795vw;
	top: 1%;
	left: -10%;
}
.pride::after {
	width: 57.949vw;
	height: 16.795vw;
	bottom: -2%;
	right: -10%;
}
.wrappar .pride img {
	width: 50vw;
}
.wrappar section {
	margin-top: -5vw;
	padding-top: 5vw;
	margin-bottom: 20vw;
}
.wrappar p {
	margin: 0 2vw;
	font-size: 4vw;
	display: block;
	line-height: 3;
}
.contentBk {
	width: 100vw;
	margin: 0 auto;
}
.contentBox{
	width: 100vw;
	margin: 0 auto;
}
.prideImgBox {
	width: 94vw;
	margin: 0 3vw 10vw;
	height: 100%;
	display: flex;
	position: relative;
}
.prideImg {
	width: 50vw;
	height: auto;
	margin: 0;
	position: relative;
	z-index: 1;
}
.prideImg img {
	width: 45vw !important;
	height: unset;
	position: unset;
	z-index: 10;
	margin: 0 auto;
}
.prideImgMeat {
	margin: 0 2vw 0 0;
}
.prideImgMeat::before, .prideImgVeg::after {
	content: "";
	width: 16vw;
	height: 16vw;
	background: #bd8873;
	position: unset;
}
.prideImgMeat::after {
	top: -2vw;
	left: -1.5vw;
}
.prideImgVeg::before {
	bottom: -2vw;
	right: -1.5vw;
}
.prideTxt {
	width: 100vw;
}
}

/*MENU*/
.menuContent {
	background-color: #271b17;
	background-image: url('../img/bkSection.png');
	width: 100%;
	position: relative;
	margin: 0 auto;
	padding-top: 100px;
}
.menu {
	width: 1040px;
	margin: 0 auto;
	padding: 150px 0;
	color: #ffffff;	
}
.menuContent::before {
	content: "";
	background: url('../img/decoLine02.png') no-repeat;
	display: inline-block;
	width: 1920px;
	height: 139px;
	position: absolute;
	top: 1%;
	left: calc(50% - 960px);
}
.menu::after {
	content: "";
	background: url('../img/decoLine02.png') no-repeat;
	display: inline-block;
	width: 1920px;
	height: 139px;
	position: absolute;
	bottom: 1%;
	left: calc(50% - 960px);
	transform: rotate(180deg);
}
.menuBk {
	width: 400px;
	height: 260px;
	margin: 150px auto;
	padding: 20px;
	background: linear-gradient(to right, #893e3e 10%, #a15757 90%); 
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.menuBk h2 {
	width: 100%;
	margin-bottom: 0;
	padding: 30px;
	border-top: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
  filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.6));
}
.menuBox {
	position: relative;
}
.menuImg {
	width: 450px;
	height: 317px;
	position: absolute;
	bottom: 60px;
  filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.3));
}
.menuImg img {
	width: 450px;
	border-radius: 20px 20px 0 0;
}
.menuTxtBox {
	width: 850px;
	background: url('../img/bkGaraImg.png' ) bottom / 94px repeat-x ,linear-gradient(to right, #996d43 10%, #cd9d6e 90%); 
	margin-left: 190px;
	padding: 30px 30px 70px 300px;
	border-radius: 20px 20px 0 0;
}
.menuTxtBox .flexBox {
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: 2px solid #f27b24;
}
.reverse .menuTxtBox {
	margin-left: 0;
	margin-right: 190px;
	padding: 30px 300px 70px 30px;
}
.menuTxtBox h3 {
	text-align: left;
	filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.4));
}
.menuTxtBox > .flexBox > span {
	filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.4));
}
.menuTxtBox p {
	line-height: 2.2;
	text-align: left;
}

.modalBox {
	justify-content: center;
	margin: 50px auto 0;
}
.scrollLogoImg {
	margin: 50px 0;
}
.menuSliderBox .scrollLogoImg img,.modalBox img {
	width: 280px;
}
.menuSliderBox p {
	line-height: 2;
}
.scrollLogoImg button {
  margin-right: 20px;
  position: relative;
}
.modalBox button {
  position: relative;
}
.scrollLogoImg button::after, .modalBox button::after {
	position: absolute;
  content: "";
	background: url('../img/pointerIcon.png') no-repeat center / cover;
	width: 20px;
	height: 20px;
	bottom: 14%;
	right: 1%;
}
.scrollLogoImg p {
	line-height: 2;
}
.manual-nav {
		width: 50px;
    position: absolute;
    top: 110%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #ffffff;
    font-weight: 900;
    border: 2px solid #ffffff;
    border-radius: 50%;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
    display: none;
}
.slider-container {
    width: 100vw;
    margin: 50px auto 0;
    position: relative;
}

.slider-wrapper {
    display: flex;
    transition: transform 0.1s ease;
}
.slider-container:not(.slider-manual):not(.slider-draggable) .slider-wrapper {
    transition: none;
}
.slider-prev {
    left: 10px;
}

.slider-next {
    left: 985px;
}
.slider-container.slider-manual .manual-nav {
    display: block;
}
.slider-container.slider-draggable .slider-wrapper {
    cursor: grab;
}

.slider-container.slider-draggable .slider-wrapper:active {
    cursor: grabbing;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
    }
}

/* ドットナビゲーション全体のコンテナ */
.slider-dots {
	width: 1040px;
  text-align: center;
  padding: 10px 0;
  margin-top: 10px;
}

.slider-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  cursor: pointer;
  border: none;
  padding: 0;
  background-color: #ccc;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

/* アクティブなドットのスタイル */
.slider-dot.active {
  background-color: #f26836;
  border: 1px solid;
}

/* ドットにフォーカスが当たった時のスタイル (アクセシビリティ向上のため) */
.slider-dot:focus {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}
.active-slide-content {
  outline: 2px solid #f26836;
  outline-offset: -2px;
  border-radius: 15px;
}
/* ドットにフォーカスが当たったが、:focus-visible でない場合はアウトラインを消す (モダンブラウザ向け) */
/* マウスクリックではフォーカスリングを表示させたくない場合 */
.slider-dot:focus:not(:focus-visible) {
  outline: none;
}

@media screen and (max-width: 835px) {
    .slider-container {
        width: 100%;
        margin: 20vw auto;
    }
    .slider-wrapper img {
        width: 80vw;
    }
    .manual-nav {
		width: 13vw;
		height: 13vw;
    position: absolute;
    top: 120%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #ffffff;
    border-radius: 50%;
    padding: 0;
		}
    .slider-prev {
		    left: 3vw;
		}
    .slider-next {
    		right: 3vw;
    		left: unset;
		}
		.slider-dots {
		width: 100vw;
	  text-align: center;
	  padding:0;
	  margin-top: 3vw;
}
}

/*modal*/
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 90%;
    max-width: 500px;
    border-radius: 5px;
    position: relative;
    box-sizing: border-box;
    color: #333333;
}

.close {
    color: #aaa;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 600px) {
    .modal-content {
        width: 95%;
        padding: 15px;
    }
    .close {
        font-size: 24px;
        top: 5px;
        right: 5px;
    }
}
/*drink*/
.drinkBk {
	justify-content: space-between;
}
.accordion-drinkInr {
	padding: 0 50px;
}
.accordion-drinkInr dl {
	display: flex;
	justify-content: space-between;
}
.accordion-drinkInr dt, .accordion-drinkInr dd {
	font-size: 18px;
	line-height: 3;
}
.accordion-drinkInr dt{
	text-align: left;
}
.accordion-drinkInr dd {
	text-align: right;
	width: 95px;
}

.pdf_Dl {
  margin: 0;
  overflow: hidden;
}
.pdf_Dl embed {
  width: 100%;
  height: 95vh;
  margin-top: 50px;
}
.pdf_Dl .accordion-drink {
 width: 1040px;
 margin-bottom: 100px;
}
.toppingMenu .accordion-drink, .toppingVariation .accordion-drink, .toppingVariation .accordion-drink {
 width: 1040px;
}
.toppingMenu {
	margin-top: 100px;
}
.toppingVariation {
	margin-top: 50px;
}
/*accordion*/
.accordion-drink {
	width: 500px;
	margin-bottom: 7px;
}
.accordion-drink summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1em;
	color: #ffffff;
	font-weight: 600;
	cursor: pointer;
	border-bottom: 1px solid #f9a77b;
}
.accordion-drink summary::-webkit-details-marker {
	display: none;
}
.accordion-drink summary::marker {
  display: none;
}
.accordion-drink summary::before,
.accordion-drink summary::after {
	width: 2px;
	height: 18px;
	background-color: #ffffff;
	content: '';
  position: absolute;
  right: 2em;
}
.accordion-drink summary::before {
	rotate: 90deg;
}
.accordion-drink summary::after {
	transition: rotate .3s;
}
.accordion-drink[open] summary::after {
	rotate: 90deg;
}
.accordion-drinkInr {
  overflow: hidden;
  transition: height 0.5s ease-in-out;
}
.accordion-drink[open] .accordion-drinkInr {
  border-bottom: 1px solid #f9a77b;
}

/*drink*/
@media screen and (max-width: 835px) {
.drinkBk {
	display: block;
	justify-content: unset;
	margin: 0 0 13vw;
}
.drink.mgt80 {
	margin-top: 9vw;
}
.drink.mgb50 {
	margin-bottom: 6vw;
}
.accordion-drinkInr {
	padding: 0 6vw;
}
.accordion-drinkInr dl {
	display: flex;
	justify-content: space-between;
}
.accordion-drinkInr dt, .accordion-drinkInr dd {
	font-size: 4.4vw;
	line-height: 3;
}
.accordion-drinkInr dd {
	width: 23vw;
}
/*accordion*/
.accordion-drink {
	width: 94vw;
	min-width: unset;
	margin: 0 auto;
}
.pdf_Dl {
  margin: 0;
  overflow: hidden;
}
.pdf_Dl embed {
  width: 100%;
  height: 95vh;
  margin-top: 5vw;
}
.pdf_Dl .accordion-drink {
 width: 94vw;
 margin-bottom: 25vw;
}
.toppingMenu .accordion-drink, .accordion-drink .accordion-drink, .toppingVariation .accordion-drink {
	width: 94vw;

}
.toppingMenu {
	margin-top: 10vw;
}
.pdf_DlSP .pdf_DlSPBox {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50vw;
	height: 20vw;
	margin: 0 auto;
  border: 1px solid #f9a77b;
  border-radius: 15px;
}
}



@media screen and (max-width: 835px) {
.menuContent {
	background-color: #271b17;
	background-image: url('../img/bkSection.png');
	background-size: 60%;
	width: 100%;
	position: relative;
	margin: 0 auto;
}
.menu {
	width: 100vw;
	margin: 0 auto;
	padding: 10vw 0 40vw;
	color: #ffffff;	
}
.menuContent::before {
	content: "";
	background: url('../img/decoLine02.png') no-repeat center / 240vw;
	display: inline-block;
	width: 100vw;
	height: 38vw;
	position: absolute;
	top: 0;
	left: 0;
}
.menu::after {
	content: "";
	background: url('../img/decoLine02.png') no-repeat center / 240vw;
	display: inline-block;
	width: 100vw;
	height: 38vw;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: rotate(180deg);
}
.menuBk {
	width: 90vw;
	height: unset;
	margin: 17vw auto 10vw;
	padding: 6vw;
	background: linear-gradient(to right, #893e3e 10%, #a15757 90%); 
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.menuBk h2 {
	margin-bottom: 0;
	padding: 3vw;
	border-top: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
}
.menuBox {
	position: relative;
}
.menuImg {
	width: 94vw;
	height: unset;
	background: linear-gradient(to right, #996d43 10%, #cd9d6e 90%); 
	margin: 0 auto;
	padding: 4vw;
	position: unset;
	bottom: 60px;
  filter: none;
	border-radius: 30px 30px 0 0;
}
.menuImg img {
	width: 86vw;
}
.menuTxtBox {
	width: 94vw;
	background: url('../img/bkGaraImg.png' ) bottom / 94px repeat-x ,linear-gradient(to right, #996d43 10%, #cd9d6e 90%); 
	margin: 0 auto;
	padding: 3vw 4vw 18vw;
	border-radius: 0;
}
.menuTxtBox .flexBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.reverse .menuTxtBox {
	margin: 0 auto;
	padding: 3vw 4vw 13vw;
}
.menuTxtBox h3 {
	line-height: 1.2;
	text-align: left;
	padding: 0 0 2vw;
	filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.4));
}
.menuTxtBox span {
	line-height: 1.2;
	padding: 0 0 2vw;
}
.menuTxtBox p {
	line-height: 2.2;
	text-align: left;
	margin: 0;
}
.menuTxt {
	margin: 6vw 0 0 !important;
}
.modalBox {
	display: flex;
	margin: 10vw auto 0;
}
.scrollLogoImg {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 5vw auto;
}
.menuSliderBox .scrollLogoImg img, .modalBox img  {
	width: 35vw;
}
.scrollLogoImg button {
  margin-right: unset;
}
.scrollLogoImg button::after, .modalBox button::after {
  content: "";
	background: url('../img/pointerIcon.png') no-repeat center / cover;
	width: 5vw;
	height: 5vw;
	bottom: 25%;
	right: 2%;
}
}

/*gallery*/
.galleryIcon {
	width: 50px !important;
	margin-right: 10px;
}
.galleryTxyIcon {
	width: 410px !important;
	margin-right: 10px;
}
.galleryBox.slider-container {
	width: 100vw;
	margin: 10px auto;
}	
.galleryBox .slider-wrapper img {
  width: 500px;
  height: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 835px) {
.galleryBox.slider-container {
	width: 100%;
	margin: 2vw !important;
}	
.galleryBox .slider-wrapper img {
  width: 80vw;
}
}
/*map*/
.map iframe{
filter: sepia(.25);
}
.address {
	z-index: 1;
	width: 1040px;
	margin: 0 auto;
	padding: 0 100px;
}
.address h3 {
	margin-bottom: 30px;
	filter: drop-shadow(2px 4px 6px rgba(248, 247, 234, 1)) drop-shadow(2px 4px 6px rgba(248, 247, 234, 1));
}
.addBox {
	gap: 20px;
	justify-content: flex-start;
	padding: 30px 0;
	border-top: 1px solid #333333;
}
.addressBox {
	margin: 0 auto;
}
.addBox dt {
	text-align: left;
	width: 150px;
}
.addBox p {
	line-height: 1.6;
}
.bkSandalImg {
	background: url('../img/sandalImg.png') center 70% no-repeat;
}
@media screen and (max-width: 835px) {
.bkSandalImg {
	background: url('../img/sandalImg.png') no-repeat  center 50% / 102%;
}
}
/*footer*/
.footer {
	padding: 30px 0 10px;
	background: linear-gradient(to right, #996d43 30%, #c19162 70%);
	position: relative;
	z-index: 1;
}
.footer::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 29vw;
	background: url('../img/owner.jpg') no-repeat center / 21%;
	top: 0;
	left: -18.5%;
	opacity: 0.5;
	z-index: -1;
}
.footer::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 27vw;
	background: url('../img/dryCurry.png') no-repeat center / 23%;
	top: -3%;
	right: -18.5%;
	opacity: 0.5;
	z-index: -1;
}
.ftrLogoTtl {
	filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.8));
}
.ftrLogo img, .ftrLogoTtl img {
	width: 10%;
}
.ftrSns {
	justify-content: center;
}
.ftrSns img {
	width: 30px;
}
.ftrCopy {
	margin: 30px 0;
	justify-content: center;
	align-items: baseline;
}
.ftrCopy p {
	line-height: 1;
	display: block;
}
.ftrCopy img {
	width: 160px;
}

@media screen and (max-width: 835px) {
.address {
	z-index: 1;
	width: 100vw;
	margin: 0 auto;
	padding: 0 4vw;
}
.address h3 {
	margin-bottom: 7vw;
	filter: unset;
}
.addBox {
	gap: 5vw;
	justify-content: flex-start;
	padding: 6vw 0;
	border-top: 1px solid #333333;
}
.addressBox {
	margin: 0 auto;
}
.addressBox .flexBox {
	display: flex;
}
.addBox dt {
	text-align: left;
	width: 18vw;
}
.addBox p {
	margin: 4vw 0;
	line-height: 1.6;
}
.mapBox.flexBox {
	display: block;
}
.addDdBox {
  width: 100vw;
  text-align: left;
}
.mapBox.flexBox.addBox {
	text-align: left;
}
.map iframe {
	width: 92vw;
	height: 92vw;
}
/*footer*/
.footer {
	padding: 9vw 0 5vw;
	background: linear-gradient(to right, #996d43 30%, #c19162 70%);
	overflow: hidden;
}
.footer .flexBox {
	display: flex;
}
.footer::before {
	position: absolute;
	content: "";
	width:77vw;
	height:110vw;
	background: url('../img/owner.jpg') no-repeat center / 100%;
	top: 0;
	left: -27%;
	opacity: 0.5;
	z-index: -1;
}
.footer::after {
	position: absolute;
	content: "";
	width: 77vw;
	height: 110vw;
	background: url('../img/dryCurry.png') no-repeat center / 100%;
	top: 0;
	right: -28%;
	opacity: 0.5;
	z-index: -1;
}
.ftrLogo {
	margin-bottom: 8vw;
}
.ftrLogo img {
	width: 30vw;
}
.ftrLogoTtl img {
	width: 40vw;
}
.ftrSns {
	justify-content: center;
}
.ftrSns img {
	width: 30px;
}
}
@media (min-width: 834px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}



