@charset "utf-8";
/* CSS Document */

@media only screen and (max-width: 1280px){
	
header div{
	width:96%;
}

nav #nav_cont{
	width:96%;
}

nav #nav_cont #nav_search{
	right:24.5%;
	width:20%;
}



nav #nav_cont #nav_search:before{
	width:30px;
	height:30px;
	background-size:18px;

}

nav #nav_cont #nav_search form{
	min-height:30px;
}

nav #nav_cont #nav_search form input[type="text"]{
	padding:5px;
	max-width:140px;
}
nav #nav_cont #nav_search form input[type="submit"]{
	width:30px;
	height:30px;
}


nav #nav_cont #sub_nav{
	width:20%;
	right:45%;
	font-size:81.25%;
}


nav #nav_cont #main_nav{
	font-size:0%;
}

nav #nav_cont #main_nav li{
	float:none;
	display:inline-block;
	width:auto;
	font-size:1rem;
}

nav #nav_cont #main_nav li a{
	padding:17px 1.5em 0;
	font-weight:normal;
}

.english nav #nav_cont #main_nav li a{
	padding:17px 1em 0;
}


#crumb ul{
	width:96%;
}

#content_wrapper{
	width:96%;
}

.btn02 > a{
	font-size:100%;
}

#main_column h2 img{
	float:left;
}


#footer_nav{
	width:96%;
}

#footer_nav section{
	padding:2.5% 0 2.5% 2%;
	width:15%;
	min-width:0;
}

.english #footer_nav section{
	width:22.75%;
	min-width:0;
}



#footer_nav section:first-child{
	padding:2.5% 0;
}


footer div{
	width:96%;
}

}

@media only screen and (max-width: 980px){
header{
	height:122px;
}


header div{
	width:94%;
	padding:40px 0 0;
	position:relative;
}

header #site_lead{
	top:10px;
	font-size:75%;
	width:100%;
}

.english header #site_lead{
	top:7px;

}

header #title,
header h1{
	width:50%;
}

nav{
	top:122px;
	height:58px;
}

nav #nav_cont{
	width:94%;
}


nav #nav_cont #sub_nav{
	width:25%;
	right:30%;
}

nav #nav_cont p.inquiry_btn{
	width:27%;
}

nav #nav_cont p.inquiry_btn a{
	font-size:87.5%;
	padding:7px;
	min-height:0;
}

nav #nav_cont p.head_banner{
	width:27%;
}
nav #nav_cont p.head_banner a{
		padding:5px 10px;

}

nav #nav_cont #main_nav li a{
	padding:17px 1em 0;
	height:41px;
	font-size:87.5%;
}

nav #nav_cont #nav_search{
	right: auto;
	left:0;
	top:-40px;
	width:30%;
}



#crumb ul{
	width:94%;
}

#content_wrapper{
	width:94%;
}


#menu > ul > li > a{
	display:block;
	padding:13px 10px 13px 27px;
	background:url(../img/common/arrow02.png) no-repeat 10px 16px;
	background-size:5px;
	color:#333;
	text-decoration:none;
	font-size:87.5%;
	line-height:1.4;
}

#menu > ul > li > ul > li > a{
	font-size:87.5%;
	padding:10px 10px 10px 47px;
	line-height:1.4;
}

#menu > ul > li > ul > li > a:before{
	top:24px;
	left:15px;
}

.btn02 > a span{
	font-size:75%;
}

#main_column,
#cat_column{
	font-size:93.75%;
}

#main_column h1,
#main_column p.h1_ttl{
	line-height:1.1;
	padding:14px 0;
	
}

#cat_column ul li h2{
	line-height:1.4;
}

#main_column h2.internal{
	margin-top:-188px;
	padding-top:188px;
}



#footer_nav{
	width:98%;
}

#footer_nav section,
#footer_nav section:first-child{
	padding:2.5% 2%;
	width:29.33%;
}

.english #footer_nav section:first-child{
	width:22.75%;
	min-width:0;
	padding:2.5% 0;
}
}

@media only screen and (max-width: 900px){
.english nav #nav_cont #main_nav li{
	min-width:0;
}

.english nav #nav_cont #main_nav li a{
	padding:17px 0.72em 0;
}


}

@media only screen and (max-width: 768px){



header{
	z-index:999;
	height:90px;
	position:relative;
}
header div{
	padding:40px 0 0;
	position:relative;
}

header #site_lead{
	font-size:68.75%;
}

