strong{
	font-weight: bold;
}

.sp{
	display:none;
}

dl, dt, dd{
    margin: 0;
    padding: 0;
}
ul,li{
    list-style-type: none;
    margin: 0;
    padding: 0;
}
li{
    padding-left:1em;
    text-indent:-1em;
}

h3{
	padding: 2px 2px 2px 10px;
	margin-bottom: 25px;
	border-bottom: 3px solid #ccc;
	font-size: 1.25rem;
	position: relative;
	font-weight: bold;
}
h3:before{
	position: absolute;
    bottom: -3px;
    left: 0;
    z-index: 2;
    content: '';
    width: 35%;
    height: 3px;
    background: #7F0206;
    color: #7F0206;
}

dl.details{
	margin-bottom: 1rem;
}
dl.details dt{
	font-weight: bold;
	color: #7F0206;
	margin-bottom: 0.25rem;
}

table.info{
	width:100%;
	border-top: solid 1px #ccc;
	border-right: solid 1px #ccc;
}
table.info td{
	vertical-align: middle;
	border-left: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    padding: 10px;
}
table.info td:nth-child(odd){
	text-align: center;
	width: 30%;
	font-weight: bold;
	background-color: #fbfbfb;
}
table.info td:nth-child(even){
	padding: 20px;
	width: 70%;
}

.lecture_information{
	display: flex;
}
.lecture_information dt{
	padding-right: 20px;
	text-align: center;
	width: 30%;
	font-weight: normal;
	color:#333;
}
.lecture_information dd{
	width: 70%;
}
.lecture_information dt p{
	padding-top: 0.5rem;
	font-weight: normal;
	color:#333;
}
.lecture_information img{
	width: auto;
	height: auto;
}
dl.lecture_information dt{
	font-weight: normal;
	color:#333;
}

.point{
	padding: 30px;
    box-sizing: border-box;
    background: #f8f8f8;
}
.point p{
	font-weight: bold;
	color: #7F0206;
}
.point span{
	width: 17%;
	background: #7F0206;
	color:#fff;
	padding: 2px 0;
	margin-right: 1rem;
	text-align: center;
	display: inline-block;
	font-weight: normal;
}
.point div{
	margin: .5rem 0 1rem;
}
.point div:last-child{
	margin-bottom: 0;
}


/* special */
.two-column,
.three-column,
.three-table,
.two-img{
	display: flex;
	justify-content: space-between;
}
.two-img{
	justify-content: center;
}
.two-column div{
	width: 49%;
	padding: 1rem;
	box-sizing: border-box;
	background: #f8f8f8;
}
.three-column div img{
	width: 100%;
	height: auto;
	border:1px solid #ccc;
}
.three-table table{
	border-top:1px solid #aaa;
	border-left:1px solid #aaa;
	width: 32.5%;
	border-collapse: collapse;
    	border-spacing: 0;
}
.three-table table th,
.three-table table td{
	border-right:1px solid #aaa;
	border-bottom:1px solid #aaa;
	padding: 2px;
    text-align: center;
    font-size: 0.7rem;
}
.three-table table th{
	background:#eee;
	font-weight:normal;
}
.two-img img{
	padding: 0 1rem;
}

div.k07{
	background: #f8f8f8;
	padding: 1.25rem;
}
div.k07 dl{
	display: table;
	margin-bottom: 1.25rem;
}
div.k07 dt,
div.k07 dd{
	display: table-cell;
	vertical-align: middle;
	background: #fff;
	padding: .5rem;
}
div.k07 dt{
	width:20%;
	text-align: center;
}
div.k07 dd span{
	color: #7F0206;
	display: block;
}
div.k07 dl:last-child{
	margin-bottom: 0;
}

.one-table table{
	border-top:1px solid #aaa;
	border-left:1px solid #aaa;
	width: 80%;
	margin:0 auto;
	border-collapse: collapse;
    border-spacing: 0;
}
.one-table table th,
.one-table table td{
	border-right:1px solid #aaa;
	border-bottom:1px solid #aaa;
	padding: 4px;
    text-align: center;
}
.one-table table th{
	background: #7F0206;
	color:#fff;
}
.one-table table tr:nth-child(even) {
	background: #F8F8F8;
}

.history-table{
	border-collapse: collapse;
}
.history-table td:nth-child(1){
	width: 3%;
}
.history-table td:nth-child(2){
	width: 7%;
}
.history-table td:nth-child(3){
	width: 13%;
}
.history-table td:nth-child(4){
	width: 10%;
}
.history-table td:nth-child(5){
	width: 67%;
}
.history-table td:nth-child(1),
.history-table td:nth-child(2),
.history-table td:nth-child(3),
.history-table td:nth-child(4){
	text-align:center;
}
.history-table th{
	font-weight:bold;
}
.history-table th,
.history-table td{
    border-bottom:1px solid #ccc;
	padding: 3px;
	font-size:0.875rem;
	vertical-align: middle;
}
.history-table td span{
	display:none;
}

