/* Tablet layout: desktop, tablet and mobile share the same HTML. */
html { font-size: 16px; }
body, #wrapper { min-width: 0; }
.site-header__bar,
.site-navigation ul,
#main .content,
footer .foot-inner { width: min(100% - 48px, 960px); }
.site-navigation a { padding-left: 6px; padding-right: 6px; font-size: 14px; }
#indexmenu ul { display: grid; grid-template-columns: repeat(2, 1fr); }
#indexmenu ul li { display: block; width: auto; }
#indexmenu ul li a { height: auto; padding: 0; aspect-ratio: 3 / 2; }
#indexmenu ul li a img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
#indexmenu ul li a span.im-text { right: 24px; bottom: 18px; width: auto; writing-mode: horizontal-tb; }
#indexmenu ul li a span.im-text span.im-t-name,
#indexmenu ul li a span.im-text span.im-t-en { text-align: right; }
#main .content .con-inner { height: auto; min-height: 0; }
.content01 { height: auto; padding: 44px 0; }
.content01 .content { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.content01 .con1-left { writing-mode: horizontal-tb; padding: 0; }
.content01 .con1-left p.con1-text { margin: 16px 0 0; padding: 0; font-size: 16px; line-height: 1.9; }
.content03 .content { height: auto; min-height: 520px; padding: 44px 24px 440px; background-position: center bottom; background-size: 220px; writing-mode: horizontal-tb; box-sizing: border-box; }
.content03 .con3-st,
.content03 .con3-text { float: none; margin: 0; padding: 0; line-height: 1.9; }
.content03 .con3-st { margin-bottom: 20px; }
.content03 .con3-text span { display: inline; margin: 0; font-weight: bold; }
footer .foot-inner { box-sizing: border-box; }
