body {
 margin: 0;
 color: #333;
 font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
 font-family: "Noto Sans JP", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 line-height: 1.8;
 letter-spacing: 0.05em;
}
main {
 margin: 0 auto 3rem;
 width: 90%;
 max-width: 800px;
}
a { color: #333; text-decoration: none;}
a:hover {
 border-bottom: 2px dotted #f27171;
 color: #f27171;
}
img { display: block; width: 100%; }

.logo img {
 margin: 1rem auto;
 width: 50%;
 max-width: 300px;
 height: auto;
}
h2 {
 margin: 2rem auto;
 font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
 font-weight: 900;
 text-align: center;
 line-height: 1.5;
}
h2::after {
 display: block;
 content: "";
 margin: 1rem auto;
 max-width: 600px;
 border-bottom: 3px dotted #333; 
}
h2 a:hover { border-bottom: 0; }
ul {
 margin: 2rem auto 0;
 padding: 0;
 max-width: 600px;
}
li {
 margin: 0 0 0.2rem 1.5rem;
 padding: 0;
 list-style: square;
 font-weight: 700;
}
li a::after {
 font-family: "Font Awesome 5 Free";
 font-weight: 900;
 content: "\f35a";
 margin-left: 0.3rem;
 color: #29c481;
}
li.tsp { margin-top: 1.5rem; }
li ul {
 margin: 0.3rem 0 0;
 padding-bottom: 1.5rem;
}
li li {
 margin: 0 0.5rem 0 0;
 color: #29c481;
 font-size: 90%;
 font-weight: 500;
 list-style: none;
}
li .schoollist li {
 margin: 0 0.5rem 0 0;
 list-style: none;
 display: inline-block;
}
li .schoollist li:not(:last-child)::after {
 content: "/";
 margin-left: 0.5rem;
 color: #bbb;
}
li .schoollist li a::after {
 content: "";
 margin-left: 0;
}
.btn { text-align: center; }
.btn a {
 margin: 1rem auto;
 padding: 1rem 2rem;
 background-color: #29c481;
 border-radius: 10px;
 color: #fff;
 font-size: clamp(0.9rem, 0.827rem + 0.36vw, 1.1rem);
 font-weight: 700;
 text-align: center;
 text-decoration: none;
 line-height: 1.5;
 display: inline-block;
}
.btn a:hover {
 background-color: #f27171;
 text-decoration: none;
}
.btn a span { display: block; }


@media only screen and (min-width: 769px) {
main { margin-bottom: 5rem; }
h1 img { margin: 1rem auto 2rem; }
h2 { margin: 3.5rem auto;}
.btn a span { display: initial; }
.btn a {
 margin: 3rem auto 2rem;
 padding: 1.8rem 2.5rem;
}

}


