@charset "utf-8";

/*----------------------------------------------------------------
 /program/ under
----------------------------------------------------------------*/
/*----------------------------------------------------------------
 styles
----------------------------------------------------------------*/
/*-----------------------------------------------------
 program
-----------------------------------------------------*/
#program{
	background			: var(--base-color);
	transform			: translate3d(0,0,0);
}
#program .container{ padding: 30px 0; }
@media screen and (min-width: 768px) {
#program .container{ padding: 50px 0;}
}

/* title
-----------------------------------------------------*/
#program .title{ margin: 0 0 40px 0; }
@media screen and (min-width: 768px) {
#program .title{ margin: 0 0 70px 0; }
}


/* icon-list
-----------------------------------------------------*/

#program .icon-list{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	justify-content		: center;
	flex-direction		: column;
	margin				: 0 0 40px 0;
}
#program .icon-list>li{
	padding				: 10px 15px 10px 15px;
	background			: #FFF;
	color				: var(--main-color);
}

#program .icon-list>li figure img{
	margin				: 0 5px 0 0;
	width				: 25px;
}
#program .icon-list>li figure figcaption{
	display				: inline-block;
	line-height			: 1.2;
	font-weight			: bold;
	font-size			: 1.4rem;
}
#program .icon-list>li figure figcaption small{
	display				: block;
	font-size			: 1rem;
	font-weight			: normal;
}
#program .icon-list>li.livein figure img{
	position			: relative;
	top					: -8px;
}

@media screen and (max-width: 767px) {
#program .icon-list{
	min-width: 180px;
	width				: 60%;
	margin				: 0 auto 40px auto;
	text-align: center;
}
}
@media screen and (min-width: 768px) {
#program .icon-list{
	flex-direction		: row;
	margin				: 0 0 50px 0;
}
#program .icon-list>li figure img{ width: 30px; }
#program .icon-list>li figure figcaption{ font-size: 1.6rem; }
#program .icon-list>li figure figcaption small{ font-size: 1.2rem; }
}

/* row
-----------------------------------------------------*/
#program .row{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-direction		: column;
	margin				: 30px 0 0 0;
}
#program .row>.col{ margin: 0 0 30px 0; }

@media screen and (min-width: 768px) {
#program .row{
	flex-direction		: row;
	justify-content		: space-between;
	margin				: 50px 0 60px 0;
}
#program .row>.col{
	flex				: 0 0 45%;
	margin				: 0;
}
}
@media screen and (min-width: 1150px) {
#program .row>.col{ flex: 0 0 510px; }
}

/* lineup
-----------------------------------------------------*/
#program .lineup{ border-bottom: 6px solid #FFF; }
@media screen and (max-width: 767px) {
#program .lineup,
#program .lineup.openseed{ padding: 0 0 30px 0; }
}

#program .lineup p a{ text-decoration: none; }
#program .lineup p a	{ color: var(--main-color); }

#program .lineup h3{
	margin: 40px 0 20px 0;
	font-weight			: bold;
	font-size			: 1.7rem;
	text-align			: center;
	color: var(--main-color);
}
#program .lineup:first-child h3{
	margin: 0 0 20px 0;
}
#program .lineup h3>img{
	position			: relative;
	top					: -10px;
	float				: left;
	margin				: 0 15px 0 0;
}
#program .lineup h3>small{
	display				: block;
	font-size			: 1rem;
}
#program .lineup h4{
	margin: 0 0 20px 0;
	font-weight			: bold;
	font-size			: 1.5rem;
	text-align			: center;
}
@media screen and (min-width: 768px) {
#program .lineup h3{
	margin: 60px 0;
	line-height			: 1.3;
	font-size			: 3rem;
}
#program .lineup:first-child h3{
	margin: 20px 0 60px 0;
}
#program .lineup h3>img{ position: static; }
#program .lineup h3>small{
	margin: 20px 0 0 0;
font-size: 1.4rem; }

#program .lineup h4{
	margin: 20px 0 0 0;
	line-height			: 1.3;
	font-size			: 2rem;
}
}


