@charset "utf-8";

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

/* reset */
#contents div,#contents dl,#contents dt,#contents dd,#contents ul,#contents ol,#contents li,#contents h1,#contents h2,#contents h3,#contents h4,#contents h5,#contents h6,#contents pre,#contents code,#contents form,#contents fieldset,#contents legend,#contents input,#contents textarea,#contents p,#contents blockquote,#contents th,#contents td {
	margin: 0;
	padding:0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html,body {
	margin: 0;
	padding: 0;
	font-size: 62.5%; /* 10px */
}
body {
	background: #fff;
	width: 100%;
  color: #333;
	font-size: 1.6rem; /* 16px */
	font-family:  "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  line-height: 1.4;
}

img {
   vertical-align: bottom;
}

.flL { float: left; }
.flR { float: right; }
.taR { text-align:right; }

.fw-n { font-weight:normal !important; }

.mt25 { margin-top: 25px !important; }
.ml30 { margin-left: 30px !important; }

@media print, screen and (min-width: 640px){
	.pc { display: block !important; }
	.phone { display: none !important; }
	.sp { display: none !important; }
}
@media screen and (max-width: 639px){
	.phone { display: block !important; }
	.sp { display: block !important; }
	.pc { display: none !important; }
}

/* tagline */
#tagline { min-width: 980px; }

/************* スマホ右サイドメニュー調整 *************/
#slidemenu_list h3#profilebox { height: auto !important; }

/************* pankuzu *************/
.pankuzu {}
.pankuzu ol {
	list-style: none;
	width: 980px;
	margin: 20px auto 0;
	padding: 0;
}
.pankuzu ol li {
	display: inline-block;
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
}
.pankuzu ol li:before {
	display: inline-block;
	content: ">";
	padding: 0 4px;
}
.pankuzu ol li:first-child:before {
	content: "";
	padding: 0;
}
.pankuzu ol li a {
	color: #0087e6;
	text-decoration: none;
}

/* 日本語ページ　⇔　英語ページ */
.lang {
	width: 980px;
	margin: 20px auto 0;
	padding: 0;
}
	.lang_to-en {
		margin: -30px auto 0;
	}
.lang p {
	font-size: 1.2rem;
	text-align: right;
}
.lang p a {
	border-radius: 50px;
	background-color: #d2ecfc;
	padding: 4px 4px 4px 10px;
	text-decoration: none;
}
.lang p a:after {
	display: inline-block;
	content: "\f054";
  font-family: "fontAwesome";
	border-radius: 50px;
  background: #09f;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  color: #fff;
	font-size: 1.0rem;
  font-weight: normal;
  line-height: 16px;
  text-align: center;
  vertical-align: middle;
}

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

	.lang {
		width: 100%;
		margin: 20px auto 0;
	}
	.lang p {
		padding-right: 10px;
	}

}

/************* footer *************/
footer {
	background: #0099ff;
	width: 100%;
	color: #fff;
}
footer p {
	margin: 0;
	font-size: 1.2rem;
}
@media screen and (min-width: 640px){
	footer {
		min-width: 980px;
	}
	footer .inner {
		width: 980px;
		margin: 0 auto;
	}
	footer p {
		padding: 18px 0;
	}
}
@media screen and (max-width: 639px){
	footer p {
		text-align: center;
	}
}

/************* ft_link *************/
.ft_link {
	margin-top: 60px !important;
	margin-bottom: 60px !important;
}
	.lower .ft_link {
		background: #fff;
		border-radius: 0 0 10px 10px;
		margin-top: 0px !important;
		margin-bottom: 0px !important;
		padding: 60px 20px !important;
	}
.ft_link h2 {
	border-bottom: 1px dashed #0099ff;
	font-size: 3.0rem;
	font-weight: normal;
}
.ft_link dl {}
.ft_link dl dt {
	margin-top: 30px !important;
}
.ft_link dl dd {
	margin-top: 10px !important;
}
.ft_link dl dd + dd {
	margin-top: 30px !important;
}
.ft_link dl dd ul li {
	list-style: none;
	padding-bottom: 4px !important;
}
.ft_link dl dd ul li a:before {
	display: inline-block;
	content: ">";
	padding-right: 4px;
}
.ft_link dl dd > ul {
	margin-left: 1em !important;
}
.ft_link dl dd > ul > li {
}
.ft_link dl dd ul li ul {
	margin-left: 1em !important;
}
.ft_link dl dd ul li ul li {
}
.ft_link > ul {
	margin-top: 30px !important;
	text-align: right;
}
.ft_link > ul li {
	list-style: none;
}
.ft_link > ul li a:after {
	display: inline-block;
	content: ">";
	padding-left: 4px;
}
@media screen and (max-width: 639px){
	.ft_link {
		margin-bottom: 30px !important;
	}
	.ft_link h2 {
		font-size: 2.2rem;
	}
	.ft_link dl,
	.ft_link > ul {
		font-size: 1.4rem;
	}
}

/************* contents *************/
#contents {
	background: #fff;
	width: 100%;
	min-width: 980px;
}
#contents a {
	text-decoration: none;
}
#contents a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 640px){
	#contents {
		min-width: auto;
	}
}
@media print {
	#tagline {
    max-width: 1000px;
}
	#contents {
		max-width: 1000px;
	}
	footer {
  	max-width: 1000px;
}
}

/* pagetop */
.pagetop {
  display: none;
  position: fixed;
  bottom: 100px;
  left: 50%;
	transform: translateX(436px);
	background: none;
}
.pagetop a {
  display: table-cell;
  border-radius: 50%;
  border: 1px solid #0099ff;
  width: 32px;
  height: 32px;
	color: #0099FF !important;
  font-size: 30px !important;
  text-align: center;
  vertical-align: middle;
  line-height: 1;
}
@media screen and (max-width: 639px){
	.pagetop {
	  bottom: 80px;
	  left: 80vw;
		transform: translateX(0);
	}
}

/* section */
#contents section {
	width: 980px;
	margin: 0 auto;
}
@media screen and (max-width: 639px){
	#contents section {
		width: auto;
		margin: 0 10px;
	}
}

/************************************
              index
************************************/
#index #contents h1 {
	padding: 50px 0 0 0;
	font-size: 2.8rem;
	font-weight: normal;
	text-align: center;
	line-height: 1.4;
}
	#index #contents h1 span {
		display: block;
		font-size: 2.0rem;
	}
@media screen and (max-width: 639px){
	#index #contents h1 {
		margin: 0 0 30px;
		padding: 30px 0;
	}
	#index #contents h1 span {
		font-size: 1.6rem;
	}
}

/* main_block */
.main_block {
}
.main_block .main_img {
	display: table-cell;
	width: 400px;
	vertical-align: top;
}
	.main_block .main_img img {
		width: 100%;
	}
