@charset "utf-8";

/* contents */
/*---------------------------------------

	texts
		heading
		texts
		images
	area / box / part
	table
	form
	list

	utilyty
	contents_set
		newsblog
		ajax_more_load
		error

	[ module ] clearfix
	[ module ] main_height

*--------------------------------------*/

/**======================================
	texts
======================================**/

/*=== heading ===*/

.heading {
	margin: 0 0 20px;
}

.heading01 {
	margin: 0 0 40px;
	padding: 1px 45px;
	background: url(../../images/common/heading02_bg.png) no-repeat left top;
	font-size: 28px;
	font-size: 2.8rem;
	color: #333;
}

.heading01_nodecolation {
	margin: 0 0 40px;
	font-size: 28px;
	font-size: 2.8rem;
	color: #333;
}

.heading02 {
	margin: 0 0 30px;
	padding: 12px 15px;
	background: url(../../images/common/heading03_bg.jpg) repeat-x left top;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.3em;
	color: #333;
}

.heading03 {
	margin: 0 0 20px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3em;
	color: #333;
}

.heading04 {
	margin: 0 0 20px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.3em;
	color: #5E7E86;
}

.heading05 {
	margin: 0 0 6px;
	font-weight: bold;
	line-height: 1.3em;
	color: #555;
}

.heading_separator {
	margin: 0 0 15px;
	padding: 10px;
	background: #222;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.3em;
	color: #FFF;
}

/*=== texts ===*/

.texts p,
p.text,
.texts ul,
.texts ol,
ul.text,
ol.text {
	margin: 0 0 20px;
	padding: 0;
	font-size: 100%;
	line-height: 1.8em;
}

.texts ul li,
ul.text li {
	margin: 0;
	padding: 0 0 0 20px;
	background: url(../../images/common/decoration/liststyle_dot_01.png) no-repeat 0.3em 0.8em;
	line-height: 1.8em;
}

.texts ol li,
ol.text li {
	margin: 0 0 0 20px;
	padding: 0 0 0;
	list-style: decimal outside;
	line-height: 1.5em;
}

.texts em {
	color: #A66;
}

.catch {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.3em;
	color: #000;
}

.caption {
	font-size: 11px;
	font-size: 1.1rem;
	line-height: 1.3em;
}

.supple {
	font-size: 10px !important;
	font-size: 1.0rem !important;
	line-height: 1.3em;
}

.texts p a,
p.text a {
	word-break: break-all;
	word-wrap: break-word;
}

/* inline */

.caution {
	color: #C00;
}

.date {
	font-size: 12px;
	font-size: 1.2rem;
}

.font_mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}

/*=== images ===*/

.texts img {
	margin-bottom: 5px;
	padding: 4px;
	border: 1px solid #DDD;
}

.pic {
	margin-bottom: 5px;
}

.pic img {
	width: 100%;
	vertical-align: bottom;
}

.frame01 {
	padding: 2px;
	border: 1px solid #CCC;
	background: #F2F2F2;
}

.frame02 {
	padding: 0;
	border: none;
}

.pic a:hover img,
.btn a:hover img {
	opacity: 0.75;
	filter: alpha(opacity=75);
}


/**======================================
	area / box / part
	main_cont_width = ***px
======================================**/

.area {
	margin: 0;
	padding: 0;
}

.box {
	margin: 0 0 50px;
	padding: 0;
	/*ie6,7hack ( box:margin-bottom - part:margin-bottom )  */
	/margin-bottom: 30px;
}

.part {
	margin: 0 0 20px;
	padding: 0;
}


/*- box option -*/

.cover {
	padding: 20px;
	border: 1px solid #DDD;
	background: #EEE;
}

.bottom_line01 {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 2px solid #DDD;
}

.bottom_line02 {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #DDD;
}


/*- float box -*/

.box,
.image_texts,
.texts_image,
.left_right,
.clm2,
.clm3,
.clm4,
.clm5 {
	clear: both;
}

.image_texts .image_cont {
	float: left;
	width: 190px;
}

.image_texts .texts_cont {
	float: right;
	width: 500px;
}

.texts_image .texts_cont {
	float: left;
	width: 460px;
}

.texts_image .image_cont {
	float: right;
	width: 210px;
}

.left_right .left_cont {
	float: left;
	width: 345px;
}

.left_right .right_cont {
	float: right;
	width: 345px;
}

