@charset "utf-8";
/* CSS Document */
* {
  box-sizing: border-box;
}

@media screen and (min-width:768px) {
	body {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1rem;	
		color: #1A1A1A;
		overflow-x: hidden;
	}
	
	p{
		line-height: 2;
	}
		
	.pc_none {
		display: none;
	}

	header {
		position: relative;
	}

	.header_logo_persol{
		display: block;
		float: left;
		vertical-align: middle;
	}
	
	.header_logo_persol a {
		display: block;
		line-height: normal;
		width: 200px;
		padding: 18px 20px;
		vertical-align: middle;
	}
	
	.header_logo_persol a img{
		vertical-align: middle;
	}
	
/*グローバルナビ PC*/
	.globalNavWrap {
		display: block;
		margin: 0px auto;
		letter-spacing: -.4em;
	}

	.globalNavWrap li{
		position: relative;
		margin: 0px 6px;
	}

	.globalNavWrap li::before,
	.globalNavWrap li::after{
		content:"";
		position: absolute;
		width: 0;
		height:4px;
		background:#005580;
		transition: all 0.2s linear;
		transition-delay: 0.2s;
	}

	.globalNavWrap li::before{
		right: 0;
		bottom: 0;
	}
	
	.globalNavWrap li::after{
		left: 0;
		top: 0;
	}

	.globalNavWrap li span{
		 display: block;
	}

	.globalNavWrap li span::before,
	.globalNavWrap li span::after{
		content:"";
		position: absolute;
		width:4px;
		height:0;
		background: #005580;
		transition: all 0.2s linear;
	}


	.globalNavWrap li span::before{
		left: 0;
		bottom: 0;
	}
	.globalNavWrap li span::after{
		right: 0;
		top: 0;
	}

	.globalNavWrap li.current::before,
	.globalNavWrap li.current::after,
	.globalNavWrap li:hover::before,
	.globalNavWrap li:hover::after{
		width: 100%;
	}

	.globalNavWrap li.current span::before,
	.globalNavWrap li.current span::after,
	.globalNavWrap li:hover span::before,
	.globalNavWrap li:hover span::after{
		height: 100%;
	}
	
	.globalNav {
		display: inline-block;
		vertical-align: middle;
		letter-spacing: normal;  
	}
	
	.globalNavText {
		display: inline-block;
		font-size: 12px;
		font-weight: 700;
		color: #333;
		padding: 14px 20px;
		vertical-align: middle;
		text-align: center;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}

	.globalNavText:hover {
		color: #005580;
	}

	.globalNav.nav_logo a.globalNavText{
		line-height: 0;
		padding: 18px 20px;
		vertical-align: middle;
	}
	
	.globalNav.nav_logo a.globalNavText:before{
		content: '';
		position: absolute;
		left: 0;
		bottom: 18px;
		display: inline-block;
		width: 1px;
		height: 25px;
		border-left: #97999C 1px solid;
	}
	
	.globalNav.nav_logo img{
		line-height: normal;
	}
	
	.globalNav.nav_logo a.globalNavText span{
		display: none;
	}
	
	.globalNav.nav_logo::before,
	.globalNav.nav_logo::after{
		display: none;
	}
	
	.globalNav.selected a.globalNavText{
		color: #005580;
		padding: 10px 16px;
		border: 4px #005580 solid;
	}

	.selected .globalNavText{
		color: #005580;
	}


  /*追従ヘッダー*/
	.header-nav-pc{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 999;
		min-height: 80px;
		padding: 8px 0;
		background-color: #fff;
		vertical-align: middle;
	}	

/*メインビジュアル PC*/
	.mainVisual{
		clear: both;
		width: 100%;
		height: 680px;
		margin: 80px auto 0;
		background: url("../img/mv_bg_top.png") no-repeat center / cover;
	}
	
	.mainVisual img{
		display: block;
		width: 600px;
		padding-top: 70px;
		margin: 0 auto;
	}
	
	.mainVisual .mvLead .lead01{
		font-size: 24px;
		font-weight: 700;
		color: #005580; 
		line-height: 40px;
		padding-top:30px;
		text-align: center; 
	}
	
	.mainVisual .mvLead .lead02{		 
		font-size: 16px; 
		color: #005580; 
		line-height: 32px;
		padding-top:30px;
		text-align: center;
	}
	
	.mainVisual .mvInner{
		display: block;
		width: 940px;
		padding: 40px 0;
		margin: 0 auto;
	}
	
	.mainVisual .mvInner img{
		display: inline-block;
		width: 500px;
		height: auto;
		padding-top: 0;
		vertical-align: middle;
	}
	
	.mainVisual .mvInner h1 span{
		display: inline-block;
		font-size: 30px;
		font-weight: 700;
		color: #005580;
		line-height: 2;
		padding-left: 80px;
		vertical-align:middle;
	}
	
	#about .mainVisual{
		width: 100%;
		height: 300px;
		margin: 80px auto 0;
		background:url("../img/mv_bg_about.png") no-repeat center / cover;
	}
	
	#knowledge .mainVisual{
		width: 100%;
		height: 300px;
		margin: 80px auto 0;
		background:url("../img/mv_bg_knowledge.png") no-repeat center / cover;
	}
	
	#report .mainVisual{
		width: 100%;
		height: 300px;
		margin: 80px auto 0;
		background:url("../img/mv_bg_report.png") no-repeat center / cover;
	}
	
	#partners .mainVisual{
		width: 100%;
		height: 300px;
		margin: 80px auto 0;
		background:url("../img/mv_bg_partners.png") no-repeat center / cover;
	}
	
	.livingWrapper{
		padding: 70px 0;
		margin: 0px auto;
		background-color: #F2F2F0;
		letter-spacing: normal;	
	}
	
	.contentWrap{
		margin: 0 auto;
		max-width: 1000px;
		width: 100%;
		display: block;
	}
	