.main_block > div {
	display: table-cell;
	width: 540px;
	padding-left: 40px !important;
	vertical-align: bottom;
}
.main_block div .balloon {
	position: relative;
	border-radius: 10px;
	background-color: #dbeef4;
	padding: 20px !important;
}
.main_block div .balloon:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 40%;
	margin-top: -30px;
 	margin-left: -30px;
	border: 20px solid transparent;
	border-top: 100px solid #dbeef4;
	-ms-transform: rotate(35deg);
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}
.main_block div .balloon p {
	line-height: 1.8;
}
.main_block > div img {
	margin-top: 60px;
}
.main_block .note {
	margin-top: 20px !important;
	margin-left: 1.5em !important;
	font-size: 1.4rem;
}
.main_block .note .nolink {
	margin-top: 6px !important;
	opacity:0.7;
}

@media screen and (max-width: 639px){
	.main_block .main_img, .main_block > div {
		display: block;
		width: auto;
	}
	.main_block > div {
		padding-top: 20px !important;
		padding-left: 0px !important;
	}
	.main_block div .balloon:before {
		left: 55%;
		margin-top: -22px;
		-ms-transform: rotate(325deg);
	  -webkit-transform: rotate(325deg);
	  transform: rotate(325deg);
	}
	.main_block > div img {
		margin-top: 20px;
		margin-left: 50%;
	}
}

/* article内　共通 */
#index #contents article {
	margin: 60px 0;
}
#index #contents article h2 {
	border-bottom: 1px dashed #0099ff;
	font-size: 3.0rem;
	font-weight: normal;
}
@media screen and (max-width: 639px){
	#index #contents article h2 {
		font-size: 2.2rem;
	}
}

/* sec01 / sec02 / teacher.html sec02 */
#index #contents .sec01 {}
#index #contents .sec02 {}
#teacher #contents .sec02 {}
#index #contents .sec01 ol,
#teacher #contents .sec02 ol {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	justify-content: center;
	margin: 50px 50px 0;
}
#index #contents .sec01 ul, 
#index #contents .sec02 ul, 
#teacher #contents .sec02 ul {
	margin: 50px 50px 0;
}
#index #contents .sec01 ol li,
#index #contents .sec01 ul li, 
#index #contents .sec02 ul li,
#teacher #contents .sec02 ol li,
#teacher #contents .sec02 ul li {
	list-style: none;
	width : 30% ; /* IE8以下とAndroid4.3以下用フォールバック */
  width : -webkit-calc( (100% - 40px) / 3 );
	width: calc( (100% - 40px) / 3);
}
#index #contents .sec01 ol li + li,
#teacher #contents .sec02 ol li + li {
	margin-left: 20px;
}
#index #contents .sec01 ol li dl {
}
#index #contents .sec01 ol li dl dt,
#index #contents .sec01 ul li p,
#index #contents .sec02 ul li p,
#teacher #contents .sec02 ul li p,
#teacher #contents .sec02 ol li dl dt {
	font-size: 1.6rem;
}
	#index #contents .sec01 ol li dl dt span,
	#teacher #contents .sec02 ol li dl dt span {
		padding-right: 8px;
		font-size: 3.0rem;
		vertical-align: middle;
	}
#index #contents .sec01 ol li dl dt a,
#index #contents .sec01 ul li p a,
#index #contents .sec02 ul li p a,
#teacher #contents .sec02 ul li p a,
#teacher #contents .sec02 ol li dl dt a {
	display: inline-block;
	position: relative;
	border-radius: 6px;
	width: 100%;
	padding: 12px 10px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1;
}
#index #contents .sec01 ul li p a, 
#index #contents .sec02 ul li p a,
#teacher #contents .sec02 ul li p a {
	padding: 21px 10px;
	text-align: center;
}
	#index #contents .sec01 ol li:nth-child(1) dl dt a,
	#teacher #contents .sec02 ol li:nth-child(1) dl dt a {
		border: 1px solid #3d85c6;
		color: #3d85c6;
	}
	#index #contents .sec01 ol li:nth-child(2) dl dt a,
	#teacher #contents .sec02 ol li:nth-child(2) dl dt a {
		border: 1px solid #da462c;
		color: #da462c;
	}
	#index #contents .sec01 ol li:nth-child(3) dl dt a,
	#teacher #contents .sec02 ol li:nth-child(3) dl dt a {
		border: 1px solid #28a838;
		color: #28a838;
	}
	#index #contents .sec01 ul li p a, 
	#index #contents .sec02 ul li p a, 
	#teacher #contents .sec02 ul li p a {
		border: 1px solid #003067;
		color: #003067;
	}
	#index #contents .sec02 ul li p.comingsoon a {
		border: 1px solid #ccc;
		color: #ccc;
	}
#index #contents .sec01 ol li dl dt a:hover,
#index #contents .sec01 ul li p a:hover,
#index #contents .sec02 ul li p a:hover,
#teacher #contents .sec02 ul li p a:hover,
#teacher #contents .sec02 ol li dl dt a:hover {
	color: #fff;
}
	#index #contents .sec01 ol li:nth-child(1) dl dt a:hover,
	#teacher #contents .sec02 ol li:nth-child(1) dl dt a:hover {
		background-color: #3d85c6;
	}
	#index #contents .sec01 ol li:nth-child(2) dl dt a:hover,
	#teacher #contents .sec02 ol li:nth-child(2) dl dt a:hover {
		background-color: #da462c;
	}
	#index #contents .sec01 ol li:nth-child(3) dl dt a:hover,
	#teacher #contents .sec02 ol li:nth-child(3) dl dt a:hover {
		background-color: #28a838;
	}
	#index #contents .sec01 ul li p a:hover, 
	#index #contents .sec02 ul li p a:hover, 
	#teacher #contents .sec02 ul li p a:hover {
		background-color: #003067;
	}
	#index #contents .sec02 ul li p.comingsoon a:hover {
		border: 1px solid #ccc;
		background: #fff;
		color: #ccc;
	}
#index #contents .sec01 ol li dl dt a:after,
#index #contents .sec01 ul li p a:after,
#index #contents .sec02 ul li p a:after,
#teacher #contents .sec02 ul li p a:after,
#teacher #contents .sec02 ol li dl dt a:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	content: "\f054";
	font-family: "fontAwesome";
	font-weight: normal;
}
#index #contents .sec01 ol li dl dd,
#teacher #contents .sec02 ol li dl dd {
	margin-top: 20px;
}
	#index #contents .sec01 ol li dl dd img,
	#teacher #contents .sec02 ol li dl dd img {
		width: 100%;
	}
