@charset "UTF-8";

/*
Theme Name: Donostia
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

* {
	box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ul,ol {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

/* change colours to suit your needs */

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html:focus-within {
		scroll-behavior: smooth;
	}
}

/************** layout base ********************/

.clearfix {
	overflow: hidden;
}

.clear:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}

a:link {
	color: #fff;
}

a:visited {
	color: #fff;
}

/*ボタンrollover*/

a:hover {
	text-decoration: none;
	-moz-opacity: 0.60;
	opacity: 0.60;
}

sup {
	line-height: 100%;
	font-size: 10px;
	vertical-align: 0.4em;
}

sub {
	line-height: 100%;
	font-size: 10px;
	vertical-align: -0.1em;
}

.txtLeft {
	text-align: left;
}

.txtRight {
	text-align: right;
}

.txtCenter {
	text-align: center;
}

.fw {
	font-weight: bold !important;
}

.f10 {
	font-size: 10px !important;
}

.f11 {
	font-size: 11px !important;
}

.f12 {
	font-size: 12px !important;
}

.f13 {
	font-size: 13px !important;
}

.f14 {
	font-size: 14px !important;
}

.f15 {
	font-size: 15px !important;
}

.f16 {
	font-size: 16px !important;
}

.f17 {
	font-size: 17px !important;
}

.f18 {
	font-size: 18px !important;
}

.txtRed {
	color: #D80000;
}

.note {
	color: #666666;
	font-size: 12px;
}

.fLeft {
	float: left;
}

.fRight {
	float: right;
}

.fNon {
	float: none !important;
}

.mTop0 {
	margin-top: 0 !important;
}

.mTop5 {
	margin-top: 5px !important;
}

.mTop10 {
	margin-top: 10px !important;
}

.mTop15 {
	margin-top: 15px !important;
}

.mTop20 {
	margin-top: 20px !important;
}

.mTop25 {
	margin-top: 25px !important;
}

.mTop30 {
	margin-top: 30px !important;
}

.mTop35 {
	margin-top: 35px !important;
}

.mTop40 {
	margin-top: 40px !important;
}

.mTop45 {
	margin-top: 45px !important;
}

.mTop50 {
	margin-top: 50px !important;
}

.mBtm0 {
	margin-bottom: 0 !important;
}

.mBtm5 {
	margin-bottom: 5px !important;
}

.mBtm10 {
	margin-bottom: 10px !important;
}

.mBtm15 {
	margin-bottom: 15px !important;
}

.mBtm20 {
	margin-bottom: 20px !important;
}

.mBtm25 {
	margin-bottom: 25px !important;
}

.mBtm30 {
	margin-bottom: 30px !important;
}

.mBtm35 {
	margin-bottom: 35px !important;
}

.mBtm40 {
	margin-bottom: 40px !important;
}

.mBtm45 {
	margin-bottom: 45px !important;
}

.mBtm50 {
	margin-bottom: 50px !important;
}

.mBtm60 {
	margin-bottom: 60px !important;
}

.pTop0 {
	padding-top: 0 !important;
}

.pTop5 {
	padding-top: 5px !important;
}

.pTop10 {
	padding-top: 10px !important;
}

.pTop15 {
	padding-top: 15px !important;
}

.pTop20 {
	padding-top: 20px !important;
}

.pTop25 {
	padding-top: 25px !important;
}

.pTop30 {
	padding-top: 30px !important;
}

.pTop35 {
	padding-top: 35px !important;
}

.pTop40 {
	padding-top: 40px !important;
}

.pTop45 {
	padding-top: 45px !important;
}

.pTop50 {
	padding-top: 50px !important;
}

.pBtm0 {
	padding-bottom: 0 !important;
}

.pBtm5 {
	padding-bottom: 5px !important;
}

.pBtm10 {
	padding-bottom: 10px !important;
}

.pBtm15 {
	padding-bottom: 15px !important;
}

.pBtm20 {
	padding-bottom: 20px !important;
}

.pBtm25 {
	padding-bottom: 25px !important;
}

.pBtm30 {
	padding-bottom: 30px !important;
}

.pBtm35 {
	padding-bottom: 35px !important;
}

.pBtm40 {
	padding-bottom: 40px !important;
}

.pBtm45 {
	padding-bottom: 45px !important;
}

.pBtm50 {
	padding-bottom: 50px !important;
}

.pBtm60 {
	padding-bottom: 60px !important;
}

