@charset "UTF-8";

/* header.css
**************************************************************************************/

/* header-layout
=============================================================================*/

#header {
    background: #FFFFFF;
}
#header .header-area-in {
    width: 1050px;
    margin: 0 auto;
}
#header .header-area-in-box {
    display: table;
    width: 100%;
    height: 75px;
}
#header .header-main {
    display: table-cell;
    vertical-align: middle;
}
#header .header-sub {
    width: 550px;
    display: table-cell;
    padding-top: 5px;
    position: relative;
    vertical-align: middle;
}

@media screen and (max-width: 679px) {
.header-area ,
.home .header-area {
	margin-bottom:0;
}
#header .header-area-in {
	width:auto;
	position:relative;
}
#header .header-area-in-box {
	display:block;
	height:auto;
}
#header .header-main {
	display:block;
	width:100%;
	vertical-align:top;
}
#header .header-sub {
	width:auto;
	display:block;
	padding:0;
	position:static;
	vertical-align:top;
}
}

/* header-main
=============================================================================*/

#header .header-main .logo {
    padding: 15px 0;
    word-break: break-all;
}
#header .header-main .logo img {
	vertical-align:middle;	
}
#header .header-main .logo a {
    font-weight: bold;
    text-decoration: none;
    color: #111111;
    line-height: 1.4em;
}
#header .header-main .logo a span {
    font-weight: bold;
    font-size: 20px;
	vertical-align:middle;
}

@media screen and (max-width: 679px) {
#header .header-main .logo {
    padding: 15px 40px;
	min-height:40px;
	text-align: center;
}
#header .header-main .logo a {
	display:block;
	min-height:40px;
	position: relative;
}
#header .header-main .logo a span.txt-area {
	display:table;
	height:40px;
	width:100%;
}
#header .header-main .logo a span.txt-area span {
	font-size:14px;
	display:table-cell;
	vertical-align:middle;
}
#header .header-main .logo img {
	max-width: 100%;
	height: auto;
}
}

/* header-sub
=============================================================================*/

#header .header-sub .header-sub-navi {
    text-align: right;
    font-size: 11px;
    float: right;
    margin-left: 15px;
    padding-top: 2px;
}
#header .header-sub .header-sub-navi a {
    padding-left: 14px;
    background: url("../../image/header-ar001.png") no-repeat 0 center / 5px auto;
	text-decoration: none;
	color: #111111;
}

@media screen and (max-width: 679px) {
#header .header-sub .header-sub-navi {
	display: none;
}
}

/*フォントサイズ変更*/
#header div#fontController {
    float: right;
    width: 106px;
    padding: 0 0 0 90px;
    background: url("../../image/fontsize-tx001.gif") no-repeat 0 8px;
}
#header div#fontController dt {
    display: none;
}
#header div#fontController dd {
    float: left;
}
#header div#fontController dd a {
    display: block;
    height: 30px;
    text-indent: 101%;
    font-size: 1px;
    white-space: nowrap;
    overflow: hidden;
    background: url("../../image/fontsize-bt001.gif") no-repeat 0 0;
}
#header div#fontController dd.small,
#header div#fontController dd.small a {
    width: 32px;
    background-position: 0 0;
}
#header div#fontController dl dd.small a:hover,
#header div#fontController dl dd.small a.small-btn-on {
    background-position: 0 bottom;
}
#header div#fontController dd.middle,
#header div#fontController dd.middle a {
    width: 42px;
    background-position: -32px 0;
}
#header div#fontController dl dd.middle a:hover,
#header div#fontController dl dd.middle a.reset-btn-on {
    background-position: -32px bottom;
}
#header div#fontController dd.large,
#header div#fontController dd.large a {
    width: 32px;
    background-position: -74px 0;
    float: right;
}
#header div#fontController dl dd.large a:hover,
#header div#fontController dl dd.large a.large-btn-on {
    background-position: -74px bottom;
}

@media screen and (max-width: 679px) {
#header div#fontController {
	display: none;
}
}

