@charset "utf-8";
body{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.6;
	color: #333;
	margin: 0;
	padding: 0;
}
body.kyozai-page {
	background-color: #000E1B;
	background-image: url(../images/page-bg-head.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}


*{ margin:0; padding:0; overflow-wrap: break-word;}
li img{ vertical-align:top;}
img{ border:none;}
a { color:#2837A2;}
a:hover { color: #6473D9;}
a:focus { color: #333 !important;background-color: transparent;}


/* クリア */
.clearFix {min-height:1px;}
* html .clearFix {
  height:1px;
  /*¥*//*/
  height:auto;
  overflow:hidden;
  /**/
}
.clearFix:after {
  content:"."; 
  display:block; 
  height:0; 
  font-size:0;
  clear:both; 
  visibility:hidden;
}

/* ====================
共通
==================== */
#kyozai-page-article,footer {
	background-color: #E6EBEC;
}

/* ====================
トップページ
==================== */
#top-title {
	background-color:#ccc;
}
#top-title #top-title-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding:0 0 0 0;
	line-height:0;
	position:relative;
}

#top-title-inner img {
	width:100%;
	height:auto;
}

/* トップキャラフキダシ */
#top-title-inner .chara1,#top-title-inner .chara2 {
	position: absolute;
}
#top-title-inner .chara1 {
	position: absolute;
	top: 65px;
	left: 45px;
	width:190px;
	height:190px;
}
#top-title-inner .chara2 {
	position: absolute;
	bottom: 0px;
	right: 120px;
	width:95px;
	height:205px;
}
.chara1 .fukidashi1,.chara2 .fukidashi2 {
	position: absolute;
	display:none;
}
.chara1 .fukidashi1 {
	top: -30px;
	left: 210px;
	background-color: rgba(255,255,255,0.9);
	padding: 20px;
	width:240px;
	border-radius:10px;
}
.chara2 .fukidashi2 {
	top: 0px;
	right: 110px;
	background-color:  rgba(255,255,255,0.9);
	padding: 20px;
	width:240px;
	border-radius:10px;
}
.fukidashi1:after {
  content: '';
  position: absolute;
  width: 0px;
  height: 0px;
  border-top: 20px solid #fff;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  transform: rotate(90deg);
  bottom: 20px;
  left: -20px;
  opacity:0.9;
}
.fukidashi2:after {
  content: '';
  position: absolute;
  width: 0px;
  height: 0px;
  border-bottom: 20px solid #fff;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  transform: rotate(90deg);
  top: 80px;
  right: -20px;
  opacity:0.9;
}
.fukidashi1 p,.fukidashi2 p {
	line-height:1.5;
}
.chara1:hover .fukidashi1 {
	display:block;
}
.chara2:hover .fukidashi2 {
	display:block;
}


#top-main {
	background-color: #ECF0F1;
	padding: 0 0 30px 0;
}
.top-main-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding:30px 0 0 0;
}
#top-main h2 {
	display:inline-block;
	font-size:1.8em;
	font-weight:normal;
	border-bottom:1px solid #333;
	padding:0 10px;
	margin:0 0 30px 0;
}

.kyozai-base {
	background-color:#FFF;
	padding:20px 10px;
	margin:0 0 30px 0;
}
.kyozai-base h3 {
	font-size: 1.5em;
	font-weight: bold;
	display: block;
	min-height: 43px;
	background-image: url(../images/midashi-head-red.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding:7px 0 0 25px;
	margin:0 0 1em 10px;
}
.kyozai-base h3 .kyozai-absreact {
	display:inline-block;
	margin:0 0 0 1em;
	font-size:0.7em;
	font-weight:normal;
}
.kyozai-base h4 {
	font-size: 1.1em;
	font-weight: normal;
	margin:0;
	padding:0 10px;
}
.kyozai-list,.manual-list {
	display:flex;
	flex-wrap:wrap;
}
.kyozai-list a {
	width:24%;
	margin:0 0.5% 20px 0.5%;
	padding:0 0 10px 0;
	box-sizing:border-box;
	text-decoration:none;
	color:#333;
}
.kyozai-list a img {
	width:100%;
	height:auto;
}
.kyozai-list a:hover {
	background-color: #FFF0D0;
	color: #FF3A54;
}
.kyozai-list a:hover img {
	opacity:0.8;
}

.manual-list a {
	width:48%;
	margin:0 1% 0 1%;
	padding:10px;
	box-sizing:border-box;
	text-decoration:none;
	background-color:#fff;
	border:1px solid #fff;
	font-size:1.2em;
	color:#333;
}
.manual-list a img,a#share-program img {
	vertical-align:middle;
	margin:0 20px 0 0;
}

