/* ==========================================================================
	201708
========================================================================== */

.main-wrap {
	background: url(img/main.jpg) no-repeat top center;
	background-size: contain;
}

.tc{
	text-align: center;
}

.topics-list li{
	position:relative;
	margin-bottom:10px;
}
.topics-list li:nth-child(2n){
	margin-right:0;
}
.topics-list li .topic-thum{
	float: left;
	margin-right: 10px;
}
.topics-list li .topic-name{
	text-align: left;
	font-weight: bold;
}
.topics-list li .thumb_story01 .topic-name{
	color: #f49c2a;
}
.topics-list li .thumb_story02 .topic-name{
	color: #b3d121;
}
.topics-list li .topic-name .name{
	font-size: 1.8rem;
	font-weight: bold;
	margin: 10px 0;
	color: #000;
}
.topics-list li .thumb_story01 .topic-name .category{
	color:#fff;
	background:#f49c2a;
	padding: 1px 0 0;
}
.topics-list li .thumb_story02 .topic-name .category{
	color:#fff;
	background:#b3d121;
	padding: 1px 0 0;
}
.topics-list li .line{
	font-size: 1.8rem;
	font-weight: bold;
	text-align: left;
}

.topics-list li .arrow:before{
	content: "";
	display: block;
	background:#999;
	width: 15px;
	height: 15px;
	position: absolute;
	right: 20px;
	top: 40%;
	transform: rotate(135deg);
	z-index:3;
}
.topics-list li .arrow:after{
	content: "";
	display: block;
	background:#fff;
	width: 30px;
	height: 20px;
	position: absolute;
	right: 13px;
	top: 30%;
	z-index:5;
}
.topics-list li .arrow.line:before{
	top: 30%;
}
.topics-list li .arrow.line:after{
	top: 15%;
}

.block{
	margin: 0 auto 30px;
	padding: 10px 10px 15px;
	position: relative;
}
.block h4{
	border-bottom:2px dotted #bbb;
	font-size:150%;
	margin-bottom:10px;
}
.block h4 span{
	font-size: 80%;
}
.appendix{
	text-align:left;
	font-size:83%;
	color: #111;
}
.bk{color: #231815;}
@media screen and (max-width: 767px) {
	.block{
		margin:40px 0 0;
		padding: 5px 5px 10px;
	}
	.block h4{
		font-size: 120%;
		line-height: 1.5;
	}
	.block h4 span{
		display: inline-block;
		
	}
	.fl,.fr {
		width:100% !important;
		max-width:100% !important;
		float: none;
		margin: 0 auto;
	}
	.ib{
		display: inline-block;
	}
}

.topic01-wrap,
.topic02-wrap,
.topic03-wrap{
	margin:-110px 0 30px;
	padding-top: 110px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.topic01-wrap,
	.topic02-wrap,
	.topic03-wrap{
		margin: 15px 0 0;
		padding-top: 0;
	}
}


/* topic01 */

.topic01-lead h3,
.topic03-carrer h3{
	width: 100%;
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
	margin: 20px 0;
	padding: 10px 20px;
	border: 1px solid #231815;
	box-sizing: border-box;
}
.topic01-lead .fl{
	max-width: 550px;
}
.topic01-lead p,
.lead{
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.topic01-lead h3,
	.topic03-carrer h3{
		font-size: 16px;
		font-size: 1.6rem;
		margin: 10px 0;
		padding: 5px 10px;
	}
	.topic01-lead p,
	.lead{
		font-size: 14px;
		font-size: 1.4rem;
	}
}

.topic01-wrap h3{
	display: table;
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 20px;
	margin-top: 20px;
}
.topic01-wrap h3 .inner {
	display: table-cell;
	width: 5em;
	background-color: #f49c2a;
	color: #fff;
	letter-spacing: 2px;
	padding: 10px 20px;
	z-index: 2;
}
.topic01-wrap h3 .outer {
	background-color: #fff;
	display: table-cell;
	color: #000;
	margin-left: 10px;
	padding: 10px 20px;
	letter-spacing: 2px;
}
#topic01-1.topic01-wrap h3 {
	border: 1px solid #f49c2a;
}
#topic01-1.topic01-wrap h3 .inner {
	background-color: #f49c2a;
}
#topic01-2.topic01-wrap h3 {
	border: 1px solid #b3d121;
}
#topic01-2.topic01-wrap h3 .inner {
	background-color: #b3d121;
}
#topic01-3.topic01-wrap h3 {
	border: 1px solid #00afa6;
}
#topic01-3.topic01-wrap h3 .inner {
	background-color: #00afa6;
}
@media screen and (max-width: 767px) {
}