/* link
---------------------------------*/
#program .lineup .link{ margin: 20px 0; }
#program .lineup .link>li{
	display				: inline-block;
	margin				: 0 0 10px 5px;
	text-align			: center;
	list-style			: none;
}
@media screen and (max-width: 767px) {
#program .lineup .link>li{ text-align: center; }
}

/* btn
---------------------------------*/
#program .lineup .btn{
	display				: inline-block;
	border				: 1px solid transparent;
	border-radius		: 15px;
	padding				: 2px 15px;
	text-decoration		: none;
	font-weight			: bold;
	color				: #FFF;
}

#program .lineup .btn	{ background: var(--main-color); }
#program .lineup .btn:hover{
	border				: 1px solid var(--main-color);
	background			: transparent;
	color				: var(--main-color);
}

@media screen and (min-width: 768px) {
#program .lineup .btn{
	border-radius		: 20px;
	padding				: 0px 20px;
	min-width			: 180px;
	text-align			: center;
}
}

/* program-list
-----------------------------------------------------*/
#program .program-list{}
#program .program-list>ul{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-direction		: row;
	flex-wrap			: wrap;
}
#program .program-list>ul>li{
	list-style: none;
	word-break: break-all;
}

@media screen and (max-width: 767px) {
#program .program-list>ul>li{
	flex				: 0 0 45%;
	padding				: 0 0 20px 0;
	margin				: 0 5% 0 0;
}
#program .core .program-list>ul>li{
	flex				: 0 0 100%;
}
}
@media screen and (min-width: 768px) {

#program .program-list>ul>li{
	flex				: 0 0 31.5%;
	padding				: 0 0 50px 0;
	margin				: 0 2.7% 0 0;
}
#program .program-list>ul>li:nth-child(3n){ margin: 0; }
#program .core .program-list>ul>li{
	flex				: 0 0 47%;
	padding				: 0 0 50px 0;
	margin				: 0 3% 0 0;
}
}

/* item
---------------------------------*/
#program .program-list>ul>li>.open_button{ cursor: pointer; }
#program .program-list>ul>li>.open_button:hover{ opacity: 0.5; }

#program .program-list>ul>li>.item{display: block; }
#program .program-list>ul>li>a.item{ text-decoration: none; }
#program .program-list>ul>li>a:visited.item{ color:var(--text-color);}
#program .program-list>ul>li>.item{ display: block; }
#program .program-list>ul>li>.item img{
display: block;
	margin: 10px 0;
border-radius: 15px; }
#program .program-list>ul>li>.item figcaption{
	display				: block;
	margin				: 10px 0;
	font-size			: 1.2rem;
	line-height: 1.4;
	font-weight			: bold;
	color				: var(--main-color);
}

@media screen and (min-width: 768px) {
#program .program-list>ul>li>.item figcaption{ font-size: 1.4rem; }
}
#program .program-list>ul>li>.item ul{
	position			: relative;
	line-height			: 1;
}


#program .program-list>ul>li>.item ul>li{ margin: 5px 0; }
#program .program-list>ul>li>.item ul>.info{
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.4;
	opacity: 0.9;
}
#program .program-list>ul>li>.item ul>.title-en,
#program .program-list>ul>li>.item ul>.title-jp{
	margin				: 0 0 -2px 0;
	line-height			: 1.3;
	font-weight			: bold;
	font-size			: 1.6rem;
}
#program .program-list>ul>li>.item ul>.title-en{
	font-style			: italic;
}
@media screen and (min-width: 768px) {
#program .program-list>ul>li>.item ul>.title-en,
#program .program-list>ul>li>.item ul>.title-jp{ font-size: 2rem; }
#program .program-list>ul>li>.item ul>.info{ font-size: 1.3rem; }
}

#program .program-list>ul>li>.item ul>.title-jp>small{ font-size: 80%; }
#program .program-list>ul>li>.item ul>.title-en,
#program .program-list>ul>li>.item ul>.name-jp{
	line-height			: 1.5;
}

#program .program-list>ul>li>.item ul>.name-en{
	line-height			: 1.3;
	font-weight: bold;
}