@media screen and (max-width: 640px){
	#index #contents .sec01 ol,
	#teacher #contents .sec02 ol {
		-webkit-flex-wrap:wrap;
	  -moz-flex-wrap:wrap;
	  -ms-flex-wrap:wrap;
	  flex-wrap:wrap;
		margin: 30px 0 0;
	}
	#index #contents .sec01 ul,
	#index #contents .sec02 ul,
	#teacher #contents .sec02 ul {
		margin: 30px 0 0;
	}
	#index #contents .sec01 ol li,
	#index #contents .sec01 ul li,
	#index #contents .sec02 ul li,
	#teacher #contents .sec02 ul li, 
	#teacher #contents .sec02 ol li {
		width : 100% ; /* IE8以下とAndroid4.3以下用フォールバック */
	  width : -webkit-calc( 100% / 1 );
		width: calc( 100% / 1 );
	}
	#index #contents .sec01 ol li + li,
	#teacher #contents .sec02 ol li + li {
		margin-top: 20px;
		margin-left: 0px;
	}
}
/* sec03 */
#index #contents .sec03 {}
#index #contents .sec03 > p {
	margin: 50px 50px 0;
}
#index #contents .sec03 ul {
	margin: 0 50px;
}
#index #contents .sec03 ul li {
	list-style: none;
	margin-top: 20px;
}
#index #contents .sec03 ul li > p {
	display: table-cell;
	vertical-align: top;
}
#index #contents .sec03 ul li > dl {
	display: table-cell;
	padding-left: 30px;
	vertical-align: top;
}
#index #contents .sec03 ul li > dl dt {
	margin-bottom: 10px;
}
#index #contents .sec03 ul li > dl dd.btn {
	margin-top: 20px;
	text-align: right;
}
#index #contents .sec03 ul li > dl dd.btn a {
	display: inline-block;
	border-radius: 40px;
	background-color: #d2ecfc;
	padding: 5px 5px 5px 20px;
	color: #333;
	font-size: 1.4rem;
}
#index #contents .sec03 ul li > dl dd.btn a:hover {
	color: #333;
	text-decoration: none;
}
#index #contents .sec03 ul li > dl dd.btn a span {
	display: table-cell;
	vertical-align: middle;
}
#index #contents .sec03 ul li > dl dd.btn a span:nth-child(1) {
	width: calc( 100% - 43px);
}
#index #contents .sec03 ul li > dl dd.btn a span:nth-child(2) {
	width: 43px;
	padding-left: 15px;
}
#index #contents .sec03 ul li > dl dd.btn a span i {
	border-radius: 50%;
	background-color: #0099ff;
	width: 28px;
	height: 28px;
	color: #fff;
  font-size: 2.6rem;
  font-weight: bold;
	text-align:center;
	vertical-align: middle;
}
@media screen and (max-width: 640px){
	#index #contents .sec03 > p {
		margin: 30px 0 0;
	}
	#index #contents .sec03 ul {
		margin: 0;
	}
	#index #contents .sec03 ul li > p {
		display: block;
		margin-bottom: 10px;
	}
	#index #contents .sec03 ul li > p iframe {
		width: 100%;
	}
	#index #contents .sec03 ul li > dl {
		display: block;
		padding-left: 0;
	}
}

/************************************
              先生方へ
************************************/
#teacher #contents h1 {
	border-bottom: 1px solid #0099ff;
	margin: 0 0 50px;
	padding: 50px 0;
	font-size: 2.8rem;
	font-weight: normal;
	text-align: center;
	line-height: 1.4;
}
@media screen and (max-width: 639px){
	#index #contents h1 {
		margin: 0 0 0;
		padding: 30px 0 0;
	}
}
/* lead */
#teacher #contents .lead h2 {
	margin-bottom: 30px !important;
}
#teacher #contents .lead p {
	margin-bottom: 30px !important;
}
#teacher #contents .lead .note {
	color: #000000;
	font-size: 1.4rem;
}
/* article内　共通 */
#teacher #contents article {
	margin: 60px 0;
}
#teacher #contents article h2 {
	border-bottom: 1px dashed #0099ff;
	font-size: 3.0rem;
	font-weight: normal;
}
@media screen and (max-width: 639px){
	#teacher #contents article h2 {
		font-size: 2.2rem;
	}
}
/* sec01 */
#teacher #contents .sec01 {
	font-size: 0;
}
#teacher #contents .sec01 > p {
	display: inline-block;
	width: 220px;
	margin-top: 50px;
	margin-left: 50px;
	vertical-align: middle;
}
	#teacher #contents .sec01 > p img {
		width: 100%;
	}
#teacher #contents .sec01 > div {
	display: inline-block;
	border-radius: 10px;
	background-color: #eaf6fd;
	width: 630px;
	margin-top: 50px;
	margin-right: 50px;
	margin-left: 30px;
	padding: 18px 20px;
	vertical-align: middle;
}
#teacher #contents .sec01 > div p {
	font-size: 1.6rem;
	line-height: 1.65;
}
@media screen and (max-width: 639px){
	#teacher #contents .sec01 > p {
		display: block;
		width: auto;
		max-width: 220px;
		margin: 30px auto 0;
	}
	#teacher #contents .sec01 > div {
		display: block;
		width: auto;
		margin: 10px auto 0;
	}
}

/* sec02 */
/******  index欄に記載  ******/

/* sec03 */
#teacher #contents .sec03 {
	font-size: 0;
}
#teacher #contents .sec03 > p {
	display: inline-block;
	width: 320px;
	margin-top: 50px;
	margin-left: 50px;
	text-align: left;
	vertical-align: top;
}
#teacher #contents .sec03 > ol {
	display: inline-block;
	list-style: none;
	width: 560px;
	margin-top: 50px;
	margin-right: 50px;
	vertical-align: top;
}
#teacher #contents .sec03 > ol li > dl > dt {
	margin-bottom: 16px;
	font-size: 2.2rem;
}
#teacher #contents .sec03 > ol li > dl > dd {
	margin-bottom: 24px;
	font-size: 1.6rem;
}
#teacher #contents .sec03 > ol li > dl > dd .balloon {
	position: relative;
}
#teacher #contents .sec03 > ol li > dl > dd .balloon img {
	position: absolute;
	top: 0;
	right: 0;
}
#teacher #contents .sec03 > ol li > dl > dd .balloon dl {
	position: relative;
	border-radius: 6px;
	background-color: #fff586;
	margin-top: 24px;
	margin-right: 94px;
	padding: 10px 15px !important;
}
#teacher #contents .sec03 > ol li > dl > dd .balloon dl:before {
	content: "";
	position: absolute;
	top: 15%;
	right: 0%;
	margin-top: -16px;
 	margin-left: -16px;
	border: 16px solid transparent;
	border-top: 30px solid #fff586;
	-ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#teacher #contents .sec03 > ol li > dl > dd .balloon dl dt {
	border-bottom: 1px solid #0099ff;
	padding-bottom: 4px;
	color: #0099ff;
	font-weight: bold;
}
#teacher #contents .sec03 > ol li > dl > dd .balloon dl dd {
	padding-top: 10px;
	font-size: 1.4rem;
}

@media screen and (max-width: 639px){
	#teacher #contents .sec03 > p {
		display: block;
		width: auto;
		max-width: 320px;
		margin: 30px auto 0;
		text-align: center;
	}
	#teacher #contents .sec03 > ol {
		display: block;
		width: auto;
		margin: 10px auto 0;
	}
	#teacher #contents .sec03 > ol li > dl > dt {
		font-size: 2.0rem;
		margin-bottom: 10px;
	}
	#teacher #contents .sec03 > ol li > dl > dd {
		margin-bottom: 16px;
	}
}