.topic01-profile{
	margin: 20px 0;
}
.topic01-profile .profile{
	max-width:300px;
	text-align:center;
}
.topic01-profile .text span{
	font-size: 16px;
	font-size: 1.6rem;
	font-weight:bold;
}
.topic01-profile .interview{
	position:relative;
	max-width:520px;
}
.topic01-profile .interview dt{
	font-size:120%;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight:bold;
}
#topic01-1 .topic01-profile .interview dt{color: #f49c2a;}
#topic01-2 .topic01-profile .interview dt{color: #b3d121;}
#topic01-3 .topic01-profile .interview dt{color: #00afa6;}
.topic01-profile .interview dd{
	margin:5px 0 10px;
	padding-bottom:10px;
	border-bottom:1px dotted #222;
}
.topic01-profile .interview dd:last-child{
	border:none;
}
@media screen and (max-width: 767px) {
	.topic01-profile .profile{
		margin-bottom:20px;
	}
	.topic01-profile .interview dt{
		//font-size: 91.6%;
	}
}

.topic01-point{
	margin: 0 auto 30px;
	padding: 10px 15px 15px;
	position: relative;
	overflow: hidden;
}
#topic01-1 .topic01-point{background: #fce3c2;}
#topic01-2 .topic01-point{background: #eaf2c9;}
#topic01-3 .topic01-point{background: #cce8e5;}
.topic01-point h4{
/*
	position: relative;
	left: 50%;
	float: left;
*/
	text-align: center;
	font-size:150%;
	font-size: 20px;
	font-size: 2.0rem;
	border: none;
	color: #231815;
}
/*
.topic01-point h4 span{
	position: relative;
	display: inline-block;
	text-align: center;
	left: -50%;
	float: left;
	color: #231815;
	padding: 0 30px;
	margin: 0 auto 0;
}
.topic01-point h4 span:before,
.topic01-point h4 span:after{
	content: "";
	display: block;
	border-radius: 8px;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 24%;
	z-index:5;
}
.topic01-point h4 span:before{
	left: 0;
}
.topic01-point h4 span:after{
	right: 0;
}
#topic01-1 .topic01-point h4 span{color: #f49c2a;}
#topic01-2 .topic01-point h4 span{color: #b3d121;}
#topic01-3 .topic01-point h4 span{color: #00afa6;}
#topic01-1 .topic01-point h4 span:before,
#topic01-1 .topic01-point h4 span:after{
	background: #f49c2a;
}
#topic01-2 .topic01-point h4 span:before,
#topic01-2 .topic01-point h4 span:after{
	background: #b3d121;
}
#topic01-3 .topic01-point h4 span:before,
#topic01-3 .topic01-point h4 span:after{
	background: #00afa6;
}
*/
.topic02-qa,
.topic01-point {
	position:relative;
}
.topic02-qa dt,
.topic01-point dt{
	position:relative;
	padding-left: 2rem;
	font-size:120%;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight:bold;
}
.topic02-qa dt:before,
.topic01-point dt:before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: .6rem;
	width: 1.4rem;
	height: 1.4rem;
}
#topic01-1 .topic01-point dt:before{background: #f49c2a;}
#topic01-2 .topic01-point dt:before{background: #b3d121;}
#topic01-3 .topic01-point dt:before{background: #00afa6;}
#topic02-1 .topic02-qa dt:before{background: #6dbe79;}
#topic02-2 .topic02-qa dt:before{background: #1c4b92;}