/* comment-list
-----------------------------------------------------*/
#program .comment-list{
	--item-width: 100%;
	--item-radius: 5px;
	--item-padding: 10px;
	--image-size: 60px;
	--item-gap: 10px;
}

@media screen and (min-width: 768px) {
#program .comment-list{
	--item-width: 370px;
	--item-radius: 10px;
	--item-padding: 15px;
	--image-size: 90px;
	--item-gap: 15px;
}
}

@media screen and (min-width: 992px) {
#program .comment-list{
	--item-width: 430px;
	--item-gap: 30px;
}
}

@media screen and (min-width: 1100px) {
#program .comment-list{
	--item-width: 500px;
}
}

#program .comment-list{
	margin				: 10px 0 30px 0;
}
#program .comment-list ul{
	display				: flex;
	flex-direction		: column;
	gap: var(--item-gap);
}

@media screen and (min-width: 768px) {
#program .comment-list{
	margin: 20px 0 50px 0;
}
#program .comment-list ul{
	flex-direction		: row;
	flex-wrap			: wrap;
	justify-content		: center;
}
#program .comment-list ul li{
	flex: 0 1 var(--item-width);
	/* 講評が2個以上入る場合は↓をコメントアウトする */
	/* flex: 1; */
}

}

/* comment-item
-----------------------------------------------------*/

#program .comment-item{
	display				: block;
	border-radius		: var(--item-radius);
	padding				: var(--item-padding) calc(var(--item-padding) + 5px);
	background			: var(--main-color);
	color				: #FFF;
	text-decoration: none;
	height: 100%;
}

#program .comment-item .text{
	flex				: 3;
	text-align			: left;
	line-height			: 1.5;
}
#program .comment-item .text strong{
	display				: block;
}

#program .comment-item .text em{ font-size: calc(var(--font-size) - 2px); }
#program .comment-item .text strong{
font-size: calc(var(--font-size) + 3px); }
#program .comment-item .text strong span{
	display				: inline-block;
	margin				: 0 0 5px 0;
	line-height			: 1.3;
	font-size			: 10px;
}
#program .comment-item .text small{ font-size: calc(var(--font-size) - 2px); }
#program .comment-item span .text small{ color: #630132; }

@media screen and (min-width: 768px) {
#program .comment-item{
	padding				: var(--item-padding);
}
#program .comment-item .text em			{ font-size: calc(var(--font-size) - 3px); }
#program .comment-item .text strong		{ font-size: calc(var(--font-size) + 3px); }
#program .comment-item .text strong span{
	font-size			: 12px;
}
#program .comment-item .text strong span.midium{
	display: inline-block;
	font-size			: 16px;
}
#program .comment-item .text small{ font-size: calc(var(--font-size) - 2px); }
}

@media screen and (min-width: 992px) {
#program .comment-item .text em{ font-size: var(--font-size); }
#program .comment-item .text strong{ font-size: calc(var(--font-size) + 6px); }
}

/*-----------------------------------------------------
 modal
-----------------------------------------------------*/
/* modaal setting overwrite
-----------------------------------------------------*/
.modaal-close{
	position			: absolute;
	top					: 50px;
	right				: 20px;
	z-index				: 999;
}
.modaal-close span{
	cursor				: pointer;
	display				: block;
	width				: 36px;
	height				: 36px;
	background			: url(../../common/images/close.png) center center /cover no-repeat;
	text-indent			: -99999em;
}
@media screen and (min-width: 768px) {
.modaal-close{
	top					: 80px;
	right				: 140px;
}
.modaal-close span{
	width				: 48px;
	height				: 48px;
}
}

.modaal-container{
	box-shadow: none;
background: transparent; }

@media screen and (max-height: 1000px) {
.modaal-content-container { padding: 0; }
.modaal-inner-wrapper { padding: 0;}
}

/* modal default view
-----------------------------------------------------*/
.modal{ display: none; }

/* content
-----------------------------------------------------*/
.modal_content{
	margin				: 40px auto;
	width				: calc(100vw - 20px);
	border-radius		: 15px;
	padding				: 15px;
	background: var(--main-color);
	color				: #FFF;
}

