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

.httl p {
	position: absolute;
	font-weight: 700; /*太字に*/
	font-size: 2em;/*サイズ2倍*/
	padding: 0;
	margin: 0;
	left: 30px;
}
.httl i {
	color: #CCC;
	font-size: 3rem;
	margin-right: 0.3em;
}

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

.box03 {
	padding: 0.5em 1em;
	margin: 0;
	border: double 5px #4ec4d3;
	width: 100%;
}

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

.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 8px;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
	background: #CCC6B3; /* オフの時の背景色 */
	color: #767067;
  width: 150px;
  margin-bottom: 10px;
}
/* オフの時の背景色と文字色（タブごとに色を変える場合）*/
.tab-switch+.tab01 {
  background: #BDDDEC;
	color: #3690BC;
}
.tab-switch+.tab02 {
  background: #BEDBF0;
	color: #4398D4;
}
.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;
  border-right: 1px solid #50535d;
}
.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: #4398D4;
  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: 80vh;
  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 #4398D4;
}
.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 {
    position: relative;
}
.abst_box,
.ques_box {
    margin: 1em auto;
    position: relative;
    box-sizing: border-box;
    padding: 1em 5em 1em 1.5em;
    border: 2px solid #CCC;
}
.ques_box {
	border-radius: 5px;
	background: #FFFBEE;
}

.pgm_box a {
    background: #fff;
    display: block;
	cursor:pointer;    
    -webkit-transition: all .5s;
    transition: all .5s;
}
.pgm_box a:hover {
    box-shadow: 0 0 8px #44c4e7;
    /*position: relative;
    top: 2px; left: 2px;
    background: #BDEAF6;*/
    border-bottom: 1px solid transparent;
    
}

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

.pgm_box h4,
.ttl04 {
    font-size: 1.6rem;
    margin: 15px 0 0;
    font-weight: bold;
}


/*================================================
 * プログラム一覧
https://tercel-tech.hatenablog.com/entry/2019/07/06/190452
 ================================================*/

.pgm_container {
  /* grid レイアウトの設定 */
  display: grid;
	grid-template-columns: auto repeat(7, max-content minmax(auto,100%)); /* 会場数=7 */
  grid-template-rows: auto repeat(calc(11), 0.2rem); /* 時間軸の数 */

  /* カラムの間隔 */
  grid-column-gap: 1px;
  column-gap: 1px;

  /* 行の間隔 */
  grid-row-gap: 1px;
  row-gap: 1px;
}

/* 時間軸 */
.time-axis {
  border: solid 1px #CCC;
  background-color: gainsboro;
  grid-column: 1 / 2;
	text-align: right;
	font-size: 1.2rem;
}

/* 会場名 */
.channel-title {
  background-color: #50535d;
  text-align: center;
  font-weight: bold;
	color :#FFF;
  /* 表示位置を固定 */
  top: 0;
  z-index: 2;
  position: sticky;
  grid-row: 1 / 2;
}

/* 番組の枠 */
.content-box {
  border: solid 1px #CCC;
}

/* 開始時間 */
.content-minute {
  margin-left: 3px;
  color: gray;
  overflow: hidden;
	font-size: 1.2rem;
}

/* 番組名 */
.content-title {
  overflow-wrap: break-word;
  overflow: hidden;
	font-size: 1.2rem;
}

/*================================================
 *  ホワイトボード風　タイトル　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;
}

/*================================================
/* btn_area
 ================================================*/
.btn_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
}
.btn_area div {
	margin: 5px 10px;
}

/*================================================
 * HOMEに表示するセミナーボタン
 ================================================*/

/* .btn01、03、06 は、form.cssで使用 */

a.btn02,
.btn02 {
  border: none;
  /* クリックした際に枠線をnone消す */
  outline: none;
  /* 影を消す */
  box-shadow: none;
	-moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
	text-align: center;
	text-decoration: none;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
  letter-spacing: 0.05em;
	border-radius: 0.3rem;
	border-bottom: 4px solid #db5d96;
	background: #E978AB;
	color: #fff;
  cursor: pointer;
	min-width: 150px;
}
a.btn02:hover,
.btn02:hover {
	margin-top: 3px;
	border-bottom: 1px solid #db5d96;
	color: #fff;
}
.btn02 span {
	font-size: 2.0rem;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767.98px) {
  .btn_live01 {
    min-width: inherit !important;
    padding: 2em !important;
  }
}