main {
	overflow: hidden;
}

.inner {
	padding-left: 4%;
	padding-right: 4%;
	max-width: 1150px;
	margin: 0 auto;
	box-sizing: content-box;
}

.flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}

@media screen and (min-width: 769px) {
	.spOnly {
		display: none;
	}

	.pcFlex {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*-PC only-*/

@media screen and (max-width: 768px) {
	.pcOnly {
		display: none;
	}
}

/*-sp only-*/

/************** layout base ********************/

body {
	background: #1F1F1F;
	text-align: center;
	font-family: "Zen Old Mincho", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝体" , "YuMincho" , "ＭＳ Ｐ明朝" , "MS PMincho", serif;
	/* font-family:'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
		font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-family: Arial,"Arial Black","ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro, "メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
		font-family: Arial, Roboto, “Droid Sans”, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; */
	line-height: 1.2;
	font-style: normal;
	font-weight: 400;
	position: relative;
}

div,
p,
dl {
	text-align: left;
}

p,
dt,
dd,
li,
td,
th {
	color: #fff;
	font-size: 16px;
	line-height: 1.875;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.1;
}

@media screen and (max-width: 768px) {
	body {
		font-family: "Zen Old Mincho", "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝体" , "YuMincho" , "ＭＳ Ｐ明朝" , "MS PMincho", serif;
		/* font-family: 'Noto Sans JP', Roboto, “Droid Sans”, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; */
		-webkit-text-size-adjust: 100%;
	}

	img {
		height: auto;
	}

	p,
	dt,
	dd,
	li,
	td,
	th {
		font-size: 14px;
		line-height: 1.6;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: 22px;
	}
}

/*-sp only-*/

/*------------------ list style----------------*/

.numberList {
	padding: 0 0 0 18px;
}

.numberList li {
	list-style: decimal outside;
	padding: 0 0 5px 0;
}

.discList {
	padding: 0 0 0 18px;
}

.discList li {
	list-style: disc outside;
	padding: 0 0 2px 0;
}

.indentList li {
	padding-left: 1em;
	text-indent: -1em;
}

/*****************  head ***********************/



@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-183px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

header .inner {
	position: relative;
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	header {
		position: relative;
		height: 60px;
		background: #609b62;
		z-index: 999;
	}

	header.fixed {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 60px;
		animation: DownAnime 0.5s forwards;
	}

	/*.fixed */

	header .inner {
		display: flex;
		padding: 5px 2.6% 6px 2.2%;
	}

	header #logo {
		margin: 0 auto;
		display: grid;
		place-content: center;
		width: 49px;
		height: 49px;
	}

	header #logo img {
		width: 40px;
		height: 40px;
	}
}

/*-sp only-*/

@media screen and (min-width: 769px) {
	header {
		height: 183px;
		background: #609b62;
	}

	header.fixed {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
		height: 83px;
		z-index: 999;
		/*最前面へ*/
		animation: DownAnime 0.5s forwards;
	}

	/*:not(.fixed) */

	header:not(.fixed) .inner {
		padding-top: 34px;
		padding-bottom: 31px;
	}

	#header:not(.fixed) #logo {
		margin: 0 auto;
		width: 102px;
		height: 104px;
	}

	/*.fixed */

	header.fixed .inner {
		display: flex;
		padding: 14px 2.6% 20px 2.2%;
	}

	header.fixed #logo {
		margin: 0 auto 0 0;
		width: 49px;
		height: 49px;
	}

	header.fixed #gNavi {
		flex: 1;
		display: flex;
		justify-content: end;
		align-items: center;
	}

	header.fixed #gNavi ul {
		display: flex;
	}

	header.fixed #gNavi ul:not(:last-of-type) li {
		margin-left: 3.5vw;
	}

	header.fixed #gNavi ul:last-of-type {
		margin-left: 4.2vw;
		flex-direction: row-reverse;
	}

	header.fixed #gNavi ul:last-of-type li {
		padding: 0 1.9vw;
	}

	header.fixed #gNavi ul:last-of-type li:has(a.txtGreen) {
		border-left: 1px solid #707070;
	}
}

/*-pc only-*/

/*****************  navi ***********************/

#gNavi a.txtGreen {
	color: #d0e190;
}

