@charset "utf-8";

/******************************************/
/* 00. Reset                              */
/******************************************/

html, body{
	margin:  0;
	padding: 0;
	width:  100%;
	height: 100%;

	color: #333;
/*    font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;*/

	overflow: hidden;
	-webkit-text-size-adjust: 100%;
	
	width : 100%;
	height: 100%;
}

* {
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
}

/* html5 新規要素 */
header, footer, nav, section, article, figure, aside {
	display: block;
}

ul, ol{
    margin:  0;
    padding: 0;
    list-style-type: none;
}

* {
	box-sizing: border-box;
}

a {
    text-decoration: none;
}

a:link {
	color: #333;
}

a:visited {
	color: #333;
}

a:hover {
	color: #333;
}


/******************************************/
/* 10. 全体設定　                           */
/******************************************/
body {
	background: #eaf2eb url("../image/bg.png");
}

.page {
	width: 1920px;
	height: 1080px;
	position: absolute;
	left  : 0;
	top   : 0;
	transform-origin: left top;
	-ms-transform-origin: left top;
	-moz-transform-origin: left top;
	-o-transform-origin: left top;
	-webkit-transform-origin: left top;
	overflow: hidden;
}

#title-screen, #search-screen, #detail-screen, #pdf-list {
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
}


/******************************************/
/* 20. タイトル画面（index.html）            */
/******************************************/
#title-screen h1 {
	width : 1500px;
	height:  400px;
	position:  absolute;
	left  : 0;
	right : 0;
	top   : 0;
	bottom: 100px;
	margin: auto;
	
	font-size: 0.1px;
	font-size: 0;
	
	display: block;
	background: url("../image/title.png") no-repeat center center;
}



#title-screen h1 {
  -webkit-animation: animation 750ms linear both;
  animation: animation 750ms linear both;
}



.animation-target {
	-webkit-animation: animation 750ms ease both;
	animation: animation 750ms ease both;
}

@-webkit-keyframes animation { 
    0% {opacity: 0}
    100% {opacity: 1}
}

@keyframes animation { 
    0% {opacity: 0}
    100% {opacity: 1}
}


/******************************************/
/* 30. 検索画面（menu.html）                */
/******************************************/
/* -- 検索条件設定 -------------------------------------------- */
#search-settings {
	background: #fff;
	font-size: 0.1px;
	font-size: 0;
	width: 1880px;
	margin: 20px auto 0 auto;
	
	-webkit-box-shadow: 0px 2px 9px 0px rgba(0,0,0,0.4);
	-moz-box-shadow   : 0px 2px 9px 0px rgba(0,0,0,0.4);
	box-shadow        : 0px 2px 9px 0px rgba(0,0,0,0.4);
	position: relative;
}

#search-settings dt, #search-settings dd {
	border: 2px solid;
	border-style: none none solid none;
	font-size: 34px;
	margin: 0;
}

#search-settings .row-2 {
	height: 160px;
}

#search-settings .row-1 {
	height: 80px;
}

#search-settings dt {
	background: #519e8d;
	color: #fff;
	font-weight : bold;
	width : 224px;
	padding: 12px 0 0 20px;
	display     : block;
	border-color: #86bbaf;
	z-index: 10;
}

#search-settings dd {
	display : block;
	padding: 0 400px 0 0;
	position: absolute;
	left: 224px;
	width: 1656px;

	border-color: #cccccc;
	z-index: 1;
}
#search-settings-years {
	top : 0px;
}

#search-settings-subjects {
	top : 160px;
}

#search-settings #search-settings-unit {
	top : 240px;
	border-style: none;
}

#search-settings dd ul {
}

#search-settings dd li {
	display: block;
	margin: 0 0 0 10px;
	float: left;
}

#search-settings label {
	cursor     : pointer;
	overflow   : hidden;
	display: block;
	padding: 0 0 0 78px;
	position: relative;
	width : 6em;
	height: 78px;
	line-height: 78px;
	box-sizing: content-box;
}