.btn02a {
  border: none;
  /* クリックした際に枠線をnone消す */
  outline: none;
  /* 影を消す */
  box-shadow: none;-moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
	background-color:#A5A5A5;
	border-radius: 0.3rem;
  border-bottom: 4px solid #8d8d8d;
  color: #FFF;
  text-decoration: none;
  letter-spacing: 0.05em;
	padding: 1rem 4rem;
	width: 100%;
	min-width: 150px;
  cursor: pointer;
}
.btn02a:hover {
	margin-top: 3px;
	border-bottom: 1px solid #8d8d8d;
	color: #fff;
}
.btn02a span {
	font-size: 2.0rem;
	font-weight: bold;
}

/*================================================
 *  戻るボタン、閉じるボタン、ログアウトボタン
 ================================================*/
.btn04,
.btn05,
.btn07 {
  justify-content: center;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
	border-radius: 5px;
	border: none;
}

.btn04 {
  background: #767067;
  padding: 5px 20px 5px 40px;
}
.btn05 {
  background: #666;
  padding: 6px 20px 5px;
}
.btn07 {
  padding: 6px 20px 5px;
  background: #FFF;
	color: #94813B;
	border: 2px solid #94813B;
}

.btn04:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-135deg);
  position: absolute;
  top: 61%;
  left: 15px;
  margin-top: -6px;
}
.btn05:before {
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	content: "\f00d";
	padding-right: 5px;
}
.btn07:after {
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	content: "\f2f5";
	padding-left: 5px;
}
.btn04:hover {
  background: #817C72;
	color: #FFF;
	border: none;
  cursor: pointer;
}
.btn05:hover {
  background: #999;
	color: #FFF;
	border: none;
  cursor: pointer;
}
.btn07:hover {
  background: #94813B;
	color: #FFF;
	border: 2px solid #94813B;
  cursor: pointer;
}

.btn04:hover:before {
	left: 12px;
}


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

.favi_btn01,
.favi_btn02 {
    padding: 0;
    border: none;
    background: transparent;
}
.favi_btn01 {
    position: absolute;
    top: 0;
    right: 10px;
    margin: 0;
    z-index: 1;
}
.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;
}

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

/* Larger devices */
@media ( min-width: 600px) {
  .pgm_box_sub {
    padding: 1.5em;
  }

  .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_live {
	display: block;
	min-width: 130px;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	text-decoration: none;
	transition: .9s;
	border: 2px solid #85B8B9;
	line-height: 1.5em;
	background: #97D4D9;
	margin: 5px auto;
	color: #57656D;
	max-width: 300px;
	padding: 20px 20px 130px;
	position: relative;
	box-shadow: 0 0 8px gray;
	border-radius: 5px;
	cursor: pointer;
}
.btn_live:after {
	position:absolute;
	left:32%;
	top: 65px;
	content:"";
	display:inline-block;
	width:128px;
	height:128px;
	background:url(../images/ico_live.png) no-repeat;
	background-size:contain;
}
.btn_live:hover {
	color: #57656D;
	background: #C4E6E9;
	box-shadow: none;
}

/*================================================
 *  質問ボタン、ポスターボタンなど
 ================================================*/

.qa_area01 summary,
.btn_question,
.btn_poster,
.btn_dlpaper,
.btn_enquete,
.btn_movie {
	display: block;
	min-width: 130px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	padding: 20px 20px 20px 50px;
	position: relative;
	transition: .9s;
	border: 1px solid #FFF;
	line-height: 1.5em;
	cursor: pointer;
}
.qa_area01 summary {
	background: #FFcc00;
	margin-bottom: 5px;
}
.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;
}
.qa_area01 summary:before,
.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;
}
.qa_area01 summary:before,
.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;
}

.qa_area01 summary:hover,
.btn_question:hover,
.btn_poster:hover,
.btn_dlpaper:hover,
.btn_enquete:hover,
.btn_movie:hover {
	border: 1px solid #FFF;
	color: #000;
	
}
.qa_area01 summary:hover,
.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.5em;
	background: #F9B9C3;
	font-size: 1.8rem;
	cursor: pointer;
}
.btn_enquete_top:before {
	position:absolute;
	left:15px;
	top: 13px;
	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;
}

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

.flex-container,
.flex-container01,
.flex-container02 {
    display: block;
		margin-bottom: 10px;
}
.flex-b01 {
  display: flex !important;
  justify-content: space-between !important;
  margin-bottom: 1em !important;
}

.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;
	}
	.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 #65B58D;
	color: #65B58D !important;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding: 5px 30px 4px;
	border-radius: 30px;
	display: inline-block;
}
.abst_btn01::before {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    content: '\f518';
    padding-right: 10px;
}
.abst_btn01:hover {
    background: #e8f5f0;
    border: 2px solid #65B58D;
}

