/*! BASESTYLE CSS */


body {
	margin: 0;
	padding: 0;
	font-family: -apple-system, 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	line-height: 1.6;
	font-size: 16px;
	color: #333;
	overflow-x: hidden;
	letter-spacing: 1px;
	text-align: left;
	background: #FFFFFF;


	*font-size: small;
	*font: x-small;
}


a:link {
	text-decoration: none;
	color: #333;
}

a:visited {
	text-decoration: none;
	color: #333;
}

a:active {
	text-decoration: none;
	color: #333;
}

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


h1 {
	font-size: 30px;
	text-align: center;
	margin: 50px;
	/*	line-height: 2.5;*/
	color: #666;
}



/*!------- ロゴ＋メニュー --------- */

#menu {
	background: #FFFFFF;
}

#menu nav {
	text-align: left;
	margin-bottom: 0;
}

#menu nav ul {
	display: -webkit-box;
	/* old Android */
	display: -webkit-flex;
	/* Safari etc. */
	display: -ms-flexbox;
	/* IE10        */
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;

	margin: 5px;
	padding: 0px 10px 0px 20px;
	list-style-type: none;
}

#menu nav li {
	margin-right: 20px;
}



@media (min-width: 550px) {
	#menu nav li:first-child {
		margin-right: auto;
		/*! ロゴの左寄せ */
	}
}

@media (max-width: 550px) {

	#menu nav ul {
		flex-direction: column;
		align-items: center;
		justify-content: center;

	}
}

/*!------- NAVI BAR --------- */


#navibar {
	background: #009;
}

#navibar .nb_text {
	font-size: 14px;
	text-align: left;
	padding-left: 30px;
	color: #FFFFFF;
}

#navibar .nb_text a {
	color: #FFFFFF;
}

/*!------- コンテンツタイトル --------- */
#titlebox {
	background-color: #99CCFF;
}

#contentstitle {
	background-color: #99CCFF;
	color: #fff;
	overflow: hidden;
	padding: 10px;
	position: relative;
	width: 90%;
	margin: 0 auto;
}

#contentstitle:before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0px;
	display: block;
	width: 180px;
	height: 100px;
	background-color: #fff;
	border-radius: 100px 100px 0 0;
	opacity: 0.6;
}

#contentstitle .tit_text {
	padding-left: 80px;
	font-size: 30px;
}

@media (max-width: 800px) {
	#contentstitle {
		text-align: center;
	}

	#contentstitle .tit_text {
		padding: 0;
	}
}

/*!------- TOP イメージ --------- */

#top_img {
	background-image: url("/cocreator/img/headerimg.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 14em 0;
	width: 100%;
}



#top_img .tp_text1 {
	text-align: center;
	font-weight: 500;
	font-size: 34px;
	margin: 20px 0:
}

@media (max-width: 800px) {
	#top_img {
		padding: 5em 0;
	}

	#top_img .tp_text1 {
		font-size: 28px;
		text-shadow:
			1px 0 0 white,
			0 1px 0 white,
			0 -1px 0 white,
			-1px 0 0 white;
	}

}

/*!------- COCREATOR --------- */


#cocreator {
	background: #ffffff;
	width: 100%;
}

#cocreator .co_box {
	display: block;
	text-align: left;
	width: 75%;
	margin: 50px auto;
}

#cocreator .co_text1 {
	text-align: center;
	font-weight: 500;
	font-size: 23px;
	margin: 50px auto;
}

@media (max-width: 800px) {
	#cocreator .co_text1 {
		font-size: 18px
	}

}

/*!------- SERVICE --------- */


#service {
	background: #191970;
	color: #FFFFFF;
}

#service .ser_box {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: top;
	/* 上下揃え */
	/*	padding: 50px 100px;*/
}

#service .ser_minibox {
	-webkit-flex: 1;
	flex-grow: 1;
	margin: 5px;
	padding: 0 10px;
	align-items: top;
	height: 100%;
	text-align: center;

}

#service .ser_title {
	font-size: 22px;
	margin: 10px;
}

#service .icon {
	margin: 10px;
}

#service .ser_text {
	text-align: center;
	margin: 10px;
}

#service .bt {
	margin: 20px;
}


@media screen and (max-width: 1000px) {

	#service .ser_box {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		/* 左右中央揃え */
		align-items: center;
		/* 上下中央揃え */
		flex-direction: column;
		margin: 0 10% 3% 10%;
	}

	#service .ser_minibox {
		display: block;
		padding: 10px 20px 10px 20px;
	}

}

@media (max-width: 600px) {
	#service .col {
		margin: 0 10px 20px 10px;
	}

	#service .ser_box {
		display: block;
		/*		width: calc(60%);*/
		height: 100%;
		padding: auto;
		padding: auto;
	}
}

/*!------- CHARACTERSITIC --------- */

#character {
	background: #ffffff;
	display: block;
	width: 100%;
	height: auto;
	text-align: left;
}

#character .cha_box {
	display: block;
	width: 61%;
	margin: 50px auto 50px auto;
}

#character .cha_text {
	text-align: left;
}

#character .cha_img {
	margin: 20px 15px 20px 15px;
	text-align: center;
	max-width: 100%;
	width: auto;
}

#character .cha_img img {
	width: 100%;
	max-width: 625px;
}

#character .cha_colbox {
	display: block;
	margin: 10px;
	text-align: left;
	padding: 10px 40px;
}

#character .list li {
	list-style-type: none !important;
	list-style-image: none !important;
	margin: 5px !important;
	font-size: 18px;
}

#character .check li {
	position: relative;
	padding-left: 40px;
}


#character .check li:after,
.check li:before {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 9px;
	height: 11px;
	width: 3px;
	background: #aaa;
	border-radius: 10px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}

