@charset "UTF-8";

/* -------------------------------------------------------
全体レイアウト
------------------------------------------------------- */
@media screen and (min-width:1100px) {
	
}


/* -------------------------------------------------------
Header & Gnav
------------------------------------------------------- */
@media screen and (max-width:1100px) {
	#h_wrap { position: static;}
	
	#header { width: 100%; padding: 0 5px 0 10px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
	#header h1 { max-width: 100%; padding: 25px 0;}
	
	#language { top: 55px;}
	
	#nav { width: 100%; padding: 0; position: fixed; top: 0; left: 0; z-index: 999;}
	#nav_wrap { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 10000; overflow: auto;}
	#open_menu{
		display: block; top: 5px; right: 5px; position: fixed; cursor: pointer;
		width: 44px; height: 44px; padding: 0; background: #41271b; border: 1px solid #7c5c4e; z-index: 10;
	}
	#nav #close_menu { padding: 5px 0 !important; text-align: center; position: relative;}
	#close_menu span { width: 15px; position: absolute; top: 13px; right: 10px; line-height: 0; z-index: 0;}
	#close_menu img { width: 100%;}
	#nav>ul{
		display: none; margin: 75px 10px 20px 10px; padding: 0;
		background-color: #fff; box-sizing: border-box;
		-webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;
	}
	#nav li {
		display: block; width: 100%; height: auto; padding: 0 !important;
		float: none; line-height: 2; border-bottom: 1px dashed #ccc; font-size: 15px; font-weight: bold;
	}
	#nav li a {
		display: block; width: 100%; margin: 1px; padding: 5px 10px 5px 20px; height: auto; background: none;
		color: #000; text-decoration: none; text-align: left; text-indent: 0; box-sizing: border-box; white-space: normal;
	}
	#nav li a:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha( opacity=100 ); opacity:1.00;}
	#nav #nav8 { border-bottom: none;}
	#nav #nav8 a { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px;}
	#nav a:hover{ display: block; text-decoration: none; background-color: rgba(51,51,51,0.25);}
	#nav #nav_lang { display: none;}
}
@media screen and (max-width:768px) {
	
}
@media screen and (max-width:640px) {
	#header h1 { width: auto;}
	#header h1 img { display: block;}
	#header h1 img:first-child { padding: 0 0 15px 0;}
	
	#language { display: none;}
	
	#nav #nav8 { border-bottom: 1px dashed #ccc;}
	#nav #nav8 a { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
	#nav #nav_lang { display: block; border-bottom: none; color: #000;}
	#nav #nav_lang span { display: block; margin: 1px; padding: 5px 10px 5px 20px; border: none;}
	#nav_lang ul { margin: 0; background: none;}
	#nav_lang li { border-bottom: none; font-weight: normal;}
	#nav_lang li a { padding-left: 35px; color: #666; background: url(../img/nav_arrow.png) no-repeat 20px center;}
}
@media screen and (max-width:480px) {
	#header { position: relative;}
	#header h1 img:first-child { padding-bottom: 20px;}
	
	#language { position: absolute; right: 5px;}
}


/* -------------------------------------------------------
Search
------------------------------------------------------- */
@media screen and (max-width:1100px) {
	#search_col { padding: 0 10px 16px 10px;}
	#search_col div { width: 100%;}
}
@media screen and (max-width:768px) {
	
}
@media screen and (max-width:640px) {
	#search_col { text-align: center; font-size: 0;}
	#search_col dl { display: none;}
	#search_col div>a { max-width: 49%; margin: 5px 0 0 0;}
	#search_col .ver_sp { display: inline-block; margin-right: 2%;}
}
@media screen and (max-width:480px) {
}


/* -------------------------------------------------------
Container
------------------------------------------------------- */
@media screen and (max-width:1100px) {
	h2 { padding: 50px 0;}
}
@media screen and (max-width:768px) {
}
@media screen and (max-width:640px) {
	#container { padding-bottom: 50px;}
	h2 { padding: 30px 0;}
}
@media screen and (max-width:480px) {
}


/* -------------------------------------------------------
Footer
------------------------------------------------------- */
@media screen and (max-width:1200px) {
	#page_top a { right: 5px;}
}
@media screen and (max-width:1100px) {
	#page_top { width: 100%; margin: 0; left: 0;}
	
	#f_bnr,
	#f_nav,
	#f_add { padding: 0 10px;}
	#f_bnr,
	#f_add>div { width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
	
	#f_bnr ul { width: 75.5%; padding: 20px 0 5px 0;}
	#f_bnr li { padding-bottom: 15px;}
	#f_bnr .bnr_l { margin-top: 20px;}
	
	#f_nav ul { max-width: 100%;}
	
	#f_add { padding: 0 10px;}
	#f_add #f_logo { width: 49%; max-width: 522px;}
	#f_add #f_logo img:first-child { display: block; padding-bottom: 15px;}
	#f_add address { width: 49%; max-width: 450px; padding: 14px 0;}
	
	#ssl_area iframe { width: 100%;}
}
@media screen and (max-width:768px) {
	#f_bnr ul { width: 73%;}
	#f_bnr li { width: 32%; padding-right: 2%;}
	#f_bnr li:nth-child(3n) { padding-right: 0;}
	#f_bnr li:nth-child(4) { clear: none;}
	#f_bnr .bnr_l { width: 25%; max-width: 180px;}
	
	#f_add #f_logo,
	#f_add address { width: 100%; max-width: 100%; float: none;}
	#f_add #f_logo { padding: 20px 0 0 0;}
	#f_add #f_logo img:first-child { padding-right: 0;}
	#f_add #ssl_area { padding-top: 0;}
}
@media screen and (max-width:640px) {
	#footer .f_bg { display: none;}
	
	#f_bnr,
	#f_nav { padding: 10px;}
	#f_bnr .acc_tit,	
	#f_nav .acc_tit { display: block;}
	
	#f_nav ul { padding: 15px 15px 5px 15px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;	box-sizing: border-box;}
	#f_nav li { display: block; float: none; padding: 0; margin-bottom: 10px; background: url(../img/f_arrow.png) no-repeat left center; border-right: none; font-size: 15px;}
	#f_nav a { display: block; padding: 5px 10px;}
	
	#ssl_area iframe { height: auto;}
}
@media screen and (max-width:480px) {
	#f_bnr ul,
	#f_bnr .bnr_l { width: 100%; float: none;}
	#f_bnr li { width: 49%; padding-bottom: 10px; text-align: center;}
	#f_bnr li:nth-child(3n) { padding-right: 2%;}
	#f_bnr li:nth-child(2n+1) { clear: both;}
	#f_bnr li:nth-child(2n) { padding-right: 0;}
	#f_bnr .bnr_l { display: block; margin: 0 auto;}
	
	#ssl_area iframe { height: 200px;}
}