/*=========================*/
/*Reset*/
/*=========================*/
html, body, h1, h2, h3, h4, h5, h6,
p, ul, ol, li, dl, dt, dd,
table, th, td, img {
	font-size: 100%;
	line-height: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}

img {
vertical-align: bottom;
border-style: none;
}

p,li {
	text-align: justify;
	text-justify: inter-ideograph;
}

body {
	font-size: 90%;
	font-family: sans-serif;
	color: #444;
	background: url(img/bg_body.png);
}

div#header {
	width: 820px;
	height: 230px;
	margin: 0 auto ;
	background: url(img/cloud.png) no-repeat left bottom;
}

div#header h1 {
	position: relative;
	z-index: 2;
}

div#main {
	width: 760px;
	background-color: #fff;
	margin: -40px auto 20px;
	padding: -50px 0 0 0;
	box-shadow: 0 0 2px #dfd6bd;
	border-radius: 5px;
	position:relative;
	z-index: 1;
}

div#main:before {
	content: url(img/balloon.png);
	padding: 0 0 0 640px;
	position: absolute;
	margin-top: -160px;
}

p,li,th,td,dt,dd {
	line-height: 1.8;
}

h1 {
	text-align: center;
	padding:  50px 0 30px 0;
}

h2 {
	background: url(img/bg_stitle.png) repeat-x left top;
	padding: 35px 0 25px 40px;
	border-top: 7px solid #f15f8f;
	border-radius: 5px 5px 0 0;
	padding: 0 0 0 40px;
	width: 780px;
	height: 115px;
	display: table-cell;
	vertical-align: middle;
}

h2 img {
	position:relative;
	z-index: 3;	
}

h3 {
	color: #fff;
	background: #fc9bbe;
	margin: 50px 40px 30px 40px;
	clear: both;
}

h3 span {
	color: #b31449;
	background: url(img/bg_heading.png) repeat left top;
	padding: 10px 15px;
	margin-right: 10px;
	display: inline-block;
}

h4 {
	color:#da386d;
	margin: 30px 40px 15px 32px;
}

div#main h4 span.box {
	border: 1px solid #da386d;
	padding: 3px 3px 0 3px;
	line-height: 1;
	margin: 0 2px;
}

h5 {
	color: #469bdc;
	margin: 20px 40px 10px 40px;
	clear: left;
}

h5.clear {
	clear: both;
}


h5.sub:before,h6.sub:before {
	content: "○";
}

h6 {
	margin: 20px 40px 10px 40px;
}

h6.sub {
	font-weight: normal;
}

h6 span {
	font-weight: bold;
}

/*Index*/
div#main ul.pagelist {
	padding: 150px 60px 60px 60px;
	margin: 0;
	background: url(img/line.png) repeat-x -5px 100px;
}

div#main ul.pagelist li {
	list-style: none;
	background: url(img/icon.png) no-repeat left 7px;
	padding-left: 20px;
}


div#page p.link {
	text-align: center;
	margin: 0 0 30px 0;
}



div#main ul.textleft li{
	text-align: left;
}


/*Index*/

div#main ul.pagelist li {
	margin-bottom: 1em;
}

div#main p {
	margin: 0px 40px;
	text-indent: 1em;
}
div#main p.noindent {
	text-indent: 0;
}

div#main p.name {
	text-align: right;
	background: url(img/line.png) repeat-x -5px bottom;
	padding: 15px 40px 25px 0;
	margin: 0;
}

div#main p.pdf {
	text-indent: 0;
	margin-top: 2em;
}

div#main p.caution {
	text-indent: -1em;
	margin-top: 2em;
	margin-left: 55px;
}

div#main p.caution:before {
	content: "※";
}

div#main p.note {
	text-align: right;
	margin-top: 0;
}

div#main table + p.note {
	margin-top: -20px;
	position: relative;
	margin-bottom: 20px;
}


div#main p.photo {
	text-align: center;
	margin: 20px 0;
	text-indent: 0;
}



div#main p.photo.right {
	float: right;
	margin: 0 10px 0 20px;
}

div#main p.photo.left {
	float: left;
	margin: 0 20px 0 10px;
}


div#main p.photo img {
	background: url(img/bg_photo.png) repeat left top;
	padding: 10px;
}

div#main p.figure2 img.nobg {
	background: none;
}

div#main p.photo img.bd {
	background: none;
	padding: 10px;
	border: 1px solid #333;
}

