@charset "utf-8";

/*-----------------------------------------------------
html
-------------------------------------------------------*/
html{
	overflow-y:scroll;
}

/*-----------------------------------------------------
body
-------------------------------------------------------*/
body{
	font-size:14px;
	font-size:85%\9;
	color:#333;
	line-height:1.8;
	letter-spacing:0.1em;
	font-family:"ＭＳ Ｐゴシック","MS PGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Arial,Osaka,Sans-Serif;
}

/* for IE9 */
body:not(:target){
	font-size:85%\9;
}


/*-----------------------------------------------------
nonvisual-menu
-------------------------------------------------------*/
div.nonvisual-menu{
	width:0;
	height:0;
	font-size:1px;
	line-height:1px;
	overflow:hidden;
	/* except MacIE \*/position: absolute;/* end */
	left:0;
	top:0;
	color:#fff;
}

div.nonvisual-menu a{
	text-decoration:none;
	font-size:1px;
	line-height:1px;
	color:#fff;
}
#main-Contents img{
	position:absolute;
	border:none!important;
	height:1px;
	top:0px;
	left:0px;
}


/*-----------------------------------------------------
Container
-------------------------------------------------------*/
#Container{
}


/*-----------------------------------------------------
Header
-------------------------------------------------------*/
#Header{
	width:960px;
	overflow:hidden;
	margin:0 auto;	
}
#Header h1,
#Header p.logo a{
	width:550px;
	height:25px;
	float:left;
	display:inline;
	padding:40px 0 0 40px;
	font-size:172%;
	font-weight:bold;
	line-height:1;
	text-decoration:none;
	color:#333;
	background:url(../images/header_logo_bg.gif) no-repeat 0 20px;
}

/* header-menu
---------------------*/
#Header div.header-menu{
	width:344px;
	float:right;
	display:inline;
	padding:30px 0 0;
}
#Header div.header-menu p{
	float:left;
	display:inline;
}
#Header div.header-menu div.search{
	width:222px;
	overflow:hidden;
	float:left;
	display:inline;
	margin:0 10px 0 0;
}
#Header div.header-menu div.search input{
	float:left;
	display:inline;
}
#Header div.header-menu div.search input.text{
	width:157px;
	height:28px;
	border:0;
	padding:3px 0 0;
	background:url(../images/header_search_bg.gif) no-repeat 0 0;
}
#Header div.header-menu div.search input.input-focus{
	border:0;
	background:url(../images/header_search_bg.gif) no-repeat 0 0;
}

/* GlobalNavi
---------------------*/
#GlobalNavi{
	width:960px;
	margin:0 auto;
	padding:17px 0 28px;
	clear:both;
}
#GlobalNavi ul{
	width:960px;
	height:52px;
	overflow:hidden;
	margin:0 auto;
	background:url(../images/header_gn_bg.gif) no-repeat 0 0;
}
#GlobalNavi li{
	/*width:101px;*/
	float:left;
	display:inline;	
}
#GlobalNavi li a{
	height:52px;
	display:block;
	text-align:center;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
}
#GlobalNavi li a:hover,
#GlobalNavi li a.active{
	background:url(../images/header_gn_bg_on.gif) 0 0;
}
#GlobalNavi li.last a:hover,
#GlobalNavi li.last a.active{
	background:url(../images/header_gn_bg_last_on.gif) 0 0;
}
#GlobalNavi li:first-child{
	width:51px;
}
#GlobalNavi li:first-child a{
	padding:0;
}
#GlobalNavi li a span{
        padding:14px 10px 0 10px;
        height:38px;
	display:block;
	background:url(../images/header_gn_bg_line.gif) no-repeat 100% 0;
}


/*-----------------------------------------------------
Content
-------------------------------------------------------*/
#Content{
	width:960px;
	overflow:hidden;
	margin:0 auto;
}


/*-------------------------------------
Main
---------------------------------------*/
#Main{
	width:700px;
	float:left;
	display:inline;		
}

/* ttl
---------------------*/
/* mainttl */
#Main .mainttl{
	margin:0 0 30px;
	padding:15px 20px;
	font-weight:bold;
	font-size:200%;
	color:#1F92D2;
	border-top:5px solid #1F93D2;
	background:url(../images/content_bg_dotted_blue.gif) repeat-x 0 100%;
}

/* ttlbarl */
#Main .ttlbarl,
#Main.low h2{
	margin:0 0 20px;
	padding:15px;
	font-size:115%;
	font-weight:bold;
	border:solid #2092D0;
	border-width:2px 1px 1px 1px;
	background:url(../images/content_ttlbar_bg_l.gif) repeat-x 0 0 #DBF1FB;	
}

