/*	トップページ
============================== */

/*	main
============================== */
#mainArea { border-bottom:solid 1px #d9d9d9; width: 100%;}
#main, #schedule { width: 100%; }
#main p, #schedule p {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
  }
#main p span {
	display: block;
	position: relative;
	background-size: 100%;
	background-position: center center;
	height: 0;
    padding-top: -webkit-calc(560 / 1000 * 100%); padding-top: calc(560 / 1000 * 100%);
}
#mainArea a { display: block;}
#mainArea .topicsLink {background-color: #fd819a; color: #fff; text-align: center;
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 700;
font-style: normal;}
#mainArea a:hover .topicsLink {background-color: #ff90a6;}
#schedule p span {
	display: block;
	position: relative;
	background-size: 100%;
	background-position: center center;
	height: 0;
	text-indent: -9999px;
}
#main p span img, #schedule p span img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }



@media all and (min-width: 768px) {
	#mainArea {
		background-color: #fff;
	}
	#main, #schedule, .topicsLink, #mainArea a { max-width: 1040px; margin: 0 auto;}
	#mainArea .topicsLink { padding: 20px 0; font-size: 1.2em;}
	#schedule p span {
		background-image: url(../img/img_schedule_pc.png?202605);
		padding-top: -webkit-calc(90 / 1000 * 100%); padding-top: calc(90 / 1000 * 100%);
	}
}
@media all and (max-width: 767px) {
	#schedule p span {
		background-image: url(../img/img_schedule_sp.png?202605);
		padding-top: -webkit-calc(90 / 750 * 100%); padding-top: calc(90 / 750 * 100%);
	}
	#mainArea .topicsLink { padding: 12px 0; font-size: 0.9em;}
}

/*	contents
============================== */

#topConsept { border-bottom:solid 1px #d9d9d9; border-top:solid 1px #d9d9d9; background-color: #fff; width: 100%;}
#topConsept #consept {
	background-position: center center;
    background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	}
	#topConsept h2, #topConsept .txt {height: 0; text-indent: -9999px; }
/*#topConsept .txt {text-align: center;
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 800;
font-style: normal;
-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
color: #f97088;}*/

#topConsept #consept a {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
/*#topConsept #consept a:hover { opacity:0.8;}*/


@media all and (min-width: 768px) {
	#topConsept div { width: 100%; max-width: 1040px; margin: 0 auto;}
	#topConsept #consept {background-image: url(../img/img_consept_pc.jpg);
	height:0;
	padding-top: -webkit-calc(732 / 1920 * 100%);
	padding-top: calc(732 / 1920 * 100%);
}
}
@media all and (max-width: 767px) {
	#topConsept {}
	#topConsept #consept {background-image: url(../img/img_consept_sp.jpg);
	height:0;
	padding-top: -webkit-calc(500 / 1000 * 100%);
	padding-top: calc(500 / 1000 * 100%);}
}


.listArea { border-bottom:solid 1px #d9d9d9; position: relative;}
.listArea h2 {
	margin: 0 auto;
	background-position: center top;
    background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	}
.listArea#topPrograms h2 { background-image: url(../img/top_h2_programs.png); }
.listArea#topTryprog h2 { background-image: url(../img/top_h2_prog.png); }
.listArea#topTryana h2 { background-image: url(../img/top_h2_ana.png); }
.listArea#topContents h2 { background-image: url(../img/top_h2_contents.png); }
.listArea#topLibrary h2 { background-image: url(../img/consept/tit_library.png); }
.listArea#topAmbassador h2 { background-image: url(../img/top_h2_ambassador.png); }
.listArea#topTaishi h2 { background-image: url(../img/consept/tit_ambassador.png); }
.listArea#topJNN h2 { background-image: url(../img/top_h2_network.png); }


.tolist {display:flex;
	justify-content: flex-end;}
.tolist a {
	display: block;
	background-position: center top;
    background-repeat: no-repeat;
	background-size: cover;
	text-indent: -9999px;
	/*position: absolute;*/
	}
.tolist a:hover { opacity:0.8;}
.listArea#topPrograms .tolist a { background-image: url(../img/btn_programs_list.png?202411); }
.listArea#topTryprog .tolist a { background-image: url(../img/btn_try_prog_list.png?202411); }
.listArea#topTryana .tolist a { background-image: url(../img/btn_try_ana_list.png?202411); }
.listArea#topContents .tolist a { background-image: url(../img/btn_contents_list.png?202411); }
.listArea#topLibrary .tolist a, .listArea#topTaishi .tolist a { background-image: url(../img/btn_library_list.png?202411); }

.listArea figure span {
	display: block;
	position: relative;
	background-size: 100%;
	background-position: center center;
	height: 0;
    padding: 56.25% 0 0;
}
.listArea#topTaishi figure span, .listArea#topAmbassador figure span {
    padding: 100% 0 0;
}
.listArea#topJNN figure span {
	display: block;
	position: relative;
	background-size: cover;
	background-position: center center;
	height: 0;
    padding-top: -webkit-calc(16 / 9 * 100%);
	padding-top: calc(16 / 9 * 100%);
}
.listArea figure span img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
.listArea figure {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
  }
