@charset "utf-8";
/* =Reset default browser CSS.
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body, pre{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGP明朝B", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
h3, input, select, textarea, .btn, .hissu{
	font-family: "游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
}
body{
	color: black;
	-webkit-text-size-adjust: none;
	background: white;
	line-height: 1.8;
	font-size: .925em;
}
.dsp_pc{ display: inherit;}
.dsp_sph{ display: none;}

img{ max-width: 100%; height: auto; border: none; vertical-align: bottom;}
.img_l{ margin: 0 3% 20px 0; float: left; max-width: 45%;}
.img_r{ margin: 0 0 20px 3%; float: right; max-width: 45%;}

.nml{ font-weight: normal !important;}
.str1, .str01{ font-size: 110%;}
.str2, .str02{ font-size: 125%;}
.str3, .str03{ font-size: 150%;}
.str4, .str04{ font-size: 175%;}
b, strong, .str1,.str2,.str3,.str4{ font-weight: bold;}
.sml1{ font-size: 90%; line-height: 1.65;}
.sml2{ font-size: 80%; line-height: 1.6;}
.sml3{ font-size: 70%; line-height: 1.55;}
h2 .sml2{ margin-left: .5em; font-size: 60%;}
.white, .white a{ color: white;}
.red, .red a{ color: #e60012;}
.orange, .orange a{ color: #f0832c;}
.blue, .blue a{ color: #006bd9;}
.green, .green a{ color: #066324;}
.ygreen, .ygreen a{ color: #7ac141;}
.c{ text-align: center;}
.l{ text-align: left;}
.r{ text-align: right;}
.clr{ clear: both;}
.clr_l{ clear: left;}
.clr_r{ clear: right;}
.clr_n{ clear: none !important;}

.f_l{ float: left;}
.f_r{ float: right;}

.mg0{ margin: 0 !important;}
.mgAuto, .mgAuto > div{ margin: auto;}
.mg0t{ margin-top: 0 !important;}
.mg0b{ margin-bottom: 0 !important;}
.mg05t{ margin-top: 5px !important;}.mg05l{ margin-left: 5px;}.mg05r{ margin-right: 5px;}.mg05b{ margin-bottom: 5px;}.mg05tb{ margin: 5px 0;}.mg05lr{ margin: 0 5px;}.mg10t{ margin-top: 10px;}.mg10l{ margin-left: 10px;}.mg10r{ margin-right: 10px;}
.mg10b{ margin-bottom: 10px !important;}
.mg10tb{ margin: 10px 0;}.mg10lr{ margin: 0 10px;}.mg15t{ margin-top: 15px;}.mg15tb{ margin: 15px 0;}.mg20t{ margin-top: 20px;}.mg20l{ margin-left: 20px;}.mg20r{ margin-right: 20px;}.mg20b{ margin-bottom: 20px;}.mg20tb{ margin: 20px 0;}.mg25r{ margin-right: 25px;}.mg30t{ margin-top: 30px;}.mg30l{ margin-left: 30px;}.mg30r{ margin-right: 30px;}.mg30b{ margin-bottom: 30px;}.mg30tb{ margin: 30px 0;}
.mg_table_c{ margin: 0 auto; display: table;}
.mg1EMt{ margin-top: 1em;}.mg1EMb{ margin-bottom: 1em;}.mghEMtb{ margin: .5em 0;}.mg1EMtb{ margin: 1em 0;}.mg1hEMtb{ margin: 1.5em 0;}
.mg-3emt, .mg-5emt, .mg-7emt{ position: relative; z-index: 2;}
.pd0{ padding: 0 !important;}
.pd0b{ padding-bottom: 0 !important;}
.pd0hEM{ padding: .5em;}.pd0hEMt{ padding-top: .5em;}.pd0hEMb{ padding-bottom: .5em;}.pd0hEMlr{ padding: 0 .5em;}
.pd1EM{ padding: 1em;}.pd1EMt{ padding-top: 1em;}.pd1EMb{ padding-bottom: 1em;}.pd1EMlr{ padding: 0 1em;}
.pd1hEM{ padding: 1.5em;}.pd2EM{ padding: 2em;}

.idt1{ margin-left: 1em; text-indent: -1em;}
.idt1h{ margin-left: 1.5em; text-indent: -1.5em;}
.idt2{ margin-left: 2em; text-indent: -2em;}
.idt2h{ margin-left: 2.5em; text-indent: -2.5em;}
.idt3{ margin-left: 3em; text-indent: -3em;}
ul.idt2h, ol.idt2h{ margin: 0 0 1em 1.5em;}
ul.idt2, ol.idt2{ margin: 0 0 1em 1em;}
ul.idt1h, ol.idt1h{ margin: 0 0 1em .5em; }
ul.idt1, ol.idt1{ margin: 0 0 1em; padding-left: 1em;}
li ol.idt1h{ margin: 0;}
ul.idt1,ul.idt1h,ul.idt2,ul.idt2h,
ol.idt1,ol.idt1h,ol.idt2,ol.idt2h{ list-style: none;}
ul.idt1:before,ul.idt1h:before,ul.idt2:before,ul.idt2h:before{ display: none;}

.w15p{ width: 15%;}.w20p{ width: 20%;}.w25p{ width: 25%;}.w30p{ width: 30%;}
.w33p{ width: 33%;}.w35p{ width: 35%;}.w40p{ width: 40%;}.w50p{ width: 50%;}
.w60p{ width: 60%;}.w65p{ width: 65%;}.w70p{ width: 70%;}.w80p{ width: 80%;}
.w90p{ width: 90%;}
.w_auto{ width: auto !important;}

@media only screen and (min-width: 768px) {
	.flexbox{
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		box-sizing: border-box;
	}
	.col_2, .col_3, .col_3x2, .col_4, .col_4x3, .col_5, .col_5x2, .col_5x3, .col_5x4{ float: left;}
	.col_2{ width: 50%;}
	.col_3{ width: 33.33333%;}
	.col_3x2{ width: 66.66666%;}
	.col_4{ width: 25%;}
	.col_4x3{ width: 75%;}
	.col_5{ width: 20%;}
	.col_5x2{ width: 40%;}
	.col_5x3{ width: 60%;}
	.col_5x4{ width: 80%;}
	/* .col_2 padding ******/
	.pad .col_2:nth-of-type(odd){ padding-right: 2.5%;}
	.pad .col_2:nth-of-type(even){ padding-left: 2.5%;}
	.col_3x2.f_l, .col_3.f_l,
	.col_4x3.f_l, .col_4.f_l,
	.col_5.f_l, .col_5x2.f_l, .col_5x3.f_l, .col_5x4.f_l{ padding-right: 2.5%;}
	.col_3.f_c{ padding: 0 .75%;}
	.col_3x2.f_r, .col_3.f_r,
	.col_4x3.f_r, .col_4.f_r,
	.col_5.f_r, .col_5x2.f_r, .col_5x3.f_r, .col_5x4.f_r{ padding-left: 2.5%; float: right;}
	.flex_col_2 .col_2{ width: 48%;}
	.flex_col_2 .col_2:nth-child(odd){ margin: auto auto auto 0;}
	.flex_col_2 .col_2:nth-child(even){ margin: auto 0 auto auto;}
	.flex_col_3 .col_3{ padding: 0 1%;}
	.flex_col_3.mg32p .col_3{ width: 32%; margin: 0 auto;}
	.flex_col_3.mg32p .col_3:nth-child(3n+1){ margin-left: 0; padding: 0 2% 0 0;}
	.flex_col_3.mg32p .col_3:nth-child(3n){ margin-right: 0; padding: 0 0 0 2% ;}
	.flex_col_4 .col_4{ padding: 0 1.5% 0 0;}
}
.col_2, .col_3, .col_3x2, .col_4, .col_4x3,
.col_5, .col_5x2, .col_5x3, .col_5x4,
.f_l, .f_r{ margin: auto; box-sizing: border-box;}