/* sec04 */
#teacher #contents .sec04 {}
#teacher #contents .sec04 > p {
		margin: 50px 50px 0;
}
#teacher #contents .sec04 > div {
	border-radius: 6px;
	background-color: #fce7eb;
	margin: 20px 50px 0;
	padding: 0 15px 10px;
}
#teacher #contents .sec04 > div dl dt {
	padding-top: 10px;
	padding-bottom: 7px;
	color: #0099ff;
	font-size: 1.8rem;
	font-weight: bold;
}
	#teacher #contents .sec04 > div dl dt span {
		display: inline-block;
		border-radius: 6px;
		background-color: #eb6d8e;
		margin-right: 10px;
		padding: 4px 10px 4px 19px;
		color: #fff;
		letter-spacing: 0.5em;
		text-align: center;
	}
#teacher #contents .sec04 > div dl dd {
	display: table-cell;
	font-size: 1.4rem;
	vertical-align: top;
}
#teacher #contents .sec04 > div dl dd.left {
	width: 27%;
	padding-right: 15px;
}
#teacher #contents .sec04 > div dl dd.right {
	border-left: 2px dotted #0099ff;
	width: 73%;
	padding-left: 15px;
}
#teacher #contents .sec04 > div dl dd .pink {
	color: #eb6d8e;
	font-weight: bold;
}
#teacher #contents .sec04 > div dl dd p {
	padding-bottom: 5px;
}
#teacher #contents .sec04 > div dl dd ul li {
	margin-left: 2.5rem;
	padding-bottom: 5px;
}
#teacher #contents .sec04 > div dl dd.right img {
	display: inline-block;
	margin-top: 10px;
}
#teacher #contents .sec04 > div dl dd.right img + img {
	margin-left: 15px;
}
@media screen and (max-width: 639px){
	#teacher #contents .sec04 > p {
			margin: 30px auto 0;
	}
	#teacher #contents .sec04 > div {
		margin: 10px auto 0;
	}
	#teacher #contents .sec04 > div dl dd {
		display: block;
	}
	#teacher #contents .sec04 > div dl dd.left {
		width: auto;
		padding-right: 0px;
		padding-bottom: 15px;
	}
	#teacher #contents .sec04 > div dl dd.right {
		border-top: 2px dotted #0099ff;
		border-left: none;
		width: auto;
		padding-top: 15px;
		padding-left: 0px;
	}
	#teacher #contents .sec04 > div dl dd.right img {
		width: 100%;
	}
	#teacher #contents .sec04 > div dl dd.right img + img {
		margin-left: 0px;
	}
}

/* sec05 */
#teacher #contents .sec05 {}
#teacher #contents .sec05 ul {
	margin: 50px 50px 0;
}
#teacher #contents .sec05 ul li {
	list-style: none;
	background-color: #f5f5f5;
	margin-bottom: 40px;
	padding: 10px;
}
#teacher #contents .sec05 ul li > p {
	display: table-cell;
	width: 266px;
	text-align: left;
	vertical-align: top;
}
	#teacher #contents .sec05 ul li > p span {
		display: inline-block;
		background-color: #fff;
		padding: 8px;
	}
#teacher #contents .sec05 ul li > dl {
	display: table-cell;
	width: 574px;
	padding-left: 20px;
	vertical-align: top;
}
#teacher #contents .sec05 ul li > dl dt {
	padding-bottom: 16px;
	font-size: 2.0rem;
	font-weight: bold;
}
#teacher #contents .sec05 ul li > dl dd {}
#teacher #contents .sec05 ul li > dl .btn {
	margin-top: 38px;
	text-align: right;
}
#teacher #contents .sec05 ul li > dl .btn p {
	margin-bottom: 10px;
}
#teacher #contents .sec05 ul li > dl .btn a {
	display: inline-block;
	border-radius: 40px;
	background-color: #d2ecfc;
	padding: 5px 5px 5px 20px;
	color: #333;
	font-size: 1.4rem;
}
#teacher #contents .sec05 ul li > dl .btn a:hover {
	color: #333;
	text-decoration: none;
}
#teacher #contents .sec05 ul li > dl .btn a span {
	display: table-cell;
	vertical-align: middle;
}
#teacher #contents .sec05 ul li > dl .btn a span:nth-child(1) {
	width: calc( 100% - 43px);
}
#teacher #contents .sec05 ul li > dl .btn a span:nth-child(2) {
	width: 43px;
	padding-left: 15px;
}
#teacher #contents .sec05 ul li > dl .btn a span i {
	border-radius: 50%;
	background-color: #0099ff;
	width: 28px;
	height: 28px;
	color: #fff;
  font-size: 2.6rem;
  font-weight: bold;
	text-align:center;
	vertical-align: middle;
}
#teacher #contents .sec05 ul li > dl .btn .nolink a {
	opacity: 0.7;
}

@media screen and (max-width: 639px){
	#teacher #contents .sec05 ul {
		margin: 30px auto 0;
	}
	#teacher #contents .sec05 ul li {
		margin-bottom: 20px;
		text-align:center;
	}
	#teacher #contents .sec05 ul li > p {
		display: inline-block;
		width: auto;
	}
	#teacher #contents .sec05 ul li > dl {
		display: block;
		width: auto;
		padding-top: 20px;
		padding-left: 0;
		text-align: left;
	}
	#teacher #contents .sec05 ul li > dl .btn {
		margin-top: 20px;
	}
}

/* 20220425　追加 */
/* sec06 */
#teacher #contents .sec06 {}
#teacher #contents .sec06 > p {
		margin: 50px 50px 0;
}
#teacher #contents .sec06 > div {
	border-radius: 6px;
	background-color: #0099ff2e;
	background-image:
    radial-gradient(#ffffff 30%, transparent 30%);
  background-size: 5px 5px;
	margin: 20px 50px 0;
	padding: 20px 20px 20px;
}
#teacher #contents .sec06 > div dl dt {
	padding-top: 10px;
	padding-bottom: 7px;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
}
	#teacher #contents .sec06 > div dl dt span {
		display: inline-block;
		border-radius: 6px;
		background-color: #eb6d8e;
		margin-right: 10px;
		padding: 4px 10px 4px 19px;
		color: #fff;
		letter-spacing: 0.5em;
		text-align: center;
	}
#teacher #contents .sec06 > div dl dd {
	display: table-cell;
	font-size: 1.4rem;
	vertical-align: top;
}

#teacher #contents .sec06 > div dl dd.right {
	width: 73%;
	padding-left: 15px;
}

#teacher #contents .sec06 > div dl dd p {
	padding-bottom: 5px;
	font-size: 1.6rem;
}
#teacher #contents .sec06 > div dl dd ul li {
	margin-left: 2.5rem;
	padding-bottom: 5px;
}
#teacher #contents .sec06 > div dl dd.right img {
	display: inline-block;
	margin-top: 10px;
}
#teacher #contents .sec06 > div dl dd.right img + img {
	margin-left: 15px;
}
@media screen and (max-width: 639px){
	#teacher #contents .sec06 > p {
			margin: 30px auto 0;
	}
	#teacher #contents .sec06 > div {
		margin: 10px auto 0;
	}
	#teacher #contents .sec06 > div dl dd {
		display: block;
	}
	#teacher #contents .sec06 > div dl dd.left {
		width: auto;
		padding-right: 0px;
		padding-bottom: 15px;
	}
	#teacher #contents .sec06 > div dl dd.right {
		border-top: 2px dotted #0099ff;
		border-left: none;
		width: auto;
		padding-top: 15px;
		padding-left: 0px;
	}
	#teacher #contents .sec06 > div dl dd.right img {
		width: 100%;
	}
	#teacher #contents .sec06 > div dl dd.right img + img {
		margin-left: 0px;
	}
}