header #title,
header h1{
	width:65%;
}

#nav_btn{
	display:block;
	width:23px;
	position:absolute;
	right:20px;
	bottom:0;
}


nav,
nav.nav_fixed{
	position:absolute;
	top:auto;
	left:-999999px;
	z-index:99999999;
	border:none;
	opacity:1;
}


nav #nav_cont{
	opacity:0;
	z-index:10;
	transition:all .5s;
	width:100%;
	font-size:0;
}


#nav_bg_close.opened_nav_bg_close{
	display:block;	
	width:100%;
	height:100%;
	position:fixed;
	background-color:rgba(0,0,0,0.3);
	top:0;
	left:0;
	opacity:1;
	transition:all .5s;


}

#nav_bg_close.opened_nav_bg_close span{
	display:none;
}


nav.opened_menu{
	top:auto;
	left:0;
	display:block;
	width:100%;
	background:none;
}


nav.opened_menu #nav_cont{
	background-color:#f8f8f8;
	opacity:1;
	top:0;
	padding:20px 0;
}

nav #nav_cont #nav_search{
	opacity:0;
	transition:all .5s;
	margin:0;
	font-size:1rem;
}


nav.opened_menu #nav_cont #nav_search{
	position:relative;
	top:auto;
	right:auto;
	width:80%;
	opacity:1;
	margin:0 auto;
	background-color:#fff;
}

nav.opened_menu #nav_cont #main_nav{
	margin:20px auto 0;
	width:90%;
	background-color:#fff;
}

nav.opened_menu #nav_cont #main_nav li{
	display:block;
	border-bottom:#ccc 1px solid;
}
nav.opened_menu #nav_cont #main_nav li.mn_current {
	border-bottom:none;
}


nav.opened_menu #nav_cont #main_nav li a{
	border:none;
	color:#333;
	font-size:100%;
	padding:10px 10px 10px 20px;
	text-align:left;
	height:auto;
}
nav.opened_menu #nav_cont #main_nav li.mn_current > a{
	color:#fff;
	background-color:#1a8ed0;
}


nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m{
	display:block;
	background-color:#fff;
	list-style:none;
}


nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > a{
	display:block;
	padding:7px 5px 7px 70px;
	background:url(../img/common/arrow02.png) no-repeat 50px 16px;
	background-size:5px;
	color:#333;
	text-decoration:none;
	font-size:87.5%;
}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li ul li{
	border-bottom:none;
	border-top:#f0f3f6 1px solid;
}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > ul > li > a{
	display:block;
	padding:7px 5px 7px 90px;
	color:#333;
	text-decoration:none;
	position:relative;
	font-size:87.5%;
}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > ul > li > a:before{
	content:" ";
	position:absolute;
	display:block;
	width:0.7em;
	height:0.5em;
	top:19px;
	left:60px;
	border-top:#1b8ed0 1px solid;

}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > ul > li > ul > li > a{
	display:block;
	padding:7px 5px 7px 110px;
	color:#333;
	text-decoration:none;
	position:relative;
	font-size:87.5%;
}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > ul > li > ul > li > a:before{
	content:" ";
	position:absolute;
	display:block;
	width:0.7em;
	height:0.5em;
	top:19px;
	left:80px;
	border-top:#1b8ed0 1px solid;

}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m li.m_current > a{
	background-color:#f0f3f6;
}

nav #nav_cont p.head_banner{
	position:static;
	width:90%;
	margin:10px auto 0;
}

nav #nav_cont p.head_banner a{
	padding:1.5% 5%;
	text-align:left;
}

nav #nav_cont p.head_banner a img{
	max-width:50%;
}


nav.opened_menu #nav_cont p.inquiry_btn{
	position:static;
	width:25%;
	padding:5px 1.5%;
	margin:15px 0 0 5%;
	display: inline-block;
	font-size:1rem;
	text-align:center;
}

nav.opened_menu #nav_cont p.inquiry_btn a{
	background: none;
	border:none;
	color:#333;
	font-size:87.5%;
	padding:5px 0;
	letter-spacing:normal;
	min-height:0;

}

nav.opened_menu #nav_cont p.inquiry_btn a img{
	display:none;
}

nav.opened_menu #nav_cont #nav_search form input[type="text"]{
	max-width: none;
	width:80%;
}

nav.opened_menu #nav_cont #sub_nav{
	position:static;
	display:inline-block;
	width:62%;
	margin:0 5% 0 0;
	font-size:1rem;
}
nav.opened_menu #nav_cont #sub_nav li{
	display:inline-block;
	width:50%;
	padding:0;

}

