/* CSS Document */

main.menu .inner{
	width:var(--size-inner-W);
	margin: 0 auto;
}
:root{
--menu-frame-mgnT:96px;
--menu-frame-pad :max(20px, calc(1% * 30 / 8.25));
}
:root{
--menu-frame-pad2:max(20px,calc(var(--menu-frame-pad) * 8.25 / 7.65));
}
main.menu .menu_db{
	margin-top:min(50px,max(35px,calc(1vw * 35 / 3.75)));
	gap:min(75px,max(45px,calc(1vw * 45 / 3.75))); display: flex; flex-direction: column;
}
main.menu .menu_db dl{
	margin-top: var(--menu-frame-mgnT);
	background-color: var(--color-gray-F);
	border-radius:var(--radius-10);
	padding: var(--menu-frame-pad);
	gap: 20px var(--menu-frame-pad);
	display: flex;
}
main.menu .menu_db dl dd[p]{
	margin-top: calc((var(--menu-frame-mgnT) + var(--menu-frame-pad2)) * -1);
	width:var(--size-header-W); min-width: var(--size-header-W);
}
main.menu .menu_db dl dd[p] img{width:100%;}
main.menu .menu_db dl dd[t]{margin-top: auto; flex-grow: 1;}
main.menu .menu_db dl dd[t] h3{
	text-align: center;
	font-size: 24px;
	padding-bottom: 0.25em;
	border-bottom:solid 1px var(--color-dark30);
}
main.menu .menu_db dl dd[t] h3 + *{margin: 2em 0 3em;}
main.menu .menu_db dl dd[t] .ovalbtn_box a{width:min(20em,100%);}
@media screen and (max-width: 870px){
	:root{
		--menu-frame-mgnT:64px;
		--menu-frame-pad :min(80px,max(40px,calc(1vw * 40 / 3.75)));
	}
	main.menu .menu_db dl,
	main.menu .menu_bnr{flex-direction:column; align-items:center;}
	main.menu .menu_db dl{padding: 0 0 var(--menu-frame-pad);}
	main.menu .menu_db dl dd[p]{
		margin-top: calc(var(--menu-frame-mgnT) * -1);
		width:min(300px,100%,max(192px,calc(1vw * 192 / 3.75))); min-width:0;}
	main.menu .menu_db dl dd[t]{min-width:min(192px,100%);}
	main.menu .menu_db dl dd[t] h3 + *{margin: 1.5em 0 0;}
}

main.menu .menu_bnr{
	width: var(--size-inner-W975);
	margin: min(140px,calc(1% * 140 / 11)) auto 0;
	display: flex; flex-wrap: wrap; justify-content: space-between;
}
main.menu .menu_bnr a{display: block;}
main.menu .menu_bnr a div{position: relative;}
main.menu .menu_bnr a div::after{
	content:''; display: '';
	position: absolute;	inset:0;
	border: solid 1px var(--color-dark30);
}
main.menu .menu_bnr a img{width:100%; aspect-ratio:630 / 185;}
@media screen and (min-width: 871px){
	main.menu .menu_bnr a{width:calc(1% * 475 / 9.75);}
	main.menu .menu_bnr a:nth-of-type(n+3){margin-top:calc(1% * 25 / 9.75);}/* 縦の空白も横と同じサイズで縮める */
	main.menu .menu_bnr a img{aspect-ratio:475 / 140;}
}
@media screen and (max-width: 870px){
	main.menu .menu_bnr{
		margin-top: min(100px,max(50px,calc(1vw * 50 / 3.75)));
		gap:min(28px,max(14px,calc(1vw * 14 / 3.75)));
	}
	main.menu .menu_bnr a{width:min(630px,100%);}
}