@charset "UTF-8";


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, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,main,
time, mark, audio, video {
	margin:          0;
	margin:          0;
	padding:         0;
	border:          0;
	outline:         0;
	vertical-align:  baseline;
	background:      transparent;
}
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}
body {
	color:           #333;
	margin:          0px;
	padding:         0px;
	font-family:     'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	background:      #fff;
	font-size:       62.5%;
	line-height:     1.4;
	-webkit-text-size-adjust: none;
}
body.en {
	font-family:     Arial, Helvetica, sans-serif;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:         block;
}
ul {
	list-style:      none;
}
blockquote, q {
	quotes:          none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:         '';
	content:         none;
}
ins {
	background-color:#ff9;
	color:           #000;
	text-decoration: none;
}
mark {
	background-color:#ff9;
	color:           #000; 
	font-style:      italic;
	font-weight:     bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:   1px dotted;
	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;
}
p {
	font-size:       1.4em;
	line-height:     1.8;
}
.bold {
	font-weight: bold;
}
p::selection, h2::selection, span::selection, a::selection, div::selection {
	background:      #d8e6e9;
}
p::-moz-selection, h2::-moz-selection, span::-moz-selection, a::-moz-selection, div::-moz-selection {
	background:      #d8e6e9;
}
#lang_sel a.lang_sel_sel {
	/*margin-top: -8px;*/
}

#lang_sel_list {
	display:none;
	position :absolute;
}

/* font weight only */

.f-weight-600 {
	font-weight: 600;
}

.f-weight-700 {
	font-weight: 700;
}

.f-weight-800 {
	font-weight: 800;
}

.h-weight-900 {
	font-weight:900; 
}

.font-wh {
	color:#fff;
}



/** form
/**************************************/
input, select {
	vertical-align:  middle;
}



/** a
/**************************************/
a {
	text-decoration: none;
	outline:         none;
	/*color:           #156877;*/
	color:			 #4673b6;
	-webkit-transition:0.2s ease-in-out;
       -moz-transition:0.2s ease-in-out;
         -o-transition:0.2s ease-in-out;
            transition:0.2s ease-in-out;
}
a:hover {
	opacity:         0.5;
}

#sp a:hover: {
	opacity:         1;
}

h1 > a:hover,
div.logo > a:hover {
	opacity:         1 !important;
}

a img.ov {
	-webkit-transition:0.2s ease-in-out;
	   -moz-transition:0.2s ease-in-out;
	     -o-transition:0.2s ease-in-out;
	        transition:0.2s ease-in-out;
}
a img.ov:hover {
	opacity:         0.4;
	filter:          alpha(opacity=40);
}

ul.cover li {
	position:        relative;
	-webkit-transition:0.2s ease-in-out;
       -moz-transition:0.2s ease-in-out;
         -o-transition:0.2s ease-in-out;
            transition:0.2s ease-in-out;
}

ul.cover li:hover {
	opacity:         0.6;
}

ul.cover li > a {
	display:         block;
	width:           100%;
	height:          100%;
	position:        absolute;
	top:             0;
	left:            0;
	background:      rgba(0, 0, 0, 0);
}



/** img
/**************************************/
img {
	border:          none;
	max-width:       100%;
	height:           auto;
}



/** parts */
/**************************************/
.fl        { float: left  !important; }
.fr        { float: right !important; }
.sp_fl     { float: left  !important; }
.sp_fr     { float: right !important; }
.check span.wpcf7-list-item {display: block;margin-bottom: 8px;}

@media screen and (max-width:768px) {
	
	.sp_fl { float: none !important; }
	.sp_fr { float: none !important; }

	#lang_sel { margin-top: 24px;  }
	#lang_sel_list {
		/*width:65%;*/
	}

	#lang_sel_list ul {
		display:inline-block !important;
	}

	a.lang_sel_list {
		margin-top: -999999999px !important;
	}

	#lang_sel_list ul a{
		    line-height: 1.4em;
		    vertical-align: bottom;
	}

	#lang_sel_list a , #lang_sel_list a:visited , #lang_sel_list li {
		display: inline-block !important;
	    padding: 0 0 0 4px;
	}

}