@media screen and (max-width: 768px) {
	#gNavi:not(.active) {
		position: fixed;
		display: none;
		opacity: 0;
		top: 0;
		left: 100%;
		z-index: 998;
	}

	#gNavi {
		width: 100%;
		position: fixed;
		top: 60px;
		left: 0;
	}

	#gNavi li {
		border-bottom: 1px solid #fff;
	}

	#gNavi li a {
		display: block;
		padding: 1em;
	}
}

/*-sp only-*/
@media screen and (min-width: 769px) {
	/* :not(.fixed) */

	header:not(.fixed) .headerNavi {
		margin-top: -104px;
		padding-left: 30px;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 104px;
	}

	header:not(.fixed) .headerNavi ul {
		display: flex;
		align-items: center;
	}

	header:not(.fixed) .headerNavi ul:nth-child(1) li,
	header:not(.fixed) .headerNavi ul:nth-child(2) li {
		margin-left: 5.41vw;
	}

	header:not(.fixed) .headerNavi ul:nth-child(2) li:first-child {
		margin-left: 16vw;
	}

	header:not(.fixed) .headerNavi ul:nth-child(3) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 104px;
		margin-left: 4.45vw;
	}

	header:not(.fixed) .headerNavi ul:nth-child(3) li {
		margin: 0;
		padding: 0 8px;
		text-align: center;
	}

	header:not(.fixed) .headerNavi ul:nth-child(3) li:has(a.txtGreen) {
		border-bottom: 1px solid #707070;
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	header:not(.fixed) .headerNavi ul li .txtGreen {
		color: #9DD37A;
		display: block;
		font-size: 14px;
	}
}

/*-pc only-*/

/*****************  menu ***********************/

@media screen and (max-width: 768px) {
	.menu {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		z-index: 1001;
	}

	.menu span {
		position: absolute;
		left: 18px;
		width: 24px;
		height: 2px;
		background-color: #fff;
		transition: all 0.6s;
		border-radius: 50em;
	}

	.menu.active span {
		background-color: #fff;
	}

	.menu span.menuLine01 {
		top: 21px;
	}

	.menu span.menuLine02 {
		top: 28px;
	}

	.menu span.menuLine03 {
		top: 35px;
	}

	.menu.active span.menuLine01 {
		transform: rotate(45deg);
		top: 30px;
	}

	.menu.active span.menuLine02 {
		width: 0;
		left: 50%;
	}

	.menu.active span.menuLine03 {
		transform: rotate(-45deg);
		top: 30px;
	}

	.menuBg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: -1;
		background-color: #000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.6s;
		cursor: pointer;
	}

	.menuBg.active {
		opacity: 0.8;
		visibility: visible;
	}
}

/*-sp only-*/

/*-pc only-*/

/*****************  foot ***********************/

footer {
	padding: 200px 0 34px;
	background-image: linear-gradient(172deg, rgba(255, 255, 255, 0) 39%, rgb(96 155 98));
}

.address {
	margin-bottom: 192px;
}

.address .info {
	max-width: 295px;
}

.address .info h2 {
	margin-bottom: 13px;
	text-align: center;
}

.address .info h2 img {
	margin-bottom: 44px;
	max-width: 119px;
}

.address .info h2 > span {
	display: block;
	font-size: 18px;
}

.address .info h2 span span {
	font-size: 12px;
}

.address .info p,
.address .info dt,
.address .info dd {
	font-size: 14px;
	line-height: 1.57;
}

.address .info dt {
	padding-top: 20px;
}

.address .map {
	width: 68%;
	height: 486px;
}

.address .map iframe {
	width: 100%;
	filter: grayscale(100%);
}

.btnGreen {
	background: #609b62;
	border-radius: 10px;
	display: grid;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto;
	max-width: 491px;
	height: 91px;
}

.insta {
	margin-top: 143px;
	margin-bottom: 110px;
}

.insta h2 {
	max-width: 89px;
}

.insta figure {
	overflow: hidden;
	width: 84.2%;
	max-width: 1150px;
	text-align: right;
}

.insta figure img {
	width: calc(100% / 5);
	max-width: 230px;
	height: auto;
}

.insta figure img:last-child {
	margin-right: -8px;
}

.footerLink {
	margin-top: 100px;
}