/*カード PC*/	
	.card:hover{
		opacity: 0.7;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	
	.effect-fade {
		opacity: 0;
		transform: translate(0, 100px);
		-webkit-transition: all 600ms;
		transition: all 600ms;
		
		position: relative;
		display: inline-block;
		width: 320px;
		height: 620px;
		margin-right: 20px;
		margin-bottom: 40px;
		cursor: pointer;
		vertical-align: top;
		letter-spacing: normal;
		background-color: #fff;
	}

	.effect-scroll {
		opacity: 1;
		transform: translate(0, 0);
	}

	.effect-fade:nth-of-type(3n+2) {
		-moz-transition-delay: 400ms;
		-webkit-transition-delay: 400ms;
		-o-transition-delay: 400ms;
		-ms-transition-delay: 400ms;
	}

	.effect-fade:nth-of-type(3n) {
		-moz-transition-delay: 800ms;
		-webkit-transition-delay: 800ms;
		-o-transition-delay: 800ms;
		-ms-transition-delay: 800ms;
		margin-right: 0;
	}	

	.cardText {
		font-size: 16px;
		color: #333;
		padding: 0 20px 32px;
		background-color: #fff;
		height: 280px;
	}
	
	.cardText {
		height: calc(2 * 2); 
		line-height: 2;
		overflow: hidden;
		position: relative;
		word-wrap: break-word;
	}
	
	/*QQQ*/
	.cardText span {
		margin-right: 1em;
	}
	
	.cardText::before {
		background: #ffffff;
		top: 255px;
		content: "…";
		padding: 0 4px;
		position: absolute;
		right: 20px;
	}
	
	.cardText::after {
		background: #fff; 
		content: "";
		height: 100%;
		position: absolute;
		left: 280px;/*調整*/
		width: 100%;
	}
	
   .cardLabel {
		position: absolute;
		top: 0;
		left: 0;
		font-family: 'a-otf-ud-shin-go-pr6n', sans-serif;
		font-size: 12px;
		font-weight: 700;
		color: #fff;
		background-color: #005580;
		padding: 6px 13px;
	}
	
	.cardLabel01 {
		position: absolute;
		top: 0px;
		left: 0px;
		color: #fff;
		background-color: #333;
		padding: 6px 13px;
		font-size: 12px;
	}
	
	.cardLabel02 {
		position: absolute;
		top: 0px;
		left: 0px;
		color: #333;
		background-color: #fff;
		padding: 6px 13px;
		font-size: 12px;
	}
	.cardLabel01.newrepor {
		position: absolute;
		top: 0px;
		left: 57px;
		font-family: 'a-otf-ud-shin-go-pr6n', sans-serif;
		font-size: 12px;
		color: #fff;
		background-color: #333;
		padding: 6px 13px;
	}
	
	.cardLabel02.newrepor {
		position: absolute;
		top: 0px;
		left: 57px;
		font-size: 12px;
		color: #333;
		background-color: #fff;
		padding: 6px 13px;
	}
	
	.cardTitle, .cardTitleComming{
		font-size: 20px;
		font-weight: bold;
		color: #005580;
		margin: 10px 20px;
	}
	
	.cardTitle span, .cardTitleComming span {
		font-size: 12px;
	}

	.cardImg {
		overflow: hidden;
		width: 320px;
		height: 180px;
	}
	.cardImgMove, .cardImgMoveComming {
		display: block;
		transition-duration: 0.2s;
		width: 100%;
	}
	.card:hover .cardImgMove {
		transform: scale(1.1);
		transition-duration: 0.2s;
	}	
	
/*TOP PC*/
	.topPartnersList{
		background-color: #ffffff;
	}
		
	.topPartnersList dl{
		display: block;
		font-size: 0;
		width: 100%;
		max-width: 1080px;
		height: 120px;
		padding:20px;		
		margin: 0 auto;
		text-align: center;
		background-color: #ffffff;
	}
	
	.topPartnersList dl dt{
		display: inline-block;
		font-size: 12px;
		padding:30px 60px 30px 0;
		vertical-align: top;
	}
	
	.topPartnersList dl dd{
		display:inline-block;
	}
	
	.topPartnersList dl dd img{
		width:143px;
		height:auto;
	}
	
	.pickup {
		position: relative;
	}
	
	#top .contentWrap{
		letter-spacing: -.4em;
	}
	
	h2.pickupTitle {
		font-family: a-otf-ud-shin-go-pr6n, sans-serif;
		font-size: 26px;
		font-weight: 700;
		color: #005580;
		text-align: center;
		margin-bottom:34px;		
	}

	.viewmore{
		text-align: center;
	}
	.viewmore a{
		text-align: center;
		color: #005580;
		font-size: 16px;
		text-decoration:underline;
	}
	.viewmore a:hover{
		opacity: 0.7;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
		
	
/*リビングラボとは PC*/
	.about {
		position: relative;
	}
	
	h2.aboutTitle{
		color: #005580;
		font-size: 26px;
		margin-bottom: 37px;
		position: relative;
		padding-left: 26px;
	}
	
	 h2.aboutTitle:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 100%;
		background: #005580;
	}
	.aboutText {
		font-size: 16px;
		margin-bottom: 37px;
	}
	
	.aboutFigure{
		background: #fff;
		color: #005480;
		padding: 20px 40px;
		margin-top: 40px;
	}
	.aboutFigure dl{
		width: 760px;
		margin: 20px auto;
		border: solid 1px #005480;
	}
	
	.aboutFigure dl dt{
		padding: 20px;
		background: #005480;
		text-align: center;
		color: #fff;
	}
	
	.aboutFigure dl dd{	
		padding: 20px;
		border-bottom: 1px solid #005480;
		color: #005580;
	}
	
	.aboutFigure dl dd:last-child{	
		border-bottom: none;
	}
	
	.aboutFigure .icon-arrow{
		margin: 20px auto;
		display: block;
		padding: 20px;
	}	
	
	.aboutFigureSecondBlock{
		display: block;
		width:100%;
		width: 760px;
		margin: 0 auto;
		letter-spacing: -.4em;
		position: relative;
	}
	
	.aboutFigureSecondBlock dl{
		display: inline-block;
		width:320px;
		margin-right: 120px;
		letter-spacing: 0;
		vertical-align: top;
		height: 337px;
	}
	
	.aboutFigureSecondBlock dl:last-child{
		margin-right: 0;
	}
	
	.aboutFigureSecondBlock dl dt span{
		font-size: 10px;
		display: block;
		padding-top: 20px;
	}		
	
	.aboutFigureSecondBlock dl dd{
		border-bottom: none;
	}
	
	.aboutFigureSecondBlock dd.aboutFigureImg01{
		vertical-align: middle;
		padding-left: 78px;
		padding-right: 40px;
		padding-top: 32px;
		text-align:center;
	}

	.aboutFigureSecondBlock .icon-arrow2{
		position: absolute;
		top:47%;
		left: 37%;
	}	
	.aboutFigureSecondBlock .icon-sp-arrow2{
		display: none;
	}
	.aboutFigureSecondBlock1 dd:first-of-type{
		padding-top: 63px;
	}
	

	