/************************************
        01～03　lower 共通
************************************/
.lower #contents {
	background: url(../images/contents_bg.jpg) left top repeat;
}
@media screen and (max-width: 639px){
	.lower #contents section, .lower #contents section article, .ft_nav {
		margin-top: -1px !important;
	}
}
/* lower_header */
.lower #contents #lower_header {
	position: relative;
	width: 980px;
	height: 377px;
	margin: 0 auto;
}
.lower #contents #lower_header h1 {
	position: absolute;
	top: 4px;
	left: 24px;
	z-index: 1;
}
.lower #contents #lower_header > p {
	position: absolute;
	top: 6px;
	right: 35px;
	z-index: 1;
}
.lower #contents #lower_header > div {
	position: absolute;
	top: 150px;
	left: 174px;
	z-index: 2;
}
.lower #contents #lower_header > div p {
	position: relative;
	width: 687px;
	height: 210px;
}
.lower #contents #lower_header > div p span {
	position: absolute;
	top: 50px;
	left: 318px;
	width: 320px;
	text-align: center;
	line-height: 1.75;
}
@media screen and (max-width: 639px){
	.lower #contents #lower_header {
		position: static;
		width: 100%;
		height: auto;
	}
	.lower #contents #lower_header img {
		width: 100%;
	}
	.lower #contents #lower_header h1 {
		position: static;
		width: 94%;
		margin: 0 auto;
		padding-top: 4px;
	}
	.lower #contents #lower_header > div {
		position: static;
		width: 95%;
		margin: -33px auto 0;
	}
	.lower #contents #lower_header > div p {
		width: 100%;
		height: auto;
	}
		.lower #contents #lower_header > div p img {
			width: 100%;
			height: auto;
		}
	.lower #contents #lower_header > div p span {
		top: 50%;
    left: 46%;
    width: 50%;
		font-size: 1.4rem;
    text-align: left;
    line-height: 1.4;
    transform: translateY(-50%);
	}
}

/* h2 */
.lower #contents h2.goal_tit {
	height: 89px;
	padding: 18px 0 0 10px;
	color: #fff;
	font-size: 3.0rem;
	line-height: 1;
}
	#ct01.lower #contents h2.goal_tit { background-color: #3e81bb; }
	#ct02.lower #contents h2.goal_tit { background-color: #d04c39; }
	#ct03.lower #contents h2.goal_tit { background-color: #40a548; }
.lower #contents h2.goal_tit span {
	font-size: 6.8rem;
	padding-right: 18px;
	vertical-align: middle;
}
@media screen and (max-width: 639px){
	.lower #contents h2.goal_tit {
		border-radius: 10px;
		height: auto;
		padding: 8px 2px 2px;
		font-size: 2.8rem;
	}
	.lower #contents h2.goal_tit span {
		font-size: 6.2rem;
		padding-right: 8px;
	}
}
/* 目標 */
.lower #contents section {
	position: relative;
}
.lower #contents section div.goals {
	position: absolute;
	top: 20px;
	right: 0;
	background: #fff;
	width: 441px;
	height: 69px;
}
.lower #contents section div.goals:before {
	display: inline-block;
	position: absolute;
	left: -54px;
	content: url(../images/lower_goals_gb.png);
	width: 54px;
	height: 69px;
}
.lower #contents section div.goals dl {
	padding-top: 15px;
	text-align: right;
}
.lower #contents section div.goals dl dt {
	display: inline-block;
	font-weight: bold;
}
	#ct01.lower #contents section div.goals dl dt { color: #3e81bb; }
	#ct02.lower #contents section div.goals dl dt { color: #d04c39; }
	#ct03.lower #contents section div.goals dl dt { color: #40a548; }
.lower #contents section div.goals dl dd {
	display: inline-block;
	vertical-align: middle;
}
.lower #contents section div.goals dl dd ul {
	padding-right: 10px;
	font-size: 0;
}
.lower #contents section div.goals dl dd ul li {
	display: inline-block;
	width: 45px;
	margin-left: 4px;
}
	.lower #contents section div.goals dl dd ul li img {
		width: 100%;
	}
@media screen and (max-width: 639px){
	.lower #contents section {
		position: static;
	}
	.lower #contents section div.goals {
		position: static;
		border-radius: 10px 10px 0 0;
		width: auto;
		height: auto;
		margin-top: 6px;
	}
	.lower #contents section div.goals:before {
		display: inline-block;
		content: "";
	}
	.lower #contents section div.goals dl {
		text-align: center;
	}
	.lower #contents section div.goals dl dt {
		display: block;
		padding-bottom: 8px;
		font-size: 1.6rem;
	}
	.lower #contents section div.goals dl dd {
		display: block;
	}
	.lower #contents section div.goals dl dd ul {
		margin: 0 8px;
		margin-right: 0;
		text-align:left;
	}
	.lower #contents section div.goals dl dd ul li {
		display: inline-block;
		width : 12% ; /* IE8以下とAndroid4.3以下用フォールバック */
	  width : -webkit-calc(100% / 8);
		width: calc(100% / 8);
		margin: 0;
		padding: 0 2px;
	}
}
/* article */
.lower #contents section article {
	background: #fff;
	padding: 20px 0;
}
/* h3 */
.lower #contents section article > h3 {
	margin: 0 20px;
}
.lower #contents section article > h3 p {
	width: 100%;
}
.lower #contents section article > h3 p + p {
	margin-top: 10px;
}
.lower #contents section article > h3 span {
	background: url(../images/lower_h3_bg.png) left bottom repeat;
	min-height: 24px;
	padding: 0 2px;
	color: #3e81bb;
	font-size: 2.2rem;
	font-weight: bold;
}
	#ct01.lower #contents section article > h3 span { color: #3e81bb; }
	#ct02.lower #contents section article > h3 span { color: #d04c39; }
	#ct03.lower #contents section article > h3 span { color: #40a548; }
@media screen and (max-width: 639px){
	.lower #contents section article > h3 {
		margin: 0 10px;
	}
	.lower #contents section article > h3 p {
		display: inline;
	}
	.lower #contents section article > h3 span {
		background: url(../images/lower_h3_bg_sp.png) left bottom repeat;
		min-height: 30px;
		font-size: 2.0rem;
	}
}
/* goal_list */
.lower #contents .goal_list {
	margin: 0 20px;
	line-height: 1.625;
}
.lower #contents .goal_list li {
	list-style: none;
}
.lower #contents .goal_list > li {
	margin-top: 30px !important;
}
.lower #contents .goal_list > li > dl {}
.lower #contents .goal_list > li > dl > dt {
	display: table-cell;
	width: 10%;
	vertical-align: top;
}
.lower #contents .goal_list > li > dl > dd {
	display: table-cell;
	width: 90%;
	padding-left: 20px;
	vertical-align: top;
}
	.lower #contents .goal_list > li > dl > dd a { text-decoration: underline; }
	.lower #contents .goal_list > li > dl > dd a:hover { text-decoration: none; }