div#main p.photo img+img {
	margin: 10px 0 0 10px;
}

div#main p.photo2 img+img {
	margin: 10px 0 0 0;
}

div#main div.photogroup {
	margin: 20px 40px;
	float:left;
	}

div#main div.photogroup2 {
	width: 460px;
	margin: 0 auto;
}

div#main div.photogroup3 {
	margin: 20px 40px;
	display: flex;
	justify-content: center;
}

div#main div.photogroup p {
	margin: 0;
}

div#main div.photogroup p.photo,div#main div.photogroup2 p.photo,div#main div.photogroup3 p.photo {
	float: left;
	margin-right: 10px;
	text-align: center;
}

div#main div.photogroup p.photo:last-child,div#main div.photogroup2 p.photo:last-child,div#main div.photogroup3 p.photo:last-child {
	margin-right: 0;
}

div#main div.photogroup table {
	width: 450px;
	margin: 0;
}

div#main div.photogroup table th {
	width: 150px;
}

div#main div.photogroup table td.blank {
	height: 70px;
}

div#main div.photogroup table + p {
	margin-left: 420px;
}

div#main p.caption {
	text-align: center;
	margin: -15px 0 20px;
	text-indent: 0;
}

div#main p.figure {
	float: right;
	margin: 0 40px 20px 20px;
	text-align: center; 
	text-indent: 0;
}

div#main p.figure2 {
	float: right;
	margin: 0 40px 20px 20px;
	text-align: center;
	text-indent: 0em;
}


div#main p.figure img {
	background: url(img/bg_photo.png) repeat left top;
	padding: 10px;
}

div#main p.figure2 img{
	background: url(img/bg_photo.png) repeat left top;
	padding: 10px;
	margin: 0 0 10px 0;
}

div#main p.figure2 img+img{
	margin: 0 0 10px 10px;
}

div#main p.return {
	text-align: center;
	background: url(img/line.png) repeat-x -5px top;
	padding: 35px 0 25px 0;
	margin: 70px 0 0 0;
}

div#main ul {
	margin: 0 40px 0 80px;
}

div#main ul li {
	list-style: disc;
}

div#main ul.normal li {
	list-style: none;
}

div#main ul.target {
	margin-left: 60px;
}

div#main ul.target li {
	list-style: none;
}

div#main ul.target li:before {
	content:"○ ";
}

div#main ul.target li span {
	text-align: right;
	display: block;
	font-weight: bold;
	margin-bottom: 1em;
}

div#main ol {
	margin: 0 40px 0 80px;
}

div#main ol li {
	list-style: decimal;
}

div#main ol li ul {
	margin: 0 40px 0 20px;
}

div#main ol li ul li {
	list-style: disc;
}


div#main ol li span {
	text-align: right;
	display: block;
	font-weight: bold;
	margin-bottom: 1em;
}

div#main div.point {
	border: 1px solid #ccc;
	width: 660px;
	margin: 0 auto 75px auto;
	padding: 10px;
	border-radius: 5px;
}

div#main div.point2 {
	border: 1px solid #ccc;
	max-width: 660px;
	margin: 15px auto;
	padding: 10px;
	border-radius: 5px;
}

div#main div.point h5 {
	text-align: center;
}

div#main div.point ul {
	margin: 0 20px 0 30px;
}


div#main div.point2 ul {
	margin: 0 20px 0 ;
}

div#main div.point:after {
	content: url(img/arrow01.png);
	position: absolute;
	margin-top: 20px;
	margin-left: 300px;
}

div#main table {
	width: 680px;
	margin: 20px auto;
}

div#main table,th,td {
	border: solid 1px #fc9bbe;
	border-collapse: collapse;
	padding: 5px;
	vertical-align: top;
}

div#main caption {
	text-align: left;
	margin-bottom: 10px;
}

div#main th {
	color: #da386d;
	background: #ffe2eb;
	text-align: center;
	vertical-align: middle;
}

div#main th.time {
	width: 2.5em;
}

div#main th.time2 {
	width: 5em;
}

div#main th.activity {
	width: 240px;
}
div#main th.activity2 {
	width: 180px;
}

div#main td {
	border-top:dotted 1px #fc9bbe;
	border-bottom:dotted 1px #fc9bbe;
}

div#main td.time {
	text-align: center;
}

div#main td.grade {
	text-align: left;
	white-space: nowrap;
}

div#main td.noborder {
	border-bottom:dotted 1px #fff;
}

div#main td span {
	font-weight: bold;
}