.footerLink ul li, .footerLink p {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	footer {
		padding-top: 100px;
	}

	.address {
		margin-bottom: 50px;
		padding: 0 4%;
	}

	.address .info {
		margin-bottom: 20px;
		max-width: 100%;
	}

	.address .info h2, .insta h2 {
		margin-bottom: 20px;
		text-align: center;
	}

	.address .info h2 img {
		margin-bottom: 20px;
	}

	.address .info p,
	.address .info dt,
	.address .info dd {
		text-align: center;
	}

	.address .map {
		width: 100%;
	}

	.btnGreen {
		font-size: 16px;
		max-width: 90%;
		height: 64px;
	}

	.insta {
		margin-top: 60px;
		margin-bottom: 45px;
		padding: 0 4%;
	}

	.insta h2 {
		max-width: 100%;
	}

	.insta h2 img {
		margin-left: auto;
		margin-right: auto;
	}

	.insta figure {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
		max-width: 100%;
	}

	.insta figure img {
		margin-bottom: 0px;
		width: 48.4%;
	}

	.footerLink ul li {
		border-bottom: 1px solid #fff;
		padding: 15px 0;
	}

	.footerLink p {
		padding-top: 30px;
		text-align: center;
	}
}

/*-sp only-*/

@media screen and (min-width: 769px) {
	.address {
		justify-content: flex-end;
		flex-direction: row-reverse;
	}

	.address .info {
		margin-left: 3.81%;
		width: 28%;
	}

	.address .info h2 {
		padding-top: 10px;
	}

	.insta {
		justify-content: flex-end;
		align-items: center;
	}

	.insta h2 {
		margin-right: 3.2%;
	}

	.footerLink {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.footerLink ul li {
		border-right: 1px solid #fff;
		padding-left: 3em;
		padding-right: 3em;
	}

	.footerLink ul li:first-child {
		padding-left: 0;
	}

	.footerLink ul li:last-child {
		border-right: none;
		padding-right: 3em;
	}
}

/*-PC only-*/

/*****************  main ***********************/

/*#mainView::after{
	content: "";
	display: block;
	width: 100%;
	height: 2.87vw;
	background: url("images/bg_grad.png") no-repeat center center / 100% auto;
	mix-blend-mode: multiply;
}*/

/*-- title --*/

section h2 {
	color: rgba(255,255,255,.69);
	line-height: 1.45;
	text-align: center;
}

section h2 img {
	height: 3em;
}

section h2 span {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*-- contents --*/

#mainView figure {
	position: relative;
}

#mainView figure::after {
	content: "";
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(31, 31, 31, 1));
	display: block;
	width: 100%;
	height: 426px;
	position: absolute;
	bottom: 0;
}

#mainView .leadTxt {
	margin-top: -92px;
	position: relative;
	z-index: 5;
}

#mainView .leadTxt h2 {
	margin-bottom: 26px;
}

#mainView .leadTxt h2, #mainView .leadTxt p {
	text-align: center;
}

@media screen and (max-width: 768px) {
	#mainView figure::after {
		height: 30px;
	}

	#mainView .leadTxt {
		margin-top: -20px;
	}
}

/*-sp only-*/

.bg-purple {
	background-image: linear-gradient(180deg, #152615 1%, #123213 29%, #2f4430 55%, #3c693e 75%, rgba(31, 31, 31, 0.35));
}

#chef {
	padding-top: 129px;
}

#chef div.pcFlex {
	align-items: flex-start;
}

#chef h2 {
	margin: 0 35px 4px auto;
	max-width: 330px;
}

#chef h2 img:nth-child(1) {
	display: block;
	margin: 0 auto;
	max-width: 271px;
	height: 187px;
}

#chef h2 img:nth-child(2) {
	display: block;
	margin: 32px 0 0 auto;
	max-width: 271px;
	height: 120px;
}

#chef .profile {
	/* background-image: linear-gradient(180deg, rgba(118, 248, 128, 1), rgba(255, 255, 255, 0)); */
	background: linear-gradient(170deg, rgb(33 52 33), rgb(65 87 66));
	padding: 73px 79px 78px 62px;
}

#chef .profile dt {
	font-size: 18px;
}

#chef .profile dt span {
	display: block;
}

#chef .profile dt > span {
	font-size: 30px;
}

#chef .profile dt span span {
	font-size: 14px;
	line-height: 1;
}

#chef .profile dd p {
	line-height: 1.5;
	margin-top: 24px;
}

@media screen and (max-width: 768px) {
	#chef {
		padding-top: 60px;
	}

	#chef h2 {
		margin-right: auto;
	}

	#chef h2 img:nth-child(1) {
		max-width: 187px;
		height: auto;
	}

	#chef h2 img:nth-child(2) {
		margin: 16px auto 0;
		height: 3em;
	}

	#chef .profile {
		padding: 20px 5.8%;
	}
}

