@charset "utf-8";
/*========================================

RESET

=======================================*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video { margin:0; padding:0; border:0; outline:0; background:transparent; vertical-align:baseline; font-size:100%; }
body { line-height:1 }
article, aside, dialog, figure, footer, header,
hgroup, nav, section { display:block; }
ul, ol { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; border:0; background:transparent; vertical-align:baseline; font-size:100%; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-weight:bold; font-style:italic; }
del { text-decoration:line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help;}
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }

/*========================================?

BASIC

=======================================*/
html { -webkit-text-size-adjust:100%; }
body { font-size:110%; font-family:メイリオ,Meiryo, 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif; line-height:1.6em; letter-spacing:1px; }
a { color:#0581d5; }
a:hover { color:#195067; }
.align_center{ text-align:center; }

/*clearfix*/
.clearfix:after,
#gnavi ul:after,
#wrapper:after,
#main_container:after,
.main_contents .section:after,
.tab_contents ul:after,
.footer_inr:after,
.card_contents section:after,
.side_menu:after,
.side_menu_twocolumn:after,
#footer_navi ul:after,
.topicpath ol:after,
.column4_2:after,
.column3_1:after,
.column2_1:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix,
#wrapper,
#gnavi ul,
#main_container,
.main_contents .section,
.tab_contents ul,
.footer_inr,
.card_contents section,
.side_menu,
.side_menu_twocolumn,
#footer_navi ul,
.topicpath ol,
.column4_2,
.column3_1,
.column2_1{
	min-height: 1px;
}
*html .clearfix,
*html #wrapper,
*html #gnavi ul,
*html #main_container,
*html .main_contents .section,
*html .tab_contents ul,
*html .footer_inr,
*html .card_contents section,
*html .side_menu,
*html .side_menu_twocolumn,
*html #footer_navi ul,
*html .topicpath ol,
*html .column4_2,
*html .column3_1,
*html .column2_1{
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* ========================================

	COMMON

======================================= */
#wrapper{
	margin:0 auto;
	min-width:737px;
	width:980px;
}

#main_container{
	margin:3% 1% 0 1%;
}
.main_contents{
	position:relative;
	float:left;
	width:100%;
}
	.main_contents_inr{
	}
.sub_contents{
	position:relative;
	float:right;
	width:216px;
	border:1px solid #000;
}
	.sub_contents_inr{
		padding:4%;
		width:92%;
	}
	.sub_contents img{
		width:100%;
	}
.side_menu,.side_menu_twocolumn{
	margin-bottom:10%;
	border:1px solid #000;
}
	.side_menu li,.side_menu_twocolumn li{
		border-top:1px solid #000;
		font-size:85%;
		line-height:140%;
	}
	.side_menu li:first-child,.side_menu_twocolumn li:first-child{
		border-top:none;
	}
		.side_menu li a,.side_menu_twocolumn li a{
			display:block;
			padding:2% 2%;
			background:#DFDFDF;
			color:#000;
			text-decoration:none;
		}
		.side_menu li a:hover,.side_menu_twocolumn li a:hover{
			background:#FFF;
		}

/* HEADER
--------------------*/
#header{
	position:relative;
	margin:1% 1% 1% 1%;
}
#header_menu01{
	display:none;
	visibility:hidden;
}
h1#header_logo,p#header_logo{
	float:left;
	margin:1% 1%;
	width:20%;
}
h1#header_logo img,p#header_logo img{
	width:100%;
}
h1#header_title{
	float:left;
	margin:4% 2%;
	font-size:125%;
	font-weight:normal;
}
#header_info{
	float:right;
	margin:1% 1% 1% 0;
	width:35%;
	min-width:320px;
	border:1px solid #000;
}
	#header_info dl:first-child {
		border-bottom:1px solid #000;
	}
	#header_info dl{
	}
		#header_info dt{
			clear: left;
  			float: left;
  			margin: 0 0 0 5%;
  			padding-left: 1%;
  			width: 30%;
		}
		#header_info dd{
			margin:2% 0 1.3% 5%;
			font-size:135%;
		}
		#header_info dd.time{
			margin-left: 35%;
			padding-left:10% !important;
			font-size:110%;
		}