/* ttlbarm */
#Main .ttlbarm{
	margin:0 0 20px;
	background:url(../images/content_ttlbar_bg_m_top.jpg) no-repeat 0 0;
}
#Main.low h3{
        font-weight:bold;
        margin:0 0 20px;
        background:url(../images/content_ttlbar_bg_m.jpg) no-repeat 0 0;
        padding:10px 15px;
        border:1px solid #D4DFE3;
}
#Main .ttlbarm h2,
#Main .ttlbarm h3,
#Main .ttlbarm h4,
#Main .ttlbarm h5{
	padding:10px 15px;
	font-weight:bold;
	background:url(../images/content_ttlbar_bg_m_btm.gif) no-repeat 0 100%;
}

/* ttlbars */
#Main .ttlbars,
#Main.low h4{
	margin:0 0 20px;
	padding:0 0 8px 5px;
	font-weight:bold;
	background:url(../images/content_ttlbar_bg_s.gif) no-repeat 0 100%;
}

/* ttl-catch */
#Main .ttl-catch{
	margin:0 0 10px;
	font-size:115%;
	font-weight:bold;
	color:#2370A2;
        background:none !important;
        padding:0 !important;
        border:none !important;
}

/* lead
---------------------*/
#Main div.lead{
	width:700px;
	margin:0 0 40px;
}
#Main div.lead .ttl-catch{
	margin:0 0 10px;
	font-size:186%;
	font-weight:bold;
	color:#2370A2;
	line-height:1.2;
        background:none !important;
        padding:0 !important;
        border:none !important;
}

/* pagetop
---------------------*/
#Main .pagetop{
	clear:both;
	padding:10px 0 0;
	text-align:right;
}

/* pdf
---------------------*/
#Main a.pdf{
	padding:0 15px 0 0;
	background:url(../images/content_ico_pdf.gif) no-repeat 100% 0;
}
#Main a.blank{
	padding:0 15px 0 0;
	background:url(../images/content_ico_blank.gif) no-repeat 100% 0.4ex;
}

/* lead
---------------------*/
#Main p.lead{
	margin:0 0 30px;		
}


/* .section
---------------------------------------*/
#Main div.section{
	width:700px;
	margin:0 0 40px;
}
#Main div.section-inside{
	width:700px;
	margin:0 0 40px;
}

/* table
---------------------------------------*/
#Main.low table{
	width:100%;
	border:1px solid #CAD7DF;
	border-collapse:collapse;
}
#Main.low table th,
#Main.low table td{
	padding:15px;
	font-size:93%;
	border:1px solid #CAD7DF;
	border-bottom:1px dotted #CAD7DF;
}
#Main.low table th{
	background:#F5F5F5;
}

/*-------------------------------------
Side
---------------------------------------*/
#Side{
	width:230px;
	float:right;
	display:inline;	
}

/* .sidenav
---------------------*/
#Side dl.sidenav{
	margin:0 0 20px;
}
#Side dl.sidenav dt {
        background:#015F98;
}
#Side dl.sidenav dt a{
	display:block;
	padding:15px 10px 15px 15px;
	color:#FFF;
        font-weight:bold;
	text-decoration:none;
        font-size:115%;
}
#Side dl.sidenav dd{
	border:solid #D1E0E7;
	border-width:0 1px 1px 1px;
	background:url(../images/side_nav_bg.gif) repeat-x 0 0 #EBF8FB;
}
#Side dl.sidenav dd.active,
#Side dl.sidenav dd:hover{
	background:#5BC4F0;
}
#Side dl.sidenav dd a{
	display:block;
	padding:15px 10px 15px 30px;
	color:#333;
	text-decoration:none;
	background:url(../images/content_ico_arw_l.gif) no-repeat 15px 50%;
}
#Side dl.sidenav dd.active a,
#Side dl.sidenav dd a:hover{
	color:#fff;
	background:url(../images/content_ico_arw_l_on.gif) no-repeat 15px 50%;
}

/* .bnr-list
---------------------*/
#Side ul.bnr-list li{
	margin:0 0 10px;
}
#Side ul.bnr-list li img{
	border:2px solid #A8D0EE;
}
#Side ul.bnr-list li.plane img{
	border:none;
}

/* .btn-list
---------------------*/
#Side ul.btn-list li{
	margin:0 0 10px;
}

/* .reader
---------------------*/
#Side p.reader{
	padding:10px;
	font-size:86%;
	letter-spacing:0;
	border:1px solid #E4EDF1;
}
#Side p.reader img{
	margin:0 3px 0 0;
	vertical-align:middle;
}

