@charset "utf-8";

h2 { }
h3 { margin-bottom:30px;}
h4 { color:#666; }
h5 { color:#003366; }
h6 { margin-bottom:5px; }

h4.green { background:url(../img/catch_h4_green.jpg) left 5px no-repeat; padding: 0 0 3px 20px; margin-bottom:20px; color:#666; border-bottom:#CCC 1px dotted; }
h4.blue { background:url(../img/catch_h4_blue.jpg) left 5px no-repeat; padding: 0 0 3px 20px; margin-bottom:20px; color:#666; border-bottom:#CCC 1px dotted; }
h4.orenge { background:url(../img/catch_h4_orenge.jpg) left 5px no-repeat; padding: 0 0 3px 20px; margin-bottom:20px; color:#666; border-bottom:#CCC 1px dotted; }
h4.pink { background:url(../img/catch_h4_pink.jpg) left 5px no-repeat; padding: 0 0 3px 20px; margin-bottom:20px; color:#666; border-bottom:#CCC 1px dotted; }
h4.navy { background:url(../img/catch_h4_navy.jpg) left 5px no-repeat; padding: 0 0 3px 20px; margin-bottom:20px; color:#666; border-bottom:#CCC 1px dotted; }



h5.green { background:url(../img/ya.gif) left 7px no-repeat; padding-left:12px; margin-bottom:5px; color:#339900; }
h5.orenge { background:url(../img/ya.gif) left 7px no-repeat; padding-left:12px; margin:20px 0 10px 0; color:#FF8800; }
h5.orenge2 { background:url(../img/ya.gif) left 7px no-repeat; padding-left:12px; margin:0 0 10px 0; color:#FF8800; }
h5.pink { background:url(../img/ya.gif) left 7px no-repeat; padding-left:12px; margin:20px 0 10px 0; color:#CC6699; }
h5.pink2 { background:url(../img/ya.gif) left 7px no-repeat; padding-left:12px; margin:0 0 10px 0; color:#CC6699; }
h5.train { background:url(../img/ico_train.gif) left no-repeat; padding:5px 0 5px 40px; margin:20px 0 15px 0; color:#666; }
h5.car { background:url(../img/ico_car.gif) left no-repeat; padding:5px 0 5px 40px; margin:20px 0 15px 0; color:#666; }
h5.bus { background:url(../img/ico_bus.gif) left no-repeat; padding:5px 0 5px 50px; margin:20px 0 15px 0; color:#666; }
h5.pr { background:url(../img/ya.gif) left center no-repeat; padding:10px 0px 10px 25px; margin:0 0 0 0; border-top:#CCC 1px dotted; font-weight:normal; }
h5.pr_end { background:url(../img/ya.gif) left center no-repeat; padding:10px 0px 10px 25px; margin:0 0 20px 0; border-top:#CCC 1px dotted; border-bottom:#CCC 1px dotted; font-weight:normal; }

.pdf { background-color: #e8f4ff; padding: 15px; margin-bottom: 20px; font-size: 86%; }
.pdf img { float: right; margin-left: 10px; }

P { margin-bottom:20px; }

.right { float:right; margin-left:15px; }
.left2 { float:left; width:420px; }
img.right { float:right; margin-left:15px; }
img.left { float:left; margin-right:15px; }
	@media (max-width: 945px){
	.left2 { float:none; width:100%; }
	.right { float:none; margin-left:0; display: block; margin-bottom: 10px; margin-top: 10px; }
	img.right { float:none; margin-left:0; display: block; margin-bottom: 10px; margin-top: 10px; }
	img.left { float:none; margin-right:0; display: block; }
	}


table.schedule {
	width:100%;
	border-top:1px solid #CCC;
	border-right: 1px solid #CCC;
	border-collapse:collapse;
	margin:5px 0 25px 0;
	}
	
table.schedule td {
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	padding: 5px;
	line-height:1.5;
	text-align:center;
	}
	
table.schedule th {
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	padding: 5px;
	line-height:1.5;
	font-weight:bold;
	text-align:center;
	background:#F5F5F1;
	}


table.profile {
	width:100%;
	border-top:1px solid #CCC;
	border-right: 1px solid #CCC;
	margin:5px 0 25px 0;
	}
	
table.profile td {
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	padding: 10px;
	line-height:1.5;
	}
	
table.profile th {
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	padding: 10px;
	line-height:1.5;
	font-weight:bold;
	text-align:left;
	background:#F5F5F1;
	}
	@media (max-width: 945px){
	table.profile {
		width:100%;
		border-top:1px solid #CCC;
		border-right: 1px solid #CCC;
		margin:5px 0 25px 0;
		}

	table.profile td {
		display: block;
		border-bottom:1px solid #CCC;
		border-left:1px solid #CCC;
		padding: 10px;
		line-height:1.5;
		box-sizing: border-box;
		}

	table.profile th {
		display: block;
		border-bottom:1px solid #CCC;
		border-left:1px solid #CCC;
		padding: 10px;
		line-height:1.5;
		font-weight:bold;
		text-align:left;
		background:#F5F5F1;
		box-sizing: border-box;
		}
	}

#nomallist ul { padding-left:30px; margin:10px 0 20px 0; }
#nomallist li { margin-bottom:8px; }

#deplist { width:690px; margin-bottom:20px; overflow:hidden; }
#deplist li { position: relative; float: left; list-style-type: none; width:340px; margin-bottom:10px;}
#deplist li.right { margin-left:10px; }
	@media (max-width: 945px){
	#deplist { width:100%; margin-bottom:20px; overflow:hidden; }
	#deplist ul{ display: flex; flex-wrap: wrap;justify-content: space-between; width:100%; }
	#deplist li { display: block; float:none; list-style-type: none; max-width: 340px; padding:0 10px; box-sizing: border-box; margin-bottom:10px; }
	#deplist li.right { margin:0; margin-bottom:10px; }
	}

#section { width:690px; margin-bottom:20px; overflow:hidden; }
#section li { position: relative; float: left; list-style-type: none; width:340px; margin-bottom:10px;}
#section li.right { margin-left:10px; }
	@media (max-width: 945px){
	#section { width:100%; margin-bottom:20px; overflow:hidden; }
	#section ul{ display: flex; flex-wrap: wrap;justify-content: space-between; width:100%; }
	#section li { display: block; float:none; list-style-type: none; max-width: 340px; padding:0 10px; box-sizing: border-box; margin-bottom:5px;}
	#section li.right { margin:0; margin-bottom:5px; }
	}


#box { overflow:hidden; margin-bottom:25px; clear:both; }
.box2 { overflow:hidden; border:#CCC 1px solid; padding:15px 15px 0 15px; margin-bottom:30px; background:#FFC; }
	@media (max-width: 945px){
	.box2 { overflow:hidden; border:#CCC 1px solid; padding:15px 15px 0 15px; margin-bottom:30px; background:#FFC; }
	}

#boxQ { background:url(../../faq/images/q.jpg) top left no-repeat; padding:8px 0 0 50px; margin:0 0 5px 10px; overflow:hidden; font-weight:bold; color:#003366; }
#boxA { background:url(../../faq/images/a.jpg) top left no-repeat; width:630px; padding:10px 0 15px 50px; margin:0 0 15px 10px; overflow:hidden; border-bottom:#CCC 1px solid; }
	@media (max-width: 945px){
	#boxQ { background:url(../../faq/images/q.jpg) top left no-repeat; padding:8px 0 0 50px; margin:0 0 5px 0; overflow:hidden; font-weight:bold; color:#003366; box-sizing: border-box; }
	#boxA { background:url(../../faq/images/a.jpg) top left no-repeat; width:100%; padding:10px 0 15px 50px; margin:0 0 15px 0; overflow:hidden; border-bottom:#CCC 1px solid; box-sizing: border-box; }
	}
#box #left { float:left; width:320px; margin-left:10px; }
#box #right { float:right; width:320px; margin:0 10px 0 10px; }

	@media (max-width: 945px){
	#box #left { float:none; }
	#box #right { float:none }
	}

#recruit table {
	width:100%;
	border-top:1px solid #CCC;
	border-right: 1px solid #CCC;
	margin:5px 0 25px 0;
	}
	
#recruit td {
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	padding: 10px;
	line-height:1.5;
	}
	
#recruit th {
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	padding: 10px;
	line-height:1.5;
	font-weight:bold;
	text-align:left;
	background:#F5F5F1;
	}
	@media (max-width: 945px){
	#recruit table {
		width:100%;
		border-top:1px solid #CCC;
		border-right: 1px solid #CCC;
		margin:5px 0 25px 0;
		}

	#recruit td {
		display: block;
		border-bottom:1px solid #CCC;
		border-left:1px solid #CCC;
		padding: 10px;
		line-height:1.5;
		}

	#recruit th {
		display: block;
		border-bottom:1px solid #CCC;
		border-left:1px solid #CCC;
		padding: 10px;
		line-height:1.5;
		font-weight:bold;
		text-align:left;
		background:#F5F5F1;
		}
	}

.recruit ul { width:690px; margin-bottom:20px; overflow:hidden; }
.recruit li { position: relative; float: left; list-style-type: none; width:340px; height:200px; background:#CCC; margin-bottom:10px }

.recruit ul.anchor { display: flex; flex-wrap: wrap; justify-content: space-between; width:100%; margin-bottom:20px; overflow:hidden; }
.recruit ul.anchor li { position: relative; float: none; list-style-type: none; width:220px; height:38px; background:none; margin-bottom:10px }
.recruit ul.anchor li a{ display: block; float: none; width:220px; height:38px; padding:8px 0 0 40px; font-size: 17px; color:#2C9EFA; background:url("../img/bg_anchor.jpg"); box-sizing: border-box;}
.recruit ul.anchor li a.active{ display: block; float: none; width:220px; height:38px; padding:8px 0 0 40px; font-size: 17px; color:#FFFFFF; background:url("../img/bg_anchor_o.jpg"); box-sizing: border-box; text-decoration: none;}
.recruit ul.anchor li a:hover{ display: block; float: none; width:220px; height:38px; padding:8px 0 0 40px; font-size: 17px; color:#FFFFFF; background:url("../img/bg_anchor_o.jpg"); box-sizing: border-box; text-decoration: none;}


#topics h4 { border-bottom:#999 1px dotted; margin-bottom:10px; padding-bottom:5px; color:#666; }
#topics dl{ width:690px; height:23px; padding-bottom:3px; overflow:hidden; }
#topics dt{ float:left; }
#topics dd{ margin-left:60px; padding-top:2px; font-size:12px; font-weight:bold; }


/* テーブル */
#wpcf7cpcnf table {
	border: none;
}
#wpcf7cpcnf table th {
	background-color: #00008B;
	border: 1px solid #ccc;
	color: #fff;
	text-align: center;
}
#wpcf7cpcnf table td {
	border: 1px solid #ccc;
}

/* ボタン */
#wpcf7cpcnf button {
	background-color: #555;
	border: 4px outset #000;
	color: #fff;
}


/* Contact Form7 */

.contact7 {
	max-width: 100%;
	box-sizing: border-box;
}
.contact7 dd {
	margin: 0 0 30px 0;
	background-color:
}
.contact7 dt {
	font-weight: normal;
}

/* 必須マーク */
.contact7 .must {
	background: #FF1A00;
}

/* 任意マーク */
.contact7 .optional {
	background: #999;
}

.contact7 .must,
.contact7 .optional {
	color: #FFF;
	border-radius: 3px;
	font-size: 10px;
	margin-left: 10px;
	padding: 5px 10px;
	letter-spacing: 2px;
}
.btn_contact7 {
	text-align: center;
}
.btn_contact7 input {
	border-radius: 10px;
	display:block;
	width: 180px;
	background-color: #003B75 !important;
	text-align: center;
	font-size: 1.1em;
	color: #ffffff;
	text-decoration: none;
	line-height: 40px !important;
	cursor: pointer;
	margin-left: auto;
	margin-right: auto;

	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
}
.btn_contact7 input:hover {
	background-color: #FFF !important;
	color: #003B75; 
}
@media screen and (min-width: 768px) {
.contact7 dt {
	float: left;
	clear: left;
	width: 35%;
	padding: 5px 10px 5px 0;
	}
.contact7 dd {
	margin-left: 35%;
	}

.btn_contact7 input {
	border-radius: 10px;
	display:block;
	width: 180px;
	background-color: #003B75 !important;
	text-align: center;
	font-size: 1.1em;
	color: #ffffff;
	text-decoration: none;
	line-height: 40px !important;
	cursor: pointer;

	margin-left: auto;
	margin-right: auto;

	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
}
.btn_contact7 input:hover {
	background-color: #FFF !important;
	color: #003B75; 
}
}


.bl_sizeBtn_wrap {
  align-items: flex-end;
  display: inline-flex;
  font-weight: 500;
}

.bl_sizeBtn_wrap > span {
  font-size: 14px;
  letter-spacing: 0.05em;
}

.bl_sizeBtn_wrap > * + * {
  margin-left: 10px;
}

.bl_sizeBtn {
  background-color: #ddd;
  border-radius: 4px;
  color: #666;
  padding: 5px;
  transition: opacity 0.4s;
}

.bl_sizeBtn:first-of-type {
  font-size: 13px;
}

.bl_sizeBtn:nth-of-type(2) {
  font-size: 16px;
}

.bl_sizeBtn:nth-of-type(3) {
  font-size: 19px;
}

.bl_sizeBtn.is_active {
  background-color: #8cc779;
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .bl_headerList a:hover {
    color: #246a92;
  }

  .bl_sizeBtn:hover {
    opacity: 0.8;
  }
}