#search-settings input[type="checkbox"] {
	display: none;
}

#search-settings label span:before {
	content: " ";
	background: url("../image/setting_check.png") no-repeat left top;
	width : 78px;
	height: 100%;
	display: block;
	position: absolute;
	left  : 0;
	top   : 0;
	bottom: 0;
	margin: auto 0;
}

#search-settings label input:checked + span:before {
	background-position: left -78px;
}

#search-settings label input:checked + span {
	color: #b37700;
	font-weight: bold;
}

/* リストボックス */
#search-settings .listbox{
	margin: 4px;
	padding: 0 70px 0 8px;
	font-size: 32px;
	line-height: 64px;
	width: 19em;
	height: 70px;

	border: 3px solid #999999;
	background: url("../image/btn_pulldown.png") no-repeat right top;
	border-radius: 6px;
	position: relative;
	cursor: pointer;
	z-index: 100;
}

#search-settings .listbox > li{
	display: block;
	float: none;
	
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: #fff;
}

#search-settings .listbox .listbox-data{
	position: absolute;
	margin: 0 -8px;
	padding: 0;
	font-size: 0;
	font-size: 0.1px;

	background: #fff;
	border: solid 1px #ccc;
	border-style: solid solid none solid;

	-webkit-box-shadow: 0px 3px 9px 0px rgba(0,0,0,0.2);
	-moz-box-shadow   : 0px 3px 9px 0px rgba(0,0,0,0.2);
	box-shadow        : 0px 3px 9px 0px rgba(0,0,0,0.2);
}

#search-settings .listbox .listbox-data li{
	cursor: pointer;
	display: block;
	float: none;
	font-size: 26px;
	line-height: 1.75;
	width: 19em;
	margin: 0;
	padding: 0 0.4em;
	border: solid 1px #ccc;
	border-style: none none solid none;
	background: #fff;
	color: #333;
}

#search-settings .listbox .listbox-data li:hover{
	background-color: #aaf2e5;
	color: #000;
}



#search-settings #search-settings-unit div {
	overflow: hidden;
	font-size: 32px;
	width: 19em;
	height: 72px;
	line-height: 68px;
	padding: 0 4px;
	margin: 4px;
	border: 3px solid #999999;
	border-radius: 6px;
	position: relative;
	cursor: pointer;
	display: none;
}

#search-settings #search-settings-unit div:after {
	content: "";
	background: url("../image/btn_pulldown.png") no-repeat left top;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width :  70px;
	height:  70px;
	pointer-events: none;
}

#search-settings select,  #search-settings option {
	font-size: 32px;
}

#search-settings select {
	width: 130%;
	height: 100%;
	border: 0 none;
	outline: 0;
	display: block;
}

#search-settings option {
	line-height: 1;
}

#search-settings .disabled {
	opacity: 0.4;
}

/* -- 検索結果 -------------------------------------------- */
#search-results {
	position: relative;
	width: 1000%;
}

#search-results ul {
	position: absolute;
	width: 100%;
	left: 0;
	top : 0;
	
	/*
	transition:  0.3s;
	transition-timing-function: ease-out;
	*/
}

#search-results li {
	background: #fff;
	width : 590px;
	height: 572px;
	position: relative;
	top: 0;
	display: inline-block;
	margin: 20px 0 20px 20px;
	-webkit-box-shadow: 0px 2px 9px 0px rgba(0,0,0,0.4);
	-moz-box-shadow   : 0px 2px 9px 0px rgba(0,0,0,0.4);
	box-shadow        : 0px 2px 9px 0px rgba(0,0,0,0.4);
}

#search-results dl {
	width : 100%;
	height: 100%;
	display: table;
}

#search-results dt,
#search-results dd {
	margin: 0;
	display: table-cell;
}

#search-results dd.image {
	position: absolute;
	left : 0;
	right: 0;
	top  : 8px;
	margin: 0 auto;
	text-align: center;
	display: block;
	width : 574px;
	height: 362px;
	overflow: hidden;
	text-align: center;
}