#header #fb{
	position:absolute;
	top:20px;
	right:30px;
	
}
#header #fb img{
	width:40px;
	height:40px;
	
}

/* FOOTER
--------------------*/
#footer{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}
.footer_inr{
	margin:0 auto;
	width:980px; /* size custom */
}

#footer dl{
	float:left;
	padding-bottom:2%;
	width:25%;
}
	#footer dt{
		margin-bottom:4%;
		padding:2% 2% 2% 4%;
		background:#DFDFDF;
		font-weight:bold;
	}
	#footer dd{
		padding:0 3% 0 3%;
		font-size:90%;
	}
#footer_navi{
	display:none;
	visibility:hidden;
}
address{
	padding:1% 0;
	text-align:center;
	font-size:75%;
	font-style:normal;
}

/* Global Navigation
--------------------*/
#gnavi{
	display:block;
	visibility:visible;
	clear:both;
	margin:0 1%;
}
#gnavi .title{
	display:none;
	visibility:hidden;
}
#gnavi ul{
	width:100%;
}
		#gnavi li{
			float:left;
			width:20%;
			text-align:center;
			}
		#gnavi li a{
			display:block;
			padding:7% 0;
			color:#000;
			text-decoration:none;
		}
		#gnavi li a:hover{
			background:#EFEFEF;
		}

/* topicpath
--------------------*/
.topicpath{
	background:#EFEFEF;
	margin:0 1%;
}
.topicpath ol{
	margin-bottom:2%;
	padding:.5% 1%;
	fotn-size:90%;
}
.topicpath li{
	float:left;
	line-height:150%;
}

/* main_visual
--------------------*/
.main_visual{
	margin:0 auto;
	width:98%;
	text-align:center;
}
	.main_visual img{
		width:100%;
	}

/*========================================
?
STYLE
?
=======================================*/

/* h TITLE
--------------------*/
.main_contents h1{
	margin-bottom:2.5%;
	padding:5px 1%;
	background:#CCC;
	font-size:150%;
	line-height:1.2em;
}
.main_contents h2{
	margin-bottom:2.5%;
	padding:5px 1%;
	background:#CCC;
	font-size:130%;
}
.main_contents h2.txt{
	font-size:240%;


}
.main_contents h3{
	margin:20px 0 20px 0;
	padding:0;
	background:none;
	font-size:115%;
}
.main_contents h4{
	margin-bottom:2.5%;
	padding:5px 1%;
	background:#CCC;
	font-size:105%;
}

/* SECTION
--------------------*/
.main_contents .section{
	margin:0 1% 3% 1%;
}

/* 1 COLUMN
--------------------*/
.img_onecolumn img{
	margin-bottom:1%;
	width:100%;
}

/* 2 COLUMN
--------------------*/
.img_float_left_small{
}
	.img_float_left_small img{
		float:left;
		margin:0 4% 1% 0;
		width:15%;
	}
.img_float_right_small{
}
	.img_float_right_small img{
		float:right;
		margin:0 0 1% 4%;
		width:15%;
	}

.img_float_left{
	float:left;
	width:32%;
}
	.img_float_left img{
		float:left;
		width:100%;
	}
.img_float_left_text{
	float:right;
	margin:0 0 0 3%;
	width:65%;
}
.img_float_right{
	float:right;
	width:32%;
}
	.img_float_right img{
		float:right;
		width:100%;
	}
.img_float_right_text{
	float:left;
	width:65%;
	margin:0 3% 0 0;
}

/* table
--------------------*/
.table_type1{
	width:100%;
	border:1px solid #000;
}
	.table_type1 th{
		padding:3%;
		width:33.3%;
		border:1px solid #000;
		background:#DFDFDF;
		text-align:left;
	}
	.table_type1 td{
		padding:3%;
		width:33.3%;
		border:1px solid #000;
	}
	.table_type1 thead th{
		background:#BBB;
	}
	.table_type1 thead td{
		background:#CCC;
	}