div#main td span.bg {
	font-weight: normal;
	background-color: #eee;
	padding: 3px;
}

div#main table li {
	text-align: left;
	text-justify: auto;
}

div#main td ul {
	margin: 0 0 0 20px;
}

div#main td div.lesson {
	border: 1px solid #ccc;
	text-align: center;
	margin: 10px 20px;
	padding: 10px;
}

div#main td div.lesson p {
	text-indent: 0;
}

div#main dl {
	margin: 1em 40px 10px 40px;
}

div#main dt:before {
	content: "○";
}

div#main dt.normal:before {
	content: "";
}

div#main dd {
	margin-left: 1em;
}

div#main dd span {
	border: 1px solid #444;
	padding: 3px;
	margin-right: 10px;
}

div#main span.underline {
	text-decoration: underline;
	font-weight: normal;
}

div#main span.underline2 {
	display: inline;
	text-decoration: underline;
	font-weight: normal;
}

div#main dd span.underline {
	border: none;
	padding: 0;
	margin-right: 0;
}

div#main span.box {
	border: 1px solid #444;
	padding: 3px 3px 0 3px;
	line-height: 1;
}

div#main dd span.box {
	margin-right: 2px;
}

div#main dd ol {
	margin-left: 20px;
}

div#main dl.exsample{
	margin-top: 0;
	margin-left: 50px;
}

div#main li dl.exsample{
	margin-top: 0;
	margin-left: 0;
}

div#main dl.exsample dt:before {
	content: none;
}

div#main dl.exsample dt {
	width: 6em;
	float: left;
}

div#main ol li dl.exsample dt span {
	font-weight: bold;
	text-align: left;
	margin-bottom: 0;
}

div#main dl.exsample dd {
	margin-left: 6em;
	text-indent: -1em;
}

div#main dl.exsample dd:before {
	content: "： ";
}

div#main dl.plan{
	margin-top: 0;
	margin-left: 50px;
}

div#main dl.plan dt {
	width: 5em;
	float: left;
}

div#main dl.plan dt:before {
	content: none;
}

div#main dl.plan dd {
	margin-left: 5em;
}


div#main dl.ingenious {
 	position: relative;
	display: inline-block;
 	margin: 0 0 20px -0px;
	padding: 0px 10px 10px;
	width: 400px;
 	color: #555;
	background: #FFF;
 	border: solid 1px #fc9bbe;
 	box-sizing: border-box;
}

div#main dl.ingenious:before{
	content: "";
	position: absolute;
	top: 30%;
	left: -50px;
 	margin-top: -25px;
	border: 25px solid transparent;
	border-right: 25px solid #FFF;
 	z-index: 2;
}

div#main dl.ingenious:after{
	content: "";
	position: absolute;
	top: 30%;
	left: -52px;
 	margin-top: -26px;
	border: 26px solid transparent;
	border-right: 26px solid #fc9bbe;
 	z-index: 1;
}


div#main dl.ingenious dt:before,
div#main dl.photo dt:before {
	content: "";
}
div#main dl.ingenious dd,
div#main dl.photo dd{
	margin: 0;
}
div#main dl.ingenious ul,
div#main dl.photo ul {
	margin: 0 0 0 1em;
}

div#main dl.photo {
	width: 300px;
	margin: 0 0 20px 40px;
	float: left;
}

div#main dl.photo dt p.photo {
	margin: 0 10px 10px 0;;
}

div#main dl.photo dd {
	width: 270px;
}

div#main div.introduction {
	width: 680px;
	margin: 20px auto;
}

div#main dl.hint dt:before {
	content: "";
}

div#main div.introduction p {
	text-indent: 0;
	margin: 0;
}

div#main div.introduction div.card {
	border: 1px solid #444;
	width: 300px;
	margin-top: 5px;
	padding: 10px;
}

div#main div.introduction div.question {
	float: right;
	width: 320px;
}

div#main div.reference {
	width: 640px;
	margin: 40px auto 0 auto;
	background-color: #dceffd;
	padding: 20px;
}

div#main dl.hint dt {
	color: #4d81db;
	width: 8em;
}
div#main dl.hint,
div#main dl.hint dt,
div#main dl.hint dd {
	display: inline-block;
	margin: 0;
}
div#main td.photo {
	text-align: center;
}
div#main ol.point {
	font-weight: bold;
}
div#main ol.point li {
	margin: 1em 0 0 0;
}
div#main li p {
	font-weight: normal;
	margin: 0;	
}
div#main li ul{
	margin: 0;
	
}
div#main li dl {
	margin: 0;
	}
