@charset "utf-8";
html {
	background:#ffffff;
}

body {
	font-family: "TBゴシック M", "TBGothic M", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-size:100%;
	background:#ffffff;
}

#search_txt {
	font: inherit;
	min-height: 23px;
	margin:0 0 0 -8px;
	padding:12px 0;
	border-top:2px solid #c8c8c8;
	border-right:2px solid #c8c8c8;
	border-bottom:2px solid #c8c8c8;
	border-left:none;
}

.clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }
* html .clearfix { height:1%; }
.clearfix { display:block; }


.pcHide {
	display:none !important;
}

.spImg {
	display:none !important;
}

#wrap {
	position:relative;
	max-width:1024px;
	margin:0 auto;
}

#pageWrap {
	width: 100%;
	overflow: hidden;
}
@media screen and (max-width: 1040px) {
	#wrap,#pageWrap {
		width:1024px;
	}
}

.fl_left {
	float:left;
}

.fl_right {
	float:right;
}

.border_b_2 {
	border:2px solid #282828;
}

#overlay {
	display:none;
	position:fixed;
	top:64px;
	left:0;
	width:100%;
	height:93%;
	background:#000;
	filter: alpha(opacity=30);
	-moz-opacity:0.3;
	opacity:0.3;
	z-index:1000;
	overflow:hidden;
}

.sample {
	height:1000px;
}
/********** header set **********/

#header {
	position: fixed;
	width: 100%;
	height: 64px;
	z-index:1002;
}
#header .headerWrap {
	position: relative;
	max-width: 1600px;
	margin: 0 auto;
	background: #fff;
}
#header nav {
	width:1024px;
	margin:0 auto;
	text-align:center;
}

#header .logo {
	position: relative;
	top:0;
	left:0;
	width:168px;
	height:64px;
	background:url(../images/logo.png) no-repeat;
	z-index:1002;
}
#header .logo a {
	display: block;
	width:168px;
	height:64px;
}

#header .gnav {
	position:fixed;
	top:0;
	left: 0;
	width: 100%;
	text-align: center;
	letter-spacing: -0.4em;
	font-size:94%;
	z-index:1001;
}

#header .gnav li {
	position:relative;
	display: inline-block;
	padding: 0 10px;
	text-align: left;
	letter-spacing: 0;
	vertical-align: top;
}
#header .gnav li li {
	display: block;
}

#header .gnav li .inner {
	position:absolute;
	top:64px;
	left:0;
	width:100%;
	background:#ffffff;
	-webkit-transition: all .2s ease;
    transition: all .2s ease;
	visibility:hidden;
	opacity:0;
	z-index:1001;
}

#header .gnav li:hover .inner {
	visibility: visible;
    opacity: 1;
}

#header .gnav li .inner .link {
	background:#ffffff;
	border-top:1px solid #e0e0e0;
	margin:0 10px;
	padding: 30px 40px 40px;
	font-size:96%;
}

#header .gnav li .inner .link li {
	float: none;
	margin:10px 0 0 0;
	padding:3px 0;
	text-indent:2em;
	background:url(../images/shape_01.png) no-repeat left center;
}

#header .gnav li .inner .link li a {
	display:inherit;
	padding:0;
	border-bottom:none;
}

#header .gnav li .inner .link li a:hover {
	border-bottom:none;
}

#header .gnav li .inner .link li .db-img {
	padding:0 20px 0 0;
	background:url(../images/target.gif) no-repeat right center;
}

#header .gnav li.nav06 {
	width:24px;
	margin:0 0;
}

#header .gnav li a,
#header .gnav li .nav {
	display:block;
	padding:22.5px 0;
	border-bottom:4px solid #ffffff;
}

#header .gnav .inner li a {
	padding:0;
	border-bottom:none;
}

#header .gnav li.nav06 a {
	padding:22px 0;
}

#header .gnav li.nav06 .inner {
	left:-300px;
	width:397px;
}