.image_part .caption,
.image_part .texts,
.image_part .text,
.image_part .supple,
.image_part .cap {
	padding-left: 5px;
	padding-right: 5px;
}

/*- clm box -*/

.clm2 li.list_cont,
.clm3 li.list_cont,
.clm4 li.list_cont,
.clm5 li.list_cont {
	float: left;
}

/*ブラウザ縮小での崩れ防止のため mr -1px*/
.clm2 li.list_cont {
	margin: 0 22px 20px 0;
	padding: 0;
	width: 345px;
}

.clm3 li.list_cont {
	margin: 0 19px 20px 0;
	padding: 0;
	width: 225px;
}

.clm4 li.list_cont {
	margin: 0 17px 18px 0;
	padding: 0;
	width: 166px;
}

.clm5 li {
	margin: 0 8px 20px 0;
	padding: 0;
	width: 124px;
}

.clm2 li.list_cont .caption,
.clm2 li.list_cont .texts,
.clm2 li.list_cont .text,
.clm2 li.list_cont .supple,
.clm2 li.list_cont .cap,
.clm3 li.list_cont .caption,
.clm3 li.list_cont .texts,
.clm3 li.list_cont .text,
.clm3 li.list_cont .supple,
.clm3 li.list_cont .cap,
.clm4 li.list_cont .caption,
.clm4 li.list_cont .texts,
.clm4 li.list_cont .text,
.clm4 li.list_cont .supple,
.clm4 li.list_cont .cap,
.clm5 li.list_cont .caption,
.clm5 li.list_cont .texts,
.clm5 li.list_cont .text,
.clm5 li.list_cont .supple,
.clm5 li.list_cont .cap {
	padding-left: 5px;
	padding-right: 5px;
}

.clm4 li.hover {
	background: #fff;
	border-color: #006CB3 !important;
}

.clm4 li .pic a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
}

.clm5 li.hover {
	background: #fff;
	border-color: #006CB3 !important;
}

.clm5 li .pic a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
}

/* ref */

a.ref {
	padding: 0 0 0 15px;
	background: url(../../images/common/decoration/liststyle_arrow_01.png) left center no-repeat;
}

a.button.maxwidth {
	display: block !important;
}

/* text-align */

.txcenter {
	text-align: center;
}

.txright {
	text-align: right;
}

/**======================================
	table
	※ widthは各ページcssに記述
======================================**/

table {
	margin: 0 0 20px;
	width: 100%;
}

table th {
	padding: 15px 10px;
	vertical-align: top;
	font-size: 14px;
	font-size: 1.4rem;
}

table td {
	padding: 15px 10px;
	vertical-align: top;
	font-size: 14px;
	font-size: 1.4rem;
}

/*- table01 -*/

table.table01 {
}

table.table01 th {
	border: 1px solid #DDD;
	color: #777;
	font-weight: normal;
	background: #EEE;
}

table.table01 td {
	border: 1px solid #DDD;
	color: #777;
}

/*- table02 -*/

table.table02 {
	border-top: 1px solid #CCC;
}

table.table02 th {
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	border-left: none;
	font-weight: bold;
	color: #333;
	line-height: 1.6em;
}

table.table02 td {
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	border-left: none;
	border-right: none;
	color: #333;
	line-height: 1.6em;
}

/*- table_reset -*/

table.table0 {
	margin: 0;
}

table.table0 th {
	background: none;
}

table.table0 td {
	background: none;
}


/**======================================
	form
======================================**/

/*- default -*/

form input {
	margin: 0;
	color: #555;
}

form input.input_text {
	margin: 2px 0;
	padding: 10px;
	height: 16px;
	border: 1px solid #DDD;
	line-height: 1.5em;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-webkit-box-shadow:1px 1px 1px 0 rgba(200,200,200,0.2) inset;
	-moz-box-shadow:1px 1px 1px 0 rgba(200,200,200,0.2) inset;
	box-shadow:1px 1px 1px 0 rgba(200,200,200,0.2) inset;
}

form textarea.textarea {
	margin: 2px 0;
	padding: 10px;
	border: 1px solid #DDD;
	line-height: 1.5em;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-webkit-box-shadow:1px 1px 1px 0 rgba(200,200,200,0.2) inset;
	-moz-box-shadow:1px 1px 1px 0 rgba(200,200,200,0.2) inset;
	box-shadow:1px 1px 1px 0 rgba(200,200,200,0.2) inset;
}

