@media only screen and (min-width: 769px) {
.sponly {
display: none !important;
}

#gnavi {
display: grid;
grid-template: auto / repeat(7,1fr);
}
#gnavi li {
width: 100%;
float: none;
display: block;
}
#gnavi li a {
display: block;
width: 100% !important;
background-size: contain !important;
background-position: center !important;
}

/*--- top ---*/
.cont_in:has(#maincolumn) {
display: grid;
grid-template: auto / min(25%,220px) 1fr;
gap: 1em;
}
.cont_in:has(#maincolumn) *:is(#maincolumn,#leftMenu) {
float: none;
width: 100%;
height: auto;
}
.cont_in:has(#maincolumn) #maincolumn {
grid-row: 1 / 2;
grid-column: 2 / 3;
}
.cont_in:has(#maincolumn) #maincolumn #menuBGtop {
width: 100%;
height: auto;
aspect-ratio: 725/540;
background-size: contain;
text-indent: 0;
font-size: 0;
}
.cont_in:has(#maincolumn) #leftMenu {
grid-row: 1 / 2;
grid-column: 1 / 2;
}
.cont_in:has(#maincolumn) #leftMenu li a {
width: 100%;
height: auto;
aspect-ratio: 220/50;
background-size: contain;
}


#top03 ul li:first-of-type {
margin-top: 0;
}
}


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


@media only screen and (max-width: 768px) {
.pconly {
display: none !important;
}
#gnavi {
display: none;
}
html,body {
width: 100%;
height: auto;
}
#wrap {
width: 100%;
}
#content {
margin-top: 130px;
}
#foot {
width: 100%;
}

header {
width: 100%;
height: 90px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
position: fixed;
inset: 0;
bottom: auto;
z-index: 2;
background: #5D372A;
padding: 1em 0;
box-sizing: border-box;
}
header p:not(.parking):has(img) {
width: auto;
height: auto;
max-height: 100%;
aspect-ratio: 2060/486;
margin-left: 1em;
}
@media only screen and (max-width: 480px) {
header p:not(.parking):has(img) {
max-height: 80%;
}
}
header p:not(.parking):has(img) img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
header p:not(:has(img)) {
display: grid;
grid-template: auto / repeat(2,1fr);
gap: .5em;
width: fit-content;
margin-right: 1em;
}
header p:not(:has(img)) *:is(a,span) {
width: 5em;
line-height: 1;
height: auto;
aspect-ratio: 1/1;
transition: all .2s ease-in-out;
display: grid;
grid-template-rows: subgrid;
grid-row: span 2;
place-items: center;
gap: .3em;
color: white !important;
font-size: .8em;
cursor: pointer;
}
body.active header p:not(:has(img)) *:is(span) {
position: relative;
z-index: 101;
}
header p:not(:has(img)) *:is(a,span)::before {
content: "";
display: block;
width: 70%;
aspect-ratio: 4/3;
-webkit-mask-image: url(/images/access.svg);
mask-image: url(/images/access.svg);
-webkit-mask-position: center;
-webkit-mask-size: contain;
-webkit-mask-repeat: no-repeat;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background: white;
}
header p:not(:has(img)) *:is(span)::before {
width: 90%;
-webkit-mask-image: url(/images/menu.svg);
mask-image: url(/images/menu.svg);
-webkit-mask-size: 100%;
mask-size: 100%;
}
body.active header p:not(:has(img)) *:is(span)::before {
-webkit-mask-image: url(/images/cross.svg);
mask-image: url(/images/cross.svg);
}
header p:not(:has(img)) *:is(a,span):hover {
opacity: .8;
text-decoration: none;
}
header ul.hamburger {
opacity: 0;
z-index: -1;
transform: translateX(100%);
pointer-events: none;
position: fixed;
inset: 0;
width: 100%;
height: 100%;
padding: 5em;
box-sizing: border-box;
background: #5D372A;
color: white;
transition: all .2s ease-in-out;
display: grid;
grid-template: auto / 100%;
gap: 2em;
place-content: center;
}
@media only screen and (max-width: 480px) {
header ul.hamburger {
grid-template: auto / repeat(1,1fr);
}
}
body.active header ul.hamburger {
opacity: 1;
z-index: 100;
pointer-events: auto;
transform: none;
}
header ul.hamburger li {
display: flex;
justify-content: flex-start;
align-items: center;
}
header ul.hamburger li a {
display: flex;
justify-content: flex-start;
align-items: flex-start;
color: white;
font-size: 130%;
gap: .5em;
}
header ul.hamburger li a::before {
content: "●";
opacity: .6;
}
header .parking {
width: 100%;
flex-shrink: 0;
padding-top: 1em;
}
header .parking img {
width: 100%;
}


/*--- top --- */
.cont_in img {
max-width: 100%;
height: auto;
}

