@charset "utf-8";
#main.common_2 {background-color: #f7f7f7;}

/* knowledge_list */
/***************************/
#knowledge_list .h2_ttl {text-align: center;}
#knowledge_list .h2_en {
	left: 0;
	right: 0;
}
#knowledge_list .section * {color: #000;}
#knowledge_list .nom {
	font-weight: 600;
	line-height: 1;
	display: inline-block;
	border: 1px solid #333;
}
#knowledge_list .knwl_ttl {font-weight: 600;}
#knowledge_list .knwl_link {text-align: right;}

.wrap_pager .pager_ul {text-align: center;}
.wrap_pager .pager_ul li {
	display: inline-block;
}
.pager_ul a {
	color: #d7d7d7;
	display: block;
	text-decoration: none;
}
.pager_ul a[href^="javascript:void(0)"] {color: #000;}
.pager_ul a:hover {text-decoration: underline;}
#knowledge_list .knwl_wrap.none:hover {opacity: 1;}


@media screen and (min-width:641px) {
	#main > #knowledge_list {margin-bottom: 46px;}
	#knowledge_list .wrap_flex {
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: center;
	}
	#knowledge_list.kn_index .wrap_flex {
		justify-content: flex-start;
	}
	#knowledge_list .knwl_wrap {
		width: 22.5%;
		margin: 0px 3% 40px 0;
	}
	#knowledge_list .knwl_wrap:nth-of-type(4n) {margin-right: 0;}
	#knowledge_list .knwl_fig {margin-bottom: 10px;}
	#knowledge_list .nom {
		font-size: 1.6vw;
		margin-bottom: 10px;
		padding: 0.3em 1.5em;
	}
	#knowledge_list .knwl_ttl {
		font-size: 1.8vw;
		margin-bottom: 1em;
	}
	#knowledge_list .knwl_txt {
		font-size: 1.6vw;
		line-height: 1.8;
	}
	#knowledge_list .knwl_link {margin-top: 20px;}
	.pager_ul .nom_li {
		font-size: 3.6vw;
		margin: 0 0.5em;
	}
	.pager_ul .icon_arrow {width: 18px;}
	.pager_ul .prev_li,
	.pager_ul .next_li {vertical-align: -0.5em;}
}
@media screen and (min-width:768px) {
	#main > #knowledge_list {margin-bottom: 66px;}
	#knowledge_list .knwl_fig {margin-bottom: 15px;}
	#knowledge_list .nom {margin-bottom: 15px;}
}
@media screen and (min-width:980px) {
	#knowledge_list .knwl_wrap {
    margin-bottom: 60px;
  }
	#knowledge_list .nom {
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
	#knowledge_list .knwl_ttl {
		font-size: 1.8rem;
	}
	#knowledge_list .knwl_txt {font-size: 1.6rem;}
	#knowledge_list .knwl_link {margin-top: 30px;}
	.pager_ul .nom_li {
		font-size: 3rem;
		margin: 0 0.6em;
	}
	.pager_ul .icon_arrow {width: 20px;}
	.pager_ul .prev_li {margin-right: 1.2em;}
	.pager_ul .next_li {margin-left: 1.2em;}
}
@media screen and (min-width:1280px) {
	#main > #knowledge_list {margin-bottom: 86px;}
	#knowledge_list .knwl_wrap {
		width: 290px;
		margin-right: 40px;
	}
	#knowledge_list .knwl_fig {margin-bottom: 20px;}
}

