/* common
--------------------------------------------*/
body{margin:0px;padding:0px 0px 0px 0px;text-align:left;letter-spacing:0;}
form,input,p,a,table,img,ul,ol,li,dt,dd,dl,input,h1,h2,h3,h4,h5,h6,q{margin:0;padding:0;}
form{background:none;border:none;}
.mg20l {margin-left:20px;}
img{border:0;}
hr{display:none;}
li {list-style:none;}
p {text-align:left;}
strong {font-weight:400;}
a {
color:#333333;
text-decoration:none;
}
.clear {
clear:both;
}

a:hover img{
       filter:alpha(opacity=70);
       -moz-opacity:0.7;
       opacity:0.7;
}

.title a:hover img{
       filter:alpha(opacity=100);
       -moz-opacity:1.0;
       opacity:1.0;
}



/* margin
--------------------------------------------*/
.mg0a {margin:0px;}.mg3a{margin:3px;}.mg5a{margin:5px;}.mg7a{margin:7px;}.mg10a{margin:10px;}
.mg15a{margin:15px;}.mg20a{margin:20px;}.mg30a{margin:30px;}
.mg50a{margin:50px;}

.mg0v {margin-top:0px; margin-bottom:0px;}.mg3v {margin-top:3px; margin-bottom:3px;}.mg5v {margin-top:5px; margin-bottom:5px;}
.mg7v{margin-top:7px; margin-bottom:7px;}.mg10v{margin-top:10px; margin-bottom:10px;}.mg15v{margin-top:15px; margin-bottom:15px;}
.mg20v{margin-top:20px; margin-bottom:20px;}.mg30v{margin-top:30px; margin-bottom:30px;}
.mg50v{margin-top:50px; margin-bottom:50px;}

.mg0h {margin-right:0px; margin-left:0px;}.mg3h {margin-right:3px; margin-left:3px;}.mg5h {margin-right:5px; margin-left:5px;}
.mg7h{margin-right:7px; margin-left:7px;}.mg10h{margin-right:10px; margin-left:10px;}.mg15h{margin-right:15px; margin-left:15px;}
.mg20h{margin-right:20px; margin-left:20px;}.mg30h{margin-right:30px; margin-left:30px;}
.mg50h{margin-right:50px; margin-left:50px;}

.mg0t {margin-top:0px;}.mg3t {margin-top:3px;}.mg5t {margin-top:5px;}.mg7t{margin-top:7px;}.mg10t{margin-top:10px;}
.mg15t{margin-top:15px;}.mg20t{margin-top:20px;}.mg30t{margin-top:30px;}
.mg50t{margin-top:50px;}

.mg0r {margin-right:0px;}.mg3r {margin-right:3px;}.mg5r {margin-right:5px;}.mg7r{margin-right:7px;}.mg10r{margin-right:10px;}
.mg15r{margin-right:15px;}.mg20r{margin-right:20px;}.mg30r{margin-right:30px;}
.mg50r{margin-right:50px;}

.mg0b {margin-bottom:0px;}.mg3b {margin-bottom:3px;}.mg5b {margin-bottom:5px;}.mg7b{margin-bottom:7px;}.mg10b{margin-bottom:10px;}
.mg15b{margin-bottom:15px;}.mg20b{margin-bottom:20px;}.mg30b{margin-bottom:30px;}
.mg50b{margin-bottom:50px;}

.mg0l {margin-left:0px;}.mg3l{margin-left:3px;}.mg5l {margin-left:5px;}.mg7l{margin-left:7px;}.mg10l{margin-left:10px;}
.mg15l{margin-left:15px;}.mg20l{margin-left:20px;}.mg30l{margin-left:30px;}
.mg50l{margin-left:50px;}

/* padding
--------------------------------------------*/
.pd0a {padding:0px;}.pd3a{padding:3px;}.pd5a {padding:5px;}.pd7a{padding:7px;}.pd10a{padding:10px;}
.pd15a{padding:15px;}.pd20a{padding:20px;}.pd30a{padding:30px;}
.pd50a{padding:50px;}

