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

/* ローカルモード時の表示部分 */
.box_local {
	padding: 0.5em;
	background: #F03;
	color: #FFF;
	border: 3px solid #F99;
}
/* テストモード時の表示部分 */
.box_test {
	padding: 0.5em;
	background: #09C;
	color: #FFF;
	border: 3px solid #6CF;
}

.v_middle {
    vertical-align: middle;
}

.mm_btm05 {
	margin-bottom: 05px;
}
.mm_btm10 {
	margin-bottom: 10px;
}
.mm_btm15 {
	margin-bottom: 15px;
}
.mm_btm20 {
	margin-bottom: 20px;
}
.mm_btm30 {
	margin-bottom: 30px;
}
.mm_top05 {
	margin-top: 5px;
}
.mm_top10 {
	margin-top: 10px;
}
.mm_top20 {
	margin-top: 20px;
}
.mm_left10 {
	margin-left: 10px;
}

.mm_left20 {
	margin-left: 20px;
}
.mm_right10 {
	margin-right: 10px;
}

div.clear{
	clear: both;
}

.f_right {
	float: right;
	margin-left: 8px;
}
.f_left {
	float: left;
	margin-right: 8px;
}

.box01 {
	padding: 0.5em 1em;
	margin: 0;
	border: double 5px #4ec4d3;
	width: 230px;
}

div.box02 {
	margin: 0 auto 2em;
	padding: 15px;
	box-sizing: border-box;
	border: 1px solid rgb(49, 96, 124);
}

.main_area01 {
	float: left;
    width:600px; /* 動画のサイズに合わせる */
    height:auto;
}
.main_area01 img {
	width: 100%;
}
.main_area02 {
    width:600px; /* 動画のサイズに合わせる */
    height:auto;
	margin: 0 auto;
}

.sub_area01 {
	float: right;
    width: calc(100% - 610px); /* 動画のサイズに合わせる */
}

@media screen and (max-width:979px) {
    .sub_area01 {
        float: none;
        width: 100%;
        height:auto;
        margin: 10px auto;
    }
    .main_area01 {
        float: none;
        width: 100%;
    }  
}

/*================================================
 * プログラムのタブ表示
https://office-kibunya.com/decoration/tab.html
 ================================================*/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
/*.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  display: block;
  order: -1;
}*/
.tab-label {
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
	background: #CCC6B3; /* オフの時の背景色 */
	color: #767067;
	border-radius: 3px 3px 0 0;
}
/* オフの時の背景色と文字色（タブごとに色を変える場合）*/
.tab-switch+.tab01 {
  background: #BDDDEC;
	color: #3690BC;
}
.tab-switch+.tab02 {
  background: #CBE3BB;
	color: #70AD47;
}
.tab-switch+.tab03 {
  background: #FFE1C7;
	color: #FF7800;
}
.tab-label:hover {
	background: #DBD7CA;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label {
  color: #FFF;
	margin-top: -0.5rem;
	transition: margin .3s;
	align-items: center;
	display: flex;
	justify-content: center;
	/*background: #767067;  オンの時の背景色 */
}
/* オンの時の背景色（タブごとに色を変える場合）*/
.tab-switch+.tab01:hover,
.tab-switch:checked+.tab01 {
  background: #3690BC;
  color: #FFF;
}
.tab-switch+.tab02:hover,
.tab-switch:checked+.tab02 {
  background: #70AD47;
  color: #FFF;
}
.tab-switch+.tab03:hover,
.tab-switch:checked+.tab03 {
  background: #FF7800;
  color: #FFF;
}
.tab-switch:checked+.tab-label+.tab-content {
	border-top:5px solid #767067; /* オンの時のボーダーの色 */
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}
/* オンの時のボーダーの色（タブごとに色を変える場合）*/
.tab-switch:checked+.tab01+.tab-content {
	border-top:5px solid #3690BC;
}
.tab-switch:checked+.tab02+.tab-content {
	border-top:5px solid #70AD47;
}
.tab-switch:checked+.tab03+.tab-content {
	border-top:5px solid #FF7800; 
}
.tab-switch {
  display: none;
}

/*================================================
 *  プログラム一覧の枠
 ================================================*/