@media screen and (max-width:640px) {
	#main > #knowledge_list {margin-bottom: 60px;}
	#main > #knowledge_list.mb0 {margin-bottom: 0;}
	#knowledge_list .knwl_wrap {padding: 0 25px 80px;}
	#knowledge_list .knwl_fig {margin-bottom: 25px;}
	#knowledge_list .nom {
		font-size: 3.2vw;
		padding: 0.2em .5em;
		margin-bottom: 10px;
	}
	#knowledge_list .knwl_ttl {
		font-size: 3.8vw;
		margin-bottom: 15px;
	}
	#knowledge_list .knwl_txt {font-size: 3vw;}
	#knowledge_list .knwl_link {margin-top: 20px;}

	#main .wrap_pager {padding-bottom: 120px;}
	.pager_ul .nom_li {
		font-size: 5vw;
		margin: 0 0.4em;
	}
	.pager_ul .icon_arrow {width: 18px;}
	.pager_ul .prev_li {margin-right: 1.2em;}
	.pager_ul .next_li {margin-left: 1.2em;}
}
@media screen and (max-width:480px) {
	#main > #knowledge_list {margin-bottom: 40px;}
	#knowledge_list .knwl_wrap {padding: 0 15px 60px;}
	#main .wrap_pager {padding-bottom: 80px;}
	.pager_ul .nom_li {font-size: 7vw;}
	.pager_ul .icon_arrow {width: 14px;}
	#knowledge_list .nom {
		font-size: 4vw;
		padding: 0.3em .5em;
		margin-bottom: 15px;
	}
	#knowledge_list .knwl_ttl {font-size: 4.4vw;}
	#knowledge_list .knwl_txt {font-size: 3.8vw;}
}

/* detail */
/***********************/
.title_knowledge .wrap {
	background-color: #fff;
	margin: auto;
}
.title_knowledge .h1_ttl_knldg,
.title_knowledge .ttl_nom {font-weight: 600;}

.top_point .txt_top {border-bottom: 1px solid #000;}

.top_point .txt_top .point_line,
.top_point .txt .point_line,
.detail .txt .point_line {
	font-style: normal;
	background-image: url(../images/txt_line.gif);
	background-repeat: repeat-x;
	background-position: 0 80%;
}
.top_point .txt {font-weight: 200;}

.detail .wrap_contents {background-color: #333;}
.wrap_contents .h2_contents {
	color: #fff;
	font-weight: 600;
	border-bottom: 1px solid #d7d7d7;
}
.wrap_contents .link_cnts {
	color: #fff;
	overflow: hidden;
	display: block;
	text-decoration: none;
	position: relative;
}
.wrap_contents .link_cnts::before{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #d7d7d7;
	z-index: 1;
	transform: translateX(-102%);
	transition: all 0.4s;
}
.wrap_contents .link_cnts:hover::before {
	transform: translateX(0%);
}
.wrap_contents .cnts_dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
.detail .h2_dtl .nom_i,
.cnts_dl .nom_dt {
	color: #000;
	text-align: center;
	font-style: normal;
	font-weight: 200;
	display: block;
	background-color: #d7d7d7;
}
.detail .h2_dtl {
	color: #fff;
	background-color: #333;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}
.detail .h2_dtl span {display: block;}

.detail .h3_dtl {
  color: #333;
  font-weight: 400;
  background-color: #d7d7d7;
}

.detail .h4_dtl {
	margin-bottom: 0.5em;
}
.detail .h4_dtl::before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: #000;
	margin-right: 0.3em;
}
.detail .h4_dtl.num::before {display: none;}

.detail .txt {
	line-height: 1.6;
	margin-bottom: 1.5em;
}
.detail .txt.mb0 {margin-bottom: 0;}

.detail .wrap_fig img {display: block;}
.detail figcaption {
	color: #fff;
	padding: 0.4em 0.8em;
	background-color:#333;
}
.tbl_wa {
	width: auto;
	border-collapse: collapse;
	margin-bottom: 1.5em;
}
.tbl_wa th,
.tbl_wa td {
	padding: .5em .8em .5em .8em;
	border-bottom: 1px solid #333;
	border-right: 1px dashed #333;
}
.tbl_wa tr:first-child th,
.tbl_wa tr:first-child td {
	border-top: 1px solid #333;
}
.tbl_wa td:last-child {
	padding-right: .5em;
	border-right: none;
}


#knowledge_list .h2_recommend {
	color: #000;
	font-weight: 400;
	text-align: center;
	max-width: 1280px;
	margin: auto;
	position: relative;
}
#knowledge_list .h2_recommend::before {
	content: '';
	display: block;
	height: 1px;
	width: 100%;
	background-color: #333;
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 1;
}
#knowledge_list .h2_recommend .h2_wrap {
	display: inline-block;
	background-color: #f7f7f7;
	padding: 0 0.6em;
	position: relative;
	z-index: 2;
}

