﻿.txtEx {
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
}
.PC {display: none;}
.SP {display: inherit;}

html {
	font-size: 1.3333333vw; /*defaultFontsize / maxWidth * 100*/
}
body {
}
img {
	width: 100%;
	height: auto;
}

/*--------------------
No1*/

/*--No2*/

/*No3*/



/*--------------------
fv*/
.fv {
	 background: #fff;
}



/*--------------------
kotoba*/
.kotoba {
    padding-bottom: 12.8rem;
	font-size: 2.6rem;
	line-height: 1.96;
    background-image: url(../images/bg_kotoba_sp.png);
    background-size: 100% auto;
}
.kotoba .wordlist {
    margin-bottom: 6rem;
	line-height: 1.96;
}
.kotoba .nitijo {
	display: flex;
		flex-direction: column;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.kotoba .nitijo img {
	order: 2;
    width: 62rem;
    margin: 0 auto;
    margin-bottom: 8rem;
}
.kotoba .nitijo .txt {
	order: 1;
    position: static;
    transform: translate(0);
    white-space: normal;
    margin-bottom: 8rem;
}
.kotoba .nitijo .txt p {
    display: block;
    margin-bottom: 0;
    padding: 0;
	line-height: 1.96;
    background: none;
}
.kotoba .foryou .img .animate__animated {
	width: 43.2rem;
		top: 16%;
		left: calc(50% - 43.2rem / 2);
}
	.kotoba .foryou > p:last-of-type {
		margin-bottom: 7rem;
	}



/*--------------------
smartuseful*/
.smartuseful {
	background-image: url(../images/img_mikepen_sp.png);
	background-size: 100% auto
}
	.convuseful {
		background-image: url(../images/img_mikepen02_sp.png);
	}
.smartuseful .wrap {
	padding-bottom: 8rem;
}
	.convuseful .wrap {
		padding-bottom: 16rem;
	}
	.smartuseful h3.lead {
		margin-bottom: 2rem;
	}
.smartuseful .lead {
	margin-bottom: 1rem;
	font-size: 3rem;
}
.linkBbtnarea .btn {
	display: inline-block;
	font-size: 2.1rem;
	line-height: 1.4;
	line-height: 1.5;
}
	.usefuldigital {
		padding-bottom: 4rem;
	}
	.usefuldigital .linkBbtnarea .btn {
		margin: 0 auto;
		font-size: 2.1rem;
	}
	.usefuldigital .wrap {
		position: relative;
		    top: -2rem;
		display: block;
		width: 93.33%;
		padding: 3rem 0;
	}
		.usefuldigital .li:not(:nth-child(2n)) {
			margin-right: 0;
		}
		.usefuldigital .li:not(:last-child) {
			margin-bottom: 3rem;
		}
	.usefuldigital .li p {
		font-size: 2.6rem;
	}


/*--------------------
SPECIAL CONTENTS*/
.spcont {
    position: relative;
    padding-top: 16rem;
    padding-bottom: 10rem;
    background-image:
	    url(../images/bg_spcont_end.png),
	    url(../images/bg_spcont.png);
    background-position:
	    center bottom,
	    center top;
    background-repeat:
	    no-repeat,
	    repeat;
    background-size:
	    100% auto,
	    1.5rem auto;
}
.spcont .decoplane {
	top: 5rem;
	left: 5rem;
	width: 14.4rem;
}
.spcont .wrap {
	width: 86.66%;
}
.spcont .head h2 img {
    width: 43.6rem;
    margin: 0 auto;
}
.spcont .head h2 .limited {
	top: -200%;
}
.spcont .cont .panel {
	width: 42.6rem;
	margin-bottom: 6rem;
}
.spcont .cont .panel img {
  width: 42.6rem;
}
	.spcont .cont .panel:not(:nth-child(3n)) {
	    margin-right: 0;
	}
.spcont .cont .deco {
	width: calc((100% - 43.6rem) / 2 - 2.4rem);
}
.spcont .cont .note {
	font-size: 2.2rem;
	text-align: center;
    line-height: 1.7;
}
.spcont .panel .label {
	font-size: 2.16rem;
	margin: 1rem auto;
  padding: 0 1.5em;
}
.spcont .panel h3 {
	width: 100%;
	font-size: 2.6rem;
	text-align: center;
}
.spcont .panel .actionbtn {
	font-size: 2rem;
	margin-bottom: 0;
	padding: 0.8rem 6.5rem;
}
	.spcont .panel .actionbtn .iconmore {
		margin-right: 0.2rem;
	}
	.spcont .panel .actionbtn.openblank {
		padding: 0.8rem 3.5rem;
	}
.spcont .panel .lead {
	font-size: 2.4rem;
	line-height: 2;
  text-align: center;
  margin-bottom: 1em;
}
.spcont .panel .lead .space{
	display: inline
}

.spcont .sns {
  margin: -1rem 0 6.3rem;
}
.spcont .sns ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  gap: 0 4rem;
  margin: 0;
  padding: 0;
}
.spcont .sns li:hover {
  opacity: .8;
}
.spcont .sns li:nth-child(1) {
  width: 5.6rem;
}
.spcont .sns li:nth-child(2) {
  width: 6.5rem;
}
.spcont .sns li:nth-child(3) {
  width: 6.4rem;
}
.spcont .sns li:nth-child(4) {
  width: 7.5rem;
}