.col_3x2.f_l, .col_3.f_l,
.col_4x3.f_l, .col_4.f_l{ margin-bottom: 1em;}

i.fa{ font-style: normal; font-family: FontAwesome;}

/* リンク設定 ------------------------------------------------------------*/

a{
	margin:0;
	padding:0;
	color:#1743a5;
	background:transparent;
	outline:0;
	vertical-align:baseline;
	text-decoration:none;
}
a:hover{ outline: none;}
a:hover img{ opacity: .75;}
a, a img{
	-webkit-transition: .4s;
	-moz-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
}

/* nw & icon -> .nwicn *//* nw -> .nw */
a.nwicn:after,
a.zoomicn:before,
a.pdficn:after{
	font-family: FontAwesome;
	/*color: gray;*/
}
a.nwicn:after{ content: " \f08e";}
a.zoomicn:before{ content: "\f002";}
a.pdficn:after{ content: " \f1c1";}

/* レイアウト ------------------------------------------------------------*/

#wrapper, .inner{
	margin:0 auto;
	width:960px;
}
#header{
	margin-bottom: 6px;
	background: #e60012;
	color: white;
}
#content{
	margin-left: 0;
	/*padding: 15px 0;*/
	width: 740px;
	float: left;
}
section{ padding: 0 0 4.5em;}
#sidebar{
	margin: 0 0 0 auto;
	/*padding: 15px 0;*/
	float: right;
	width: 210px;
	line-height: 1.5;
	font-size: .875em;
}
#footer{
	clear:both;
	padding: 1.5em 0;
	background: #666;
	text-align: center;
}
@media (min-width: 768px){
	#container {
		display: flex;
		display: -webkit-flex;
		/*display: -webkit-box;*/
		display: -moz-box;
	}
	.sticky {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
	}
}