.lower #contents .goal_list > li > dl > dt ul {
	font-size: 0;
}
.lower #contents .goal_list > li > dl > dt ul li {
	display: inline-block;
	width: 45px;
	margin-bottom: 4px;
}
.lower #contents .goal_list > li > dl > dt ul li img {
	width: 100%;
}
	.lower #contents .goal_list > li > dl > dt ul li:nth-child(even) {
		margin-left: 4px;
	}
.lower #contents .goal_list > li > dl > dd h4 {
	margin-bottom: 6px;
	font-size: 2.2rem;
}
	#ct01.lower #contents .goal_list > li dl dd h4,
	#ct01.lower #contents .goal_list > li dl dd h4 a { color: #3e81bb; }
	#ct02.lower #contents .goal_list > li dl dd h4,
	#ct02.lower #contents .goal_list > li dl dd h4 a { color: #d04c39; }
	#ct03.lower #contents .goal_list > li dl dd h4,
	#ct03.lower #contents .goal_list > li dl dd h4 a { color: #40a548; }
.lower #contents .goal_list > li dl dd h5 {
	margin-bottom: 6px;
	font-size: 1.6rem;
}
	#ct01.lower #contents .goal_list > li dl dd h5 { color: #3e81bb; }
	#ct02.lower #contents .goal_list > li dl dd h5 { color: #d04c39; }
	#ct03.lower #contents .goal_list > li dl dd h5 { color: #40a548; }
.lower #contents .goal_list > li dl dd p {
	margin-bottom: 20px;
}
	.lower #contents .goal_list > li dl dd p:last-child {
		margin-bottom: 0px;
	}
.lower #contents .goal_list > li dl dd dl dt {}
	#ct01.lower #contents .goal_list > li dl dd dl dt { color: #3e81bb; }
	#ct02.lower #contents .goal_list > li dl dd dl dt { color: #d04c39; }
	#ct03.lower #contents .goal_list > li dl dd dl dt { color: #40a548; }
.lower #contents .goal_list > li dl dd dl dd {}

@media screen and (max-width: 639px){
	.lower #contents .goal_list {
		margin: 0 10px;
	}
	.lower #contents .goal_list > li:nth-child(1) {
		margin-top: 18px !important;
	}
	.lower #contents .goal_list > li > dl > dt {
		display: block;
		width: auto;
		margin-bottom: 10px;
	}
	.lower #contents .goal_list > li > dl > dd {
		display: block;
		width: auto;
		padding-left: 0;
	}
	.lower #contents .goal_list > li > dl > dt ul li:nth-child(n+2) {
		margin-left: 4px;
	}
}

/* item_right */
.lower #contents .item_right {}
.lower #contents .item_right > dl,
.lower #contents .item_right > p,
.lower #contents .item_right > div,
.lower #contents .item_right > ul {
	display: table-cell;
	vertical-align: top;
}
	.lower #contents .item_right > ul > li {
		list-style: none;
	}
.lower #contents .item_right .w200 { width: 200px; margin: 0 auto; }
.lower #contents .item_right .w150 { width: 150px; margin: 0 auto; }
.lower #contents .item_right .w114 { width: 114px; margin: 0 auto; }
.lower #contents .item_right .w406 { width: 406px; }
.lower #contents .item_right .pr30 {
	padding-right: 30px !important;
}
.lower #contents .item_right .pr10 {
	padding-right: 10px !important;
}
.lower #contents .item_right .pl30 {
	padding-left: 30px !important;
}
@media screen and (max-width: 639px){
	.lower #contents .item_right > dl,
	.lower #contents .item_right > p,
	.lower #contents .item_right > div {
		display: block;
	}
	.lower #contents .item_right .mb15 { margin-bottom: 15px !important; }
	.lower #contents .item_right .pr30 { padding-right: 0px !important; }
	.lower #contents .item_right .pl30 { padding-left: 0px !important; }
}


/* キャプション */
.lower #contents .cap {
	display: block;
	padding-top: 4px;
	font-size: 1.2rem;
	word-break: break-all;
}

/* column */
.lower #contents .column {
	border-radius: 10px;
	margin: 0 20px;
	padding: 0 20px 20px;
}
	#ct01.lower #contents .column { border: 1px solid #3e81bb; }
	#ct02.lower #contents .column { border: 1px solid #d04c39; }
.lower #contents .column h3 {
	padding-top: 14px;
	font-size: 2.2rem;
}
	#ct01.lower #contents .column h3,
	#ct01.lower #contents .column h3 a { color: #3e81bb; }
	#ct02.lower #contents .column h3,
	#ct02.lower #contents .column h3 a { color: #d04c39; }
.lower #contents .column > div {
	margin-top: 15px;
}
.lower #contents .column a { text-decoration: underline; }
.lower #contents .column a:hover { text-decoration: none; }
@media screen and (max-width: 639px){
	.lower #contents .column {
		margin: 0 10px;
		padding: 0 16px 16px;
	}
}

/* ft_nav */
.lower #contents .ft_nav {
	width: 980px;
	margin: 0 auto;
}
.lower #contents .ft_nav ul {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
	justify-content: center;
	background-color: #fff;
	padding: 30px 50px 10px;
}
.lower #contents .ft_nav ul li {
	list-style: none;
	width : 30% ; /* IE8以下とAndroid4.3以下用フォールバック */
  width : -webkit-calc( (100% - 40px) / 3 );
	width: calc( (100% - 40px) / 3);
	margin-bottom: 20px;
}
.lower #contents .ft_nav ul li + li {
	margin-left: 20px;
}
.lower #contents .ft_nav ul li:nth-child(4) {
	-webkit-box-flex: 3;
	-ms-flex-positive: 3;
	flex-grow: 3;
	margin-left: 0;
}
.lower #contents .ft_nav ul li a {
	display: inline-block;
	position: relative;
	border-radius: 6px;
	width: 100%;
	padding: 12px 10px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1;
}
	.lower #contents .ft_nav ul li:nth-child(1) a {
		border: 1px solid #3d85c6;
		color: #3d85c6;
	}
	.lower #contents .ft_nav ul li:nth-child(2) a {
		border: 1px solid #da462c;
		color: #da462c;
	}
	.lower #contents .ft_nav ul li:nth-child(3) a {
		border: 1px solid #28a838;
		color: #28a838;
	}
	.lower #contents .ft_nav ul li:nth-child(4) a {
		border: 1px solid #003067;
		padding: 19px 10px;
		color: #003067;
	}
.lower #contents .ft_nav ul li a:hover {
	color: #fff;
}
	.lower #contents .ft_nav ul li:nth-child(1) a:hover {
		background-color: #3d85c6;
	}
	.lower #contents .ft_nav ul li:nth-child(2) a:hover {
		background-color: #da462c;
	}
	.lower #contents .ft_nav ul li:nth-child(3) a:hover {
		background-color: #28a838;
	}
	.lower #contents .ft_nav ul li:nth-child(4) a:hover {
		background-color: #003067;
	}
