@charset "UTF-8";

/*  ---------- from ---------- */

.form_title {
    font-size: 150%;
    font-weight: bold;
    letter-spacing: 0.2em;
    text-align: center;
    border: 1px solid #ccc;
    padding: 10px 0;
    border-radius: 50px;
    margin-bottom: 50px;
}


/* CSS Document */
.os_main{
	margin:0 0 100px 0;
	border-bottom:1px solid #000;
	padding-bottom:100px;
}
.os_main dl{
	display:flex;
	justify-content:space-between;
}
.os_main dl dt{
	width:45%;
	background:#edafaf;
	align-items: center;
	display: flex;
	border-radius:20px;
}
.os_main dl dt img{
	width:80%;
	height:auto;
	margin:auto;
}
.os_main dl dd{
	width:50%;
	box-sizing:border-box;
	margin-top:2.5em;
}
.os_main dl dd h5{
	color:#fff;
	font-size:120%;
	font-weight:bold;
	margin-bottom:1em;
}
.os_main dl dd h5 span{
	background:#f40002;
	padding:0.3em 0.9em;
	border-radius:15px;
}
.os_main dl dd h5 span em{
	font-size:130%;
	font-weight:bold;
	margin:0 0.2em;
}
.os_main dl dd h3{
	font-size:160% !important;
	margin:0 0 1.8em 0!important;
	text-align:left !important;
	line-height:2.0em !important;
}


.os_menu {
	display: flex;
	align-items: center;
	border-top: 5px solid #f7f7f7;
	border-bottom: 5px solid #f7f7f7;	
	padding: 50px 25px;
	margin: 50px 0;
}
.os_menu .titleBox {
	width: 40%;
	padding: 0 25px;
}
.os_menu .titleBox h5{
	font-family: Arial, Helvetica, sans-serif;
	font-size:300%;
	font-weight: bold;
}