a#share-program {
	display:block;
	width:60%;
	margin:30px auto;
	box-sizing:border-box;
	padding:10px;
	color:#333;
	border:1px solid #fff;
	text-decoration:none;
	font-size:1.2em;
	background-color:#FFF;
}
.manual-list a:hover,a#share-program:hover {
	background-color: #FFF0D0;
	border:1px solid #F90;
	color: #FF3A54;
}

#top-bottom {
	padding: 0;
}
#top-bottom ul {
}


/* ====================
教材ページ（下層ページ）
==================== */

#kyozai-page-base {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	box-sizing:border-box;
}

/* 教材ページヘッダ */
#kyozai-page-header {
	border-bottom: 3px solid #FF3A54;
	position: relative;
	margin: 0 10px;
}
#kyozai-page-header:after {
  content:"."; 
  display:block; 
  height:0; 
  font-size:0;
  clear:both; 
  visibility:hidden;
}
#kyozai-page-header #kyozai-page-logo {
	position:absolute;
	top:10px;
	left:0px;
}
#menu {
	margin:0 0 0 190px;
}
#menu-hen {
	display:block;
	color:#fff;
	font-size:1.8em;
	border-bottom:2px solid #fff;
	margin:0 0 0 0;
	padding:10px 0 0 10px;
	background-color: rgba(0,0,0,0.3);
}
#menu-kaisetsu,#menu-jissen {
	display:flex;
	flex-wrap:wrap;
	/*justify-content: flex-end;*/
	box-sizing:border-box;
}
#menu-kaisetsu {
	height:160px;
	padding:50px 0 40px 0;
}
#menu-jissen {
	height:170px;
	padding:10px 0;
}
#menu-kaisetsu a,#menu-jissen a {
	margin:0 0 0 5px;
	background-color: #fff;
	color: #333;
	padding: 5px 0;
	border: 1px solid #FFF;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	font-size: 0.9em;
	width: 23%;
	margin:0 0 10px 1%;
}
#menu-kaisetsu a {
}
#menu-jissen a {
	min-height:3.5em;
}
#menu-kaisetsu a:hover,#menu-jissen a:hover {
	background-color: #FFAAB5;
	color: #000;
	border: 1px solid #FFAAB5;
	text-decoration: none;
}
#menu-kaisetsu a.page-now,#menu-jissen a.page-now {
	background-color:#FF3A54;
	color:#FFF;
	border:1px solid #FF3A54;
}

/* 教材ページ記事本体 */

.mokuji-list {
	line-height:1.8;
}

#kyozai-page-article {
	margin: 0 10px;
	padding:30px 30px 50px 30px;
}
#bread-crumb {
	margin: 0 0 50px 0;
	padding:0 0 5px 0;
	border-bottom: 1px solid #C2CED1;
	font-size:0.8em;
}
#bread-crumb ul {
	list-style:none;
}
#bread-crumb li {
	display: inline;
}
#bread-crumb li:after {
	content: '>';
	padding-left: 2px;
}
#bread-crumb li:last-child:after {
	content: '';
}
#bread-crumb a {
	text-decoration:none;
}
#bread-crumb a:hover {
	text-decoration:underline;
}

