@charset "utf-8";
/* CSS Document */

#news .inner h2.hd > dl dd {
	font-size: 1.82rem;/*27*/
	color: #C7014C;
}

#news .inner{
	padding: 7.43rem 0 15.20rem;/*110,225*/
}

/*-----------------------------------------------------------*/

/*お知らせ一覧*/
#news.archive .postlists{
	margin: 4.73rem auto 0;/*70*/
	display: flex;
	flex-direction: column;
	gap: 2.70rem 0;/*40*/
}
#news.archive .postlists > a.postwrap{
	width: 67.57rem;/*1000*/
	margin: 0 auto;
	display: flex;
	align-items: center;
	padding: 1.35rem 3.38rem;/*20,50*/
	background-color: #fff;
	-webkit-border-radius: 35px;
	-moz-border-radius: 35px;
	border-radius: 35px;
}
#news.archive .postlists > a.postwrap .date{
	width: 8.99rem;/*133*/
	font-size: 1.35rem;/*20*/
	color: #0EA164;
	letter-spacing: 0.025em;
}
#news.archive .postlists > a.postwrap .title{
	width: calc( 100% - 8.99rem );/*133*/
	font-size: 1.15rem;/*17*/
	font-weight: 500;
}

#news.archive .postlists_btn{
	width: 25.68rem;/*380*/
	height: 5.41rem;/*80*/
	margin: 3.04rem auto 0;/*45*/
}

/*ページャー*/
section .wp-pagenavi{
	width: 74.32rem;/*1100*/
	height: 4.46rem;/*66*/
    margin: 3.38rem auto 0;/*50*/
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 3.38rem;
}
section .wp-pagenavi a.previouspostslink, section .wp-pagenavi a.nextpostslink{
    position: absolute;
    top: 0;
	width: 4.05rem;/*60*/
	height: 4.05rem;
	border: 3px solid #fff;
	box-sizing: border-box;
	background-color: #C7014C;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	font-size: 0;
}
section .wp-pagenavi a.previouspostslink::before, section .wp-pagenavi a.nextpostslink::before{
    content: "";
    display: block;
    background: url(../image/common/link_icon01.svg) 0 0 / contain no-repeat;
	width: 1.35rem;/*20*/
	height: 1.01rem;/*15*/
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
section .wp-pagenavi a.previouspostslink{
    left: 0;
}
section .wp-pagenavi a.previouspostslink::before{
    transform: scale(-1, 1);
}
section .wp-pagenavi a.nextpostslink{
    right: 0;
}
section .wp-pagenavi a.nextpostslink::before{
}
section .wp-pagenavi a.previouspostslink:hover, section .wp-pagenavi a.nextpostslink:hover{
	opacity: 1.0;
	border: 3px solid #C7014C;
	background-color: #fff;
}
section .wp-pagenavi a.previouspostslink:hover::before, section .wp-pagenavi a.nextpostslink:hover::before{
    background: url(../image/common/link_icon02.svg) 0 0 / contain no-repeat;
}

section .wp-pagenavi a.page, section .wp-pagenavi span.current{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.69rem;/*25*/
    color: #222;
	border: 0;
}
section .wp-pagenavi span.current{
    color: #C7014C;
}
section .wp-pagenavi span.extend{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.11rem;/*46*/
    height: 3.11rem;/*46*/
    font-size: 1.69rem;/*25*/
    font-weight: 500;
    color: #057500;
    line-height: 100%;
}

/*-----------------------------------------------------------*/

/*記事詳細ページ*/
#news.single #postwrap{
	width: 900px;
	margin: 60px auto 0;
	padding: 80px 100px;
	background-color: #fff;
	-webkit-border-radius: 35px;
	-moz-border-radius: 35px;
	border-radius: 35px;
}

#news.single #postwrap .info{
	margin: 0 auto;
	border-bottom: 4px dotted #C7014C;
	padding-bottom: 15px;
}
#news.single #postwrap .info .date{
	width: calc( 100% - 50px );
	margin: 0 auto;
	font-size: 19px;
	color: #0EA164;
}
#news.single #postwrap .info h3.hd{
	width: calc( 100% - 50px );
	margin: 15px auto 0;
	font-size: 27px;
}

