@charset "utf-8";

/*============目次===========
Extra small 768px未満: スマホ
============================*/
* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    font-size: 100%;
	-webkit-text-size-adjust: 100%;
    font-style: normal;
}


/*========================
■ 2: body　
========================*/
body {
    color: #333;
    margin: 0 auto;
    padding: 0;
	font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "Droid Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif, FontAwesome;
}



/*========================
■ 3: #container
========================*/
div#container {
    padding: 0; 
    text-align: left;
	background: #fff;
}

div#container > br.blockend {
	display: none;
}

/*========================
■4: #header
========================*/
#header {
	width: 100%;
    height: 74px;
	padding: 0 18px 0 10px;
	box-sizing: border-box;
}

#header a {
    color: #333;
}

#header a:hover {
	text-decoration: underline;
}

#logo{
	float: left;
}

#logo img {
    width: auto;
	height: 72px;
	padding-top: 2px;
	box-sizing: border-box;
}


#guideNav {
    float: right;
    font-size: 13px;
	padding-top: 25px;
	padding-right: 56px;
	box-sizing: border-box;
}

#guideNav li {
	list-style: none;
}

/*========================
■6: toggle_menu
========================*/
#toggleMenu {
	position: relative;
}

#toggleMenu .toggle_icon {
	position: absolute;
	top: -55px;
	right: 18px;
	cursor: pointer;
	font-size: 12px;
	text-align: center;
}

#toggleMenu .toggle_icon img {
	width: auto;
	height: 22px;
}

#toggleMenu .current {
	opacity: 0.3;
	filter: alpha(opacity=30);
	-ms-filter: "alpha( opacity=30 )";
}


#toggleMenu .menu-list {
	margin-bottom: 10px;
}

#toggleMenu ul li {
	position: relative;
}

#toggleMenu ul li span {
	position: relative;
	font-size: 13px;
	display: block;
	width: 100%;
	background: #d0d3de;
	border-bottom: 1px solid #999;
}

#toggleMenu ul li a{
    display: block;
	width: 90%;
    color: #333;
	padding: 6px 10px;
	box-sizing: border-box;
}
#toggleMenu ul li span.linknone{
    display: block;
	width: 100%;
    color: #333;
	padding: 6px 10px;
	box-sizing: border-box;
}
#toggleMenu ul.submenu li.subttl span {
	background: #dee1ea;
}

#toggleMenu ul.submenu li.subttl2 span  {
	background: #eff1f6;
}

#toggleMenu ul.submenu li.subttl2 dfn {
	display: none;
}



#toggleMenu .is-open::after,
#toggleMenu .is-close::after {
  position: absolute;
  top: 3px;
  right: 10px;
  transform: scale(0.45);
  -webkit-transform: scale(0.45);
  -moz-transform: scale(0.45);
  cursor: pointer;
}

#toggleMenu .is-open::after {
  content: url(/common/img/angle-up_gray.png);
}

#toggleMenu .is-close::after {
  content: url(/common/img/angle-down_gray.png);
}

#toggleMenu .open_close {
	display: block;
}

#toggleMenu .close_open {
	display: none;
}

/*========================
■5: smart_search
========================*/
#smart_search {
	display: block;
	width: 100%;
	background: #5d6994;;
	position: relative;
}

#smart_search #SS_searchForm1 {
	width: 93%;
	margin:0 auto;
	padding:10px 0;
	box-sizing: border-box;
}

#smart_search #SS_searchQuery1 {
    width: 100%;
    vertical-align: middle;
    border: solid 1px #999;
	padding: 6px 3px;
    font-size: 14px;
}

#smart_search #submit1 {
	position: absolute;
	right: 5.5%;
	top: 12px;
}

/*========================
■5: search
========================*/
#search {
	display: none;
}

/*========================
■6: dropdownMenu / globalNav
========================*/
#dropdownMenu {
	display: none;
}


/*========================
■7: location
========================*/
#location {
	clear: both;
	width: 100%;
	background: #f0f0f0;
    margin: 0 auto;
	min-height: 3px;
}