.table_type2{
	width:100%;
	border:1px solid #000;
	table-layout: fixed;
}
	.table_type2 th{
		padding:3% 10px;
		border:1px solid #000;
		background:#DFDFDF;
		text-align:left;
	}
	.table_type2 td{
		padding:3% 10px;
		border:1px solid #000;
	}
	.table_type2 thead th{
		background:#BBB;
	}
	.table_type2 thead td{
		background:#CCC;
	}
.table_contact{
	width:100%;
	border:1px solid #000;
}
	.table_contact th{
		padding:1.4% 0;
		border:1px solid #000;
		vertical-align:middle;
		font-weight:normal;
}
	.table_contact td{
		padding:1.4% 15px;
		border:1px solid #000;
	}
	.table_contact thead th{
		padding:1%;
		background:#BBB;
}


/* input
--------------------*/
.table_contact td input[type="text"]{
	padding:1%;
	width:98%;
	border:1px solid #000;
	font-size:100%;
	}
.table_contact td input[type="date"]{
	padding:1%;
	width:98%;
	border:1px solid #000;
	font-size:100%;
	}
.table_contact td input.zipcode01{
	width:15%;
}
.table_contact td input.zipcode02{
	width:20%;
}

.table_contact td select{
	display:block;
	margin:2% 0;
	padding:0 0 0 2%;
	height:30px;
	font-size:100%;
}
.table_contact td textarea{
	padding:1%;
	width:98%;
	border:1px solid #000;
	font-size:100%;
}
.rule_text{
	position:relative;
	overflow:auto;
	padding:1%;
	height:100px;
	border:1px solid #000;
}
	.rule_text .title{
		float:left;
		margin-right:120px;
		font-size:110%;
	}
.rule_text .date{
	float:right;
}
.rule_text .text{
	clear:both;
}
.contact button{
	margin:3% 2%;
	padding:2% 3%;
	width:30%;
	font-size:100%;
	cursor:pointer;
}

/* card
--------------------*/
.card_contents{
	display:none;
	visibility:hidden;
}

/* tab
--------------------*/
.tab_contents ul{
	padding-left:1%;
	border:1px solid #000;
}
.tab_contents  ul li{
	float:left;
	margin:1% 2% 0 0;
	padding:1% 4%;
	border:1px solid #000;
	border-bottom:none;
	cursor:pointer;
}
.tab_contents  ul li.now{
	background:#EFEFEF;
}
.tab_contents_inr{
	padding:2.5% 2% 2.5% 2%;
	border:1px solid #000;
	border-top:none;
}

/* button
--------------------*/
.button_contents{
	display:none;
	visibility:hidden;
}

/* column4_2 2015/03/12
--------------------*/
.column4_2{
}
.column4_2 .box_inner{
	float:left;
	width:24%;
	margin-right:1%;
	margin-bottom:2%;
	background:#CCC;
}

/* column3_1 2015/03/12
--------------------*/
.column3_1 .box_inner{
	float:left;
	width:32%;
	margin-right:1%;
	margin-bottom:2%;
	background:#CCC;
}


/* column2_1 2015/03/12
--------------------*/
.column2_1 .box_inner{
	float:left;
	width:49%;
	margin-right:1%;
	margin-bottom:2%;
	background:#CCC;
}



.column_table{
	display: table;
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}
.column_table .column_table_inner{
    display: table-cell;
	border-right:7px solid #FFF;
	border-bottom:7px solid #FFF;
	background:#CCC
}



@media screen and (max-width: 736px) { /* SmartPhone Display - width:736px under - */
body{
	font-size:100%;
	line-height:135%;
	-webkit-text-size-adjust:100%;
}

/*========================================
?
COMMON
?
=======================================*/
#wrapper{
	width:auto;
	min-width:320px;
	max-width:736px;
	margin:0 auto;
}
#main_container{
	margin:0;
}
.main_contents{
	position:relative;
	float:none;
	margin:1% 1% 0 1%;
	width:98%;
}
	.main_contents_inr{
		margin-right:0;
	}
