@charset "UTF-8";

/*
 Share Style <
-------------------------------------------------
*/
body {
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}

html {
	font-size: 100%;
}

h1, h2, h3, h4, h5 {
	margin: 0;
	padding: 0;
}

img {
	border: 0;
	max-width: 100%;
	height: auto;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#wrap {
	background: url(../images/bg_left.png), url(../images/bg_right.png), rgb(255, 247, 221);
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top left -20px, top right -20px, center center;
	background-size: 250px auto, 250px auto, auto;
	color: #333;
}

#wrap .bold {
	font-weight: bold;
}

#wrap .cap {
	font-size: 0.7rem;
	color: #adadad;
}

#wrap .box {
	display: inline-block;
	width: fit-content;
	border: 1px solid #000;
	padding: 2px 5px;
	margin: 5px 0px;
}


#wrap .btn {
	display: block;
	width: fit-content;
	background-color: #0f4d88;
	font-weight: bold;
	padding: 10px 20px;
	border-radius: 10px;
	text-decoration: none;
	color: #ffffff;
	box-shadow: 2px 2px 0px #ccc;
	margin-bottom: 20px;
}


/*=== header ===*/
header#headArea {
	/* background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(248, 240, 217, 0) 50%); */
	background-repeat: no-repeat;
	background-size: auto;
	padding: 10% 0 0;
	text-align: center;
}

header#headArea h1 {
	width: 95%;
	margin: 0 auto;
	animation: heartbeat 3s infinite ease-in-out;
}

header#headArea .date {
	padding: 2% 0;
	width: 95%;
	margin: 0 auto;
}

header#headArea .place {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	width: 95%;
}

header#headArea .place span {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: bold;
	font-size: 40px;
	padding: 0 0 10px;
	font-size: clamp(25px, 3.5vw, 40px);
	color: #666;
}

header#headArea .place ul {
	display: flex;
	justify-content: space-between;
}

header#headArea .place ul li {
	margin: 5px;
}

@keyframes heartbeat {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

@media screen and (max-width: 500px) {
	header#headArea .date {
		padding: 1% 0;
		width: 95%;
		margin: 0 auto;
	}

	header#headArea .place span {
		font-size: 17px;
		padding: 0;
	}

}

/*今年のHTB秋の大感謝祭は！？*/
#infoSce {
	max-width: 1000px;
	width: 95%;
	margin: 5% auto;
	background: #f9cca7;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 20px;
	box-shadow: 0 5px 10px rgba(172, 145, 72, 0.4);
}

#infoSce .infotitle {
	padding: 30px 50px;
}

#infoSce .infotitle h2 {
	color: #be3f1f;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 30px;
	font-size: clamp(20px, 2.5vw, 30px);
}

#infoSce .infotitle p {
	color: #333;
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
	text-shadow: 0 0 5px #f9cca7;
	font-size: clamp(13px, 2.5vw, 18px);
}

#infoSce .infotitle .infoflex {
	display: flex;
}

#infoSce .infotitle .infocap {
	text-align: center;
	font-size: 0.7rem;
	font-weight: normal;
}

@media screen and (max-width: 500px) {
	#infoSce .infotitle {
		padding: 20px 25px;
	}

	#infoSce .infotitle .infoflex {
		display: flex;
		flex-wrap: wrap;
	}

	#infoSce .infotitle .infoflex li {
		width: 48%;
		margin: 1%;
	}
}

/* 今年の注目の企画は！？ */
#plan {
	width: 95%;
	max-width: 1000px;
	margin: 100px auto 0;
}

#plan h3 {
	text-align: center;
}

#plan article {
	margin: 10px auto 40px;
	display: flex;
	flex-direction: row-reverse;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0 5px 10px rgba(172, 145, 72, 0.4);
}

#plan article .txtArea {
	font-family: "Noto Sans JP", sans-serif;
	width: 65%;
	padding: 20px 20px 20px 0;
}

#plan article .txtArea h4 {
	font-size: 20px;
	font-weight: 800;
	background-color: #f9cca7;
	color: #be3f1f;
	font-size: clamp(15px, 2.5vw, 20px);
	padding: 5px 20px;
	border-radius: 5px;
}

#plan article .txtArea h5 {
	font-size: 20px;
	font-weight: 800;
	color: #be3f1f;
	text-align: center;
}

#plan article .txtArea p {
	color: #333;
	line-height: 1.6;
	font-size: clamp(0.75rem, 0.682rem + 0.34vw, 0.938rem);
}

#plan article .txtArea .detail>dt {
	background-color: rgba(249, 204, 167, 0.2);
	font-weight: bold;
	padding: 5px 10px;
	color: #be3f1f;
}

#plan article .txtArea .detail>dd {
	padding: 10px;
	margin-left: 10px;
	margin-bottom: 20px;
}


#plan article .txtArea .norinori_2 {
	display: flex;
}

#plan article .txtArea .norinori_2 li {
	width: 48%;
	margin: 1%;
}

#plan article .txtArea .norinori_2 li span {
	font-size: 12px;
	text-align: center;
	display: block;
}

#plan article .imgArea {
	width: 35%;
	padding: 20px;
}



@media screen and (max-width: 500px) {
	#plan {
		margin: 50px auto 0;
	}

	#plan article {
		margin: 10px auto 20px;
		display: block;
	}

	#plan article .txtArea {
		width: auto;
		padding: 20px 20px 0;
	}

	#plan article .imgArea {
		width: auto;
		padding: 0 20px 20px;
	}
}

/* 主催 */
#sponser {
	padding: 50px 0;
}

#sponser dl {
	max-width: 1200px;
	width: 95%;
	margin: 0 auto;
}

#sponser dl dt {
	text-align: center;
	font-size: 31px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
	color: #dc2323;
	padding: 0 0 1%;
	font-size: clamp(17px, 2.5vw, 31px);
}

#sponser dl dd {
	text-align: center;
	padding: 0 0 5%;
	font-size: 22px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	color: #313131;
	margin: 0;
	font-size: clamp(12px, 2.5vw, 18px);
}

#sponser dl dd.largeTxt {
	line-height: 1.4;
	font-size: 65px;
	font-weight: bold;
	font-size: clamp(20px, 2.5vw, 65px);
}

@media screen and (max-width: 1000px) {
	#sponser {
		padding: 30px 0;
	}
}

@media screen and (max-width: 700px) {
	#sponser {
		padding: 20px 0;
	}
}

.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
}

footer .footer_img {
	text-align: center;
	padding: 50px 50px;
}