#location ol{
	width: 100%;
	max-width: 1030px;
	overflow: auto;
    margin: 0 auto;
    padding: 8px 15px;
    font-size: 13px;
    list-style: none;
	background: #f0f0f0;
	box-sizing: border-box;
}

#location ol li{
    display: inline;
    float: left;
}

#location a{
    color: #003399;
}

#location a:hover {
    text-decoration: underline;
    color: #0066cc;
}

/*========================
■7.2: nolocation
========================*/
#nolocation {
	width: 100%;
	background: #f0f0f0;
	height: 3px;
}


/*========================
■8: contents
========================*/
#contents{
	clear: both;
    width: 100%;
	max-width: 1030px;
    margin: 20px auto;
	padding: 0 6px;
	letter-spacing: 0px;
	box-sizing: border-box;
}

#contents a{
    color: #003399;
	text-decoration: underline;
}

#contents a:hover {
    color: #0066cc;
}

#contents a:hover img {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	background: #fff;
}

#contents input[type="image"]:hover {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	background: #fff;
}


/*========================
■9: sub
========================*/
#sub {
    width: 100%;
    margin:20px 0;
 
}

/*========================
■10: #categoryNav
========================*/
#categoryNav {
    border: solid 1px #ccc;
    margin: 0;
    width: 100%;
}

#categoryNav h2 {
    font-size: 14px;
    background: url(../img/bg_categoryNav1.gif) bottom;
    margin: 0;
    padding: 7px 5px;
    line-height: 1.2em;
}

#categoryNav ul.section {
    font-size: 14px;
}

#categoryNav ul li {
    background: #fff;
    border-top: solid #ccc 1px;
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding: 0;
}

#categoryNav ul li a,
#categoryNav ul li dfn{
    padding: 3px 5px 3px 15px;
    vertical-align: baseline;
    background: url(../img/arrow1.gif) no-repeat 5px 6px;
    zoom: 1;
    display: block;
}

#categoryNav ul li span {
    padding: 3px 5px 3px 15px;
    vertical-align: middle;
    background: url(../img/arrow1.gif) no-repeat 5px 6px #d6d7ec;
    zoom: 1;
    display: block;
}

#categoryNav ul li ul {
    font-size: 1em;
}

#categoryNav ul li ul li,
#categoryNav ul li ul li.Navi_end {
    background: #fff;
    border-style: none;
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding: 0;
}

#categoryNav ul li ul li a,
#categoryNav ul li ul li dfn{
    padding: 2px 5px 2px 15px;
    vertical-align: baseline;
    background: url(../img/arrow2.gif) no-repeat 5px 4px;
    zoom: 1;
    display: block;
}

#categoryNav ul li ul li span {
    padding: 2px 5px 2px 15px;
    vertical-align: middle;
    background: url(../img/arrow2.gif) no-repeat 5px 4px #d6d7ec;
    display: block;
}

#categoryNav ul li ul li.Navi_end a,
#categoryNav ul li ul li.Navi_end dfn{
    padding: 2px 5px 4px 15px;
    vertical-align: baseline;
    background: url(../img/arrow3.gif) no-repeat 5px 4px;
    zoom: 1;
    display: block;
}

#categoryNav ul li ul li.Navi_end span {
    padding: 2px 5px 4px 15px;
    vertical-align: middle;
    background: url(../img/arrow3.gif) no-repeat 5px 4px #d6d7ec;
    zoom: 1;
    display: block;
}

#categoryNav ul li ul li ul{
    font-size: 1em;
}

#categoryNav ul li ul li ul li {
    background: #fff;
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding: 0;
}

#categoryNav ul li ul li ul li a,
#categoryNav ul li ul li ul li dfn{
    padding: 2px 5px 2px 20px;
    vertical-align: baseline;
    background: url(../img/arrow8.gif) no-repeat 15px 2px;
    zoom: 1;
    display: block;
}