/*キャリアオーナーシップとは PC*/
	.knowledge {
		position: relative;
	}

	h2.knowledgeTitle{
		color: #005580;
		font-size: 26px;
		margin-bottom: 37px;
		position: relative;
		padding-left: 26px;
	}

	h2.knowledgeTitle:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 100%;
		background: #005580;
	}
	
	.knowledgeText01 {
		margin-bottom: 37px;
	}
	
	.knowledgeText01 .knowledgeSubheading{
		position: relative;
		display: block;
		color: #005580;
		font-weight: 700;
		padding-left: 20px;
	}
	
	.knowledgeText01 .knowledgeSubheading::before{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		display: block;
		width: 13px;
		height: 13px;
		background: #005580;
		margin: auto;
	}
	
	.knowledgeText03 {
		font-size: 12px;
		line-height: 1.8;
		margin-bottom: 20px;
	}
	
	.knowledgeText03:last-of-type {
		margin-bottom: 0;
	}
	
	.knowledgeText03 span {
		display: block;
	}
	
	.knowledgeFigure{
		background: #ffffff;
		padding: 40px;
		max-width: 1000px;
		margin: 0 auto 40px;
	}
	.knowledgeFigure ul{
		display: block;
		width: 100%;
		letter-spacing: -.4em;
		text-align: center;
		margin-bottom: 40px;
	}

	.knowledgeFigure ul li{
		display: inline-block;
		width: 195px;
		letter-spacing: normal;
		color: #ffffff;
		font-size: 20px;
		background-color: #005580;
		padding: 20px;
		border-radius: 8px;
		margin-right: 20px;
	}

	.knowledgeFigure ul li:last-of-type{
		margin-right: 0;
	}
	
	.knowledgeFigure .text-arrow{
		text-align: center;
		color: #005580;
	}
	
	.knowledgeFigure .icon-arrow{
		margin: 20px auto 40px;
		display: block;
	}

	.knowledgeListWrap {
		border: 1px solid #005580;
		position: relative;
		background-color: #fff;
		margin-bottom: 40px;
		color: #005580;
	}
	.knowledgeListWrap .knowledgeTitle{
		background-color: #005580;
		padding: 20px;
		color: #fff;
		font-size: 20px;
		font-weight: normal;
		position: relative;
		margin-bottom: 0;
		text-align: center;
	}

	
	.knowledgeListText {
		margin: 40px;
		text-align: left;
	}
	
	.knowledgeText02{	
		line-height: 1;
		padding-bottom: 40px;
	}

	.knowledgeText02:last-of-type{
		padding-bottom: 0;
	}

	.knowledgeText02 span.square{
		display: inline-block;
		width: 40px;
		height: 40px;
		padding: 8px 15px;
		margin-right: 20px;
		vertical-align: middle;
		text-align: center;
		font-size: 16px;
		font-weight: normal;
		line-height: 22px;
		color: #ffffff;
		background: #005580;  
	}
	
	.knowledgeText02 span.knowledgeTextTitle{	
		font-size: 16px;
		font-weight: bold;
	}
  
	.knowledgeText02 span.knowledgeTextTitle{	
		font-size: 16px;
		font-weight: bold;
	}
	.knowledgeText02 span.knowledgeTextDetail{	
		font-size: 16px;
		font-weight: normal;
		padding-left: 60px;
		padding-top: 10px;
		display: block;
	}
	
	.knowledgeContaimer {
		width: 920px;
		height: 290px;
		margin: 0px auto 40px;
	}
	
	.knowledgePdfdate {
		width: 920px;
		height: 290px;
		margin: 0px auto;
	}
	.moveBtnColor::before {
		background-color: #333;
		z-index: -1;
		width: 205px;
	}	
	