.size_dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.size_dl .size_dt {
  width: 7em;
  margin-right: .5em;
  line-height: 1.6;
}
.size_dl .size_dd {
  width: calc(100% - 13em);
  margin-bottom: .5em;
}
.detail .size_dd .txt {
	line-height: 1.6;
	margin-bottom: 0;
}
.detail .strong {
  font-style: normal;
  font-weight: 700;
}


@media screen and (min-width:641px) {
	#main .title_knowledge {
		padding: 0 20px;
		margin: 0 auto 70px;
		max-width: 1280px;
	}
	.title_knowledge .wrap {
		padding: 40px;
		-webkit-box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 11px #fff;
			-moz-box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 11px #fff;
				box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 11px #fff;
	}
	.title_knowledge .ttl_nom {
		font-size: 2.6vw;
		margin-bottom: 1.2em;
	}
	.title_knowledge .h1_ttl_knldg {font-size: 3.2vw;}

	#main .wrap_section.top_point {margin-bottom: 60px;}
	.top_point .txt_top {
		font-size: 3.2vw;
		padding-bottom: 0.8em;
		margin-bottom: 1.5em;
	}
	.top_point .wrap_flex {justify-content: space-between;}
	.top_point .wrap_flex .wrap_txt,
	.top_point .wrap_flex .wrap_fig {
		width: 48%;
		max-width: 610px;
	}
	.top_point .txt {
		font-size: 2.2vw;
		line-height: 1.6;
	}
	#main .detail > .sec {
		margin: 0 auto 60px;
		width: 90%;
		max-width: 1000px;
	}
  #main .detail > .sec .sec {
    margin-bottom: 35px;
  }
	#main .detail .wrap_contents{
		padding: 40px;
		margin-bottom: 80px;
	}
	.wrap_contents .h2_contents {
		font-size: 2.4vw;
		padding-bottom: 0.8em;
		margin-bottom: 1.25em;
	}
	.cnts_dl .nom_dt {
		font-size: 2vw;
		width: 30px;
		height: 30px;
		line-height: 30px;
		margin: 3px 0 15px;
	}
	.cnts_dl .link_dd {
		font-size: 2.4vw;
		width: calc(100% - 45px);
		padding-top: 3px;
		margin-bottom: 10px;
	}

	.detail .h2_dtl {
		font-size: 2.2vw;
		padding: 0.8em 0.8em 1em 1.6em;
		margin-bottom: 40px;
	}
	.detail .h2_dtl .nom_i {
		font-size: 2.2vw;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}
	.detail .h2_dtl span {width: calc(100% - 3em);}

  .detail .h3_dtl {
    font-size: 2.2vw;
    padding: 0.4em 1em 0.5em;
    margin-bottom: 2.5rem;
  }

  .size_dl .size_dt,
  .detail .tbl_wa th,
	.detail .tbl_wa td,
	.detail .h4_dtl,
	.detail .txt {font-size: 2vw;}
	.detail figcaption {font-size: 1.6vw;}

	.detail .wrap_fig {margin-bottom: 50px;}

	#knowledge_list .h2_recommend {
		font-size: 3.2vw;
		margin-bottom: 50px;
	}

}
@media screen and (min-width:768px) {
	.title_knowledge .ttl_nom {font-size: 2.2vw;}
	.title_knowledge .h1_ttl_knldg {font-size: 3.2vw;}
	.top_point .txt_top {font-size: 3.2vw;}
	.top_point .txt {font-size: 2.2vw;}
	.detail figcaption {font-size: 1.8vw;}

	.wrap_contents .h2_contents {font-size: 2.2vw;}
  .size_dl .size_dt,
	.detail .tbl_wa th,
	.detail .tbl_wa td,
	.detail .h4_dtl,
	.detail .txt,
	.cnts_dl .nom_dt {font-size: 1.8vw;}
	.cnts_dl .link_dd {
		font-size: 2.2vw;
		padding-top: 0;
	}

	.detail .h2_dtl {
		font-size: 2.2vw;
		padding: 0.8em 0.8em 1em 1.8em;
		margin-bottom: 40px;
	}
	.detail .h2_dtl .nom_i {
		font-size: 2.2vw;
		width: 35px;
		height: 35px;
		line-height: 35px;
	}
	.detail .h2_dtl span {width: calc(100% - 2.8em);}

  .detail .h3_dtl {font-size: 2.2vw;}
}
@media screen and (min-width:980px) {
	#main .title_knowledge {margin: 0 auto 80px;}
	.title_knowledge .wrap {padding: 50px;}
	.detail .wrap_contents {padding: 50px;}

	.title_knowledge .ttl_nom {
		font-size: 2rem;
		margin-bottom: 25px;
	}
	#main .wrap_section.top_point {margin-bottom: 70px;}

	.top_point .txt_top,
	.title_knowledge .h1_ttl_knldg {font-size: 3rem;}

	.detail .h3_dtl,
	.detail .h2_dtl,
	.detail .h2_dtl .nom_i,
	.cnts_dl .link_dd,
	.wrap_contents .h2_contents,
	.top_point .txt {font-size: 2rem;}

  .size_dl .size_dt,
	.detail .tbl_wa th,
	.detail .tbl_wa td,
	.detail .h4_dtl,
	.detail .txt,
	.cnts_dl .nom_dt {font-size: 1.6rem;}
	.detail figcaption {font-size: 1.3rem;}

	.detail .h2_dtl {padding: 20px 40px;}
	.detail .h2_dtl span {width: calc(100% - 50px);}
	#knowledge_list .h2_recommend {
		font-size: 3rem;
		margin-bottom: 75px;
	}
}
@media screen and (min-width:1280px) {
	#main .title_knowledge {
		padding: 0 10px;
		margin: 0 auto 90px;
	}
	#main .wrap_section.top_point {margin-bottom: 80px;}
}
@media screen and (max-width:640px) {
	.title_knowledge {padding: 0 25px 80px;}
	.top_point {
		padding: 0 25px;
		margin-bottom: 60px;
	}
	
	.title_knowledge .wrap {
		padding: 30px 25px;
		-webkit-box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 10px #fff;
			 -moz-box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 10px #fff;
				    box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 10px #fff;
	}
	.title_knowledge .ttl_nom {
		font-size: 2.2vw;
		margin-bottom: 1.2em;
	}
	.title_knowledge .h1_ttl_knldg {font-size: 3.4vw;}

	.top_point .txt_top {
		font-size: 3.8vw;
		padding-bottom: 0.8em;
		margin-bottom: 1.2em;
	}
	.top_point .txt {
		font-size: 3.2vw;
		margin-bottom: 2em;
	}

	#main .detail {margin-bottom: 100px;}
	#main .detail > .sec {
		margin: 0 auto 40px;
		width: 85%;
	}
  #main .detail > .sec .sec {
    margin-bottom: 30px;
  }
	#main .detail .wrap_contents{
		padding: 20px;
		margin-bottom: 60px;
	}
	.wrap_contents .h2_contents {
		font-size: 3.2vw;
		padding-bottom: 0.6em;
		margin-bottom: 1em;
	}
	.cnts_dl .nom_dt {
		font-size: 2.8vw;
		width: 30px;
		height: 30px;
		line-height: 28px;
		margin: 3px 0 10px;
	}
	.cnts_dl .link_dd {
		font-size: 3vw;
		width: calc(100% - 45px);
		padding-top: 3px;
		margin-bottom: 10px;
	}

	.detail .h2_dtl {
		font-size: 3vw;
		font-weight: 400;
		padding: 0.6em 0.8em 0.6em 1.2em;
		margin-bottom: 40px;
	}
	.detail .h2_dtl .nom_i {
		font-size: 3vw;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}
	.detail .h2_dtl span {width: calc(100% - 2em);}
  .detail .h3_dtl {
    font-size: 3vw;
    padding: 0.35em 0.8em 0.45em;
    margin-bottom: 2.5rem;
  }

  .size_dl .size_dt,
	.detail .tbl_wa th,
	.detail .tbl_wa td,
	.detail .h4_dtl,
	.detail .txt {font-size: 3vw;}
	.detail figcaption {font-size: 2.6vw;}

	.detail .wrap_fig {margin-bottom: 40px;}

	#knowledge_list .h2_recommend {
		font-size: 4.2vw;
		margin: 0 25px 60px;
	}

}
@media screen and (max-width:480px) {
	#main .detail {margin-bottom: 50px;}
	.title_knowledge {padding: 0 15px 40px;}
	.title_knowledge .wrap {
		padding: 20px 15px;
		-webkit-box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 8px #fff;
			 -moz-box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 8px #fff;
				    box-shadow: 0px 0px 0px 1px #333, 0px 0px 0px 8px #fff;
	}
	.top_point {
		padding: 0 15px;
		margin-bottom: 40px;
	}
	.title_knowledge .ttl_nom {font-size: 4vw;}
	.title_knowledge .h1_ttl_knldg {font-size: 4.6vw;}
	.top_point .txt_top {font-size: 4.8vw;}
	.top_point .txt {font-size: 4vw;}

	.wrap_contents .h2_contents {font-size: 4vw;}
	.cnts_dl .nom_dt {font-size: 3.8vw;}
	.cnts_dl .link_dd {font-size: 4vw;}

	.detail .h2_dtl {
		font-size: 4.4vw;
		padding: 0.4em 0.8em 0.4em 1em;
	}
	.detail .h2_dtl .nom_i {
		font-size: 4.2vw;
	}
	.detail .h2_dtl span {width: calc(100% - 2.4em);}

  .detail .h3_dtl {font-size: 4.4vw;}

  .size_dl .size_dt,
	.detail .tbl_wa th,
	.detail .tbl_wa td,
	.detail .h4_dtl,
	.detail .txt {font-size: 3.6vw;}
	.detail figcaption {font-size: 3.2vw;}

	#knowledge_list .h2_recommend {
		font-size: 5.2vw;
		margin: 0 15px 30px;
	}
}
@media screen and (max-width:360px) {
  .size_dl .size_dd {width: calc(100% - 10em);}
}