#categoryNav ul li ul li ul li span {
    padding: 2px 5px 2px 20px;
    vertical-align: middle;
    background: url(../img/arrow8.gif) no-repeat 15px 2px #d6d7ec;
    zoom: 1;
    display: block;
}
#categoryNav ul li ul li ul li ul li a,
#categoryNav ul li ul li ul li ul li dfn{
    padding: 2px 5px 2px 30px;
    vertical-align: baseline;
    background: url(../img/arrow9.gif) no-repeat 25px 2px;
    zoom: 1;
    display: block;
}
#categoryNav ul li ul li ul li ul li span {
    padding: 2px 5px 2px 30px;
    vertical-align: middle;
    background: url(../img/arrow9.gif) no-repeat 25px 2px #d6d7ec;
    zoom: 1;
    display: block;
}

/*========================
■11: #sub .categoryNav2　（お問い合わせ以外：グレーカラム）
========================*/
#sub .categoryNav2 {
    background: #eee;
    border: solid 1px #ccc;
    margin: 10px auto;
    width: 90%;
}

#sub .categoryNav2 h2 {
    font-size: 14px;
    background: url(../img/bg_categoryNav2.gif) bottom;
    color: #fff;
    margin: 0;
    padding: 7px 5px;
    line-height: 1.2em;
}

#sub .categoryNav2 ul {
    font-size: 14px;
}

#sub .categoryNav2 ul li {
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding: 0;
}

#sub .categoryNav2 ul li a {
    padding: 3px 5px 3px 15px;
    vertical-align: baseline;
    background: url(../img/arrow1.gif) no-repeat 5px 6px;
    zoom: 1;
    display: block;
}

#sub .categoryNav2 .dashed {
    border-top: dashed #999999 1px;
    margin: 5px;
}

#sub .categoryNav2 ul li ul a {
    padding: 3px 5px 3px 12px;
    margin: 0 0 5px 12px;
    vertical-align: baseline;
    background: url(../img/arrow9.gif) no-repeat 3px 3px;
    line-height: 1em;
    display: block;
}

/*========================
■12: #categoryNav3 （お問い合わせのみ使用：ブルーカラム）
========================*/
#categoryNav3 {
    border: solid 1px #ccc;
    margin: 10px auto;
    width: 90%;
}

#categoryNav3 h2 {
    font-size: 14px;
    background: url(../img/bg_categoryNav3.gif) bottom;
    color: #fff;
    margin: 0;
    padding: 7px 5px;
    line-height: 1.2em;
}

#categoryNav3 ul {
    font-size: 14px;
}

#categoryNav3 ul li {
    background: #eee;
    list-style: none;
    list-style-position: outside;
    margin: 0;
    padding: 0;
}

#categoryNav3 ul li a {
    padding: 3px 5px 3px 15px;
    vertical-align: baseline;
    background: url(../img/arrow1.gif) no-repeat 5px 6px  ;
    zoom: 1;
    display: block;
}

/*========================
■13: main main02
========================*/
#main,
#main02 {
	clear: both;
	width: 100%;
    margin: 0 auto;
	letter-spacing: 0px;
}


/*========================
■14: subfooter
========================*/
#subfooter * {
	box-sizing: border-box;
}

#subfooter {
    width: 100%;
    clear: both;
	background: linear-gradient(#e0e0e0 0%, #fff 20%);
	margin-bottom: 0;
}



#footerNav {
	width:96%;
	max-width: 960px;
	margin:0 auto;
    list-style: none;
    margin-bottom: 3px;
    padding: 15px 0 10px;
}

#footerNav .NavBox,
#footerNav .NavBox3 {
    font-size: .75em;
}

#footerNav .NavBox .col1, #footerNav .NavBox .col2, #footerNav .NavBox .col3, #footerNav .NavBox .col4,
#footerNav .NavBox3 .col1, #footerNav .NavBox3 .col2, #footerNav .NavBox3 .col3 {
	padding: 0 5px;
}

#footerNav h2 {
	font-size: 1.2em;
	margin-bottom: 10px;
 }

#footerNav h3 {
	font-size: 1em;
	padding: 8px 4px 2px;
	border-top: 1px solid #aaacb4;
	margin-top: 6px;
 }
 

#footerNav .NavBox ul li,
#footerNav .NavBox3 ul li {
	list-style: none;
    padding: 0 5px 0 15px;
    vertical-align: baseline;
    background: url(../img/arrow1.gif) no-repeat 5px 3px;
}

