@charset "UTF-8";
/* CSS Document */

@import url("reset.css");


/*=====共通=====*/
.align-right {text-align: right;}
.red {color:#FF0004;}
.indent {padding-left:2em;}

/*標準リスト*/
#contents ul {
	list-style-type: disc;
	padding-left: 2em;
	margin-bottom: 2em;
}
#contents ul li {
	margin-bottom: 1em;
}
ol {
	display: block;
	list-style-position: outside;
	list-style-type: decimal;
	padding-left: 2em;
	margin-bottom: 2em;
}
ol li {margin-bottom:1em;line-height: 1.5;}
.box_border {
	display: block;
	border: solid #dedede 1px;
	background-color: #e3e6de;
	padding: 15px;
	margin-bottom: 2em;
}
.lh200p {
	line-height: 200%;
}

/*ぱんくず*/
.breadcrumb,.breadcrumb a {
	font-size:12px;
}

/*page-top ボタン--*/
#page-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
	z-index:101;
}
#page-top a {
    background-color: #be0000;
    text-decoration: none;
    color: #fff;
    width: 75px;
    padding: 25px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
	opacity:0.7;
	font-size: 10px;
}
#page-top a:hover {
	text-decoration: none;
	opacity:1;
}
/* --*/


#footer .left p:last-child::after {
  content: '';
  display: inline-block;
  width: 60px;
  height: 16px;
  background-repeat: no-repeat;
  background-size:contain;
  background-position: center center;
  background-image: url(https://www.hic-soft.co.jp/abFilter/ip.svg);
  font-size:85%;
  line-height:135%;
  vertical-align: bottom;
  margin-bottom:0em;
}


@media screen and (min-width: 481px) {

/*=====header=====*/
#header {
	display:block;
	width:100%;/* full=1520 */
	height:367px;
	margin:0 auto 64px;
	position:relative;
	transition-duration:1s;
	background-color:#999;
	/*background-image:#;　個別に指定*/
	background-size:cover;
}
#header .menubar {
	display:block;
	width:100%;
	height:85px;
	background: rgba(0,0,0,0.73);
}
#header .logo a {
	display:block;
	width:129px;
	height:64px;
	background-image:url(../images/header_logo.png);
	background-repeat:no-repeat;
	text-indent:-9999px;
	position:absolute;
	top:7px;left:75px;
	z-index:5;
}
/*メインナビ*/
#header .menubar ul {
	float:right;
	width:auto;
	margin:36px 135px 0 0;
}
#header .menubar ul li {
	float:left;
	color:#FFF;
}
#header .menubar ul li a,
#header .menubar ul li span {
	line-height:1;
	color:#FFF;
	display:block;
	height: 15px;
	margin:0 13px 10px;
	padding:0 4px 6px;
	text-decoration:none;
	/*メニュー2行時のクリック抜け防止*/
	position:relative;
	z-index:2;
}
#header .menubar ul li .current {
	color:red;
	border-bottom:solid 3px #be0000;
	height: 12px;
}
/**/
#header .title {
	display:block;
	width:100%;
	height:70px;
	position:absolute;
	top:50%;
	text-indent:-9999px;
	/*background-image:#個別に指定;*/
	background-position:center top;
	background-repeat:no-repeat;
}

