/*
-------------------------------------------------------*/

.pageTitle {
	width:810px;
	/* height:39px; */
	height: 45px;
	margin:0px 0 5px 20px;
	background: #fff;
	font-size:1.5em;
	font-weight:600;
	line-height:2.0;
	color:#e3007f;
	border-bottom: #D495B8 solid 3px;
	text-align: center;
}


.h3heading {
	font-size:1.2em;
	font-weight:bold;
	color:#00458a;
	border-bottom:1px solid #FCCBEB;
	padding-bottom:1px;
	margin:10px 0 10px;
}

.h3heading::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .5em;
    position: relative;
	color: #F9A0CF;
}

.h4heading {
	font-size:1.1em;
	font-weight:bold;
	margin:15px 0 5px;
	color:#D780AE;
}
	.h4heading span {
		border-bottom:1px solid #ccc;
		margin-bottom:5px;
	}


/*
共通
-------------------------------------------------------*/

/* トップへ */
.page_top {
    width: 40px;
    height: 40px;
    right: 20px;
    bottom: 20px;
    position: fixed;
    border: 1px solid #cc3927;
    background: #F7D1F8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.page_top::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #cc3927;
    border-right: 1px solid #cc3927;
    transform: rotate(-45deg);
}

.mainTxt {
	line-height:180%;
	margin:10px auto;
	text-indent:1em;
}
.mainTxt02 {
	line-height:180%;
	margin:10px auto;
}

p.under_construction {
	text-align:center;
	font-size:1.2em;
	padding:40px;
}

.kome dt {
  	position: relative;
}
	.kome dt span {
  		position: absolute;
	}
	.kome dd {
 		padding-left: 1em;
		margin-bottom:5px;
	}

.ul_dot {
	margin: 1em 0;
}
	.ul_dot li {
		position: relative;
		padding-left: 1.5em;
		margin-bottom: 0.5em;
	}
	.ul_dot li::after {
		display: block;
		content: '';
		position: absolute;
		top: .5em;
		left: 0.5em;
		width: 6px;
		height: 6px;
		background-color: #666;
		border-radius: 100%;
	}

/* ボタン */
.btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.btn_001{
	margin-left:auto;
	margin-right:auto;
}

.btn_001 a{
  display:inline-block;
  position:relative;
  transition:0.3s;
	line-height:50px;
	text-decoration:none;
	font-size:1rem;
}
.btn_001.l2 a{
	line-height: 1.3;
	padding: 5px;
}
.btn_001 a{/*青*/
  background:#0068E8;
  color:#fff;
}

.btn_001.gray a{/*非活性化*/
	background: #bbb;
	pointer-events: none;
}

.btn_001 a::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:2px;
  transition:all 0.5s ease-out;
}

.btn_001 a::before{
  background:#0068E8;
}

.btn_001 a::after{
  content:"";
  position:absolute;
  bottom:0;
  right:0;
  width:0;
  height:2px;
  transition:all 0.5s ease-out;
}

.btn_001 a::after {
  background:#0068E8;
}

.btn_001 a > span{
  display:block;
  width:100%;
  height:100%;
  position:relative;
	text-align:center;
}
.btn_001.lh003 a{
	height:55px;
}
.btn_001.lh003 a span{
	line-height: 20px;
	padding-top:8px;
}
.btn_001.lh003 a > span{
  height:85%;
}

.btn_001 a > span::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:2px;
  height:0;
  transition:all 0.5s ease-out;
}

.btn_001 a > span::before{
  background:#0068E8;
}

.btn_001 a > span::after{
  content:"";
  position:absolute;
  bottom:0;
  right:0;
  width:2px;
  height:0;
  transition:all 0.4s ease-out;
}

.btn_001 a > span::after{
  background:#0068E8;
}

.btn_001 a > span > span{
  display:inline-block;
  position:absolute;
  width:100%;
  text-align:center;
  top:50%;
  transform:translateY(-50%);
}

.btn_001 a:hover{
	cursor:pointer;
}
.btn_001 a:hover{
  background:#fff;
  color:#0068E8;
}

.btn_001 a:hover::before,
.btn_001 a:hover::after{
  width:100%;
}
.btn_001 a:hover > span::before,
.btn_001 a:hover > span::after{
  height:100%;
}

.w200{width:200px;}
.w300{width:300px;}
.w400{width:400px;}
.w500{width:500px;}
.w600{width:600px;}


	
/*事務局*/
		