/*実証実験/探索活動 PC*/
	.report {
		position: relative;
	}
	
	#report .contentWrap{
		letter-spacing: -.4em;
	}	
		
	.reportAsterisk {
		letter-spacing: normal;
	}	

/*共同団体・企業 PC*/
	.partnersWrap {
		display: flex;
		flex-wrap: wrap;
	}

	.partnersCompany {
		width: 320px;
		margin-bottom: 60px;
		margin-right: 20px;
		position: relative;
	}
	
	.partnersCompany:nth-child(3n){
		margin-right: 0;
	}
	
	.partnersCompany:nth-last-of-type(-n+3){
		margin-bottom: 0;
	}
	
	.partnersCompany:hover .partnersText {
		text-decoration: underline;
		opacity: 0.7;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	
	.partnersImgWrap {
		width: 320px;
		border: 1px solid #b8c4ca;
		margin-bottom: 28px;
		overflow: hidden;
	}
	
	.partnersText {
		color: #005266;
		font-weight: 700;
	}
	
	.partnersImg{
		line-height: 0;
		font-size: 0;
	}
	
	.partnersImgMove {
		transition-duration: 0.2s;
	}
	
	.partnersImgMove:hover {
		transform: scale(1.1);
		transition-duration: 0.2s;
	}

/*問い合わせ PC*/
	.contactWrap {
		width: 100%;
		padding: 80px 0px;
		background-color: #F2F2F0;
	}

	.contactText {
		color: #005580;
		text-align: center;
		margin-bottom: 40px;
		font-weight: 700;
	}
	
	.moveBtn {
		width: 390px;
		background-color: #005580;
		margin: 0px auto 60px;
		font-size: 16px;
		border-radius: 106px;
		text-align: center;
		padding: 30px 0;
		line-height: 0;
	}
	.moveBtnText{
		color: #fff;
	}

	.moveBtn:hover {
		opacity: 0.7;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	.moveBtn.downloadBtn{
		margin: 0 auto;
	}
	
	
/*フッター PC*/
	.companyPolicy {
		color: #fff;
		font-size: 10px;
		background-color: #97999C;
	}

	.companyPolicyWrap {
		display: flex;
		line-height: normal;
		width: 1020px;
		padding: 52px 0;
		margin: 0px auto;
	}

	.policyTextWrap {
		display: flex;
		list-style: none;
		padding-top: 10px;
	}

	.policyText {
		height: 16px;
		padding: 0px 20px;
		text-align: center;
	}

	.policyLink {
		color: #fff;
	}

	.policyText:nth-child(n+2):nth-child(-n+3) {
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	
	.copyright {
		padding-top: 10px;
		margin-left: 150px;
	}

	.snsArea{
		display: flex;
		justify-content: flex-end;
	}

	.snsText{
		font-size: 10px;
		color: #ffffff;
		padding-top: 10px;
		margin-left: 40px;	
	}

	.snsText + .snsIcon{
		margin: 0px 15px 0px 18px;
		vertical-align: middle;
	}
	
}
@media screen and (max-width:768px) {
	body {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1rem;
		color: #1A1A1A;
		overflow-x: hidden;
	}
	
	p{
		line-height: 2;
	}
	
	h2{
		color: #005580;
		padding-bottom: 20px;
		text-align: center;
	}
	
	header {
		position: relative;
	}
	
	.header-nav-sp{
		position: fixed;
		width: 100vw;
		height: 60px;
		background-color: #fff;
		z-index: 10;
	}
	
	p.header_logo_persol img {
		width: 130px;
		margin: 20px;
		background-color: #fff;
	}
	
	.nav_logo_sp{
		position: absolute;
		top: 20px;
		left: 170px;
		width: 135px;
	}
	
	.nav_logo_sp img{
		width: 135px;
	}
	

  .siteWrap {
	background-color: #F2F2F0;
    overflow: hidden;
  }
	
  .livingWrapper {
	letter-spacing: normal;
    padding: 40px 20px;
    background-color: #F2F2F0;
  }
	
  .sp_none {
    display: none;
  }
	
  .topMvImg {
    padding: 0px 20px;
    margin-bottom: 40px;
  }
	
  .mv_ttl_txt_spImg {
    display: none;
  }

  .mvSpWrapper01 {	
    display: block;
    height: 100vh;
    position: relative;
	margin-top: 41px;
  }


 /*ナビゲーション*/
  .menu, .menu span {
    display: inline-block;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    box-sizing: border-box;
  }
  .menu {
    position: fixed;
    top: 8px;
    right: 10px;
    width: 44px;
    height: 44px;
    z-index: 10;
    background-color: #F2F2F0;
    outline: none;
    border: none;
  }
  .menu .btnText {
    font-size: 10px;
    text-align: center;
    display: block;
    position: absolute;
    bottom: 7px;
    left: 0;
    right: 0;
    margin: 0px auto;
  }
  .menu span {
    position: absolute;
    left: 0;
    width: 55%;
    height: 2px;
    background-color: #005580;
    z-index: 10;
    right: 0;
    margin: 0px auto;
  }
  .menu span:nth-of-type(1) {
    top: 10px;
  }
  .menu span:nth-of-type(2) {
    top: 20px;
  }
  .menu span:nth-of-type(3) {
    top: 30px;
  }
  .menu.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
  }
  .menu.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
  }
	#nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    height: 100vh;
    opacity: 0;
    background-color: rgba(255, 255, 255, 0.8);
    transition: all 0.2s ease-in-out;
    visibility: hidden;
  }
  #nav.active {
    right: 0;
    opacity: 1;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
	overflow-y: auto;
  }
  #nav .navWrap {
    margin: 75px 0px 0px;
  }
  .globalNavText {
    list-style-type: none;
  }

  .mainText {
    display: block;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    color: #fff;
    padding: 20px 20px;
  }
  .globalNavText {
    width: 90%;
    display: block;
    margin-bottom: 5px;
	height: 60px;
	background-color: #ffffff;
  }	
	.globalNavText a{
	padding: 20px;
	text-align: center;
	color: #005580;
	display: block;
	font-weight: bold;
	}
	

