@charset "utf-8";

/* =default
-------------------------------------------------------------------------------------------- */

* {
	margin:0px;
	padding:0px;
}

img {
	border:none;
}

ul,dl,ol {
	list-style-type:none;
}

.clear {
	clear:both;
}

.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

.clearfix { display:inline-table; }

/*Mac OS版IEには適用しない \*/
* html .clearfix { height:1%; }
*+html .clearfix { height:1%; }
.clearfix { display:block; }
/**/

html {
	overflow:-moz-scrollbars-vertical;
}

body {
	color:#ffffff;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:0.75em;
	line-height:2.0;
	letter-spacing:0.5px;
	background-color:black;
	border-top:#ffffff solid 10px;
}


/* =link
-------------------------------------------------------------------------------------------- */

a       { color:#6b6e6a; text-decoration:underline; }

a:hover { color:#6b6e6a; text-decoration:none; }

#fnavi a       { color:#6b6e6a; text-decoration:underline; }

#fnavi a:hover { color:#6b6e6a; text-decoration:underline; }


/* =div
-------------------------------------------------------------------------------------------- */

#header{
	width:901px;
	padding-top:21px;
	margin:0px auto;
	padding-bottom:25px;
}

#container{
	clear:both;
	width:910px;
	margin:0px auto;
}

#footer{
	clear:both;
	width:898px;
	margin:10px auto;
	padding-left:12px;
	padding-bottom:50px;
	background:url(../images/foot_line.gif) no-repeat 12px top;
}


/* =header
-------------------------------------------------------------------------------------------- */

#logo{
	float:left;
	padding-left:9px;
	padding-bottom:33px;
}

#navi{
	float:right;
	margin-top:16px;
}

#navi li{
	float:left;
}

#mainarea{
	clear:both;
}

.kome{
	text-align:right;
	font-size:0.9em;
}


/* =footer
-------------------------------------------------------------------------------------------- */

#pagetop{
	clear:both;
	font-size:0.8em;
	text-align:right;
}

#pagetop a{
	padding-left:12px;
	background:url(../images/pagetop_icon_out.gif) no-repeat left center;
}

#pagetop a:hover{
	padding-left:12px;
	background:url(../images/pagetop_icon_over.gif) no-repeat left center;
}

#fnavi{
	float:left;
	padding-left:10px;
	padding-top:13px;
}

#fnavi li{
	float:left;
	font-size:0.8em;
	padding-right:30px;
}

#fnavi li a{
	padding-left:12px;
	background:url(../images/fnavi_icon_out.gif) no-repeat left center;
}

#fnavi li a:hover{
	padding-left:12px;
	background:url(../images/fnavi_icon_over.gif) no-repeat left center;
}

address{
	float:right;
	padding-top:13px;
	font-style:normal;
	font-size:0.8em;
}


/* =index_special
-------------------------------------------------------------------------------------------- */

#index_special{
	float:left;
	width:367px;
}

#index_specital_title{
	padding-left:8px;
	padding-bottom:12px;
	margin-top:50px;
	margin-bottom:19px;
	background:url(../images/index_line1.gif) no-repeat 8px bottom;
}

#index_special p{
	padding-left:10px;
	margin-bottom:10px;
}

#index_special_button{
	padding-top:15px;
	margin-left:10px;
}

#index_special p.kome{
	text-align:left;
}


/* =index_content
-------------------------------------------------------------------------------------------- */

#index_content{
	float:right;
	width:514px;
}

#index_content_title{
	margin-bottom:9px;
	margin-left:3px;
}

#index_content .section{
	clear:both;
	height:149px;
	padding-bottom:31px;
}

#index_content .section .img{
	float:left;
	width:207px;
	padding-right:8px;
}

#index_content .section .wrap{
	float:right;
	width:299px;
}

#index_content .section .title{
	margin-top:9px;
	margin-bottom:18px;
	padding-bottom:10px;
	background:url(../images/index_line2.gif) no-repeat left bottom;
}

#index_content .section p{
	line-height:1.8;
}


/* =sub
-------------------------------------------------------------------------------------------- */