/* サイト内検索 */
#header .search-btn {
    display: none;
}
#header div.search-wrap {
    float: right;
    margin-left: 23px;
}
#header div.search-area-in {
    width: 28px;
    padding: 0 0 0 172px;
    position: relative;
    height: 28px;
    margin: 0;
    font-size: 1px;
	border-bottom: 1px solid #111111;
    top: -1px;
}
#header div.search-area input.input-q {
    font-size: 12px;
    width: 137px;
    height: 22px;
    border: 1px solid #e9e9e9;
    padding: 2px 10px;
    position: absolute;
    top: 0;
    left: 0;
}
#header div.search-area input.rollover {
    font-size: 1px;
}
#cse-search-results iframe {
    height: auto !important;
}
#header input#btn01 {
    height: 28px;
}
#header div.search-area-in #btn01 {
    width: 15px;
    height: 15px;
	position: relative;
	top: 6px;
	right: -6px;
}

@media screen and (max-width: 679px) {
#header .search-btn {
	display:block;
	width:20px;
	height:20px;
	position:absolute;
	top:20px;
	right:20px;
}
#header .search-btn img {
	width:19px;
	vertical-align: top;
}
#header div.search-wrap {
	display:none;
	position:absolute;
	top:54px;
	right:0;
	z-index:100;
	float:none;
	margin:0;
	width:100%;
}
#header div.search-deco {

	background:url("../../image/sp/menu-dc002.png") no-repeat right -47px top;
	padding:6px 0 0 0;
}
#header div.search-area {
	padding:20px 0 0 0;
	height:55px;
	background:url("../../image/sp/menu-bg001.png") repeat 0 0;
}
#header div.search-area-in {
	margin:0 auto;
	padding:0 0 0 200px;
	width:38px;
}
#header div.search-area input.input-q {
	height:35px !important;
	width:200px !important;
	border:none !important;
	font-size:14px;
    box-sizing:border-box;
}
#header input#btn01 {
	height:19px;
}
#header div.search-area-in #btn01 {
    width: 19px;
    height: 19px;
}
}

/* gnavi
=============================================================================*/

.gnavi-area {
    background-color: #0e7ac4;
}
#gnavi {
    width: 1050px;
    margin: 0 auto;
}
#gnavi ul {
    padding: 0;
}
#gnavi ul li {
    float: left;
    line-height: 1;
}
#gnavi ul li a {
    display: block;
    padding: 25px 36px 23px 35px;
    color: #ffffff;
    text-decoration: none;
    font-size: 123%;
	position: relative;
}
#gnavi ul li:first-child a::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 1.5em;
	width: 1px;
	height: 1em;
	background: #ffffff;
}
#gnavi ul li a::after {
    content: '';
	display: block;
	position: absolute;
	right: 0;
	top: 1.5em;
	width: 1px;
	height: 1em;
	background: #ffffff;
}
#gnavi ul li a.current {
    background-color: #4c93c3;
}
#gnavi ul li a:hover {
	background-color: #4c93c3;
}

/*menu*/
#header .menu-btn,
#header .menu-area {
    display: none;
}

@media screen and (max-width: 679px) {
.gnavi-area {
	display: none;
}
.menu-area {
	width: 100%;
	display: none;
	position: absolute;
	top: 54px;
	left: 0;
	z-index: 100;
	background: none;
}
#menu {
	width: 100%;
	background: url("../../image/sp/menu-dc001.png") no-repeat left 22px top;
	padding: 6px 0 0 0;
}
#menu ul {
	background: url("../../image/sp/menu-bg001.png") repeat 0 0;
	padding: 0;
}
#menu ul li {
	float: none;
	width: 100%;
	padding: 0;
	border-bottom: 1px solid #666;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#menu ul li a {
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	background: none;
	background: url("../../image/sp/menu-ar001.png") no-repeat 7px center;
	background-size: 7px auto;
	padding: 18px 5px 18px 20px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 1.4em;
}
#menu ul li a.current {
	background-color: transparent;
}

/*menu*/
#header .menu-btn {
	display:block;
	position:absolute;
	top:20px;
	left:20px;
}
#header .menu-btn img {
	width:20px;
	vertical-align: top;
}
}