/*-sp only-*/

@media screen and (min-width: 769px) {
	#chef .inner {
		box-sizing: border-box;
		padding-left: 44px;
	}

	#chef .profile {
		margin-top: -280px;
		width: 51.3%;
		max-width: 525px;
	}

	#chef figure {
		width: 43.85%;
		max-width: 449px;
	}
}

/*-PC only-*/

#menu {
	padding-top: 109px;
}

#menu h2 {
	margin-bottom: 25px;
}

#menu h2 span {
	margin-top: -1.55em;
}

#menu .txts {
	width: 40%;
	max-width: 460px;
	margin-top: 495px;
}

#menu .txts h2, #menu .txts p {
	text-align: right;
}

#menu .txts p {
	font-size: 14px;
	line-height: 2.14;
}

#menu ul.standard li {
	border-bottom: 1px solid rgb(219 219 219 / 21%);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 22px 0.875% 12px;
}

#menu ul.standard li:last-child {
	border-bottom: none;
	/* justify-content: flex-end; */
	/* padding-bottom: 0; */
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	#menu {
		padding-top: 80px;
	}

	#menu .txts {
		width: 100%;
		max-width: 100%;
		margin-top: 0;
	}

	#menu .txts h2, #menu .txts p {
		margin-bottom: 20px;
		text-align: center;
	}

	#menu figure.spOnly {
		display: grid;
		grid-template-columns: 50% 50%;
		grid-template-rows: 66.3vw 64vw;
	}

	#menu figure.spOnly img {
		/*margin-bottom: 4px;*/
		width: 100%;
		height: auto;
	}

	#menu figure.spOnly img:nth-child(1) {
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}

	#menu figure.spOnly img:nth-child(2) {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	#menu figure.spOnly img:nth-child(3) {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}

	#menu ul.standard li {
		padding-left: 1.45%;
		padding-right: 1.45%;
		width: 100%;
		max-width: 100%;
	}
}

/*-sp only-*/

@media screen and (min-width: 769px) {
	#menu > div.pcFlex {
		flex-wrap: nowrap;
	}

	#menu figure.pcOnly {
		display: grid;
		grid-template-columns: 182px 263px auto;
		grid-template-rows: 227px 94px auto;
		margin-bottom: 105px;
		max-width: 760px;
		margin-left: -120px;
	}

	#menu figure.pcOnly img:nth-child(1) {
		width: 441px;
		height: 318px;
		grid-column: 1 / 3;
	}

	#menu figure.pcOnly img:nth-child(2) {
		width: 259px;
		height: 259px;
		grid-column: 2 / 3;
		grid-row: 3 / 4;
	}

	#menu figure.pcOnly img:nth-child(3) {
		width: 313px;
		height: 436px;
		grid-column: 3 / 4;
		grid-row: 2 / 4;
	}
}

/*-PC only-*/

#photoGallery {
	padding-top: 174px;
}

#photoGallery h2 {
	text-align: center;
}

#photoGallery h2 img {
	height: 2.5em;
}

#photoGallery h2 span {
	margin-top: -2em;
}

#photoGallery ul {
	flex-wrap: nowrap;
	justify-content: center;
	margin-top: 60px;
}

#photoGallery ul.line2 {
	margin-top: 5px;
	margin-left: -100px;
}

#photoGallery ul li {
	margin: 0 4px;
	/*max-width: 640px;*/
	height: 454px;
}

@media screen and (max-width: 768px) {
	#photoGallery {
		padding-top: 80px;
	}

	#photoGallery h2 img {
		height: 2.5em;
	}

	#photoGallery h2 span {
		margin-top: -1.35em;
	}

	#photoGallery ul {
		margin-top: 30px;
		width: 100%;
		margin: 30px auto 0;
	}

	#photoGallery ul li {
		margin: 0 5px 15px;
		width: 100%;
		height: auto;
		max-width: none;
	}

	#photoGallery ul li img {
		width: 100%;
		height: auto;
	}

	.spnone {
		display: none;
	}
}

/*-sp only-*/

@media screen and (min-width: 769px) {
	#photoGallery ul li img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/*-PC only-*/

#news {
	padding-top: 166px;
	padding-bottom: 80px;
}

#news dl {
	margin-top: 41px;
}