.os_list{
	margin-bottom:100px;
	padding-bottom:100px;
	background:linear-gradient(20deg,#f9e5e5 0%,#f9e5e5 40%,#fff 40%,#fff 100%);
    border-radius:30px;
}

.os_list .os_date{
	font-size:40px;
	font-family: 'Jost', sans-serif;
	text-align:right;
}
.os_list .os_date span{
	vertical-align:baseline;
}

.os_list .os_date span.year{
}
.os_list .os_date span.day{
	margin-right:0.1em;
}
.os_list .os_date span.sat{
	color:#2d8bd6;
}
.os_list .os_date span.sun{
	color:#f40002;
}

.os_list .os_date .week{
	font-size:70%;
	width:100%;
	margin-right:0.2em;
}
.os_list .os_date .time{
}

.os_list .os_date .time strong img{
	height:0.8em;
	margin-right:0.2em;
	vertical-align:baseline;
}

.os_list .os_date .time strong{
	font-size:50%;
	color:#fff;
	background:#f40002;
	padding:0 0.6em;
	vertical-align:middle;
	border-radius:30px;
}

.os_list .os_detail {
	position:relative;
}

.os_list .os_detail > h3{
	width:auto !important;
	font-size:400% !important;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin:0 !important;
	padding:0 !important;
	line-height:1em !important;
	position:absolute !important;
	left:0;
	top:-1em;
	text-align:left !important;
}
.os_list .os_detail > h3 span{
	font-size:45%;
}
.os_list .os_detail > h3 span em{
	font-weight:bold;
	color:#f40004;
}
.os_list .os_detail > h3 span::after {
	content: "\A" ;
	white-space: pre ;
}
.os_list .os_detail dl{
	margin-left:120px;
	display:flex;
	justify-content:space-between;
}
.os_list .os_detail dl dt{
	width:42%;
	height:auto;
}
.os_list .os_detail dl dt div:nth-child(1){
	width:100%;
	height:500px;
	overflow:hidden;
}
.os_list .os_detail dl dt div:nth-child(1) img{
	object-fit:cover;
	width:100%;
	height:100%;
	font-family: 'object-fit: cover;'; /*IE対策*/
}
.os_list .os_detail dl dt div:nth-child(2) span{
	width:50%;
	height:200px;
	overflow:hidden;
	display:block;
	float:left;
}
.os_list .os_detail dl dt div:nth-child(2) span img{
	object-fit:cover;
	width:100%;
	height:100%;
	font-family: 'object-fit: cover;'; /*IE対策*/
}
.os_list .os_detail dl dd{
	width:55%;
}
.os_list .os_detail dl dd h4{
	margin:0 !important;
	border-bottom:none !important;
}

.os_list .os_detail dl dd .speaker{
	display:flex;
	justify-content:space-between;
	align-items: flex-start;
	margin:50px 0;
}
.os_list .os_detail dl dd .speaker img{
	width:30%;
	height:auto;
	}
.os_list .os_detail dl dd .speaker img.w{
	display:none;
}
.os_list .os_detail dl dd .speaker .sp_info{
	width:68%;
}
.os_list .os_detail dl dd .speaker .sp_info span{
	color:#fff;
	background:#4364ca;
	padding:2px 10px;
}
.os_list .os_detail dl dd .speaker .sp_info > p.status{
	font-size:80%;
	line-height:1.8em !important;
	border-bottom:1px solid #ccc;
	padding-bottom:10px;
}
.os_list .os_detail dl dd .speaker .sp_info h6{
	display:block;
	font-size:120%;
	font-weight:bold;
	line-height:3em;
}
.os_list .os_detail dl dd .speaker .sp_info p.text{
	font-size:90%;
	margin-top:0.5em;
}
.os_list .os_detail dl dd .os_point{
}
.os_list .os_detail dl dd .os_point h5{
	color:#f40007;
	font-size:128%;
	font-weight:bold;
	margin-bottom:0.5em;
}
.os_list .os_detail dl dd .os_point ol{
}
.os_list .os_detail dl dd .os_point ol li{
	font-size:105%;
	font-weight:bold;
	border-bottom:1px solid #ccc;
	margin-bottom:0.3em;
}
.os_list .os_detail dl dd .os_point ol li span{
	color:#f40004;
	font-family: 'Lato', sans-serif;
	font-weight:bold;
	font-size:120%;
	margin-right:0.5em;
}


.os_flow{
		background:linear-gradient(0deg,#f5f5f500 0%,#f5f5f500 80%,#fff 80%,#fff 100%),
		linear-gradient(180deg,#f5f5f5 0%,#f5f5f5 80%,#fff 80%,#fff 100%);

}
.os_flow ol{
		width:60%;
	max-width:600px;
	margin:auto;
	border-top:50px solid #000;
	border-bottom:70px solid #000;
	border-right:15px solid #000;
	border-left:15px solid #000;
	padding:0 50px;
	background:#fff;
	border-radius:40px;
	box-shadow:30px 30px 40px #ccc;
}
.os_flow h4{
	font-size:150% !important;
	text-align:center;
	border-bottom:none  !important;
	line-height:3.5em;
}
.os_flow h4 span{
	color:#f40004;
	font-size:200% !important;
	text-align:center;
	font-family: 'Lato', sans-serif;
	font-weight:normal;
	position: relative;
}
.os_flow h4 span:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color:#f40004;
  border-radius: 2px;
}

.os_flow h4 span::after {
	content: "\A" ;
	white-space: pre ;
}
.os_flow ul{
}

.os_flow ul li{
	border-bottom:1px solid #000;
	padding:20px 0;
}
.os_flow ul li:last-child{
	border-bottom:none;
}
.os_flow ul li span{
	color:#fff;
	font-family: 'Lato', sans-serif;
	font-size:100%;
	font-weight:bold;
	background:#f40004;
	padding:8px 15px 2px 15px;
	border-radius:50px;
}

.os_flow ul li span em{
	font-size:150%;
	margin-left:0.2em;
	font-weight:bold;
}

.os_flow ul li h6{
	font-size:120%;
	font-weight:bold;
}


.pre {
    margin-bottom: 100px;
}


.pre ul {
    display: flex;
    justify-content:space-between;
    width: auto;
    margin: 0 auto;
}

.pre ul li:nth-child(1){
	width:30%;
	overflow:hidden;
}
.pre ul li:nth-child(1) img {
    width: 100%;
    height:100%;
    object-fit:cover;
}

.pre ul li:nth-child(2){
	width:65%;
}
.pre ul li h5 {
    font-size: 20px;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
}

.pre ul li h5 > span{
	font-size: 130%;
    color: #E91E63;
    font-weight: bold;
}


.sub section#subContainer div.main_box .pre ul li h4 {
    border-bottom: 0;
    margin-top: 0;
    background: #E91E63;
    color: #fff;
    padding: 3px 2em!important;
    display: inline-block;
    font-size: 16px!important;
    border-radius: 30px;
    width: auto!important;
}


body#event section#subContainer .main_box .eventSingle div.event_info {
    justify-content: space-between;
    margin-bottom: 100px;
}

body#event section#subContainer .main_box .eventSingle div.event_info .map {
    width: 50%;
}

body#event section#subContainer .main_box .eventSingle div.event_info .map iframe {
    width: 100%;
}