#contactInfo {
	width:500px;
	margin:0px auto 0px;
	text-align: center;
	padding: 25px 0 0;
}

	#contactInfo #tit_contactInfo {
		width:250px;
		height:37px;
		text-indent:-9999px;
	}
	#contactInfo .office {
		margin:10px auto 40px;
		line-height:1.3;
		font-family:Open Sans, Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "M PLUS 1p", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}
		#contactInfo .office h4 {
			width: 120px;
			/* height:30px; */
			height: 35px;
			margin: 0 auto 5px;
			padding:0px 5px 0;
			line-height:2.3;
			font-size:1.0em;
            font-weight: 600;
			color:#fff;
			border: solid 1px #fff;
		}
		#contactInfo .office h5 {
			font-size:0.9em;
			font-weight:600;
			color:#fff;
			padding:5px;
		}
		#contactInfo .office p {
			font-size:0.9em;
			color: #fff;
            font-weight:500;
			padding:0px 0px 5px 5px;
		}
		#contactInfo .office a {
			color:#00ffff;
		}
	#contactInfo .line {
		padding-bottom:10px;
		margin-bottom:8px;
		border-bottom:1px solid #3c78a0;	
	}
	#contactInfo .dot {
		padding-bottom:10px;
		margin-bottom:8px;
		border-bottom:1px dotted #fff;	
	}


/*共通*/

.tbl_nostyle th {
	padding: 2px 5px;
	white-space: nowrap;
}
.tbl_nostyle td {
	padding: 2px 5px;
}


/* ご挨拶 */
.greeting_h3 {
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
	border: solid 1px #007ab6;
	color: #007ab6;
	padding: .5em;
	margin: 10px 0;
}
.greeting_txt p {
    text-indent: 1em;
	margin-top: 1em;
    margin-bottom: 1em;
    padding: 0 .5em;
    line-height: 1.6;
    text-align: justify;
}


/* 開催概要
------------------------------------------------------*/
.outline_style {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 30px;
	font-feature-settings: "palt";
	flex-direction: row;
	margin-bottom: 30px;
}
.outline_style dt {
	width: 100px;
}
.outline_style dt > span {
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px #007ab6;
	color: #007ab6;
	font-weight: bold;
	padding-left: 0;
}
.outline_style dd {
	flex: 1;
	padding: 3px 7px;
	border-bottom: 1px #FBDFF6;
	border-style: solid;
	margin-left: 20px;
}

/* プログラム
------------------------------------------------------*/
.pro_date {
	font-weight:bold;
	text-align:right;
	margin:5px 0 5px 0px;
}
	.pro_date span {
		color:#333;
		font-weight: normal;
	}
.pro_title {
	font-size:1.1em;
	font-weight:bold;
	/*color:#006BB3;*/
	margin:0px 0 5px 1em;
	border: solid 1px #007ab6;
	padding: 8px 10px;
}
.pro_theme {
	font-size:1.1em;
	font-weight:bold;
	color:#006BB3;
	margin:0px 0 5px 1em;
}
.pro_theme span {
	font-size:0.9em;
	/* color:#666; */
}
.pro_time {
	margin-right: 8px;
	display: inline-block;
	background-color: #eee;
	padding: 0 6px;
	margin-bottom: 5px;
	font-size: .9em;
	font-weight: bold;
	color: #555;
}


.proBox {
	margin-bottom:50px;
}

dl.pro_person {
	margin: 0 0 20px 20px;
}
	dl.pro_person dt {
		clear:left;
		float:left;
		margin-bottom: 5px;
	}
	dl.pro_person dd {
		padding-left:1em;
		margin-bottom: 5px;
	}
dl.pro_person dd {
	display: flex;
}
dl.pro_person dd span:first-child {
	font-weight: 600;
	display: inline-block;
	width: 5.5em;
}
dl.pro_person dd span:nth-child(2) {
	width: calc(100% - 5.5em);
	text-indent: -1em;
	padding-left: 1em;
}

/* 参加登録
------------------------------------------------------*/
.tbl_reg {
	margin:15px 0;
	background: #fff;
}
	.tbl_reg caption {
		text-align:left;
		font-weight:bold;
	}
	.tbl_reg th {
		padding:5px 1em;
		border:1px solid #aaa;
		background:#eee;
		font-weight:600;
	}
	.tbl_reg td {
		padding:5px 1em;
		border:1px solid #aaa;
		text-indent:0;
		vertical-align:middle;
	}

.reg_period ul {
	display: flex;
	font-size: 1.3em;
	margin-top: 20px;
}
	.reg_period ul li strong {
		font-weight: 700;
	}
.reg_period.center ul {
	justify-content: center;
	gap: 10px;
}

.btn_a a {
	width:240px;
	background-image: linear-gradient(to bottom, #CD3887, #D293C2);
	background-repeat: no-repeat;
	background-position: left top;
	box-shadow: 0 3px #425C80;
	text-decoration: none;
	color: #fff;
	font-size:14px;
	font-weight:bold;
	padding: 15px 0;
	margin:40px auto 20px;
	text-align: center;
	display: block;
}
.btn_a a:hover {
	filter:alpha(opacity=85);
	-moz-opacity:0.85;
	-khtml-opacity: 0.85;
	opacity:0.85;
	cursor:pointer;
}