.detail .fig_flex .img {
  margin-bottom: min(4vw, 20px);
}
.detail .fig_flex > .txt {margin-top: -0.5em;}

@media screen and (min-width:641px) {
  .detail .fig_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .detail .fig_flex .img {
    width: min(49%, 490px);
  }
  .detail .fig_flex > .txt {width: 100%;}
}

/*cta*/
.sec_cta {
  text-align: center;
  background-color: #fff;
  padding: min(5vw, 40px) min(5vw, 40px) min(3.5vw, 25px);
}
.sec_cta .txt_cta {margin-bottom: 0;}

@media screen and (min-width:641px) {
  .sec_cta .txt_cta {font-size: 2.2vw;}
}
@media screen and (min-width:980px) {
  .sec_cta .txt_cta {font-size: 2rem;}
}
@media screen and (max-width:640px) {
  .detail .sec_cta .h3_dtl {margin-bottom: 2rem;}
  .sec_cta .txt_cta {font-size: 3vw;}
}
@media screen and (max-width:480px) {
  .sec_cta .txt_cta {font-size: 4.4vw;}
}

/*editor*/
#main .detail > .wrap_editor {
  box-shadow: 0px 0px 0px 1px #d7d7d7, 0px 0px 0px 9px #fff;
  background-color: #fff;
  padding: min(4vw, 30px);
  max-width: calc(85% - 18px);
}
.wrap_editor .block {
  display: flex;
  align-items: flex-start;
  background-color: #eaeaea;
  padding: min(4vw, 30px);
  margin-bottom: min(4vw, 30px);
}
.wrap_editor .block .editor_img {
  display: block;
  width: min(20vw, 140px);
  height: auto;
  margin-right: min(2.7vw, 20px);
}
.detail .wrap_editor .dtl .txt {
  margin-bottom: 0;
}
.detail .wrap_editor .block .txt {
  margin-bottom: min(4vw, 30px);
}
.wrap_editor .h2_editor {
  color: #333;
  font-weight: 600;
}
.wrap_editor .career {
  color: #333;
  margin-bottom: 0;
}