/*-------------------------------------
Common
---------------------------------------*
/* pagetop
---------------------*/
p#Pagetop{
	clear:both;
	padding:50px 0 0;
	text-align:right;
}

/* form
---------------------*/
input.input-usually,
textarea.input-usually{
	font-size:100%;
	padding:2px;
	border:1px solid #809DB9;
	background:#FFFFFF;
}
input.input-focus,
textarea.input-focus{
	border:1px solid #EF7A00;
	background:#FFFBD7;
}


/*-----------------------------------------------------
Footer
-------------------------------------------------------*/
#Footer{
	width:100%;
	background:url(../images/footer_bg.gif) repeat-x 0 0 #F2F2F3;	
}
#Footer div.footer-inline{
	width:960px;
	overflow:hidden;
	margin:0 auto;
	padding:25px 0;
}

/* logo
---------------------*/
#Footer div.footer-inline p.logo{
	width:560px;
	float:left;
	display:inline;
	font-size:72%;
}
#Footer div.footer-inline p.logo strong{
	padding:7px 0 0 45px;
	display:block;
	font-size:158%;
	background:url(../images/footer_logo.gif) no-repeat 0 0;
}

/* ul
---------------------*/
#Footer div.footer-inline ul{
	width:383px;
	overflow:hidden;
	float:right;
	display:inline;
}
#Footer div.footer-inline ul li{
	width:184px;
	float:left;
	display:inline;
	margin:0 15px 0 0;
}
#Footer div.footer-inline ul li strong{
	display:block;
	padding:0 0 9px;
}

/* tel */
#Footer div.footer-inline ul li.tel span{
	width:152px;
	height:39px;
	display:block;
	padding:0 0 0 32px;
	line-height:39px;
	font-weight:bold;
	font-size:18px;
	background:url(../images/footer_tel_bg.gif) no-repeat 0 0;
}

/* mail */
#Footer div.footer-inline ul li.mail{
	margin:0;
}