#news dt {
	border-bottom: 1px solid rgba(219,219,219,.51);
	padding: 36px 62px 13px 15px;
}

#news dd {
	border-bottom: 1px solid rgba(219,219,219,.51);
	padding: 36px 15px 13px 0;
}

#news .btnWrap {
	margin-top: 77px;
}

#news .btn {
	border: 1px solid #B5B5B5;
	border-radius: 10px;
	display: grid;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto;
	max-width: 393px;
	height: 73px;
}

@media screen and (max-width: 768px) {
	#news {
		padding-top: 80px;
	}

	#news dl {
		margin-top: 20px;
	}

	#news dl dt {
		border-bottom: none;
		padding: 15px 0 0;
	}

	#news dl dd {
		padding: 5px 0 15px;
	}

	#news .btnWrap {
		margin-top: 40px;
	}

	#news .btn {
		font-size: 16px;
		max-width: 80%;
		height: 58px;
	}
}

/*-sp only-*/

@media screen and (min-width: 769px) {
	#news dt {
		width: 14%;
		max-width: 161px;
	}

	#news dd {
		width: calc(100% - 14%);
	}
}

/*-PC only-*/

.newsDetail section {
	margin-top: 50px;
}

.newsDetail section h2 {
	margin-bottom: 100px;
}

.newsDetail section h3 {
	font-size: 30px;
	margin-bottom: 30px;
}

/*------------------------------------------------*/

/*-PC only-*/

/* ==========================================
   MENU DETAIL — Donostia Umeda
   ========================================== */

/* --- 共通ラッパー --- */

.menuDetail {
	margin-top: 80px;
	padding-bottom: 20px;
}

/* --- メニューブロック（各コース） --- */

.menuBlock {
	padding-top: 56px;
	margin-top: 56px;
}

.menuBlock:first-child {
	margin-top: 0;
	border-top: none;
}

/* --- ブロックヘッダー --- */

.menuBlock__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-bottom: 36px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(219,219,219,0.61);
}

.menuBlock__title-wrap {
	flex: 1 1 auto;
}

/* バッジ行 */

.menuBlock__label-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
}

.menuBlock__time-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: rgba(255,255,255,.7);
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 2px;
	padding: 3px 8px;
	white-space: nowrap;
}

.menuBlock__time-badge--sub {
	font-size: 12px;
	color: rgba(255,255,255,.45);
	background: transparent;
	border-color: rgba(255,255,255,.12);
}

.menuBlock__category-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: rgba(96,155,98,.95);
	background: rgba(96,155,98,.12);
	border: 1px solid rgba(96,155,98,.35);
	border-radius: 2px;
	padding: 3px 8px;
	white-space: nowrap;
}

.menuBlock__category-badge--accent {
	color: rgba(219,185,100,.9);
	background: rgba(219,185,100,.08);
	border-color: rgba(219,185,100,.3);
}

/* コース名・価格 */

.menuBlock__name {
	font-size: 26px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-align: left;
}

.menuBlock__name-jp {
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.02em;
}

.menuBlock__set-price {
	font-size: 24px;
	font-weight: 700;
	color: rgba(255,255,255,.85);
	margin-left: 0.5em;
}

.menuBlock__set-price::before {
	content: "¥";
	font-size: 20px;
	font-weight: 400;
	margin-right: 1px;
	opacity: .6;
}

/* 営業時間 */

.menuBlock__hours {
	font-size: 12px;
	color: rgba(255,255,255,.4);
	letter-spacing: 0.04em;
	white-space: nowrap;
	text-align: right;
	line-height: 1.8;
	align-self: flex-end;
	padding-bottom: 2px;
}

.menuBlock__hours-wrap {
	text-align: right;
}

/* ==========================================
   ブロック本体（メニュー列 ＋ 画像列）
   ========================================== */

.menuBlock__body {
	display: grid;
	grid-template-columns: 1fr;
	/* 画像なし時のデフォルト */
	gap: 0 36px;
	align-items: start;
}

.menuBlock__body:has(.menuBlock__imgs) {
	grid-template-columns: 1fr 300px;
	/* 画像あり時 */
}

.menuBlock__menu-col {
	min-width: 0;
}

/* 画像カラム */

.menuBlock__imgs {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: sticky;
	top: 20px;
}

.menuBlock__img-item {
	margin: 0;
	padding: 0;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 6px;
}

