@charset "UTF-8";

html {
font-size: 16px;
line-height: 1.5em;
}
* {
padding: 0px;
margin: 0px;
}

a {
color: #006;
text-decoration: none;
}

a:hover {
color: #66c;
text-decoration: underline;
}

body {
background-color: #eee;
font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
color: #444;
}

header {
width: 100vw;
background-color: rgba(0,117,193,1);
box-shadow: 0px 3px 6px rgba(0,0,0,0.2);
/*position: sticky;*/
top: 0px;
height: 4rem;
z-index: 1;
}

header img {
height: 2.5rem;
position: absolute;
right: 1rem;
top: 0.75rem;
vertical-align: middle;
}

article.course {
background-color: rgba(255,255,255,1);
max-width: 950px;
margin: 1em auto;
position: relative;
padding: 0px;
border-radius: 1em;
box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
overflow: hidden;
}

article.course:target {

}

article.course section {
margin: 0 1.5em 1em;
}

article.course section:first-child {
margin-top: 1em;
}

article.course section:last-child {
margin-bottom: 1.5em;
}

article.course summary + section {
margin-top: 1em;
}

h1 {
color: #fff;
font-size: 1.2rem;
line-height: 4rem;
margin-left: 1rem;
vertical-align: middle;
}

h2 {
font-size: 1.5rem;
max-width: 950px;
margin: 1em auto 0.5em;
}

h2 span {
margin-left: 0.5em;
}

h3 {
font-size: 1rem;
color: #336;
border-bottom: 1px solid #bbb;
margin-bottom: 0.2em;
}

h3 small {
font-weight: normal;
}

p#error-message {
text-align: center;
margin: 2em auto;
}

article p {
font-size: 1rem;
}

table {
width: 100%;
/*border-collapse: collapse;*/
border: none;
table-layout: fixed;
overflow: hidden;
}

table th, td {
border-bottom: 1px solid #bbb;
padding: 0.4em;
}

table th + td {
position: relative;
left: 4px;
}

table.outline {
font-size: 1rem;
}

table.outline th {
text-align: left;
color: #336;
width: 11.5em;
padding-left: 0;
}

table.outline th span.break {
font-weight: normal;
}

table.schedule {
font-size: 0.9rem;
}

table.schedule th {
text-align: left;
color: #336;
}

table.schedule th:not(.exam) {
width: 4em;
text-align: center;
font-weight: normal;
}

table.schedule th.exam {
text-align: left;
font-weight: bold;
border-bottom: none;
padding-bottom: 0;
}

table.schedule td.exam {
padding-top: 0;
}

table.course-list {
border-collapse: collapse;
background-color: rgb(255, 255, 255);
width: 100%;
max-width: 950px;
position: relative;
box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 8px;
margin: 1em auto;
padding: 1px 0px;
}

tr.course-list-header th {
font-weight: normal;
color: rgb(51, 51, 102);
border-width: 1px;
border-style: solid;
border-color: rgb(238, 238, 238);
border-image: initial;
background: rgb(238, 238, 238);
padding: 0.25em 0px;
}

table.course-list td {
border-width: 1px;
border-style: solid;
border-color: rgb(238, 238, 238);
border-image: initial;
padding: 0.4em;
}

summary {
text-align: center;
font-size: 0.75rem;
font-weight: bold;
line-height: 2.5rem;
background: rgb(230, 244, 255);
}

summary:hover {
background: rgb(192, 216, 255);
}

footer {
width: 100vw;
font-size: 0.75rem;
padding-bottom: 1em;
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
font-style: normal;
color: #999;
text-align: center;
}

footer p a {
color: #999;
text-decoration: none;
}

/*校正用*/
td.blank {
background-color: rgb(255,233,233);
}

tr.blank td::before {
content: "　";
}

tr.blank td {
background-color: rgb(255,233,233);
}

p.blank::before {
content: "　";
}

p.blank {
background-color: rgb(255,233,233);
}
/*校正用ここまで*/

/*印刷用*/
@media print {

@page {
size: A4 portrait;
margin: 5mm;
}

html {
font-size: 9pt;
}

body {
background-color: #fff;
color: #000;
width: 210mm;
}

a {
color: #000;
}

header {
background-color: rgba(255,255,255,0);
box-shadow: none;
position: static;
height: 1em;
}

h1 {
font-size: 7pt;
color: #000;
font-weight: normal;
height: 1em;
}

h1:before {
content: "尚美ミュージックカレッジ専門学校 ";
}

h2 {
font-size: 24pt;
line-height: 28pt;
width: auto;
max-width: 55%;
text-align: center;
padding: 2em 0.5em;
margin: 33% 22%;
border: 0.5pt solid #000;
vertical-align: middle;
white-space: nowrap;
break-after: page;
}

h2 span {
display: block;
margin-left: 0;
}

h3 {
border-bottom: 0.25pt solid #000;
}

article.course {
position: static;
width: 200mm;
/*max-height: 267mm;*/
border-radius: 0;
box-shadow: none;
/*margin: 5mm;*/
break-after: page;
}

article.course section {
break-inside: avoid;
margin: 0 0 1em;
}

table th, td {
border-bottom: 0.25pt solid #000;
}

table.outline th {
width: 12em;
}

table.schedule {
font-size: 7pt;
line-height: 1.2em;
}

summary {
display: none;
}

footer {
display: none;
}
}