form input.input_text:hover,
form textarea.textarea:hover,
form input.input_text:focus,
form textarea.textarea:focus {
	background-color: #FAFAFA;
	border: 1px solid #C5C5C5;
}

form input.input_text[disabled],
form input.input_text[disabled]:hover {
	background-color: #EEE;
	border: 1px solid #DDD;
}

form select {
	margin: 1px 0;
	padding: 0 10px;
	height: 36px;
	border: 1px solid #DDD;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

form select option {
	padding: 5px;
}

form input.input_check {
	margin: 14px 0;
}

form label.check_label {
	display: inline-block;
	margin: 15px 25px 0 5px;
	vertical-align: top;
	cursor: pointer;
}

form input.size_l,
form textarea.size_l {
	width: 400px;
}

form input.size_m {
	width: 150px;
}

form input.size_s {
	width: 80px;
}

form input.size_ss {
	width: 40px;
}

.form_scroll_cont {
	margin: 10px 0 5px;
	padding: 10px;
	border: 2px solid #EEE;
	background-color: #FAFAFA;
	width: 400px;
	height: 80px;
	overflow-y: scroll;
}

.form_scroll_cont h4,
.form_scroll_cont p {
	font-size: 11px;
	font-size: 1.1rem;
	line-height: 1.2em;
}

/*- validate -*/

form label.error {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-size: 1.2rem;
	color: #F22333;
}

form span.must {
	margin-left: 10px;
	font-size: 12px;
	font-size: 1.2rem;
	color: #CC0000;
}

/* form_set(display_table) */

.form_input_set {
}

#confirm_form .form_input_set p {
	line-height: 1.5em;
}

.form_submit_set {
	padding-top: 20px;
	text-align: center;
}

.form_input_set .form_fieldset {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.form_input_set .form_legend {
	display: table-cell;
	margin-bottom: 1px;
	padding: 20px 10px;
	width: 25%;
	vertical-align: top;
}

#confirm_form .form_input_set .form_cont {
	padding: 20px 10px;
}

.form_input_set .form_cont {
	display: table-cell;
	padding: 6px;
	vertical-align: top;
}

.form_caption {
	padding-top: 5px;
	color: #888;
}

/* form_set01 */

.form_set01 {
}

.form_set01 .form_input_set {
	border-bottom: 1px solid #DDD;
}

.form_set01 .form_legend {
	border-top: 1px solid #DDD;
	border-bottom: none;
	border-left: 1px solid #DDD;
	border-right: 1px solid #DDD;
	background: #FCFCFC;
}

.form_set01 .form_cont {
	border-top: 1px solid #DDD;
	border-bottom: none;
	border-left: none;
	border-right: 1px solid #DDD;
}

/* form_set02 */

.form_set02 {
}

.form_set02 .form_input_set {
	border-top: 1px solid #CCC;
}

.form_set02 .form_legend {
	border-top: none;
	border-bottom: 1px solid #DDD;
	border-left: none;
	border-right: none;
	font-weight: bold;
}

.form_set02 .form_cont {
	border-top: none;
	border-bottom: 1px solid #DDD;
	border-left: none;
	border-right: none;
}

/* checkbox_text */

.checkboxtext_left {
	float: left;
	width: 200px;
}

.checkboxtext_right {
	float: left;
	width: 200px;
}


/**======================================
	list
======================================**/

ul.list_arrow_1 li {
	background: url(../../images/common/decoration/liststyle_arrow_01.png) no-repeat left center;
}

ul.list_arrow_2 li {
	background: url(../../images/common/decoration/liststyle_arrow_02.png) no-repeat left center;
}

ul.list_arrow_3 li {
	background: url(../../images/common/decoration/liststyle_arrow_03.png) no-repeat left center;
}

ul.list_arrow_4 li {
	background: url(../../images/common/decoration/liststyle_arrow_04.png) no-repeat left center;
}

ul.list_circle_1 li {
	background: url(../../images/common/decoration/liststyle_circle_01.png) no-repeat left center;
}

.tel {
	padding-left: 35px !important;
	background: url(../../images/common/decoration/liststyle_tel.png) no-repeat left center;
}

.fax {
	padding-left: 35px !important;
	background: url(../../images/common/decoration/liststyle_fax.png) no-repeat left center;
}