.sub_contents{
	float:none;
	width:100%;
	border:none;
}
.sub_contents p{
}
	.sub_contents_inr{
		padding:0 0 2% 0;
		width:100%;
	}
	.sub_contents img{
		width:100%;
	}

.side_menu li{
	width:99.5%;
	border:1px solid #000;
	border-top:none;
	border-collapse:collapse;
	text-align:center;
	font-size:100%;
}

.side_menu,.side_menu_twocolumn{
	margin:0 1% 2% 1%;
	width:98%;
	border:none;
}
	.side_menu_twocolumn li{
		overflow: hidden;
		float:left;
		width:49.5%;
		border:1px solid #000;
		font-size:100%;
		text-align:center;
     	white-space: nowrap;
}

	.side_menu li:first-child,.side_menu_twocolumn li:first-child{
		border-top:1px solid #000;
	}
	.side_menu li a{
		display:block;
		padding:4% 0;
		background:#DFDFDF;
		text-decoration:none;
		color:#000;
	}
		.side_menu li a:hover{
			background:#FFF;
		}
.sub_contents p.bnr{
	margin:0 1%;
}

/* HEADER
--------------------*/
h1#header_logo,p#header_logo{
	width:23%;
}
h1#header_title{
	margin:3.5% 2%;
	font-size:100%;
}
#header_info{
	display:none;
	visibility:hidden;
}

#header_menu01{
	display:block;
	visibility:visible;
	clear:both;
	margin-right:2px;
	padding-top:0;
	text-align:right;
}
#header_menu01 li{
	visibility:hidden;
	display:none;
}
#header_menu01 li.menu a:hover{
	opacity: 0.85;
	-moz-opacity: 0.85; /* Firefox */
	filter: alpha(opacity=85); /* IE6/7 */
	-ms-filter: "alpha(opacity=85)"; /* IE8 */
	-khtml-opacity:0.85;
}
#header_menu01 li.menu{
	display:inline;
	visibility:visible;
	position:absolute;
	top:10%;
	right:10px;
	padding:0;
	width:10%;
	height:90%;
	background:#FFF;
	font-size:0;
}
#header_menu01 li.menu a{
	display:block;
	width:100%;
	height:100%;
	background:url(../image/icon_menu_sp.jpg) left top no-repeat;
	background-size:100% 85%;
}

/* FOOTER
--------------------*/
#footer{
	border-top:none;
	border-bottom:none;
}
.footer_inr{
	margin:0 1% 2% 1%;
	border:1px solid #000;
	width:97.2%; /* size custom */
}

#footer dl{
	float:left;
	width:50%;
}

	#footer dt{
		padding:2% 3%;
		text-align:left;
		font-weight:normal;
	}
	#footer dd{
		padding:1% 3%;
		font-size:90%;
	}

#footer_navi{
	display:block;
	visibility:visible;
}
#footer_navi ul{
	display: table;
	margin:0 0 0 1%;
	width: 97.2%;
	text-align:center;
	table-layout: fixed;
}
	#footer_navi li{
		display: table-cell;
		width:100%;
		border:1px solid #000;
		vertical-align:middle;
	}
	#footer_navi li a{
		display:block;
		padding:5% 0;
		text-align:center;
		text-decoration:none;
		color:#000;
}
address{
	padding:1% 0;
	background:#EFEFEF;
	font-size:75%;
	font-style:normal;
	text-align:center;
}

/* Global Navigation
--------------------*/
#gnavi{
	display:none;
	margin:0;
	padding:3% 0;
	background:#959595;
}
#gnavi .title{
	display:block;
	visibility:visible;
	margin:0 2%;
	width:96%;
	border-bottom:none;
	background:#DFDFDF;
}
#gnavi .title p{
	padding: 1% 3%;
}
#gnavi ul{
	margin:0 2%;
	width:96%;
}
	#gnavi ul li{
		float:none;
		width:100%;
		border-left:none;
		text-align:left;
	}
	#gnavi li:first-child{
	width:100% !important;
	border-top:none;
	}
		#gnavi ul li a{
		display: block;
		padding: 4% 3%;
		background:#FFF;
		color:#000;
		}