#news.single #postwrap .editer{
	width: calc( 100% - 50px );
	margin: 60px auto 0;
}

#news.single #postwrap .editer > h1{
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 700;
	transform: rotate(0.05deg);
	font-size: 22px;
	color: #C7014C;
	padding-bottom: 13px;
	border-bottom: 3px dotted #C7014C;
}
#news.single #postwrap .editer > h2{
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 700;
	transform: rotate(0.05deg);
	font-size: 20px;
	color: #333;
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 700;
	transform: rotate(0.05deg);
	padding-left: 35px;
	padding-bottom: 5px;
	border-bottom: 1px solid #000;
	position: relative;
}
#news.single #postwrap .editer > h2::before{
	content: '';
	display: block;
	width: 17px;
	height: 17px;
	background-color: #EB7F00;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	position: absolute;
	top: 8px;
	left: 2px;
}
#news.single #postwrap .editer > h3{
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 700;
	transform: rotate(0.05deg);
	font-size: 20px;
	color: #333;
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 500;
	transform: rotate(0.05deg);
	padding-left: 35px;
	position: relative;
}
#news.single #postwrap .editer > h3::before{
	content: '';
	display: block;
	width: 17px;
	height: 17px;
	background-color: #0EA164;
	position: absolute;
	top: 8px;
	left: 2px;
}
#news.single #postwrap .editer > p{
	font-size: 17px;
	font-weight: 400;
	line-height: 188%;
	text-align: justify;
}
#news.single #postwrap .editer > ul{
	display: flex;
	flex-direction: column;
	gap: 20px 0;
}
#news.single #postwrap .editer > ul li{
	font-weight: 400;
	padding-left: 30px;
	position: relative;
}
#news.single #postwrap .editer > ul li::before{
	content: '';
	display: block;
	width: 17px;
	height: 17px;
	background-color: #0EA164;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	position: absolute;
	top: 5px;
	left: 0px;
}

/*ページャー*/
section .navigation{
    width: 1100px;
    margin: 70px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

section .navigation .alignleft, section .navigation .alignright{
    position: absolute;
    top: 27px;
}
section .navigation .alignleft{
    left: 0;
}
section .navigation .alignright{
    right: 0;
}
section .navigation .alignleft a, section .navigation .alignright a{
	font-family: "M PLUS Rounded 1c", serif;
	font-weight: 700;
	transform: rotate(0.05deg);
    font-size: 20px;
	position: relative;
}
section .navigation .alignleft a{
    padding-left: 80px;
}
section .navigation .alignright a{
    padding-right: 80px;
}

section .navigation .alignleft a::before, section .navigation .alignright a::before{
	content: '';
	display: block;
	width: 4.05rem;/*60*/
	height: 4.05rem;
	border: 3px solid #fff;
	box-sizing: border-box;
	background-color: #C7014C;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: 0.3s;
}
section .navigation .alignleft a::before{
	left: 0;
}
section .navigation .alignright a::before{
	right: 0;
}
section .navigation .alignleft a::after, section .navigation .alignright a::after{
    content: "";
    display: block;
    background: url(../image/common/link_icon01.svg) 0 0 / contain no-repeat;
	width: 1.35rem;/*20*/
	height: 1.01rem;/*15*/
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
section .navigation .alignleft a::after{
	left: 22px;
    transform: scale(-1, 1);
}
section .navigation .alignright a::after{
	right: 22px;
}

section .navigation .alignleft a:hover, section .navigation .alignright a:hover{
	opacity: 1.0;
}
section .navigation .alignleft a:hover::before, section .navigation .alignright a:hover::before{
	border: 3px solid #C7014C;
	background-color: #fff;
}
section .navigation .alignleft a:hover::after, section .navigation .alignright a:hover::after{
    background: url(../image/common/link_icon02.svg) 0 0 / contain no-repeat;
}

section .navigation .aligncenter{
    width: 313px;
    height: 83px;
}
section .navigation .aligncenter a{
}
section .navigation .aligncenter a:hover{
}

/*-----------------------------------------------------------*/
/*プログラム詳細*/

section#program{
	border-top: 2px solid #000;
}
section#program .inner{
	max-width: 74.32rem;/*1100*/
	width: 100%;
	margin: 100px auto 240px;
}

