/* resets css */
*, *::before, *::after {
    box-sizing: border-box;
}
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    margin: 0;
}
h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0;
	font-weight: 300;
}
ol, ul, a {
    list-style: none;
    text-decoration: none;
    margin: 0;
    padding: 0;
}
html:focus-within {
    scroll-behavior: smooth;
}
img, picture {
    max-width: 100%;
    display: block;
}
input, button, textarea, select {
    font: inherit;
}
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Common */ :root {
    --basecolor: #FFF9F4;
    --mainyellow: #FFF2D8;
    --mainpink: #F5C1C9;
    --accentyellow: #FFF100;
    --accentpink: #FA709A;
}
body {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 300;
    font-style: normal;
    text-align: center;
    background-color: var(--basecolor);
    color: #3C3C3C;
}
a {
    color: #3C3C3C;
}
img, iframe {
    max-width: 100%;
    display: block;
    border-radius: 14px;
    object-fit: cover;
}
h1, h2, h3, h4 {
    color: #5A4A42;
    line-height: 1.2;
}
h1 {
    font-size: 24px;
}
h2 {
    font-size: 20px;
}
h3 {
    font-size: 1.0rem;
}
h4 {
    font-size: 14px;
}
.l-text {
    font-size: 1.5em;
    color: #5A4A42;
}
.b-text {
	font-weight: bold;
}
small {
    width: 100%;
    display: block;
    font-size: 10px;
    padding: 4px 0;
}