#header .gnav li.nav06 .inner .search_box {
	margin:15px 20px 20px 20px;
	padding: 0;
    background: none;
    box-shadow: none;
	text-align: center;
}

#header .gnav li.nav06 .inner .search_box .img {
	padding:11.5px;
	border-top:2px solid #c8c8c8;
	border-bottom:2px solid #c8c8c8;
	border-left:2px solid #c8c8c8;
}

#header .gnavEn li.nav02 .inner {
	left:-17px;
	width:190px;
	background: none;
}
#header .gnavEn li.nav03 .inner {
	left:-69px;
	width:280px;
	background: none;
}

#header .gnavCh li.nav02 .inner {
	left:-15px;
	width:180px;
	background: none;
}
#header .gnavCh li.nav03 .inner {
	left:-65px;
	width:210px;
	background: none;
}

#header .gnavEs li.nav02 .inner {
	background: none;
}
#header .gnavEs li.nav03 .inner {
	left:-113px;
	width:370px;
	background: none;
}

#search_txt {
	width:250px;
	background:#ffffff;
}

#header .gnav li .nav:hover {
	border-bottom:4px solid #e60012;
}

#header .gnav li.hover .nav {
	border-bottom:4px solid #e60012;
}
#header .gnavAct01 li.nav01 .nav,
#header .gnavAct02 li.nav02 .nav,
#header .gnavAct03 li.nav03 .nav,
#header .gnavAct04 li.nav04 .nav,
#header .gnavAct05 li.nav05 .nav {
	border-bottom:4px solid #e60012;
}

#header li.nav03 .nav{
	border-bottom:4px solid #e60012;
}


#header .contact {
	position: absolute;
	top:0;
	right:0;
	width:168px;
	height:64px;
	text-indent:2em;
	line-height:64px;
	background:#f8f8f8 url(../images/shape_01.png) no-repeat 22px center;
	z-index:1001;
}

#header .contact a {
	display:block;
}

#header .contact .inner {
	position:absolute;
	top:64px;
	left:-243px;
	width:371px;
	padding:0 0 40px 40px;
	text-align:left;
	background:#ffffff;
	border-top:1px solid #e0e0e0;
	-webkit-transition: all .2s ease;
    transition: all .2s ease;
	visibility:hidden;
    opacity: 0;
	z-index:1001;
}

#header .contact:hover .inner {
	visibility: visible;
    opacity: 1;
}

#header .contact .inner p {
	margin:0 0 25px 70px;
	font-size:94%;
	line-height:146%;
	text-indent:0;
}

#header .contact .inner .tel {
	width:331px;
	margin:40px 0 10px 0;
	padding:1% 0;
	font-size:207%;
	font-weight:bold;
	line-height:100%;
	text-indent:2em;
	background:url(../images/shape_02.png) no-repeat 0.5em center;
	background-size:40px 40px;
}

#header .contact .inner .contact2 {
	width:331px;
	margin:0;
	font-size:119%;
	text-indent:2.5em;
	background:#f8f8f8 url(../images/shape_03.png) no-repeat 1em center;
	background-size:38px 30px;
	border-bottom:2px solid #ffffff;
}

#header .contact .inner .contact2 a {
	display:block;
	padding:30px 0 30px 22px;
}

#header .contact .inner .inquiry {
	width:331px;
	margin:0;
	font-size:119%;
	text-indent:2.5em;
	background:#f8f8f8 url(../images/shape_04.png) no-repeat 1em center;
	background-size:34px 44px;
	border-bottom:2px solid #ffffff;
}

#header .contact .inner .inquiry a {
	display:block;
	padding:30px 0 30px 22px;
}
@media screen and (max-width: 1040px) {
	#header {
		width: 1024px;
		margin: 0 auto;
	}
	#header .gnav {
		position: absolute;
	}
	#header .contact {
		position: absolute;
	}
}



/********** header_fix set **********/