.pd0v {padding-top:0px; padding-bottom:0px;}.pd3v {padding-top:3px; padding-bottom:3px;}.pd5v {padding-top:5px; padding-bottom:5px;}
.pd7v{padding-top:7px; padding-bottom:7px;}.pd10v{padding-top:10px; padding-bottom:10px;}.pd15v{padding-top:15px; padding-bottom:15px;}
.pd20v{padding-top:20px; padding-bottom:20px;}.pd30v{padding-top:30px; padding-bottom:30px;}
.pd50v{padding-top:50px; padding-bottom:50px;}

.pd0h {padding-right:0px; padding-left:0px;}.pd3h {padding-right:3px; padding-left:3px;}.pd5h {padding-right:5px; padding-left:5px;}
.pd7h{padding-right:7px; padding-left:7px;}.pd10h{padding-right:10px; padding-left:10px;}.pd15h{padding-right:15px; padding-left:15px;}
.pd20h{padding-right:20px; padding-left:20px;}.pd30h{padding-right:30px; padding-left:30px;}
.pd50h{padding-right:50px; padding-left:50px;}

.pd0t {padding-top:0px;}.pd3t {padding-top:3px;}.pd5t {padding-top:5px;}.pd7t{padding-top:7px;}.pd10t{padding-top:10px;}
.pd15t{padding-top:15px;}.pd20t{padding-top:20px;}.pd30t{padding-top:30px;}
.pd50t{padding-top:50px;}

.pd0r {padding-right:0px;}.pd3r {padding-right:3px;}.pd5r {padding-right:5px;}.pd7r{padding-right:7px;}.pd10r{padding-right:10px;}
.pd15r{padding-right:15px;}.pd20r{padding-right:20px;}.pd30r{padding-right:30px;}
.pd50r{padding-right:50px;}

.pd0b {padding-bottom:0px;}.pd3b {padding-bottom:3px;}.pd5b {padding-bottom:5px;}.pd7b{padding-bottom:7px;}.pd10b{padding-bottom:10px;}
.pd15b{padding-bottom:15px;}.pd20b{padding-bottom:20px;}.pd30b{padding-bottom:30px;}
.pd50b{padding-bottom:50px;}

.pd0l {padding-left:0px;}.pd3l {padding-left:3px;}.pd5l {padding-left:5px;}.pd7l{padding-left:7px;}.pd10l{padding-left:10px;}
.pd15l{padding-left:15px;}.pd20l{padding-left:20px;}.pd30l{padding-left:30px;}
.pd50l{padding-left:50px;}

body {
font-family:"Helvetica Neue",Arial, "Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
line-height:170%;
margin: 0px;
color:#333333;
font-weight:400;

background-color:#336799;
background-image: url("../images/body-bg.jpg");
background-repeat:repeat-x;

}


.wrap {
width:920px;
margin:0 auto;
padding:0px 10px;
background-color:#fff;
}


.left {
text-align:left;
}
.right {
text-align:right;
}


.f-left {
float:left;
}
.f-right {
float:right;
}

.center {
text-align:center;
}
.r20{-webkit-border-radius:20px 20px 20px 20px;
-moz-border-radius:20px 20px 20px 20px;  
border-radius:20px 20px 20px 20px;
}

.r15{-webkit-border-radius:15px 15px 15px 15px;
-moz-border-radius:15px 15px 15px 15px;  
border-radius:15px 15px 15px 15px;
}

.r10{-webkit-border-radius:10px 10px 10px 10px;
-moz-border-radius:10px 10px 10px 10px;  
border-radius:10px 10px 10px 10px;
}

.r8{-webkit-border-radius:8px 8px 8px 8px;
-moz-border-radius:8px 8px 8px 8px;  
border-radius:8px 8px 8px 8px;
}
.r5{-webkit-border-radius:5px 5px 5px 5px;
-moz-border-radius:5px 5px 5px 5px;  
border-radius:5px 5px 5px 5px;
}
.r3{-webkit-border-radius:3px 3px 3px 3px;
-moz-border-radius:3px 3px 3px 3px;  
border-radius:3px 3px 3px 3px;
}
.r0{-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;  
border-radius:0px 0px 0px 0px;
}
.f75 {
	font-size:75%;
}
.f80 {
	font-size:80%;
}
.f85 {
	font-size:85%;
}
.f90 {
	font-size:90%;
}
.f95 {
	font-size:95%;
}