.cont_in:has(#maincolumn) {
display: grid;
grid-template: auto /100%;
gap: 1em;
}
.cont_in:has(#maincolumn) *:is(#maincolumn,#leftMenu) {
float: none;
width: 100%;
height: auto;
}
.cont_in:has(#maincolumn) #maincolumn {
grid-row: 2 / 3;
grid-column: 1 / 2;
}
.cont_in:has(#maincolumn) #maincolumn #menuBGtop {
width: 100%;
height: auto;
aspect-ratio: 725/540;
background-size: contain;
text-indent: 0;
font-size: 0;
}
.cont_in:has(#maincolumn) #leftMenu {
grid-row: 1 / 2;
grid-column: 1 / 2;
margin-bottom: 3em;
}
.cont_in:has(#maincolumn) #leftMenu ul {
display: grid;
grid-template: auto / repeat(3,1fr);
gap: .5em;
}
@media only screen and (max-width: 480px) {
.cont_in:has(#maincolumn) #leftMenu ul {
grid-template: auto / repeat(2,1fr);
}
}
.cont_in:has(#maincolumn) #leftMenu li a {
width: 100%;
height: auto;
aspect-ratio: 220/50;
background-size: contain;
}

#main_img span:is(.bnr01,.bnr02,.bnr03) {
display: block;
}
#main_img span:is(.bnr01,.bnr02,.bnr03) img {
width: 100%;
height: auto;
}
#main_img {
width: 100%;
height: auto;
aspect-ratio: 1000/445;
background-size: contain;
}
#main_img .bnr01 {
bottom: 5%;
left: 3%;
width: 48vw;
}
#main_img .bnr02 {
bottom: 2%;
right: 1%;
width: 17vw;
}
#main_img .bnr03 {
bottom: 2%;
right: 19.5%;
width: 23vw;
}

#top03 ul li:first-of-type {
margin-top: 0;
}

.gumma {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.gumma * {
max-width: 100% !important;
}
.footer-access p {
margin: 0 !important;
width: 100% !important;
text-align: center !important;
}
.gumma *:is(.footer-tel,.footer-tel_2) a {
width: 100%;
margin: 0;
float: none;
}
.gumma *:is(.footer-left,.footer-right) {
float: none;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
gap: 1em;
margin: 0;
padding: 0;
border: 0;
}

.covid figure {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
padding: 1em !important;
box-sizing: border-box;
width: 100%;
margin: 0;
}
.covid figure > * {
width: 100% !important;
float: none !important;
margin: 0 !important;
}
.covid .color-red.title {
margin-bottom: -.5em;
display: block;
text-align: center;
}
.covid .color-red.title + br {
display: none;
}
#top_bnr,
#top_bnr + .B30 {
display: grid;
grid-template: auto / 100%;
gap: .8em;
place-items: center;
}
#top_bnr li {
width: min(100%,380px);
margin: 0;
float: none;
display: flex;
justify-content: center;
align-items: center;
}
#top_bnr li a {
width: 100%;
height: auto;
display: block;
}
#top_bnr li a img {
width: 100%;
height: auto;
display: block;
}

#top_price {
width: fit-content;
margin-inline: auto;
display: grid;
grid-template: auto / repeat(2,1fr);
gap: 1em;
}
@media only screen and (max-width: 640px) {
#top_price {
width: 100%;
gap: 1em;
}
}
#top_price li {
width: min(100%,230px);
float: none;
margin: 0;
}
#top_price li a {
margin: 0 !important;
background-size: contain !important;
width: 100%;
height: auto;
aspect-ratio: 230/210;
font-size: 0;
text-indent: 0;
overflow: hidden;
}

.bnr_micro p {
width: min(100%,690px);
margin-inline: auto;
aspect-ratio: 1886/680;
position: relative;
}
.bnr_micro p a,
.bnr_micro p a:hover {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background: url(/images/bnr1.png) center / contain no-repeat !important;
}
.bnr_micro p a span {
display: none;
}
.bnr_micro p a img {
width: 100%;
height: auto;
}

div.covid table {
width: 100%;
}
div.covid ul {
width: 100% !important;
}
div.covid table tr th, div.covid table tr td {
padding: 4px !important;
font-size: 10px !important;
box-sizing: border-box;
}

#top02 p a {
width: 100%;
height: auto;
padding: 40% 0 0;
background-size: 220%;
}

#top02 ul {
display: grid;
grid-template: auto / repeat(3,1fr);
gap: 1em;
width: 100%;
}
#top02 ul li {
margin: 0;
float: none;
}
#top02 ul li a {
width: 100%;
height: auto;
margin: 0;
aspect-ratio: 310/206;
display: block;
background-size: contain !important;
font-size: 0;
text-indent: 0;
overflow: hidden;
}

#top03 p a {
width: 100%;
height: auto;
aspect-ratio: 245/104;
background: url(/images/bnr2.png) center / contain no-repeat !important;
font-size: 0;
margin: 0;
padding: 0;
place-items: start;
}
#top03 ul {
display: grid;
grid-template: auto / repeat(2,1fr);
gap: 1em;
}
#top03 ul li {
display: block;
width: 100%;
margin: 0;
float: none;
}
#top03 ul li a {
margin: 0 !important;
width: auto !important;
height: 9vw;
background-size: contain !important;
}
#top03 ul li:nth-of-type(3) a {
background-position: 10px 0 !important;
}

