@charset "utf-8";
html, body { width: 100%; height:100%; /* needed for container min-height */ margin: 0; padding: 0; color: #2b2b2b; font-size: 10.5pt; background: #fff; 
			font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", meiryo, sans-serif; }

/** html .layer_board_bg,
* html .layer_board { position: absolute; }*/
.layer_board_bg { position: fixed; width: 100%; height: 100%; z-index: 1000; top: 0; left: 0; display: none; cursor: pointer; background: #000; }
.layer_board { display: none; position: fixed; width: 100%; margin: 0; padding: 0; z-index: 2000; }
.cookiecontentsp { margin: 0; padding: 1rem 0.5rem 0; text-align: center; background: #fff; border: 2px #E1D279 solid; z-index: 2000; }
.cookiecontentsp h2 { margin: 0; padding: 0 0 0.5em; font-size: 1.2rem; }
.cookiecontentsp p { margin: 0; padding: 0.5rem 0 0; font-size: 0.9rem; }
.btn_close { margin: 0; padding: 1em 0 ; text-align: center; }
.cookieclosebutton { display: inline-block; padding: 0.5rem 1rem; text-decoration: none; font-size: 1rem; font-weight: bold; cursor: pointer;
					 color: #8C8C8C; background-color: #fff; webkit-border-radius: 6px; border-radius: 6px; border: 1px solid #dcdcdc; }
.cookieclosebutton:hover { background-color: #DDDDDD; }
.cookieclosebutton:active { background-color: #CACBCB; }



#page { position: relative;/* needed for footer positioning*/ width: 98%; max-width: 1000px; margin: 0 auto; padding: 0; overflow: hidden; background: #fff; 
		height: auto !important; /* without this, no scrollbar */ height: 100%; /* IE6: treaded as min-height*/ min-height: 100%; }



/***********************************************************************/
/***** Header **********************************************************/
/***********************************************************************/
.top_ads { width: 100% auto; margin: 0; padding: 0.2em 0 0; text-align: center; }
.top_ads img.i100 { width: 100%; max-width: 1000px; }

#head { display: block; position: relative; width: 100%; margin: 0 auto; padding: 0; z-index: 999; }
#head a { text-decoration: none; }
#head .inner { position: relative; top: 0; left: 0; width: 100%; color: #2b2b2b; border-bottom: 1px #DDDDDD solid; }
#head .inner::after { content: ""; clear: both; display: block; }
#head .logo { width: 50%; margin: 0; padding: 0; }
#head .logo a { border: none; }
#head .inner p { padding: 0; font-size: 0.97em; }

/* header#head > div.inner > nav#top-navi > ul.main-menu > ul.sub-menu */
#top-navi { display: block; position: relative; width: 100% auto; margin: 0; padding: 0; border-top: 2px #DDDDDD solid; border-bottom: 2px #DDDDDD solid; zoom: 1;
			-webkit-box-shadow: 0 0.8em 1.2em -6px #CACBCB; -moz-box-shadow: 0 0.8em 1.2em -6px #CACBCB; box-shadow: 0 0.8em 1.2em -6px #CACBCB; }
#top-navi ul li a span { font-size: 0.8em; color: #8C8C8C; }
#top-navi ul li a strong { display: none; font-weight: normal; }
			
.main-menu { position: relative; margin: 0; padding: 0; list-style: none;
			 -js-display: flex; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
			 -webkit-box-pack:justify; -ms-flex-pack:justify; -webkit-justify-content: center; justify-content: center; *zoom: 1; z-index: 6; }
.main-menu > li { position: relative; width: 18.18%; margin: 0; padding: 0; text-align: center; font-size: 1.05em; border-right: 1px #DDDDDD solid; }
.main-menu > li a { display: block; margin: 0; padding: 0.7em 0; line-height: 1.5em; color: #2b2b2b; }
.main-menu li.home  { width: 8.5%; }
.main-menu li.home a { height: 3.5em; padding-top: 0; }
.main-menu li.home a:hover { margin: 0; padding: 0; background: #fff; }
.main-menu li.home img { height: 3.5em; margin: 0; padding: 0.5em 0; border: none; }
.main-menu li.home img:hover { opacity: 0.6; filter: alpha(opacity=60); }
.main-menu li.no-sub { border-right: none; }
.main-menu li.language-select-mobile { display: none; }
.main-menu li label { display: none; }
.main-menu li input[type="checkbox"].on-off { display: none; }
.main-menu label::after { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 0 0 45%; 
						  border-right: 2px #2b2b2b solid; border-bottom: 2px #2b2b2b solid;
						  -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(-135deg);
						  -ms-transform: rotate(45deg); transform: rotate(45deg); }
.sub-menu { opacity: 0; visibility: hidden; position: absolute; width: 15em; top: 100%; left: -0.15em; margin: 0; padding: 0; 
			list-style: none; border: 2px #DDDDDD solid; border-top: none; 
			-webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
.main-menu li:hover ul { visibility: visible; opacity: 1; position: absolute; width: 15em; top: 100%; left: -0.15em; margin: 0; padding: 0; 
						 border: 2px #DDDDDD solid; border-top: none; }
.sub-menu li a { padding: 0.9em 1em; border-top: 1px #DDDDDD solid; background: #fff; text-align: left; }
/* keep them *here* */
.main-menu li a:hover { background: #DDDDDD; }
#gsearch-mobile { display: none; }

/* header#head > div.inner > div#mobil-head > div#navi-toggle */
#mobile-head { width: 100%; margin: 1em auto 0; padding: 1em 1em 0; }
/* Toggle Button */
#navi-toggle { display: none; position: absolute; right: 12px; top: 23px; width: 34px; height: 36px; cursor: pointer; z-index: 101; }
#navi-toggle div { position: relative; }
#navi-toggle span { display: block; position: absolute; height: 4px; width: 100%; background: #DDDDDD; left: 0; }
#navi-toggle span:nth-child(1) { top: 0; }
#navi-toggle span:nth-child(2) { top: 11px; }
#navi-toggle span:nth-child(3) { top: 22px; }





/***********************************************************************/
/***** main div ********************************************************/
/***********************************************************************/
#main { width: 100% auto; margin: 0; padding: 0 0 19em; overflow: hidden; /* for footer */ background: #fff; *zoom: 1; }
#main.contactformmain { padding: 0 3em 10em; }
#main::after { content: ""; clear: both; display: block; }


/***** #main > article#contents *****/
#contents { display: block; float:left; width: 71%; max-width: 733px; margin: 0; padding: 0 0.2em 3em 0; background: #fff; }


/*****  -- #main > aside#sidebar > div#language-select-pc, div.gsearch-pc, ul.sads, div.faceblink *****/
#sidebar { display: block; float: right; width: 26%;　max-width: 267px; margin: 0; padding: 0; background: #fff; }

#language-select-pc { width: 100% auto; margin: 0; padding: 0.5em 1em 0 0; text-align: right; background: #fff; }
#language-select-pc ul { list-style: none; margin: 0; padding: 0; }
#language-select-pc ul li { display: inline-block; padding: 0.1em 0; }
#language-select-pc ul li img { margin: 0; padding: 0.1em 0; width: 35px;}
#language-select-pc ul li img a { text-decoration: none; }
#gsearch-pc { width: 100% auto; margin: 0; padding: 1.2em 0 0; line-height: 1.8em; text-align: right; }
#gsearch-pc .c { width: 63%; color: #898989; }
.sads { width: 100% auto; margin: 0; padding: 2em 0 0 0; list-style: none; text-align: right; background: #fff; }
.sads li { position: relative; width: 100% auto; margin: 0; padding: 0 0 0.5em; }
.sads li p { margin: -0.2em 0 0; padding: 0; text-align: center; line-height: 1.3em; }
.sads li p a { text-decoration: none; color: #C30D23; font-weight: bold; }
.sads li img { width: 99%; margin: 0; padding: 0; border: 1px #DDDDDD solid; }


/* #sidebar div.wpnewsaside ul.upnewssb table.newpostsb */
.wpnewsaside { width: 100% auto; margin: 2em 0 1em; padding: 0 0 0.5em; background: #fff; border: 1px #DDDDDD solid; }
.wpnewsaside h1 { width: 100% auto; margin: 0 0 1em; padding: 0; font-size: 1.1em; line-height: 2em; text-align: center; background: #DDDDDD; }
.wpnewssb { width: 100% auto; margin: 0; padding: 0.3em 1em; list-style: none; }
.wpnewssb li { margin: 0 0 0.8em; padding: 0 0 0.3em; line-height: 1.2em; border-bottom: 2px #DDDDDD dotted; }
.wpnewssb li a { text-decoration: none; color: #2b2b2b; }
.newpostsb { width: 100%; margin: 0; padding: 0; border-collapse: collapse; }
.newpostsb th { width: 5em; padding: 0.3em 0; text-align: center; vertical-align: top; }
.newpostsb td { padding: 0.3em 0.8em; text-align: left; vertical-align: top; font-size: 0.95em; word-break: break-all; }
.postimgsb { width: 60px; height: 60px; object-fit: cover; }
.datespansb { display: block; font-size: 0.85em; color: #2b2b2b; }
.titlespansb { display: block; color: #2b2b2b; }





/***********************************************************************/
/***** Footer **********************************************************/
/***********************************************************************/
#footer { width: 100%; height: 19em; position: absolute; left: 0; bottom: 0; margin: 0 auto; padding: 0; background: #fff; }
#footer a { color: #2b2b2b; text-decoration: none; }
#footer h2{ width: 100% auto; margin: 0 0 1em; padding: 0.5em 0; text-align: center; background: #898989; font-size: 1em; color: #fff; }
#footer h2 a { color: #fff; text-decoration: underline; }
#footer.contactformfooter { height: 10em; }


/* #footer > div.sitemap > div.sm_01, div.sm_02 */
.sitemap { width: 100% auto; height: 11em; margin: 0; padding: 0 1em; font-size: 0.95em; line-height: 1.7em; -js-display: flex; 
		   display:-webkit-box; display: -moz-box; display:-ms-flexbox; display: -webkit-flex; display:flex; 
		   -webkit-box-pack:justify; -ms-flex-pack:justify; -webkit-justify-content: space-around; justify-content: space-around; }
.sitemap ul { margin: 0; padding: 0 1em; list-style: none; }
.sitemap ul li { margin: 0; padding: 0; }
.sitemap ul li a { margin: 0; padding: 0; }
.sitemap ul li a:hover  { text-decoration: underline; }
.sm_01 { width: 26%; font-weight: bold; }
.sm_02 { width: 72%; -js-display: flex; display:-webkit-box; display: -moz-box; display:-ms-flexbox; display: -webkit-flex; 
		 display:flex; -webkit-box-pack:justify; -ms-flex-pack:justify; -webkit-justify-content: space-around; justify-content: space-around; }
.sm_02 ul li:first-child { font-weight: bold; }
.sm_02 ul li:nth-child(n+2) a { font-size: 0.9em; color: #5D5D5D; }
.footercopy { width: 100% auto; text-align: center; font-size: 0.88em; color: #5D5D5D; }