div#main li dl dt {
	float: left;
}
div#main li dl dt:before {
	content: "";
}

/* page12 */

div#main div.point12 {
	border: solid 1px #ccc;
	margin:  10px 40px ;
	padding: 10px;
}

div#main div.point12 ul {
	margin: 0 0 0 20px;
	
}

div#main div.point12.w400 {
	width: 400px;
}

div#main div.point12.ending {
	border: solid 1px #fc9bbe;
}

/* page13 */
div#reference{
	padding-top:20px;
}

div#main div.point13 li {
  list-style: none;
}

div#main div.point13 {
	border: solid 1px #ccc;
	margin:  10px 40px ;
	padding: 10px 1em 10px 0;
}

div#main div.point13 ul {
	margin: 0 0 0 20px;
}

div#main div.point13.w400 {
	width: 400px;
}

div#main div.point13{
	border: solid 1px #fc9bbe;
}

#table13_01 th{
	width: 33.3%;
}

#table13_02 td {
	text-align:left;
	vertical-align: middle;
}

#table13_02 td:nth-of-type(1) {
	text-align:center;
	vertical-align: middle;
}

#table13_02_02 {
	width: 280px;
}

div#main ol.list13 li {
	text-indent: -1em;
	list-style: none;	
	padding: 0 0 0 1em;
}

div#main ol.list13 li span {
	display: block;
	text-align: right;
	font-weight: normal;
}

div#main ol.list13_01 li {
	text-indent: -1em;
	list-style: none;	
	padding: 0 0 0 1em;
}

div#main ul.last13 li {
	text-indent: -1em;
	padding: 0 0 0 1em;
}

div#main ol.list13_01 {
    margin:0 1em 0 1em;
}

/* page14 */
h5.page14 {
	border: solid 1px #469bdc;
	padding: 3px;
	display: inline-block;

}

div#main ol.list14 li {
	text-indent: -1em;
	list-style: none;	
	padding: 0.3em 0 0 1em;
}

div#main ol.list14 p  {
	display: block;
	font-weight: normal;
	text-indent: -1em;
	padding:0 0 0.3em 0; 
}

div#main div.point14 {
	border: solid 1px #ccc;
	margin:  10px 40px ;
	padding: 10px 1em 10px 0;
	display: inline-block;
	width: 669px;
	}

div#main div.point14 ul {
	 margin: 0 0 0 50px;
	 float: left;
}

div#main div.point14 ul.point14_float {
	 margin: 0 0 0 50px;
	 width: 250px;
	 float: left;
}
div#main div.point14 ul li {
	list-style:none;	
}	
	
div#main div.point14_01 {
	border: solid 1px #ccc;
	margin:10px 40px;
	display: flex;
}	

div#main div.point14_01 ul {
	margin: 1em auto; !important;
 	 
}

div#main div.point14_01 ul li {
	list-style:none;
}

p.point14_b {
	font-weight: bold;
	justify-content: center;
}

.table14 td {
	text-align:left;
	vertical-align: middle;
}

.table14 td:nth-of-type(1) {
	text-align:center;
	vertical-align: middle;
}

.table14 th:nth-of-type(1) {
	width:15px;
}

.table14 td:nth-of-type(1) {
	width:15px;
}

.table14 {
	width: 280px;
}

div#main .table14 p.table14_img {
	text-align: center;
	text-indent:0;
	}

.table14 tr td.bottom{
	vertical-align: bottom; 
}

.table14 tr td.top{
	vertical-align: top; 
}

div#main div.point14_shadow {
	border: solid 1px #fc9bbe;
	margin:  60px 40px ; 
	padding: 10px;
	display: inline-block;
}

div#main div.point14_shadow p {
	text-align: center;
	font-weight: bold;
}

div#main div.point14_shadow li {
	list-style: none;
	text-indent: -1em;
    padding:0.1em;
}

div#main div.point14_shadow li::before {
	content: "○";
}

div#main div.point14_shadow ul.point14_sd {
	    margin: 0 20px 0 20px;
}

p.page14_space {
	padding-bottom: 20px;
}

div#main p.figure span {
	text-align: center;
}

/* page15 */
div#main ul.page15 {
	margin:20px 0 0 60px; 
}


/*====================*/
.clearfix:after{
content:"";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix{
  zoom:1;
}
/*====================*/