.f110 {
	font-size:110%;
}
.f120 {
	font-size:120%;
}
.f130 {
	font-size:130%;
}
.f140 {
	font-size:140%;
}
.f150 {
	font-size:150%;
}
.f170 {
	font-size:170%;
}
.f200 {
	font-size:200%;
}
.f230 {
	font-size:230%;
}
.f250 {
	font-size:250%;
}
.f270 {
	font-size:270%;
}
.f300 {
	font-size:300%;
}
.c_base {
color:#ffffff;
}
.c_main {
color:#3953a2;
}
.c_sub1 {
color:#dbdcdc;
}
.c_sub2 {
color:#d5e7f4;
}
.c_sub3 {
color:#f29600;
}


.bg_base {
background-color:#ffffff;
}
.bg_main {
background-color:#3953a2;
}
.bg_sub1 {
background-color:#dbdcdc;
}
.bg_sub2 {
background-color:#d5e7f4;
}
.indent1 {
	text-indent:1em;
	padding-left:-1em;
	
}
.indent {
	text-indent:-1em;
	padding-left:1em;
	
}
i {
	padding-right:5px;
}



.l70{
	line-height:70%;
}
.l80{
	line-height:80%;
}
.l85{
	line-height:85%;
}
.l90{
	line-height:90%;
}
.l95{
	line-height:95%;
}
.l100{
	line-height:100%;
}
.l110{
	line-height:110%;
}
.l120{
	line-height:120%;
}
.l130{
	line-height:130%;
}
.l150 {
	line-height:150%;
}
.l170 {
	line-height:170%;
}
.l200 {
	line-height:200%;
}
.l250 {
	line-height:250%;
}
.ls5{
letter-spacing:0.5em;
}
.ls10{
letter-spacing:1em;
}
.ls15{
letter-spacing:1.5em;
}
.ls20{
letter-spacing:2em;
}

.att {
	color:#ff0000;
	font-weight:700;
	
}

.waku {
border:3px solid #3953a2;
background-color:#fff;
padding:10px;
}
.waku2 {
border:1px solid #ddd;
background-color:#fafafa;
padding:10px;
}
.waku3 {
background-color:#d5e7f4;
border-radius:5px;
padding:10px;
text-align:left;
}
.waku4 {
border:3px solid #ddd;
border-radius:5px;
padding:10px;
background-color:#FFF;
}

.f700 {
	font-weight:700;
}
.txt_wrapper {
margin: 0 auto;
text-align: center;
}

.txt_wrapper_700 {
max-width: 700px;
margin: 0 auto;
text-align: center;
}
.txt_wrapper_850 {
max-width: 850px;
margin: 0 auto;
text-align: center;
}
.txt_wrapper_1040 {
max-width: 1040px;
margin: 0 auto;
text-align: center;
}


.txt {
display: inline-block;
text-align: left;
}

.table {
border-collapse: collapse;
width:auto;
text-align: left;
line-height: 180%;
border-left: 1px solid #d5e7f4;
border-top: 1px solid #d5e7f4;
}
.w100 {
width:100%;
}

.fixed_table{
position: sticky;
top: 0;
&:before{
content: "";
position: absolute;
top: -1px;
left: -1px;
width: 100%;
height: 100%;
border: 1px solid #bbb;
}
}
.table th {
	padding: 10px;
	vertical-align: top;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	background-color:#fafafa;
	font-weight:700;

}
.table td {
	padding: 10px;
	vertical-align: top;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
}
.must {
	background-color:#F00;
	color:#FFF;
	font-weight:700;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	padding:3px;
	font-size:80%;
	margin-right:5px;
	display:inline-block;
}
.no_must {
	width:2.4em;
	font-weight:700;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	padding:3px;
	font-size:80%;
	margin-right:5px;
	display:inline-block;
}
.table_responsive th{
width:270px;
}

.btn-flat-border {
display: inline-block;
padding: 8px 10px;
width:100%;
text-align:left
text-decoration: none;
border-radius: 8px;
transition: 0.4s;
background: #3953a2;
color: #ffffff;
font-weight:400;
font-size:100%;
}

.btn-flat-border:hover {
color: #ffffff;
background: #4673a9;
text-decoration:none;
}