#character .check li:before {
	top: 10px;
	left: 3px;
	height: 8px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
}

@media (max-width: 1000px) {
	#character .cha_box {
		width: 80%;
	}

}

@media (max-width: 800px) {
	#character .cha_colbox {
		margin: 0px;
		padding: 10px 5px;
	}

	#character .cha_img img {
		width: 100%;
	}

	#character ul {
		padding-left: 0;
	}

	#character .check li {
		padding-left: 25px;
	}

}


/*!------- VOICE --------- */

#voice {
	background: #EFEFEF;
}

#voice .vo_box {
	width: 70%;
	margin: 0 auto;
	padding-top: 30px;
	padding-bottom: 70px;
	text-align: center;
}

#voice .vo_col {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#voice .vo_minibox {
	-webkit-flex-grow: 0;
	flex-grow: 0;
	margin: 0 auto;
}

#voice .vo_img {
	width: 100%;
	max-width: 625px;
	text-align: center;
	margin: 0 auto;
	background-color: white;
}

#voice .vo_text {
	text-align: left;
	padding-left: 10px;
}

#voice ul {}

#voice li {}


@media (max-width: 1000px) {
	#voice .vo_col {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	#voice .vo_box {
		width: 90%;
	}

}

@media (max-width: 800px) {
	#voice .vo_img {
		width: 80%;
	}
}

/*!------- Flowchart --------- */

#chart {
	background: #ffffff;
}

#chart .cha_box {
	width: 80%;
	margin: 0 auto;
	padding-top: 30px;
	padding-bottom: 70px;
	text-align: center;
}

#chart .cha_box table {
	width: 80%;
}

#chart h1 {
	font-size: 30px;
	text-align: center;
	margin: 30px;
	line-height: 2.5;
}

#chart .cha_imgbox {
	text-align: center;
	background: none;
	padding-bottom: 50px;
}

#chart .cha_img {
	text-align: center;
	max-width: 100%;

}

#chart .bt {
	padding: 60px 0;
}


#chart .button {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;

	align-items: center;
	margin: 0 auto;
	padding: 0.3em 1em;
	background: #999;

	width: 70%;
	height: 50px;

	border: solid 0px;
	border-radius: 50px;
	/* CSS3草案 */
	-webkit-border-radius: 50px;
	/* Safari,Google Chrome用 */
	-moz-border-radius: 50px;
	/* Firefox用 */
	transition: .4s;
}

#chart .bt_text {
	font-size: 24px;
	text-decoration: none;
	color: white;
}


#chart .button:hover {
	background: #CCC;
	color: #666;
}

#chart .button a {
	text-decoration: none;
	color: #FFFFFF;
}

#chart .button a:visited {
	/* text-decoration:none; */
	color: #FFFFFF;
}

#chart .button a:active {
	text-decoration: none;
	color: #FFFFFF;
}

#chart .button a:hover {
	text-decoration: underline;
	color: #666;
}

#chart table {
	border-collapse: collapse;
	border: solid 1px # 999;
	/*表全体を線で囲う*/
	width: 57%;
	margin: 30px auto;
	color: #333;
}

#chart table th {
	border: solid 1px #999;
	/*破線 1px */
	text-align: center;
	background: #9CF;
	height: 35px;
}

#chart table td {
	border: solid 1px #999;
	/*破線 1px */
	padding: 5px 10px 5px 20px;
	height: 35px;
	text-align: left;
}



@media (max-width: 1000px) {
	#chart .cha_imgbox {
		background: url(/cocreator/css/img/process_s.png) top center no-repeat;

	}

}

@media (max-width: 800px) {
	#chart .cha_imgbox {
		padding-bottom: 10px;
	}

	#chart .cha_box {
		width: 90%;
		padding-bottom: 0;
	}

	#chart .cha_box table {
		width: 100%;
		font-size: 13px;
	}

	#chart table {
		margin: 0;
	}

	#chart table td {
		padding: 0.5em;
	}
}


/*!------- Footer --------- */
#footer {
	background: #9dafe0;
	color: #000000;
}

#footer .ft_box {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	margin-top: 20px;
}


#footer .ft_minibox {
	-webkit-flex-grow: 0;
	flex-grow: 0;
	margin: 20px 20px 10px 20px;
}


#footer ul {
	list-style-type: none;
}

#footer li {
	margin-top: 5px;
	margin-left: 15px;
	line-height: 1;
}


#footer .ft_cr {
	text-align: center;
	margin: 0 auto;
	padding: 50px;
}

@media (max-width: 800px) {
	#footer .ft_cr {
		padding: 20px;
	}
}

/*----------------------------------------------------
.btn
----------------------------------------------------*/
.btn {
	display: inline-flex;
	line-height: 50px;
	width: 100%;
}

.btn01 {
	width: 200px;
	height: 50px;
	background-color: #dcdcdc;
	border: none;
	font-size: 1.2em;
	text-decoration: none;
	text-align: center;
	display: block;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}

.btn01:hover {
	background-color: #c0c0c0;
	text-decoration: none;
}

.conf_btn {
	margin: 0 auto;
}

.top_btn {
	margin: 0 20px 0 auto;
}

.add_btn {
	margin: 0 auto 0 20px;
}

@media screen and (max-width: 768px) {
	.btn01 {
		font-size: 0.7em;
	}

	.top_btn {
		margin: 0 4px 0 auto;
	}

	.add_btn {
		margin: 0 auto 0 4px;
	}
}

#student1 a {
	text-decoration: underline;
	color: #0000ff;
}

.link {
	width: 55%;
	margin: 5px auto;
}

span {
	/*画面幅が狭まった時
		<span>の位置で改行する	*/
	display: inline-block;
}
