/**/
h2 {
	 width:960px;
	 margin:0 auto;
	 /*border-bottom:1px solid #5977a4;*/
	 padding:10px 0;
	 text-align:center;
	 font-size:250%;
	 font-weight:normal;
	 color:#464646;
 }
h4 {
	 width:960px;
	 margin:0 auto;
	 border-bottom:1px solid #5977a4;
	 padding:10px 0;
	 text-align:center;
	 font-size:250%;
	 font-weight:normal;
	 color:#464646;
}
#topic {
	width:960px;
	margin:20px auto;
	border:1px solid #eb9100;
}
#topic h3 {
	text-align:center;
	border-bottom:1px solid #eb9100;
	padding:10px 0;
	font-size:180%;
	width:100%;
	margin-bottom:20px
}
#topic h3 img {
	margin-right:10px;
}
#topic img.flyer {
	float:left;
	margin-left:20px;
	margin-bottom:20px;
}
#topic .txt {
	float:right;
	margin-right:20px;
	width:710px;
	text-align:left;
}
#topic .txt strong {
	font-weight:bold;
	font-size:125%;
}
#topic .txt strong span {
	font-size:75%;
	color:#FFF;
	padding:3px 5px 1px;
	font-weight:normal;
	margin-right:10px;
}
/*札幌エリア*/
span.area01 {
	background:#eb9100;
}
/*旭川エリア*/
span.area02 {
	background:#099651;
}
/*苫小牧エリア*/
span.area03 {
	background:#004a86;
}
/*函館エリア*/
span.area04 {
	background:#aa0000;
}
/*帯広エリア*/
span.area05 {
	background:#5f008e;
}
/*北見エリア*/
span.area06 {
	background:#3fafb0;
}
/*釧路エリア*/
span.area07 {
	background:#b28254;
}
/*全道エリア*/span.area09 {	background:#8a8a8a;}

#topic .txt p {
	margin:10px 0;
	font-weight:bold;
}
#topic .txt p.subttl {
	font-weight:normal;
}

#list {
	width:940px;
	margin:40px auto;
}
#list ul li {
	float:left;
	width:450px;
	height:110px;
	border: 1px solid #cccccc;
	padding:5px;
	margin-bottom:20px;
}
#list ul li:nth-child(2n) {
	float:right;
}
#list ul li img.flyer {
	float:left;
}
#list ul li .txt {
	float:right;
	width:320px;
}
#list ul li .txt span {
	font-size:75%;
	color:#FFF;
	padding:3px 5px 1px;
	font-weight:normal;
}
#list ul li .txt p {
	margin:5px 0;
	line-height:1.6;
	font-weight:bold;
}
#map_box {
	width:960px;
	height:550px;
	margin:20px auto 50px;
}
#map_box #gmap {
	width:960px;
	height:550px;
}
#campaign {
	 background:#edf5fa;
	 width:100%;
	 padding:50px auto;
	 overflow: hidden;
 }
#campaign ul{
  display: table;
  table-layout: fixed;
  text-align: center;
  width:960px;
  margin:30px auto;
}
#campaign ul li {
	display: table-cell;
	margin:0;
	padding:0;
	text-align:left;
}
#campaign ul li a {
	display:block;
	width:280px;
	height:230px;
	box-shadow: 0 0 2px 2px #ccc;
	-webkit-box-shadow: 0 0 2px 2px #ccc;
	-moz-box-shadow: 0 0 2px 2px #ccc;
	background:#FFF;
	padding:10px;
	margin:0 auto;
}
#campaign ul li a dl {
	margin-top:10px;
}
#campaign ul li a dl dt {
	border-left:3px solid #4877bd;
	padding-left:5px;
	font-size:115%;
	color:#4877bd;
	text-decoration:none;
	font-weight:bold;
}
#campaign ul li a dl dd {
	padding:10px 0 0;
	color:#666;
}

