@charset "UTF-8";
/* CSS Document */
*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
a {
  display: inline-block;
  cursor: pointer;
	text-decoration: none;
}
html {
	padding: 0;
	margin: 0;
}
body {
	color: #000;
	background-color: #9F1B22;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-style: normal;
  font-optical-sizing: auto;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0.016em;
	padding: 0;
	margin: 0;
}
img {
  vertical-align: bottom;
	width:100%;
	max-width:100%;
	padding:0;
	margin:0;
}
a img {
	display: block;
}
ol,
ul {
  list-style: none;
}

@media (min-width:769px) {
.pc {display:block;}
.sp {display:none;}
}
@media (max-width:768px) {
.pc {display:none;}
.sp {display:block;}
}

/*Google Fonts*/
.noto-sans-jp-regular {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.noto-sans-jp-medium {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.noto-sans-jp-bold {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.noto-sans-jp-black {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}


/*フェードイン*/
.anim {
	opacity: 0;
	-webkit-transition: all 1.2s;
	transition: all 1.2s;
}
.anim.active{
	opacity: 1;
}


#sb25thWrap {
	position: relative;
	width: 100%;
	max-width: 1440px;
	padding: 0;
	margin: 0 auto;
	letter-spacing: 0.1em;
	background: url("../images/bg_red-gradation.jpg") repeat-y;
	background-size: 100%;
}
#sb25thWrap .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
	#sb25thWrap a img{
}
@media (min-width:769px) {
	#sb25thWrap a img{
		transition: transform 0.3s ease;
	}

	#sb25thWrap a:hover img {
		transform: translateY(-5px);
	}
	header .sb_logo a:hover img {
		transform: translateY(0)!important;
	}
}

/* header */
header {
	position: relative;
	width: 100%;
}
header h1.kv {
	width: 100%;
}
header .sb_logo {
	width: 17%;
	max-width: 202px;
	position: absolute;
	left: 3%;
	top: 2%;
	z-index: 2;
}
header .topEntryBtn {
	width: 90%;
	position: absolute;
	left: 50%;
	bottom: 14%;
	transform: translateX(-50%);
	z-index: 2;
}
header .topAnchor {
	width: 90%;
	position: absolute;
	left: 50%;
	bottom: 4%;
	transform: translateX(-50%);
	z-index: 2;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
header .topAnchor div {
	flex: 0 0 49%;
}

#sb25thWrap .cp_detail {
	width: 90%;
	margin: 5% auto;
}
#sb25thWrap .detailBox {
	background: url("../images/bg_gold-top.jpg"), url("../images/bg_gold-gradation.jpg");
	background-repeat: no-repeat,repeat-y;
	background-size: 100%;
	padding: 1px 0;
	box-shadow: 0 10px 10px rgba(0,0,0,0.2);
}
#sb25thWrap .detailBox h2.detailHeader {
	width: 90%;
	margin: 10% auto 5%;
}
#sb25thWrap .detailBox .detailBoxInner {
	width: 95%;
	margin: 5% auto 3%;
	padding: 1px 0;
	background-color: #fff;
}
#sb25thWrap .detailBox .detailBoxInner h3 {
	width: 95%;
	margin: 5% auto;
}
#sb25thWrap .detailBox .detailBoxInner h4,
#sb25thWrap .detailBox .detailBoxInner .course-item {
	width: 90%;
	margin: 5% auto;
}
#sb25thWrap .detailBox .detailBoxInner .line {
	width: 90%;
	margin: 5% auto 15%;
}
#sb25thWrap .detailBox .detailBoxInner .line:last-of-type {
	margin: 5% auto 3%;
}

#sb25thWrap .detailBox .detailBoxInner dl {
	width: 90%;
	margin: 3% auto;
}
#sb25thWrap .detailBox .detailBoxInner dt {
	font-size: 16px;
	text-indent: -1em;
	margin-left: 1em;
	word-break: break-all;
}
#sb25thWrap .detailBox .detailBoxInner dd {
	padding-left: 1em;
	font-size: 16px;
}
#sb25thWrap .detailBox .detailBoxInner ul li {
	text-indent: -1em;
	margin-left: 1em;
	word-break: break-all;
}



#sb25thWrap .eligibleProducts {
	width: 100%;
	margin: 15% auto 5%;
}
#sb25thWrap .eligibleProductsBox {
	width: 100%;
	background-color: #fff;
	padding-bottom: 1px;
}
#sb25thWrap .eligibleProducts h2 {
	width: 90%;
	margin: 5% auto;
}
#sb25thWrap .eligibleProducts h3 {
	width: 95%;
	margin: 5% auto;
}
#sb25thWrap .eligibleProducts .productsBox {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
}
#sb25thWrap .eligibleProducts .productsBox div {
	flex: 0 0 30%;
	padding: 3% 2.5%;
}
#sb25thWrap .eligibleProducts .eligibleProductsBox p {
	width: 90%;
	margin: 5% auto;
	word-break: break-all;
	font-size: 16px;
}
#sb25thWrap .eligibleProducts .entry3step {
	width: 90%;
	margin: 5% auto;
}
#sb25thWrap .eligibleProducts p.bottomEntryTxt {
	width: 90%;
	margin: 15% auto 2%;
	word-break: break-all;
	font-size: 16px;
}
#sb25thWrap .eligibleProducts .bottomEntryBtn {
	width: 90%;
	margin: 2% auto 5%;
}
#sb25thWrap .contactBox {
	width: 100%;
	background-color: rgba(201,156,79,1.00);
	padding: 1px 0 0;
}
#sb25thWrap .contactBox .contactTxt {
	width: 80%;
	margin: 5% auto;
}
#sb25thWrap .contactBox p {
	text-align: center;
	font-size: 12px;
	color: #000;
	padding: 10px;
	background-color: #fff;
	line-height: 130%;
}



@media (max-width:768px) {
	#sb25thWrap .detailBox .detailBoxInner dt {
		font-size: 12px;
		line-height: 130%;
	}
	#sb25thWrap .detailBox .detailBoxInner dd {
		font-size: 12px;
		line-height: 130%;
	}
	#sb25thWrap .eligibleProducts .eligibleProductsBox p {
	font-size: 12px;
		line-height: 130%;
	}
	#sb25thWrap .eligibleProducts p.bottomEntryTxt {
		font-size: 12px;
		line-height: 130%;
	}
}