h4 {
  padding: .5em .75em;
  background: -webkit-linear-gradient(top, #FF773E, #3498db 100%);
  background: linear-gradient(to bottom, #FF773E, #FF9933 100%);
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
}

h5 {
  position: relative;
  padding: .25em 0 .5em .75em;
  border-left: 6px solid #ccc;
}
h5::before {
  position: absolute;
  left: -6px;
  bottom: 0;
  content: '';
  width: 6px;
  height: 50%;
  background-color: #FF6633;
}
h5::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #ccc;}

h7 {
  padding: .5em .75em;
  background: -webkit-repeating-linear-gradient(45deg, #3498db, #3498db 5px, #69b4e6 5px, #69b4e6 10px);
  background: repeating-linear-gradient(45deg, #3498db, #3498db 5px, #69b4e6 5px, #69b4e6 10px);
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
}


h6 {
  position: relative;
  padding-bottom: .5em;
}
h6::before,
h6::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  height: 5px;
}
h6::before {
  z-index: 2;
  width: 20%;
  background-color: #5D99FF;
}
h6::after {
  width: 100%;
  background: -webkit-repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
  background: repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
}



h10 {
  position: relative;
  padding: 0 .5em .5em 2em;
  border-bottom: 1px solid #ccc;
}
h10::before,
h10::after {
  position: absolute;
  content: '';
  border-radius: 100%
}
h10::before {
  top: .2em;

	
	left: .2em;
  z-index: 2;
  width: 18px;
  height: 18px;
  background: rgba(150, 150, 150, .5);
}
h10::after {
  top: .7em;
  left: .7em;
 
	width: 13px;
  height: 13px;
  background: #BAD3FF;
}


h11 {
  position: relative;
  text-align: center;
}
h11 span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 4em;
  padding: 0 1em;
  background-color: #fff;
  text-align: left;
}
h11::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  background: -webkit-linear-gradient(-45deg, transparent, #ccc 10%, #ccc 90%, transparent);
  background: linear-gradient(-45deg, transparent, #ccc 10%, #ccc 90%, transparent);
}


h12 {
  padding: .25em 0 .25em .75em;
  border-left: 6px solid #ccc;
}

h13 {
  padding: .5em .75em;
  background: -webkit-linear-gradient(top, #69b4e6, #3498db 100%);
  background: linear-gradient(to bottom, #69b4e6, #3498db 100%);
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
}

h14 {
  padding: .75em 1em;
  border: 1px solid #ccc;
  border-top: 3px solid #3498db;
  background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
  background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
}

h15 {
  padding-bottom: .5em;
  border-bottom: 3px double #FF6633;
}

.box5 {
    position: relative;
    margin: 2em 0 2em 40px;
    padding: 8px 15px;
    background: #fff0c6;
    border-radius: 30px;
}
.box5:before{font-family: FontAwesome;
    content: "\f111";
    position: absolute;
    font-size: 15px;
    left: -40px;
    bottom: 0;
    color: #fff0c6;
}
.box5:after{
    font-family: FontAwesome;
    content: "\f111";
    position: absolute;
    font-size: 23px;
    left: -23px;
    bottom: 0;
    color: #fff0c6;
}
.box5 p {
    margin: 0; 
    padding: 0;
}



.box6{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.box6:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    border-radius: 50%;
}
.box6:after {
    top:-12px;
    left:-12px;
}
.box6:before {
    bottom:-12px;
    right:-12px;
}
.box6 p {
    margin: 0; 
    padding: 0;
}

.box7 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #FFC107;
}
.box7 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}
.box7 p {
    margin: 0; 
    padding: 0;
}

.square_btn1{
    display: inline-block;
    padding: 7px 20px;
	border-radius: 25px;
    text-decoration: none;
    color: #FFF;
    background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
    background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
    transition: .4s;
}

.square_btn1:hover {
    background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #f76a35 100%);
    background-image: linear-gradient(45deg, #FFC107 0%, #f76a35 100%);
}

.box18{
    margin:2em 0;
    position: relative;
    padding: 0.25em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.box18:before,.box18:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    border-radius: 50%;
}
.box18:after {
    top:-12px;
    left:-12px;
}
.box18:before {
    bottom:-12px;
    right:-12px;
}
.box18 p {
    margin: 0; 
    padding: 0;
}

.square_btn4 {
    display: inline-block;
    padding: 0.3em 1em;
    text-decoration: none;
    color: #67c5ff;
    border: solid 2px #67c5ff;
    border-radius: 3px;
    transition: .4s;
}

.square_btn4:hover {
    background: #67c5ff;
    color: white;
}


h20 {
  position: relative;
  padding: 0 .4em .1em;
}
h20::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 100%;
  height: 10px;
  background-color: #33CC33;
}


.box19 {
    position: relative;
    padding:0.25em 1em;
}
.box19:before,.box19:after{ 
    content:'';
    width: 20px;
    height: 30px;
    position: absolute;
    display: inline-block;
}
.box19:before{
    border-left: solid 1px #5767bf;
    border-top: solid 1px #5767bf;
    top:0;
    left: 0;
}
.box19:after{
    border-right: solid 1px #5767bf;
    border-bottom: solid 1px #5767bf;
    bottom:0;
    right: 0;
}
.box19 p {
    margin: 0; 
    padding: 0;
}


.box20 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #62c1ce;
}
.box20 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box20 p {
    margin: 0; 
    padding: 0;
}

.box28 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #FFC107;
}
.box28 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    vertical-align: middle;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}
.box28 p {
    margin: 0; 
    padding: 0;
}


#toc_container p.toc_title+ul.toc_list>li {
 margin-bottom: 0.1em;
 padding-bottom: 0.4em;
}

#toc_container p.toc_title+ul.toc_list {
    margin-top: 1em;
    margin-right: 0.4em;
}

#toc_container {
 border: none !important;
 border-radius: 9px;
 margin-top: 30px;
}

#toc_container li {
 padding-left: 1em !important;
 line-height: 1.8em;
}

#toc_container ul ul {
 margin-bottom: 10px;
}
#toc_container ul>li>ul>li {
    font-size: 94% !important;
}
.toc_number {
 margin-left: -0.5em;
 margin-right: 0.5em;
 font-family: 'Dynalight', cursive;
}
#toc_container p.toc_title {
    text-align: center;
    font-weight: 700;
    margin: 0;
    padding: 0;
    letter-spacing: 0.05em;
}

/*リンクの色など*/
#toc_container a { 
    text-decoration: none;
    text-shadow: none; 
    color: #ff8c00 !important;
}

h8 {
  /*線の種類（二重線）太さ 色*/
  border-bottom: double 5px #FFC778;
}

.box_20 {
	border: 1px solid #27acd9;
	background: #eaf5f9;
	padding: 1.5em;
	}
.box_20_ttl {
	border-left: solid 4px #27acd9;
	padding-left: 10px;
	color: 27acd9;
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 15px;
	}
.box_20_txt {
	background: #fff;
	border-radius: 10px;
	padding: 1em;
	margin-top: 10px;
	box-shadow: 0 2px 3px #ccc;
	}