@media screen and (min-width: 768px) {
.modal_content{
	margin				: 50px auto;
	width				: 730px;
	border-radius		: 40px;
	padding				: 40px;
}
}

/* contents
-----------------------------------------------------*/
/* data
---------------------------------*/
.modal_content .data{ margin: 0 0 15px 0; }
.modal_content .data>li{ text-align: center; }
@media screen and (min-width: 768px) {
.modal_content .data{ margin: 0 0 35px 0; }
}

/* place ------------------------*/
.modal_content .data>.place{
	margin				: 0 0 20px 0;
	font-weight			: bold;
}
.modal_content .data>.place figure>figcaption{
	display				: inline-block;
	padding				: 10px;
	font-size			: 1.6rem;
}
@media screen and (min-width: 768px) {
.modal_content .data>.place{ margin: 0 0 15px 0; }
.modal_content .data>.place figure>figcaption{ font-size: 2rem; }
}

/* image ------------------------*/
.modal_content .data>.image			{ margin: 0 0 10px 0; }
.modal_content .data>.image>img		{ border-radius: 5px; }
@media screen and (min-width: 768px) {
.modal_content .data>.image			{ margin: 0 0 20px 0; }
.modal_content .data>.image>img		{ border-radius: 15px; }
}

/* title & name -----------------*/
.modal_content .data>.title-jp{
	line-height			: 1.3;
	font-size			: 2.4rem;
	font-weight			: bold;
}
.modal_content .data>.title-jp>small{ font-size: 65%; }
.modal_content .data>.title-en{
	margin				: 0 0 5px 0;
	font-size			: 1.6rem;
	line-height			: 1.2;
	color				: #FFFFFF;
	font-weight: bold;
	font-style: italic;
}

.modal_content .data>.name-en{
	margin				: 0 0 10px 0;
	font-size			: 1.6rem;
	color				: #fff;
}
@media screen and (min-width: 768px) {
.modal_content .data>.title-en{
	margin				: 0 0 15px 0;
	font-size			: 3rem;
}
.modal_content .data>.name-en{ font-size: 2.1rem; }
}


/* genre ------------------------*/
.modal_content .data>.genre>span{
	display				: inline-block;
	border				: 1px solid #FFF;
	border-radius		: 10px;
	padding				: 1px 12px;
	line-height			: 1.3;
	font-size			: 1.2rem;
}
@media screen and (min-width: 768px) {
.modal_content .data>.genre>span{
	padding				: 1px 15px;
	font-size			: 1.4rem;
}
}

/* reserve ------------------------*/
.modal_content .data>.reserve>span{
	display				: inline-block;
	border				: 2px solid #000;
	border-radius		: 12px;
	padding				: 1px 12px;
	line-height			: 1.3;
	font-size			: 1.2rem;
	background-color	: var(--base-color);
	color				: #000;
	font-weight			: bold;
}
@media screen and (min-width: 768px) {
.modal_content .data>.reserve>span{
	padding				: 1px 15px;
	font-size			: 1.4rem;
}
}

/* text
---------------------------------*/
.modal_content .text{ margin: 0 0 15px 0;}
@media screen and (min-width: 768px) {
.modal_content .text{ margin: 0 0 45px 0; }
}

/* opencall
---------------------------------*/
.modal_content .opencall{
	margin				: 30px 0;
	text-align			: center;
}
.modal_content .opencall .btn{
	display				: inline-block;
	margin				: 5px 0;
	border				: 1px solid transparent;
	border-radius		: 25px;
	padding				: 3px 20px;
	background			: var(--base-color);
	text-decoration		: none;
	text-align			: center;
	font-weight			: bold;
	color				: var(--main-color);
}

.modal_content .opencall .btn:hover{
	border				: 1px solid var(--base-color);
	background			: transparent;
	color				: var(--base-color);
}
@media screen and (min-width: 768px) {
.modal_content .opencall .btn{ padding: 5px 25px; }
}
.modal_content .opencall .btn>i{ margin: 0 5px 0 0; }