/* main_visual
--------------------*/
.main_visual{
	width:100%;
}

/*========================================
?
STYLE
?
=======================================*/

/* h TITLE
--------------------*/
.main_contents h1{
	padding:10px 1% 4px 1%;
	font-size:180%;
	line-height:1.2em;
}
.main_contents h2{
	padding:15px 1% 10px 1%;
	font-size:150%;
	line-height:1.1em;
}
.main_contents h3{
	padding:10px 1% 5px 1%;
	font-size:125%;
}
.main_contents h4{
	padding:8px 1% 3px 1%;
	font-size:100%;
}
/* SECTION
--------------------*/
.main_contents .section{
	margin:0 0 3% 0;
}

/* button
--------------------*/
.button_contents{
	display:block;
	visibility:visible;
}
.button_contents a{
	display:block;
	padding:4% 0;
	border:1px solid #000;
	background:#DFDFDF;
	text-align:center;
	text-decoration:none;
	color:#000;
}
.button_contents a:hover{
	background:#FFF;
}
.button_five{
	font-size:80%;
}
.button_one,.button_two,.button_three,.button_four,.button_five{
	display: table;
	width: 100%;
	table-layout: fixed;
	}
	.button_contents li{
		display: table-cell;
	}
.button_two li:first-child a{
	border-right:none;
}
.button_three li:first-child a{
	border-right:none;
}
.button_three li:last-child a{
	border-left:none;
}
.button_four li:nth-child(1) a,.button_four li:nth-child(2) a,.button_four li:nth-child(3) a{
	border-right:none;
}
.button_five li:nth-child(1) a,.button_five li:nth-child(2) a,.button_five li:nth-child(3) a,.button_five li:nth-child(4) a{
	border-right:none;
}

/* table
--------------------*/
.table_type1{
	width:100%;
	border:1px solid #000;
}
	.table_type1 th{
		padding:3%;
		width:33.3%;
		border:1px solid #000;
		background:#DFDFDF;
	}
	.table_type1 td{
		padding:3%;
		width:33.3%;
		border:1px solid #000;
	}
	.table_type1 thead th{
		background:#BBB;
	}
	.table_type1 thead td{
		background:#CCC;
	}

.table_type2{
	width:100%;
	border:1px solid #000;
}
	.table_type2 th{
		padding:3%;
		width:20%;
		border:1px solid #000;
		background:#DFDFDF;
	}
	.table_type2 td{
		padding:3%;
		width:20%;
		border:1px solid #000;
	}
	.table_type2 thead th{
		background:#BBB;
	}
	.table_type2 thead td{
		background:#CCC;
	}

.table_contact{
	width:100%;
	border:1px solid #000;
}
	.table_contact th{
		padding:1.4% 0;
		border:1px solid #000;
		vertical-align:middle;
		font-weight:normal;
}
	.table_contact td{
		padding:1.4% 2%;
		border:1px solid #000;
	}
	.table_contact thead th{
		padding:1%;
		background:#BBB;
}

/* input
--------------------*/
.table_contact td input[type="text"]{
	padding:1%;
	width:98%;
	border:1px solid #000;
	background:#DFDFDF;
	font-size:100%;
	font-size:120%;
	}
.table_contact td input[type="date"]{
	padding:1%;
	width:98%;
	border:1px solid #000;
	background:#DFDFDF;
	font-size:100%;
	font-size:120%;
	}

