@charset "UTF-8";
/* CSS Document */

/* 全体 */

* {
	margin: 0;
	padding: 0;
}

html {
	background-color: #FFFFFF;
	text-align: left;
}

body {
	margin: 0;
	padding: 0;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	letter-spacing: 0.02em;
	font-size: 0.95em;	
	-webkit-text-size-adjust: 100%;
}

/* IE6*/
* html body {
	font-size: 1em;
}

/*IE7*/
:first-child+html body (font-size: 0.95em;)

h1, h2, h3, h4, h5, h6,
p, pre, blockquote,
ul, ol, dl, address {
	margin: 0;
	padding: 0;
}

a {
	color: #3300FF;
	text-decoration: none;
}

a:link {color: #0000ff; }
a:visited { color: #0000ff; }

a:hover {
	color: #660033;
	text-decoration: underline;
}

img { border:none; max-width: 100%; height:auto; width:auto; /* ie8 */}

/*全体レイアウト関連*/
#wrapper {
   position: relative;
   box-sizing: border-box;
	width: 100%;
   min-height: 100vh;
   padding-bottom: 94px;
	text-align: left;
	background-color: #fff;
}

/*wrapper内の回り込みを解除*/
div#wrapper:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}

/*ロゴメニューテーブル*/
#headimg {
	display: table;
	table-layout: fixed;
	width: 100%;
	border-bottom:1px solid #009;
}

#headimgcell {
	display: table-cell;
	padding: 8px;
	vertical-align: bottom;
	text-align: left;
	width:60%;
}

#headimgcell02 {
	display: table-cell;
	padding: 8px;
	vertical-align: center;
	text-align: right;
	width:40%;
}

a.headlink {
	font-size: 80%;
}

/*headimg内の回り込みを解除*/
div#headimg:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}


/*ページタイトル*/
#sentencetable {
	display: table;
	table-layout: fixed; 
	width: 100%;
	border: none;
}
.sentencetcell {
	display: table-cell;
	padding: 5px;
	vertical-align: middle;
	text-align: left;
}

.sentencetcell02 {
	display: table-cell;
	padding: 5px 20px 5px 5px;
	vertical-align: top;
	text-align: right;
	width: 30%;
}

img.sentenceimg {
	width: 120px;
	vertical-align: bottom;
	border: solid 1px;
/*	margin-top: 20px; */
}

img.sentenceimg2 {
	width: 180px;
	vertical-align: bottom;
	border: solid 1px;
/*	margin-top: 20px; */
}


#sentence01 {
	margin: 5px 20px 0 10px;
	width: 90%;
	text-align: left;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.5;
	font-family: Verdana, Roboto, "Droid Sans", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	color:#036;
	border-left:6px solid #036;
	padding-left:10px;
}

/*sentence01内の回り込みを解除*/
div#sentence01:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}

/*ページ内容*/
#sentence02 {
	margin: 5px 20px 0 20px;
	width: 90%;
	padding-bottom: 20px;
	text-align: left;
	font-size: 0.9em;
	line-height: 1.5;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

img.splays {
	width: 30px;
	vertical-align: middle;
	margin:0 2px;
}

/*sentence02内の回り込みを解除*/
div#sentence02:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}

/*E01*/
#E01 {
	margin: 0 0 0 20px;
	width: 94%;
}

/*追加文言*/
#add {
	margin: 0 0 0 20px;
	width: 94%;
	font-size: 12px;
}



/*tbutton*/
.tbutton {
	display: table;
	table-layout: fixed; 
	width: 100%;
}

.tbuttoncell {
	display: table-cell;
	padding: 10px;
	vertical-align: top;
	text-align: left;
}

.mg_l10{
	margin-left:10px;
}
.mg_b5{
	margin-bottom:5px;
}
.mg_b20{
	margin-bottom:20px;
}
.contents{
	margin: 0 20px 20px;
}
.contents_ttl{
	padding: 7px 0;
	font-size: 1.2em;
	color: #036;
}
.contents_body{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 25px;
}
.contents_comment{
   font-size: 14px;
   margin-bottom: 5px;
}
.contents_box{
	display: block;
	width: 272px;
	margin: 0 10px 10px 0;
	vertical-align: top;
	text-align: left;
}
.contents_box__ttl{
	position: relative;
	display: block;
	background: #9fb7d4;
	cursor: pointer;
	padding: 0 10px 0;
	margin-bottom: 5px;
}
.contents_box__movie{
	width: 272px;
	height: 153px;
    position: relative;
	 margin: 0;
}
.contents_box__movie_sub{
	color: #333;
	font-size: 12px;
}
.contents_box__movie_sub span{
	background: linear-gradient(transparent 60%, #aaffdd 60%);
}
.contents_box__photo{
	width: 100%;
    position: relative;
	box-sizing: border-box;
}
.contents_box__photo:after{
   content: "画像を押すと拡大表示されます。";
   display: block;
   width: 100%;
   padding: 0;
   margin: 0;
   text-align: right;
   font-size: 13px;
   color: #555;
}
.contents_box__photo a{
   display: block;
	border: 1px solid #ddd;
}
.contents_box__photo a:nth-child(n + 2){
   display: none;
}
.contents_box__photo a img{
   display: block;
   max-height: 152px;
   margin: auto;
}
.contents_ready{
    margin: 20px;
   font-size: 1.4em;
   font-weight: bold;
   color: #666;
}
/*目次へ戻るボタン*/
#headimgcell02.indexBack{
	padding-right: 0;
	animation: slideIn 1.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideIn {
0% {
	transform: translateX(180px);
	opacity: 0;
}
100% {
	transform: translateX(0);
}
40%,100% {
	opacity: 1;
}
}
#headimgcell02.indexBack img{
	width: 160px;
	max-width: 100%;
}

