.camp-page { position:relative; flex:1; min-height:0; background:url('../img/camp-page-background.png') left center / cover no-repeat; }
.camp-notice { position:absolute; left:45.8%; top:18.2%; width:45%; height:56%; display:flex; align-items:center; justify-content:center; text-align:center; }
.camp-notice h1 { margin:0; }
.camp-notice h1 span { display:block; }
.camp-notice .camp-notice-main { color:#000000; }
.camp-notice .camp-notice-accent { color:#8F1D32; }
@media (max-width:900px) {
    .camp-page { background-position:12% center; }
    .camp-notice h1 { font-size:42px; line-height:1.08; }
}
@media (max-width:600px) {
    .camp-notice { left:18px; top:auto; bottom:8px; width:calc(100% - 36px); height:auto; }
    .camp-notice h1 { font-family:Barlow,'Arial Narrow',Impact,'Arial Black',sans-serif; font-size:32px; font-weight:700; line-height:1.08; letter-spacing:-.4px; }
}

@media (min-width:768px) and (max-width:1024px) and (orientation:portrait) {
    .camp-notice { left:calc(55% - 18px); top:0; }
}

@media (max-width:767px) {
    .camp-notice { left:58%; right:10px; top:90px; bottom:auto; width:auto; height:auto; }
    .camp-notice h1 { font-size:clamp(24px,6.6vw,32px); }
    .camp-notice-main { width:min-content; max-width:100%; margin-inline:auto; }
}

@media (min-width:768px) and (max-width:900px) and (max-height:500px) and (orientation:landscape) {
    .camp-notice { transform:translateX(-60px); }
    .camp-notice-main { width:min-content; max-width:100%; margin-inline:auto; }
    .camp-notice h1 { transform:translateY(.54em); }
}