.btn-login-border {
display: inline-block;
padding: 3px 15px;
text-align:left
text-decoration: none;
border-radius: 3px;
transition: 0.4s;
background: #01a0e9;
color: #ffffff;
font-weight:400;
font-size:100%;
}

.btn-login-border:hover {
color: #ffffff;
background: #3953a2;
text-decoration:none;
}



.balloon_right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -35px;
  border: 35px solid transparent;
  border-left: 35px solid #e0edff;
}

.balloon_right p {
	text-align:center;
}

.on .balloon_right {
	background-color:#1a998e;
}
.on .balloon_right p{
	color:#FFF;
	font-weight:700;
}
.on .balloon_right:before{
	border-left-color:#1a998e;
}

.balloon_last {
  margin: 0.5em 0 0.5em 0;
  height:70px;
  padding: 7px 10px;
  width: 100%;
  color: #555;
  font-size: 16px;
  background: #e0edff;
}
.balloon_last p {
	text-align:center;
}
.on .balloon_last p{
	color:#FFF;
	font-weight:700;
}
.on .balloon_last{
	background-color:#1a998e;
}
/* page-top 
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	line-height:100%;
}
#page-top a {
	background: #186ace;
	text-decoration: none;
	color: #fff;
	width: 100px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}
*/

.carousel-indicators {
    bottom: -15px;

}

/* TOP サブメニュー
--------------------------------------------*/

.submenu_pc a{
display:block;
border:3px solid #d5e7f4;
padding:10px;
text-align:center;
font-size:95%;
line-height:120%;
height:100%;
transition:0.5s;
}
.submenu_pc a span {
display:block;
height:2em;
}

.submenu_pc a img {
width:50%;
margin-top:5px;
margin-bottom:5px;
}
.submenu_pc a:hover {
border:3px solid #3953a2;
}

.submenu_sp a{
display:block;
width:100%;
border-top:3px solid #d5e7f4;
border-left:3px solid #d5e7f4;
border-right:3px solid #d5e7f4;
padding:10px;
text-align:left;
font-size:95%;
line-height:120%;
height:100%;
transition:0.5s;
}
.submenu_sp i {
color:#3953a2;
}

.submenu_sp .last {
border-bottom:3px solid #d5e7f4;
}



.footer .adress {
border-top:2px solid #ccc;
padding:10px 10px;
}


/* 各パーツ
--------------------------------------------*/
h2 {
    display: flex;
    align-items: center;
    padding: 5px 7px;
    background-color: #e8f2ff;
    color: #333333;
	font-size:170%;
	border-radius:3px;
	margin-bottom:15px;
}

h2::before {
    display: inline-block;
    width: 5px;
    height: 20px;
    margin-right: 8px;
    background-color: #3953a2;
    content: '';
}

h3 {
background-color:#f2f2f2;
padding:6px;
font-size:130%;
font-weight:700;
margin-bottom:10px;
}


h4 {
border-bottom: 3px solid #f2f2f2;
margin-bottom:10px;
border-radius: 3px;
font-size:120%;
}

h4 span {
display: inline-block;
position: relative;
padding: 0 0px 4px;
color: #333333;
}

h4 span::before {
position: absolute;
bottom: -3px;
left: 0;
width: 100%;
height: 3px;
background-color: #f2f2f2;
content: '';
}


.footer {
background-color:#f2f2f2;
padding-top:20px;
padding-bottom:20px;
margin-top:30px;
}


/* ここまで共通CSS
--------------------------------------------*/



@media screen and (max-width: 1024px) {
.wrap {
	overflow: hidden;
	width:100%;
	padding-left:10px;
	padding-right:10px;
}

}

@media screen and (max-width: 768px) {

.top-head {
	padding-top:50px;
}



.table_responsive th{
	padding-left:10px;
	padding-right:10px;
	width: 100%;
    display: block;
border-collapse: collapse;
}
.table_responsive td{
	padding-left:10px;
	padding-right:10px;
	width: 100%;
    display: block;
border-collapse: collapse;
}
.table_responsive input{
width:100%;
}
table input[type="radio"]{
width:auto;
}

.table_responsive textarea{
width:100%;
}

/*
.pc {
	display:none;
}
*/

}



