@charset "utf-8";
/*----------------------------------*/
/*          スタイル初期化          */
/*----------------------------------*/

body,div,dl,dt,dd,ul,li,ol,li,h1,h2,h3,h4,h5,form,p,table,th,td,address{
	margin:0;
	padding:0;
}

body{
	line-height:1;
	color:#444;
	font-family:Verdana,Arial,"メイリオ",Meiryo,"ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
}

a img,img{
	border:0;
}

ul,ul li{
	list-style:none;
}



table{
    border-collapse:collapse;
    border-spacing:0;
}

caption,
th {
    text-align:left;
}

a{
	color:#222;
}

a:hover{
	text-decoration:none;
}

address{
	font-style:normal;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*----------------------------------*/
/*          clearfix決定版          */
/*----------------------------------*/

.clearfix{
	/zoom:1;
}

.clearfix:after{
	content:'';
	display:block;
	clear:both;
	height:0;
}

/*----------------------------------*/
/*          汎用スタイル            */
/*----------------------------------*/

.right{
	text-align:right;
}

.center{
	text-align:center;
}

body{
	font-size:12px;
	background:#FFF;
}
/* ------ Anchor ------ */
a {
	text-decoration: none;
	color: #333;
	transition: 0.5s;
}

a:hover {
	text-decoration: none;
	transition: 0.5s;
}

a img {
	transition: 0.5s;
}

a img:hover {
	opacity: 0.75;
	transition: 0.5s;
}

/* ------ Column ------ */
.inner {
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.inner:after{
	content: "";
	display: block;
	clear: both;
}


#wrapper {
	border-top: 5px solid #000;
}

/* ------ Header ------ */
#head_upper {
	width: 980px;
		background: #FFF;
	margin: 0 auto;
	overflow: hidden;
}

#head_upper {
	height: 25px;
}

#head_upper h1 {
	width: 700px;
	float: left;
	padding: 10px 0;
	font-size: 10px;
	font-weight:normal;
}

#head_upper ul{
	width: 222px;
	float: right;
	overflow: hidden;
}

#head_upper li {
	width: 106px;
	height: 25px;
	float: left;
	text-align: center;
	margin-left: 10px;
}

#head_upper li:first-child{
	margin-left: 0;
}

#head_upper li a {
	width: 106px;
	height: 25px;
	background: #FF8400;
	color: #FFF;
	font-size: 13px;
	font-weight: bold;
	display: block;
	padding-top: 5px;
}

#head_upper li a:hover {
	background: #FF4200;
}

#header .lower {
	height: 45px;
	padding-top: 15px;
}

#head {
	width: 100%;
	height: 45px;
	background: #FFF;
	-webkit-box-shadow: 1px 1px 1px #DDD;
	-moz-box-shadow: 1px 1px 1px #DDD;
	box-shadow: 1px 1px 1px #DDD;
	padding-top: 15px;
	overflow: hidden;
	margin: auto;
}

.fixed {
	background: rgba(255,255,255,0.90) !important;
	position: fixed;
	top: 0;
	left:0;
	z-index: 1;
}

#head .logo {
	width: 242px;
	height: 20px;
	float: left;
	margin-top: -4px;
}

#menu{
	height: 25px;
	float: right;
	overflow: hidden;
}

#menu li {
	float: left;
}

/* ------ Contens ------ */
#main {
	width: 980px;
	margin: 30px auto;
}

#left {
	width: 718px;
	float: left;
}

/* ------ side ------ */
.side {
	width: 247px;
	float: right;
	text-align: right;
}

.side > p,
.side .contact {
	margin-bottom: 10px;
}

.side h2 img {
	margin-top: -5px;
}

.side .contact {
	width: 240px;
	background: #E6E6E6;
	margin-left: 7px;
}

.side .contact ul {
	padding: 0 6px 5px;
}

.side .contact li {
	margin-bottom: 3px;
}

/* ------ foot ------ */
#foot {
	background: #F6F6F6;
	padding-top: 30px;
}

.pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 12px;
	background: none !important;
}

.pagetop a {
	background: #666;
	color: #fff;
	padding: 15px 15px;
	display: block;
	font-weight: normal;
	border-radius: 5px;
}

.pagetop a:hover {
	color: #FFF !important;
	background: #333;
}

#foot .inner div {
	float: right;
	width: 60%;
	border-left: 1px dotted #CCC;
	padding-left: 30px;
}