/*recommend*/
.h2_recommend {
  color: #333;
  font-weight: 600;
  margin-bottom: 0.6em;
}
.list_ul .txt_link01 {
  font-size: 1em;
  padding-bottom: 2px;
}
.list_ul .txt_link01::after {display: none;}
.detail .list_ul .list_li {
  margin-bottom: .8em;
  position: relative;
  padding-left: 1em;
  /*display: flex;
  align-items: flex-start;
  justify-content: flex-start;*/
}
.list_ul .list_li::before {
	content: '＞';
  color: #333;
	/*margin-right: 0.5em;
  margin-top: 0.35em;*/
  font-size: 0.8em;
  position: absolute;
  left: 0;
  top: 0.2em;
}
.list_ul.__disc .list_li {
  margin-left: 0.5em;
  margin-bottom: 0.3em;
}
.list_ul.__disc .list_li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #333;
  top: 0.85em;
}
.list_ul + * {margin-top: 1.5em;}

@media screen and (min-width:641px) {
  #main .detail > .wrap_editor {
    width: calc(90% - 18px);
    max-width: calc(1000px - 18px);
  }
  .wrap_editor .block {
    padding: min(2.7vw, 20px);
    margin-bottom: min(2.7vw, 20px);
  }
  .detail .wrap_editor .block .txt{
    margin-bottom: min(2.7vw, 20px);
  }
  .h2_recommend,
  .wrap_editor .h2_editor {
    font-size: 2.2vw;
  }
  .wrap_editor .career {
    font-size: 1.9vw;
  }
}
@media screen and (min-width:768px) {
  .wrap_editor .career {
    font-size: 1.7vw;
  }
}
@media screen and (min-width:980px) {
  #main .detail > .wrap_editor {
    padding: 30px;
  }
  .h2_recommend,
  .wrap_editor .h2_editor {
    font-size: 2rem;
  }
  .wrap_editor .career {
    font-size: 1.4rem;
  }
  .wrap_editor .block .editor_img {width: 140px;}
}
@media screen and (max-width:640px) {
  .h2_recommend,
  .wrap_editor .h2_editor {
    font-size: 3vw;
  }
  .wrap_editor .career {
    font-size: 2.8vw;
  }
}
@media screen and (max-width:480px) {
  .h2_recommend,
  .wrap_editor .h2_editor {
    font-size: 4.4vw;
  }
  .wrap_editor .career {
    font-size: 3.4vw;
  }
}
#main .date {
  margin-top: -30px;
}
@media screen and (min-width:641px) {
  #main .date {
    margin-top: -25px;
  }
}