/* topic02 */

.topic02-wrap h4{
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	padding: .8rem 1.2rem .6rem;
	margin-bottom: 20px;
	margin-top: 20px;
	background: #eee;
	box-sizing: border-box;
}
#topic02-1.topic02-wrap h4{color: #6dbe79;}
#topic02-2.topic02-wrap h4{color: #1c4b92;}

.topic02-main{
	width: 100%;
	position:relative;
	margin: 30px 0 30px;
}
.topic02-main h3{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	padding: 2rem 0;
	font-size: 21px;
	font-size: 2.1rem;
	color: #231815;
	background-color: rgba(255,255,255,.8);
}
@media screen and (max-width: 767px) {
	.topic02-main{
		margin: 0 0 20px;
	}
	.topic02-main h3{
		padding: 1rem 0;
		font-size: 14px;
		font-size: 1.4rem;
	}
}

.topic02-profile{
	display: table;
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
}
#topic02-1 .topic02-profile{
	background: #6dbe79;
}
#topic02-2 .topic02-profile{
	background: #1c4b92;
}
.topic02-profile .profile{
	display: table-cell;
	vertical-align: middle;
	font-size: 16px;
	font-size: 1.6rem;
	padding-left: 3rem;
	font-weight: bold;
	color: #fff;
}
.topic02-profile .profile .position{
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
}
.topic02-profile .profile .company{
	font-weight: normal;
}
.topic02-profile .profile .name{
	font-weight: bold;
	font-size: 21px;
	font-size: 2.1rem;
}
.topic02-profile .profile .course{
	font-weight: normal;
	font-size: 12px;
	font-size: 1.2rem;
}
.topic02-profile .img{
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}
@media screen and (max-width: 767px) {
	.topic02-profile{
		padding: 1%;
		width: 100%;
	}
	.topic02-profile .profile{
		min-width: 60%;
		padding: 0 1% 0 0;
	}
	.topic02-profile .img{
		max-width: 226px;
	}
	/*
	.topic02-profile,
	.topic02-profile .profile,
	.topic02-profile .img{
		display: block;
		text-align: center;
		max-width: 348px;
		margin: 0 auto;
		padding: 0;
	}
	.topic02-profile .profile{
		padding-top: 2%;
	}
	.topic02-profile .img{
		width:96% !important;
		padding: 2% 0;
	}
	*/
	.topic02-profile .profile{
		font-size: 12px;
		font-size: 1.2rem;
	}
	.topic02-profile .profile .position{
		font-size: 14px;
		font-size: 1.4rem;
	}
	.topic02-profile .profile .name{
		font-size: 13px;
		font-size: 1.3rem;
	}
	.topic02-profile .profile .course{
		font-size: 10px;
		font-size: 1.0rem;
	}
}

.topic02-schedule{
	
}
.topic02-schedule .schedule{
	width: 50%;
}
.topic02-schedule table{
	width:100%;
	text-align:left;
}
.topic02-schedule colgroup .col1{width:30%;}
.topic02-schedule colgroup .col2{width:70%;}
@media screen and (max-width: 767px) {
	.topic02-schedule colgroup .col1{width:30%;}
	.topic02-schedule colgroup .col2{width:70%;}
}
.topic02-schedule table th,
.topic02-schedule table td{
	vertical-align: middle;
	border-bottom: 2px solid #fff;
	line-height: 1.2;
	padding: 2.6rem 1rem 2.8rem;
}
.topic02-schedule table th{
	font-weight:bold;
	text-align: center;
	white-space: nowrap;
}
#topic02-1 .topic02-schedule table th{background: #dbecd9;}
#topic02-2 .topic02-schedule table th{background: #D3D6E9;}
.topic02-schedule .work{
	width: 360px;
}
.topic02-schedule .work dt,
.topic02-schedule .work dd{
	width: 100%;
	max-width: 360px;
	box-sizing: border-box;
}
.topic02-schedule .work dt{
	background: #fff200;
	font-weight: bold;
	padding: .3rem 1rem .1rem;
}
.topic02-schedule .work dd{
	margin: 0 0 10px;
}
@media screen and (max-width: 767px) {
	.topic02-schedule table{
		width: 100%;
		margin-bottom: 10px ;
	}
	.topic02-schedule table th,
	.topic02-schedule table td{
		padding: .6rem 1rem .8rem;
	}
	.topic02-schedule .work dl{
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
	}
	.topic02-schedule .work dd{
		margin: 0 0 7px;
	}
	.topic02-schedule .work dd.txt{
		margin: 0 0 20px;
	}
}