#foot .inner div:first-child {
	float: left;
	width: 40%;
	border: none;
	padding: 0;
}

#foot p {
	margin-bottom: 15px;
}

#foot li {
	font-size: 12px;
	width: 50%;
	float: left;
	margin-bottom: 12px;
}

#foot a:hover {
	color: #FF5A00;
}

.sns {
	clear: both;
	text-align: center;
	margin: 30px 0 10px;
}

#foot > p {
	height: 60px;
	color: #FFF;
	font-size: 11px;
	background: #CC7004;
	clear: both;
	text-align: center;
	padding-top: 24.5px;
}

#foot > p strong {
	margin-right: 10px;
}

#foot > p a {
	color: #FFF;
}

#foot > p a:hover {
	color: #FFF;
	text-decoration:underline;
}

/* ------ Topimg ------ */
#topimg {
	width: 100%;
	background: url(img/main.jpg) 0 0 no-repeat;
	padding: 50px 0 100px;
	position: relative;
}

#topimg:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
}

#topimg .copy {
/*	width: 665px;
	height: 290px;
	background: url(img/main_copy_bg.png) 0 0 no-repeat;
	margin: auto;
	padding-top: 86px;
*/}

#topimg .copy > h2 {
	font-size: 32px;
	font-weight: normal;
	color: rgba(255,255,255,1);
	text-align: center;
	margin: 0 0 32px;
}

#topimg .copyText {
	font-size: 20px;
	color: rgba(255,255,255,1);
	text-align: center;
	margin: 0 0 20px;
}

#topimg .copyText2 {
	font-size: 15px;
	color: rgba(255,255,255,1);
	text-align: center;
	line-height: 1.5;
	margin: 0 0 20px;
}

#topimg .copyList {
	color: rgba(255,255,255,1);
	text-align: center;
}

#topimg .copyList li {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	padding: 10px;
	background: rgba(255,255,255,0.2);
	box-shadow: 2px 2px rgba(0,0,0,0);
	border-radius: 2px;
}

.aboutSystem {
	width: 100%;
	padding: 30px 0 40px;
	position: relative;
	top: -80px;
	margin: 0 0 -80px;
	border-bottom: 5px solid rgba(0,0,0,0.1);
	box-shadow: 5px 5px rgba(0,0,0,0.03);
}

.aboutSystem__ {
	width: 980px;
	margin: 0 auto;
	display: table;
}

.aboutSystem__text,
.aboutSystem__img {
	display: table-cell;
	vertical-align: top;
	width: 50%;
}

.aboutSystem__img img {
	transform: scale(1) translateX(-50px);
	box-shadow: 15px 15px 15px rgba(0,0,0,0.2);
}

.aboutSystem__text {
}

.aboutSystem__text h3 {
	font-size: 28px;
	line-height: 1.2;
	font-weight: normal;
	margin: 90px 0 20px;
}

.aboutSystem__text p {
	font-size: 15px;
	line-height: 1.5;
	margin: 0 0 15px;
}

.aboutPackage {
}

.aboutPackage__ {
	width: 980px;
	margin: 0 auto;
	padding: 40px 0 0;
}

