.target table {
    width: 90%;
    border: 1px solid #CCC;
    /* display: block; */
    margin: 1em auto;
    border-collapse: collapse;
}

.target table td, .target table th {
    border: 1px solid #CCC;
    padding: 8px 12px;
    font-size: 1.2rem;
    line-height: 1em;
    width: auto;
}

.target table th {
    background-color: #FFF0F0;
}
.courscebox {
    display: flex;
    justify-content: space-between;
}

.cource div h2 span {
    display: block;
}

.cource {
    display: flex;
    justify-content: center;
    padding: 1em 0;
    width:48%
}

.cource > div {
    width: 100%;
    text-align: center;
    border: 1px solid;
}

.cource div h2 {
    margin-top: 0;
    padding: 4px;
    line-height: 1.2em;
}

.cource .b h2 {
    background-color: lightblue;
}

.cource .r h2 {
    background-color: lightpink;
}

.schedule h2, .detail h2, .teacher h2 {
    font-size: 25px;
    margin-top: 2em;
    border-bottom: 1px dotted #555;
    line-height: 1.2em;
}

.detail > div {
    border: 1px dotted #999;
    border-radius: 7px;
    padding: 1em;
    margin-bottom: 1em;
}

.detail > div h3 {
    margin-top: 1.8em;
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 120%;
    line-height: 1em;
}

.deatail > div p {
    margin: 0;
    padding: 0;
}

.detail > div p {
    margin-top: 0.5em;
}

.detail > div h3:first-child {
    margin-top: 0;
}

.schedule table {
    width: 100%;
    border: 1px solid #CCC;
    border-collapse: collapse;
}

.schedule table td, .schedule table th {
    padding: 0.5em;
    text-align: center;
    border: 1px solid #999;
}

.schedule table.b th {
    background-color: #BFDAF3;
}
.schedule table.r th {
    background-color: #FFF0F0;
}

.photos ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin:0;
	padding:0
}

.photos ul li {
	margin:0;
	padding:0;
	margin-top:1.5em;
    width: 48%;
    text-align: center;
	list-style: none;
}

.photos ul li img {
    width: 100%;
    height: auto;
}
.teacher ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
	margin:0;
	padding:0
}

.teacher ul li {
	margin:0;
	padding:0 1em;
	margin-top:1.5em;
    width: 40%;
    text-align: center;
	list-style: none;
}

.teacher ul li img {
    width: 100%;
    height: auto;
}

.formline{
	display: flex;
    font-size: 14px;
    border-bottom: 1px dashed #CCC;
    padding: 5px 0;
}
.mailform h2{
    font-size: 25px;
    margin-top: 2em;
    border-bottom: 1px dotted #555;
    line-height: 1.2em;
}
.formlabel{
	width: 120px;
}
.formobj{
	width: 400px;
}
.formelmone{
	text-align: center;
    width: 100%;
}
.formelmone button{
	
    display: block;
    margin: 10px auto;
    font-size: 18px;
    color: #FFF;
    background-color: blue;
    padding: 0.5em 2em;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
input[type=text], select{
	border:1px solid #AAA;
	border-radius:8px;
	padding:3px;
}
.longtext{
	width:100%;
	box-sizing: border-box;
}
.zip{
	width:8em;
}
.ptitlearea{
	font-size:28px;
}
.blankbox {
    border: 1px solid #333;
}
.contact {
    margin-top: 40px;
    border: 1px solid #CCC;
    border-radius: 8px;
    background-color: #FFEEFF;
    padding: 2em;
    text-align: center;
}

.contact h2 {
    text-align: center;
    font-size: 24px;
    margin-top: 0;
}

.contact h3 {
    font-size: 20px;
    margin: 20px 0 10px 0;
}

.contact ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.contact ul li {
    font-size: 18px;
    line-height: 1.5em;
}

.contact ul li span {
    display: inline-block;
    width: 4em;
}
span.indispensable {
    background-color: red;
    color: #FFF;
    padding: 4px 2px;
    border-radius: 3px;
    font-size: 65%;
    display: inline-block;
    line-height: 1em;
    vertical-align: middle;
    margin-bottom: 4px;
}
.cource > div p{
    text-align: left;
    padding:0.2em;
}
.cource > div p span{
    display: block;
    text-align: right;
}
.teacherinfo {
    text-align: right;
}

.schedule h3 {
    margin-bottom: 5px;
}