.listArea a:hover figure { opacity:0.8;}

.listArea h3 { padding: 10px 0 3px; font-size: 1.1em; line-height: 1.3em;}
#topPrograms h3 {color: #14813b;}
#topPrograms .date {color: #185baa; padding-bottom:3px; font-size: 0.9em;}
#topPrograms .txt {font-size: 0.9em;}
#topTryprog h3 {color: #ec6a06; text-align: center;}
#topTryana h3 {/*color: #0094d9; text-align: center;*/ display: none;}
#topContents h3 {color: #dc097b; text-align: center;}
#topLibrary h3 {color: #0075ba; text-align: center;}
#topAmbassador h3, #topTaishi h3 {/*color: #970a31; text-align: center;*/ display: none;}
#topJNN .iconYoutube, #topJNN .iconX, #topJNN .iconInstagram, #topJNN .iconTiktok { padding: 0.5em 0 0.2em;}
#topJNN .iconYoutube span, #topJNN .iconX span, #topJNN .iconInstagram span, #topJNN .iconTiktok span { display: inline-block; padding: 2px; color: #fff; font-size: 0.9em; padding: 0.2em 0.5em;
font-family: "tot-shizukardgo-stdn", sans-serif;
    font-weight: 800;
    font-style: normal;
border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;
}
#topJNN .iconYoutube span {background-color: rgba(197, 25, 45, 1)}
#topJNN .iconX span {background-color: rgba(0, 95, 190, 1);}
#topJNN .iconInstagram span {background-color: rgba(220, 9, 123, 1);}
#topJNN .iconTiktok span {background-color: rgba(64, 121, 54, 1);}
#topJNN .add { width: 95%; margin: 1em auto 0; text-align: right; color: #000;}

@media all and (min-width: 768px) {
	.listArea { padding-top: 36px; padding-bottom: 40px; }
	.listArea h2 { width:500px; height: 62px; }
	.tolist { padding: 0 25px 25px 0;}
	.tolist a { width:136px; height: 20px;  top:78px; right: 25px;}
	

}

@media all and (max-width: 767px) {
	.listArea { padding-top: 22px; padding-bottom: 22px;  }
	.listArea h2 { width:90%; height: 50px; }
	.tolist { padding: 5px 5px 10px 0;}
	.tolist a { width:102px; height: 15px;  top:70px; right: 5px;}
	.listArea h3 { padding: 8px 0 3px; font-size: 1.0em;}
	#topPrograms .date {font-size: 0.8em; line-height: 1.5em;}
	#topPrograms .txt {font-size: 0.8em; line-height: 1.5em;}
	#topPrograms h3.titL {font-size: 0.9em;}
	#topTryprog h3 { font-size: 0.9em;}
	#topLibrary h3.sm { font-size: 0.9em;}
	#topJNN .iconYoutube span, #topJNN .iconX span, #topJNN .iconInstagram span, #topJNN .iconTiktok span {font-size: 0.8em;}

}


.comingsoon { text-align: center; color: #999; background-color: #f1f1f1;
background-position: center center;
    background-repeat: no-repeat;
	text-indent: -9999px;
	background-image: url(../img/img_comingsoon.png?2411);
margin-top: 15px;
}
@media all and (min-width: 768px) {
.comingsoon {height: 230px;}
}

@media all and (max-width: 767px) {
.comingsoon {height: 150px; background-size: 200px auto;}
}

/*	#topUpcycling
============================== */
#topUpcycling{border-bottom:solid 1px #d9d9d9;}
#topUpcycling h2 {margin: 0 auto;
	display: block;
	background-position: center top;
    background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	background-image: url(../img/top_h2_upcycling.png); }