/*詳細ページ*/
.title{
	background:#cee9ff;
	width:100%;
	padding:10px 0;
}
.title .name {
	width:960px;
	margin:0 auto;
	vertical-align:middle;
}
.title .name h3 {
	float:left;
	width:650px;
	font-size:160%;
	font-weight:normal;
	color:#0b3386;
}
.title .name a {
	float:right;
	margin-left:10px;
	z-index:5;
}
#detail {
	width:960px;
	margin:40px auto;
	text-align:center;
}
#detail table {
	 width:960px;
	 margin:40px auto;
	 border-top:1px solid #999;
	 border-left:1px solid #999;
 }
#detail table th {
	background:#e3ebf5;
	width:230px;
	padding:10px;
	vertical-align:middle;
	text-align:left;
	font-weight:normal;
	border-right:1px solid #999;
	border-bottom:1px solid #999;
}
#detail table td{
	text-align:left;
	font-weight:normal;
	border-right:1px solid #999;
	border-bottom:1px solid #999;
}
/*フォーム*/
.title h3.form {
	font-size:160%;
	font-weight:normal;
	color:#0b3386;
	width:960px;
	text-align:center;
	margin:0 auto;
}
h4.form {
	 width:950px;
	 margin:0 auto 5px;
	 background:#0075c0;
	 /*border-bottom:1px solid #5977a4;*/
	 padding:5px;
	 text-align:left;
	 font-size:130%;
	 font-weight:normal;
	 color:#FFF;
 }
p.read {
	width:960px;
	text-align:center;
	margin:20px auto 0;
}
label {
	cursor:pointer;
}
.attention {
	width:800px;
	margin:20px auto;
	border:1px solid #444;
	padding:15px;
	overflow:hidden;
	text-align:left;
	font-size:85%;
	line-height:1.8;
}
.attention p {
	float:left;
	width:630px;
	line-height:2.0em;
	margin-top:0.3em;
}
.attention .img {
	float:right;
	width:100px;
	margin-right:20px;
} 
.attention .img a span {
	display:block;
	font-weight:bold;
	font-size:7px;
	line-height:1.0;
	margin:0;
	padding:0;
}
span.req {
	background:#F00;
	color:#FFF;
	padding:3px;
}
table {
	 width:960px;
	 margin:0 auto 30px;
	 border-top:1px solid #999;
	 border-left:1px solid #999;
 }
table th {
	background:#deecf4;
	width:230px;
	padding:10px;
	vertical-align:middle;
	text-align:left;
	font-weight:normal;
	border-right:1px solid #999;
	border-bottom:1px solid #999;
}
table td strong {
	font-weight:bold;
}
table th span.req{
	float:right;
	font-size:85%;
}
table th:after {
	clear:right;
}
table td {
	padding:10px;
	vertical-align:middle;
	text-align:left;
	font-weight:normal;
	border-right:1px solid #999;
	border-bottom:1px solid #999;
}
.caution {
	margin:20px auto;
	text-align:center;
	width:960px;
}
.caution p {
	margin:0 auto;
	text-align:left;
	width:600px;
	white-space:nowrap;
}
.consent{
	width:960px;
	margin:20px auto;
	background:#deecf4;
	text-align:center;
	padding:10px 0;
	color:#F00;
}
.consent label {
	color:#444;
	font-size:120%;
	font-weight:bold;
}
.result {
	width:300px;
	height:60px;
	margin:50px auto 80px;
}
#name01, #name02, #kana01, #kana02, #address01, #address02, #mail {
	width:200px;
	margin:0 3px;
}
#age, #zip01, #zip02, #tel01, #tel02, #tel03, #adult, #child {
	width:50px;
	margin:0 3px;
}
#course01, #course02, #course03, #check01, #check02, #bus_y, #bus_n {
	margin-right:5px;
}
#comment {
	width:600px;
	height:50px;
}
.dandan {
	width:100%;
	border-top:1px dotted #999;
	margin-top:10px;
	padding:10px 0 0;
}
.dandan strong {
	padding-right:10px;
	font-weight:bold;
}