/*幅が広いデバイスの場合*/
@media screen and (min-width: 769px) {

/*テーブル部*/
.ttable {
	display: table;
/*	width: 100%; */
	table-layout: fixed; 
	/*border: solid 1px #000;
	border-collapse: collapse;*/
}

.ttr {
	display: table-cell;
	width:150px;
	float:left;
	margin:0 5px 5px 0;
	padding: 5px;
	vertical-align: top;
	text-align: left;
	border: solid 1px #036;
	background-image:url("../img/bg.png" ); background-repeat:repeat-x; background-position:bottom left;
}

.accordion .ac-content {
	display: table;
	table-layout: fixed; 
	margin: 0 20px;
}


.accordion input {
	display: none;
}

table.list {
	margin: 0 auto;
	text-align: center;
	width: 600px;
	font-size: 120%;
}

table.list th {
	width:100%;
	border: 1px solid #000A67;
	background-color:#000080;
	color: #FFFFFF;
	padding:5px
}

table.list td {
	width:100%;
	border: 1px solid #000A67;
	color: #000000;
	padding:5px
}
  
table.list td a{
	display:block;
	/*margin: 0px 130px;*/
	width:100%;
	height:100%;
	text-decoration: none;
	overflow: hidden ;
}

table.list td a:link { color: #000000; }
table.list td a:visited { color: #000000; }
table.list td:hover{
	background-color: #BDE1FF;
}

table.list td a left{
	float: left;
	margin-left: 60px;
}

table.list td a right{
	float: right;
	margin-right: 40px;
}

.big_font1 {font-weight:bold; font-size:110% ; }
.big_font2 {font-weight:bold; font-size:120% ; }
.notice{
	font-size:125%;
	font-weight:bold;
	color:#FF3300;
}

.min{
	display: none;
}
	.contents_box__ttl{
		position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: #b5cdea;
    cursor: inherit;
    padding: 0 10px 0;
    margin-bottom: 2px;
    min-height: 50px;
	}

}

/*幅が狭いデバイスの場合*/
@media screen and (max-width: 768px) {

.accordion {
	min-width: 300px;
	margin: 0 auto;
	padding: 10px;
}
.accordion .ac-content {
	margin: 0 auto;
}
.accordion input {
	display: none;
}
.accordion label {
	display: block;
	background: #9fb7d4;
	cursor: pointer;
	padding: 10px;
	border-bottom: 1px solid #fff;
}
.accordion label:hover {
	background: #ccc;
}
.accordion .ac-cont {

	text-align:center;
	transition: 0.2s;
	height: 0;
	overflow: hidden;
	background: #ddd;
	padding: 0 10px;
}
.accordion .ttrmin {

	margin: 0 auto;
	width:150px;
	padding: 5px;
	text-align: left;
	border: solid 1px #036;

}
.accordion input:checked + .ac-cont {
	height: auto;
	padding: 10px;
}

table.list {
	margin: 0 auto;
	text-align:center;
	width: 340px;
	font-size: 120%;
}

table.list th {
	width:100%;
	border: 1px solid #000A67;
	background-color:#000080;
	color: #FFFFFF;
	padding:5px
}

table.list td { 
	width:100%;
	border: 1px solid #000A67; 
	color: #000000; 
	padding:5px
}
  
table.list td a{
	display:block;
	width:100%;
	height:100%;
	text-decoration: none;
}
table.list td a:link { color: #000000; }
table.list td a:visited { color: #000000; }
table.list td:hover{
	background-color: #BDE1FF;
}

.big_font1 {font-weight:bold; font-size:100% ; }
.big_font2 {font-weight:bold; font-size:110% ; }
.notice{
	font-size:105%;
	font-weight:bold;
	color:#FF3300;
}

.wide{
	display: none;
}
	.contents{
		margin: 0 5px 0;
	}
	.contents_body{
		display: block;
		margin-bottom: 20px;
	}
	.contents_box{
		width: 100%;
		padding: 0;
		margin: 0;
		border: none;
		background: none;
	}
	.contents_box__ttl{
		position: relative;
		background: none;
		display: block;
		background: #b5cdea;
		cursor: pointer;
		margin-bottom: 1px;
		padding: 10px 40px 10px 10px;
		border-bottom: 1px solid #fff;
	}
	.contents_box__ttl:after{
		content: "";
		position: absolute;
		top: calc(50% - 10px);
		right: 15px;
		display: block;
		width: 10px;
		height: 10px;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		transition: all 0.2s;
	}
	.contents_box__ttl.is-open:after{
		top: calc(50% - 3px);
		transform: rotate(-135deg);
	}
	.contents_box__movie{
		display: none;
		width: 208px;
		height: 117px;
		padding: 0;
		margin: 10px auto;
	}
	.contents_box__movie_sub{
		text-align: center;
		font-size: 12px;
	}
	.contents_box__photo{
		display: none;
		width: 208px;
		/*height: 143px;*/
		padding: 0;
		margin: 10px auto;
	}
	.contents_box__photo:after{
		text-align: center;
		font-size: 12px;
	}
	/*目次へ戻るボタン*/
	#headimgcell02.indexBack{
		padding-right: 0;
	}
	#headimgcell02.indexBack img{
		width: 109px;
		max-width: 100%;
	}
}

.tcell {
	display: table-cell;
	width: 100%;
	padding: 5px;
	vertical-align: top;
	text-align: center;
	border: solid 1px #036;
	background-image:url("../img/bg.png" ); background-repeat:repeat-x; background-position:bottom left;
}

.tth {
	display: table-cell;
	width:150px;
	float:left;
	margin:0 5px 5px 20px;
	padding: 5px;
	vertical-align: top;
	text-align: left;
	border: solid 1px #036;
	background-image:url("../img/bg.png" ); background-repeat:repeat-x; background-position:bottom left;
}

/*ttable内の回り込みを解除*/
div.ttable:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}

/*ボタン*/
button {
	font-size: 1em;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.bb01 {
	font-weight: bold;
	background-color: #3366cc;
	color: #fff;
	border-style: none;
	padding: 2px 10px;
	margin: 0px 20px 0px;
}

.bo01 {
	font-weight: bold;
	background-color: #ff9900;
	color: #fff;
	border-style: none;
	padding: 2px 20px;
	margin: 0px 10px;
}

.S_ON {
	float: center;
	border: none;
	font-weight: bold;
	background-color: #036;
	font-size: 24pt;
}

.S_OFF {
	float: center;
	border: none;
	color: blue;
	font-size: 10pt;
}

.link { background-image:url("../img/arrow.png"); background-repeat:no-repeat; background-position:center left; padding-left:1.5em; background-size:15px 15px;}

/*プレイヤー自動リサイズ*/
#resize1 {
	width: 100%;
	position: relative;
	padding-bottom: 95%;
	}

/*フッター部*/
#footer {
   position: absolute;
   left: 0;
   bottom: 32px;
	margin: 15px 20px 20px 20px;
	width: 90%;
	padding-top: 20px;
	text-align: left;
	font-size: 12px;
	line-height: 1.8;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	clear:both;
}