#header_fix {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	border-top:1px solid #e6e6e6;
	background:#ffffff;
	z-index:1001;
	overflow: hidden;
}

#header_fix .up {
	float: right;
	width:9.37%;
	margin:0 0 0 auto;
}

#header_fix .up img {
	width:100%;
}

#header_fix ul {
	width: 90.62%;
	text-align:left;
	font-size:105%;
	font-weight:bold;
	letter-spacing:-0.4em;
}

#header_fix ul li {
	display:inline-block;
	padding: 3.5% 0 3.5%;
	margin-left: 14px;
	letter-spacing:0;
/*	font-size: 11px;*/
	font-size: 10px;
}

#header_fix ul li.tel {
	text-indent:1.5em;
	background:url(../images/shape_07.png) no-repeat left center;
	background-size:13px auto;
}

#header_fix ul li.contact {
	text-indent:1.7em;
	background:url(../images/shape_03.png) no-repeat left center;
	background-size:14px auto;
}

#header_fix ul li.inquiry {
	text-indent:1.5em;
	background:url(../images/shape_04.png) no-repeat left center;
	background-size:11px auto;
}



/********** footer set **********/
#footer2 {
	position:relative;
	width:1024px;
	margin:0 auto;
	text-align:center;
}

#footer2 .logo {
	position: relative;
	margin:40px 0 0 40px;
	text-align:left;
}

#footer2 .logo p {
	display:inline-block;
	margin:0 0 0 25px;
	font-size:94%;
	line-height:56px;
	vertical-align:top;
}

#footer2 .logo .img {
	width:145px;
	height:56px;
	margin:0;
	background:url(../images/logo.png) no-repeat;
	background-size:contain;
}
#footer2 .logo .img a {
	display: block;
	width:145px;
	height:56px;
}

#footer2 .fb-like{
	position:absolute;
	top:20px;
	right:37px;
	width:71px;
	height:20px;
}

#footer2 .link {
	margin:40px 0 0 40px;
	text-align:left;
	box-sizing:border-box;
}

#footer2 .link ul {
	float: left;
	font-size:82%;
	line-height:1.5;
	letter-spacing:-0.2em;
}
#footer2 .link ul.lang {
	margin-left: 25px;
	padding-left: 25px;
	border-left:1px solid #c8c8c8;
}

#footer2 .link ul li {
	display:inline-block;
	margin:0 13.5px 0 0;
	text-indent:0.5em;
	background:url(../images/shape_05.gif) no-repeat left 0.45em;
	letter-spacing:0;
}

#footer2 .copy {
	float: right;
	width:180px;
	margin:40px 0 0 27px;
	text-align:left;
	font-size:82%;
	line-height:1.5;
}

.f_up {
	clear:both;
	width:40px;
	height:40px;
	margin:0 0 0 auto;
}

.f_up a {
	position: fixed;
	bottom: 0;
	right: 0;
	display:none;
	padding:40px 40px 0 0;
	background:url(../images/up.gif) no-repeat center bottom;
}


/********** template **********/

/* main */

#main {
	position: relative;
	width: 944px;
	margin: 0 auto 100px;
	padding: 64px 0 0;
	line-height: 1.5;
}

.ctBox {
	width: 773px;
	margin: 0 auto;
}

#main div.map dl {
	height: 105px;
}

/* contents */

#contents {
	width: 736px;
	float: left;
	margin-top: 0;
}

/* sub_col (3col right nav) */

#sub_col {
	width: 160px;
	float: right;
	margin-top: 0;
}


/* bread */

#bread {
	font-size: 13px;
	margin: 22px 0 36px;
	font-weight: bold;
}
#bread li {
	float: left;
	margin-right: 7px;
}
#bread a {
	margin-right: 7px;
	color: #282828;
}
#bread li span {padding-right: 7px;}
#bread li:nth-child(n+2) a {text-decoration: none;}
#bread img {vertical-align: text-top;}


/* title */

