@charset "utf-8";

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, address, img, dl, dt, dd, ol, ul, li, form, label, table, caption, tr, th, td, article, aside, figure, figcaption, footer, header, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align:baseline;
	}

article, aside, figcaption, figure,footer, header, nav, section {
 display: block;
	}

ol,ul {
	list-style: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	}

img {
	max-width : 100%;
	}

/*   clearfix  */
.clearfix {
	content:"";
	display: block;
	clear: both;
	}


html {
	font-size:  62.5%;  /* 10px */
}

body {
	width: 100%;
	font-family: sans-serif;
	color: #333;
	font-size: 100%;
	line-height: 1.5;
}

/* -----------------------*/
/* -------- header -------*/
/* -----------------------*/

header {
	background: #eee;
	margin-bottom: 50px;
	}

header h1 {
	width: 100%;
	margin: 0 auto 0;
	padding: 10px 5px;
	text-align: left;
	font-size: 2.1rem;
	box-sizing: border-box;   
	}

/* -----------------------*/
/* -------- main -------- */
/* -----------------------*/

main {
	width: 100%;
	margin: 0 auto;
	font-size: 1.6rem;
    display: block;
	}
#top {
	text-align: center;
	margin-bottom: 50px;
	}	
#top p img {
	width: 90%;
	margin: 0 auto;
	}

/* ---- nav ---- */

nav {
	width: 90%;
	margin: 0 auto 50px;
	border: solid 1px #ccc;
	box-sizing: border-box;
	padding: 10px;
	}

nav p {
	width: 95%;
	margin: 0px auto 10px;
	padding: 5px;
	padding-top: 0;
	text-align : center;
	font-weight: bold;
	border-bottom: dotted 3px #ccc;
	}

nav ul{
	width: 95%;
	margin: 0 auto;
	display: flex;
	flex-flow: column wrap; 　
}

nav li {
	margin-bottom: 10px;
	margin-right: 5px;	
	}



/* ---- section  ---- */

section {
	width: 95%;
	margin: 0 auto;
	}

section h2{
	font-size: 2.1rem;
	font-weight: bold;
	padding: 5px 10px;
	border-bottom: solid 1px #ccc;
	border-left: solid 10px #666;
	margin-bottom: 30px;
	}

section h3{
	font-size: 1.8rem;
	font-weight: bold;
	/*margin-top: 1rem;*/
	}

section h3::before {
	content: "■ ";
	}


/* ---- type  ---- */

section.type03 dl,
section.type02 dl,
section.type01 dl {
	width: 95%;
	margin: 0 auto 50px;
	text-align: left;
    display: block;
  /*
	display: flex;
	flex-flow: column wrap;
  */
	}

section.type01 dd,
section.type02 dd,
section.type03 dd {
  border-bottom: dashed 1px #ccc;
  padding-bottom: 40px;
}

section.type03 dl:last-child dd {
  border-bottom: none;
}

section.type03 dl:last-child {
  border-bottom: solid 1px #aaa;
}

section.type03:nth-of-type(6) dl:last-child {
  border-bottom: dashed 1px #ccc;
}

/* ---- type01  ---- */


section.type01 dt {
	padding-right: 1rem;
	box-sizing: border-box;
    text-align: center;
    }


/* ---- type02  ---- */

section.type02 dt {
    margin-bottom: 1rem;
	text-align: center;
	padding-right: 0;
	box-sizing: border-box;
	}

section.type03 dd p.img,
section.type02 dd p.img {
	text-align: center;
	}

section.type03 dd img,
section.type02 dd img {
	margin-top: 10px;
	}


/* ---- type03  ---- */

section.type03 dt{
	margin-left: 0;
	box-sizing: border-box;
	}

section.type03 h3 {
	margin-top: 0;
	}


/* ---- type05  ---- */

section.type05 {
	margin-bottom: 80px;
	}
section.type05 p {
	margin-left: 2.5rem;
	margin-bottom: 40px;
	}

section.type05 div {
	width: 100%;
	margin: 0 auto 30px; 
}

section.type05 div p {
	margin: 0;
	}

section.type05 table {
	width: 100%;
	}

section.type05 th {
	background: #000;
	color: #fff;
	border: solid 1px #fff;
	padding: 5px;
	box-sizing: border-box;
	}

section.type05 td {
	background: #ccc;
	color: #000;
	border: solid 1px #fff;
	padding: 5px 10px;
	box-sizing: border-box;
	}


/* ---- ol ----- */

ol.no-type01 {
  padding-left: 1rem;
}

ol.no-type01 li span {
  display: inline-block;
  font-size: 1.2rem;
  width: 16px;
  height: 16px;
  text-align: center;
  border-radius: 50%;
  border: solid 1px #333; 
  margin-right: 5px;
}

/* -----------------------*/
/* ------- footer ------- */
/* -----------------------*/

footer {
	background: #eee;
	height: 50px;
	}

/* navlink icon*/

.crunchify-top:hover {
color: #fff !important;
background-color: #333; 
text-decoration: none;
}