.country {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size: 0.75rem;
}
.country dl{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border:2px dotted #aaa;
	width: 49%;
	padding: 1rem;
	margin-bottom: 1rem;
	box-sizing: border-box;
}
.country dl dt{
	flex-basis: 20%;
}
.country dl dd:nth-of-type(1){
	flex-basis: 80%;
}
.country dl dd:nth-of-type(2){
	flex-basis: 100%;
	border-top:1px solid #ddd;
	padding-top: .5rem;
	margin-top: .5rem;
}
.country dl:last-child{
	margin-bottom: 0;
}
.nayami{
	background: #f8f8f8;
	padding: 20px;
	position: relative;
}
.nayami:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: #e6e6e6 #fff transparent transparent;
}

.wain{
	display: flex;
}
.wain dt{
	padding-right: 20px;
	text-align: center;
	width: 50%;
	font-weight: normal;
	color:#333;
}
.wain dd{
	width: 50%;
}

.kitaku{
	display: flex;
	align-items: center;
	background: #f8f8f8;
}
.kitaku dt{
	padding: 0px 0px 0px 20px;
    text-align: center;
    width: 25%;
    font-weight: normal;
    color: #333;
}
.kitaku dd{
	width: 75%;
    padding: 10px;
}
.onsen01{
	display:flex;	
}
.onsen01 p{
	padding-right:1rem;
}
.onsen01 img{
	width:225px;
}
.onsen02{
	padding:15px;
	background:#f8f8f8;
	display:flex;
}
.onsen02 div:first-child{
	padding-right:1rem;
}
.onsen02 img{
	width:190px;
}
.onsen02 span{
    background: #7F0206;
    color: #fff;
    padding: 8px 20px;
    margin-bottom: 1rem;
    text-align: center;
    display: inline-block;
    font-weight: bold;
	line-height:1;
}

@media screen and (max-width: 700px) {
	
	.sp{
		display:block;
	}

    h3{
        font-size: 1rem;
    }
    
    dl.details {
    	margin-bottom: 10px;
    }

    table.info tr,
	table.info td{
		display: block;
	}
	table.info td:nth-child(odd),
	table.info td:nth-child(even){
		padding: 10px;
		width:100%;
		box-sizing: border-box;
	}

	.lecture_information,.wain {
		display: block;
	}
	.lecture_information dt,.wain dt{
		width: 100%;
	}
	.lecture_information dd,.wain dd{
		width: 100%;
	}

	.point span{
		width:30%;
		margin-bottom: .5rem;
		display: block;
	}
	.point div {
		margin: .25rem 0 1rem;
	}

	section img{
		width:100%;
		height: auto;
	}

	/* special */
	.two-column,
	.three-column,
	.three-table,
	.two-img {
		flex-wrap: wrap;
	}
	.two-column div{
		width: 100%;
		padding: .5rem;
		margin-bottom: .5rem;
	}
	.three-column div{
		width: 100%;
		padding: .5rem;
		margin-bottom: .5rem;
	}
	.three-table table{
		width: 100%;
		margin-top: 1rem;
	}

	.two-img img{
		width:100%;
		height: auto;
		padding-bottom: 1rem;
	}
	.two-img img:last-child{
		padding-bottom: 0;
	}

	div.k07 {
		padding: 1rem;
	}
	div.k07 dt, div.k07 dd {
		display: block;
	}
	div.k07 dt , div.k07 dt img{
		width: auto;
		margin-bottom: 0;
		padding: .5rem .5rem 0;
	}

	.one-table table{
		width: 100%;
	}
	.one-table table td{
		text-align: left;
	}
	
	.history-table th{
		display:none;
	}
	
	.history-table td span{
		display:block;
		margin:0;
		background:#f8f8f8;
		border-bottom:1px dotted #aaa;
		font-weight:bold;
		margin-bottom: 3px;
	}
	
	.history-table td:nth-child(1){
		padding-bottom:1.5rem;
	}
	
	.history-table td:nth-child(1),
	.history-table td:nth-child(2),
	.history-table td:nth-child(3),
	.history-table td:nth-child(4){
		display: inline-block;
		width:30%;
		vertical-align: bottom;
		box-sizing:border-box;
		padding-right:2px;
		padding-left:2px;
	}
	.history-table td:nth-child(1){
		width:10%;
	}
	.history-table td:nth-child(5){
		display:block;
		width:100%;
		margin-bottom: 1rem;
		box-sizing: border-box;
	}

	.country dl{
		width: 100%;
		margin-bottom: .5rem;
	}
	.country dl dt {
		flex-basis: auto;
		padding-right: .5rem;
	}

	.kitaku{
		display: block;
	}
	.kitaku dt {
		padding: 20px 20px 0;
		box-sizing: border-box;
		width: 100%;
	}
	.kitaku dd{
		padding: 20px;
		width:100%;
		box-sizing: border-box;
	}
	.onsen01{
		display:block;	
	}
	.onsen01 img,
	.onsen02 img{
		width:100%;
	}
	.onsen01 p{
		padding-right:0;
		padding-bottom:.5rem;
	}
	.onsen02{
		display:block;
	}
	.onsen02 div:first-child{
		padding-right:0rem;
		text-align:center;
		margin-bottom:1rem;
	}
	.onsen02 span{
	    padding: 5px 0;
	    margin-bottom: .5rem;
	    display: block;
	}

}