#footerNav a {
    color: #003399;
    text-decoration: none;
}

#footerNav a:hover {
    text-decoration: underline;
}

#footerNav .trademark {
    font-size: .75em;
	margin-top: 15px;
	border-top: 1px solid #aaacb4;
	padding: 15px 30px 5px;
}




/*========================
■15: footer
========================*/
#footer {
	position: relative;
    clear: both;
    width: 100%;
	font-size: 13px;
	background: #666;
	min-height: 100px;
}

#footer div:empty {
	height: 0 !important;
}


#footer ul {
	width: 100%;
    list-style: none;
    padding: 15px 10px 0;
	box-sizing: border-box;
}

#footer li {
    float: left;
    display: block;
	margin-right: 30px;
	margin-bottom: 10px;
	line-height: 100%;
}

#footer a {
    color: #fff;
}

#footer a:hover {
	text-decoration: underline;
}
#footer div:empty {
	height: 10px !important;
}

#copyright {
    clear: both;
    padding: 0 10px;
	box-sizing: border-box;
}

#copyright img {
	width: 170px;
	height: auto;
	padding-top: 5px;
}


#sns {
	padding: 10px;
}


/*========================
 ■16: suggest
 ========================*/
div.SS_suggest {
  font-weight: normal;
  z-index: 9;
  display: none;
  position: absolute;
  border-bottom: 1px solid #CCC;
  border-right: 1px solid #CCC;
  border-left: 1px solid #CCC;
}
div.SS_suggest div.SS_suggestItemOff { 
  background-color: #FFF;
  border-top: 1px solid #CCC;	
  padding: 2px 0px 2px 0px;	
  width: 100%;
}
div.SS_suggest div.SS_suggestItemOn {
  background-color: #ECF5FA;
  border-top: 1px solid #CCC;	
  padding: 2px 0px 2px 0px;	
  width: 100%;
}
div.SS_suggest span.SS_suggestKey {
  font-size: .8em;
  padding: 4px;
	background: #fff !important
}
div.SS_suggest span.SS_suggestRate {
  width: 100px;
}


/*========================
■17: .navihidden
========================*/
.navihidden {
    border-style: none;
    height: 1px;
    margin: 0px;
    overflow: hidden;
    padding: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 1px;
    z-index: 100;
}


/*========================
■18: .pagetop
========================*/
.pagetop, .pagetop2 {
    width: 100%;
    height: 30px;
    text-align: right;
    padding-top: 3px;
    position: relative;
    clear: both;
    margin: 15px auto 0;
}

.pagetop {
    border-top: 1px dotted #b6b6b6;
}

.pagetop img, .pagetop2 img {
    vertical-align: middle;
    margin-right: 3px;
}

.pagetop a:hover, .pagetop2 a:hover {
    color: #06c;
    text-decoration: underline;
}

.pagetop a, .pagetop a:visited,
.pagetop2 a, .pagetop2 a:visited {
    color: #039;
    text-decoration: underline;
}


.pagetop-auto {
	display: none;
	position: fixed;
	bottom: 60px;
	right: 0px;
	z-index: 9999;
}
.pagetop-auto a {
	display: block;
	width: 55px;
	height: 55px;
	background-color: #a8a8a8;
	border-radius: 4px;
	text-align: center;
	padding-top: 18px;
	box-sizing: border-box;
}
.pagetop-auto img {
	width: 20px;
	height: auto;
	
}
.pagetop-auto a:hover {
	filter:alpha(opacity=80);
	opacity:0.80;
	-moz-opacity:0.80;
}



/*========================
■19: .blockend
========================*/
.blockend {
    clear: both;
}

/*========================
■20: .clearfix
========================*/
.clearfix:after{
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix{
    display: inline-block;
}

/* Hides from IE-mac */
* html .clearfix{
    height: 1%;
}

.clearfix{
    display: block;
}
/* End hide from IE-mac */


/*========================
■21: img
========================*/
img {
    border: none;
}



/*
hr.separator{
    display: none;
}
*/
