/*====================================================================================*/
/* Common
/*====================================================================================*/
body{
	font-size:10.5pt;
}
.pageWrapper{
	padding: 50px;
	position:relative;
}
.top{
	margin-bottom: 50px;
    margin-right: -10px;
}
.top > .image{
	margin-bottom:20px;
    padding-right: 10px;
}
.top > .image img{
	
}
.top > .caption{
	    width: 50%;
    display: inline-block;
    vertical-align: top;
}
.top > .caption > .title{
	margin-bottom: 5px;
}
.top > .caption > .title > .jp{
	font-size:20pt;
	margin-right:10px;
    letter-spacing: 0.15em;
}
.top > .caption > .title > .en{
	font-size:15pt;
}
.top > .caption > .schedule{
	font-size:14pt;
	margin-bottom:13pt;
	
}
.top > .imageList{
	    width: calc(50% - 16px);
    display: inline-block;
    margin-right: -40px;
}
.top > .imageList img{
	margin-bottom:10px;
}
.top .place{

	padding: 20px;
	border: solid 0.5px;
	display: inline-block;
	margin-top: 20px;
}
.top .place .title{
	margin-bottom:10px;
}
/* 左右のレイアウトを並べるコンテナ */
/* 左右のレイアウトを並べるコンテナ */
#eventInfo{
	background:#EEEEEE;
	padding:30px;
}
#eventInfo .information {
	margin-bottom: 50px;
	border-bottom: solid 0.5px;
	padding-bottom: 30px;
}

#eventInfo .information > .title {
	font-size: 16pt;
	display: inline-block;
	border-bottom: solid 0.5px;
	padding-bottom: 5px;
	margin-bottom: 30px;
}

/* 2列のCSS Grid構造 */
.event-grid {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 左右均等2列 */
	gap: 30px 60px;                /* 上下の空き: 30px, 左右の空き: 60px */
	position: relative;
}

/* 左右を仕切る中央の縦線 */
.event-grid::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 0.5px;
	background-color: #000;
	transform: translateX(-50%);
}

/* 各ブロック（1段目、2段目…） */
.event-grid > .list {
	border-top: solid 0.5px #000;
	padding-top: 30px;
	margin: 0; /* 外部余白はgridのgapで制御 */
}

.event-grid > .list > .title {
	font-size: 14pt;
	margin-bottom: 20px;
	display: inline-block;
	padding-bottom: 8px;
}
.event-grid > .list > .title > .jp{
	font-size:12pt;
}
.event-grid > .list > .image{
	margin-bottom:10px;
}

/* 一番上のスケジュールヘッダー用 */
.event-grid > .caption-header {
	padding-bottom: 10px;
}
.event-grid > .caption-header > .teacher{
	padding-bottom: 10px;
}
.event-grid > .caption-header > .teacher > .title{
	padding-bottom: 5px;
    transform: translateX(-16px);
}
.event-grid > .caption-header > .teacher > .title:before{
	content:" ";
	display:inline-block;
	width:10px;
	height:0.5px;
	background:black;
    transform: translateY(-3px);
}

.event-grid > .caption-header > .teacher > .tName{
	padding-bottom: 5px;
}

.event-grid > .caption-header > .teacher > .caption{
	
}