body#event section#subContainer .main_box .eventSingle .event_info .detail_box {
    margin-right: 0;
}

body#event section#subContainer .main_box .eventSingle .event_info .detail_box table tr td {
    padding: 10px;
}

body#event section#subContainer .main_box .eventSingle .event_info .detail_box table tr td a {
    border-bottom: 1px solid #000;
}

@media screen and (max-width:1199px) {
	.os_list{
		width:96%;
		margin-left:auto;
		margin-right:auto;
    }
	.os_main dl dt{
    }
	.os_main dl dt img{
	    margin:auto;
    }
    .os_main dl dd h3{
	    font-size:130% !important;
     }
}
@media screen and (max-width:959px) {
	.os_list{
		width:96%;
		margin:0 auto 100px auto;
	}
	.os_list .os_detail > h3{
    }
    .os_list .os_date{
    	margin:auto;
	    font-size:50px;
	    font-family: 'Lato', sans-serif;
	    text-align:right;
    }
    .os_list .os_detail dl{
	    margin-left:120px;
	    display:block;
	    justify-content:unset;
    }
    .os_list .os_detail dl dt{
	    width:100%;
	    height:auto;
	    display:block;
	    margin-bottom:30px;
    }
    .os_list .os_detail dl dt div:nth-child(1){
	    width:100%;
	    height:300px;
    }
    .os_list .os_detail dl dt div:nth-child(2){
    	display:block;
    	height:200px;
    }
    .os_list .os_detail dl dt div:nth-child(2) span{
	    width:50%;
	    height:200px;
	   }
    .os_list .os_detail dl dd{
		width:100%;
    }
    .os_list .os_detail dl dd .speaker{
	    margin:30px 0;
    }
    .os_list .os_detail dl dd .speaker img{
	    width:38%;
	    max-width:180px;
    }
    .os_list .os_detail dl dd .speaker .sp_info{
	    width:58%;
    }
    .os_list .os_detail dl dd .os_point{
    	width:80%;
    	margin:auto;
    }
    .os_flow ol{
	    width:90%;
	    margin:auto;
	    padding:0 4%;
	    background:#fff;
	    box-sizing:border-box;
    }
}
@media screen and (max-width:768px) {
	.os_main{
	    margin:0 0 50px 0;
	    border-bottom:1px solid #000;
	    padding-bottom:50px;
    }
	.os_main dl{
	    display:block;
	    justify-content:unset;
    }
    .os_main dl dt{
	    width:80%;
	    margin:0 auto 30px auto;
	    padding:50px 0;
	   }
	.os_main dl dt img{
		width:70%;
	}
    .os_main dl dd{
	    width:96%;
	    margin:auto;
    }
    .os_main dl dd h5{
	    color:#fff;
	    text-align:center;
    }
    .os_main dl dd h5 span{
	    background:#f40002;
	    padding:0.5em 1.3em;
	    border-radius:15px;
    }
    .os_main dl dd h3{
	    font-size:140% !important;
	    margin:0 0 1.3em 0!important;
	    text-align:center !important;
	    line-height:1.8em !important;
    }
    .os_list .os_date{
	    text-align:center;
	}
	.os_list .os_date span.year{
		font-size:70%;
    }
    .os_list .os_date span.day{
	    font-size:70%;
    }
    .os_list .os_date .week{
    	font-size:50%;
    }
    .os_list .os_date .time{
    	display:block;
    	line-height:0.8em;
    	font-size: 80%;
    }

    .os_list .os_date .time strong{
	    font-size:50%;
	    width:40%;
	    min-width:9em;
	    color:#fff;
	    background:#f40002;
	    padding:0 0.2em;
	    vertical-align:middle;
	    border-radius:30px;
	    display:block;
	    line-height:1.3em;
	    margin-bottom:10px;
	   }
    .os_list .os_detail > h3{
	    width:auto !important;
	    font-size:300% !important;
	    -ms-writing-mode: unset;
	    writing-mode: unset;
	    line-height:1em !important;
	    position:unset !important;
	    left:unset;
	    top:unset;
	    text-align:center !important;
	    margin-top:30px !important;
	    margin-bottom:30px !important;
    }
    .os_list .os_detail dl{
	    margin-left:0;
	    display:block;
	    justify-content:unset;
    }
    .os_list .os_detail dl dt div:nth-child(1){
	   }
    .os_flow h4{
	    font-size:150% !important;
	    text-align:center;
	    border-bottom:none  !important;
	    line-height:3.5em;
	    /*margin:0 !important;*/
	    margin:0 auto !important;
    }
    .os_flow ul li{
	    border-bottom:1px solid #000;
	    padding:10px 0;
    }

		body#event section#subContainer .main_box .eventSingle div.event_info .map {
		    width: auto;
		    margin: 20px 0;
		}
	.pre ul {
	}
	.pre ul li:nth-child(1){
		width:47%;
		overflow:hidden;
	}
	.pre ul li:nth-child(1) img {
		width: 100%;
		height:100%;
		object-fit:cover;
	}
	.pre ul li:nth-child(2){
		width:50%;
	}

}