/*メインビジュアル SP*/	
	.mainVisual{
		width: 100%;
		height: 746px;
		padding-top: 117px;
		background: url("../img/mv_bg_top.png") no-repeat center / cover;
	}
	.mainVisual img{
		margin: 0 36px;
	}
	
	.mainVisual .mvLead .lead01{
		padding:40px 36px 0;
		font-size: 22px;
		text-align: left;
		font-weight: 700;
		color: #005580;
		line-height: 35px;
	}
	.mainVisual .mvLead .lead02{
		padding:40px 36px; 
		font-size: 16px; 
		text-align: left; 
		color: #005580;
		line-height: 30px;
	}
	#top .mainVisual br{
		display: none;
	}
	
	#about .mainVisual,
	#knowledge .mainVisual,
	#report .mainVisual,
	#partners .mainVisual{
		height: 429px;
	}
	
	#about .mainVisual{
		background:url("../img/mv_bg_about.png") no-repeat center / cover;
	}
	#knowledge .mainVisual{
		background:url("../img/mv_bg_knowledge.png") no-repeat center / cover;
	}
	#report .mainVisual{
		background:url("../img/mv_bg_report.png") no-repeat center / cover;
	}	
	#partners .mainVisual{
		background:url("../img/mv_bg_partners.png") no-repeat center / cover;
	}
	
	.mainVisual .mvInner h1 span{
		display: block;
		font-size: 22px;
		font-weight: 700;
		color: #005580;
		line-height: 35px;
		text-align: center;
		padding: 40px 36px 57px;
}
	