.aboutPackage ul {
	text-align: center;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.aboutPackage ul li {
	width: 31%;
	padding: 20px;
	margin: 0 0 35px;
	border: 1px solid rgba(0,0,0,0.1);
	background: #FFF;
}

.aboutPackage ul li h4 {
	font-size: 18px;
	line-height: 1.3;
	margin: 0 0 18px;
}

.aboutPackage ul li p {
	text-align: left;
	font-size: 14px;
	line-height: 1.5;
}

.aboutPackage__link {
	display: block;
	text-align: center;
	padding: 10px;
	margin: 15px auto;
	width: 85%;
	border: 1px solid rgba(0,0,0,0.8);
	font-weight: bold;
}

.aboutPackage__link:hover {
	background: rgba(0,0,0,0.1);
}

.worksList {
	background: rgba(0,0,0,0.05);
	padding: 40px 0;
}

.worksList__ {
	width: 980px;
	margin: 0 auto;
}

.worksList h3 {
	text-align: center;
	font-weight: normal;
	font-size: 28px;
	margin: 0 0 40px;
}

.worksList__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.worksList__listItem {
	width: 50%;
	margin: 0 0 40px -20px;
}

.worksList__listItem:nth-child(2n) {
	margin: 0 -20px 40px 0;
}

.worksList__listItem img {
}

.worksList__listItem h4 {
	text-align: center;
	font-size: 18px;
	padding: 1em 0;
}

.worksList__listItem p {
	font-size: 14px;
	line-height: 1.5;
	padding: 0 1em;
}

.worksList__listItem ul {
	margin: 20px 0 0;
	padding: 10px 20px;
	background: rgba(255,255,255,0.5);
}

.worksList__listItem li {
	list-style: disc outside;
	margin: 1em;
	font-size: 13px;
	line-height: 1.2;
}

.worksList__listItem li a {
	text-decoration: underline;
}

.worksList__listItem li a:hover {
	text-decoration: none;
}

/*----------------------------------*/
/*      下層ページ共通スタイル      */
/*----------------------------------*/

/* contents */
.contents.merit {
	margin-bottom: 10px;
}

.contents.merit li {
	width: 350px;
	height: 210px;
	background-color: #FFF0C2;
	margin-bottom: 18px;
	padding: 10px 15px 15px 0;
	transition: 0.5s;
	float: left;
}

.contents.merit li:hover {
	background: #FFD995;
	transition: 0.5s;
}

.contents.merit li.box01{
	margin-right:15px;
}
.contents.merit li.box03{
	margin-right:15px;
}

.contents.merit h2 a {
	display: block;
	padding-bottom: 15px;
}

.contents.merit p {
	clear: both;
	line-height: 1.6;
	padding-left: 15px;
}

/* ------ News ------ */
.index .news {
	width: 718px;
	border: 5px solid #EDEDED;
	padding: 20px 20px 10px;
}

.news > h2 {
	width: 100%;
	font-size: 18px;
	float: left;
	position: relative;
}

.index .news > h2 {
	margin-bottom: 20px;
}

.news h2 span a {
	width: 80px;
	height: 22px;
	display: block;
	background: #FF8400;
	font-size: 12px;
	color: #FFF;
	text-align: center;
	padding-top: 6px;
	position: absolute;
	top: -3px;
	left: 175px
}

.index #left .news ul{
	margin:0;
}

.index #left .news ul li{
	line-height:1.5;
	padding:3px 0 0;
	margin:0;
	background:none;
	/zoom:1;
}

.index #left .news ul li:after{
	content:'';
	display:block;
	clear:both;
	height:0;
}

.index #left .news ul li span{
	float:left;
	display:block;
	width:85px;
	line-height:1.9;
	color:#666;
}

.index #left .news ul li p{
	float:left;
	width:520px;
	margin:0;
	line-height:1.9;
}

#left .news ul li p{
	margin-top:0;
}

#left .news ul li p a{
	color:#ff4200;
	text-decoration:underline;
}

/* ------ PAGES ------ */
.h2{
	margin-bottom: 30px;
	border-bottom: 5px solid #EDEDED;
	padding-bottom: 10px;
}


.h2 h2 {
	color: #FF8400;
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 10px;
}

.pankuzu {
	width: 100%;
}

.pankuzu ul {
	overflow: hidden;
}

.pankuzu li {
	float: left;
	margin-right: 10px;
	font-size: 11px;
	background-image: none !important;
	padding: 0 !important;
	height: 13px;
}

.pankuzu a {
	display: block;
	padding-right: 13px;
	background: url(img/arrow_right.png) right 0 no-repeat;
	-webkit-background-size: 5px;
	background-size: 5px;
	text-decoration: underline;
}

.pankuzu a:hover {
	text-decoration: none;
}

.contents h3 {
	height: 30px;
	color: #333;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	padding-left:20px;
	background:url(img/h3_bk.gif) no-repeat left 2px;
}

.contents h3.title__2over {
	margin-top: 40px;
}

.contents h4 {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 20px;
}

.contents p {
	line-height: 1.8;
	margin-bottom: 20px;
}

.contents a {
	text-decoration: underline;
}

.contents a:hover {
	text-decoration: none;
}

.contents ol {
	list-style-type: decimal;
	padding-left: 20px;
	margin-bottom: 20px;
	margin-left: 20px;
}

.contents ol li {
	margin-bottom: 15px;
}

.contents ul.common {
	margin: 20px 0;
	padding: 1em 1.6em;
	border: 1px solid #DDD;
	border-radius: 3px;
}

.contents ul.common li {
	list-style: disc inside;
	line-height: 1.6em;
}

