@charset "UTF-8";
/* CSS Document */
/*----------------------------------------
	BASE
----------------------------------------*/
/*--- key color ---*/
/*--- font size ---*/
/*--- 10px ---*/
/*--- 11px ---*/
/*--- 12px ---*/
/*--- 14px ---*/
/*--- 16px ---*/
/*--- 18px ---*/
/*--- 20px ---*/
/*--- 22px ---*/
/*--- 24px ---*/
/*--- 26px ---*/
/*--- 28px ---*/
/*--- 30px ---*/
.heightClear { font-size: 0; line-height: 0; }

.noObj { display: none; }

.fontBold { font-weight: bold; }

html, body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, del, ins, em, img, hr, q, strong, sub, sup, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, object { margin: 0; padding: 0; font-weight: normal; }

html, body { width: 100%; height: 100%; }

body { font-family: YuGothic,'游ゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Verdana,"ＭＳ ゴシック","Osaka−等幅",sans-serif; text-align: left; font-size: 86%; font-style: normal; font-weight: normal; line-height: 1.6; color: #555555; position: relative; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/*----- sfari&chrome font-size setting ----- */
html[xmlns*=""]:root body { font-size: 86%; }

@media screen and (-webkit-min-device-pixel-ratio: 0) { body { font-size: 86%; } }
/*----- テキスト選択時の色変更 ----- */
::-moz-selection { background: #f1ebd8; text-shadow: none; }

::selection { background: #f1ebd8; text-shadow: none; }

section, article, hgroup, header, footer, nav, aside, figure, mark, time { display: block; }

img { border: none; vertical-align: top; }

a { text-decoration: none; color: #555555; }

ul li { list-style-type: none; }

textarea { font-size: 100%; }

table { border-collapse: collapse; border-spacing: 0; border: 0; }

input, textarea, select { font-size: 1em; font-weight: normal; }

address { font-style: normal; }

#responsiveCheck { width: 1px; height: 1px; visible: hidden; overflow: hidden; margin: 0 auto; }

/*---------- 共通系
----------*/
body.noScroll, body.noScrollIe { position: fixed; }
body.noScroll { overflow: hidden; }
body.noScrollIe { overflow-y: scroll; overflow-x: hidden; }

/*---------- 1024px以上（PC用）
----------*/
@media screen and (min-width: 1024px) { body { width: 100%; height: 100%; letter-spacing: 0.05em; }
  body #responsiveCheck { width: 1px; }
  body .objTab, body .objSp { display: none; }
  body .objPc { display: block; }
  body img { width: 100%; }
  header { z-index: 100; position: absolute; width: 100%; top: 0; background-color: #fff; background-color: rgba(255, 255, 255, 0.8); }
  header .table { display: table; width: 100%; clear: both; }
  header .table .tableRow { display: table-row; }
  header .table .tableRow .tableCell { display: table-cell; vertical-align: top; }
  header .table .tableRow .tableCell p { padding: 0 15px; }
  header .table .tableRow .headerLogo { width: 324px; }
  header .table .tableRow .headerLogo h1 { padding: 12px 0 13px 20px; }
  header .table .tableRow .headerNav { text-align: right; overflow: hidden; padding-top: 36px; }
  header .table .tableRow .headerNav .langeage { text-align: right; padding: 24px 20px 15px 0; line-height: 0; overflow: hidden; }
  header .table .tableRow .headerNav .langeage li { width: 73px; float: right; }
  header .table .tableRow .headerNav .langeage li a { display: block; }
  header .table .tableRow .headerNav .langeage li img { width: 100%; }
  header .table .tableRow .headerNav .navTable { float: right; display: table; }
  header .table .tableRow .headerNav .navTable .navTableRow { display: table-row; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell { display: table-cell; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell p { padding: 0 15px; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell p a { letter-spacing: 0; display: block; font-size: 96%; }
  header .table .tableRow .headerNav .navTable div.navTableRow div.navTableCell:last-child p { padding-right: 20px; }
  footer #footerNavi { margin-top: 90px; background-color: #f1f1f1; padding-bottom: 60px; }
  footer #footerNavi dl { width: 960px; overflow: hidden; margin: 0 auto; }
  footer #footerNavi dl dd { width: 25%; overflow: hidden; float: left; }
  footer #footerNavi dl dd .footerTitle { padding: 0 10px 20px 0; font-weight: bold; font-size: 100%; color: #333333; }
  footer #footerNavi dl dd ul { width: 192px; overflow: hidden; }
  footer #footerNavi dl dd ul li { padding: 0 10px 12px 0; text-align: left; font-size: 86%; line-height: 1.4; }
  footer #footerNavi dl dd ul li a { color: #555555; }
  footer #footerNavi dl#footerFirstTable { padding-top: 80px; }
  footer #footerNaviSecond { padding: 1px 0; border-bottom: 1px solid #eeeeee; }
  footer #footerNaviSecond #footerNaviSecondBox { width: 960px; margin: 0 auto; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable { display: table; width: 100%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow { display: table-row; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell { display: table-cell; vertical-align: middle; overflow: hidden; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft { overflow: hidden; float: left; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft p { float: left; padding-right: 30px; font-size: 86%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft p a { color: #555555; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight { float: right; overflow: hidden; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight p { float: left; font-size: 86%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerContact { margin-right: 1px; background-color: #009b3f; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerContact a { padding: 15px 45px; display: block; color: #FFFFFF; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerPageTopBtn { background-color: #00a8b2; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerPageTopBtn a { padding: 15px 10px; display: block; color: #FFFFFF; }
  footer #footerCopyRight { padding: 50px 0 50px; font-size: 78%; text-align: center; } }
/*---------- 768px-1023px用（TABLET用）
----------*/
@media screen and (min-width: 768px) and (max-width: 1023px) { body { width: 100%; height: 100%; letter-spacing: 0.05em; }
  body #responsiveCheck { width: 2px; }
  body .objTab, body .objSp { display: none; }
  body .objPc { display: block; }
  body img { width: 100%; }
  header { z-index: 100; position: absolute; width: 100%; top: 0; background-color: #fff; background-color: rgba(255, 255, 255, 0.8); }
  header .table { width: 100%; clear: both; }
  header .table .tableRow { position: relative; }
  header .table .tableRow .tableCell { vertical-align: top; }
  header .table .tableRow .tableCell p { padding: 0 15px; }
  header .table .tableRow .headerLogo { width: 275px; }
  header .table .tableRow .headerLogo h1 { padding: 12px 0 24px 20px; }
  header .table .tableRow .headerNav { text-align: right; }
  header .table .tableRow .headerNav .langeage { position: absolute; right: 0; top: 0; text-align: right; padding: 24px 20px 15px 0; line-height: 0; overflow: hidden; }
  header .table .tableRow .headerNav .langeage li { width: 73px; float: right; }
  header .table .tableRow .headerNav .langeage li a { display: block; }
  header .table .tableRow .headerNav .langeage li img { width: 100%; }
  header .table .tableRow .headerNav .navTable { position: absolute; right: 0; top: 34px; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell { display: inline-block; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell p { padding: 0 10px; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell p a { letter-spacing: 0; display: block; }
  header .table .tableRow .headerNav .navTable div.navTableRow div.navTableCell:last-child p { padding-right: 20px; }
  footer #footerNavi { margin-top: 70px; background-color: #f1f1f1; padding-bottom: 40px; }
  footer #footerNavi dl { overflow: hidden; margin: 0 auto; }
  footer #footerNavi dl dd { width: 25%; overflow: hidden; float: left; }
  footer #footerNavi dl dd .footerTitle { padding: 0 8px 15px 0; font-weight: bold; font-size: 100%; color: #333333; }
  footer #footerNavi dl dd ul { width: 100%; overflow: hidden; }
  footer #footerNavi dl dd ul li { padding: 0 8px 10px 0; text-align: left; font-size: 86%; line-height: 1.4; }
  footer #footerNavi dl dd ul li a { color: #555555; }
  footer #footerNavi dl#footerFirstTable { padding: 40px 20px 0 20px; }
  footer #footerNaviSecond { padding: 1px 20px; border-bottom: 1px solid #eeeeee; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable { display: table; width: 100%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow { display: table-row; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell { display: table-cell; vertical-align: middle; overflow: hidden; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft { overflow: hidden; float: left; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft p { float: left; padding-right: 30px; font-size: 86%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft p a { color: #555555; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight { float: right; overflow: hidden; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight p { float: left; font-size: 86%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerContact { margin-right: 1px; background-color: #009b3f; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerContact a { padding: 15px 45px; display: block; color: #FFFFFF; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerPageTopBtn { background-color: #00a8b2; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondRight #footerPageTopBtn a { padding: 15px 10px; display: block; color: #FFFFFF; }
  footer #footerCopyRight { padding: 40px 0 40px; font-size: 78%; text-align: center; } }
/*---------- 767px以下（SP用）
----------*/
@media screen and (max-width: 767px) { body { width: 100%; height: 100%; letter-spacing: 0.05em; }
  body #responsiveCheck { width: 3px; }
  body .objTab, body .objSp { display: none; }
  body .objPc { display: block; }
  body img { width: 100%; }
  header { background-color: #fff; background-color: rgba(255, 255, 255, 0.8); }
  header .table { width: 100%; clear: both; }
  header .table .tableRow { overflow: hidden; }
  header .table .tableRow .tableCell { vertical-align: top; }
  header .table .tableRow .tableCell p { padding: 0 15px; }
  header .table .tableRow .headerLogo { float: left; width: 170px; margin: 7px 0 4px 20px; }
  header .table .tableRow .headerLogo h1 { width: 100%; }
  header .table .tableRow #headerSpNavBtn { float: right; padding: 15px; width: 30px; }
  header .table .tableRow .headerNav { position: fixed; top: 0; left: -100%; width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; z-index: 100; background-color: rgba(255, 255, 255, 0.95); text-align: right; }
  header .table .tableRow .headerNav #navBack { display: inline-block; width: 30px; margin: 12px 20px 15px 12px; padding: 0px; cursor: pointer; }
  header .table .tableRow .headerNav #navBack img { width: 30px; }
  header .table .tableRow .headerNav .langeage { overflow: hidden; margin: 0 20px; }
  header .table .tableRow .headerNav .langeage li { float: right; width: 50%; }
  header .table .tableRow .headerNav .langeage li a { display: block; }
  header .table .tableRow .headerNav .langeage li img { width: 100%; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell p { padding: 0; margin: 0 20px 15px 20px; border: 2px solid #eeeeee; }
  header .table .tableRow .headerNav .navTable .navTableRow .navTableCell p a { display: block; color: #333333; text-align: center; padding: 10px; background-color: #FFFFFF; }
  footer #footerNavi { margin-top: 20px; padding-bottom: 15px; background-color: #f1f1f1; }
  footer #footerNavi dl dd .footerTitle { padding: 15px 15px 15px 0; font-size: 86%; border-bottom: 1px solid #cfcfcf; line-height: 1em; background: url("../img/common/sp_arrow_green.png") center right no-repeat; background-size: 13px; color: #333333; font-weight: bold; cursor: pointer; }
  footer #footerNavi dl dd .footerTitleActive { background: url("../img/common/sp_arrow_green_active.png") center right no-repeat; background-size: 13px; border: none; }
  footer #footerNavi dl dd .footerTitleLast { border-bottom: none; }
  footer #footerNavi dl dd ul { border-bottom: 1px solid #cfcfcf; display: none; }
  footer #footerNavi dl dd ul li { padding-bottom: 10px; font-size: 78%; line-height: 1.4; }
  footer #footerNavi dl dd ul li a { color: #555555; }
  footer #footerNavi dl dd ul.footerNaviBox { height: auto; }
  footer #footerNavi dl#footerFirstTable { padding: 15px 20px 0 20px; }
  footer #footerNavi dl#footerFirstTable dd:last-child ul { border-bottom: none; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerContactConts { display: table; width: 100%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerContactConts .footerNaviSecondRight { display: table-row; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerContactConts .footerNaviSecondRight #footerContact { display: table-cell; width: 50%; font-size: 78%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerContactConts .footerNaviSecondRight #footerContact a { text-align: center; display: block; color: #FFFFFF; margin-right: 1px; background-color: #009b3f; padding: 12px 20px; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerContactConts .footerNaviSecondRight #footerPageTopBtn { display: table-cell; width: 50%; font-size: 78%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerContactConts .footerNaviSecondRight #footerPageTopBtn a { text-align: center; display: block; color: #FFFFFF; background-color: #00a8b2; padding: 12px 20px; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell { margin: 0 auto; display: table; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft { display: table-row; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft p { display: table-cell; padding: 12px 8px; font-size: 78%; }
  footer #footerNaviSecond #footerNaviSecondBox .footerTable .footerTableRow .footerTableCell .footerNaviSecondLeft p a { color: #555555; }
  footer #footerCopyRight { padding: 20px 0 20px; font-size: 72%; text-align: center; } }