.menuBlock__img-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.menuBlock__img-item:hover img {
	transform: scale(1.04);
}

/* --- サブセクション（Cena内） --- */

.menuSubSection {
	margin-top: 40px;
}

.menuSubSection:first-child {
	margin-top: 0;
}

.menuSubSection__title {
	font-size: 15px;
	font-weight: 700;
	color: rgba(255,255,255,.75);
	letter-spacing: 0.06em;
	border-left: 2px solid rgba(96,155,98,0.8);
	border-radius: 0;
	padding-left: 10px;
	margin-bottom: 16px;
	line-height: 1.5;
}

.menuSubSection__title-en {
	font-size: 12px;
	font-weight: 400;
	color: rgba(255,255,255,.45);
	letter-spacing: 0.03em;
}

/* コースラベル */

.menuList__course-label {
	font-size: 13px;
	color: rgba(255,255,255,.5);
	letter-spacing: 0.06em;
	margin-bottom: 8px;
}

/* ==========================================
   メニューリスト — 共通（PC基準）
   name・price を横並び、desc を下段全幅
   ========================================== */

.menuList {
	width: 100%;
}

.menuList__item {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	grid-template-areas: "name  price"
		"desc  desc";
	gap: 4px 16px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(219,219,219,0.2);
}

.menuList__item:last-child {
	border-bottom: none;
}

.menuList__name {
	grid-area: name;
	font-size: 15px;
	color: #fff;
	letter-spacing: 0.03em;
	line-height: 1.5;
}

.menuList__sub {
	font-size: 12px;
	color: rgba(255,255,255,.55);
	margin-left: 0.5em;
}

.menuList__desc {
	grid-area: desc;
	font-size: 12px;
	color: rgba(255,255,255,.45);
	letter-spacing: 0.03em;
	line-height: 1.6;
}

.menuList__price {
	grid-area: price;
	font-size: 17px;
	font-weight: 700;
	color: rgba(255,255,255,.9);
	letter-spacing: 0.02em;
	white-space: nowrap;
	text-align: right;
	align-self: center;
}

.menuList__price::before {
	content: "¥";
	font-size: 16px;
	font-weight: 400;
	margin-right: 1px;
	opacity: .6;
}

/* コースアイテム */

.menuList__item--course {
	grid-template-columns: minmax(0,1fr) auto;
	grid-template-areas: "name price"
		"desc desc";
}

/* ==========================================
   画像付きコースメニュー
   ========================================== */

.menuList__item--with-img {
	grid-template-columns: 150px minmax(0,1fr) auto;
	grid-template-areas: "thumb name price"
		"thumb desc price";
	gap: 4px 18px;
	align-items: center;
	padding: 18px 0;
}

.menuList__thumb {
	grid-area: thumb;
	margin: 0;
	width: 150px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 6px;
	background: rgba(255,255,255,.08);
}

.menuList__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.menuList__item--with-img:hover .menuList__thumb img {
	transform: scale(1.04);
}

.menuList__item--with-img .menuList__name {
	grid-area: name;
	align-self: end;
}

.menuList__item--with-img .menuList__desc {
	grid-area: desc;
	align-self: start;
}

.menuList__item--with-img .menuList__price {
	grid-area: price;
	align-self: center;
}

/* 注釈テキスト */

.menuList__note {
	font-size: 11px;
	color: rgba(255,255,255,.35);
	letter-spacing: 0.03em;
	margin-top: 4px;
	line-height: 1.6;
	padding-left: 2px;
}

/* 区切り線 */

.menuList__divider {
	height: 1px;
	background: rgba(219,219,219,.3);
	margin: 20px 0;
}

/* ==========================================
   PC専用（769px〜）
   ========================================== */

@media screen and (min-width: 769px) {
	.menuBlock__header {
		align-items: center;
	}

	/* コース内オプション（価格あり）は横並び維持 */

	.menuList--course .menuList__item:not(.menuList__item--course) {
		grid-template-columns: minmax(0,1fr) auto;
		grid-template-areas: "name price"
			"desc desc";
	}

	.menuList--course .menuList__item--with-img {
		grid-template-columns: 150px minmax(0,1fr) auto;
		grid-template-areas: "thumb name price"
		"thumb desc price";
	}
}

/* ==========================================
   SP（〜768px）
   ========================================== */