h1.title {
	font-size: 37px;
	border-bottom: none;
	text-align: center;
	margin: 0 0 36px;
	padding: 0;
	font-family: inherit;
}
h1.title span {
	display:inline-block;
	font-size: 23px;
	font-weight: normal;
	line-height: 1.3;
}
h2.title {
	margin: 48px 0 38px;
	padding: 22px 0 0;
	border-top: 1px solid #dedede;
	font-size: 27px;
	font-weight: bold;
	line-height: 30px;
	font-family: inherit;
}
h3.title,
h4.title {
	font-family: inherit;
}

/*** table ***/

#main .basic_table {
	border: none;
	border-top: 1px solid #dedede;
	border-right: 1px solid #dedede;
	width: 100%;
	font-size: 15px;
}
#main .basic_table th {
	background: #f4f4f4;
	font-weight: bold;
	border: none;
	border-left: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
	vertical-align: top;
	text-align: left;
	padding: 16px 20px;
}
#main .basic_table td {
	background: #FFF;
	border: none;
	border-left: 1px solid #dedede;
	border-bottom: 1px solid #dedede;
	vertical-align: top;
	padding: 16px 20px;
}
#main .basic_table td p {
	margin: 0;
}

.th10 th { width: 10%; }
.th15 th { width: 15%; }
.th25 th { width: 25%; }
.th20 th {width: 20%;}
.th30 th {width: 30%;}
.th35 th { width: 35%; }
.th40 th {width: 40%;}


@media screen and (max-width: 640px) {

#pageWrap,
#wrap {
	width: 100%;
}

#pageWrap {
	padding-top: 17.18%;
}

.spHide {
	display:none !important;
}

.pcHide {
	display:inherit !important;
}
	
.spImg {
	display:inherit !important;
}

.pcImg {
	background:none !important;
}

#overlay {
	top:0;
}

body {
	font-size:50%;
	overflow-x:hidden;
}

/********** header set **********/

#header {
	height: auto;
}

#header .logo {
	position:fixed;
	width:100%;
	height:auto;
	z-index:900;
	background: #d8000f !important;
	text-align: center;
}
#header .logo a {
	display: inline;
	width: auto;
	height: auto;
}

#header .logo img {
	width:100%;
}

#header nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
  	-webkit-overflow-scrolling: touch;
	z-index: 1000;
}

#header .gnav {
	position: absolute;
	top:0;
	left: auto;
	right:-83%;
	width:83%;
	margin:0;
	padding:7% 0 50px;
	text-align:left;
	font-size:200%;
	font-weight:bold;
	background:#ffffff;
}

#header .gnav > li {
	float:none;
	display: block;
	padding:0 0 0 4%;
	text-indent:2em;
	background:none;
	border-bottom:1px solid #c8c8c8;
}

#header .gnav li .inner {
	display:none;
	position:relative;
	top:inherit;
	left:inherit;
	width:97%;
	margin:0;
	visibility:visible;
    opacity:1;
	background:#ffffff;
	border-top:none;
	-webkit-transition: none;
    transition: none;
}

#header .gnav li.open .nav {
	background:url(../images/shape_01_sp.png) no-repeat 0.3em center , url(../images/shape_06_on.png) no-repeat 90% center;
	background-size:16px 16px , 10px 7px;
}

#header .gnav li .inner .link {
	margin:0 0 8% 0;
	font-size:75%;
}

#header .gnav li .inner .link li {
	float:none;
	margin:0 0 4% 0;
	padding:3px 0;
	background:none;
}

#header .gnav li .inner .link li a {
	display:inherit;
	padding:0;
	border-bottom:none;
	background:none;
}

#header .gnav li .inner .link li a:hover {
	border-bottom:none;
}

#header .gnav li .inner .link li span {
	padding:0 1.5em 0 2em;
	background-image:url(../images/shape_01.png);
	background-repeat:no-repeat;
	background-position:left center;
	background-size:contain;
}