#search-results dd img {
	display: block;
	position: absolute;
	left  : -100%;
	right : -100%;
	top   : -100%;
	bottom: -100%;
	margin: auto;
}

#search-results .title {
	line-height: 1.2;
	font-size: 23px;
	font-weight: 600;
	width : 100%;
	height: 76px;
	background: #e1f2ef no-repeat;
	padding: 0 0 0 84px;
	position: absolute;
	left: 0;
	top: 378px;
	
	display: table-cell;
	vertical-align: middle;
}

#search-results .title h2 {
	font-size: 23px;
	display: block;
	padding-right: 120px;
	width: auto;
	margin: 0;

	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}


#search-results .type-still {
	background-image: url("../image/result_icon_still.png");
}

#search-results .type-movie {
	background-image: url("../image/result_icon_movie.png");
}

#search-results .type-mix {
	background-image: url("../image/result_icon_mix.png");
}

#search-results .subject {
	font-size: 0;
	background: no-repeat right center;
	width : 96px;
	height: 40px;
	display: block;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

#search-results .subject.chemistry {
	background-image: url("../image/result_subject_chemistry.png");
}

#search-results .subject.geo {
	background-image: url("../image/result_subject_geo.png");
}

#search-results .subject.bio {
	background-image: url("../image/result_subject_bio.png");
}

/* 学年などの情報部分 */
#search-results .subinfo {
	background: #e5e5e5 url("../image/result_subinfo_bg.png");
	width: 100%;
	height: 118px;
	margin: 0;
	padding: 6px 10px;
	position: absolute;
	left  : 0;
	bottom: 0;
}

#search-results .subinfo table {
	background: #fff;
	font-size: 17px;
	border-collapse: collapse;
	width: 98%;

	position: absolute;
	left  : 6px;
	right : 6px;
	top   : 8px;
	margin: auto;
}

#search-results .subinfo td {
	background: no-repeat 2px center;
	border: 1px solid #808080;
	padding: 4px 0;
	line-height: 25px;
}

#search-results .subinfo .year-el,
#search-results .subinfo .year-jr {
	padding-left: 34px;
}

#search-results .subinfo .year-el {
	background-image: url("../image/result_school_el.png");
}

#search-results .subinfo .year-jr {
	background-image: url("../image/result_school_jr.png");
}

#search-results .subinfo .unit {
	background-image: url("../image/result_icon_unit.png");
	padding-left: 54px;
}

#search-results .subinfo .area {
	background-image: url("../image/result_icon_area.png");
	padding-left: 84px;
}


/* -- 検索結果スクロールボタン -------------------------------------------- */
#search-results-contorolls {
	width : 184px;
	height:  88px;
	margin: 0 auto;
	position: absolute;
	bottom: 16px;
	left  : 0;
	right : 0;
}

#search-results-contorolls input {
	content: " ";
	background: no-repeat center top;
	width: 84px;
	height: 100%;
	top: 0;
	border: 0 none;
	outline: none;
	cursor: pointer;
	position: absolute;
}

#search-results-contorolls input:active {
	background-position: center -88px;
}

#search-results-contorolls #search-results-left {
	background-image: url("../image/result_btn_left.png");
	left: 0;
}

#search-results-contorolls #search-results-right {
	background-image: url("../image/result_btn_right.png");
	right: 0;
}

/* -- ヘルプボタンなど -------------------------------------------- */
#search-help {
	width : 380px;
	height: 300px;
	position: absolute;
	right:  0;
	top  : 30px;
	font-size: 0;
	z-index: 100;
}

#search-help a {
	content: " ";
	background: no-repeat left top;
	display: block;
	position: absolute;
}

#search-help .btn-pdf {
	content: "";
	background-image: url("../image/btn_pdf_l.png");
	width : 254px;
	height:  88px;
	right : 130px;
}

#search-help .btn-help {
	content: "";
	background-image: url("../image/btn_help.png");
	width :  84px;
	height:  88px;
	right :  30px;
}