nav.opened_menu #nav_cont #sub_nav li a{
	display:block;
	background-color:#f8f8f8;
	border-left:#ccc 1px solid;
	color:#333;
	font-size:87.5%;
	padding:5px 0;
	text-align:center;
	transition:background-color .5s;
}



#crumb{
	background:none;
}

#crumb ul li{
	font-size:75%;
	padding:3px 1em 3px 0;
}


#main_column{
	float:none;
	width:100%;
	margin:2.5% 0 2.8%;
}

#main_column h1,
#main_column p.h1_ttl{
	line-height:1.1;
	padding:30px 0 10px;
	
}


#main_column .internal,
#main_column .internal_nohead{
	margin-top:0 !important;
	padding-top:0 !important;
}


#menu{
	width:100%;
	margin:0;
}

#menu > ul > li{
	display:none;
}

#menu > ul > li.with_child{
	display:block;
}

#menu > ul > li.with_child > a{
	display:none;
}

#menu > ul > li.with_child > ul > li > a{
		padding:10px 10px 10px 40px;
		background:url(../img/common/arrow02.png) no-repeat 16px 16px;
		background-size:7px;
}

#menu > ul > li.with_child > ul > li > a:before{
	display:none;
}

#menu > ul > li.with_child > ul > li.m_current{
	display:none;
}

#special_menu #menu > ul > li.with_child > ul > li.m_current{
	display:block;
}

#cat_column ul{
	padding:3.7% 0 0;
}

#cat_column ul li{
	width:42.35%;
	padding:0 3.7% 4.7% 0;
}

#cat_column ul li:nth-child(3n+1){
	clear:none;
	padding:0 3.7% 4.7% 0;
}

#cat_column ul li:nth-child(odd){
	clear:left;
	float:left;
	padding:0 3.7% 4.7% 5.8%;
}

#cat_column ul li h2{
	font-size:120%;
}

.english #footer_nav section,
.english #footer_nav section:first-child{
	padding:2.5% 2%;
	width:46%;
}



footer ul{
	margin-bottom:10px;
}

}

@media only screen and (max-width: 480px){

header{
	height:65px;
}

header div{
	padding:5% 0 0;
}

header #site_lead{
	display:none;
}

header #title,
header h1{
	width:75%;
	margin-left:3%;
}



nav.opened_menu #nav_cont p.inquiry_btn a{
	font-size:75%;
}

nav.opened_menu #nav_cont #sub_nav li a{
	font-size:75%;
}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > a{
	padding:7px 5px 7px 50px;
	background:url(../img/common/arrow02.png) no-repeat 30px 16px;
	background-size:5px;
}


nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > ul > li > a{
	padding:7px 5px 7px 70px;
}

nav.opened_menu #nav_cont #main_nav li.mn_current #menu_m > li > ul > li > a:before{
	top:16px;
	left:40px;
}




nav #nav_cont p.head_banner a{
	padding:2.5% 5%;
}

nav #nav_cont p.head_banner a img{
	max-width:80%;
}


#main_column h1{
	font-size:160%;
	padding:20px 0 10px;
}

#main_column p.h1_ttl{
	font-size:120%;
	padding:20px 0 10px;
}

#main_column p + h1{
	font-size:140%;
}


#main_column h2{
	line-height:1.4;
}

#main_column h2.big_h2{
	font-size:160%;
}


#main_column h2.line_h2:after{
	height:96%;
	top:2%;
}
#main_column .layout_left01 h2 img,
#main_column h3 img{
	max-width:12% !important;
}

#footer_wrapper{
	display:none;
}

/*
#footer_nav section,
#footer_nav section:first-child,
.english #footer_nav section,
.english #footer_nav section:first-child{
	padding:5%;
	width:90%;
}*/

footer p{
	font-size:75%;
	line-height:1.2;
	padding:1em 0 0;
}

#cat_column ul{
	padding:3.3% 0 0;
}
#cat_column ul li{
	width:44.3%;
	padding:0 3.8% 4.7% 0;
	font-size:80%;
	line-height:1.4;
}


#cat_column ul li:nth-child(odd){
	clear:left;
	float:left;
	padding:0 3.8% 4.7%;
}

#cat_column ul li h2{
	margin:10px 0 3px;
}

#pagetop{
	width:16px;
	bottom:40px;
	right:25px;
}

}