/* ヘッダー *****************************************************/

#header h1{ font-size: 80%;}
#header h2{
	padding: 15px 0;
	clear:both;
	float: left;
	font-size:100%;
	font-weight:bold;
}
#header .contact{
	margin: 0 auto;
	padding: 45px 0 15px;
	float:right;
	max-width: 35%;
	line-height: 1.5;
}
.contact .tel{
	/*margin: 0 auto;*/
	display: block;
}

/* Responsive Navi (nav-toggle) ****************/

/* メインメニュー ------------------------------------------------------------*/

#nav-toggle { display: none;}
nav#mainNav{
	clear:both;
	position:relative;
	z-index:200;
	border-top: double 4px #444;
	box-sizing: border-box;
	background: #f3f3f3;
}
nav#mainNav ul li{
	/*padding-right: .8%;*/
	display: block;
	float: left;
	position: relative;
	width: 14.2857%;
}
nav#mainNav ul li:last-child{ padding: 0;}
nav#mainNav ul li a{
	display: block;
	_float:left;
	line-height: 1;
}

/* トップページ　メイン画像 ----------------------------------*/

#mainImg{
	margin: 5px 0 30px;
	clear:both;
	line-height:1;
	text-align:center;
	z-index:0;
}
#mainImg p{ margin: .5em 0 0;}
.mainimg_pc{ display: inline-block;}
.mainimg_sph{ display: none;}

/* タイポグラフィ *****************************************************/

article.archive span{padding-left:10px;}
section-content{
	padding: 0 0 1em;
}
.meta{
	margin: 0 0 .5em;
	text-align: right;
	font-size: 90%;
}
.info meta{ margin-bottom: 0;}

.dateLabel{
	margin:0 0 10px;
	text-align:right;
}
p{
	margin-bottom: 1.5em;
	word-wrap : break-word;
	overflow-wrap : break-word;
	text-align: justify;
	text-justify: inter-ideograph;
}
#archives section p{ margin: 0;}
p.c{ text-align: center;}
p.r{ text-align: right;}

section a:hover{ text-decoration: underline;}
section strong{ font-weight: bold;}
section ul{
	margin: 0 0 1em;
	padding: 0;
}
section ul > li{
	padding: 0 0 0 1em;
	position: relative;
}
section ul > li:before{
	position: absolute;
	left: .3em;
	top: 1em;
    content: "\f111";
    font-family: FontAwesome;
	font-size: .5em;
}
section ol{margin: 0 0 1.5em 1em; padding: 0 0 0 .5em;}