#topUpcycling .copy, #topUpcycling h3, #topUpcycling article dl dt span {
	font-family: "tot-shizukardgo-stdn", sans-serif;
    font-weight: 800;
    font-style: normal;}
#topUpcycling .copy {
	color: #DC087C;
    font-weight: 600;
	text-align: center;
	line-height: 1.4em;}
#topUpcycling .address { line-height: 1.6em; font-weight: bold;}
#topUpcycling article { padding-bottom: 1em;}
#topUpcycling article h3 {color: #119B0F; border-bottom: solid 3px #59BE3D; padding: 0 0.2em 0.2em; line-height: 1.3em;}

#topUpcycling .present { background-color: #FFF4CB; padding: 1em; text-align: center;
	border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
margin-bottom: 2em;}
#topUpcycling .present h3 {color: #DC087C; padding: 0; line-height: 1.3em;}
#topUpcycling .shipping { border: solid 1px #59BE3D; padding: 1em; margin-bottom: 1.5em;}
#topUpcycling .shipping h3 {color: #119B0F; padding: 0;}

#topUpcycling .txt, #topUpcycling .txtS, #topUpcycling article dl dd { line-height: 1.6em; padding-bottom: 1em;}
#topUpcycling .shipping .deadline {color: #DC087C; line-height: 1.6em; padding-bottom: 0.3em; }
#topUpcycling article dl dt {
	background-position: left top;
    background-repeat: no-repeat;
	display: table;
	 }
#topUpcycling article dl dt span {vertical-align: middle;display: table-cell; line-height: 1.3em; font-weight: 600; }
#topUpcycling article dl.goal12 dt {background-image: url(../img/sdg_12.png); color: #D39206;}
#topUpcycling article dl.goal13 dt {background-image: url(../img/sdg_13.png); color: #407936;}
#topUpcycling article dl.goal17 dt {background-image: url(../img/sdg_17.png); color: #023067;}
#topUpcycling article#guideline h3 {color: #D39206; border-bottom: solid 2px #D39206; font-weight: 600;}
#topUpcycling article .guide {padding-left:1em; text-indent:-1em; padding-bottom: 1em; line-height: 1.5em; text-align: left;}
#topUpcycling article .guide span.guideTit {color: #D39206; font-weight: 600;}

@media all and (min-width: 768px) {
	#topUpcycling { padding: 40px 0 60px;}
	#topUpcycling h2 { width:637px; height: 62px; }
#topUpcycling .copy {font-size: 1.4em; padding: 1em;}
	#topUpcycling article h3 {font-size: 1.2em; margin-bottom: 0.6em;}
	#topUpcycling .present h3 {font-size: 1.4em; margin-bottom: 0.6em;}
	#topUpcycling .shipping h3 {font-size: 1.2em; margin-bottom: 0.6em;}
	#topUpcycling .txtS {font-size: 0.9em;}
	#topUpcycling .shipping .deadline {font-size: 1.1em;}
	#topUpcycling .address {font-size: 1.1em;}
	#topUpcycling article dl dt {
	background-size: 60px 60px;
	height: 60px; padding-left: 70px; margin-bottom: 0.5em;
	 }
	#topUpcycling article dl dt{ font-size: 1.1em;}
}

@media all and (max-width: 767px) {
#topUpcycling { padding: 17px 0 40px;}
#topUpcycling h2 {background-image: url(../img/top_h2_upcycling_sp.png); width:90%; height: 100px; }
#topUpcycling .copy {font-size: 1.1em; padding:1em 0.5em 0.5em;}
#topUpcycling .txt, #topUpcycling article dl dd, #topUpcycling article .guide {font-size: 0.9em;}
#topUpcycling .txtS {font-size: 0.8em;}
#topUpcycling article h3, #topUpcycling .shipping h3 {font-size: 1.05em; margin-bottom: 0.4em;}
#topUpcycling .present h3 {font-size: 1.2em; margin-bottom: 0.4em;}
#topUpcycling .shipping .deadline {font-size: 1.0em;}
#topUpcycling .address {font-size: 1.0em;}
	#topUpcycling article dl dt {
	background-size: 50px 50px;
	height: 50px; padding-left: 60px; margin-bottom: 0.3em;
	 }
	#topUpcycling article dl dt{ font-size: 1em;}
}