.pgm_box a,
.pgm_box_sub {
    margin: 1em auto;
    padding: 1em;
    box-shadow: 0 0 8px #ccc;
    border-radius: 5px;
}

.pgm_box_sub {
    padding: 1.5em;
}
.pgm_box {
    position: relative;
}
.abst_box {
    margin: 1em auto;
    position: relative;
    box-sizing: border-box;
    padding: 1em 5em 1em 1.5em;
    border: 2px solid #CCC;
}

.pgm_box a {
	background: #fff;
	display: block;
	cursor:pointer;    
	-webkit-transition: all .5s;
	transition: all .5s;
	position: relative;/* 210608追加 */
}
.pgm_box .stts {
	position: absolute;
	padding: 2px 8px;
	bottom: 5px;
	right: 5px;
	border-radius: 5px;
	color: #FFF;
	font-weight: 900;
	font-size: 1.3rem;
}
.stts1 {
	background: #FF9600;
}
.stts2 {
	background: #44C4E7;
}
.stts3 {
	background: #858585;
}

.pgm_box a:hover {
    box-shadow: 0 0 8px #44c4e7;
    position: relative;
    top: 2px; left: 2px;
    background: #F1FAFD;
    border-bottom: 1px solid transparent;
    
}

.pgm_box h3 {
    padding: 9px 2px;
    font-size: 1.4rem; /* 210608変更 */
    margin-bottom: 0.5em;
    border-bottom: 1px solid #ccc;
    line-height: 1;
}
.pgm_box h3::before {
	/* liの後に記号追加 */
    /*font-family: 'Font Awesome 5 Free';
    content: '\f0da';
    padding-right: 6px;
    font-weight: bold;*/
}

.pgm_box h4,
.ttl04 {
    font-size: 1.8rem; /* 210608変更 */
    margin: 15px 0 0;
    font-weight: bold;
}

/*================================================
 *  ホワイトボード風　タイトル　2
 ================================================*/

.wboard-w2 {
 position: relative;
 margin: 0 auto 2em;
 padding: 3.2em 1em 1em;
 /*width: 90%;  ボックス幅 */
 background-color: #fff; /* ボックス背景色 */
 border: 5px solid #f3f3f3; /* 枠線 */
 box-shadow: 0 0 4px #666, 0 0 2px #888 inset;
}
.wboard-w2::before,
.wboard-w2::after {
 position: absolute;
 content: '';
 bottom: 4px;
 width: 25px; 
 border-radius: 2px;
 box-shadow: 1px 1px 2px #666;
} 
.wboard-w2::before {
 right: 60px;
 border: solid 3px #666; /*飾りペン黒 */
 transform: rotate(2deg); /*飾りペン角度 */
}
.wboard-w2::after {
 right: 22px;
 border: solid 3px #F8398C; /*飾りペン赤 */
 transform: rotate(9deg); /*飾りペン角度 */
}
.title-w2 {
 position: absolute;
 top: .6em;
 left: 1em;
 font-weight: bold; /* 太文字 */
 font-size: 1.8rem;
 color: #FF6600; /* タイトル文字色 */
}

/*================================================
 *  囲み枠
 ================================================*/

.point-box {
    border: 2px solid #ccc; /* 枠の太さ・種類・色 */
    border-radius: 4px; /* 枠の丸み */
    margin: 0; /* 枠外の余白 */
    padding: 20px;
}

/*================================================
 *  お気に入りボタン（未使用）
 ================================================*/

.favi_btn01,
.favi_btn02 {
    padding: 0;
    border: none;
    background: transparent;
}
.favi_btn01 {
    position: absolute;
    top: 0;
    right: 10px;
    margin: 0;
    z-index: 2;
}
.favi_btn01 > img,
.favi_btn02 > img {
    display: block;
}

.favi_btn01:hover,
.favi_btn02:hover {
    cursor: pointer;
    border-bottom: 0;
}


.favi_btn_on,
.favi_btn_off {  
  display: inline-block;
  position: absolute;
  top: 0;
  right: 10px;
  margin: 0;
  padding: 10px 0;
  z-index: 2;
  width: 40px;
  text-align: center;
  font-size: 1.6rem;
  color: white;
}
.favi_btn_on {  
  background: #ff785b;
}
.favi_btn_off {  
  background: #858585;
}
.favi_btn_on:after,
.favi_btn_off:after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-bottom: 10px solid transparent;
}