.map {
	padding-left: 35px !important;
	background: url(../../images/common/decoration/liststyle_map.png) no-repeat left center;
}

.car {
	padding-left: 30px !important;
	line-height: 25px;
	background: url(../../images/common/decoration/liststyle_map_car.png) no-repeat left center;
}

.train {
	padding-left: 30px !important;
	line-height: 25px;
	background: url(../../images/common/decoration/liststyle_map_train.png) no-repeat left center;
}

.list_mark {
	padding-left: 30px !important;
}

/*- supple_pre_text_list -*/

.supple_pre_text_list li {
	line-height: 1.5em;
	font-size: 85%;
}

.supple_pre_text_list .supple_pre {
	display: block;
	clear: left;
    float: left;
	margin-right: 5px;
	color: #CC0000;
}

.supple_pre_text_list .supple_text {
	display: block;
	padding-left: 30px;
}

/*- supple_list -*/

.supple_list li {
	background: url(../../images/common/decoration/supple_list_bg.png) no-repeat left 2px !important;
	padding-left: 15px !important;
	margin-bottom: 5px !important;
	font-size: 77% !important;
	line-height: 1.3em !important;
}

/**======================================
	utilyty
======================================**/

/*- margin padding -*/

.mrcut {
	margin-right: 0px !important;
}

.mbcut {
	margin-bottom: 0px !important;
}

/*- [ js ] table stripe -*/

table .stripe {
	background: #EEEEEE;
}

/*- [ js ] hover (for bigtarget) -*/

.hover {
	background: #EEEEEE;
	cursor: pointer;
}

/*- radius -*/

.radius {
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

/*- sadow -*/

.text_shadow {
	text-shadow: 1px 1px 1px rgba(0,0,0, 0.2);
}

.box_shadow {
	box-shadow: 1px 1px 1px rgba(0,0,0, 0.2);
}

/*- fixed navi -*/

.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	z-index:999999 !important;
}

.side_fixed {
	position: fixed !important;
	top: 70px !important;
	left: inherit !important;
	z-index:999999 !important;
}


/**======================================
	contents_set
======================================**/

/*=== news ===*/

.news_archive_list {
}

.news_archive_list li {
	margin: 0 0 30px;
	padding: 0 0 0 20px;
	background: url(../../images/common/decoration/liststyle_arrow_01.png) 0px 2px no-repeat;
}

.news_archive_list li p.date {
	clear: left;
	float: left;
	margin: 0;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.3em;
}

.news_archive_list li p.news_title {
	margin: 0 0 10px;
	padding: 0 10px 0 100px;
	line-height: 1.3em;
}


.news_archive_list li p.link_pdf {
}

/*=== blog ===*/

.blog_date {
	clear: left;
	float: left;
	margin: 0;
	width: 40px;
	height: 60px;
	background: url(../../images/weblog/weblog_date_bg.png) no-repeat left top;
	line-height: 1.3em;
	text-align: center;
}

.blog_date .month {
	padding: 4px 0;
	font-size: 10px;
	font-size: 1.0rem;
}

.blog_date .day {
	padding: 8px 0;
	font-size: 12px;
	font-size: 1.2rem;
}

/*=== ajax_more_load ===*/

/* ajax button center */

.ajax_more_load { /* main_contents width - 150  / 2 */
	margin-left: 265px;
}

/*=== error ===*/

.error_box p {
	text-align: center;
}

/*======================================
	[ module ] clearfix
======================================**/

.image_texts:after,
.texts_image:after,
.left_right:after,
.clm2 ul:after,
.clm3 ul:after,
.clm4 ul:after,
.clm5 ul:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

.image_texts,
.texts_image,
.left_right,
.clm2 ul,
.clm3 ul,
.clm4 ul,
.clm5 ul {
	display:inline-block;
}

/* \*/
* html .image_texts,
* html .texts_image,
* html .left_right,
* html .clm2 ul,
* html .clm3 ul,
* html .clm4 ul,
* html .clm5 ul {
	height:1%;
}

.image_texts,
.texts_image,
.left_right,
.clm2 ul,
.clm3 ul,
.clm4 ul,
.clm5 ul {
	display: block;
}
/* */


/*======================================
	[ module ] main_height
	1200px(*body_min_height) - h&f height
	for iPad
======================================**/

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
	.contents_min_height {
		height: 550px;
	}
}