/*	#company
============================== */
#company {margin: 0 auto; position: relative;}
#company h2 {
	margin: 0 auto;
	display: block;
	background-position: center top;
    background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	background-image: url(../img/top_h2_company.png);
	}
#company ul { background-color: #fff; border-radius: 20px;
    background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url(../img/company_logo.png?2605);
	text-indent: -9999px;
	padding-top: -webkit-calc(323 / 740 * 100%); padding-top: calc(323 / 740 * 100%);
}
#company ul li {text-indent: -9999px; height: 0;}


@media all and (min-width: 768px) {
	#company { padding: 40px 0 60px;}
	#company .wrap {width: 740px; margin: 0 auto; padding-top: 10px;}
	#company h2 {
	width:500px; height: 62px;
	}	
}

@media all and (max-width: 767px) {
	#company { padding: 17px 0 40px;}
	#company .wrap {width: 95%; margin: 0 auto; padding-top: 10px;}
	#company h2 {
	width:90%; height: 50px;
	}
	#company ul { background-size: 95%; background-position: center center; }
}

/*	#snsArea
============================== */
#snsArea {border-bottom: solid 1px #d9d9d9;}
#snsArea h2 {
	margin: 0 auto;
	display: block;
	background-position: center top;
    background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	background-image: url(../img/top_h2_sns.png);
	}

div.sns-icons {
	position: relative;
}
div.sns-icons aside {
	display:flex;
	justify-content:center;
	align-items:top;
}
div.sns-icons p { text-align: center;}
div.sns-icons aside > div h3 {
	text-align:center;
	line-height:1.2;
	font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 700;
font-style: normal;
	padding-top: 5px;
}
div.sns-icons > aside > div h3 span.add { font-size: 70%; font-weight: 600;}
div.sns-icons > aside > div h3 span.ytTit { font-size: 77%;}
div.sns-icons aside > div p {
	text-align:center;
	line-height:1.5;
margin:0 auto;}
div.sns-icons > aside > div p span, div.sns-icons > aside > div p a {
	display:block;
}
div.sns-icons ul {
	display:flex;
	justify-content:center;
}
div.sns-icons > aside > div p a {
	position:relative;
	height:0;
	padding-top:100%;
	overflow:hidden;
	border-radius:50% 50%;
}
div.sns-icons > aside > div p a span {
	background-size:300% 300%;
	background-image:url(/um/img/sns_logos.svg?0);
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-indent:110%;white-space:nowrap;overflow:hidden;
}
div.sns-icons > aside > div p a span {
	background-image:url(/um/img/sns_logos.svg);
	background-color:#000;
}
div.sns-icons > aside > div p.tw a span {
	background-position:left top;
}
div.sns-icons > aside > div p.yt a span {
	background-color:#da1725;
	background-position:left center;
}
@media all and (min-width: 768px) {
#snsArea { padding: 30px 0;}
#snsArea h2 { width:140px; height: 62px; }
div.sns-icons {
	padding:25px 0 25px;
}
div.sns-icons aside > div {
	margin:0 0 20px; width: 295px;
}
div.sns-icons > aside > div h3 {
	font-size:150%;
}
div.sns-icons p {
	font-size:83%;
}
div.sns-icons > aside > div p {
	width:100px;
}
}
@media all and (max-width: 767px) {
#snsArea { padding: 15px 0;}
#snsArea h2 { width:113px; height: 50px; }
div.sns-icons {
	padding:15px;
}
div.sns-icons > aside > div h3 {
	font-size:4.5vw;
}
div.sns-icons p {
	font-size:2.5vw;
}
div.sns-icons aside > div {
	margin:0 0 14px; width: 45%;
}
div.sns-icons > aside > div p {
	width:70px;
}
}

#progArea ul{ margin: 0 auto;}
#progArea .topicsLink {background-color: #f97088; color: #fff; text-align: center;
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 700;
font-style: normal;
display: block;}
#progArea a:hover .topicsLink {background-color: #f0884c;}
@media all and (min-width: 768px) {
	#progArea ul{ width: 600px;}
	#progArea .topicsLink { padding: 16px 0; font-size: 1.2em;}
}
@media all and (max-width: 767px) {
	#progArea ul{ width: 90%;}
	#progArea .topicsLink { padding: 12px 0; font-size: 0.9em;}
}