#header .gnav li .inner .link li span.db-img {
	padding:0 1.5em 0 2em;
	background-image:url(../images/shape_01.png) , url(../images/target.gif);
	background-repeat:no-repeat , no-repeat;
	background-position:left center , right center;
	background-size:16px 16px , 10px 8.4px;
}

#header .gnav li.nav01 ,
#header .gnav li.nav02 ,
#header .gnav li.nav03 ,
#header .gnav li.nav04 ,
#header .gnav li.nav05 ,
#header .gnav li.nav06 {
	width:auto;
	margin:0;
}

#header .gnav li.nav07 {
	padding:16% 0 5.7%;
	background:none;
	border-bottom:none;
}

#header .gnav li.nav07 p {
	margin:0 0 0 15%;
	font-size:63%;
	font-weight:bold;
	line-height:160%;
	text-indent:0;
}

#header .gnav li.nav07 .tel {
	margin:0 0 5.5% 0;
	padding:1% 0;
	font-size:138%;
	font-weight:bold;
	line-height:100%;
	text-indent:1.8em;
	background:url(../images/shape_02.png) no-repeat 0.5em center;
	background-size:24px 24px;
}

#header .gnav li.nav08 {
	padding:6.2% 0 6.2% 4%;
	background:#f8f8f8 url(../images/shape_03.png) no-repeat 1em center;
	background-size:19px 15px;
	border-bottom:1px solid #ffffff;
}

#header .gnav li.nav09 {
	padding:6.2% 0 6.2% 4%;
	background:#f8f8f8 url(../images/shape_04.png) no-repeat 1em center;
	background-size:17px 22px;
	border-bottom:1px solid #ffffff;
}

#header .gnav li.nav11 {
	padding:7.5% 0 15% 3%;
	text-indent:0;
	background:none;
}

#header .gnav li.nav11 .search_box {
	width:95%;
	border:1px solid #c8c8c8;
}

#header .gnav li.nav11 .search_box .img {
	padding:4.6%;
	border-top:none;
	border-bottom:none;
	border-left:none;
}

#search_txt_sp {
	width:70%;
	margin:0;
	padding:4% 0;
	border-top:none;
	border-right:none;
	border-bottom:none;
	border-left:none;
	vertical-align:top;
}


#header .gnav li.nav02 .inner ,
#header .gnav li.nav03 .inner ,
#header .gnav li.nav04 .inner ,
#header .gnav li.nav05 .inner ,
#header .gnav li.nav06 .inner {
	left:0;
	width:97%;
}

#header .gnav li .btn {
	position: absolute;
	top: 0;
	right: 0;
	width: 20%;
	padding-top: 17.41%;
}

#header .gnav li a,
#header .gnav li .nav {
	display:block;
	padding:6.3% 0;
	border-bottom:none;
	background:url(../images/shape_01_sp.png) no-repeat 0.3em center , url(../images/shape_06_off.png) no-repeat 90% center;
	background-size:16px 16px , 10px 7px;
}
#header .gnav li .nav {
	border-bottom:none !important;
}
#header .gnav .nav01 .btn {
	display: none;
}
#header .gnav .nav01 a {
	background:url(../images/shape_01_sp.png) no-repeat 0.3em center;
	background-size:16px 16px;
}

#header .gnav li.nav07 a ,
#header .gnav li.nav08 a ,
#header .gnav li.nav09 a {
	padding:0;
	background:none;
}
#header .gnav li.nav02 .nav,
#header .gnav li.nav03 .nav,
#header .gnav li.nav10 .nav {
	background:url(../images/shape_06_off.png) no-repeat 90% center;
	background-size:10px 7px;
}
#header .gnav li.nav10.open .nav {
	background:url(../images/shape_06_on.png) no-repeat 90% center;
	background-size:10px 7px;
}

#header .gnav li .nav:hover {
	border-bottom:none;
}

#header .gnav li.hover .nav {
	border-bottom:none;
}

#header .menu {
	position:fixed;
	top:0;
	right:0;
	width:17%;
	margin: 0;
	z-index:1001;
}

