/* Shared layout for the homepage, profile and SNS only. */
body.site-shell { margin: 0; height: auto; min-height: 100vh; }
.site-navigation { box-sizing: border-box; }
.site-navigation .nav_img { display: inline-block; object-fit: contain; }
.site-navigation a[aria-current="page"] { font-weight: bold; }
.site-navigation > .nav-fallback { display: block; padding: 1rem; text-align: center; }
#back.site-background {
    left: 200px; right: 0; top: 0; bottom: 0;
    width: auto; min-width: 0; height: auto; min-height: 0;
    background-image: url("./shared/background-desktop.1cbfc114a0d141ac.svg");
    pointer-events: none;
}
.site-main.main, .site-main.main2 {
    position: relative; left: auto; top: auto;
    margin-left: 200px; width: auto; min-width: 0; height: auto;
    min-height: 100vh; box-sizing: border-box; padding: 1px 24px 48px;
}
.site-main #page_title { max-width: 100%; }
.site-main .page1 {
    display: grid; grid-template-columns: minmax(240px, 360px) minmax(0, 550px);
    gap: 32px; width: 100%; max-width: 950px; box-sizing: border-box;
}
.site-main .profile { width: auto; max-width: 360px; box-sizing: border-box; }
.site-main .profile_img { width: 100%; height: auto; }
.site-main .info { width: auto; min-width: 0; }
.site-main .page2 {
    width: 100%; min-width: 0; max-width: 25rem;
    grid-template-columns: minmax(5rem, 6rem) minmax(0, 15rem);
    column-gap: 1rem;
}
@media screen and (min-width:641px) and (max-width:1050px) {
    .site-main .page1 { grid-template-columns: minmax(0, 1fr); }
    .site-main .profile { margin: 0 auto; }
}
@media screen and (max-width:640px) {
    #back.site-background {
        left: 0; top: 150px;
        background-image: url("./shared/background-mobile.de95062f35d02f1d.svg");
    }
    .site-main.main, .site-main.main2 {
        margin-left: 0; padding: 151px 16px 48px;
    }
    .site-main .page1 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .site-main .profile { width: 100%; margin: 0 auto; padding: 16px; }
    .site-main .profile_img { width: 75%; }
    .site-main #page_title { font-size: clamp(30px, 8vw, 46px); }
}
@media print {
    .site-navigation, #back.site-background { display: none; }
    .site-main.main, .site-main.main2 { margin: 0; padding: 0; min-height: 0; }
}