.contents.about {
	font-size: 14px;
}

.contents.about .bqstyle {
	padding: 20px 40px 1px;
	margin-bottom: 20px;
	background: #F5F5F5;
	border: 1px solid #EEE;
	border-radius: 3px;
	position: relative;
}

.contents.about .bqstyle > p {
	font-weight: bold;
}

.contents.about .bqstyle:before,
.contents.about .bqstyle:after {
	color: #BBB;
	font-size: 60px;
	height: 30px;	
	font-family: Arial;
}

.contents.about .bqstyle:before {
	content: "\201C";
	position: absolute;
	top: 5px;
	left: 5px;
}

.contents.about .bqstyle:after {
	content: "\201D";
	position: absolute;
	bottom: 0;
	right: 5px;
}

.contents.about .works{
	margin-bottom: -20px;
}

.contents.about .works ul li{
	display: inline-block;
	vertical-align: top;
	width: 225px;
	padding: 9px;
	margin-right: 14px;
	margin-bottom: 20px;
	border: 1px solid #ddd;
}

.contents.about .works ul li:nth-child(3n){
	margin-right: 0;
}

.contents.about .works ul li img{
	margin-bottom: 5px;
	border: solid 1px #ddd;
	box-sizing: border-box;
}

.contents.about .works ul li p{
	font-weight: bold;
	line-height: 1.5em;
	margin-bottom: 5px;
}

.contents.about .works ul li blockquote{
	line-height: 1.5em;
	padding: 0px;
	margin: 0px;
}

.contents iframe {
	width: 100%;
	border: 3px solid #EDEDED;
	margin-bottom: 30px;
}

.contents table {
	width: 100%;
	margin-bottom: 20px;
}

.contents table p {
	margin-bottom: 10px;
}

.contents th {
	width: 25%;
}

.contents th,
.contents td {
	border: 1px solid #DDD;
	padding: 15px;
	line-height: 1.8;
	font-size: 12px;
}

.notes {
	font-size: 12px;
	padding: 10px 15px;
	background: #EEE;
}

.notes,
.notes a {
	color: #FF4200;
}

.button {
	overflow: hidden;
}
.button a {
	height: 40px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	display: block;
	background: #FF8400;
	border: 5px solid #FFA03B;
	padding-top: 5px;
	text-decoration: none;
}

.button a:hover {
	background: #FF5F00;
	border-color: #FF5F00;
}

.foot_info{
	margin-top: 50px;
	border:1px solid #DDD;
	padding:5px;
	background-color:#FFF;
}

.foot_info dl{
	float:left;
	border:1px solid #DDD;
	padding:5px 0 5px 3px;
	background-color:#E6E6E6;
	height:82px;
}

.foot_info dl dt img{
	display:block;
}

.foot_info dl dd{
	float:left;
	padding-right:3px;
}

.foot_info p{
	float:right;
}

/* ------ Demosite ------ */
.demosite th,
.demosite td {
	padding: 10px;
	text-align: center;
}

.demosite th {
	background: #EEE;
}

.demosite .button {
	padding-left: 154px;
}
.demosite .button a {
	width: 200px;
	float: left;
	margin: 10px;
	padding-top: 5px;
}

.demosite .button a:hover {
	background: #FF5F00;
	border-color: #FF5F00;
}

.demosite iframe{
	height: 280px;
}

/*faq*/
#left .faq dt{
	background:url(img/faq_q.png) no-repeat 15px 23px;
	padding:40px 13px 35px 95px;
	line-height:1.6;
	color:#333;
	margin-bottom:5px;
	font-size:14px;
	font-weight:bold;
}

#left .faq *+dt{
	border-top:1px dotted #AAA;
}

#left .faq dd{
	background:url(img/faq_a.png) no-repeat left top;
	padding:10px 0 40px 80px;
	margin:0 15px 20px;
	line-height:170%;
}

#left #faq div.faq_a p{
	margin:0;
}

#left .back_search .back{
	background:url(img/faq_back.png) no-repeat left 7px;
	padding-left:13px;
	margin:3px 0 0 15px;
	float:left;
}

#inquiry_link_list{
	margin:10px;
	background-color:#f5f5f5;
	padding:30px;
	border:3px solid #ccc;
}

#faqSearch table{
	margin:10px;
}

#faqSearch table th{
	width:140px;
	vertical-align:middle;
}