/*カード SP*/
	.card {
		position: relative;
		margin-bottom: 20px;
		background-color: #fff;
	}

	.cardImgMove, .cardImgMoveComming {
		width: 100%;
	}

	.cardTitle, .cardTitleComming {
		font-size: 18px;
		font-weight: bold;
		color: #005580;
		padding: 0px 20px;
		margin: 16px 0px 20px;
	}

	.cardTitle span {
		font-size: 12px;
	}

	.cardText {
		color: #333;
		padding: 0px 20px 68px;

	}

	.cardLabel01 {
		position: absolute;
		top: 0px;
		left: 0px;
		color: #fff;
		background-color: #333;
		padding: 6px 13px;
		font-size: 12px;
	}

	.cardLabel02 {
		position: absolute;
		top: 0px;
		left: 0px;
		color: #333;
		background-color: #fff;
		padding: 6px 13px;
		font-size: 12px;
	}	

	.cardLabel01.newrepor {
		position: absolute;
		top: 0px;
		left: 57px;
		color: #fff;
		background-color: #333;
		padding: 6px 13px;
		font-size: 12px;
	}

	.cardLabel02.newrepor {
		position: absolute;
		top: 0px;
		left: 57px;
		color: #333;
		background-color: #fff;
		padding: 6px 13px;
		font-size: 12px;
	}

	.card::after {
		content: "";
		width: 5px;
		height: 5px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		bottom: 56px;
		right: 18px;
	}
	
	.cardLabel {
		position: absolute;
		top: 0;
		left: 0;
		color: #fff;
		background-color: #005580;
		padding: 6px 13px;
		font-size: 12px;
		font-weight: 700;
		font-family: 'a-otf-ud-shin-go-pr6n', sans-serif;
	}		
	
	
