@charset "utf-8";
/*
-------------------------------------------------------*/

.pageTitle {
	width: 790px;
	background-image: linear-gradient(to right, #af6471 0%, #f495a6 100%);
	background-image: linear-gradient(to right, #f16527 0%, #FA976B 100%);
    display: flex;
    padding: 20px 10px;
	margin: 0 auto;
}
.pageTitle::before {
    content: "";
	display: inline-block;
	width: 27px;
	background: url(../images/menu_pageicon.png) no-repeat center center;
	background-size: contain;
}
.pageTitle span {
	color: #FFFFFF;
    font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
    font-weight: bold;
    font-feature-settings: "palt";
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
    font-weight: 600;
	line-height: 2.1;
    padding-left: 10px;
}

.h3heading {
	font-size:1.2em;
	font-weight:bold;
	color:#00458a;
	border-bottom:1px solid #ccc;
	padding-bottom:1px;
	margin:10px 0 10px;
}

.h3heading span {
    border-left: solid 5px #FA976B;
    padding-left: .5em;
	color: #ae0e16;
}

.h4heading {
	font-size:1.1em;
	font-weight:bold;
	margin:15px 0 5px;
	color:#E24E56;
}
	.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: #fcd25b;
    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_basic {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
@media (min-width: 768px) {
    .btn_basic {
        flex-direction: row;
    }
}

.btn_basic li {
    display: flex;
    justify-content: center;
}

.btn_basic li a {
    width: 100%;
    min-width: 250px;
	margin: auto;
    /*font-size: clamp(0.875rem, 0.79rem + 0.364vw, 1.063rem);*/
    letter-spacing: 2px;
    text-transform: uppercase;
    display: inline-block;
    text-align: center;
    font-weight: 600;
    padding: 0.7em 0.5em;
    border: 2px solid #ae0e16;
    border-radius: 30px;
    position: relative;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.1);
    color: #000;
    text-decoration: none;
    transition: 0.3s ease all;
    z-index: 1;
}

.btn_basic li a:before {
    transition: 0.5s all ease;
    position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
    bottom: 0;
    opacity: 0;
    content: '';
    background-color: #F8EFCA;
    z-index: -1;
}

.btn_basic li a:hover, .btn_basic li a:focus {
    color: #ae0e16;
	border-radius: 30px;
}

.btn_basic li a:hover:before, .btn_basic li a:focus:before {
    transition: 0.5s all ease;
    left: 0;
    right: 0;
    opacity: 1;
	border-radius: 30px;
}

.btn_basic li a:active {
    transform: scale(0.9);
	border-radius: 30px;
}
.w200{width:200px;}
.w300{width:300px;}
.w400{width:400px;}
.w500{width:500px;}
.w600{width:600px;}


	
/*事務局情報*/
		
#contactInfo {
	width:220px;
	margin:260px auto 0px;	
}

	#contactInfo #tit_contactInfo {
		width:250px;
		height:37px;
		text-indent:-9999px;
	}
	#contactInfo .office {
		margin:10px auto 40px;
		line-height:1.3;
		font-family:Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}
		#contactInfo .office h4 {
			height:30px;
			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;
			border-radius: 30px;
			text-align: center;
		}
		#contactInfo .office h5 {
			font-size:0.9em;
			font-weight:600;
			color:#fff;
			padding:5px 15px;
		}
		#contactInfo .office p {
			font-size:0.9em;
			color: #fff;
            font-weight:500;
			padding:0px 0px 5px 15px;
		}
		#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;
}



/*
Home
--------------------------*/

/*新着*/
#whatsnewArea {
	width:850px;
	height: auto;
	min-height:210px;
	margin:0px 0 0px 0px;
	padding:0px 0 0px;
}
	#tit_whatsnew {
		width:820px;
		height:30px;
		font-size: 1.1em;
		font-weight: 600;
		line-height: 2.2em;
		/* color: #fff; */
		color: #fff8ae;
		background:url("../images/bg_tit_new.png") left center no-repeat, #821e28;
		padding-left: 30px;
	}
	
	#dl_whatsnew {
		width:850px;
		font-size:1.0em;
		height: auto;
		min-height:200px;
		padding:10px 0;
		overflow: auto;
		background: url("../images/bg_new.png") left top no-repeat, #fff;
	}
	
		#dl_whatsnew dt {
			clear:left;
			float:left;			
			color:#ae0e16;
			padding-top:3px;
			padding-left:30px;
			font-weight: 600;
		}
		#dl_whatsnew dd {
			padding:3px 10px 3px 7em;
			margin-left:50px;			
			color:#646464;
            font-weight: 500;
		}
		#dl_whatsnew dd a {
			color:#0036FF;		
		}
		#dl_whatsnew dd.white_row {
			background-color:#fff;
		}


/* 大会案内
------------------------------------------------------*/
.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;
	background: #FA976B;
	color: #fff;
	font-weight: bold;
	padding-left: 0;
}
.outline_style dd {
	flex: 1;
	padding: 3px 7px;
	border-bottom: 1px rgba(211, 71, 23, 0.2);
	border-style: solid;
	margin-left: 20px;
}
.outline_style dd > ul > li > span {
	display: inline-block;
}

/* 企業の皆様へ
------------------------------------------------------*/
.tbl_sponsor {
	width: 100%;
	margin:15px 0;
	background: #fff;
}
	.tbl_sponsor caption {
		text-align:left;
		font-weight:bold;
	}
	.tbl_sponsor th {
		text-align:center;
		padding:5px;
		border:1px solid #6A1214;
		background:#F8C2AA;
		font-weight:600;
	}
	.tbl_sponsor td {
		padding:5px 1em;
		border:1px solid #aaa;
		text-indent:0;
		vertical-align:middle;
	}
.tbl_sponsor td.bg {
	background: #F0EFEF;
}

/* リンク
--------------------------*/
.ul_link {
	width: 100%;
	margin: 0 auto 50px;
}
.ul_link li {
	clear:left;
	line-height:180%;
	font-size:1.2em;
	padding:20px 0 20px 0em;
	border-bottom:1px dotted #cc3927;
}
.ul_link li a{
	color:#093682;
}
.ul_link li::before {
  content: '\f0c1';
  font-family: FontAwesome;
	font-size:17px;
  margin-right: 15px;
  color:#F47F70;
}


/* 大会長挨拶
------------------------------------------------------*/
.presidentBox {
	position:relative;
	border-bottom:1px solid #ccc;
	padding:10px 15px;
	margin:0 auto;
}
.presidentBox img{
	width:180px;
	float:right;
}
.presidentBox .name {
	position:absolute;
	top:115px;
	right:210px;
	line-height: 1.4;
	text-align:right;
}
.mainTxt02 {
	line-height:180%;
	text-indent:1em;
}