/*=====contents=====*/
#contents {
	display:block;
	width:90%;
	height:auto;
	margin:0;
	padding-bottom:120px;
	padding-left:5%;
	padding-right:5%;
}
#contents .catch {/* h1 or div */
	/*旧
	font-size:150%;
	margin:65px auto;
	*/
	font-size: 185%;
	line-height: 1.5;
	color: #be0000;
	text-align: center;
	margin: 55px auto 45px;
	font-weight: bold;
}
#contents .title {
	font-size: 150%;
	line-height: 1.25;
	font-weight: bold;
	color: #484848;
	text-align: left;
	margin: 65px auto 32px;
	border-bottom: solid #484848 1px;
	padding-bottom: 10px;
	clear: both;
}
#contents .title small {font-size:75%;}
#contents h2 {
	font-size:125%;
	line-height:1;
	font-weight: bold;
	margin:64px auto 32px;
	clear: both;
}
#contents h3 {/*ボーダーあり*/
	font-size:125%;
	padding-left: 0.5em;
	padding-bottom: 0.5em;
	padding-top: 1em;
	border-bottom: dotted #666 1px;
	margin-bottom: 1em;
	clear: both;
}
#contents h4 {
	display: inline-block;
	font-size: 100%;
	font-weight: bold;
	padding-bottom: 0.25em;
	margin-bottom: 1.5em;
	color: #3C3C3C;
	padding-left: 0.5em;
	padding-right: 0.5em;
	clear: both;
}
#contents p {margin-bottom: 2em;}
/*汎用ブロック*/
#contents > .inner {
	display:block;
	width:100%;
	max-width:820px;
	margin:0 auto;
	text-align: justify;
	text-justify:auto;
}


/*=====contents 汎用スタイル=====*/
table.type1 {
	border: solid #ccc 1px;
	margin-bottom: 1.5em;
	width:100%;
}
table.type1 th, table.type1 td {
	border: solid #ccc 1px;
	padding: 15px;
}
table.type1 th {background-color:#DCDCDC;}

/*=====footinq=====*/
#footinq {
	display:block;
	max-width:100%;/* full=1520 */
	height:auto;
	margin:0 auto;
	background-color:#e3e6de;
	overflow:hidden;
	background-image:url(../images/footinq_arrow_d.gif);
	background-repeat:no-repeat;
	background-position:center 80px;
	clear: both;
}
#footinq h2 {
	display:block;
	width:100%;
	height:80px;
	margin:0;
	background-color:#000;
	text-align:center;
}
#footinq h2 img {
	margin-top:28px;
}
#footinq .wrap {
	display:block;
	max-width:1172px;
	text-align:center;
	margin:43px auto 67px;
	overflow:hidden;
}
#footinq .wrap .col {
	float:left;
	max-width:506px;
	height:auto;
	margin:0 40px;
	text-align:center;
}
#footinq .wrap .col h3 {
	margin-bottom:20px;
	line-height:1;
}
#footinq .wrap .col a {
	display:block;
	width:506px;
	padding:20px 0;
	line-height:1;
	background-color:#FFF;
}

/*=====footer=====*/
#footer {
	display:block;
	max-width:100%;/* full=1520 */
	height:auto;
	margin:0 auto;
	overflow:hidden;
	padding-bottom:80px;
}
#footer .wrap {
	display:block;
	max-width:1092px;
	margin:25px auto 45px;/*margin-bottom 計90px*/
	overflow:hidden;
}
#footer .left {
	display:block;
	width:500px;
	margin:0 0 45px 0;
}
#footer .left .logo {
	width:112px;
	height: auto;
}
#footer .left strong {
	display:block;
	font-weight:bold;
	margin-bottom:10px;
}
#footer .left p {
	margin-bottom:1em;
	font-size:85%;
	line-height:135%;
}
#footer .right {
	margin-right:23px;
}
#footer .right ul li {
	float:right;
	margin-left:35px;
}

}


@media screen and (min-width: 481px) and (max-width: 1520px) {
/*header調整*/
#header .logo a {
	position:absolute;
	top:7px;left:15px;
	transition-duration:0.5s;
}

/*footinq, footer調整*/
#footinq .wrap {
	display:block;
	width:90%;
	text-align:center;
	margin:43px auto 67px;
	overflow:hidden;
}
#footinq h2 img {
	max-width:90%;
}
#footinq .wrap .col {
	float:left;
	width:40%;
	height:auto;
	margin:0 5%;
	text-align:center;
}
#footinq .wrap .col h3 img {
	max-width:100%;
}
#footinq .wrap .col a {
	display:block;
	width:100%;
	padding:20px 0;
	line-height:1;
	background-color:#FFF;
	transition-duration:0.5s;
	transition-timing-function:ease-in;
}
#footinq .wrap .col a img {
	max-width:90%;
	height:auto;
}
}