section h1{
	margin:20px 0;
	padding:5px 10px;
	color: white;
	border-radius:4px;
	background:#eee;
	box-shadow:0 0 3px rgba(0,0,0,.2); 
	font-size: 200%;
}
section h2{
	margin: 0 0 1.25em;
	clear:both;
	line-height: 1;
	background: url(common/h2_bg.png) repeat-x bottom;
}
h3{
	margin: 0 0 1em;
	padding: 0 1em;
	position: relative;
	color: white;
	background: #e60012;
	text-align: center;
	font-size: 180%;
}
h3 a{ padding: .2em 1em; color: white; display: block; transition: .2s;}
h3 a:hover{ background: #c0000f; text-decoration: none;}
h3 a strong{ font-weight: normal;}
#sidebar h3{ padding: 0; line-height: 1.5; font-size: 120%; font-weight: bold;}
#sidebar h3 a strong{ display: block; font-size: .9em; font-weight: bold;}
h4{
	margin: 0 0 .5em;
	padding: 0 0 0 1.25em;
	position: relative;
	line-height: 1.6;
	font-size:120%;
	font-weight: bold;
}
h4:before{
	margin-top: -.5em;
	color: #e60012;
	position: absolute;
	top: 50%;
	left: 0;
    content: "\f111";
	line-height: 1;
	font-family: FontAwesome;
}
h5{
	margin: 0 0 .4em;
	padding: 0 0 0 .75em;
	position: relative;
	font-size:110%;
	font-weight: bold;
}
h5:before{
	margin-top: -.5em;
	color: #ccc;
	position: absolute;
	top: 50%;
	left: 0;
    content: "\f142";
	line-height: 1;
	font-family: FontAwesome;
}
h6{
	margin: 0 0 .5em;
	padding: .05em .3em;
	display: inline-block;
	background: #f2f2f2;
	font-size:100%;
}
blockquote {
	margin:10px 0 25px 30px;
	padding:10px 0 10px 15px;
	clear:both;
	border-left:5px solid #eee;
}
blockquote p{padding:5px 0;}
table{
	margin:10px 0 30px;
	width: 100%;
	max-width: 100% !important;
	border: 1px #ccc solid;
	border-collapse: collapse;
	border-spacing: 0;
}

table th,
table td{
	padding: .4em .7em;
	border: 1px #ccc solid;
	border-width: 0 0 1px 1px;
	vertical-align: middle;
	line-height: 1.5;
	font-size: 90%;
}
table th{
	background:#eee;
	white-space: nowrap;
	text-align: center;
	font-weight: normal;
}
table th.th2nd{ background:#f6f6f6;}
section-15 table td:first-child{ white-space: nowrap;}
section-15 table td:first-child br{ display: none;}

hr{
	margin: 0 auto;
	padding: 1.5em 0;
	clear: both;
	border: none;
    height: 0;
	width: 25%;
}
.thin{ padding: .6em 0;}
.thin{ padding: .6em 0;}
.hr_bd{
	margin: 0 0 2em;
	padding: 0 0 2em;
	width: 100%;
	height: 1px;
	border-bottom: 1px solid rgba(0,0,0,.1);
}
.hr_bd.thin{
	margin: 0 0 .5em;
	padding: 0 0 .5em;
}
.delimiter{
	margin: 0 auto 4em;
	padding: 3em 0 0;
	position: relative;
	width: 26%;
	height: 0;
	border-bottom: solid 1px rgba(0,0,0,.15);
	overflow: visible;
	text-align: center;
}
.delimiter:before,
.delimiter:after{
	content: "";
	position: absolute;
	bottom: -4px;
	left: 50%;
	height: 7px;
	width: 7px;
	transform: rotate(45deg);
}
.delimiter:before{ background: #e60012; margin-left: -9px;}
.delimiter:after{ background: #7ac141; margin-left: 0;}

.alignright{
	margin: 0 0 20px 4%;
	display:inline;
	float:right;
}
.alignleft{
	margin:0 4% 20px 0;
	display:inline;
	float:left;
}
.alignnone,
.alignright,
.alignleft{ width: auto !important;}

.alignright,
.alignleft{ max-width: 44%;}

section .cap{
	padding: .6em 0;
	line-height: 1.6;
	font-size: 85%;
}
/* フッター　ウィジェット *****************************************************/

#banners p,
p.banner{ margin: 0; text-align: center;}
#banners img{ margin-bottom: 1em;}
#banners .banner:nth-of-type(4) a:hover img{ cursor: default; opacity: 1;}

/* Dlist ----------------------------*/
dl{ margin: 0 0 1.5em; padding: 0;}
dl dl{ margin-bottom: 0 !important;}
dt, dd{ margin-bottom: .35em;}
dt{ position: relative;}
dd{ margin: 0 0 1em; padding-bottom: .5em; border-bottom: 2px dotted #aaa;}
dd ol{ margin: 0 0 0 1em; padding: 0 0 0 .5em;}
dd ul{ margin-bottom: 0;}
.Dlist dt{ margin: 0; padding: 0; float: left; width: 8em; font-weight: normal;}
.Dlist dd{ margin: 0 0 .6em; padding: 0 0 .5em 8.5em;}
.Dlist.dt_S dt{ width: 6em;}
.Dlist.dt_S dd{ padding-left: 6em;}
.Dlist.dt_L > dt{ width: 12em;}
.Dlist.dt_L > dd{ padding-left: 12em;}
.Dlist.dt_LL > dt{ width: 15em;}
.Dlist.dt_LL > dd{ padding-left: 15em;}
.Dlist dd dl{ margin: 0;}
.Dlist dd dt{ padding-bottom: 0; font-weight: normal;}
.Dlist dd dd{ margin: 0; padding-bottom: 0; border-bottom: none;}
.Dlist.nobd dd{ margin: 0; padding: 0; border: none;}
.Dlist dd p:last-child,
.dt_dot dd p:last-child{ margin-bottom: 0;}
.dt_dot dt{ padding-left: 1.5em !important; border: none;}
.dt_dot dt:before{
	position: absolute;
	left: 0;
	color: #e60012;
	content: "\f111";
	font-family: FontAwesome;
}
.dt_dot dd{ margin: 0 0 .6em;}
.dt_dot.dt_ic_ygreen dt:before{ color: #7ac141;}
.dt_dot.dt_ic_gray dt:before{ color: #ddd;}

#sidebar .Dlist{ margin: 0 0 10px;}
#sidebar .Dlist dt, #toppage #sidebar .Dlist dt,
#sidebar .Dlist dd, #toppage #sidebar .Dlist dd{ float: none; width: auto;}
#sidebar .Dlist div{ margin: 1em 0 0;}
#sidebar .Dlist dt, #sidebar .Dlist.dt_S > dt, #sidebar .Dlist.dt_L > dt, #sidebar .Dlist.dt_LL > dt,
#sidebar .Dlist dd, #sidebar .Dlist.dt_S dd, #sidebar .Dlist.dt_L > dd, #sidebar .Dlist.dt_LL > dd{ float: none; padding-left: 0;}
#sidebar .column1, #sidebar .column2{ margin-bottom: 1em; padding: 1em; line-height: 1.5; font-size: .9em;}

.dl0{
	margin: 0 0 20px;
	line-height: 1.6;
}
.dl0 dt{
	margin: 0;
	padding: .3em 0 0;
	clear: both;
}
.dl0 dd{
	margin: 0;
	padding: 0 0 .3em;
	border-bottom: solid 1px #ddd;
}
.dl1{ margin: 0 0 1.5em;}
.dl1 dt:before{
	margin: 0 .3em 0 0;
	color: #e60012;
	content: "\f069";
	font-family: FontAwesome;
}
.dl1 dd{
	margin: 0 0 .45em;
	padding: 0 2px .45em 1.3em;
	border-bottom: solid 1px #ddd;
}

/* column */

.column1, .column2{
	margin: 0 0 1.5em;
	padding: 1em 1.5em;
	position: relative;
}
.column1 h3{
	margin: -65px 0 0;
	padding: 0;
	position: absolute;
	z-index: 2;
	color: inhe;
	background: none;
	text-align: left;
}
.column1 h3 img{ max-height: 50px;}

.column1{
	margin: 0 0 2em;
	padding: 1em 1.5em;
	border: solid 1px #838091;
	border-radius: 1em;
	z-index: 1;
}
.column2{
	background: #97a79a;
	border-radius: 1em;
}
.column2 p{ padding: 0;}
.alignleft .column1,
.alignleft .column2,
.alignright .column1,
.alignright .column2{ padding: .7em 1em .2em;}

iframe,
#map_canvas{
	width: 100%;
	border: solid 1px #ddd;
	height: 400px;
}
.Dlist iframe{ margin-top: .5em; height: 350px;}

dl.faqItem {
	font-size: 1.05em;
}
dl.faqItem dt,
dl.faqItem dd{
	margin: 0 0 .5em;
	padding-left: 3em;
	position: relative;
	font-weight: bold;
}
dl.faqItem dt{
	color: #838091;
}
dl.faqItem dd {
	 color: #e60012;
}
dl.faqItem dd:before,
dl.faqItem dt:before {
	position:absolute;
	left: 0;
	width: 1.5em;
	height: 1.5em;
	color: white;
	border-radius: 50%;
	font-size: 1.5em;
	line-height: 1.5em;
	text-align: center;
	font-family: "Century Gothic", "游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
	font-weight: normal;
}
dl.faqItem dt:before {
	content:"Q";
	background: #838091;
}
dl.faqItem dd:before {
	content:"A";
	background: #e60012;
}

/* BTN ****************/

a.btn,
.prev a,
.next a{
	padding: .5em 1.5em;
	display: block;
	color: white;
	border-radius: .4em;
	background: #e60012;
	font-size: 95%;
	font-weight: bold;
}
a.btn:after,
.next a:after{
	margin: 0 0 0 .5em;
	color: black;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 120%;
}
.prev a:before{
	margin: 0 .5em 0 0;
	color: #222;
	content: "\f104";
	font-family: FontAwesome;
	font-size: 120%;
}
a.btn:hover,
.prev a:hover,
.next a:hover{
	opacity: .5;
	text-decoration: none;
}
a.l{ float: left;}
a.r{ float: right;}
.c a.btn,
.c.prev a,
.c.next a{
	margin: 0 auto;
	display: inline-block;
}
.str2 a.btn, .str3 a.btn{ padding: .5em 2em;}
#sidebar a.btn{ font-size: 90%;}

.btns .col_3 img{ border: solid 1px #ddd;}
.btns .col_3x2 img{ margin: .5em auto; display: block;}

/* PAGES ****************/

.column_contact .col_2:first-child{ text-align: right;}

#howto .column1{
	margin-top: 40px;
	padding-top: 40px;
}
#event .column1 dl{ margin-bottom: 0;}
#event .column1 dd ul{ list-style: none;}
#event .column1 dd li{ padding: 0 .5em .5em 0; display: inline-block;}
#event .column1 dd li:before{ display: none;}
#event .column1:last-child{ margin: 0;}

/* フォーム ------------------------------------------------------------*/

input[type="text"], input[type="email"], textarea, select, input[type="checkbox"]{
	margin: .2em 0;
	padding: .2em .3em;
	vertical-align:middle;
	max-width:90%;
	border:1px solid #ccc;
	border-radius: .2em;
	background:#fafafa;
	box-sizing: border-box;
	line-height: 1.9;
}
textarea{
	padding: .1em  1%;
	height:auto;
	width: 100%;
	max-width: 100%;
}
input[type="checkbox"]{ margin: 0 .3em 0 0;}
label{ margin: 0 .5em 0 0; display: inline-block;}
input[type="submit"],input[type="reset"],input[type="button"]{
	margin: .2em 0;
	padding: .3em 2em;
	color:white;
	border:0;
	border-radius: .3em;
	background: #e60012;
	cursor: pointer;
	line-height: 1.9;
	font-size: 1em;
	font-weight: bold;
}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
	opacity: .8;
	cursor:pointer;
}
*:first-child+html input[type="submit"]{padding:3px;}
form dl span.hissu{
	margin: .25em 1em 0;
	padding: 0 .5em;
	color: white;
	float: right;
	display: block;
	background: #e60012;
	font-size: .8em;
}
section#error .column1,
section#confirm .column1,
section#thanks .column1{ margin-bottom: 0;}
p.error_messe{
	margin: 0 0 .25em;
	text-align: center;
}
p.error_messe:last-of-type{ margin-bottom: 1.5em;}
p.error_messe strong{ color: #e60012;}

/* フッター *****************************************************/

/* BTN Pagetop --------*/
#pageTop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9999;
}
#pageTop a{
	display: block;
	z-index: 3000;
	width: 4em;
	height: 4em;
	background: #e60012;
	line-height: 4em;
	text-align: center;
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 1;
}
#pageTop a:before{
	color: white;
	content: "\f106";
	text-indent: 0;
	font-size: 2em;
	font-family: FontAwesome;
}
#pageTop a span{ display: none;}

#footer .col_2{ margin: 3em 0 0; font-size: 95%;}
#footer_logo img{ max-width: 200px;}
#copyright{
	margin: 0;
	padding: .75em;
	clear:both;
	background: #222;
	color: white;
	line-height: 1.6;
	text-align:center;
	font-size: 80%;
}
#copyright img{
	margin: 0 auto .6em;
	max-width: 270px;
}
#copyright p{
	margin: 0;
	text-align: center;
	font-size: 90%;
}
#copyright a, #copyright a:hover{
	color:#333;
	cursor: default;
	text-decoration: none;
}

