body { font-size: 1.6rem; line-height: 1.25; }
body {
    display: flex; flex-direction: column; height: 100%; width: 100%; min-height: 100vh;
    > * { flex: 0 0 auto; }
    > main { flex: 1 0 auto; }
}
body { font-size: 1.6rem; line-height: 1.5; }
a { transition: 0.4s ease all; }
h1 { font-size: 3.2rem; }
footer { font-size: 1.6rem; }
.padding-s { padding: 1.0rem; }
.padding-s0 { padding: 1.0rem 0; }
.padding-m { padding: 2.0rem; }
.padding-l { padding: 4.0rem; }
.gap-ml { gap: 2rem 4rem; }
.gap-l { gap: 4rem; }
footer a { color: inherit; text-decoration: none; font-weight: 500; }
.bg-fill { background-position: center; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; }
.fixed { position: fixed; }
.boxes1 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; }
.boxes2 { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; }
.box1, .box2 { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-around; align-items: stretch; }
.box1 { border: 2px solid transparent; padding: 2rem; border-radius: 2rem; }
.box2 { border: 2px solid transparent; padding: 2rem; border-radius: 2rem; }
.box2 a, a.box2 { color: inherit; text-decoration: none; font-weight: 500; }
.box2 > .logo { height: 8rem; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: center; align-items: center; }
.box2 > .logo img { max-height: 100%; width: auto; }
.box1 { background-color: var(--color--box1_bg, inherit); border-color: var(--color--box1_frame, inherit); }
.box2 { background-color: var(--color--box2_bg, inherit); border-color: var(--color--box2_frame, inherit); }
.box2:hover { background-color: var(--color--box2_bg_hover, inherit); border-color: var(--color--box2_frame_hover, inherit); }
.header-text { padding: 1.0rem 2.0rem; }
.wrap-311 {
	> * { width: calc(1/3 * 100%); }
	&.gap-ml > * { width: calc(1/3 * 100% - 2/3 * 4rem); }
	&.gap-l > * { width: calc(1/3 * 100% - 2/3 * 4rem); }
}
s { white-space: nowrap; text-decoration: inherit; }
p { margin-top: 0; }
p:last-child { margin-bottom: 0; }
@media screen and (max-width: 1024px) {
	    h1 { font-size: 2.8rem; }
	.wrap-311 {
		> * { width: 100%; }
		&.gap-ml > * { width: 100%; }
		&.gap-l > * { width: 100%; }
	}
}
@media screen and (max-width: 767px) {
    body { font-size: 1.6rem; }
    h1 { font-size: 2.4rem; }
    .padding-s { padding: 5px; }
    .padding-s0 { padding: 5px 0; }
    .padding-m { padding: 10px; }
    .gap-ml { gap: 1rem 2rem; }
    .gap-l { gap: 2rem; }
	.wrap-311 {
		> * { width: 100%; }
		&.gap-ml > * { width: 100%; }
		&.gap-l > * { width: 100%; }
	}
}