/*TOP SP*/	
	.topPartnersList dl{
		display: block;
		width: 100%;
		margin: 0 auto;
		max-width: 1080px;
		padding:40px 20px;
		font-size: 0;
		text-align: center;
		background-color: #ffffff;

	}
	
	.topPartnersList dl dt{
		display: block;
		font-size: 12px;
		padding:0 0 20px;
		vertical-align: top;
		text-align: center;
	}
	.topPartnersList dl dd{
		display:inline-block;
		width: 50%;
	}
	
	.viewmore{
		text-align: center;
	}
	.viewmore a{
		text-align: center;
		color: #005580;
		font-size: 16px;
		text-decoration:underline;
	}
	.viewmore a:hover{
		opacity: 0.7;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	
	
/*リビングラボとは SP*/
  .about {
    position: relative;
  }
  .aboutText {
    margin-bottom: 34px;
  }
  .aboutText {
    margin-bottom: 20px;
  }

	h2.aboutTitle{
		position: relative;
		color: #005580;
		font-size: 16px;
		line-height: 2;
		text-align: left;
		padding-left: 26px;
		padding-bottom: 0;
		margin-bottom: 20px;
	}

	h2.aboutTitle:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 100%;
		background: #005580;
	}	
	.aboutFigure{
		background-color: #ffffff;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding: 40px 0;
	}

	.aboutFigure .icon-arrow{
		margin: 20px auto;
		display: block;
	}

	.aboutFigure dl{
		font-size: 16px;
	}
	.aboutFigure dl dt{
		font-size: 16px;
		color: #fff;
		background: #005580;
		padding: 20px 0 20px 0;
		text-align: center;
	}
	.aboutFigure dl dd{
		text-align: left;
		padding: 20px 40px 0;
		color: #005580;
		line-height: 2;
	}
	.aboutFigureSecondBlock{
		position: relative;
	}
	
	.aboutFigureSecondBlock dl{
		letter-spacing: 0;
		vertical-align: top;
		height: 337px;
		width: 320px;
		border: solid 1px #005480;
		padding: 0;
		margin: 0 auto;
	}
	.aboutFigureSecondBlock dl dt span{
		font-size: 10px;
		display: block;
		padding-top: 10px;
	}
	
	.aboutFigureSecondBlock dd.aboutFigureImg01{
		text-align:center;
	}
		
	.aboutFigureSecondBlock .icon-arrow2{
		display: none;
	}

	.aboutFigureSecondBlock .icon-sp-arrow2{
		position: absolute;
		top:37%;
		left: 43%;
	}
	
	dl.aboutFigureSecondBlock1{
		height: 240px;
		margin-bottom: 40px;
	}
	dl.aboutFigureSecondBlock1 dd{
		padding-top: 10px;
	}

	dl.aboutFigureSecondBlock2 dt  {
		padding-top: 40px;
	}

	dl.aboutFigureSecondBlock2{
		height:318px;
	}


/*キャリアオーナーシップとは SP*/
  .knowledge {
    position: relative;
  }
	
  h2.knowledgeTitle{
	position: relative;
    color: #005580;
    font-size: 16px;
	line-height: 2;
	text-align: left;
	padding-left: 26px;
	padding-bottom: 0;
	margin-bottom: 20px;
  }
	
	h2.knowledgeTitle:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    background: #005580;
	}
  .knowledgeText01 {
    margin-bottom: 20px;
  }
	
	.knowledgeText01 .knowledgeSubheading{
		position: relative;
		display: block;
		font-weight: 700;
		color: #005580;
		padding-left: 20px;
	}

	.knowledgeText01 .knowledgeSubheading::before{
		content: "";
		position: absolute;
		left: 0;
		top: 10px;
		display: block;
		width: 13px;
		height: 13px;
		background: #005580;
		margin: auto;
	}
	
	.knowledgeFigure{
		background-color: #fff;
		padding: 40px 0;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
}
	.knowledgeFigure ul{
		display: block;
		width: 100%;
		letter-spacing: -.4em;
		text-align: center;
	}
	
	.knowledgeFigure ul li{
		display: inline-block;
		width: 35%;
		letter-spacing: normal;
		color: #ffffff;
		font-size: 16px;
		background-color: #005580;
		padding: 20px;
		border-radius: 8px;
		margin-right: 20px;
		margin-bottom: 20px;
	}
	
	.knowledgeFigure ul li:nth-of-type(2n){
		margin-right: 0;
	}
	.knowledgeFigure ul li::nth-last-of-type(2){
		margin-bottom: 0;
	}
	
	.knowledgeFigure .text-arrow{
		text-align: center;
		color: #005580;
	}
	
	.knowledgeFigure .icon-arrow{
		margin: 10px auto 0;
		display: block;
	}	
	
  .knowledgeListWrap {
    padding: 20px 0 0;
    position: relative;
	color: #005580;
  }
  .knowledgeListWrap .knowledgeTitle{
    background-color: #005580;
    padding: 20px;
    color: #fff;
    font-size: 16px;
	font-weight: normal;
    position: relative;
    text-align: center;
	margin-bottom: 0;
  }
  .knowledgetImg02 {
    position: absolute;
    right: 0;
    left: 0;
    top: -16px;
    margin: 0px auto;
    text-align: center;
  }

  .knowledgeListText {
	margin: 40px;
	text-align: left;
  }
  .knowledgeText02{
	padding-bottom: 40px;
	position: relative;
	line-height: 1.5;
  }
  .knowledgeText02:last-of-type{
    padding-bottom: 0;
  }

  .knowledgeText02 span.square{
    display: inline-block;
    background: #005580;
    width: 50px;
    height: 50px;
    color: #fff;
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    line-height: normal;
    vertical-align: middle;
    margin-right: 5px;
    padding: 10px;
    position: absolute;
    left: 0;
    top: 0;
  }
	.knowledgeText02 span.knowledgeTextTitle{
    display: inline-block;
    position: absolute;
    left: 60px;
    top: 0;
    font-size: 16px;
    font-weight: 700;
  }
	.knowledgeText02 span.knowledgeTextDetail{
    font-size: 12px;
    font-weight: normal;
    display: block;
    padding-top: 60px;
  }	
  .knowledgeContaimer {
    padding: 0px 10px;
    margin-bottom: 34px;
  }
  .knowledgePdfdate {
    width: 100%;
  }

	