.table_contact td select{
	display:block;
	margin:4% 0 3% 3%;
	padding:2%;
	height:44px;
	border:1px solid #000;
	background:#FFF;
}
.table_contact td textarea{
	padding:1%;
	width:98%;
	border:1px solid #000;
	font-size:100%;
}
.rule_text{
	overflow:auto;
	position:relative;
	padding:1%;
	height:100px;
	border:1px solid #000;
}
.table_contact td p.radio,.table_contact td p.checkbox{
	margin:4% 0;
}
.table_contact td input.zipcode01{
	width:20%;
}
.table_contact td input.zipcode02{
	width:25%;
}
	.rule_text .title{
		float:left;
		margin-right:120px;
		font-size:110%;
	}
.rule_text .date{
	position:relative;
	float:right;
	text-align:right;

}
.contact button{
	margin:3% 0;/* custom */
	padding:2% 3%;/* custom */
	width:30%;/* custom */
	font-size:100%;
	cursor:pointer;
}

/* tab
--------------------*/
.tab_contents ul{
	border:none;
}
.tab_contents  ul li{
	padding:3% 4%;/* custom */
	font-size:80%;
}
.tab_contents_inr{
	border-top:1px solid #000;
	padding:4% 2% 2% 2%;
}

/* card
--------------------*/
.card{
	float:left;
}
	.card img{
		width:100%;
	}

.card_two .card{
	width:48.5%;
}
.card_two .card:nth-child(2){
	float:right;
}
.card_three .card{
	width:32%;
}
.card_three .card:nth-child(2){
	margin-left:2%;
}
.card_three .card:nth-child(3){
	float:right;
}

/* table
--------------------*/
.table_contact{
	width:100%;
	border-bottom:none;
}
	.table_contact th{
		display:block;
		width:96%;
		padding:1.4% 2% 0 2%;
		border-left:none;
		border-right:none;
		border-top:none;
		border-bottom:none;
		vertical-align:middle;
		font-weight:normal;
		text-align:left;
}
	.table_contact td{
		display:block;
		padding:0 2% 1.4% 2%;
		width:96%;
		border-left:none;
		border-right:none;
		border-top:none;
		border-bottom:1px soldi #000;
	}
	.table_contact thead th{
		padding:2% 0;
		width:100%;
		background:#FFF;
		border-top:none;
		border-bottom:1px solid #000;
		border-left:none;
		border-right:none;
		text-align:center;
}

/* column4_2 2015/03/12
--------------------*/
.column4_2{
}
.column4_2 .box_inner:nth-child(odd){
	float:left;
	width:49%;
	margin-right:0;
	margin-bottom:2%;
	background:#CCC;
}
.column4_2 .box_inner:nth-child(even){
	float:right;
	width:49%;
	margin-right:0;
	margin-bottom:2%;
	background:#CCC;
}



/* column3_1 2015/03/12
--------------------*/
.column3_1 .box_inner{
	float:left;
	width:100%;
	margin-right:0;
	margin-bottom:2%;
	background:#CCC;
}


/* column2_1 2015/03/12
--------------------*/
.column2_1 .box_inner{
	float:left;
	width:100%;
	margin-right:0;
	margin-bottom:2%;
	background:#CCC;
}
}


@media screen and (max-width: 480px) { /* SmartPhone Display - width:480px under - */
/*========================================
?
STYLE
?
=======================================*/
/* 2 COLUMN
--------------------*/
.img_float_left_small img,.img_float_right_small img{
	width:15%; /* custom */
	min-width:100px; /* custom */
	}

.img_float_left{
	float:none;
	width:100%;
	margin-bottom:2%;
}
	.img_float_left img{
		float:none;
		width:100%;
	}
.img_float_left_text{
	float:none;
	width:100%;
	margin:0 0 0 0;
}
.img_float_right{
	float:none;
	width:100%;
	margin-bottom:2%;
}
	.img_float_right img{
		float:none;
		width:100%;
	}
.img_float_right_text{
	float:none;
	width:100%;
	margin:0 0 0 0;
}
.spbig{
	width:100%;
}

/* tab
--------------------*/
.tab_contents  ul li{
	padding:3% 1%;
	width:18%; /* custom */
	white-space:nowrap;
	overflow:hidden;
	text-align:center;
}
	.side_menu_twocolumn li{
		width:49.3%;
}
}