/******************************************/
/* 40. 詳細画面（detail.html）              */
/******************************************/
#detail-title {
	text-align: center;
	margin: 44px auto 30px auto;
	position:  relative;
	left: -24px;
	height: 142px;
}

#detail-title h1 {
	margin: auto;
	display: inline-block;
}

#detail-title h1 {
	position: relative;
	background: url("../image/detail_title_c.png") repeat-x center center;
	height: 100%;

/* --------------------------------------------------------
// [remake] planshouse 2019/11/11 Takemasa
	padding: 0 0.5em;
*/
	padding: 0 0 0 1em;
	font-weight: 300;
	font-size: 50px;
	line-height: 142px;
}

#detail-title h1:before {
	background: no-repeat right center;
	content: " ";
	display: block;
	width : 152px;
	height: 142px;
	position: absolute;
	left: -152px;
	top: 0;
}

#detail-title .vr-still:before {
	background-image: url("../image/detail_title_l_still.png");
}

#detail-title .vr-movie:before {
	background-image: url("../image/detail_title_l_movie.png");
}

#detail-title .vr-mix:before {
	background-image: url("../image/detail_title_l_mix.png");
}

/* 教科のアイコン */
#detail-title h1:after {
	background: no-repeat left center;
	content: " ";
	display: block;
	width : 200px;
	height: 142px;
	position: absolute;
	right: -200px;
	top: 0;
}

#detail-title .subject-chemistry:after {
	background-image: url("../image/detail_title_r_chemistry.png");
}

#detail-title .subject-geo:after {
	background-image: url("../image/detail_title_r_geo.png");
}

#detail-title .subject-bio:after {
	background-image: url("../image/detail_title_r_bio.png");
}

/* -- サムネイル、詳細 -------------------------------------------- */
#detail-body {
	margin: 0 auto;
	padding: 16px;
	width : 1814px;
	height:  642px;
	position: relative;
	background: url("../image/detail_body_bg.png") no-repeat center center;
}

#detail-pano-link {
	width : 923px;
	height: 100%;
	padding: 0 20px;
	display: block;
	position: absolute;
	left  : 36px;
	top   : 0;
	bottom: 0;
	margin: auto 0;

}

#detail-body-image{
	position: absolute;
	left  : 0;
	right : 0;
	top   : 0;
	bottom: 0;
	margin: auto 0;
	
	width : 923px;
	height: 568px;
	overflow: hidden;
}

#detail-body-image img {
	position: absolute;
	left  : -100%;
	right : -100%;
	top   : -100%;
	bottom: -100%;
	margin: auto;
	z-index: 1;
}

#detail-body-image:after {
	content: " ";
	background: url("../image/detail_play_icon.png");
	display: block;
	width: 240px;
	height: 240px;
	position: absolute;
	left  : 0px;
	right : 0;
	top   : 0px;
	bottom: 0;
	margin: auto;
	z-index: 100;
}

#detail-body-text {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width : 840px;
	height: 100%;
}

#detail-body-text dl {
	line-height: 60px;
	margin: 60px 0 0 36px;
}

#detail-body-text dt {
	float: left;
	clear: left;
	display: block;
	
	/*
	position: absolute;
	left: 0;
	top : 52px;
	*/
}

#detail-body-text dd {
	margin: 0 0 30px 64px;
	font-size: 30px;
	line-height: 46px;
	display: block;
	
	/*
	position: absolute;
	left: 0;
	top : 52px;
	*/
}

#detail-body-text dt.text {
	background: url("../image/detail_body_text.png") no-repeat center center;
	font-size: 0;
	width : 60px;
	height: 60px;
}

#detail-body dd.text {
	background: url("../image/detail_text_bg.png") repeat-x center -4px;
	line-height: 60px;
	width : 646px;
	height: 300px;
	padding: 0 6px;
}

#detail-body dt.vr-still {
	background: url("../image/detail_type_still.png") no-repeat center center;
	font-size: 0;
	width : 56px;
	height: 46px;
}