.event-grid > .caption-header > .caption{
	
}
.event-grid > .caption-header > .schedule > .title{
	padding-bottom: 5px;
    transform: translateX(-16px);
}
.event-grid > .caption-header > .schedule > .title:before{
	content:" ";
	display:inline-block;
	width:10px;
	height:0.5px;
	background:black;
    transform: translateY(-3px);
}
.event-grid > .caption-header > .schedule > .eventName{
	cursor:pointer;
	
	/* animation */	
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;	
}
.event-grid > .caption-header > .schedule > .eventName:hover{
	color:white;
}
.event-grid > .caption-header > .schedule > .eventName > .readmore{
	display:inline-block;
	font-size:8pt;
	
}
.event-grid > .caption-header > .schedule > .eventName > .readmore:before{
	content:"→";
	display:inline-block;
}
.event-grid > .caption-header > .teacher > .readmore{
	display:inline-block;
	font-size:8pt;
	
}
.event-grid > .caption-header > .teacher > .readmore:before{
	content:"+";
	display:inline-block;
}
#eventInfo > .information > .caption{
	margin-bottom:50px;
}
.divBtn{
	
	display: inline-block;
	border-bottom: 0.5px solid;
	cursor:pointer;
	margin-top:10px;
}
/*form style*/
input[type="text"], input[type="email"] {
	background: rgb(255, 255, 255, 0.5);
	border: 0.5px solid;
	padding: 10px;
	padding: 10px;
	font-family: "YakuHanMP", "Zen Old Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
	letter-spacing: 0.2rem;
}
select {
	padding: 15px 45px 15px 10px;
	border: solid 1px #aaaaaa;
	font-family: "YakuHanMP", "Zen Old Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
	letter-spacing: 0.2rem;
	appearance:none;
	background: white;
}
.formWrapper{
	width: 400px;
    margin-right: 80px;
    display: inline-block;
}
.formWrapper > .eventQuery{
	
}
.formWrapper > .eventQuery > .title{
	font-size:15pt;
	margin-bottom:20px;
}
.formWrapper > .eventQuery > .caption{
	margin-bottom:50px;
}
.formWrapper > .eventQuery > .title{
}
.formWrapper > .eventQuery > .listWrapper{
	
}
.formWrapper > .eventQuery > .listWrapper > .list{
	margin-bottom:20px;
}
.captionWrapper{
	display: inline-block;
    width: calc(100% - 500px);
    vertical-align: top;
    padding-top: 130px;
}
.captionWrapper > .title{
	margin-bottom:30px;
	
}
button{
	margin-top: 10px;
	border: solid 0.5px;
	padding: 10px 15px;
	background: white;
	font-family: "YakuHanMP", "Zen Old Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
	color:black;
}
/*====================================================================================*/
/* PC 
/*====================================================================================*/


/*====================================================================================*/
/* スマフォ　縦表示
/*====================================================================================*/
@media only screen and (max-width: 1024px) and (orientation:portrait){
	.pageWrapper {
		padding: 50px 30px;
	}
	select {
		padding: 15px 5px 15px 10px;
        font-size: 8pt;
		width: 100%;
		color:black;
	}
	button {
        font-size: 8pt;
	}
	.event-grid {
		display: block; /* または display: flex; flex-direction: column; */
	}

	/* 中央の縦線を消す */
	.event-grid::before {
		display: none;
	}
	.top > .caption{
		width:100%;
	}
	.top > .caption > .title > .jp {
		display: block;
	}
	.top > .caption > .title > .jp {
		display: block;
        margin-bottom: 5px;
	}
	.top > .caption > .schedule {
		font-size: 10.5pt;
		margin-bottom: 13pt;
	}
	.top > .caption > .schedule > .closed {
		font-size:9;
	}
	.top > .caption > .text{
		margin-bottom:30px;
		
	}
	.top > .caption > .imageList{
	}
	.top > .caption > .imageList img{
		margin-bottom:10px;
	}
	.event-grid > .caption-header {
        padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.event-grid > .bLine{
	border-bottom: solid 0.5px;
	}
	.formWrapper {
		width: 100%;
	}
	.captionWrapper {
		width:100%;
		margin-bottom:20px;
        padding-top: 20px;
	}
	.divBtn {
		margin-bottom: 30px;
	}
	
	.event-grid > .list {
		margin-bottom: 30px;
	}

	.event-grid > .list > .teacher{
		margin-bottom: 20px;
	}
	.event-grid > .list > .teacher > .title{

        margin-bottom: 10px;
        border-bottom: solid 0.5px;
        display: inline-block;
        padding-bottom: 1px;
		margin-bottom: 10px;
		
	}
	.event-grid > .list > .teacher > .title:before{
	/*	content:" ";	*/
		display:inline-block;
		width:10px;
		height:0.5px;
		background:black;
		transform: translateY(-3px);
	}
	.event-grid > .list > .teacher > .tName{
		
        margin-bottom: 10px;
	}
	.event-grid > .list > .teacher > .caption{
		
        margin-bottom: 10px;
	}
	.event-grid > .list >.subTitle{
        margin-bottom: 10px;
        border-bottom: solid 0.5px;
        display: inline-block;
        padding-bottom: 1px;
		margin-bottom: 10px;
	}
	.formWrapper {
		margin-right: 0;
	}
	
}