/*エラー画面／確認画面／完了画面*/
.error {
	width:960px;
	margin:40px auto;
}
.conf {
	width:90%;
	max-width:960px;
	margin:40px auto 60px;
}
.error p,
.conf p {
	text-align:center;
	margin:0 auto 40px;
}
.error table,
.conf table {
	border:1px solid #CCC;
}
.conf table {
	border:1px solid #CCC;
	margin-bottom:40px;
}
.error table td,
.conf table td {
	padding:30px;
	border:none;
}
.error table td pre{
	font-weight:bold;
	line-height:1.8;
	color:#F00;
	text-align:left;
}
.conf table td pre{
	font-weight:bold;
	line-height:1.8;
	text-align:left;
	margin:0 auto;
}
.conf a.btn02 {
	width:300px;
	height:60px;
	margin:0;
	padding:0;
	float:left;
	margin-right:30px;
}
.conf input.btn03 {
	width:300px;
	height:60px;
	margin:0;
	padding:0;
	float:left;
}
.thanks h3 {
	 width:950px;
	 margin:0 auto 5px;
	 background:#0075c0;
	 /*border-bottom:1px solid #5977a4;*/
	 padding:5px;
	 text-align:left;
	 font-size:130%;
	 font-weight:normal;
	 color:#FFF;
 }
.thanks p {
	width:960px;
	text-align:center;
	margin:40px auto 300px;
}