h2{
	padding-left:8px;
	margin-bottom:25px;
}

#sub_content .section{
	margin-bottom:30px;
}

.p20{
	padding-bottom:20px;
}

.p40{
	padding-bottom:40px;
}

.p60{
	padding-bottom:60px;
}

.line{
	padding:50px 0px 20px;
}

.line2{
	padding:20px 0px 40px;
}

table th{
	text-align:left;
	vertical-align:top;
}

/* about */

#table01{
	float:left;
	width:395px;
	padding-left:7px;
}

#table01 tr{
	background:url(../images/about_line1.gif) no-repeat left bottom;
}

#table01 th{
	padding:5px;
}

#table01 td{
	padding:5px;
}

#table02{
	float:right;
	width:467px;
	padding-right:7px;
}

#table02 tr{
	background:url(../images/about_line2.gif) no-repeat left bottom;
}

#table02 th{
	padding:5px;
}

#table02 td{
	padding:5px;
}

#table03{
	width:895px;
	padding-right:8px;
}

#table03 tr{
	background:url(../images/about_line3.gif) no-repeat left bottom;
}

#table03 th{
	padding:5px;
}

#table03 td{
	padding:5px;
}

#about_tel{
	padding-bottom:50px;
}

#about_tel p{
	float:left;
	width:270px;
	margin-right:20px;
}

#about_tel img{
	float:left;
}

/* commit */

#commit_left{
	float:left;
	width:417px;
	padding-left:5px;
}

#commit_right{
	float:right;
	width:417px;
	padding-left:8px;
}

#commit_left .section,
#commit_right .section{
	clear:both;
	height:137px;
}

#commit_left .section .img,
#commit_right .section .img{
	float:left;
	width:142px;
	padding-right:6px;
	padding-bottom:33px;
}

#commit_left .section .wrap,
#commit_right .section .wrap{
	float:right;
	width:269px;
}

#commit_left .section .title,
#commit_right .section .title{
	margin-top:4px;
	margin-bottom:11px;
	padding-bottom:13px;
	padding-left:9px;
	background:url(../images/commit_line1.gif) no-repeat left bottom;
}

#commit_left .section p,
#commit_right .section p{
	font-size:0.9em;
	padding-left:7px;
}

/* part */

.part_text{
	padding-left:20px;
}

#part_ul li{
	padding:9px 0px 9px 7px;
	background:url(../images/about_line3.gif) no-repeat left bottom;
}

#part_ul li img{
	vertical-align:text-bottom;
	padding-right:10px;
	padding-left:13px;
}

/* privacy */

#sub_maintitle{
	clear:both;
	padding-top:20px;
}

.privacy_text{
	padding-left:13px;
}

#privacy_ul{
	padding-left:8px;
}

#privacy_ul li{
	padding:10px 20px 10px 15px;
	background:url(../images/about_line3.gif) no-repeat left bottom;
}

#privacy_ul li div{
	padding-left:20px;
	background:url(../images/privacy_icon.gif) no-repeat left 5px;
}

/* sitemap */

.sitemap_text{
	padding-left:13px;
}

.sitemap_ul{
	float:left;
	padding-left:8px;
	padding-right:100px;
}

.sitemap_ul li{
	padding:10px 20px 10px 15px;
	background:url(../images/sitemap_line.gif) no-repeat left bottom;
}

.sitemap_ul li a{
	padding-left:20px;
	background:url(../images/privacy_icon.gif) no-repeat left 5px;
}

.sitemap_ul li ul li{
	margin-left:30px;
	padding:0px 20px 5px 0px;
	list-style:circle;
	background:none;
}

.sitemap_ul li ul li a{
	padding-left:0px;
	background:none;
}

.open {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up {
	display: none; /* label でコントロールするので input は非表示に */
}
.overlay {
	display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up:checked + .overlay {
	display: block;
	z-index: 9999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.window {
	width: 300vw;
	max-width: 800px;
	height: 240px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.text {
	font-size: 16px;
	margin: 0;
}
.close {
	cursor:pointer;
	position: absolute;
	top: 4px;
	right: 4px;
	font-size: 20px;
}