/*--------------------
CM Library*/
.cmlibrary {
	margin-top: 0;
	padding-top: 2rem;
	padding-bottom: 8rem;
	background-image:
		url(../images/bg_cmlibrary_bottom_sp.png),
		url(../images/bg_cmlibrary_top_sp.png);
	background-position:
		center bottom,
		center top;
	background-repeat: no-repeat;
	background-size:
		100% auto,
		100% auto;
}
.cmlibrary .head {

}
.cmlibrary .moviearea {
	max-width: none;
	width: 76%;
	padding: 4rem;
	padding-bottom: 0;
}
.cmlibrary .moviearea .tvcmhead {
	padding: 0;
}
.cmlibrary .moviearea .flex {
	justify-content: space-between;
  padding: 0;
}
.cmlibrary .moviearea .li {
	width: 49%;
	margin-right: 0;
	margin-bottom: 6rem;
}
	.cmlibrary .moviearea .li:not(:nth-child(2n)) {
	    margin-right: 0;
	}
.cmlibrary .moviearea .txt h5 {
	padding-right: 1em;
}
	.cmlibrary .moviearea .tvcmhead .btnallplay span.tri {
		width: 1.8rem;
		height: 1.8rem;
	}



/*--------------------
footer*/
.footer {
	padding: 2.5rem 0;
}
.footer .logo {
	width: 21rem;
}
.footer .copyright {
	font-size: 2rem;
}



/*--------------------
モーダルコンテンツ*/
.modalpanel {
	width: auto;
	margin: 9rem 5rem;
}
.modalpanel .modalcont {
	padding: 4rem 0;
}
.modalpanel .ttl {
	padding: 0 4rem;
	font-size: 2.6rem;
}
.modalpanel .ttlwrap .personlist {
	font-size: 2.2rem;
}
.modalpanel .maintxt {
	padding: 0 4rem;
	font-size: 2.4rem;
	line-height: 2;
}

.modalpanel .maintxt a {
	color: #000;
	text-decoration: none;
}

.modalpanel .maintxt p .imgwrap {
	width: 100%;
}
.modalpanel .maintxt p .txt {
	font-size: 2.2rem;
	line-height: 1.8;
}