#kyozai-page-article p,#kyozai-page-article ul,#kyozai-page-article ol {
	font-size:1.2em;
}
#kyozai-page-article p {
	margin:0 0 0.5em 0;
}
.section-title {
	display:table;
	width:100%;
	background-color:#FFF;
	margin:0 0 50px 0;
}
.section-title .section-img,.section-title h1 {
	display:table-cell;
}
.section-title .section-img {
	width:260px;
	line-height:0;
}
.section-title h1 {
	padding: 0 20px;
	vertical-align: middle;
	font-size: 1.7em;
	font-weight: normal;
}

h1.normal-midashi {
	display: block;
	background-color: #FFF;
	font-size: 1.7em;
	font-weight: normal;
	border-left: 5px solid #FF3A54;
	padding: 10px;
}
h2.normal-midashi {
	font-size:1.5em;
	font-weight:bold;
	border-bottom:1px solid #FF3A54;
	margin:1em 0;
}
h3.normal-midashi {
	font-size:1.3em;
	font-weight:bold;
	border-left:5px solid #FF3A54;
	margin:1em 0;
	padding:5px;
}
h4.normal-midashi {
	font-size:1.3em;
	font-weight:bold;
	color:#FF3A54;
	margin:0.5em 0;
}
h4.underline-midashi {
	display:inline-block;
	font-size:1.3em;
	font-weight:bold;
	color:#FF3A54;
	border-bottom:2px solid #FF3A54;
	padding:0 5px;
	margin:0.5em 0;
}

.setsumei-layout1 {
	padding:0 0 0 620px;
	position:relative;
	min-height:500px;
	margin:0 0 50px 0;
}
.height-free {
	min-height:auto !important;
}
.height-middle {
	min-height:400px !important;
}
.setsumei-layout1 .setsumei-chara {
	text-align:center;
	padding:35px 0 0 0;
}
.setsumei-layout1 .setsumei-img {
	position:absolute;
	top:0px;
	left:0px;
	width:500px;
	text-align:center;
}
.setsumei-img-right {
	text-align:right !important;
}
.setsumei-layout1 .setsumei-img img {
	max-width:600px;
	max-height:500px;
}