section#program .inner h2.hd > dl::before {
    top: 100px;
}
section#program .inner h2.hd > dl dd {
    margin-top: 65px;
	color: #c7014c;
}

section#program .posttitle{
	margin: 100px auto 0;
	border: 4px solid #c7014c;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	border-radius: 40px;
	background-color: #fff;
	position: relative;
	padding: 70px 0 35px;
}
section#program .posttitle .number{
	font-size: 80px;
	color: #c7014c;
	text-align: center;
	line-height: 100%;
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	text-shadow: 4px 2px 0px rgba(0, 0, 0, 0.5);
}
section#program .posttitle > dl{
	width: calc( 100% - 150px );
	margin: 0 auto;
	text-align: center;
}
section#program .posttitle > dl > dt{
	font-size: 30px;
	color: #c7014c;
	border-bottom: 3px dotted #c7014c;
	padding-bottom: 30px;
}
section#program .posttitle > dl > dd{
	font-size: 25px;
	padding-top: 30px;
}

section#program .mainimage{
	width: calc( 100% - 100px );
	margin: 55px auto 0;
}
section#program .mainimage img{
	width: 100%;
	height: auto;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;	
}

section#program .info{
	margin: 60px auto 0;
	padding: 80px 100px;
	border: 3px solid #000;
	box-sizing: border-box;
	background-color: #fff;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
}
section#program .info h3.hd{
	width: 100%;
	height: 60px;
	background-color: #c7014c;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 25px;
	color: #fff;
	letter-spacing: 0.25em;
}
section#program .info h3.hd:not(:first-of-type){
	margin-top: 80px;
}

section#program .info > .txts{
	margin: 30px auto 0;
	font-size: 20px;
	text-align: justify;
}

section#program .info > .table{
	margin: 20px auto 0;
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}
section#program .info > .table > dl{
	display: flex;
	gap: 10px;
}

section#program .info > .table > dl > dt{
	width: 25.6%;
	background-color: #0da3f7;
	padding: 15px 0;
	text-align: center;
	font-size: 22px;
	color: #fff;
	letter-spacing: 0.075em;
}
section#program .info > .table > dl > dd{
	width: 73.3%;
	background-color: #daf0f5;
	padding: 15px 25px;
	font-size: 20px;
}

section#program .dates{
	margin: 40px auto 0;
	display: flex;
	justify-content: center;
	gap: 0 65px;
}
section#program .dates > dl{
	width: 300px;
	text-align: center;
}
section#program .dates > dl dt{
	display: flex;
	justify-content: center;
	gap: 0 10px;
}
section#program .dates > dl dt p.day{
	font-size: 30px;
	font-weight: 700;
}
section#program .dates > dl dt p.youbi{
	display: flex;
	align-items: center;
}
section#program .dates > dl dt p.youbi span{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	color: #fff;
	min-width: 40px;
	height: 30px;
	padding: 0 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;	
}
section#program .dates > dl dt p.youbi .sat{
	background-color: #0d6aff;
}
section#program .dates > dl dt p.youbi .sun{
	background-color: #e80c0c;
}

section#program .dates > dl dd{
	margin-top: 5px;
}
section#program .dates > dl dd > ul{
	display: flex;
	flex-direction: column;
	gap: 5px 0;
}
section#program .dates > dl dd > ul li{
	background-color: #daf0f5;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
	padding: 10px 0;
}

section#program .bnr{
	width: 100%;
	height: 160px;
	margin: 85px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 65px;/*65*/
	background-color: #ebebeb;
}
section#program .bnr > a{
	width: 320px;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.2);
}
section#program .bnr > a img{
	max-width: 260px;
}
section#program .tolinkbtn{
	width: 520px;
	height: 100px;
	margin: 55px auto 0;
}
section#program .tolinkbtn > a{
	padding-left: 0;
	justify-content: center;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
}
section#program .tolinkbtn > a.close{
	pointer-events: none;
	opacity: 0.4;
}
section#program .hosokutxts{
	margin-top: 0.68rem;/*10*/
	color: #C7010D;
	text-align: center;
}

/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