.topic02-message h4{
	width: auto;
	font-size:150%;
	margin-bottom: 0;
	padding: 5px 15px 0;
	display: inline-block;
	border-radius: 8px 8px 0 0;
	background: #fff;
}
#topic02-1 .topic02-message h4{
	border-top: 2px solid #6dbe79;
	border-left: 2px solid #6dbe79;
	border-right: 2px solid #6dbe79;
}
#topic02-2 .topic02-message h4{
	border-top: 2px solid #1c4b92;
	border-left: 2px solid #1c4b92;
	border-right: 2px solid #1c4b92;
}
.topic02-message h4 span{
	border-bottom: 1px solid #bbb;
}
.topic02-message p{
	display: block;
	margin-top: -2px;
	margin-top: -2.3px\9;
	padding: 8px 15px 8px;
	border-radius: 0 8px 8px 8px;
}
#topic02-1 .topic02-message p{
	border: 2px solid #6dbe79;
}
#topic02-2 .topic02-message p{
	border: 2px solid #1c4b92;
}
@media all and (-ms-high-contrast: none){
	.topic02-message{
		margin:40px 0 0;
	}
	.topic02-message p{
		margin-top: -2.3px;
	}
}


/* topic03 */

/*
.topic03-profile{
	max-width: 500px;
	margin: 0 auto 0;
}
.topic03-profile .profile{
	width: 48%;
}
.topic03-profile .profile.left{
	float: left;
}
.topic03-profile .profile.right{
	float: right;
}
.topic03-profile .profile .name{
	font-size:120%;
	font-weight:bold;
}
*/
.topic03-profile{
	margin: 0 auto 0;
	position: relative;
}
.topic03-profile .img{
	margin: 0 auto 0;
	max-width: 404px;
}
.topic03-profile .profile{
	width: 15em;
	position:absolute;
	bottom: 2em;
}
.topic03-profile .profile.left{
	left: 0;
}
.topic03-profile .profile.right{
	right: 0;
}
.topic03-profile .profile .name{
	font-size:120%;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight:bold;
}
@media screen and (max-width: 767px) {
	.topic03-profile .profile{
		width: 48%;
		position: relative;
		top: 0;
	}
	.topic03-profile .profile.left{
		float: left;
	}
	.topic03-profile .profile.right{
		float: right;
	}
}

.topic03-step{
	width: 100%;
	box-sizing: border-box;
}
.topic03-step dl{
	max-width: 460px;
	margin: 0 0 20px;
}
.topic03-carrerBox dt,
.topic03-step dt{
	background: #06b3ba;
	border-radius: 5px;
	color: #fff;
	font-weight: bold;
	padding: .3em 1em;
}
.topic03-step .lead{
	color: #06b3ba;
}
.topic03-step .img figure{
	max-width: 390px;
	position: relative;
	margin: 0 0 20px;
}
/*
.topic03-step .img figure figcaption{
	position: absolute;
	width: 100%;
	background-color: rgba(0,0,0,.8);
	color: #fff;
	bottom: 0;
	left: 0;
	padding: 1rem 2rem;
	box-sizing: border-box;
}
*/
.topic03-step .img figure figcaption{
	width: 100%;
	background-color: rgba(0,0,0,.8);
	color: #fff;
	padding: 1rem 2rem;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.topic03-step dt,
	.topic03-step dd{
		width: 100%;
		box-sizing: border-box;
	}
}