/*実証実験/探索活動 SP*/
  .reportAsterisk {
    font-size: 12px;
	letter-spacing: normal;
    padding: 0px 10px;	  
  }
	
/*共同団体・企業 SP*/
	.partners {
		position: relative;
	}
	.partnersWrap {
		display: flex;
		flex-wrap: wrap;
	}
	.partnersCompany {
		width: 180px;
	}
	.partnersImgMove {
		width: 100%;
		border: solid 1px #dce2e5;
	}
	.partnersImg{
		line-height: 0;
		font-size: 0;
	}
	.partnersCompany {
		width: 47%;
	}
	.partnersCompany:nth-child(even) {
		margin-left: 15px;
	}

	.partnersText {
		font-size: 12px;
		padding: 20px 0px 40px;
		color: #005266;
		font-weight: 700;
	}

	.partnersCompany:nth-last-of-type(-n+2) .partnersText{
		padding-bottom: 0;
	}

	.companyName {
		display: block;
	}
	
  /*問い合わせ SP*/
  .contact {
    background-color: #F2F2F0;
    padding: 51px 22px;
  }

  .contactTitleImgInner {
    height: 26px;
    width: auto;
  }
  .contactText {
    color: #005580;
    text-align: center;
    margin-bottom: 34px;
  }

  .moveBtn {
    background-color: #005580;
    margin: 0px auto 60px;
    font-size: 16px;
    border-radius: 106px;
    text-align: center;
    padding: 30px 0;
    line-height: 0;
  }
	.moveBtnText{
		color: #fff;
	}

	.moveBtn:hover {
		opacity: 0.7;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	.moveBtn.downloadBtn{
		margin: 0 40px;
	}

  /*続きを読むボタン*/
  .cp_box *, .cp_box *:before, .cp_box *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .cp_box {
    position: relative;
    margin-top: 40px;
  }
  .cp_box label {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    height: 140px; 
    cursor: pointer;
    text-align: center;
    background: linear-gradient(to bottom, rgba(242, 242, 240, 0) 0%, rgba(242, 242, 240, 1) 90%);
  }
  .cp_box input:checked + label {
    background: inherit; 
    height: 0;   
  }
  .cp_box label:after {
    line-height: 2.5rem;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 50%;
    width: 16rem;
    content: ' 続きをよむ';
    transform: translate(-50%, 0);
    letter-spacing: 0.05em;
    color: #ffffff;
    border-radius: 20px;
    background-color: #333;
  }
  .cp_box input {
    display: none;
  }
  .cp_box .cp_container {
    overflow: hidden;
    height: 250px;
    transition: all 0.2s;
  }
  .cp_box input:checked + label:after {
    content: ' 閉じる';
  }
  .cp_box input:checked ~ .cp_container {
    height: auto;
    padding-bottom: 80px; 
    transition: all 0.2s;
  }
  .knowledgeText03 {
    line-height: 1.8;
    font-size: 12px;
    word-break: break-all;
	}
  .knowledgeText03 span {
    display: block;
  }
	
  /*フッター SP*/
  footer {
    background-color: #111;
    padding: 14px 20px 34px;
    color: #fff;
    position: relative;
  }
  .policyTextWrap {
    list-style: none;
    padding-top: 20px;
  }
  .policyLink {
    color: #fff;
    font-size: 12px;
    line-height: 2.5;
  }
  .copyright {
    text-align: right;
    font-size: 10px;
    padding-top: 20px;
  }
	
  .snsArea {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    bottom: 60px;
    right: 20px;
  }
  .snsText {
    font-size: 12px;
    color: #b8c4ca;
    padding-right: 12px;
    line-height: 30px;
  }
  .snsText + .snsIcon {
    margin-right: 12px;
  }	
}