.lower #contents .ft_nav ul li a:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	content: "\f054";
	font-family: "fontAwesome";
	font-weight: normal;
}
.lower #contents .ft_nav ul li a span {
	padding-right: 8px;
	font-size: 3.0rem;
	vertical-align: middle;
}
@media screen and (max-width: 639px){
	.lower #contents .ft_nav {
		width: auto;
		margin: 0 10px;
	}
	.lower #contents .ft_nav ul {
		padding: 30px 10px 0;
	}
	.lower #contents .ft_nav ul li {
		width : 100% ; /* IE8以下とAndroid4.3以下用フォールバック */
	  width : -webkit-calc( 100% / 1 );
		width: calc( 100% / 1 );
	}
	.lower #contents .ft_nav ul li + li {
		margin-bottom: 20px;
		margin-left: 0px !important;
	}
	.lower #contents .ft_nav ul li:nth-child(4) a {
		line-height: 1.4;
	}
}

/************************************
              ct01
************************************/
/* sec01 */
#ct01 .sec01 {}
#ct01 .sec01 .bg_area {
	border-radius: 10px;
	background-color: #a8daf2;
	margin: 20px 10px 0;
	padding: 15px 18px 20px;
	text-align: center;
}
@media screen and (max-width: 639px){
	#ct01 .sec01 .bg_area {
		padding: 15px 4px;
	}
	#ct01 .sec01 .bg_area img {
		width: 100%;
	}
}
/* balloon */
#ct01 .goal_list > li dl dd .balloon {
	position: relative;
	border-radius: 10px;
	background-color: #3e81bb;
	padding: 15px 20px !important;
}
#ct01 .goal_list > li dl dd .balloon:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0%;
	margin-top: -16px;
	margin-left: -16px;
	border: 16px solid transparent;
	border-left: 16px solid #3e81bb;
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
#ct01 .goal_list > li dl dd .balloon span {
	display: inline-block;
	width : 247px ; /* IE8以下とAndroid4.3以下用フォールバック */
  width : -webkit-calc( 100% - 93px );
	width: calc( 100% - 93px );
	padding-right: 20px;
	color: #fff;
	vertical-align: middle;
}
#ct01 .goal_list > li dl dd .balloon img {
	display: inline-block;
	width: 93px;
	vertical-align: middle;
}
@media screen and (max-width: 639px){
	#ct01 .goal_list > li dl dd .balloon {
		padding: 15px !important;
	}
	#ct01 .goal_list > li dl dd .balloon.w406 {
		width: 100%;
	}
	#ct01 .goal_list > li dl dd .balloon:before {
		top: 0%;
		left: 50%;
		margin-top: -20px;
		margin-left: -20px;
		border-top: 20px solid #3e81bb;
		-ms-transform: rotate(180deg);
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
}

/************************************
              ct02
************************************/
/* sec01 */
#ct02 .sec01 {}
#ct02 .sec01 .bg_area {
	border-radius: 10px;
	background-color: #f5ddd2;
	margin: 20px -10px 0 -10px;
	padding: 20px 20px 15px;
	text-align: center;
}
#ct02 .sec01 .bg_area .bg_area_tit {
	width: 840px;
	margin: 0 auto;
}
#ct02 .sec01 .bg_area .bg_area_tit h4 {
	color: #d04c39;
	font-size: 2.0rem;
	font-weight: bold;
}
	#ct02 .sec01 .bg_area .bg_area_tit h4 span {
		display: block;
		font-size: 1.2rem;
	}
#ct02 .sec01 .bg_area .bg_area_fuki p {
	position: relative;
	border-radius: 10px;
	background-color: #d04c39;
	width: 520px;
	margin: -30px 0 0 auto;
	padding: 15px 20px !important;
	color: #fff;
	text-align: left;
}
#ct02 .sec01 .bg_area .bg_area_fuki p a {
	color: #fff;
	text-decoration: underline;
}
#ct02 .sec01 .bg_area .bg_area_fuki p:before {
	content: "";
    position: absolute;
    top: 0%;
    left: 20%;
    margin-top: -20px;
    margin-left: -20px;
    border: 20px solid transparent;
    border-left: 20px solid #d04c39;
    -ms-transform: rotate(140deg);
    -webkit-transform: rotate(140deg);
    transform: rota80deg);
}
#ct02 .sec01 .bg_area .ref {
	font-size: 1.2rem;
	margin-top: -30px !important;
	text-align: left;
}
@media screen and (max-width: 639px){
	#ct02 .sec01 .bg_area {
		margin: 20px 0 0;
		padding: 15px 4px;
	}
	#ct02 .sec01 .bg_area .bg_area_tit {
		width : 94% ; /* IE8以下とAndroid4.3以下用フォールバック */
	  width : -webkit-calc(100% - 16px);
		width: calc(100% - 16px);
		margin: 0 8px;
	}
	#ct02 .sec01 .bg_area .bg_area_tit h4 {
		padding-right: 0;
		padding-bottom: 12px;
		color: #d04c39;
		font-size: 1.5rem;
		text-align: center;
	}
		#ct02 .sec01 .bg_area .bg_area_tit h4 p {
			text-align: center;
		}
		#ct02 .sec01 .bg_area .bg_area_tit h4 span {
			display: block;
			font-size: 1.2rem;
		}
	#ct02 .sec01 .bg_area .bg_area_fuki {
		width: auto;
	}
	#ct02 .sec01 .bg_area .bg_area_fuki p {
		padding: 8px 10px !important;
        font-size: 1.4rem;
        width: auto;
        margin: 0 auto;
	}
	#ct02 .sec01 .bg_area .bg_area_fuki p:before {
		content: "";
	    position: absolute;
        top: 0%;
	    left: 50%;
	    margin-top: -14px;
	    margin-left: -20px;
	    border: 16px solid transparent;
	    border-left: 16px solid #d04c39;
	    -ms-transform: rotate(140deg);
	    -webkit-transform: rotate(140deg);
	    transform: rota80deg);
	}
	#ct02 .sec01 .bg_area img {
		width: 100%;
	}
	#ct02 .sec01 .bg_area .ref {
		margin-top: 10px !important;
	}
}
/* イレギュラー部分 */
#ct02 .sec01 .goal_list li:nth-child(1) dl dd dl,
#ct02 .sec01 .goal_list li:nth-child(5) dl dd dl {}
	#ct02 .sec01 .goal_list li:nth-child(1) dl dd dl + dl,
	#ct02 .sec01 .goal_list li:nth-child(5) dl dd dl + dl {
		margin-top: 10px;
	}