.modal_content .opencall .btn_nolink{
	display				: inline-block;
	margin				: 5px 0;
	border				: 1px solid transparent;
	border-radius		: 25px;
	padding				: 3px 20px;
	background			: #aaa;
	text-align			: center;
	text-decoration		: none;
	font-weight			: bold;
	color				: #ffffff;
}

@media screen and (min-width: 768px) {
.modal_content .opencall .btn_nolink{ padding: 5px 25px; }
}
.modal_content .opencall .btn_nolink>i{ margin: 0 5px 0 0; }

/* info
---------------------------------*/
.modal_content .info{ margin: 0 0 15px 0; }
.modal_content .info>li{ margin: 0 0 5px 0; }

.modal_content .info dl p{ margin: 8px 0; }

.modal_content .info dl{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
}
.modal_content .info dl>dt{
	flex				: 0 0 60px;
	width: 60px;
	display: block;
	border				: 1px solid #FFF;
	border-radius		: 10px;
	padding				: 1px;
	text-align			: center;
	line-height			: 1.3;
	font-size			: 1.2rem;
	margin: 0 10px 0 0;
	letter-spacing: calc( 25 / 1000 * -1em);
}
.modal_content .info dl>dd{
	flex				: 0 0 calc(100% - 80px);
}

@media screen and (min-width: 768px) {
.modal_content .info{ margin: 0 0 30px 0; }

.modal_content .info dl>dt{
	flex				: 0 0 80px;
	border-radius		: 13px;
	padding				: 2px 3px;
	font-size			: 1.25rem;
	position: relative;
	top					: 3px;
}

.modal_content .info a{
	text-decoration		: none;
	border-bottom		: #FFF dotted 1px;
	color				: #FFF;
}
.modal_content .info a:hover{
	text-decoration		: none;
	border-bottom		: none;
	color				: #FFF;
}

}

/* stage-link
---------------------------------*/
.modal_content .stage-link{
	margin				: 20px 0;
	text-align			: center;
}
.modal_content .stage-link a{
	display				: inline-block;
	border-radius		: 20px;
	padding				: 12px 0;
	width				: 88%;
	border				: 1px solid transparent;
	background			: #FFF;
	text-decoration		: none;
	line-height			: 1;
	font-size			: 1.6rem;
	font-weight			: bold;
}
.modal_content .stage-link a{ color: var(--main-color); }
.modal_content .stage-link a:hover{
	border				: 1px solid #FFF;
	background			: transparent;
	color				: #FFF;
}
.modal_content .stage-link a .fab{ margin: 0 5px 0 0; }
@media screen and (min-width: 768px) {
.modal_content .stage-link{ margin: 30px 0; }
.modal_content .stage-link a{
	width				: auto;
	padding				: 15px 40px;
	border-radius		: 30px;
	width				: 400px;
}
.modal_content .stage-link a .fab{
	margin				: 0 8px 0 0;
	vertical-align		: -3px;
	font-size			: 30px;
}
}

/* program-data
---------------------------------*/
.modal_content .program-data{ margin: 0 0 20px 0; }
.modal_content .program-data li{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-direction		: column;
	margin				: 0 0 10px 0;
}
.modal_content .program-data li>span{
	display				: block;
	margin				: 0 0 10px 0;
	text-align			: center;
}
.modal_content .program-data li>dl>dt{ font-weight: bold; }

@media screen and (max-width: 767px) {
.modal_content .program-data li>span>img{
	border-radius		: 5px;
	height				: 35vw;
}
}
@media screen and (min-width: 768px) {
.modal_content .program-data{ margin: 0 0 30px 0;}
.modal_content .program-data li{
	flex-direction		: row;
	justify-content		: space-between;
	font-size			: 1.4rem;
	margin				: 0 0 30px 0;
}
.modal_content .program-data li>span{ flex: 0 0 250px; }
.modal_content .program-data li>span>img{ border-radius: 10px; }
.modal_content .program-data li>dl{ flex: 0 0 calc(100% - 270px); }
.modal_content .program-data li>dl:first-child{ flex: 0 0 100%; }
}