#top05 {
display: grid;
grid-template: auto / 100%;
gap: 1em;
}
#top05 *:is(.F_left,.F_right) {
width: 100%;
float: none;
}
#top05 *:is(.F_left) a,
#top05 *:is(.F_left) a img {
display: block;
width: 100%;
}
#top05 *:is(.F_right) p img {
width: 100%;
}

a.cal-button {
margin-bottom: 0;
max-width: 90%;
margin-inline: auto;
}

#outlinks table {
width: 100%;
}
#outlinks table td {
display: block;
text-align: center;
}
#outlinks table tr {
display: grid;
grid-template: auto / repeat(2,1fr);
gap: 1em;
}
}



/*--- footer ---*/
footer img {
max-width: 100%;
height: auto;
}
footer {
padding: 4em 2em;
background: #5D372A;
color: white;
box-sizing: border-box;
}
footer p + p {
margin-top: 1em;
}
footer table {
width: 100%;
margin: 1em 0;
padding: 8px;
background: white;
border-radius: 1em;
box-sizing: border-box;
}
footer table *:is(th,td) {
padding: 4px;
box-sizing: border-box;
color: #5D372A;
text-align: center;
}
footer table tr:first-of-type {
border-bottom: 3px solid #5D372A;
}
footer table tr > *:is(th,td):first-of-type {
width: 120px;
}
footer iframe {
width: 100%;
aspect-ratio: 4/3;
height: auto;
}
footer .access {
font-weight: bold;
}
footer .access strong {
text-align: center;
display: block;
color: white !important;
margin-bottom: 8px;
font-size: 150%;
margin-top: 1em;
font-weight: bold;
}
footer .access img {
width: 100%;
border-radius: 10px;
}
footer .access img + img {
margin-top: 8px;
}
footer .access:not(.access2) > span {
display: grid;
grid-template: auto / auto 1fr;
}
footer .access:not(.access2) > span span {
font-weight: bold;
}
footer .access .btn {
font-size: .8em;
}
footer .access.access2 span {
display: inline-block;
white-space: pre-wrap;
word-break: keep-all;
}
footer .access.access2 > span {
display: block;
text-align: center;
}

footer .btn {
text-align: center;
}
footer .btn a {
color: white;
text-decoration: underline;
}
footer .btn:has(a:nth-of-type(2)) {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
footer .btn.box a {
display: flex;
justify-content: center;
align-items: center;
padding: .5em 1.5em;
box-sizing: border-box;
border: 1px solid white;
width: fit-content;
margin: auto;
text-decoration: none;
}

footer .logo {
text-align: center;
}
footer .logo img {
width: min(100%, 340px);
margin-inline: auto;
}
footer .add {
display: flex;
justify-content: flex-start;
align-items: flex-start;
gap: .5em;
margin-inline: auto;
width: fit-content;
}
footer .add::before {
content: "";
display: block;
-webkit-mask-image: url(/images/access.svg);
mask-image: url(/images/access.svg);
-webkit-mask-position: center;
-webkit-mask-size: contain;
-webkit-mask-repeat: no-repeat;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background: white;
width: 1.8em;
flex-shrink: 0;
aspect-ratio: 1/1;
transform: translateY(2%);
}

footer .tel {
text-align: center;
margin-block: 2em;
}
footer .tel a {
color: white;
font-size: 200%;
font-weight: bold;
text-decoration: none;
margin: auto;
display: inline-flex;
justify-content: center;
align-items: center;
gap: .5em;
}
footer .tel a::before {
content: "";
display: block;
width: 1em;
aspect-ratio: 1/1;
flex-shrink: 0;
-webkit-mask-image: url(/images/tel.svg);
mask-image: url(/images/tel.svg);
-webkit-mask-position: center;
-webkit-mask-size: contain;
-webkit-mask-repeat: no-repeat;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background: white;
}
footer div + div {
margin-top: 1em;
}

@media only screen and (min-width: 769px) {
footer .logo img {
width: min(90%, 600px);
margin-inline: auto;
}
footer {
transform: translateX(calc(((100svw - 1000px) / 2) * -1));
width: 100svw;
}
footer > div {
width: min(100%,1000px);
margin-inline: auto;
margin-top: 4em;
display: grid;
grid-template: auto / repeat(2,1fr);
gap: 2em;
}
footer table,
footer table + p,
footer iframe {
width: 640px;
margin-inline: auto;
}
footer p:has(iframe) {
text-align: center;
}
footer .access strong {
margin-top: 0;
}
footer div + div {
margin-top: 0;
}

#head .parking {
text-align: center;
padding-top: 1em;
clear: both;
}
#head .parking img {
width: 70%;
margin: auto;
}
}