/* for SPH ------------------------------------------------------------*/

@media only screen and (max-width: 580px){
	.js .nav-collapse {
	  clip: rect(0 0 0 0);
	  max-height: 0;
	  position: absolute;
	  display: block;
	  overflow: hidden;
	  zoom: 1;
	}
	.nav-collapse.opened {
	  max-height: 9999px;
	}
	#nav-toggle {
		position: absolute;
		right: 0;
		top: 0;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		cursor: pointer;
		display: block;
		width: 40px;
		height: 50px;
		overflow: hidden;
		background: #e60012;
		box-sizing: border-box;
		border: 0;
		border: solid rgba(255,255,255,.5);
		border-width: 0 0 1px 1px;
	}
	#nav-toggle:before{
		color: white;
		content: "\f0c9";
		text-indent: 0;
		font-size: 24px;
		font-family: FontAwesome;
	}
	nav#mainNav ul li{ width: 33.33333%;}
}
@media only screen and (min-width: 581px) and (max-width: 767px){
	nav#mainNav ul li{ width: 16.666666%;}
}
@media only screen and (max-width: 767px){
	html{ background: none;}
	body{
		padding: 0;
		width: 100%;
		-webkit-text-size-adjust: none;
		line-height: 1.65;
		font-size: 85%;
	}
	hr{ padding: 1em 0;}
	.dsp_pc{ display: none !important;}
	.dsp_sph{ display: inherit !important;}
	.nobr br{ display: none;}
	.f_l, .f_r{ margin-bottom: 2em; float: none;}
	.w15p, .w20p, .w25p,.w30p{ width: 50%;}
	.w33p, .w35p,.w40p, .w50p, .w60p,.w65p,.w70p,.w80p,.w90p{ width: 100%;}
	.w33p{ margin: 0 0 1em;}
	.col_2, .col_3{ margin: 0 0 1em; width: auto; float: none;}
	.col_2 .col_2{ width: 48%;}
	.col_2 .col_2:first-child{ margin-right: 4%}

	.alignleft, .alignright,
	.img_l, .img_r{
		margin: 0 0 2em;
		float: none;
		display: block;
		max-width: 100%;
	}

	#wrapper, .inner{
		margin:0 auto;
		width: auto;
	}
	#header{ margin: 0;}
	#content{
		padding: 0 0 15px;
		float:none;
		width:100%;
		min-height: none;
	}
	#sidebar{
		padding: 0 10px;
		float:none;
		width:auto;
	}
	#header .bg .inner{ display: none;}
	#header h1,#header p{
		padding: 0;
		float: none;
		font-size: 70%;
	}
	#header h2 {
		margin: 0 auto 10px;
		padding: 10px 50px 0 10px;
		float: none;
		text-align: center;
	}
	#header h2 img{ max-width: 80%;}
	#header .contact {
		border-top: solid 1px rgba(255,255,255,.5);
		padding: 10px;
		float: none;
		max-width: none;
	}
	.contact img.tel{
		margin: 0 auto;
		display: block;
		max-width: 250px;
		text-align: center;
	}
	nav#mainNav ul li{ padding:0;}
	nav#mainNav ul li a{ margin: 0;}

	/* PAGES ****************/
	#sidebar h3{
		margin: 0;
		position: fixed;
		right: 0;
		width: 100%;
		z-index: 99999;
		left: 0;
		bottom: 0;
	}
	#sidebar h3 .dsp_sph{ display: inline !important;}
	table{ width: 100%; box-sizing: border-box;}
	table th,
	table td{
		padding: .2em;
		width: auto !important;
		font-size: 80%;
	}
	table td{ word-break: break-all;}
	
	section .col_2 ul{ margin-bottom: 0;}
	
	.Dlist{ margin: 0 0 10px;}
	.Dlist dt, #toppage .Dlist dt,
	.Dlist dd, #toppage .Dlist dd{ float: none; width: auto;}
	.Dlist div{ margin: 1em 0 0;}
	
	.column1, .column2{ margin-bottom: 1em; padding: 1em; font-size: 95%;}
	#sidebar .column1, #sidebar .column2{ font-size: 1em;}

	.column1 h3 { margin: -45px 0 0;}
	.column1 h3 img { max-height: 30px;}
	.column2{ padding: 1.5em;}
	.column2 .col_2:last-child{ margin-bottom: 0;}

	iframe{ height: 250px;}
	
	#mainImg { margin: 0 0 20px;}
	.mainimg_pc{ display: none;}
	.mainimg_sph{ display: inline-block;}
	.Dlist dt, .Dlist.dt_S > dt, .Dlist.dt_L > dt, .Dlist.dt_LL > dt,
	.Dlist dd, .Dlist.dt_S dd, .Dlist.dt_L > dd, .Dlist.dt_LL > dd{ float: none; padding-left: 0;}
	section{ padding: 0 10px 1.5em;}

	.column_contact .col_2{ text-align: center !important;}
	#howto .column1{ margin-top: 25px; padding-top: 15px;}

	
	/* フッター *****************************************************/
	
	#pageTop { right: 0; bottom: 0; font-size: .8em;}
	#copyright{ font-size: 80%;}
	#copyright br{ display: inherit;}
}