.favi_btn_on:after {
  border-left: 20px solid #ff785b;
  border-right: 20px solid #ff785b;
}
.favi_btn_off:after {
  border-left: 20px solid #858585;
  border-right: 20px solid #858585;
}

.favi_btn_on:hover,
.favi_btn_off:hover {
    cursor: pointer;
}


/*================================================
 *  前へ　次へ　リンク
 ================================================*/

.prev-next-link {
    margin-top: 2em;
}
.prev-next-link a {
    border-bottom: 1px #ddd solid;
    display: block;
    text-decoration: none;
    padding: 14px 40px;
}
.prev-next-link a:hover {
  background-color: #f6f6f6;
}
.prev-next-link a:first-child {
  border-top: 1px #ddd solid;
}

/*================================================
 *  戻るボタン
 ================================================*/
a.btn05 {
  justify-content: center;
  align-items: center;
  position: relative;
  background: #767067;
  box-sizing: border-box;
  padding: 6px 20px 5px 40px;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
	border-radius: 5px;
}
a.btn05:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-135deg);
  position: absolute;
  top: 58%;
  left: 15px;
  margin-top: -6px;
}
a.btn05:hover {
  background: #817C72;
  /*color: #767067;
	border: 2px solid #817C72;*/
}
a.btn05:hover:before {
  /*border-top: 2px solid #767067;
  border-right: 2px solid #767067;*/
	left: 12px;
}

/* Arrows */
.prev-link:before {
	font-family: 'Font Awesome 7 Pro';
	font-weight: 900;
	content: "\f100";
	padding-right: 5px;
}
.next-link {
	text-align: right;
}
.next-link:after {
	font-family: 'Font Awesome 7 Pro';
	font-weight: 900;
	content: "\f101";
	padding-left: 5px;
}

/* Larger devices */
@media ( min-width: 600px) {
	.prev-next-link {
    display : -webkit-box;     /* old Android */
    display : -webkit-flex;    /* Safari etc. */
    display : -ms-flexbox;     /* IE10        */
    display: flex;
	}
	.prev-next-link a {
    flex: 1;
	}
	.prev-next-link a,
	.prev-next-link a:first-child {
    border: none;
	}
}

/*================================================
 *  質問ボタン、ポスターボタンなど
 ================================================*/
.btn_question,
.btn_poster,
.btn_dlpaper,
.btn_enquete,
.btn_movie {
	display: block;
	min-width: 130px;
	text-align: center;
	font-size: 1.6rem;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	padding: 20px 20px 20px 50px;
	position: relative;
	transition: .9s;
	border: 1px solid #FFF;
	line-height: 1.5em;
}
.btn_question {
	background: #FFcc00;
	margin-bottom: 45px;
}
.btn_poster {
	background: #BEE070;
	margin-bottom: 5px;
}
.btn_dlpaper {
	background: #BECED5;
	margin-bottom: 5px;
}
.btn_enquete {
	background: #F9B9C3;
	margin-bottom: 5px;
}
.btn_movie {
	background: #CCC6B3;
	margin-bottom: 5px;
}
.btn_question:before,
.btn_poster:before,
.btn_dlpaper:before,
.btn_enquete:before,
.btn_movie:before {
	position:absolute;
	left:10px;
	top: 13px;
	content:"";
	display:inline-block;
	width:40px;
	height:40px;
}
.btn_question:before {
	background:url(../images/ico_question.png) no-repeat;
	background-size:contain;
}
.btn_poster:before {
	background:url(../images/ico_poster.png) no-repeat;
	background-size:contain;
}
.btn_dlpaper:before {
	background:url(../images/ico_dlpaper.png) no-repeat;
	background-size:contain;
}
.btn_enquete:before {
	background:url(../images/ico_enquete.png) no-repeat;
	background-size:contain;
}
.btn_movie:before {
	background:url(../images/ico_movie.png) no-repeat;
	background-size:contain;
}
.btn_question span {
	display: block;
	position: absolute;
	background: #FFcc00;
	top: 0;
	left: 0;
	width: 100%;
	height: 55px;
	font-size: 1.4rem;
	line-height: 75px;
	border-radius: 0 0 8px 8px;
	z-index: -1;
	transition: .5s;
}