/* program-reserve
---------------------------------*/
.modal_content .program-reserve{ 
	margin: 0 0 20px 0;
	color:#000;
	border-radius: 10px;
	padding:20px;
	background-color:var(--base-color);
}
.modal_content .program-reserve li{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-direction		: column;
	/* margin				: 0 0 10px 0; */
}
.modal_content .program-reserve li>span{
	display				: block;
	margin				: 0 0 10px 0;
	text-align			: left;
}
.modal_content .program-reserve li>dl>dt{ font-weight: bold; }

@media screen and (max-width: 767px) {
.modal_content .program-reserve li>span>img{
	border-radius		: 5px;
}
}
@media screen and (min-width: 768px) {
.modal_content .program-reserve{ margin: 0 0 30px 0;}
.modal_content .program-reserve li{
	flex-direction		: row;
	justify-content		: space-between;
	font-size			: 1.4rem;
	/* margin				: 0 0 30px 0; */
}
.modal_content .program-reserve li>span{ flex: 0 0 250px; margin: 0; }
.modal_content .program-reserve li>span>img{ border-radius: 0px; }
.modal_content .program-reserve li>dl{ flex: 0 0 calc(100% - 270px); }
.modal_content .program-reserve .attention {color:var(--main-color);font-weight:bold; }
}
.modal_content .program-reserve .btn{
	display				: inline-block;
	margin				: 5px 0;
	border				: 1px solid var(--main-color);
	border-radius		: 25px;
	padding				: 3px 20px;
	background			: #FFF;
	text-decoration		: none;
	text-align			: center;
	font-weight			: bold;
	color				: #000;
}

.modal_content .program-reserve .btn:hover{
	border				: 1px solid var(--main-color);
	background			: transparent;
	color				: var(--main-color);
}

.modal_content .program-reserve .btn_nolink{
	display				: inline-block;
	margin				: 5px 0;
	border				: 1px solid transparent;
	border-radius		: 25px;
	padding				: 3px 20px;
	background			: #aaa;
	text-align			: center;
	text-decoration		: none;
	font-weight			: bold;
	color				: #ffffff;
}

.modal_content .program-reserve a:link{
	text-decoration		: none;
	border-bottom		: var(--main-color) dotted 1px;
	color				: var(--main-color);
}
.modal_content .program-reserve a:hover{
	text-decoration		: none;
	border-bottom		: none;
	color				: var(--main-color);
}
.modal_content .program-reserve a:visited{
	text-decoration		: none;
	color				: var(--main-color);
}
/* program-column
---------------------------------*/
.modal_content .program-column{ 
	margin: 0 0 20px 0;
	color:#000;
	border-radius: 10px;
	padding:20px;
	background-color:#FFF;
}
.modal_content .program-column li{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-direction		: column;
	margin				: 0 0 10px 0;
}
.modal_content .program-column li>span{
	display				: block;
	margin				: 0 0 10px 0;
	text-align			: left;
}
.modal_content .program-column li>dl>dt{ font-weight: bold; }

@media screen and (max-width: 767px) {
.modal_content .program-column li>span>img{
	border-radius		: 5px;
	height				: 15vw;
}
}
@media screen and (min-width: 768px) {
.modal_content .program-column{ margin: 0 0 30px 0;}
.modal_content .program-column li{
	flex-direction		: row;
	justify-content		: space-between;
	font-size			: 1.4rem;
	margin				: 0 0 30px 0;
}
.modal_content .program-column li>span{ flex: 0 0 250px; }
.modal_content .program-column li>span>img{ border-radius: 0px; }
.modal_content .program-column li>dl{ flex: 0 0 calc(100% - 270px); }
.modal_content .program-column .attention {color:var(--main-color);font-weight:bold; }
}
.modal_content .program-column .btn{
	display				: inline-block;
	margin				: 5px 0;
	border				: 1px solid transparent;
	border-radius		: 25px;
	padding				: 3px 20px;
	background			: var(--main-color);
	text-decoration		: none;
	text-align			: center;
	font-weight			: bold;
	color				: var(--base-color);
}

.modal_content .program-column .btn:hover{
	border				: 1px solid var(--main-color);
	background			: transparent;
	color				: var(--main-color);
}