@media screen and (min-width: 481px) and (max-width: 1100px) {
/*メインナビ調整*/
#header {
	height:300px;
	transition-duration:1s;
}
#header .menubar ul {
	float:right;
	width:auto;
	margin:36px 15px 0 0;
	transition-duration:1s;
}
#header .menubar ul li a,
#header .menubar ul li span {
	line-height:1;
	color:#FFF;
	display:block;
	height: 15px;
	margin:0 6px;
	padding:0 4px 6px;
	text-decoration:none;

	transition-duration:1s;
}
#header .title {
	position:absolute;
	top:50%;
	transition-duration:1s;
}
}


@media screen and (min-width: 481px) and (max-width: 670px) {
/*header,メインナビ調整*/
#header .logo a {
	display:block;
	height:64px;
	background-size:100%;
	background-position:center left;
	position:absolute;
	top:5px;bottom:0;left:5px;
	overflow:visible;
}
#header .menubar ul {
	float:right;
	width:70%;
	margin:16px 0 0 0;
	transition-duration:1s;
}
#header .menubar ul li a,
#header .menubar ul li span {
	float:left;
	display:block;
	height:15px;
	margin:4px 6px 8px;
	padding:0 4px 4px;
	overflow: hidden;
	transition-duration:1s;
}
#header .menubar ul li .current {
	color:red;
	display:block;
	height:12px;
	margin:4px 6px 8px;
	padding:0 4px 4px;
}

}


@media screen and (max-width: 480px) {
/* スマホ */
.sp_hide {display: none;}

/*=====header=====*/
#header {
	display:block;
	width:100%;
	height:240px;
	margin:0 0 64px;
	position:relative;
	transition-duration:1s;
	background-size:cover;
	background-position: center;
}
#header .menubar {
	display:block;
	width:100%;
	height:70px;
	background: rgba(0,0,0,0.73);
	overflow:visible;
	position:relative;
	z-index:12;
}
#header .menubar.fixed  {
	position: fixed;
	top:0px;
}
#header .logo a {
	display:block;
	width:116px;
	height:48px;/*64*/
	background-size:75%;
	background-image:url(../images/header_logo.png);
	background-repeat:no-repeat;
	background-position:center;
	text-indent:-9999px;
	position:absolute;
	top:10px;left:0px;
}
/*メインナビ*/
/*drawr menu start*/
.drawr_btn {
	display: block;
	width:32px;
	height:32px;
	border:solid #666 1px;
	position: absolute;
	top:17px;
	right:20px;
	cursor: pointer;
	z-index:99;
	background:transparent url(../images/btn_spMenu32.gif) no-repeat 0 0;
}
.drawr_btn.close {
	background-position: 0 -33px;
}
#header .menubar .drawr {
	display: none;/*初期はdisplay:none*/
	position: absolute;
	top:70px;
	right:0;left:0;
	width:100%;
	height:auto;
	padding:0;
	z-index:95;
}
#header .menubar ul {
	display:block;
	float:none;
	border:none;
	border-top:solid #666 2px;
	border-bottom:solid #FFF 2px;
}
#header .menubar ul li {
	margin-bottom:0;
}
#header .menubar ul li a {
	display:block;
	float:none;
	width:100%;
	text-align:center;
	text-decoration:none;
	margin:0;
	padding:20px 0;
	list-style:none;
	border-bottom:dotted #666 1px;
	background-color:rgba(0,0,0,0.8);
	color:#FFF;
}
#header .menubar ul li a.current {
	background-color:rgba(80,20,0,0.8);
}
#header .menubar ul li a:hover {
	background-color:rgba(190,0,0,1);
	opacity: 1;
	filter: alpha(opacity=100); /* IE6、IE7対応 */
	-moz-opacity: 1; /* Firefox1.5以前対応 */
	-webkit-transform:perspective(0);/*safariちらつき防止*/
}
/*drawr menu end*/
/**/
#header .title {
	display:block;
	width:100%;
	height:50px;
	text-indent:-9999px;
	position:absolute;
	top:50%;
	background-repeat:no-repeat;
	background-position:center top;
	background-size: contain
}