/*footer内の回り込みを解除*/
div#footer:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}

#copyright {
   position: absolute;
   left: 0;
   bottom: 0;
	width: 100%;
	height: 30px;
	font-size: 9px;
	line-height: 30px;
	text-align: center;
	background-color: #036;
	color: #fff;
	border-top:solid 1px #39F;
	border-bottom:solid 1px #39F;
}

/*copyright内の回り込みを解除*/
div#copyright:after {
	visibility: hidden;
	content : "";
	display : block;
	height : 0;
	clear : both;
}

@media screen and (max-width: 768px) {
   #wrapper{
      padding-bottom: 185px;
   }
   #footer{
      box-sizing: border-box;
      width: 100%;
      margin: 0;
      bottom: 67px;
      padding-left: 10px;
      padding-right: 10px;
   }
   #copyright{
      height: 50px;
      line-height: 25px;
   }

   
}

a.esw{
	font-size: 14pt;
}

.ttl { color:#036; }
.gototop { padding:3px; border:1px solid #C00; }
a.arrow  { background-image:url('../img/arrow1.png'); background-repeat:no-repeat; background-position:center left; padding:3px  0 3px 1.5em; background-size:15px 15px; }

.cube {
	border:1px solid #000000;
}

.notice_red{
	font-size:125%;
	font-weight:bold;
	color:#ff0000;
}

.center {
	width: 100%;
	margin: 0 auto;
	text-align:center;
}

.list_big_font {
	margin-left: auto;
	margin-right: auto;	font-weight:bold;
	font-size:160% ;
}

