/* CSS Document */
/* Googleフォント「Cormorant」読み込み */
@import url("https://fonts.googleapis.com/css2?family=Cormorant:wght@300;400;500;600;700&display=swap");
/* Googleフォント「Zen Old Mincho」読み込み */
@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Zen+Old+Mincho&display=swap");
html{
    scroll-behavior: smooth;
}
*,*::before,*::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root{
    --brown: #725d54;
    --beige: #a49080;
    --softblue: #66a1bc;
    --white: #ffffff;
    --black: #555555;
}
/* fontはstyle.cssのものを使用.agendaもある */
body{
    width: 100%;
    height: auto;
    padding: 0;
    background: var(--white);
    color: var(--black);
    line-height: 1.5;
    letter-spacing: 0.06rem;
    text-align: left;
}
main{
	background-image: url(../img/bg.webp);
	background-size: contain;
	background-repeat: repeat;
	padding-bottom: 3rem;
}
a{
    text-decoration: none;
    transition: .3s;
}
a:hover{
    cursor: pointer;
	background: rgba(255,255,255,0.3);
}
img{
    max-width: 100%;
    height: auto;
}
.pc-none{display: none;}

/* デザイナー指定のフォントサイズ
大きい文字 40pt = 53.33px
中ぐらい 32pt = 42.67px
標準 22px
最小 18pt = 24px 22
以上を踏まえ、縮小するように設定 */
h1{
    font-size: clamp(28px, 12.2dvw, 53.33px);
    line-height: 1.4;
}
h2{
    font-size: clamp(22px, 9.6dvw, 42.67px);
    line-height: 1.2;
}
h3{
	font-size: clamp(16px, 3dvw, 24px);
	font-family: "Libre Baskerville", serif !important;
	line-height: 1.4;
	font-weight: 500;
	margin-bottom: 1rem;
}
h4,p{
	font-size: clamp(14px, calc(11.33px + 0.74vw), 22px);
	/* 日本語部分は「Zen Old Mincho」を使用 */
	font-family: "Libre Baskerville", serif !important;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
small{
	font-size: clamp(11.2px, 2.6dvw, 24px);
	font-family: "Libre Baskerville", serif !important;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.override-h{
	font-size: clamp(11.5px, calc(11.5px + (100vw - 751px) * 18.5 / 1169), 30px);
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", sans-serif !important;
	line-height: 1.4;
	font-weight: 600;
	margin-bottom: 1rem;
}
.override-p{
	font-size: clamp(12px, calc(12px + (100vw - 751px) * 12 / 1169), 24px);
	line-height: 1.4;
}
.tavola-text a{
	font-size: clamp(12px, calc(12px + (100vw - 751px) * 12 / 1169), 24px);
	line-height: 1.4;
	font-weight: 600;
	color: var(--white);
}
hgroup{
	color: var(--brown);
}

@media(max-width:750px){
	.sp-none{display: none;}
	.pc-none{display: block;}
	.override-h{
		font-size: clamp(10.8px, calc(10.8px + (100vw - 360px) * 14 / 390), 24.8px);
		margin-bottom: .5rem;
	}
	.override-p{
		font-size: clamp(11.2px, calc(11.2px + (100vw - 360px) * 5.8 / 390), 17px);
		line-height: 1.2;
	}
	.tavola-text a{
		font-size: clamp(11.2px, calc(11.2px + (100vw - 360px) * 5.8 / 390), 17px);
	}
}


/* ----------------------------- */
/* ----main内---- */
/* ----------------------------- */
main{
	width: 100%;
	padding-top: 5rem;
}
/* ----改行位置の処理---- */
.br-1538px,.br-1200px,.br-1316px,.br-927px,.br-521px,.br-383px{
	height: 0;
	display: none;
}
@media(max-width:1538px){
	.br-1538px{display: block;}
}
@media(max-width:1200px){
	.br-1200px{display: block;}
}
@media(max-width:1316px){
	.br-1316px{display: block;}
}
@media(max-width:927px){
	.br-927px{display: block;}
}
@media(max-width:521px){
	.br-521px{display: block;}
}
@media(max-width:383px){
	.br-383px{display: block;}
}

.top-sec{
	width: min(1301.76px,67.8%); /* ←カンプ厳守のサイズ */
	height: auto;
	text-align: center;
	margin: 0 auto 5rem;
}
#dress .top-sec{
	width: min(1301.76px,76.6%);
}
#dress .top-sec{
	width: min(1301.76px,76.6%);
}
.top-sec p{
	margin: 2rem auto 0;
}
.main-sec{
	margin-bottom: 5rem;
}
.main-sec hgroup,
.main-sec p{
	width: min(1301.76px,67.8%); /* ←カンプ厳守のサイズ */
	margin: 0 auto 2.75rem;
}
.main-sec-img{
	width: 100%;
	aspect-ratio: 3840/1615;
}