/*=====contents=====*/
#contents {
	display:block;
	width:90%;
	height:auto;
	margin:0 auto;
	padding-bottom:60px;
	padding-left:5%;
	padding-right:5%;
}
#contents .catch {
	font-size:150%;
	line-height:1;
	color:#be0000;
	text-align:center;
	margin:50px auto;
}
#contents .title {
	font-size:150%;
	line-height:1.25;
	font-weight: bold;
	color:#000000;
	text-align:left;
	margin:65px auto 32px;
	border-bottom: solid #000 3px;
	padding-bottom: 10px;
}
#contents h2 {
	font-size:125%;
	line-height:1;
	font-weight: bold;
	margin:64px auto 32px;
}
#contents h3 {
	font-size:125%;
	padding-left: 0.5em;
	padding-bottom: 0.5em;
	padding-top: 1em;
	border-bottom: dotted #666 1px;
	margin-bottom: 1em;
}
#contents h4 {
	display: inline-block;
	font-size:100%;
	font-weight: bold;
	padding-bottom: 0.25em;
	margin-bottom: 1.5em;
	color:#3C3C3C;
	padding-left: 0.5em;
	border-bottom: dotted #666 1px;
}
#contents p {margin-bottom: 2em;}
/*汎用ブロック*/
#contents > .inner {
	display:block;
	width:100%;
	max-width:720px;
	margin:0 auto;
	text-align: justify;
	text-justify:auto;
}

/*=====contents 汎用スタイル=====*/
table.type1 {
	border: solid #000 1px;
	border-top:none;
}
table.type1 th, table.type1 td {
	padding: 10px;
	display: block;
}
table.type1 tr {border:none;}
table.type1 th {
	background-color:#DCDCDC;
	border-bottom: none;
	border-top: solid #000 1px;
}
table.type1 td {border-top: dotted #000 1px;}

/*=====footinq=====*/
#footinq {
	display:block;
	width:100%;
	height:auto;
	margin:0 auto;
	background-color:#e3e6de;
	overflow:hidden;
	background-image:url(../images/footinq_arrow_d.gif);
	background-repeat:no-repeat;
	background-position:center 50px;
}
#footinq h2 {
	display:block;
	width:100%;
	height:50px;
	margin:0;
	background-color:#000;
	text-align:center;
	position:relative;
}
#footinq h2 img {
	position: absolute;
	display: block;
	width:90%;
	height:auto;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
#footinq .wrap {
	display:block;
	width:90%;
	text-align:center;
	margin:40px auto 40px;
	overflow:hidden;
}
#footinq .wrap .col {
	float:none;
	display:block;
	width:100%;
	height:auto;
	margin:0;
	text-align:center;
}
#footinq .wrap .col h3 {
	margin-bottom:10px;
	line-height:1;
}
#footinq .wrap .col a {
	display:block;
	width:100%;
	padding:20px 0;
	margin-bottom:20px;
	line-height:1;
	background-color:#FFF;
}

/*=====footer=====*/
#footer {
	display:block;
	width:100%;
	height:auto;
	margin:0 auto;
	overflow:hidden;
}
#footer .wrap {
	display:block;
	width:90%;
	margin:25px auto 25px;
	overflow:hidden;
}
#footer .left {
	display:block;
	float:none;
	width:100%;
	overflow:hidden;
	margin:0 0 25px 0;
}
#footer .left .logo {
	margin-right:22px;
	height: auto;
}
#footer .left strong {
	display:block;
	font-weight:bold;
}
#footer .left p {
	margin-bottom:1em;
	font-size:85%;
	line-height:135%;
}
#footer .right {
	float:none;
	display:block;
	text-align:center;
}
#footer .right ul li {
	float:none;
	display:inline-block;
	margin:0.5em;
}

}
