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

/*	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%);
}
#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 { max-width: 1040px; margin: 0 auto;}
	#schedule p span {
		background-image: url(../img/img_schedule_pc.png);
		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);
		padding-top: -webkit-calc(90 / 750 * 100%); padding-top: calc(90 / 750 * 100%);
	}
}

/*	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.png);
	height:0;
	padding-top: -webkit-calc(732 / 1920 * 100%);
	padding-top: calc(732 / 1920 * 100%);
}
	#topConsept p.txt:first-of-type { padding-top: 15px; font-size: 1.1em; line-height: 2.0em;}
	#topConsept p.txt:last-of-type { padding-top: 8px; font-size: 1.6em; line-height: 1.2em;}
}
@media all and (max-width: 767px) {
	#topConsept {}
	#topConsept #consept {background-image: url(../img/img_consept_sp.png);
	height:0;
	padding-top: -webkit-calc(500 / 1000 * 100%);
	padding-top: calc(500 / 1000 * 100%);}
	#topConsept p.txt:first-of-type { padding-top: 5%; font-size: 1.1em; line-height: 1.8em;}
	#topConsept p.txt:last-of-type { padding-top: 2%; font-size: 1.4em; line-height: 1.2em;}
}
@media all and (max-width: 719px) {
	#topConsept p.txt:first-of-type {padding-top: 3%; font-size: 1em; line-height: 1.8em;}
	#topConsept p.txt:last-of-type { padding-top: 2%; font-size: 1.4em; line-height: 1.2em;}
}
@media all and (max-width: 619px) {
	#topConsept p.txt:first-of-type {padding-top: 3%; font-size: 0.9em; line-height: 1.8em;}
	#topConsept p.txt:last-of-type { padding-top: 2%; font-size: 1.3em; line-height: 1.2em;}
}
@media all and (max-width: 559px) {
	#topConsept p.txt:first-of-type { padding-top: 3%;font-size: 0.8em; line-height: 1.8em;}
	#topConsept p.txt:last-of-type { padding-top: 2%; font-size: 1.1em; line-height: 1.2em;}
}
@media all and (max-width: 479px) {
	#topConsept p.txt:first-of-type { padding-top: 3%;font-size: 0.7em; line-height: 1.9em;}
	#topConsept p.txt:last-of-type { padding-top: 2%; font-size: 1.1em; line-height: 1.2em;}
}
@media all and (max-width: 469px) {
	#topConsept p.txt:first-of-type {font-size: 0.6em; line-height: 1.8em;}
	#topConsept p.txt:last-of-type { padding-top: 1%; font-size: 0.9em; line-height: 1.2em;}
}


.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/consept/tit_ambassador.png?202505); }

.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 { 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#topTryana figure span, .listArea#topAmbassador figure span {
    padding: 100% 0 0;
}
.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 {/*color: #970a31; text-align: center;*/ display: none;}


@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;}
	

}


.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;}
}


/*	#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?2505);
	text-indent: -9999px;
	padding-top: -webkit-calc(186 / 740 * 100%); padding-top: calc(186 / 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:center;
}
div.sns-icons aside > div h3 {
	text-align:center;
	line-height:1.5;
	font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 700;
font-style: normal
}
div.sns-icons > aside > div h3 span { font-size: 70%; font-weight: 600;}
div.sns-icons aside > div p {
	text-align:center;
	line-height:1.5;}
div.sns-icons ul li span, div.sns-icons ul li a {
	display:block;
}
div.sns-icons ul {
	display:flex;
	justify-content:center;
}
div.sns-icons ul li a {
	position:relative;
	height:0;
	padding-top:100%;
	overflow:hidden;
	border-radius:50% 50%;
}
div.sns-icons ul li 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 ul li a span {
	background-image:url(/um/img/sns_logos.svg);
	background-color:#000;
}
div.sns-icons ul li.tw a span {
	background-position:left top;
}
@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-left:20px;
}
div.sns-icons > aside > div h3 {
	font-size:150%;
}
div.sns-icons > aside > div p {
	font-size:83%;
}
div.sns-icons ul li {
	width:88px;
}
}
@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 > aside > div p {
	font-size:2.5vw;
}
div.sns-icons aside > div {
	margin-left:14px;
}
div.sns-icons ul li {
	width:70px;
}
}