.modal_content .program-column .btn_nolink{
	display				: inline-block;
	margin				: 5px 0;
	border				: 1px solid transparent;
	border-radius		: 25px;
	padding				: 3px 20px;
	background			: #aaa;
	text-align			: center;
	text-decoration		: none;
	font-weight			: bold;
	color				: #ffffff;
}

.modal_content .program-column a:link{
	text-decoration		: none;
	color				: var(--main-color);
}
.modal_content .program-column a:hover{
	text-decoration		: underline;
	color				: var(--main-color);
}
.modal_content .program-column a:visited{
	text-decoration		: none;
	color				: var(--main-color);
}


/* program-attention
---------------------------------*/
.modal_content .program-attention{ 
	margin: 0 0 20px 0;
	color:#FF0000;
	border-radius: 10px;
	padding:20px;
	background-color:#FFF;
}
.modal_content .program-attention li{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-direction		: column;
	margin				: 0 0 10px 0;
}
.modal_content .program-attention li>span{
	display				: block;
	margin				: 0 0 10px 0;
	text-align			: center;
}
.modal_content .program-attention li>dl>dt{ font-weight: bold; }

@media screen and (max-width: 767px) {
.modal_content .program-attention li>span>img{
	border-radius		: 5px;
	height				: 15vw;
}
}
@media screen and (min-width: 768px) {
.modal_content .program-attention{ margin: 0 0 30px 0;}
.modal_content .program-attention li{
	flex-direction		: row;
	justify-content		: space-between;
	font-size			: 1.4rem;
	margin				: 0 0 30px 0;
}
.modal_content .program-attention li>span{ flex: 0 0 250px; }
.modal_content .program-attention li>span>img{ border-radius: 0px; }
.modal_content .program-attention li>dl{ flex: 0 0 calc(100% - 270px); }
.modal_content .program-attention .attention {color:#FF0000;font-weight:bold; }
}




/* links
---------------------------------*/
.modal_content .links{ text-align: center; }
.modal_content .links li{ margin: 0 0 10px 0; }
.modal_content .links a{
	display				: inline-block;
	border-radius		: 20px;
	padding				: 12px 0;
	width				: 88%;
	border				: 1px solid transparent;
	background			: #FFF;
	text-decoration		: none;
	font-size			: 1.5rem;
	line-height			: 1;
}
.modal_content .links a{ color: var(--main-color); }

.modal_content .links a:hover{
	border				: 1px solid #FFF;
	background			: transparent;
	color				: #FFF;
}

.modal_content .links a .fa,
.modal_content .links a .fab{
	margin				: 0 5px 0 0;
	font-size			: 1.8rem;
}

@media screen and (min-width: 768px) {
.modal_content .links a{
	width				: auto;
	padding				: 12px 40px;
	min-width			: 240px;
}
}

.modal_content li:empty,
.modal_content li:empty::before,
.modal_content li:empty::after{
	display: none;
}


/* open
-----------------------------------------------------*/
#program .message{
	margin				: 0 0 30px 0;
	border-radius		: 10px;
	padding				: 20px 30px;
	background			: #f6f6ee;
}
#program .message h4{
	text-align			: center;
	font-weight			: bold;
}
#program .message p{ margin: 0 0 30px 0; }

@media screen and (max-width: 767px) {
#program .message{ margin: 20px 0 30px 0; }
#program .message p{ margin: 0 0 15px 0; }
}






.modal_content .btn{
	display				: block;
	margin: 5px auto;
	border-radius		: 20px;
	padding				: 12px 0;
	width				: 88%;
	border				: 1px solid transparent!important;
	background			: #FFF;
	text-decoration		: none;
	font-size			: 1.5rem;
	line-height			: 1;
	text-align: center;
	color: var(--main-color)!important;
}

.modal_content .btn:hover{
	border				: 1px solid #FFF!important;
	background			: transparent;
	color				: #FFF!important;
}

.modal_content .btn .fa,
.modal_content .btn .fab{
	margin				: 0 5px 0 0;
	font-size			: 1.8rem;
}

@media screen and (min-width: 768px) {
.modal_content .btn{
	width				: auto;
	padding				: 12px 40px;
	min-width			: 240px;
}
}