.tavola{
	width: min(1301.76px,67.8%);
	margin: 0 auto 10rem;
}
.tavola p{
	width: fit-content;
	margin: 0 auto;
}
.tavola-img{
	width: 100%;
	aspect-ratio: 2601/1001;
	background: url(../img/cuisine/cuisine03.webp) center/cover no-repeat;
	margin: 0 auto 1.5rem;
	padding: clamp(36px, calc(36px + (100vw - 751px) * 60 / 1169), 96px) 0 0 clamp(48px, calc(48px + (100vw - 751px) * 76.8 / 1169), 124.8px);
}
.tavola-text{
	width: 43%;
	color: var(--white);
	margin: 0;
}

.to-contact{
	width: 100%;
	aspect-ratio: 3840/1018;
	background: url(../img/cuisine/cuisine04.webp) center/cover no-repeat;
	margin-bottom: 2.5rem;
	display: flex;
	align-items: center;
}
#dress .to-contact{
	background: url(../img/dress/dress03.webp) center/cover no-repeat;
}
.to-contact a{
	display: block;
	width: 33.33%;
	height: 76%;
	margin: 0 auto;
}
/* ■ □ ■ slider1：ループ（JS計測版） ■ □ ■ */
.sl1{
    width: 100%;
    overflow: hidden;
    position: relative;
    top: clamp(-190px,calc(-9.41vw - 9.33px),-80px);
    left: 0;
}
.track{
    width: 100%;
    display: flex;
    gap: 1.5%;
    will-change: transform;
    --loop-width: 0px;
}
.track img{
    width: 28.5%;
    aspect-ratio: 1109/726;
    flex-shrink: 0;
}
.imgsize-override img{
	width: 20%;
    aspect-ratio: 816/1090;
}

@media(max-width:750px){
	.sp-none{display: none;}
	.pc-none{display: block;}
	.top-sec{
		width: 90%;
		margin: 0 auto 5rem;
	}
	#dress .top-sec{
		width: 90%;
	}
	.main-sec hgroup{
		width: 90%;
	}
	.main-sec p{
		width: 90%;
		margin: 4.75rem auto 5rem;
		text-align: center;
	}
	.main-sec-img{
		aspect-ratio: 1500/2094;
	}

	.tavola{
		width: 90%;
		margin: 0 auto 5rem;
	}
	.tavola-img{
		width: 100%;
		aspect-ratio: 1500/730;
		background: url(../img/cuisine/cuisine03-sp.webp) center/cover no-repeat;
		padding: clamp(49.6px, calc(49.6px + (100vw - 360px) * 51.2 / 390), 100.8px) 0 0 clamp(27.2px, calc(27.2px + (100vw - 360px) * 28.8 / 390), 56px);
	}
	.tavola-text{
		width: 80%;
	}
	.tavola .pc-none{text-align: center;}
	.to-contact{
		aspect-ratio: 1500/974;
		background: url(../img/cuisine/cuisine04-sp.webp) center/cover no-repeat;
	}
	#dress .to-contact{
		background: url(../img/dress/dress03-sp.webp) center/cover no-repeat;
	}
	.to-contact a{
		width: 66.67%;
	}
	#dress .to-contact a{
		width: 76%;
	}

	/* ■ □ ■ slider1：ループ（JS計測版） ■ □ ■ */
	.sl1{
		top: 0rem;
	}
	.track img{
		width: 60%;
	}
}
@media(max-width:391px){
	.br-391px{display: block;}
}