.setsumei-txt {
	background-color:#FFF;
	border-radius:20px;
	padding:20px;
	position:relative;
}
.setsumei-txt .fukidashi {
	position:absolute;
	bottom:-40px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.setsumei-txt .fukidashi-l {
	position:absolute;
	top:50%;
	left: -30px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: rotate( 90deg );
}

.setsumei-txt img {
	margin:0 5px;
}

.setsumei-layout2 {
	margin:30px 0;
}
.setsumei-layout2 .setsumei-txt {
	background-color:#FFF;
	border-radius:20px;
	padding:20px;	
}
.setsumei-layout2 .setsumei-img {
	padding:30px 0 20px 0;
	text-align:center;
}
.setsumei-layout2 .setsumei-img img {
	max-width:100%;
	height:auto;
}

.setsumei-layout3 {
	margin:30px 0;
	background-color:#FFF;
	border-radius:20px;
	padding:30px 20px;
	vertical-align:top;
}
.layout3-line {
	display:table;
	width:100%;
	margin:0 0 1em 0;
}
.layout3-line .layout3-txt,.layout3-line .layout3-img {
	display:table-cell;
	vertical-align:top;
}
.layout3-line .layout3-txt {
	padding:0 20px 0 0;
}

.layout4-line {
	display:table;
	width:100%;
	margin:30px 0;
}
.layout4-line .layout4-txt,.layout4-line .layout4-img {
	display:table-cell;
	vertical-align:top;
}
.layout4-line .layout4-txt {
	background-color:#FFF;
	border-radius:20px;
	padding:20px;
}
.layout4-line .layout4-img {
	width:420px;
	padding:0 0 0 20px;
	text-align:center;
}
.layout4-line .layout4-img img {
	max-width:100%;
	height:auto;
}

.bg-play {
	background-color:#FFF0D0;
	text-align:center;
}
.word-play {
	font-size:1.2em;
	font-weight:bold;
	background-color:#FF3A54;
	color:#FFF;
}



/* 用語集 */
dl.accordion {
}
dl.accordion dt {
	display: block;
	background-color: #FFD2D8;
	padding: 10px 10px 10px 35px;
	font-weight: bold;
	font-size: 1.3em;
	cursor: pointer;
	border-bottom: 1px solid #E6EBEC;
	background-image: url(../images/dot-down.png);
	background-repeat: no-repeat;
	background-position: left 10px center;
}
dl.accordion dd {
	display:none;
}
dl.accordion dd p {
	display:block;
	background-color:#FFF;
	font-size:1.0em;
	margin:0 0 30px 0 !important;
	padding:20px;
}
.kaisetsu-block {
	display:block;
	text-align:center;
	margin:15px 0;
	font-size:0.9em;
}

.quiz {
}
.quiz iframe {
	width:900px;
	height:750px; 
}



/* ページャ */
.pager {
	text-align:center;
	margin:30px 0 0 0;
}
.pager a {
	display:inline-block;
	background-color:#FFF;
	border:2px solid #FF3A54;
	text-decoration:none;
	margin:0 10px;
	color:#333;
	background-repeat: no-repeat;
}
.pager a:hover {
	background-color:#FF3A54;
	color:#FFF;
}
.pager a.prev {
	padding:5px 10px 5px 20px;
	background-position: left 5px center;
	background-image: url(../images/pager-prev.png);
}
.pager a.prev:hover {
	background-image: url(../images/pager-prev-on.png);
}
.pager a.next {
	padding:5px 20px 5px 10px;
	background-position: right 5px center;
	background-image: url(../images/pager-next.png);
}
.pager a.next:hover {
	background-image: url(../images/pager-next-on.png);
}



/* 教材以外のページ */
#etc-page-article {
	margin: 30px 0 0 0;
	padding: 30px 30px 50px 30px;
	background-color: #fff;
}
#etc-kyozai-title {
	font-size:1.2em;
	font-weight:bold;
	background-color:#E6EBEC;
	margin:0 0 1em 0;
	padding:5px;
}
#etc-kyozai-title img {
	height: 70px;
	width: auto;
	margin:0 10px 0 0;
	vertical-align: middle;
}
#etc-page-article #bread-crumb {
	margin: 0 0 30px 0;
}
#etc-page-article ul.list-side-link {
	list-style: none;
}
#etc-page-article ul.list-side-link li {
	display:inline-block;
}
#etc-page-article ul.list-side-link a {
	display:block;
	background-color:#FFAAB5;
	color:#333;
	text-decoration:none;
	padding:5px;
}
#etc-page-article ul.list-side-link a:hover {
	background-color:#FF3A54;
	color:#fff;
}
#etc-page-article h1.etc-title {
	border-bottom:2px solid #FF3A54;
	font-size:1.5em;
	margin:0 0 1em 0;
}
#etc-page-article h2 {
	border-left:5px solid #FF3A54;
	font-size:1.3em;
	padding:10px 5px;
	margin:0 0 1em 0;
}
#etc-page-article h3 {
	color:#FF3A54;
	font-size:1.2em;
	margin:0 0 0.5em 0;
}
#etc-page-article h4 {
	color:#333;
	font-size:1.1em;
	margin:0 0 0.5em 0;
}
#etc-page-article p {
	text-indent:1em;
	margin:0 0 0.5em 0;
}
#etc-page-article p.rev-ind {
	padding:0 0 0 1em;
	text-indent:-1em;
}
#etc-page-article p+h2,#etc-page-article ul+h2,
#etc-page-article div+h2 {
	margin:2em 0 1em 0;
}
#etc-page-article hr {
	background-color: #fff;
	border-top: 1px dashed #999;
	margin:1em 0;
}
#etc-page-article dl.credit {
}
#etc-page-article dl.credit dt {
	float:left;
}
#etc-page-article dl.credit dd {
	margin:0 0 0.5em 12em;
}
#etc-page-article ol.agreement {
	margin:1em 0 0 2em;
	font-weight:bold;
}
#etc-page-article ol.agreement li {
	margin:0 0 0.5em 0;
}
#etc-page-article ol.agreement li ul {
	list-style:disc;
	margin:0.5em 1em;
}
.etc-side-line {
	display:table;
	width:100%;
}
.etc-side-line .etc-side-img,.etc-side-line .etc-side-txt {
	display:table-cell;
	vertical-align:top;
}
.etc-side-line .etc-side-img {
	padding:0 10px;
}