#ct02 .sec01 .goal_list li:nth-child(1) dl dd dl dt,
#ct02 .sec01 .goal_list li:nth-child(5) dl dd dl dt {
	display: inline;
	padding-right: 10px;
	font-weight: bold;
}
#ct02 .sec01 .goal_list li:nth-child(1) dl dd dl dd,
#ct02 .sec01 .goal_list li:nth-child(5) dl dd dl dd {
	display: inline;
}
#ct02 .sec01 .goal_list li:nth-child(1) dl dd dl dt a,
#ct02 .sec01 .goal_list li:nth-child(5) dl dd dl dt a {
	color: #d04c39;
}
#ct02 .sec01 .pic .w150 {
	width: 150px;
	margin-left: 30px !important;
}
#ct02 .sec02 .item_right ul li {
	display: table-cell;
}
@media screen and (max-width: 639px){
	#ct02 .sec01 .pic .w150 {
		margin-left: 20px !important;
		padding-top: 60px;
	}
	#ct02 .sec02 .item_right ul li {
		padding: 10px 5px 0;
	}
	#ct02 .sec02 .item_right ul li img {
		width: 100%;
	}
}
/* balloon */
#ct02 .goal_list > li dl dd .balloon {
	position: relative;
	border-radius: 10px;
	background-color: #d04c39;
	margin-left: 40px;
	padding: 15px 20px !important;
}
#ct02 .goal_list > li dl dd .balloon:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0%;
	margin-top: -20px;
	margin-left: -20px;
	border: 20px solid transparent;
	border-left: 20px solid #d04c39;
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
#ct02 .goal_list > li dl dd .balloon span {
	display: block;
	color: #fff;
}
#ct02 .goal_list > li dl dd .balloon span.ylw {
	color: #fffc01;
	font-weight:bold;
}
@media screen and (max-width: 639px){
	#ct02 .goal_list > li dl dd .balloon {
		margin-left: 0px;
		padding: 15px !important;
	}
	#ct02 .goal_list > li dl dd .balloon:before {
		top: 0;
		left: 30%;
		-ms-transform: rotate(180deg);
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
}

/************************************
              ct03
************************************/
/* sec01 */
#ct03 .sec01 {}
/* bg_area */
#ct03 .sec01 .bg_area {
	border-radius: 10px;
	background-color: #d1f1b7;
	margin: 20px 10px 0;
	padding: 0 10px 20px;
}
#ct03 .sec01 .bg_area > div,
#ct03 .sec01 .bg_area > ul {
	width: 100%;
	padding: 0 10px;
}
#ct03 .sec01 .bg_area > div h4 {
	padding-top: 25px;
	font-size: 2.0rem;
}
#ct03 .sec01 .bg_area > div > p {
	border-radius: 4px;
	background-color: #fff;
	margin-top: 20px;
	padding: 20px;
	text-align: center;
}
#ct03 .sec01 .bg_area > div > p img {
	width: 100%;
	height: auto;
}
#ct03 .sec01 .bg_area > ul {
	margin-top: 30px;
}
#ct03 .sec01 .bg_area > ul li {
	list-style: none;
	border-radius: 10px;
	background-color: #40a548;
	margin-bottom: 10px;
	padding: 16px 20px;
	color: #fff;
}
#ct03 .sec01 .bg_area > ul li:last-child {
	margin-bottom: 0px;
}
#ct03 .sec01 .bg_area > ul li span {
	color: #fce80c;
}
@media screen and (max-width: 639px){
	#ct03 .sec01 .bg_area > div,
	#ct03 .sec01 .bg_area > ul {
		float: none !important;
		width: 100%;
		padding: 0;
	}
	#ct03 .sec01 .bg_area > div > p img {
		width: 100%;
	}
	#ct03 .sec01 .bg_area > ul {
		margin-top: 20px;
	}
	#ct03 .sec01 .bg_area > ul li {
		padding: 10px;
	}
}
/* イレギュラー部分 */
#ct03 .sec01 .goal_list li:nth-child(5) dl dd > h4 img {
	max-width: 71px;
	padding-left: 15px;
	vertical-align: middle;
}
#ct03 .sec01 .goal_list li dl dd .w200 {
	width: 200px;
	margin: 0 auto;
}
#ct03 .sec01 .goal_list li dl dd img {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 640px){
#ct03 .sec01 .goal_list li dl dd ul.cplogo {
	display: table;
	table-layout: fixed;
	width: 733px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li {
	display: table-cell;
	height: 165px;
	text-align: left;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(odd) {
	vertical-align: bottom;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(even) {
	vertical-align: top;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li a {
	display: block;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(1) a {
	max-width: 92px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(2) a {
	max-width: 58px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(3) a {
	max-width: 76px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(4) a {
	max-width: 120px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(5) a {
	max-width: 96px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(6) a {
	max-width: 82px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(7) a {
	max-width: 100px;
}
#ct03 .sec01 .goal_list li dl dd ul.cplogo li img {
	width: 100%;
	height: auto;
}
}
@media screen and (max-width: 639px){
	#ct03 .sec01 .goal_list li dl dd ul.cplogo {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li {
		width: calc((100% - 20px) / 3);
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li a {
		display: block;
		margin: 10px auto;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(1) a:nth-child(1) {
		max-width: 92px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(1) a:nth-child(2) {
		max-width: 120px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(2) a:nth-child(1) {
		max-width: 58px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(2) a:nth-child(2) {
		max-width: 96px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(2) a:nth-child(3) {
		max-width: 100px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(3) a:nth-child(1) {
		max-width: 76px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li:nth-child(3) a:nth-child(2) {
		max-width: 82px;
	}
	#ct03 .sec01 .goal_list li dl dd ul.cplogo li img {
		width: 100%;
		height: auto;
	}
}

/*2020623　追加*/
.blue{
 color: cornflowerblue!important;
    text-decoration: underline;
}

/*2020 8/7 追加*/
.w100{
 max-width: 600px;
    height: auto;
}
.sdgs_button:hover{
    opacity: 0.7;
    
}
.taC{
 text-align: center;   
}
.mt50{
    margin-top: 30px!important;
    margin-bottom: 100px!important;
}
.sdgs_banner{
 text-align: center;   
    margin-top: 50px!important;
}
.sdgs_banner:hover{
    opacity: 0.7;
}
.sdgs_button a span:nth-child(1) {
    width: calc( 100% - 43px);
}
.sdgs_button a span:nth-child(2) {
    width: 43px;
    padding-left: 15px;
}
.sdgs_button a {
    display: inline-block;
    border-radius: 40px;
    background-color: #d2ecfc;
    padding: 5px 5px 5px 20px;
    color: #333;
    font-size: 1.4rem;
}
.sdgs_button a span i {
    border-radius: 50%;
    background-color: #0099ff;
    width: 28px;
    height: 28px;
    color: #fff;
    font-size: 2.6rem;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}
.line_none:hover{
 text-decoration: none!important;
}
.en_btn{
    border-bottom: 1px solid #0099ff;
    margin: 0 0 50px!important;
    padding: 50px 0!important;
    font-size: 2.8rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.4;
    
}


@media screen and (max-width: 639px){
    .sdgs_button{
     padding: 5%;
    }
    .mt50{
     margin-bottom: 50px!important;   
    }
.w100{
    max-width: 100%;
}
.en_btn{
    padding: 30px 0!important;
    }
}