.topic03-matome{
	position:relative;
	width: 100%;
	box-sizing: border-box;
	margin: 20px 0;
	//padding: 2%;
	padding: 0;
	min-height: 230px;
	//border: 2px solid #06b3ba;
}
.topic03-matome .txt{
	max-width: 560px;
	float: left;
	position:relative;
	padding: 10px 20px;
	margin: 10px 10px 0 10px;
	background: #fff;
	border: 2px solid #666;
	border-radius: 20px;
	z-index: 2;
}
.topic03-matome .txt:before{
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	background: #fff;
	top: 48%;
	right: -10px;
	transform: rotate(45deg);
	z-index: 3;
}
.topic03-matome.rl .txt{
	float: right;
}
.topic03-matome.rl .txt:before{
	border-top: none;
	border-right: none;
	border-bottom: 2px solid #666;
	border-left: 2px solid #666;
	left: -10px;
}
.topic03-matome h4{
	font-size: 20px;
	font-size: 2.0rem;
}
.topic03-matome .img{
	position:absolute;
	width: 240px;
	bottom: 0;
	right: 0;
	text-align: left;
	z-index: 1;
}
.topic03-matome.rl .img{
	left: 0;
	text-align: right;
}
@media screen and (max-width: 767px) {
	.topic03-matome{
		margin: 5px 5px;
		min-height: 161px;
		min-height: 190px;
	}
	.topic03-matome .txt{
		margin: 3px 3px;
		padding: 6px 12px;
		width: 60%;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.topic03-matome .txt:before{
		width: 12px;
		height: 12px;
		right: -8px;
	}
	.topic03-matome.rl .txt:before{
		left: -8px;
	}
	.topic03-matome h4{
		font-size: 14px;
		font-size: 1.4rem;
	}
	.topic03-matome .img{
		max-width: 152px;
		width: 33%;
		left: 66%;
		right: auto;
	}
	.topic03-matome.rl .img{
		left: auto;
		right: 66%;
	}
}

.topic03-carrer h3{
	background: #06b3ba;
	color: #fffcaa;
	border: none;
}
.topic03-carrerBox{
	border: 1px solid #231815;
	position: relative;
	margin: 0 auto 30px;
}
.topic03-carrerBox.last{
	margin: 0 auto 10px;
}
.topic03-carrerBox:after{
	content: "";
	display: block;
	background:url(img/topic03_arrow.png);
	width: 60px;
	height: 30px;
	position: absolute;
	margin-left: -30px;
	left: 50%;
	bottom: -31px;
	z-index:1;
}
.topic03-carrerBox.last:after{
	display: none;
}
.topic03-carrerBox .txt{
	margin: 10px 20px;
}
.topic03-carrerBox dt{
	color: #fffcaa;
	border-radius: 15px;
	display: inline-block;
	margin: 10px 0 10px 20px;
}
.topic03-carrerBox .lead{
	display: inline-block;
	margin: 10px 0 10px 10px;
}
.topic03-carrerBox .head{
	background: #06b3ba;
	color: #fffcaa;
	font-weight: bold;
	padding: .3em 0 .3em 35px;
	position: relative;
}
.topic03-carrerBox .head:after{
	content: "";
	display: block;
	position: absolute;
	width: 8px;
	height: 8px;
	background: #fffcaa;
	top: 35%;
	left: 20px;
	transform: rotate(45deg);
	z-index: 3;
}



/* 扉
=========================================================== */
/*.topics-list li {
	width: 860px;
}*/

@media screen and (max-width: 767px) {
	.topics-list li {
	  width: 100%; } }