.al      { text-align: left !important; }
.ar      { text-align: right !important; }
.ac      { text-align: center !important; }
.vt      { vertical-align: top; }
.vm      { vertical-align: middle; }
.vb      { vertical-align: bottom; }
.hidden  { display: none; }
.inline  { display: inline-block; }
.block   { display: block; }
.bo0     { border: none !important; }
.border_ccc { border: 1px solid #ccc; }
.border_tb {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.border_left_fff {
	border-left: 1px solid #eee;
}
.vbl {
	vertical-align: baseline !important;
}

.fb_iframe_widget > span {
	vertical-align: baseline !important;
}


hr.gr01 {
	border:          1px solid #acaaaa;
	border-width:    1px 0 0 0;
	margin:          30px 0;
}

.ast {
	text-indent:     -1em;
	padding:          0 0 0 1em;
}

ul.disc {
	list-style-type: disc !important;
	margin:          0 0 0 8px;
	padding:         0 0 0 8px;
}

ol.generalpurpose {
	font-size: 1.4em;
	margin: 0;
	padding-left:25px
}
ol.generalpurpose li {
	padding-bottom: 10px
}

/** sp
/**************************************/
.disp_sp,.sp_only { display: none !important; }
.pc_only { display: inherit; }
@media screen and (max-width:768px) {
	.disp_pc,.pc_only { display: none !important; }
	.disp_sp,.sp_only { display: block !important; }
}


br.br_sp { display: none; }
br.br_pc { display: block; }

@media screen and (max-width:768px) {
	br.br_sp { display: block; }
	br.br_pc { display: none;  }
}

.bg_d3e1ed {
	background: #d3e1ed;
}
.bg_f2f2f2 {
	background: #f2f2f2;
}


/** width
/**************************************/
.w450 { width : 450px; }
.w100 { width : 100px; }

.w100p { width : 100%; }
.w90p  { width : 90%; }
.w80p  { width : 80%; }
.w78p  { width : 78%; }
.w75p  { width : 75%; }
.w70p  { width : 70%; }
.w69p  { width : 69%; }
.w68p  { width : 68%; }
.w65p  { width : 65%; }
.w62p  { width : 62%; }
.w60p  { width : 60%; }
.w58p  { width : 58%; }
.w55p  { width : 55%; }
.w53p  { width : 53%; }
.w52p  { width : 52%; }
.w50p  { width : 50%; }
.w49p  { width : 49%; }
.w48p  { width : 48%; }
.w45p  { width : 45%; }
.w41p  { width : 41.66666667% }
.w40p  { width : 40%; }
.w35p  { width : 35%; }
.w33p  { width : 33% !important; }
.w31p  { width : 31%; }
.w30p  { width : 30%; }
.w28p  { width : 28%; }
.w25p  { width : 25%; }
.w24p  { width : 24%; }
.w20p  { width : 20%; }
.w15p  { width : 15%; }
.w14p  { width : 14%; }
.w10p  { width : 10%; }

@media screen and (max-width:768px) {
	.sp_none { display: none;  }
	.sp_w100p {
		width:           100% !important;
	}
	.sp_w50p {width: 50%;}
	.sp_w15p{width:15%;}
	.sp_w85p{width:85%;}
}



/** text
/**************************************/
.tx_white{color:#fff !important;}
.tx_white_shadow { color:#fff !important; text-shadow: 0 0 6px #000;}
.tx_normal { font-weight: normal; }
.tx_red  { color: #ff4d4d; }
.tx08    { font-size: 0.8em; }
.tx09    { font-size: 0.9em; }
.tx10    { font-size: 1.0em; }
.tx11    { font-size: 1.1em; }
.tx12    { font-size: 1.2em !important; }
.tx13    { font-size: 1.3em; }
.tx14    { font-size: 1.4em !important; }
.tx16    { font-size: 1.6em !important; }
.tx18    { font-size: 1.8em !important; }
.tx20    { font-size: 2.0em; }
.tx22    { font-size: 2.2em; }
.tx23    { font-size: 2.3em !important; }
.tx24    { font-size: 2.4em; }
.tx25    { font-size: 2.5em; }
.tx28    { font-size: 2.8em !important; }
.tx30    { font-size: 3.0em; }
.tx32    { font-size: 3.2em; }
.tx36    { font-size: 3.6em; }
.tx30    { font-size: 3.0em; }
.tx40    { font-size: 4.0em; }
.tx50    { font-size: 5.0em; }
.tx65    { font-size: 6.5em; }

.li12    { line-height: 1.2 !important; }
.li13    { line-height: 1.3 !important; }
.li14    { line-height: 1.4 !important; }
.li16    { line-height: 1.6 !important; }
.li18    { line-height: 1.8 !important; }
.li19    { line-height: 1.9 !important; }
.li20    { line-height: 2.0 !important; }
.li26    { line-height: 2.6 !important; }


@media screen and (max-width:768px) {
	.sp_tx10 {font-size:1.0em !important;} 
	.sp_tx12 {font-size:1.2em !important;} 
	.sp_tx14 {font-size: 1.4em !important;}
}

@media screen and (max-width:640px) {
	.sp_block {
		float: none !important;
	}
	.sp_bk {display: block;}
}


/** margin */
/**************************************/
.ma0  { margin:  0px !important; }
.ma5  { margin:  5px !important; }
.ma10 { margin: 10px !important; }
.ma15 { margin: 15px !important; }
.ma20 { margin: 20px !important; }

.mt0  { margin-top:  0px !important; }
.mt5  { margin-top:  5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mt100 { margin-top: 100px !important; }
.mt110 { margin-top: 110px !important; }
.mt170 { margin-top: 170px !important; }
.mt180 { margin-top: 180px !important; }
.mt200 { margin-top: 200px !important; }

.mr0  { margin-right:  0px !important; }
.mr5  { margin-right:  5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr60 { margin-right: 60px !important; }

.mb0  { margin-bottom:  0px !important; }
.mb5  { margin-bottom:  5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }

.ml0   { margin-left:   0px !important; }
.ml5   { margin-left:   5px !important; }
.ml10  { margin-left:  10px !important; }
.ml15  { margin-left:  15px !important; }
.ml20  { margin-left:  20px !important; }
.ml25  { margin-left:  25px !important; }
.ml30  { margin-left:  30px !important; }
.ml35  { margin-left:  35px !important; }
.ml40  { margin-left:  40px !important; }
.ml45  { margin-left:  45px !important; }
.ml50  { margin-left:  50px !important; }
.ml120 { margin-left: 120px !important; }



.ma_auto { margin-left: auto; margin-right: auto; }

.sp_ml10 { margin-left: 10px;  }
.sp_ml20 { margin-left: 20px;  }
.sp_ml30 { margin-left: 30px;  }
@media screen and (max-width:768px) {
	.mt40 { margin-top: 20px !important; }
	.mt50 { margin-top: 25px !important; }
	
	.sp_mt10 { margin-top: 10px !important; }
	.sp_mt20 { margin-top: 20px !important; }
	.sp_mt30 { margin-top: 30px !important; }
	
	.sp_mb10 { margin-bottom: 10px !important; }
	.sp_mb20 { margin-bottom: 20px !important; }

	.sp_ml10,.sp_ml20,.sp_ml30{ margin-left: 0 !important;  }
}



/** padding */
/**************************************/
.pa0  { padding:  0px !important; }
.pa3  { padding:  3px !important; }
.pa5  { padding:  5px !important; }
.pa10 { padding: 10px !important; }
.pa15 { padding: 15px !important; }
.pa20 { padding: 20px !important; }
.pa30 { padding: 30px !important; }

.pt0  { padding-top:  0px !important; }
.pt5  { padding-top:  5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt60 { padding-top: 60px !important; }
.pt70 { padding-top: 70px !important; }
.pt80 { padding-top: 80px !important; }
.pt170 { padding-top: 170px !important; }

.pr0  { padding-right:  0px !important; }
.pr5  { padding-right:  5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }

.pb0  { padding-bottom:  0px !important; }
.pb5  { padding-bottom:  5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb80 { padding-bottom: 80px !important; }

.pl0  { padding-left:  0px !important; }
.pl5  { padding-left:  5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pl60 { padding-left: 60px !important; }


@media screen and (max-width:768px) {
	.sp_plr10{padding-left:10px;padding-right:10px;}
	.sp_plr20{padding-left:20px;padding-right:20px;}
}



/** clear */
/**************************************/
.cl:after{
	content:         ".";
	display:         block;
	height:          0;
	clear:           both;
	visibility:      hidden;
}


/* img align */

.alignnone {
    clear: both;
    margin: 0.25em;
    }

.aligncenter {
    display: block;
    clear: both;
    margin: 0.25em auto 1.5em;
    }
.alignleft {
    float: left;
    clear: both;
    margin: 0.25em 1.5em 1.5em 0;
    }
.alignright {
    float: right;
    clear: both;
    margin: 0.25em 0 1.5em 1.5em;
    }


.img-responsive{max-width: 100%;height:auto;}