/*-----------------------------------------------*/
/*------20200115--START--------------------------*/
/*-----------------------------------------------*/
@media screen and (max-width: 960px) {
	.rsp #topic {
		width:94%;
		margin:20px 3% 20px 3%;
		border:1px solid #eb9100;
	}
	.rsp #topic::after {
	  content: "";
	  display: block;
	  clear: both;
	}
	.rsp #topic h3 {
		text-align:center;
		border-bottom:1px solid #eb9100;
		padding:10px 0;
		font-size:180%;
		width:100%;
		margin-bottom:20px
	}
	.rsp #topic h3 img {
		margin-right:10px;
	}
	.rsp #topic img.flyer {
		float:left;
		width: 27%;
		margin-left:0px;
		margin-bottom:20px;
	}
	.rsp #topic img.flyer img {
		width: 100%;
	}
	.rsp #topic .txt {
		float:right;
		margin-right:0px;
		width:68%;
		text-align:left;
	}
	.rsp #topic .txt strong {
		font-weight:bold;
		font-size:125%;
	}
	.rsp #topic .txt strong span {
		font-size:75%;
		color:#FFF;
		padding:3px 5px 1px;
		font-weight:normal;
		margin-right:10px;
	}
	.rsp h4 {
		 width:100%;
		 margin:0 auto;
		 border-bottom:1px solid #5977a4;
		 padding:10px 0;
		 text-align:center;
		 font-size:250%;
		 font-weight:normal;
		 color:#464646;
	}
	.rsp #map_box {
		width:100%;
		height:550px;
		margin:20px auto 50px;
	}
	.rsp #map_box #gmap {
		width:100%;
		height:550px;
	}
	.rsp #campaign ul{
	  display: table;
	  table-layout: fixed;
	  text-align: center;
	  width:94% ;
	  margin:30px 3% 30px 3%;
	}
	.rsp #campaign ul li img {
		width: 100%;
		height: auto;
	}
	.rsp #campaign ul li a {
		display:block;
		width:94%;
		height:auto !important;
		box-shadow: 0 0 2px 2px #ccc;
		-webkit-box-shadow: 0 0 2px 2px #ccc;
		-moz-box-shadow: 0 0 2px 2px #ccc;
		background:#FFF;
		padding:3%;
		margin:0 auto;
	}
	.rsp #campaign ul li {
		margin-left: 1% !important;
		margin-right: 1% !important;
	}
	.rsp .title{
		background:#cee9ff;
		width:94%;
		padding:10px 3% 10px 3%;
	}
	.rsp .title .name {
		width:100%;
		margin:0 auto;
		vertical-align:middle;
	}
	.rsp .title .name h3 {
		float:left;
		width:55%;
		font-size:160%;
		font-weight:normal;
		color:#0b3386;
	}
	.rsp .title .name a {
		float:right;
		margin-left:5px;
		z-index:5;
	}
	.rsp #detail {
		width:94%;
		margin:40px 3% 40px 3%;
		text-align:center;
	}
	.rsp #detail img {
		display: inline-block;
		max-width: 100%;
	}
	.rsp #detail table {
		 width:100%;
		 margin:40px auto;
		 border-top:1px solid #999;
		 border-left:1px solid #999;
	 }
	.rsp #detail table th {
		background:#e3ebf5;
		width:30%;
		padding:2%;
		vertical-align:middle;
		text-align:left;
		font-weight:normal;
		border-right:1px solid #999;
		border-bottom:1px solid #999;
	}
	.rsp #detail table td{
		text-align:left;
		font-weight:normal;
		padding: 2%;
		border-right:1px solid #999;
		border-bottom:1px solid #999;
	}
	.rsp .title h3.form {
		font-size:150%;
		font-weight:normal;
		color:#0b3386;
		width:100%;
		text-align:center;
		margin:0 auto;
	}
	.rsp h4.form {
		 width:100%;
		 margin:0 auto 5px;
		 background:#0075c0;
		 /*border-bottom:1px solid #5977a4;*/
		 padding:5px;
		 text-align:left;
		 font-size:130%;
		 font-weight:normal;
		 color:#FFF;
	 }
	p.read {
		width:94%;
		padding-left: 3%;
		padding-right: 3%;
		text-align:center;
		margin:20px auto 0;
	}
	.rsp h2 {
		 width:100% !important;
		 margin:0 auto;
		 /*border-bottom:1px solid #5977a4;*/
		 padding:10px 0;
		 text-align:center;
		 font-size:250%;
		 font-weight:normal;
		 color:#464646;
	 }
	.rsp .attention {
		width:88%;
		margin:20px 4% 20px 4%;
		border:1px solid #444;
		padding:2%;
		overflow:hidden;
		text-align:left;
		font-size:85%;
		line-height:1.8;
	}
	.rsp #list {
		width:94% !important;
		margin:20px auto;
		padding-left: 3%;
		padding-right: 3%;
	}
	.rsp #list li {
		float:none;
		width:94% !important;
		border: 1px solid #cccccc;
		padding:3%;
		height: auto;
		margin:0 0 20px 0;
	}
	.rsp #list li::after {
	  content: "";
	  display: block;
	  clear: both;
	}
	.rsp #list li:nth-child(2n) {
		float:none;
	}
	.rsp #list li img {
		float:left;
		width: 17%;
	}
	.rsp #list li.side img {
		margin-top:15px;
	}
	.rsp #list li .txt {
		float:right;
		width:80%;
	}
	.rsp #list li.side .txt {
		float:right;
		width:80%;
	}
	.rsp table {
		 width:94%;
		 margin:0 3% 0 3%;
		 border-top:1px solid #999;
		 border-left:1px solid #999;
	 }
	.rsp table th {
		background:#deecf4;
		width:25%;
		padding:2%;
		vertical-align:middle;
		text-align:left;
		font-weight:normal;
		border-right:1px solid #999;
		border-bottom:1px solid #999;
	}
	.rsp .caution {
		margin:20px 3% 20px 3%;
		width:96% !important;
		text-align: center;
	}
	.rsp .caution p {
		margin:0 auto;
		text-align:left;
		padding: 0 !important;
		width:100% !important;
		white-space:normal!important;
		word-break: break-all;
	}
	.rsp .consent{
		width:88%;
		margin:20px 3% 20px 3%;
		background:#deecf4;
		text-align:center;
		padding:3%;
		color:#F00;
	}
	.thanks h3 {
		 width:96%;
		 margin:0 auto 5px;
		 background:#0075c0;
		 /*border-bottom:1px solid #5977a4;*/
		 padding:2%;
		 text-align:left;
		 font-size:130%;
		 font-weight:normal;
		 color:#FFF;
	 }
	.thanks p {
		width:100%;
		text-align:center;
		margin:40px auto 300px;
	}
}
@media screen and (max-width: 830px) {
	.rsp .attention p {
		float:left;
		width:78%;
		line-height:2.0em;
		margin-top:0.3em;
	}
	.rsp .attention .img {
		float:right;
		width:20%;
		margin-right:0px;
	}
	.rsp .attention .img img {
		width: 100% !important;
	}
	.rsp table th {
		display: block;
		width:96%;
	}
	.rsp table td {
		display: block;
		width:96%;
		padding: 2%;
	}
	
}
@media screen and (max-width: 767px) {
	.rsp #campaign ul li {
		display: block;
		width: 100%;
		margin-bottom: 15px;
	}
	.rsp #campaign ul li a {
		display:block;
		width:94%;
		height:auto !important;
		box-shadow: 0 0 2px 2px #ccc;
		-webkit-box-shadow: 0 0 2px 2px #ccc;
		-moz-box-shadow: 0 0 2px 2px #ccc;
		background:#FFF;
		padding:3%;
		margin:0 auto;
	}
	.rsp #detail table th {
		background:#e3ebf5;
		display: block;
		width:96%;
		padding:2%;
		vertical-align:middle;
		text-align:left;
		font-weight:normal;
		border-right:1px solid #999;
		border-bottom:1px solid #999;
	}
	.rsp #detail table td{
		text-align:left;
		display: block;
		width:96%;
		font-weight:normal;
		padding: 2%;
		border-right:1px solid #999;
		border-bottom:1px solid #999;
	}
	.rsp .title .name {
		width:100%;
		margin:0 auto;
		vertical-align:middle;
	}
	.rsp .title .name h3 {
		float:none;
		width:100%;
		font-size:130%;
		font-weight:normal;
		color:#0b3386;
	}
	.rsp .title .name a {
		float:none;
		display: inline-block;
		width: 50%;
		text-align: center;
		margin-left:0px;
		z-index:5;
	}
	.rsp .title .name a img {
		width: 140px !important;
		height: auto !important;
	}
	.rsp h2 {
		 width:100% !important;
		 margin:0 auto;
		 /*border-bottom:1px solid #5977a4;*/
		 padding:10px 0;
		 text-align:center;
		 font-size:150%;
		 font-weight:normal;
		 color:#464646;
	 }
	.rsp #topic img.flyer {
		float:none;
		width: 80% !important;
		padding-left: 10% !important;
		padding-right: 10% !important;
		text-align: center;
		margin-left:0px;
		margin-bottom:20px;
	}
	.rsp #topic img.flyer img {
		display: block !important;
		width: 80% !important;
		height: auto  !important;
		margin-top: 15px !important;
	}
	.rsp #topic .txt {
		float:none;
		margin-right:0px;
		width:94% !important;
		padding-left: 3% !important;
		padding-right: 3% !important;
		text-align:left;
	}
	.rsp #map_box {
		width:100%;
		height:250px !important;
		margin:20px auto 50px;
	}
	.rsp #map_box #gmap {
		width:100%;
		height:250px !important;
	}
	.rsp .attention p {
		float:none;
		width:100%;
		line-height:2.0em;
		margin-top:0.3em;
	}
	.rsp .attention .img {
		display: none;
	}
	.rsp .attention .img img {
		display: inline-block;
		width: 70px !important;
	}
	.rsp h3 {
		 width:90%;
		 margin:0;
		 /*border-bottom:1px solid #5977a4;*/
		 padding:2%;
		 text-align:left;
		 font-size:110%;
	 }
	.rsp table th {
		display: block;
		font-size: 80%;
	}
	.rsp table td {
		display: block;
		font-size: 80%;
	}
	/*------20200214--START--------------------------*/
	#zip01,#zip02,#name01,#name02,#kana01,#kana02 {
		width: 28% !important;
		height: 25px !important;
	}
	/*------20202024--END--------------------------*/
	#tel01,#tel02,#tel03 {
		width: 21% !important;
		height: 25px !important;
	}
	.zipbt {
		width: 100%;
		margin-top: 8px;
	}
	#mail {
		width: 80%;
		height: 25px;
	}
	#comment {
		width: 98%;
		height: 100px;
	}
	/*------20200214--START--------------------------*/
	.sp-i {
		width: 100px !important;
	}
	/*------20200214--END--------------------------*/
}
/*------20200115--END----------------------------*/
/*-----------------------------------------------*/