@charset "UTF-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝　初期設定　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
*{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
font-family: sans-serif, 'Noto Serif JP', serif;
}

body {
	width:100%;
	color:#000;
}
.wrapper {
	overflow:hidden;
}
header {
	position:fixed;
	width:100%;
	top:0;
	background:#FFF;
	height:89px;
	z-index:999999;
	border-bottom:solid 3px #247eb8;
}
footer {
	border-top:solid 3px #247eb8;
	font-size:.9em;
}

.formInput05 { width: 5em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput10 { width: 10em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput15 { width: 15em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput20 { width: 20em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput25 { width: 25em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput30 { width: 30em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}
.formInput40 { width: 40em; max-width: 100%; box-sizing: border-box; display: inline-block; margin:0px 3px;}

/* link style
----------------------------*/
a:link {
	color: #0077d2;
	text-decoration: none;
}
a:visited {
	color: #0077d2;
	text-decoration: none;
}
a:hover {
	color:#bb0101;
	text-decoration:none;
}

/* other
--------------------------- */
@media screen and (min-width: 650px) {
	.br-sp { display:none; }
}

@media screen and (max-width: 650px) {
	.br-sp2{ display:none; }
}
@media screen and (min-width: 768px) {
.sp-visible {display:none;}
}

a:focus, *:focus {
	outline:none;
}


/* ============= common ============== */
.maincontainer {
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	padding-left: 10px;
	padding-right: 10px;
}
.rl05-container {
  max-width: 1150px;
  position: relative;
  margin: 0 auto;
  padding-left: 5px;
  padding-right: 5px;
}
.rl10-container {
  max-width: 1000px;
  position: relative;
  margin: 0 auto;
  padding-left: 5px;
  padding-right: 5px;
}

.rl15-container {
  max-width: 900px;
  position: relative;
  margin: 0 auto;
  padding-left: 5px;
  padding-right: 5px;
}
.rl80-container {
	max-width: 800px;
	position: relative;
	margin: 0 auto;
	padding-left: 10px;
	padding-right: 10px;
}

/* ============= header/footer ============== */

.under_line {
	background: #247eb8;
	height:3px;
}

.f_menu {
	padding:7px 0 10px 0;
	font-size:0.9rem;
}

.copyright {
	padding:10px 0;
	background :#247eb8;
	color:#FFF;
	font-size:0.9rem;
}

/* ============= slider ============== */
#top_visual {
}
#top_visual ul {
	max-width: 1200px;
	margin-top:89px;
	margin-left:auto;
	margin-right:auto;
	padding:0;
}
#top_visual img {
	max-width:100%;
	height:auto;
}
.carousel-caption {
	position: absolute;
	right: 28%;
	bottom: 4rem;
	left: 1.5rem;
	z-index: 10;
	padding-top: 20px;
	padding-bottom: 10px;
	background:rgba(255,255,255,0.5);
}

.slider_caption {
	font-size:1.7rem;
	font-family: 'Sawarabi Gothic';
/*	text-decoration: underline;*/
	font-weight:bold;
	color:#122167;
}

@media screen and (max-width: 900px) {
	.carousel-caption {
		position: absolute;
		right: 30%;
		bottom: 2rem;
		left: 2rem;
	}
	.slider_caption {
		font-size:1rem;
	}
}

@media screen and (max-width: 650px) {
	.carousel-caption {
		right: 5%;
		bottom: .8rem;
		left: .5rem;
	}
	.slider_caption {
		font-size:1.2rem;
	}
}


/* =============  ============== */	
.title_main {
	position: relative;
	padding:.5rem;
	font-size:1.4em;
	text-align:center;
}
.title_main:before {
	position: absolute;
	bottom: -5px;
	/*left:50%;
	left: calc(50% - 30px);*/
	left:0;
	right:0;
	margin:auto;
	width: 500px;
	height: 3px;
	content: '';
	background:#247eb8;
	border-radius: 2px;
}
.title_linebelt {
	padding: 0.5em 0.75em;/*上下 左右の余白*/
	color: #000;/*文字色*/
	/*  background: transparent;背景透明に*/
	background:#e7e7e7;
	border-left: solid 7px #247eb8;/*左線*/
	font-size:1.2em;
}
.title_line {
	padding: 0.5em 0.5em;
	color: #000;
	border-top:solid 3px #247eb8;
	border-bottom:solid 3px #247eb8;
	font-size:1.2em;
}

.title_belt {
	padding: 0.5em 0 0.5em 1.25em;
	background:#247eb8;
	color:#FFF;
	font-size:1.2em;
}

p.lead {
margin:.5em 0 0.5em 1em;
font-size:1em;
}
p.lead2 {
margin:1.2em 0.9em 1.6em 1.2em;
font-size:1em;
}
p.lead3 {
margin:1em;
font-size:1em;
line-height:1.7em;
}
p.lead4 {
margin:.6em;
font-size:1em;
line-height:1.5em;
}
p.comment {
	margin:0;
	font-size:1em;
	line-height:1.7em;
}
p.comment2 {
	margin:.5em 1em;
	font-size:1em;
	line-height:1.7em;
}
p.comment3 {
	margin:0 .7em;
	font-size:1em;
	line-height:1.7em;
}
span.red {
	color: #c00;
}
span.labelb {
	color: #00036b;
	font-weight: 600;
}


table.commontable {
	width:100%;
	border-top:1px solid #3E3A39;
	border-collapse:collapse;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1.5em;
}
table.commontable th {
	text-align:center;
	width:20%;
	border:1px solid #3E3A39;
	padding:10px;
	background: #93cdf5;
	white-space: nowrap;
}
table.commontable th.sub {
	text-align:center;
	width:20%;
	border:1px solid #3E3A39;
	padding:10px;
	background: #94e9f8;
	white-space: nowrap;
}

table.commontable td {
	text-align:left;
	border:1px solid #3E3A39;
	padding:10px;
}

@media only screen and (max-width:600px){
	table.commontable {
		margin: 0;
		width:100%;
	}
	table.commontable th {
		width: 100%;
		display: block;
		border-top: none;
		text-align:center;
	}
	table.commontable th.sub {
		width: 100%;
		display: block;
		border-top: none;
		text-align:center;
	}
	table.commontable td {
		width: 100%;
		display: block;
		border-top: none;
	}
	table.commontable tr:first-child th { border-top: 1px solid #ddd; }
}

.form_kakomi {
	margin-top:15px;
	border:solid 1px #247eb8;
	background: #f2e9e9;
}
.btn-iro {
	color: #fff;
	background-color: #247eb8;
	border-color:  #247eb8;
	margin-bottom:3em;
}
.btn-iro:hover {
	background: #00416b;
}
.yokonarabi {
	display:flex;
}
dl.topics {
	display:block;
	padding: 7px 0;
	border-bottom: 2px solid #FF0000;
	width:100%;
	font-size:1.2rem;
}
dl.topics dt {
	padding-bottom: 5px;
	background:#000;
	color:#FFF;
	text-align:center;
	margin-left:5%;
	padding:3px;
}
dl.topics dt.none {
	padding-bottom: 5px;
	background:none;
	text-align:center;
	margin-left:5%;
	padding:3px;
}
dl.topics dd {
	text-align:center;
	color:#FF0000;
	font-size:100%;
}
@media screen and (min-width: 768px) {
	dl.topics dt {
		clear: left;
		float: left;
		width: 25%;
		margin-right:5%;
	}
	dl.topics dt:first-letter {
		font-size:150%;
	}
	dl.topics dd {
		margin-left: 18%;
		font-size:150%;
	}
}