/* Responsive Navi (nav-toggle) ****************/

@media screen and (-webkit-min-device-pixel-ratio: 1.3), screen and (min--moz-device-pixel-ratio: 1.3), screen and (-o-min-device-pixel-ratio: 2 / 1), screen and (min-device-pixel-ratio: 1.3), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
  #nav-toggle {
	-webkit-background-size: 30px;
	-moz-background-size: 30px;
	-o-background-size: 30px;
	background-size: 30px;
  }
}

/* for TBT ------------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 959px){
	#wrapper, .inner{ width: auto; max-width: 100%;}
}
@media only screen and (min-width: 768px) and (max-width: 1023px){
	body{ font-size: 90%;}
	#header h1,
	#header h2{ margin-left: 10px;}
	#header p,
	#header .contact{ margin-right: 10px;}
	section { padding: 0 1.5% 3em;}
	#content{ margin: 0 1.5% 0 0; width: 70%;}
	#footer{ padding: 20px 1.5%;}
}

/* --- GET HIGHT --- */
section:after,
.inner:after,
nav .panel:after, nav#mainNav ul:after,
.newsTitle:after,
.bg:after,
section:after,
ul#banners:after,
#footer:after,
.flexbox:after,
.col_2:after, .col_3:after, .col_3x2:after, .col_4:after, .col_4x3:after,
.col_5:after, .col_5x2:after, .col_5x3:after, .col_5x4:after,
.clrfx:after,
.Dlist:after,
.column1:after, .column2:after{ content:""; display: table;clear: both;}

section,
.inner,
nav .panel, nav#mainNav ul,
.newsTitle,
.bg,
section,
ul#banners,
#footer,
.flexbox,
.col_2, .col_3, .col_3x2, .col_4, .col_4x3,
.col_5, .col_5x2, .col_5x3, .col_5x4,
.clrfx,
.Dlist,
.column1, .column2{zoom: 1;}