@media screen and (max-width: 768px) {
	/* ブロック全体 */

	.menuDetail {
		margin-top: 50px;
	}

	.menuBlock {
		padding-top: 40px;
		margin-top: 40px;
	}

	.menuBlock__header {
		flex-direction: column;
		gap: 4px;
		margin-bottom: 24px;
	}

	.menuBlock__label-row {
		gap: 4px;
		margin-bottom: 8px;
	}

	.menuBlock__time-badge, .menuBlock__category-badge {
		font-size: 10px;
		padding: 2px 6px;
	}

	.menuBlock__name {
		font-size: 20px;
	}

	.menuBlock__name-jp {
		font-size: 16px;
	}

	.menuBlock__set-price {
		font-size: 20px;
	}

	.menuBlock__hours {
		text-align: left;
		align-self: auto;
		font-size: 11px;
	}

	.menuBlock__hours-wrap {
		text-align: left;
	}

	/* SP：flexに切り替え・1カラム縦積み */

	.menuBlock__body, .menuBlock__body:has(.menuBlock__imgs) {
		display: flex;
		flex-direction: column;
		gap: 20px 0;
	}

	/* 画像を先頭（テキストの上）へ */

	.menuBlock__imgs {
		order: -1;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
		position: static;
	}

	.menuBlock__img-item {
		width: calc(50% - 4px);
		aspect-ratio: 4 / 3;
	}

	/* 画像1枚のときは全幅 */

	.menuBlock__imgs .menuBlock__img-item:only-child {
		width: 100%;
	}

	.menuSubSection {
		margin-top: 28px;
	}

	/* SP メニューアイテム：
		   name（全幅）→ desc（全幅）→ price（右寄せ） */

	.menuList__item {
		grid-template-columns: 1fr;
		grid-template-areas: "name"
			"desc"
			"price";
		gap: 3px 0;
		padding: 14px 0;
	}

	.menuList__name {
		font-size: 14px;
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	.menuList__price {
		font-size: 15px;
		text-align: right;
	}

	.menuList__item--with-img {
		grid-template-columns: 96px minmax(0,1fr);
		grid-template-areas: "thumb name"
		"thumb desc"
		"thumb price";
		gap: 3px 12px;
		align-items: start;
		padding: 16px 0;
	}

	.menuList__thumb {
		width: 96px;
		border-radius: 5px;
	}

	.menuList__item--with-img .menuList__price {
		text-align: right;
		align-self: end;
	}

	/* denseは横並びのまま */

	.menuList--dense .menuList__item {
		grid-template-columns: minmax(0,1fr) auto;
		grid-template-areas: "name price";
		gap: 0 10px;
		padding: 10px 0;
	}

	.menuList--dense .menuList__name {
		word-break: keep-all;
	}

	.menuList--dense .menuList__price {
		font-size: 14px;
	}

	/* コースアイテム */

	.menuList__item--course {
		grid-template-columns: 1fr;
		grid-template-areas: "name"
			"desc"
			"price";
	}

	.menuList__item--course.menuList__item--with-img {
		grid-template-columns: 96px minmax(0,1fr);
		grid-template-areas: "thumb name"
		"thumb desc"
		"thumb price";
	}

	.menuList__item--featured .menuList__name {
		font-size: 14px;
	}

	.menuList__item--featured .menuList__price {
		font-size: 16px;
	}
}

/* ==========================================
   極小SP（〜480px）
   ========================================== */

@media screen and (max-width: 480px) {
	.menuBlock__name {
		font-size: 18px;
	}

	.menuBlock__name-jp {
		font-size: 14px;
	}

	.menuBlock__set-price {
		font-size: 17px;
	}

	.menuSubSection__title {
		font-size: 13px;
	}

	.menuList__item--with-img {
		grid-template-columns: 88px minmax(0,1fr);
		gap: 8px 10px;
	}

	.menuList__thumb {
		width: 88px;
	}
}


@media screen and (min-width: 769px) {
	header:not(.fixed) {
        position: relative;
        height: 183px;
        background: #609b62;
        box-shadow: 0 8px 40px rgb(0 0 0 / 47%);
        z-index: 999;
    }

	header:not(.fixed) .headerNavi ul:nth-child(3) {
		display: flex;
		align-items: center;
		margin-left: 4.45vw;
	}

	header:not(.fixed) .headerNavi ul:nth-child(3) li {
		margin: 0;
		padding: 0 8px;
		border: none;
		text-align: center;
	}

	header:not(.fixed) .headerNavi ul:nth-child(3) li:first-child {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
}