/*================================================
 *  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;
	margin: 0 5px;
	color: var(--color1);
	border: 1px solid var(--color2_hover);
}
.home_btn01 a::before {
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	padding-right: 7px; 
	color: var(--color1);
	content: '\f015';
}
.home_btn01:hover > a {
	background: var(--color2_hover);
  color: var(--color1);
  border: 1px solid var(--color2_hover);
}

/*================================================
 *  ポップアップ
 ================================================*/
.open {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up {
	display: none; /* label でコントロールするので input は非表示に */
}
.overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.window {
	/*width: 100vw;
	max-width: 500px;
	height: 300px;*/
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 30px 20px 20px;
}
/*.text {
	font-size: 18px;
	margin: 0;
}*/
.close {
	cursor: pointer;
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 20px;
}

div.sdl01 {
	display: flex;
	width: 100%;
	margin: 0.5em 0;
	justify-content: space-between;
	border-bottom: 1px dotted #1abc9c;
	min-height: 60px;
	padding: 10px 0;
}

div.sdl01 div:first-of-type {
	width: 7em;
}
div.sdl01 div:nth-of-type(2) {
	font-weight: bold;
	width: calc(100% - 18em);
}
div.sdl01 div:last-of-type {
	width: 12em;
	text-align: right;
}
div.sdl01 div a.abst_btn01 {
	font-size: 1.4rem;
}
div.sdl01 span.ttl {
	font-weight: bold;
	font-size: 1.8rem;
	display: block;
}
/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767px) {
	div.sdl01 {
		flex-direction: column;
		justify-content: flex-start;
		width: 100%;
	}
	div.sdl01 div:first-of-type,
	div.sdl01 div:nth-of-type(2),
	div.sdl01 div:last-of-type {
		width: 100%;
		text-align: left;
	}

/*================================================
/* btn_area
 ================================================*/
	.btn_area {
		flex-direction: column;
		justify-content: center;
		margin: 5px auto;
		max-width: 350px;
	}
	.btn_area div .btn01,
	.btn_area div .btn02,
	.btn_area div .btn11,
	.btn_area div .btn12 {
		margin: 0;
		width: 100%;
	}
}

/* 220609追加 */
/**
 * CSS Buttons Generator for your pleasure!
 * http://www.dextronet.com/css-buttons-generator
 * 
 * (c) Ondrej Zabojnik <zabojnik@dextronet.com>, released under the MIT license
 * 
 * Usage: 
 *   <a href="" class="shiny-button"><strong>示説質問受付状況・回答</strong><br>○件の質問が未回答です</a>
 * 
 */