#detail-body dt.vr-movie {
	background: url("../image/detail_type_movie.png") no-repeat center center;
	font-size: 0;
	width : 56px;
	height: 46px;
}

#detail-body #detail-movie {
	margin-bottom: 0;
}

#detail-body .hidden {
	display: none;
}

/* -- 戻るボタン、学年などの補足情報 -------------------------------------------- */
#detail-side {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 100%;
	height: 180px;
}

.btn-back {
	content: " ";
	width : 124px;
	height: 128px;
	background: url("../image/btn_back.png") no-repeat left center;
	position: absolute;
	display: block;
	left: 20px;
	bottom: 20px;
	font-size: 0.1px;
	font-size: 0;
}

#detail-side table {
	border: 1px solid #519e8d;
	border-style: none none none solid;
	border-collapse: collapse;
	position: absolute;
	right: 26px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

#detail-side td {
	border: 1px solid #519e8d;
	border-style: solid none;
	background: #fff no-repeat left center;
	box-sizing: content-box;
	margin: 0;
	padding: 0;
	padding: 2px 0;
}

#detail-side .year {
	background-image: url("../image/detail_icon_year.png");
	background-position: 2px center;
	padding-left: 68px;	/* 62 + 4 + 2 */
	width: 3em;
}

#detail-side .unit {
	background-image: url("../image/detail_icon_unit.png");
	padding-left: 66px;	/* 62 + 4 */
	width: 13em;
}

#detail-side .area {
	background-image: url("../image/detail_icon_area.png");
	padding-left: 198px;	/* 194 + 4 */
	width: 8em;
}

#detail-side .btn-pdf {
	padding-left: 10px;
	border-style: solid solid solid none;
}

#detail-side .btn-pdf a {
	content: ' ';
	width : 170px;
	height:  46px;
	background: url("../image/btn_pdf_s.png") no-repeat left top;
	display: block;
}

/******************************************/
/* 30. 学習の手引一覧                       */
/******************************************/
#pdf-list {
	position: relative;
}

#pdf-list h1 {
	display: block;
	width: 1670px;
	/*margin: 0;*/
	margin: 30px auto;
	padding: 0;
	position: relative;
	left: 52px;
	font-size: 36px;
	font-weight: bold;
	color: #333;
}

#pdf-list table {
	position: absolute;
	left  : 178px;
	top   : 100px;
/*
	right : 0;
	bottom: 0;
	margin: auto;
*/
	width : 1670px;
	height:  920px;

	border-collapse: collapse;
	table-layout: fixed;
	display: block;
}

#pdf-list thead {
	display: block;
	text-align: left;
}

#pdf-list table tbody{
	width: 1670px;
	height: 920px;
	overflow-x: hidden;
	overflow-y: auto;
	-ms-overflow-x: hidden;
	-ms-overflow-y: auto;
	position: absolute;
	display: block;
}

#pdf-list tr {
	height: 1.3em;
}

#pdf-list th, #pdf-list td {
	border: 1px solid #519e8d;
	line-height: 1.3;
	font-size: 28px;
	margin: 0;
	padding: 0.7em 0.4em;
	vertical-align: middle;
	height: 1.3em;
}

#pdf-list th {
	background: #e1f2ef;
	border-style: solid solid none solid;
}

#pdf-list td {
}

#pdf-list tr.color-a {
	background: #fff;
}

#pdf-list tr.color-b {
	background: #eee;
}

#pdf-list .col-1 {
	width: 90px;
	text-align: center;
}

#pdf-list .col-2 {
	width: 420px;
}

#pdf-list .col-3 {
	width: 90px;
	text-align: center;
}

#pdf-list .col-4 {
	width: 580px;
}

#pdf-list .col-5 {
	width: 200px;
}

#pdf-list .col-6 {
	width: 170px;
}


#pdf-list td a {
	content: " ";
	display: block;
	width : 170px;
	height:  46px;
	background: url("../image/btn_pdf_s.png") no-repeat left top;
}

/******************************************/
/* 99. 汎用クラス                           */
/******************************************/
.hidden {
	display: none;
}