#header .menu img {
	width:100%;
}

/********** footer set **********/
#footer2 {
	width:100%;
	padding:0 3.125%;
	box-sizing:border-box;
}

#footer2 .logo {
	float:none;
	width:100%;
	margin:6.7% 0 0 0;
	text-align:center;
}

#footer2 .logo p {
	display:block;
	margin:4% 0 0 0;
	font-size:140%;
	line-height:normal;
}

#footer2 .logo .img {
	width:auto;
	height:auto;
	margin:0;
}
#footer2 .logo .img a {
	display: inline;
	width:auto;
	height:auto;
}

#footer2 .logo .img img {
	width:61.3%;
}

#footer2 .link {
	width:100%;
	margin:6% 0 0 0;
	text-align:center;
	border-left:none;
	border-right:none;
}

#footer2 .link ul {
	float: none;
	width:61.3%;
	margin: 0 auto;
	padding:0;
	font-size:110%;
	line-height:normal;
	letter-spacing:-0.2em;
}

#footer2 .link ul li {
	display:block;
	margin:3.12% 0 0;
	padding-left: 1em;
	text-indent:0;
	background:url(../images/shape_05_sp.gif) no-repeat left 0.4em;
	background-size:4px 6px;
	letter-spacing:0;
	text-align: left;
}
#footer2 .link ul li br {
	display: none;
}
#footer2 .link ul li br.fix {
	display: inline;
}

#footer2 .copy {
	position:relative;
	width:100%;
	margin:7% 0 30% 0;
	text-align:left;
	font-size:100%;
}

#footer2 .fb-like{
	position:absolute;
	top:0;
	left:15%;
	width:71px;
	height:20px;
}

#footer2 .copy p {
	margin:0 0 0 43%;
}

.f_up {
	width:9.4%;
	height:auto;
}

.f_up img {
	width:100%;
}

.f_up a {
	display:inherit;
	padding:0;
}


/********** template **********/

header.top img {
	max-width: 100%;
	height: auto;
}

/* main */

#main {
	width: auto;
	margin-bottom: 19.06%;
	padding: 0 3.12%;
}
#main img {
	max-width: 100%;
	height: auto;
}

.topWrap {
	padding-top: 49.31%;
}

.ctBox {
	width: auto;
}
.ctBox .flR {
	float: none;
}
.ctBox.menu li,
.ctBox.menu li:first-child,
.ctBox.menu li:last-child {
	float: none;
	margin: 10px 0 0;
	text-align: center;
}

body.voice .ctBox div.xj_box table {
	width: 100%;
}
#wrap .xj_box table td.volume {
	padding-left: 0;
	background: none;
}

#wrap .under table {
	width: 100% !important;
}

/* contents */

#contents {
	width: auto;
	float: none;
}

/* sub_col (3col right nav) */

#sub_col {
	width: auto;
	float: none;
}


/* bread */

#bread {
	font-size: 10px;
	margin: 7px 0 20px;
	font-weight: bold;
}
#bread li.spHide {
	display: none;
}


/* title */

h1.title {
	font-size: 20px;
	margin: 0 0 20px;
}
h1.title span {
	font-size: 14px;
}

h2.title {
	margin: 8.33% 0 16px;
	padding: 10px 0 0;
	border-top: 1px solid #dedede;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}

/*** table ***/

#main .basic_table {
	font-size: 12px;
}
#main .basic_table th,
#main .basic_table td {
	padding: 6px 8px;
}
#main .basic_table.spSingle {
	border-right: none;
}
#main .basic_table.spSingle th,
#main .basic_table.spSingle td {
	display: block;
	width: 100% !important;
	min-height: 29px;
	border-right: 1px solid #dedede;
	box-sizing: border-box;
	font-size: 11px;
}
#main .basic_table.spSingle th {
	margin-top: 3.33%;
	border-top: 1px solid #dedede;
}


}