.shiny-button {
  display: inline-block;
  text-align: center;
  border: 1px solid #61940C;
  text-decoration: none;
  line-height: 1.1;
  font-weight: normal;
  color: #FFFFFF;
  font-size: 1.6rem;
  background-color: #73B10E;
  background-image: -webkit-linear-gradient(top, #76b60e 0%, #86c028 48%, #73B10E 49%, #73B10E 82%, #84cb10 100%);
  background-image: -moz-linear-gradient(top, #76b60e 0%, #86c028 48%, #73B10E 49%, #73B10E 82%, #84cb10 100%);
  background-image: -o-linear-gradient(top, #76b60e 0%, #86c028 48%, #73B10E 49%, #73B10E 82%, #84cb10 100%);
  background-image: linear-gradient(top, #76b60e 0%, #86c028 48%, #73B10E 49%, #73B10E 82%, #84cb10 100%);
  -webkit-box-shadow: inset 0 0 1px 1px #95e512, 0 0 1px 3px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 0 1px 1px #95e512, 0 0 1px 3px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 0 1px 1px #95e512, 0 0 1px 3px rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 15px 36px;
}

.shiny-button strong {
  -webkit-text-shadow: 1px 1px 1px #5E8F0C;
  -moz-text-shadow: 1px 1px 1px #5E8F0C;
  -o-text-shadow: 1px 1px 1px #5E8F0C;
  text-shadow: 1px 1px 1px #5E8F0C;
  letter-spacing: 1px;
  font-size: 2.4rem;
	line-height: 1.5em;
}

.shiny-button:hover {
  color: #FFFFFF;
  background-color: #7cbf0f;
  background-image: -webkit-linear-gradient(top, #7fc40f 0%, #8fcc2b 48%, #7cbf0f 49%, #7cbf0f 82%, #8dd911 100%);
  background-image: -moz-linear-gradient(top, #7fc40f 0%, #8fcc2b 48%, #7cbf0f 49%, #7cbf0f 82%, #8dd911 100%);
  background-image: -o-linear-gradient(top, #7fc40f 0%, #8fcc2b 48%, #7cbf0f 49%, #7cbf0f 82%, #8dd911 100%);
  background-image: linear-gradient(top, #7fc40f 0%, #8fcc2b 48%, #7cbf0f 49%, #7cbf0f 82%, #8dd911 100%);
  border-color: hsl(83, 28%, 36%);
  -webkit-box-shadow: inset 0 0 1px 1px #9eed1e, 0 0 1px 3px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 0 1px 1px #9eed1e, 0 0 1px 3px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 0 1px 1px #9eed1e, 0 0 1px 3px rgba(0, 0, 0, 0.15);
}

.shiny-button:active {
  color: #FFFFFF;
  background-color: #6aa30d;
  background-image: -webkit-linear-gradient(top, #649a0c 0%, #73B10E 100%);
  background-image: -moz-linear-gradient(top, #649a0c 0%, #73B10E 100%);
  background-image: -o-linear-gradient(top, #649a0c 0%, #73B10E 100%);
  background-image: linear-gradient(top, #649a0c 0%, #73B10E 100%);
  padding: 15px 36px;
}

.main_area02 {
	width: 600px; /* 動画のサイズに合わせる */
	height:auto;
	margin-bottom: 20px;
}
.main_area02 img {
	width: 100%;
}
.qa_area01 {
	width: 100%;
	max-width: 600px; /* 動画のサイズに合わせる */
}

.qa_area01 details form {
	box-sizing: border-box;
	padding: 15px;
	background: #F3F6F8;
}

#qa_view { /* 以上 */
	padding: 10px;
	background: #FFF;
	border: 1px solid #F9B9C3;
	font-size: 1.4rem;
	height: auto;
	max-height: 800px;
	overflow: auto;
}
#qa_view h3 {
	color: #FFF;
	font-size: 1.6rem;
	padding: 8px 12px;
	margin: 0 0 2em;
	background-color: #F37E90;
	font-weight: bold;
}

.balloon-set-box {
  display: flex;
	align-items: flex-start;
}
.balloon-set-box.left { /* 左 */
  flex-direction: row;
}
.balloon-set-box.right { /* 右 */
  flex-direction: row-reverse; /* アイコンと吹き出しの並びを入れ替える */
}
.balloon {
  position: relative; /* 三角の位置を固定するために設定 */
  display: inline-block;
  margin: 13px 20px 10px; /* 上 左右 下のマージン */
  padding: 8px 15px; /* ふきだし内の余白 */
	color: #fff;
  border-radius: 10px;
}
.balloon.left {
	background-color: #42acdd;
  text-align: left; /* テキストの揃え */
}
.balloon.right {
	background-color: #90C723;
	text-align: left;
}

.balloon::after {
  content: '';
  border: 14px solid transparent;
  position: absolute;
  top: 0;
}
.balloon.left::after {
  border-top-color: #42acdd;
}
.balloon.right::after {
	border-top-color: #90C723;
}


.left .balloon::after { /* 左側からの三角の位置 */
  left: -11px;
}
.right .balloon::after { /* 右側からの三角の位置 */
  right: -11px;
}
 
.icon-box {
	line-height: 1;
	border-radius: 15px;
  padding: 6px 20px;
	white-space: nowrap;
}
.icon-box.left {
	border: 2px solid #42ACDD;
	background: #D8EEF8;
	text-align: center;
}
.icon-box.right {
	border: 2px solid #90C723;
	background: #E3F4C2;
	text-align: center;
}
.balloon .time {
	width: 100%;
	display: block;
	text-align: right;
	font-size: 1.2rem;
}

.qa_area01 details {
	margin-bottom: 10px;
}
.q_num {
  color: #42acdd;
	background: #EDF7FB;
	padding: 1px 3px;
	margin-right: 6px;
	font-weight: bold;
	border-radius: 2px;
}

.grid_order_flex {
  display: flex;
  flex-wrap: wrap;
	gap: 4px 10px;
}
.grid_order_flex div {
	text-align: right;
	width: 90px;
	
}
.grid_order_flex input[type="text"] {
	width: 50px;
	text-align: center;
}

.dp_flex {
  display: flex;
  justify-content: space-between;
	gap: 20px 10px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.dp_flex::after {
  content: "";
  display: block;
  width: 30%;
}
.dp_flex div {
	width: 30%;
}
.dp_flex div img {
	width: 100%;
  height: auto;
}
.dp_flex div span {
  font-size: 1.6rem;
  color: var(--l_color2);
  font-weight: bold;
  display: block;
  margin-bottom: 2px;
}
@media screen and (max-width:575.98px) {
  .dp_flex {
    flex-direction: column;
  }
  .dp_flex > div {
    width: 100%;
  }
}