#faqSearch td input{
	border:2px solid #999;
	padding:5px;
	font-size:12pt;
	width:350px;
}

#faqSearch .button input{
	width:100px;
	background-color:#444;
	border:2px outset #333;
	color:#fff;
}

#vote .button{
	margin:20px;
	text-align:center;
}

#vote .button input{
	width:150px;
	height:30px;
}

#listback{
	text-align:center;
	margin-left:5px;
	border-top:1px dashed #ccc;
	padding:20px;
}

#unsolved{
	margin:10px;
}

/* ------ Function ------ */

.function h3 {
	margin-bottom: 0;
}

.function table{
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	margin-bottom: 30px;
}

.function th,
.function td {
	border: none;
	border-bottom: 1px solid #DDD;
}

.function th {
	padding-left: 0;
	font-weight: bold;
}

.function table dt {
	font-weight: bold;
}

/*----------------------------------*/
/*       ご提供価格のスタイル       */
/*----------------------------------*/
.price .button {
	padding-left: 234px;
}
.price .button a {
	width: 250px;
	float: left;
	margin: 10px;
	padding-top: 5px;
}

.price .button a:hover {
	background: #FF5F00;
	border-color: #FF5F00;
}

.price_box span {
	color:#f94d72;
	font-size: 16px;
	font-weight: bold;

}

.priceTable th span {
	color: #da265a;
	display: block;
}

.priceTable th {
	width: 30%;
}

.priceTable td strong {
	display: block;
	font-size: 14px;
	border-bottom: 1px dashed #999;
	margin: 0 0 10px;
}

.priceTable td small {
	display: block;
	background: #F5F5F5;
	font-size: inherit;
	margin: 10px 0;
	padding: 5px;
}

.priceTable td .attt {
	display: block;
	font-size: 14px;
	border-bottom: 1px dashed #999;
	margin: 0 0 10px;
	padding: 0 0 10px;
	color: green;
}

/* ------ Customize ------ */
.customize li {
	background: #fff url(img/list_square.png) 0 0 no-repeat;
	margin-bottom: 10px;
	padding-left: 20px;

}

.customize iframe{
	height: 280px;
	height: 800px;
}

.icon {
	background: url(img/arrow01.png) right 4px no-repeat;
	-webkit-background-size: 14px;
	background-size: 14px;
	margin-bottom: 10px;
	padding-right: 20px;
	text-align: right;
}

/*----------------------------------*/
/*      お問い合わせのスタイル      */
/*----------------------------------*/

#left div.inquiry .link a {
	display: block;
	background: url(img/mark_window.png) 215px 0 no-repeat;
}

#left div.inquiry .before ul li{
	line-height:1;
	background-position:left 3px;
}

#left div.inquiry .before ul li strong{
	font-weight:normal;
}

#left div.inquiry .before ul li a {
	background: url(img/arrow02.png) 0 6px no-repeat;
	padding-left: 10px;
}

#left div.inquiry .before form{
	margin:0 10px;
}

#left div.inquiry .before form .search_form{
	text-align:center;
	background: #EDEDED;
	padding: 15px;
	margin: 10px 0;
}

#left div.inquiry .before form .search_form label{
	background:url(img/search.png) no-repeat left top;
	-webkit-background-size: 28px;
	background-size: 28px;
	text-indent:-9999px;
	display:inline-block;
	width:30px;
	height:26px;
	vertical-align:top;
}

#left div.inquiry .before form input[type="text"]{
	padding:6px;
	border:1px solid #BBB;
	margin-left:10px;
	width:320px;
}

#left div.inquiry .before form input[type="submit"]{
	width: 60px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	background: #888;
	border: 1px solid #888;
	padding: 5px;
	text-decoration: none;
	transition: 0.3s;
}


#left iframe.inquiry{
	width:700px;
	margin:5px 0;
	height:910px;
	border-top:1px dotted #AAA;
	border-bottom:1px dotted #AAA;
}

/*----------------------------------*/
/*      ご注文フォームのスタイル    */
/*----------------------------------*/

#left iframe.kiyaku{
	width:700px;
	margin:5px 0;
	height:150px;
	border-top:1px dotted #AAA;
	border-bottom:1px dotted #AAA;
}

#left iframe.order{
	width:700px;
	margin:5px 0;
	height:900px;
	border-top:1px dotted #AAA;
	border-bottom:1px dotted #AAA;
}