.modalpanel .maintxt p .txt2 {
	font-size: 2.2rem;
	line-height: 1.8;
}

	.modalpanel .maintxt p.L {
		margin-bottom: 1rem;
	}
	.modalpanel .maintxt p.L .imgwrap {
		float: none;
	}
	.modalpanel .maintxt p.L .imgwrap {
		display: block;
		margin: 0 auto;
		margin-bottom: 6rem;
	}
	.modalpanel .maintxt p.R .imgwrap {
		float: none;
	}


	/*--------------------
	ターニングポイント*/
	.modalpanel .tp .imgwrap {
    width: 16.1rem;
    margin-right: 2rem;
	}
  .modalpanel .tp .ttlwrap p span {
    display: block;
    font-size: 2.2rem;
  }
	.modalpanel .tp .ttlwrap .label {
    margin-left: -18rem;
		margin-top: 2rem;
	}
  .modalpanel .tp .ttlwrap .personlist {
    margin-left: -18rem;
	}
	.modalpanel .tp .maintxt {
    width: 57.4rem;
    padding: 0;
    margin: 3.4rem auto 0;
	}
	.modalpanel .tp .maintxt p {
		margin-bottom: 0;
		letter-spacing: 0.06em;
	}
	.modalpanel .tp .maintxt p:first-child {
		margin-bottom: 3rem;
	}
	.modalpanel .tp .maintxt p.L {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
	}
	.modalpanel .tp .maintxt p.L .imgwrap {
    width: 27.4rem;
		margin: 0;
	}
  .modalpanel .tp .imgwrap_2 {
    position: static;
    width: 27.4rem;
	}

	/*--------------------
	SDGs*/
	.modalpanel .sdgs {
	}
  .modalpanel .sdgs .ttl {
    position: relative;
    width: auto;
    margin: 0 0 5.6rem;
    padding: 0 0 0 25rem;
  }
  .modalpanel .sdgs .ttlwrap {
    width: auto;
  }
	.modalpanel .sdgs .ttlwrap .label {
    width: auto;
	}
  .modalpanel .sdgs .ttlwrap p {
    width: 36rem;
    font-size: 2.4rem;
  }
  .modalpanel .sdgs .ttl .logo {
    position: absolute;
    top: 0;
    left: 4rem;
    width: 18.6rem;
    margin: 1rem auto 0;
	  z-index: 1;
  }
	.modalpanel .sdgs .maintxt {
    position: static;
    width: auto;
    margin: 0 auto;
	}
  .modalpanel .sdgs .maintxt ul {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
    gap: 4rem 0;
  }
  .modalpanel .sdgs .maintxt li {
    width: 27.8rem;
    margin: 0 0 .7rem;
    padding: 0;
  }
  .modalpanel .sdgs .maintxt li .txt {
    display: flex;
    padding: .8rem 0 0;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
  .modalpanel .sdgs .maintxt li .txt span {
    width: 7rem;
    margin-right: 1.2rem;
  }
  .modalpanel .sdgs .maintxt li .txt p {
    width: 19rem;
  }

  	/*--------------------
	START～私が選んだ道*/
	.modalpanel .Start {
	}
  .modalpanel .Start .ttl .imgwrap {
    width: 16rem;
    margin-right: 3.4rem;
  }
	.modalpanel .Start .ttlwrap .label {
		margin-left: -18rem;
		margin-top: 3rem;
	}
  .modalpanel .Start .ttlwrap .personlist {
		margin-left: -18rem;
	}
	.modalpanel .Start .maintxt {
    width: auto;
		margin-top: 3.4rem;
    padding-bottom: 0;
    margin-bottom: 0;
    position: relative;
	}
	.modalpanel .Start .maintxt p {
		margin-bottom: 0;
		letter-spacing: 0.06em;
    line-height: 2em;
	}
	.modalpanel .Start .maintxt p .imgwrap_1 {
    display: block;
		position: static;
    width: 56.5rem;
    margin: 0 auto 2rem;
	}
  .modalpanel .Start .maintxt p .imgwrap_1 img {
    width: 100%;
  }
  .modalpanel .Start .maintxt p .imgwrap_2 {
    display: block;
		position: static;
    width: 57.5rem;
    margin: 5rem auto 2rem;
	}
  .modalpanel .Start .maintxt p .imgwrap_2 img {
    width: 100%;
  }

















	/*--------------------
	ターニングポイント*/
	.modalpanel .Turning .imgwrap {
		width: 14.3rem;
	}

	.modalpanel .Turning .maintxt p.L  {
    margin-bottom: 3em;
    font-size: 2.2rem;
	}
	.modalpanel .Turning .maintxt p.L .imgwrap  {
		width: 50.8rem;
	}
	.modalpanel .Turning .maintxt p.R {
		display: flex;
			flex-direction: column;
	}
	.modalpanel .Turning .maintxt p.R {
		display: flex;
			flex-direction: column;
	}
	.modalpanel .Turning .maintxt p.R .imgwrap {
		order: 2;
		width: 42.1rem;
		margin: 0 auto;
		margin-top: 4rem;
	}
	/*--------------------
	四季の励まし*/
	.modalpanel .Siki {
	}
	.modalpanel .Siki .ttl {
		padding: 0 4rem 0 0;
	}
	.modalpanel .Siki .imgwrap {
		width: 18.3rem;
	}
	.modalpanel .Siki .ttl .ttlwrap {
		margin-top: 0;
		margin-left: 2rem;
	}
	.modalpanel .Siki .ttlwrap .label {
		float: none;
	}
	.modalpanel .Siki .ttlwrap .float {
		float: none;
		font-size: 2.4rem;
	}
	.modalpanel .Siki .maintxt p:first-child {
		font-size: 2.4rem;
		margin-bottom: 6rem;
	}
	.modalpanel .Siki .maintxt p.L {
		display: block;
    font-size: 2rem;
		width: 58rem;
	}
	.modalpanel .Siki .maintxt p .imgwrap {
		width: 100%;
		margin-bottom: 1rem;
	}
	/*--------------------
	POWER of WOMAN*/
	.modalpanel .PW {
		padding-bottom: 6rem;
	}
	.modalpanel .PW .ttlwrap .label {
		margin-bottom: 5rem;
	}
	.modalpanel .PW .imgwrap {
		margin-bottom: 2rem;
	}
	.modalpanel .PW .flex {
			flex-wrap: wrap;
		/*width: 58rem;*/
		margin: 0 auto;
	}
		.modalpanel .PW .flex li:not(:last-child) {
			margin: 0 auto;
			margin-bottom: 4rem;
		}
	/*--------------------
	２０代のリアル ＼ボクらのイマ。／*/
	.modalpanel .Now20 {
	}
	.modalpanel .Now20 .ttl {
		padding: 0 0 0 2rem;
	}
	.modalpanel .Now20 .imgwrap {
		width: 21.3rem;
	}
	.modalpanel .Now20 .ttl .ttlwrap {
		margin-top: 0;
		margin-left: 2rem;
	}
	.modalpanel .Now20 .ttlwrap .label {
		float: none;
	}
	.modalpanel .Now20 .ttlwrap .float {
		float: none;
		font-size: 2.4rem;
	}
	.modalpanel .Now20 .maintxt p:first-child {
		font-size: 2.4rem;
		margin-bottom: 6rem;
	}
	.modalpanel .Now20 .maintxt p {
		display: block;
		width: 58rem;
	    font-size: 2.4rem;
	}
	.modalpanel .Now20 .maintxt p .imgwrap {
		width: 100%;
		margin-bottom: 1rem;
	}
	/*--------------------
	フォトストーリー*/
	.modalpanel .PhotoS {
	}
	.modalpanel .PhotoS .ttl {
		padding: 0 0 0 2rem;
	}
	.modalpanel .PhotoS .imgwrap {
	}
	.modalpanel .PhotoS .ttl .ttlwrap {
		margin-top: 0;
		margin-left: 2rem;
	}
	.modalpanel .PhotoS .ttlwrap .label {
		float: none;
	}
	.modalpanel .PhotoS .ttlwrap .float {
		float: none;
		font-size: 2.4rem;
	}
	.modalpanel .PhotoS .maintxt p:first-child {
		font-size: 2.4rem;
		margin-bottom: 6rem;
	}
	.modalpanel .PhotoS .maintxt p {
		display: block;
		width: 58rem;
		font-size: 2.4rem;
	}
	.modalpanel .PhotoS .maintxt p .imgwrap {
		width: 100%;
		margin-bottom: 1rem;
	}
	.modalpanel .PhotoS .maintxt p .note {
		color: #000;
	}
	/*--------------------
	ヒューマンストーリー*/
	.modalpanel .HumanS {
	}
	.modalpanel .HumanS .ttl {
		padding: 0 0 0 2rem;
	}
	.modalpanel .HumanS .imgwrap {
	}
	.modalpanel .HumanS .ttl .ttlwrap {
		margin: 0 4rem 0 2rem;
	}
	.modalpanel .HumanS .ttlwrap .label {
		float: none;
	}
	.modalpanel .HumanS .ttlwrap .float {
		float: none;
		font-size: 2.4rem;
	}
	.modalpanel .HumanS .maintxt p:first-child {
		font-size: 2.4rem;
		margin-bottom: 6rem;
	}
	.modalpanel .HumanS .maintxt p {
		display: block;
		width: 58rem;
		font-size: 2.4rem;
	}
	.modalpanel .HumanS .maintxt p .imgwrap {
		width: 100%;
		margin-bottom: 1rem;
	}
	.modalpanel .HumanS .maintxt p .note {
		color: #000;
	}
	/*--------------------
	ツボミチャン 漫画*/
	.modalpanel .Comic {
	}
	.modalpanel .Comic .maintxt img {
		width: 100%;
	}

.modalpanel .converarea {
	display: block;
	padding: 2.5rem 0;
	text-align: center;
}
.modalpanel .converarea .free {
	margin-bottom: 1rem;
	font-size: 2.6rem;
}
.modalpanel .converarea .linkBbtnarea {
	display: inline-block;
}
.modalpanel .converarea .linkBbtnarea .btn {
	font-size: 2.1rem;
	margin: 0;
	padding: 1rem 9rem;
}




.modal_close {
	top: auto;
	bottom: 100%;right: 0;
}
.modal_close button img {
	width: 3.6rem;
}


/*--------------------
2カラムレイアウト*/
.l_2column {
	margin: auto;
	padding-bottom: 3.5rem;
	padding-right: 0;
	width: 57.4rem;
}
.l_2column_img {
	margin-top: 5rem;
	position: static;
	width: 100%;
}
.spcont .cont .panel .l_2column_img img {
	width: 100%;
}
.l_2column_txt {
	font-size: 2.4rem;
	line-height: 2;
}