.btn_question:hover,
.btn_poster:hover,
.btn_dlpaper:hover,
.btn_enquete:hover,
.btn_movie:hover {
	border: 1px solid #FFF;
	color: #000;
}
.btn_question:hover {
	background: #FFE47A;
}
.btn_poster:hover {
	background: #DFEFB9;
}
.btn_dlpaper:hover {
	background: #DBE4E8;
}
.btn_enquete:hover {
	background: #FBD8DD;
}
.btn_movie:hover {
	background: #EAE5D2;
}

.btn_question:hover span {
	transform: translateY(43px);
}

.btn_enquete_top {
	display: block;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	padding: 10px 15px 10px 65px;
	position: relative;
	transition: .9s;
	border: 1px solid #FFF;
	line-height: 1.7em;
	background: #F9B9C3;
	font-size: 3.0rem;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
}
.btn_enquete_top:before {
	position:absolute;
	left:15px;
	top: 6px;
	content:"";
	display:inline-block;
	width:45px;
	height:45px;
	background:url(../images/ico_enquete.png) no-repeat;
	background-size:contain;
}
.btn_enquete_top:hover {
	border: 1px solid #FFF;
	color: #000;
	background: #FBD8DD;
}

a.btn_enquete_top02 {
	box-shadow:inset 0px 1px 0px 0px #f5978e;
	background:linear-gradient(to bottom, #f24537 5%, #c62d1f 100%);
	background-color:#f24537;
	border-radius:6px;
	border:1px solid #d02718;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-size:2.0rem;
	font-weight:bold;
	padding:14px 24px 13px 68px;
	text-decoration:none;
	text-shadow: -1px -1px 2px #810e05;
	position: relative;
}
a.btn_enquete_top02:before {
	position:absolute;
	left:15px;
	top: 11px;
	content:"";
	display:inline-block;
	width:41px;
	height: 50px;
	background:url(../images/ico_enquete02.png) no-repeat;
	background-size:contain;
}

a.btn_enquete_top02:hover {
	background:linear-gradient(to bottom, #c62d1f 5%, #f24537 100%);
	background-color:#c62d1f;
}
a.btn_enquete_top02:active {
	position:relative;
	top:1px;
}

/* Larger devices */
@media ( min-width: 600px) {
	.btn_question,
	.btn_poster {
		 margin-bottom: 40px;
	}
}
/*================================================
 *  ボタンの横並び配置
 ================================================*/

.flex-container,
.flex-container01,
.flex-container02 {
    display: block;
}
.flex-container01 {
}
.flex-container01 > div {
	margin: 10px;
}
/*.flex-container > div {
    margin-bottom: 65px;
}*/

/* Larger devices */
@media ( min-width: 600px) {
	.flex-container,
	.flex-container01,
	.flex-container02 {
		display : -webkit-box;     /* old Android */
		display : -webkit-flex;    /* Safari etc. */
		display : -ms-flexbox;     /* IE10        */
		display: flex;
	}
	.flex-container {
		justify-content: space-evenly;
	}
	.flex-container01 {
		justify-content: space-around;
	}
	.flex-container02 {
		justify-content: space-between;
		margin-bottom: 10px;
	}
	.flex-container > div {
		padding: 0 5%;
	}
	.flex-container > div,
	.flex-container01 > div {
		-webkit-flex-grow : 1;
		-ms-flex-grow     : 1;
		flex-grow         : 1;
	}
}

/*================================================
 *  抄録を見るボタン
 ================================================*/
.abst_btn01 {
    border: 2px solid #1abc9c;
    color: #1abc9c !important;
    -webkit-transition: all .3s;
    transition: all .3s;
    padding: 5px 30px 4px;
    border-radius: 30px;
}
.abst_btn01::before {
	font-family: 'Font Awesome 7 Pro';
    font-weight: 900;
    content: '\f518';
    padding-right: 10px;
}
.abst_btn01:hover {
    background: #B4F4E8;
    border: 2px solid #1abc9c;
}

/*================================================
 *  Q and A
 ================================================*/
.box_qa {
    border: 2px solid #C4E0DF;
}
.box_qa .q {
    background: #C4E0DF;
    color: #32615F;
    margin: 0;
    position: relative;
    padding: .5em;
}
.box_qa .q::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 20px;
    border: 12px solid transparent;
    border-top: 12px solid #C4E0DF;
    width: 0;
    height: 0;
}
.box_qa .a {
    padding: 1.5em .5em 1em;
}

/*================================================
 *  HOMEボタン
 ================================================*/

.home_btn01 a {
	padding: 5px 10px 3px;
	margin: 0 5px;
	color: #1BADD5;
	border: 1px solid #CCC;
}
.home_btn01 a::before {
	font-family: 'Font Awesome 7 Pro';
	font-weight: 900;
	padding-right: 7px; 
	color: #1BADD5;
	content: '\f015';
}
.home_btn01:hover > a {
	background: #BDEAF6;
}

.btn_dl01 {
  display: flex;
	flex-wrap: wrap;
	margin-bottom: 1em;
	align-items: flex-start;
}
.btn_dl01 a {
  text-decoration: none;
  color: #354950;
  font-size: 1.8rem;
  border-radius: 3px;
  min-width: 150px;
  padding: 10px 10px 8px;
  font-weight: bold;
  border-top: 1px solid #e4e4e4;
  border-right: 1px solid #e4e4e4;
  border-left: 1px solid #e4e4e4;
  border-bottom: 3px solid #e4e4e4;
  transition: 0.3s;
  background-color: #EEF5FA;
	margin: 0 15px 10px 0;
}

.btn_dl01 a::before {
  font-family: 'Font Awesome 7 Pro';
  font-weight: 900;
  content: '\f56d';
  color: #368CC6;
  margin-right:10px;
	font-size: 2.4rem;
	vertical-align: middle;
}

.btn_dl01 a:hover {
  box-shadow: 0 0 rgba(0, 0, 0, 0.4);
	background: #FFF;
}
.btn_dl01 a:hover::before {
  color: #205578;
}

/*================================================
 *  TOPページ　アンケートボタン（3種）
 ================================================*/
a.btn_enq_top {
	border-radius:6px;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-size:2.0rem;
	font-weight:bold;
	padding:14px 10px 13px 64px;
	text-decoration:none;
	position: relative;
	min-width: 125px;
	margin-bottom: 10px;
}
a.btn_enq_top span {
	font-size:1.6rem;
	font-weight: bold;
}
a.btn_enq_top01 {
	box-shadow:inset 0px 1px 0px 0px #f5978e;
	background:linear-gradient(to bottom, #f24537 5%, #c62d1f 100%);
	background-color:#f24537;
	border:1px solid #d02718;
	text-shadow: -1px -1px 2px #810e05;
}
a.btn_enq_top02 {
	box-shadow:inset 0px 1px 0px 0px #96C6F8;
	background:linear-gradient(to bottom, #3792F2 5%, #0C65C4 100%);
	background-color:#3792F2;
	border:1px solid #0E76E5;
	text-shadow: -1px -1px 2px #05305E;
}
a.btn_enq_top03 {
	box-shadow:inset 0px 1px 0px 0px #8EDA0D;
	background:linear-gradient(to bottom, #71AD0B 5%, #5A8B08 100%);
	background-color:#71AD0B;
	border:1px solid #5E9009;
	text-shadow: -1px -1px 2px #2D4504;
}

a.btn_enq_top01:before {
	background:url(../images/ico_enquete02.png) no-repeat;
}
a.btn_enq_top02:before {
	background:url(../images/ico_enquete01.png) no-repeat;
}
a.btn_enq_top03:before {
	background:url(../images/ico_enquete03.png) no-repeat;
}
a.btn_enq_top:before {
	position:absolute;
	left:10px;
	top: 11px;
	content:"";
	display:inline-block;
	width:41px;
	height: 50px;
	background-size:contain;
}

a.btn_enq_top01:hover {
	background:linear-gradient(to bottom, #c62d1f 5%, #f24537 100%);
	background-color:#c62d1f;
}
a.btn_enq_top02:hover {
	background:linear-gradient(to bottom, #0C65C4 5%, #3792F2 100%);
	background-color:#c62d1f;
}
a.btn_enq_top03:hover {
	background:linear-gradient(to bottom, #5A8B08 5%, #71AD0B 100%);
	background-color:#c62d1f;
}

a.btn_enq_top:active {
	position:relative;
	top:1px;
}