/* address
---------------------*/
#Footer address{
	width:100%; 
	padding:8px 0;
	background:#2092D0;
}
#Footer address span{
	width:980px;
	display:block;
	margin:0 auto;
	text-align:right;
	color:#fff;
	font-size:72%;
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 979px) {
	.pc {
		display: none !important;
	}
  #Content {
    width: calc(100% - 20px);
    padding: 80px 10px 0;
  }
  #Main {
    width: 100%;
    max-width: 700px;
    display: block;
    float: none;
    margin: 0 auto 40px;
  }
  #Main .ttlbarm {
    background-size: cover;
  }
  #Main div.section {
    width: 100% !important;
    max-width: 700px !important;
    overflow: hidden;
  }
  #Main div.section div.box-wrap {
    width: 100%;
    max-width: 730px;
  }
  #Main div.section div.box {
    width: 100%;
    display: block;
    float: none;
    margin: 0 0 20px;
  }
  #Main div.alert ul {
    width: calc(100% - 40px) !important;
  }
  #Main ul.anchornav {
    width: 100%;
  }
  #Main ul.anchornav li {
    font-size: 95%;
    padding: 5px 0 5px 10px;
  }
  #Main div.section-inside {
    width: 100%;
    max-width: 700px;
  }
  #Main dl.contactbox {
    width: 100%;
    max-width: 698px;
  }
  #Main dl.contactbox dd {
    width: 100%;
    display: block;
    float: none;
    text-align: center;
  }

  #Main div.reader {
    width: calc(100% - 40px);
    max-width: 660px;
  }
  #Main div.reader p.txt {
    width: 100%;
    max-width: 540px;
    float: none;
  }

  #Main div.section div.linkbox-wrap {
    width: 100%;
    max-width: 730px;
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
  }
  #Main div.section div.linkbox-wrap div.box {
    width: 48%;
    display: block;
    float: none;
    margin: 0 0 10px;
  }

  #Side {
    display: block;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    float: none;
    padding: 0;
  }
  #Side .sidenav .sidenav-sp-title {
    background-color: #015f98;
    color: #fff;
    display: block;
    font-size: 115%;
    font-family: serif;
    font-weight: bold;
    padding: 12px;
    text-align: center;
  }
  #Side ul.bnr-list li {
    text-align: center;
  }
  #Side ul.bnr-list li img {
    width: calc(100% - 4px);
    max-width: 380px;
  }

  .sp-header {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    background-color: #fff;
    border-bottom: solid 1px #ccc;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 40;
  }
  .sp-header .logo {
    max-width:265px;
    margin: 0 auto;
  }
  .sp-header .logo a{
    width: 100%;
    max-width:265px;
    display:block;
    padding:21px 0 0 40px;
    font-weight:bold;
    line-height:1;
    margin: 0 auto;
    text-decoration:none;
    color:#333;
    background:url(../images/header_logo_bg.gif) no-repeat;
    background-size: contain;
  }
  .sp-header .logo img {
    width: 100%;
  }
	.sp-header .navi .menu > li.search-area {
		border-bottom: none;
		padding: 20px 10px;
	}
	.sp-header .search-area form {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.sp-header .search-area form input[type="image"] {
		height: 40px;
	}
	.sp-header .search-area form input[type="text"] {
		width: calc(100% - 110px);
		padding: 8px;
	}
  .sp-header .navi {
    width: 100%;
    height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
    transition: all 0.6s;
    opacity: 0;
    visibility: hidden;
  }
  .sp-header .navi.active {
    opacity: 1;
    visibility: visible;
  }
  .sp-header .navi .menu {
    width: 100%;
    height: 100vh;
    padding: 60px 0 320px;
    overflow: auto;
  }
  .sp-header .navi .menu li {
    border-bottom: solid 1px #ccc;
    margin-left: 0;
  }
  .sp-header .navi .menu li a {
    color: #000;
    display: block;
    padding: 15px 20px;
    text-decoration: none;
  }
  .sp-header .hamburger {
    width: 50px;
    height: 50px;
    background-color: #fff;
    cursor: pointer;
    position: fixed;
    top: 5px;
    left: 10px;
    z-index: 40;
  }
  .sp-header .hamburger span {
    width: 30px;
    height: 3px;
    background-color: #0591D8;
    border-radius: 8px;
    display: inline-block;
    position: absolute;
    left: 10px;
    transition: all 0.4s;
  }
  .sp-header .hamburger span:nth-of-type(1) {
    top: 16px; 
  }
  .sp-header .hamburger span:nth-of-type(2) {
    top: 25px;
  }
  .sp-header .hamburger span:nth-of-type(3) {
    top: 34px;
  }
  .sp-header .hamburger.active span:nth-of-type(1) {
    top: 24px;
    transform: rotate(-45deg);
  }
  .sp-header .hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .sp-header .hamburger.active span:nth-of-type(3) {
    top: 24px;
    transform: rotate(45deg);
  }

  .sp-footer {
    background-color: #F2F2F3;
    font-size: 12px;
    line-height: 1.5;
    padding: 20px 0;
    text-align: center;
  }
  .sp-footer .logo {
    margin-bottom: 15px;
  }
  .sp-footer .address {
    padding: 0 20px;
    margin-bottom: 20px;
    text-align: center;
  }
  .sp-footer .logo strong {
    max-width: 390px;
    display: table;
    padding:7px 0 0 50px;
    font-size:158%;
    background:url(../images/footer_logo.gif) no-repeat 0 0;
    background-size: contain;
    margin: 0 auto;
  }
	.sp-footer .tel {
		margin-bottom: 20px;
	}
	.sp-footer .tel p {
		font-weight: bold;
		margin-bottom: 2px;
	}
	.sp-footer .tel a {
		width: 200px;
		height: 50px;
		display:flex;
		align-items: center;
		justify-content: center;
		padding:0 0 0 30px;
		margin: 0 auto;
		font-weight:bold;
		font-size:15px;
		background:url(../images/footer_tel_bg.gif) no-repeat;
		background-position: center;
		background-size: cover;
		text-decoration: none;
	}
	.sp-footer .mail {
		margin-bottom: 20px;
	}
	.sp-footer .mail p {
		font-weight: bold;
		margin-bottom: 2px;
	}
	.sp-footer .mail a {
		max-width: 230px;
		display: block;
		margin: 0 auto;
	}
	.sp-footer .mail a img {
		width: 100%;
	}
	.sp-footer .copyright {
    font-size: 12px;
    line-height: 1.5;
		padding: 0 10px;
  }
}
@media screen and (max-width: 720px) {
  #Main div.section div.linkbox-wrap {
    flex-direction: column;
    gap: 0;
  }
  #Main div.section div.linkbox-wrap div.box {
    width: 100%;
    height: auto !important;
  }
  #Main div.section div.linkbox-wrap div.box ul {
    height: auto !important;
  }
  #Main.low table {
    width: calc(100% - 2px) !important;
    max-width: 573px;
    height: auto;
    table-layout: fixed;
  }
  #Main.low table th,
  #Main.low table td {
    width: auto !important;
    font-size: 14px;
    padding: 5px;
  }
  #Main.low table th img,
  #Main.low table td img {
    max-width: 100% !important;
		height: auto !important;
  }
  #Main.low iframe {
    width: 100%;
  }
}

@media screen and (min-width: 980px) {
	.sp {
		display: none !important;
	}
}