/* サイトマップ */
#sitemap {
}
#sitemap .kaisou1 {
	padding:0.5em 0 0 2em;
}
#sitemap h2 {
	font-size:1.1em;
	font-weight:bold;
	border-left:10px solid #FF3A54;
	margin:0.5em 0;
	padding:0 0 0 5px;
}
ul.link-top {
	margin: 0 0 0 30px;
	list-style-image: url(../images/dot-square.png);
}
.kaisou1 ul {
	padding: 0 0 0 1em;
	list-style-image: url(../images/dot-square.png);
}
.kaisou1 ul>li>ul {
	padding: 0 0 10px 1em;
	list-style-image: url(../images/dot-pink.png);
}



/* ====================
フッタ
==================== */
footer {
	margin: 50px 0 0 0;
	padding:15px 0;
}
footer #footer-article {
	display:table;
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
#footer-article #footer-left,#footer-article #footer-right {
	display:table-cell;
}
#footer-article #footer-left {
	padding:0 0 0 10px;
}
#footer-left p {
	font-weight:bold;
	font-size:1.1em;
	margin:0 0 10px 0;
}
#footer-left ul {
	list-style:none;
	margin:0 0 20px 0;
}
#footer-left ul li {
	display:inline-block;
	padding:5px 10px;
	border-left:1px solid #ccc;
}
#footer-left ul li:last-child {
	border-left:1px solid #ccc;
	border-right:1px solid #ccc;
}
#footer-article #footer-right {
	vertical-align:bottom;
	width:450px;
}
#footer-right img {
	height:80px;
	width:auto;
	margin-left:10px;
}
#footer-right p {
	font-size:0.8em;
}


/* ====================
ページの先頭へ
==================== */

.pagetop{
	position: fixed;
	bottom: -80px;
	right: 20px;
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter: alpha(opacity=60); /* ie6.7 */
	-ms-filter: "alpha(opacity=60)"; /* ie 8 */
	z-index: 10000;
}
.pagetop a{
	display: block;
	width: 50px;
	height: 50px;
	background-color: #FF3A54;
	text-align: center;
	color: #fff;
	font-size: 110%;
	line-height: 35px;
	text-decoration: none;
	border-radius: 5px;
}



/* ====================
汎用
==================== */

ul.normal-dot,ol.normal-number {
	margin:0.5em 0 0.5em 30px;
}
ul.normal-dot {
	list-style:disc;
}
ol.normal-number {
}
ol.normal-number li {
	margin-bottom: 0.5em;
}
ul.link-list {
	list-style-image: url(../images/dot-pink.png);
	margin:0.5em 0 0.5em 30px;
}
ul.list-inline {
	list-style:none;
}
ul.list-inline li {
	display:inline-block;
}

.ind-2em {
	padding-left:2em;
	text-indent:-2em;
}

.place-left {
	text-align:left;
}
.place-center {
	text-align:center;
}
.place-right {
	text-align:right;
}

.txt-80 {
	font-size:0.8em !important;
}
.txt-90 {
	font-size:0.9em !important;
}
.txt-100 {
	font-size:1.0em !important;
}
.txt-bold {
	font-weight:bold;
}
.txt-normal {
	font-weight:normal;
}

.margin-t10 {
	margin-top:10px;
}
.margin-t20 {
	margin-top:20px;
}
.margin-l20 {
	margin-left:20px;
}
