/* ========= RESET ========= */

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:
"Noto Sans JP",
system-ui,
sans-serif;
background:#FFF5EA;
color:#000;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
color:inherit;
}
h1,h2,h3,h4,h5,h6{
margin:0;
}
/* ========= CONTAINER ========= */

.container{
width:min(1100px,92%);
margin:auto;
}

.section{
padding:80px 0;
}

.sec-title{
text-align:center;
font-size:28px;
margin-bottom:40px;
}


/* ========= TODAY MENU ========= */

.today-flex{
	display:flex;
	gap:40px;
	flex-wrap:wrap;
	background:#fff;
	align-items:center;
	border-top-width: 5px;
	border-right-width: 5px;
	border-left-width: 5px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom:none;
	border-left-style: solid;
	border-top-color: #ffa257;
	border-right-color: #ffa257;
	border-bottom-color: #ffa257;
	border-left-color: #ffa257;
	padding-top: 30px;
	padding-right: 30px;
	padding-left: 30px;
}

.today-flex_index{
	display:flex;
	gap:40px;
	flex-wrap:wrap;
	background:#fff;
	align-items:center;
	padding-top: 30px;
	padding-right: 30px;
	padding-left: 30px;
	border: 5px solid #ffa257;
}

.today-left{
flex:1;
min-width:280px;
text-align:center;
}

.today-right{
flex:1;
min-width:280px;
}

.today-date{
font-size:24px;
font-weight:bold;
}

.weekday-circle{
display:inline-flex;
align-items:center;
justify-content:center;
width:80px;
height:80px;
border-radius:50%;
background:#ffa257;
font-size:30px;
font-weight:bold;
margin-right:10px;
}

.today-main{
font-size:22px;
font-weight:bold;
border-left:5px solid #ffa257;
padding-left:16px;
margin-bottom:16px;
}

.today-sub{
list-style:none;
padding:0;
margin:0;
}

.today-sub li{
padding:8px 0;
border-bottom:1px dashed #ddd;
}

/* ========= ALLERGY ========= */

.allergy-table{
margin-top:20px;
border:1px solid #ddd;
padding:16px;
border-radius:10px;
}

.allergy-title{
font-size:14px;
font-weight:bold;
margin-bottom:10px;
text-align:center;
}

.allergy-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:6px;
}

.allergy-item{
text-align:center;
font-size:13px;
padding:6px;
border-radius:6px;
border:1px solid #ddd;
}

.allergy-item.on{
background:#ffe5e5;
border-color:#e06666;
}

.allergy-item.off{
background:#f7f7f7;
color:#888;
}

/* ========= WEEK MENU ========= */

.week-menu{
	background-color: #FFFFFF;
	border-right-width: 5px;
	border-bottom-width: 5px;
	border-left-width: 5px;
	border-top-style: none;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-right-color: #ffa257;
	border-bottom-color: #ffa257;
	border-left-color: #ffa257;
	margin: 0;
	padding: 0;
	border-top-width: 0px;
}

.week-title{
	text-align:center;
	font-size:26px;
	margin-bottom:40px;
	padding-top: 20px;
}

.week-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.week-card{
	background:#fff;
	text-align:center;
	margin: 10px;
	padding-top: 16px;
	padding-right: 0px;
	padding-bottom: 16px;
	padding-left: 0px;
}
.weeks-card2{
	background:#fff;
	text-align:center;
	border-top-style: none;
	border-right-style: dashed;
	border-left-style: dashed;
	border-right-width: 2px;
	border-left-width: 2px;
	border-bottom-style: none;
	border-top-color: #ffa257;
	border-right-color: #ffa257;
	border-bottom-color: #ffa257;
	border-left-color: #ffa257;
	padding: 16px;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
}

.week-header{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
margin-bottom:10px;
}
/* 週間メニュー画像サイズ統一 */
.week-card img,
.weeks-card2 img{

width:100%;
max-width:450px;
height:300px;

object-fit:cover;

margin:auto;
display:block;

border-radius:10px;

}


.day-circle{
width:40px;
height:40px;
border-radius:50%;
background:#ffa257;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
}

.menu-title{
font-size:18px;
font-weight:bold;
margin-top:10px;
}

.menu-desc{
font-size:14px;
color:#555;
margin:6px 0;
}

.menu-cal{
font-size:13px;
color:#666;
}

/* ========= FOOTER ========= */

footer{
margin-top:60px;
border-top:1px solid #eee;
background:#fffaf1;
}

.foot{
padding:20px 0;
}

.footer-nav{
text-align:center;
padding:16px 0;
border-top:1px solid #eee;
}

.footer-nav a{
margin:0 10px;
font-size:14px;
color:#666;
}

.footer-nav a:hover{
text-decoration:underline;
}

/* 今週メニューボタン */

.week-btn-wrap{
text-align:center;
margin:30px 0;
}

.week-btn{
display:inline-flex;
align-items:center;
gap:8px;

background:#ffa257;
color:#000;

font-weight:bold;
font-size:16px;

padding:14px 28px;

border-radius:30px;

box-shadow:0 4px 0 #ff5900;

transition:.2s;
}

.week-btn:hover{
transform:translateY(2px);
box-shadow:0 2px 0 #ff5900;
}

.week-btn .arrow{
font-size:18px;
}



/*PDF */
.circle-menu{
display:flex;
flex-direction:column;
align-items:center;
gap:30px;
}

.week-circle-btn{

display:flex;
align-items:center;
justify-content:center;
text-align:center;

width:250px;
height:250px;

border-radius:50%;

background:#ffa257;
color:#000;

font-size:28px;
font-weight:bold;
line-height:1.4;

box-shadow:0 8px 0 #ff5900;

transition:.2s;
}

.week-circle-btn:hover{
transform:translateY(4px);
box-shadow:0 4px 0 #ff5900;
}

/* ========= RESPONSIVE ========= */

@media(max-width:900px){

.week-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.week-grid{
grid-template-columns:1fr;
}

.today-flex{
flex-direction:column;
}

nav ul{
flex-wrap:wrap;
gap:10px;
}

}