@media screen and (max-width:599px) {

		.pre ul {
		    width: auto;
		    display: block;
		    padding: 25px;
		}

		.pre ul li img {
		    width: 250px;
		    margin: 0 auto;
		    display: block;
		}

		.pre ul li.text {
		    margin-left: 0;
		    width: auto;
		}

		.sub section#subContainer div.main_box .pre ul li h4 {
		    text-align: center;
		    display: block;
		    line-height: 1;
		    padding: 5px 0!important;
		    margin-top: 10px!important;
		}

		.pre ul li h5 {
		    font-size: 23px;
		    margin-bottom: 5px;
		}

		.pre {
		    margin: 0 2% 100px;
		}	
	.os_main dl dt{
	    width:90%;
	    margin:0 auto 50px auto;
    }
	.os_main dl dd h3{
	    font-size:120% !important;
    }
	.os_list{
		margin:0 auto 70px auto;
		padding-bottom:70px;
	}
	.os_list .os_date span.year{
		font-size:60%;
    }
    .os_list .os_date span.day{
	    font-size:60%;
    }
    .os_list .os_date .week{
    }
    .os_list .os_detail > h3 span{
	    font-size:55%;
    }
    .os_list .os_detail > h3{
	    width:auto !important;
	    font-size:250% !important;
    }
	.os_list .os_detail dl dd .speaker img{
	    width:30%;
    }
    .os_list .os_detail dl dd .speaker img.w{
	    display:none;
    }
    .os_list .os_detail dl dd .speaker img.v{
	    display:unset;
    }
    .os_list .os_detail dl dd .speaker .sp_info{
		width: 68%;
   }
    .os_list .os_detail dl dd .os_point{
    	width:94%;
    	margin:auto;
    }
    .os_list .os_detail dl dd .os_point h5{
		font-size: 127%;
	}
    .os_list .os_detail dl dd .os_point ol li{
	    font-size:98%;
	    font-weight:bold;
	    border-bottom:1px solid #ccc;
	    margin-bottom:0.3em;
	    padding-bottom:0.3em;
    }
    .os_list .os_detail dl dd .os_point ol li span{

    }
    .os_flow ol{
	    width:95%;
	    margin:auto;
	    border-top:30px solid #000;
	    border-bottom:30px solid #000;
	    border-right:5px solid #000;
	    border-left:5px solid #000;
	    padding:0 2%;
	    background:#fff;
	    border-radius:20px;
	    box-shadow:20px 20px 30px #ccc;
	    box-sizing:border-box;
    }
    .os_flow h4 span{
	    font-size:200% !important;
	    margin-bottom:20px;
    }
    .os_flow h4{
	    font-size:140% !important;
	    line-height:1.8em;
    }
    .os_flow h4 span:before {
      bottom: -0.2em;
    }
    .os_flow ul li h6{
	    font-size:110%;
    }
		.form_box {
		    margin: 0 auto;
		    width: 90%;
		}

		.flex_bottom {
		    margin: 0 auto 50px;
		    width: 90%;
		}
	.pre ul li:nth-child(1){
		width:100%;
		height:280px;
		overflow:hidden;
	}
	.pre ul li:nth-child(1) img {
		width: 100%;
		height:100%;
		object-fit:cover;
	} 
}

@media screen and (max-width:413px) {
	.os_main dl dd h3 {
		font-size: 110% !important;
	}
	.os_list .os_detail dl dd .os_point h5 {
		font-size: 115%;
	}
	.os_list .os_detail dl dd .os_point ol li {
		font-size: 95%;
	}
    .os_flow h4{
	    font-size:130% !important;
    }
}
@media screen and (max-width:374px) {
	.os_main dl dd h5 {
		font-size: 110%;
	}
	.os_main dl dd h3 {
		font-size: 105% !important;
	}
	.os_list .os_detail dl dd .os_point h5 {
		font-size: 110%;
	}
	.os_list .os_detail dl dd .os_point ol li {
		font-size: 90%;
	}
    .os_flow h4{
	    font-size:120% !important;
    }
}