.crunchify-top {
display: none;
position: fixed;
bottom: 1rem;
right: 1rem;
width: 5.2rem;
height: 5.2rem;
line-height: 5.0rem;
font-size: 2.8rem;
color: #fff;
background-color: rgba(0,0,0,0.3);
text-decoration: none;
border-radius: 1.2rem; /*3.2rem; */
text-align: center;
cursor: pointer;
}




@media screen and (min-width : 600px){

/* ---- nav ---- */

nav ul{
	width: 95%;
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	}

nav li {
	width: 32%;
	margin-bottom: 10px;
	margin-right: 5px;	
	}
  
section.type01 dl {
    display: flex;
    flex-flow: row wrap;
    border-bottom: dashed 1px #ccc;
  }
  
section.type01 dt {
    flex-basis: 30%;
  }
  
section.type01 dd {
    flex-basis: 70%;
    border-bottom: none;
  }


}

@media screen and (min-width : 768px){

/* -----------------------*/
/* -------- main -------- */
/* -----------------------*/

#top p img {
	width: 80%;
	margin: 0 auto;
	}

/* ---- type01  ---- */

section.type01 dt{
	flex-basis: 15%;
	}

section.type01 dd{
	flex-basis:80%;
	}

section.type02 dl.type01 dt {
	flex-basis: 10%;
	padding-right: 1rem;
	box-sizing: border-box;
	text-align: left;
	}

section.type02 dl.type01 dd {
	flex-basis: 90%;
	}


/* ---- type02  ---- */

section.type02 dt{
	margin-left: 0;
	flex-basis: 45%;
	padding-right: 2rem;
	box-sizing: border-box;
	}

section.type02 dd{
	flex-basis:50%;
    border-bottom: none;
	}
  
  section.type02 dl {
    border-bottom: dashed 1px #ccc;
  }

/* ---- type03  ---- */

section.type03 dl {
	width: 90%;
	margin: 0 auto 40px;
	text-align: left;
	display: flex;
	flex-flow: row nowrap;
    border-bottom: dashed 1px #ccc;
	}

section.type03 dt {
	margin-left: 0;
	flex-basis: 160px;
    text-align: center;
	padding-right: 2rem;
	box-sizing: border-box;
	}

section.type03 dd {
	flex-basis:90%;
    border-bottom: none;
	}


/* ---- type05  ---- */

section.type05 {
	margin-bottom: 80px;
	}

section.type05 div {
	width: 80%;
	margin: 0 auto 30px; 
}


}


@media print, screen and (min-width : 960px){

/* -----------------------*/
/* -------- header -------*/
/* -----------------------*/

header {
	background: #eee;
	margin-bottom: 50px;
	}

header h1 {
	width: 960px;
	margin: 0 auto 0;
	padding: 5px 5px;
	text-align: left;
	font-size: 2.1rem;
	}

/* -----------------------*/
/* -------- main -------- */
/* -----------------------*/

main {
	width: 960px;
	margin: 0 auto;
	font-size: 1.6rem;
	}
#top {
	text-align: center;
	margin-bottom: 50px;
	}	


/* ---- nav ---- */

nav {
	width: 70%;
	margin: 0 auto 50px;
	border: solid 1px #ccc;
	box-sizing: border-box;
	padding: 5px 10px 10px; 
	}

nav p {
	width: 90%;
	margin: 0px auto 10px;
	padding: 5px;
	padding-top: 0;
	text-align : center;
	font-weight: bold;
	border-bottom: dotted 3px #ccc;
	}

nav ul{
	width: 80%;
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	}

nav li {
	width: 33%;
	margin-bottom: 10px;	
	margin-right: 0;
	}



/* ---- section  ---- */

section {
	width: 960px;
	}

section h2{
	font-size: 2.1rem;
	font-weight: bold;
	padding: 5px 10px;
	border-bottom: solid 1px #ccc;
	border-left: solid 10px #666;
	margin-bottom: 30px;
	}


/* ---- type  ---- */

section.type03 dl,
section.type04 dl,
section.type02 dl,
section.type01 dl {
	width: 90%;
	margin: 0 auto 40px;
	text-align: left;
	display: flex;
	flex-flow: row wrap;
	}

section.type03 dl,
section.type01 dl {
	flex-flow: row nowrap;
	}


/* ---- type01  ---- */

section.type01 dt{
	flex-basis: 15%;
	}

section.type01 dd{
	flex-basis:80%;
	}


/* ---- type02  ---- */

section.type04 dt,
section.type02 dt{
	margin-left: 0;
	flex-basis: 45%;
	padding-right: 2rem;
	box-sizing: border-box;
	}


section.type04 dd,
section.type02 dd{
	flex-basis:50%;
	}

/* ---- type03  ---- */

section.type03 dl{
	width: 95%;
	margin: 0 auto 40px;
	text-align: left;
	display: flex;
	flex-flow: row nowrap;
	}



section.type03 dd{
	flex-basis:90%;
	}

}

