@charset "utf-8";

/* =============================================================

　 個別設定

============================================================= */


/*  TOP : トップページ 設定
--------------------------------------------------------------*/


/*　TOP コンテンツ　設定
--------------------------------------------- */

.home #content {
  padding-bottom: 0;
}

/*  Content Top
-----------------------------------*/

.home #contentTop {
  overflow: hidden;
  position: relative;
  opacity: 0;
  transition: all 1s ease-in-out;
  background: none;
}

/* -------- メインビジュアル -------- */

#mainvisual {
  overflow: hidden;
}

#mainvisual .slider-pro {
  min-width: 1200px;
}

/* ---- JSカスタム・SliderPro ---- */

#mainvisual .sp-slide img {
  width: 100%;
}

#mainvisual .sp-grab,
#mainvisual .sp-grabbing,
#mainvisual .sp-selectable {
  cursor: default;
}

/* -- スライダー矢印 -- */

#mainvisual .sp-arrows {
  width: 100%;
  max-width: 1200px;
  margin-top: -25px;
  margin-left: -600px;
}

#mainvisual .sp-arrow {
  width: 62px;
  height: 62px;
  padding: 10px;
  border-radius: 100%;
  border: 3px solid #fff;
  background: #018640;
}

#mainvisual .sp-previous-arrow {
  left: 40px;
}

#mainvisual .sp-next-arrow {
  right: 40px;
}

#mainvisual .sp-previous-arrow:before,
#mainvisual .sp-previous-arrow:after,
#mainvisual .sp-next-arrow:before,
#mainvisual .sp-next-arrow:after {
  transform: none !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  margin-top: -17px;
  margin-left: -25px;
  border-radius: 10px;
  border-top: 17px solid transparent;
  border-right: 17px solid #fff;
  border-bottom: 17px solid transparent;
  border-left: 17px solid transparent;
  background: none !important;
  content: "";
}

#mainvisual .sp-previous-arrow:before {
  margin-left: -28px;
  border-right-color: #fff;
}

#mainvisual .sp-previous-arrow:after {
  border-right-color: #018640;
}

#mainvisual .sp-next-arrow:before,
#mainvisual .sp-next-arrow:after {
  margin-left: -7px;
  border-right-color: transparent;
}

#mainvisual .sp-next-arrow:before {
  border-left-color: #fff;
}

#mainvisual .sp-next-arrow:after {
  margin-left: -10px;
  border-left-color: #018640;
}

/* -- スライダーボタン -- */

#mainvisual .sp-buttons {
  position: absolute;
  bottom: 0;
  padding-bottom: 10px;
}

#mainvisual .sp-button {
  transition: all 0.4s ease-in-out;
  width: 22px;
  height: 22px;
  margin: 6px;
  border: 3px solid #fff;
  background-color: #fff;
}

#mainvisual .sp-selected-button,
#mainvisual .sp-button:hover {
  background-color: #018640;
}

/* -------- ガイドナビ -------- */

#guidenav {
  position: absolute;
  top: 30px;
  right: 50%;
  width: auto;
  margin-right: -480px;
  padding: 0;
}

#guidenav .boxGuideContent {
  float: right;
  padding: 13px 13px 7px;
  border-radius: 6px;
  background: rgba(255,255,255,0.9);
  background: #fff\9; /* IE8用 */
}

#guidenav .boxGuideContent h3 {
  display: block;
  position: relative;
  margin-bottom: 13px;
  padding: 10px;
  border-radius: 5px;
  background: #ffbf00;
}

#guidenav .boxGuideContent h3:before {
  position: absolute;
  left: 50%;
  bottom: -20px;
  width: 0;
  height: 0;
  margin-left: -10px;
  border-top: 10px solid #ffbf00;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  content: "";
}

#guidenav .boxGuideContent h3 span {
  display: block;
  overflow: hidden;
  width: 164px;
  height: 20px;
  margin: 0 auto; 
  background: url(/share/imgs/main-index-guidenav-ttl-pc.png) no-repeat;
  text-indent: 300px;
  line-height: 300px;
}

#guidenav .boxGuideContent .boxGuideList {
  min-width: 240px;
}

#guidenav .boxGuideContent .boxGuideList li {
  padding-bottom: 6px;
}

#guidenav .boxGuideContent .boxGuideList li a {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 8px;
  border: 2px solid #018640;
  background-color: #fff;
  background-repeat: no-repeat;
  color: #018640;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: none;
  line-height: 1.3em;
}

#guidenav .boxGuideContent .boxGuideList li span {
  display: table-cell;
  height: 60px;
  padding-top: 10px;
  padding-bottom: 10px;
  vertical-align: middle;
}

#guidenav .boxGuideContent .boxGuideList li .boxImgArea {
  padding-right: 0;
  padding-left: 10px;
}

#guidenav .boxGuideContent .boxGuideList li .boxImgArea img {
  width: 40px;
}

#guidenav .boxGuideContent .boxGuideList li .boxTxtArea {
  padding-right: 15px;
  padding-left: 12px;
}


/*  Content Main
-----------------------------------*/

.home #contentMain {
}

.home #contentMain .boxInner {
  padding: 0;
}

/* -------- セクション -------- */

.home #contentMain .boxSection .boxInner {
  padding: 40px 0 50px;
}

/* ------ セクション内サイズ ------ */

.home #contentMain .boxSection .boxMain {
  float: left;
  width: 700px;
}

.home #contentMain .boxSection .boxSide {
  float: right;
  width: 222px;
}

/* -------- セクション・検索 -------- */

.home #search {
  margin: 0;
}

/* -------- セクション・新着情報 -------- */

.home #info {
  background: url(/share/imgs/main-common-bg-line.gif);
}

/* ------ Tab共通設定 ------ */

.boxTab {
}

.boxTab .hidden {
  display: none;
}

.boxTab .boxTabContentWrap {
  border: 1px solid #ccc;
  background: #fff;
  margin-top: -1px;
  padding: 20px;
}

/* ---- Tab・ボタン ---- */

.boxTab .boxTabBtn ul {
  width: 100.05%;
}

.boxTab .boxTabBtn li {
  float: left;
  width: 33.333%;
  *width: 33%; /* IE7*/
}

.boxTab .boxTabBtn li a {
  display: block;
  margin-left: 4px;
  text-decoration: none;
}

.boxTab .boxTabBtn li:first-child a {
  margin-left: 0;
}

.boxTab .boxTabBtn li span {
  display: block;
  position: relative;
  transition: all 0.2s ease-in-out;
  padding: 15px 0;
  border: 1px solid #ccc;
  border-radius: 5px 5px 0 0;
  background: #f4f4f4;
  color: #000;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

.boxTab .boxTabBtn li span:after {
  display: none;
  position: absolute;
  right: 7px;
  left: 7px;
  bottom: 5px;
  height: 4px;
  background: #ffc000;
  content: "";
}

.boxTab .boxTabBtn li.selected span,
.boxTab .boxTabBtn li:hover span {
  border-bottom-color: #fff;
  background: #fff;
  text-shadow: none;
}

.boxTab .boxTabBtn li.selected span:before,
.boxTab .boxTabBtn li:hover span:before {
  background: #fff;
}

.boxTab .boxTabBtn li.selected span:after {
  display: block;
}

.boxTab .boxTabContent {
  display: none;
}

.boxTab .boxTabContent:first-child {
  display: block;
}

.boxTab .boxTabContent .ttlTabContent {
  display: none;
}

/* ------ Tab・新着情報 ------ */

.home #info #tab-info {
  float: left;
  width: 400px;
}

/* ---- 新着情報一覧 ---- */

.home #info #tab-info .boxInfoList {
  min-height: 453px;
  padding-top: 5px;
}

.home #info #tab-info .boxInfoList li {
  padding-bottom: 16px;
  font-size: 1em;
}

.home #info #tab-info .boxInfoList li a:hover,
.home #info #tab-info .boxInfoList li a:focus {
  text-decoration: underline;
}

.home #info #tab-info .boxInfoList li .txtCont {
  width: 75%;
}

.home #info #tab-info .boxInfoList li .txtDate {
  width: 20%;
  font-size: 1em;
}

/* ---- 新着情報・下部 ---- */

.boxTab .boxInfoBtm {
  border-top: 1px solid #ccc;
  padding-top: 15px;
  padding-bottom: 10px;
}

.boxTab .boxInfoBtm li {
  float: left;
  width: 50%;
}

.boxTab .boxInfoBtm li img {
  width: 18px;
  margin-right: 4px;
  vertical-align: -4px;
}

.boxTab .boxInfoBtm .icnArw {
  padding-top: 3px;
  text-align: left;
}

.boxTab .boxInfoBtm .btnRSS {
  text-align: right;
}

.boxTab .boxInfoBtm .btnRSS a {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  position: relative;
  padding: 3px 15px 3px 30px;
  border-radius: 4px;
  border: 1px solid #ccc;
  background: #fff;
  color: #000;
  font-size: 0.9em;
}

.boxTab .boxInfoBtm .btnRSS img {
  position: absolute;
  top: 6px;
  left: 10px;
  width: 14px;
}

/* ------ Tab・ソーシャル ------ */

.home #info #tab-social {
  float: right;
  width: 270px;
}

.home #info #tab-social .boxTabBtn li {
  width: 44%;
}

.home #info #tab-social .boxTabBtn li:first-child {
  width: 56%;
}

#content[style="font-size: 100%;"] .home #info #tab-social .boxTabBtn li {
  width: 50%;
}

.home #info #tab-social .boxTabBtn li span:after {
  background: #385699;
}

/* ------ ソーシャルバナーエリア ------ */

.home #info .boxSocialBnrArea {
  display: none !important;
}

/* ------ バナーエリア ------ */

.home #info .boxBnrArea {
  margin-bottom: 0;
  padding-top: 20px;
}

.home #info .boxBnrArea:first-child {
  padding-top: 0;
}

.home #info .bnrIcnLink.white a {
  border-width: 4px;
  border-color: #fff;
}

/* -------- セクション・関連リンク -------- */

.home #related {
}

.home #related .boxRelated {
  padding: 20px 1px;
  border: 1px solid #ccc;
}

.home #related .boxRelated .boxRelatedHead {
  padding: 0 20px 20px 12px;
}

/* タイトル */
.home #related .boxRelated .boxRelatedHead h3 {
  position: relative;
  float: left;
  max-width: 55%;
  padding: 5px 0 5px 42px;
  font-size: 1.4em;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.home #related .boxRelated .boxRelatedHead h3 img {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -18px;
}

.home #related .boxRelated .boxRelatedHead .icnArw {
  float: right;
  max-width: 45%;
  padding-top: 10px;
  padding-right: 20px;
}

/* ---- スライダー ---- */

.home #related .boxRelated .boxRelatedSlider {
  position: relative;
  padding: 0 20px;
}

.home #related .boxRelated .boxRelatedSlider .bx-wrapper {
}

.home #related .boxRelated .boxRelatedSlider .bx-viewport {
  height: auto !important; 
  background: #fff;
}

.home #related .boxRelated .boxRelatedSlider .slider {
  display: -wbkit-flex !important;
  display: flex !important;
}

/* リスト */
.home #related .boxRelated .boxRelatedSlider .slider li {
  float: left;
  width: 218px !important;
}

/* リンク */
.home #related .boxRelated .boxRelatedSlider .slider li a {
  display: block;
  padding: 0 10px 20px;
}

/* 画像 */
.home #related .boxRelated .boxRelatedSlider .slider li a img {
  width: 100%;
  margin-bottom: 12px;
}

/* -- PREV＆NEXTボタン -- */

.home #related .boxRelated .bx-controls-direction .bx-prev,
.home #related .boxRelated .bx-controls-direction .bx-next {
  position: absolute;
  top: -2px;
  z-index: 100;
  width: 20px;
  height: 100%;
  background-color: #94c8b4;
  background-repeat: no-repeat;
  text-align: left;
}

.home #related .boxRelated .bx-controls-direction .bx-prev:before,
.home #related .boxRelated .bx-controls-direction .bx-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  margin: -5px 0 0 -3px;
  border-top: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #fff;
  content: "";
}

.home #related .boxRelated .bx-controls-direction span {
  display: none;
}

/* Prevボタン */
.home #related .boxRelated .bx-controls-direction .bx-prev {
  left: 0;
  border-radius: 0 3px 3px 0;
}

.home #related .boxRelated .bx-controls-direction .bx-prev:before {
  margin-left: -9px;
  border-right-color: #fff;
  border-right-width: 7px;
  border-left-color: transparent;
  border-left-width: 5px;
}

/* Nextボタン */
.home #related .boxRelated .bx-controls-direction .bx-next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* ------ オンラインサービス ------ */

.home .boxOnlineService {
  border: 2px solid #018640;
}

.home .boxOnlineService dt {
  background: #018640;
}

.home .boxOnlineService dt span {
  display: block;
  position: relative;
  padding: 17px 10px 17px 50px;
  color: #fff;
  font-size: 1.15em;
  font-weight: bold;
  text-shadow: 1px 1px 1px #444;
}

.home .boxOnlineService dt span img {
  position: absolute;
  top: 50%;
  left: 8px;
  margin-top: -17px;
}

.home .boxOnlineService dd {
  padding: 21px 5px 21px 15px;
}

.home .boxOnlineService dd li {
  padding-top: 17px;
}

.home .boxOnlineService dd li:first-child {
  padding-top: 0;
}


/*  TOP フッター 設定
---------------------------------------------*/

/* -------- フッター上部 -------- */

.home #footerTop {
  border-top: none;
}

.home #footerTop .boxInner {
  padding: 50px 0 60px;
}

/* -------- フッター下部 -------- */

/* ---- コピーライト ---- */

.home #footer #copyright {
  height: 130px;
  padding: 45px 0;
}

/* ---- ページトップ ---- */

.home #footer #pagetop {
  top: -380px;
}

.home #footer #pagetop.fxd {
  top: auto !important;
}

.home #footer #pagetop a {
  border: 2px solid #fff;
}



/*  SEARCH : サイト内検索 設定
--------------------------------------------------------------*/

/* -------- キーワード検索 -------- */

.search .boxSearch {
  padding-right: 26px;
  padding-left: 22px;
}

/* ------ 検索詳細 ------ */

.boxSearch .boxSearchDetail {
  margin-top: 25px;
  padding-top: 27px;
  padding-bottom: 5px;
  background: url(/share/imgs/main-common-bg-dot02.png) repeat-x 0 0;
  font-size: 1.08em;
}

.boxSearch .boxSearchDetail li,
.boxSearch .boxSearchDetail dt,
.boxSearch .boxSearchDetail dd {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  vertical-align: top;
}

/* -- リスト -- */

.boxSearch .boxSearchDetail > ul {
  margin-left: -23px;
}

.boxSearch .boxSearchDetail > ul > li {
  padding-left: 22px;
}

.boxSearch .boxSearchDetail > ul > li:first-child + li {
  padding-left: 24px;
}

.boxSearch .boxSearchDetail dt {
  font-weight: bold;
}

.boxSearch .boxSearchDetail dt span {
  display: block;
  position: relative;
  padding-right: 24px;
}

.boxSearch .boxSearchDetail dt span:before {
  position: absolute;
  top: 50%;
  right: 2px;
  width: 0;
  height: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #b20000;
  content: "";
}

/* -- ラジオボタン・ラベル -- */

.boxSearch .boxSearchDetail .boxInput input[type=radio] + label {
  margin-right: 8px;
}

/* -------- 検索結果 -------- */

.boxSearchResults {
  margin-bottom: 20px;
  padding-top: 40px;
}

/* ------ 結果内容 ------ */

.boxSearchResultsContent li {
  overflow: hidden;
  position: relative;
  padding: 30px 0 15px;
  border-bottom: 1px dotted #666;
}

.boxSearchResultsContent li:first-child {
  padding-top: 0;
}

/* ---- イメージエリア ---- */

.boxSearchResultsContent .boxImgArea {
  float: left;
  width: 15%;
}

/* -- 画像 -- */

.boxSearchResultsContent .boxImgArea img {
  width: 120px;
}

/* -- リンク -- */

.boxSearchResultsContent .boxImgArea a {
  transition: all 0.4s ease-in-out;
}

.boxSearchResultsContent .boxImgArea a:hover,
.boxSearchResultsContent .boxImgArea a:focus {
  opacity: 0.8;
}

/* ---- テキストエリア ---- */

.boxSearchResultsContent .boxTxtArea {
  float: right;
  width: 85%;
}

/* -- タイトル -- */

.boxSearchResultsContent .boxTxtArea h3 {
  margin-bottom: 6px;
  font-size: 1.1em;
  font-weight: bold;
}

.boxSearchResultsContent .boxTxtArea h3 a {
  text-decoration: underline;
}

.boxSearchResultsContent .boxTxtArea h3 a:hover,
.boxSearchResultsContent .boxTxtArea h3 a:focus {
  text-decoration: none;
}

/* -- テキスト -- */

.boxSearchResultsContent .boxTxtArea p {
  margin-bottom: 5px;
  font-size: 0.92em;
  line-height: 1.7em;
}

/* -- アドレス -- */

.boxSearchResultsContent .boxTxtArea .txtAddress a {
  color: #008732;
}

.boxSearchResultsContent .boxTxtArea .txtAddress a:hover,
.boxSearchResultsContent .boxTxtArea .txtAddress a:focus {
  text-decoration: none;
}



/*  CONTACT : お問い合わせ 設定
--------------------------------------------------------------*/

/* ------ セクション共通 ------ */

.contact .boxSection {
  font-size: 1.08em;
}

/* ------ お問い合わせ ------ */

.boxContact {
  padding-bottom: 30px;
}

.boxContact > p,
.boxContact form > p,
.boxContact .boxContactForm > p,
.boxContact .boxContactMessage > p {
  margin-bottom: 20px;
  padding: 0 5px;
  line-height: 1.7em;
}

/* ---- お問い合わせフォーム ---- */

.boxContact .boxContactForm {
  padding-top: 20px;
}

/* -- タイトル -- */

.boxContact .boxContactForm .ttlSection {
  margin-bottom: 25px;
}

/* -- タイトル下テキスト -- */

.boxContact .boxContactForm .ttlSection + p {
  margin-top: -10px;
  margin-bottom: 15px;
}

/* -- テーブル -- */

.boxContact .boxContactForm table p {
  margin: 0 0 -7px;
  padding: 8px 0 0;
  font-size: 0.85em;
}

/* -- 順序付きリスト（詳細ページ） 20170116追加-- */

.boxContact .boxContactForm ol {
  clear: both;
  margin: 20px 0;
  padding-left: 1.5em;
}

.boxContact .boxContactForm ol li {
  list-style-type: decimal;
}

.boxContact .boxContactForm ol li ol {
  padding-top: 2px;
}

.boxContact .boxContactForm ol li ul {
  margin: 0 0 4px;
  padding-top: 2px;
  padding-left: 2.5em;
}

.boxContact .boxContactForm ol li ul li {
  list-style-type: disc;
}


/* -- 箇条書きリスト（詳細ページ） 20170116追加-- */

.boxContact .boxContactForm ul {
  clear: both;
  margin: 20px 0;
  padding-left: 1.4em;
}

.boxContact .boxContactForm ul li {
  list-style-type: disc;
}

.boxContact .boxContactForm ul li ul {
  margin: 0 0 4px;
  padding-top: 2px;
  padding-left: 2.5em;
}


/* -- 必須 -- */

.boxContact .txtRequired {
  color: #b20000;
}

.boxContact .boxContactForm table th .txtRequired {
  padding-left: 5px;
  font-size: 0.9em;
}

.boxContact .txtRequired_2 {
  color: #b20000;
}

.boxContact .boxContactForm table th .txtRequired_2 {
  padding-left: 5px;
  font-size: 0.9em;
}

/* -- フォーム設定 -- */

.boxContact .boxContactForm input[type="text"],
.boxContact .boxContactForm input[type="email"] {
  width: 260px;
}

.boxContact .boxContactForm input.add {
  width: 100%;
}

.boxContact .boxContactForm textarea {
  margin-bottom: -5px;
}

/* ---- ボタンエリア ---- */

.boxContact .boxBtnArea {
  padding: 15px 0 45px;
  text-align: center;
}

/* ---- メッセージ ---- */

.boxContact .boxContactMessage h2 {
  margin-top: 45px;
  margin-bottom: 24px;
  font-size: 1.46em;
  font-weight: bold;
  line-height: 1.35em;
}

.boxContact .boxContactMessage p {
  padding: 0;
}

/* -- エラーメッセージ -- */

.boxContact .boxContactMessage .txtError {
  margin: 0 0 40px;
  padding: 0 5px;
  color: #b20000;
}

/* ------ アドレス ------ */

.boxContactAddress .ttlSection03 {
  margin-top: 0;
}

.boxContactAddress dl {
  line-height: 1.7em;
}

.boxContactAddress dt {
  margin-bottom: 10px;
  font-size: 1.02em;
  font-weight: bold;
}

/* -- 電話・FAX -- */

.boxContactAddress dd li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
}

.boxContactAddress dd li:first-child:after {
  margin-right: 2px;
  padding-left: 5px;
  content: "/";
}

/* -- リンク -- */

.boxContactAddress a {
  color: #0059b2;
  text-decoration: underline;
}

.boxContactAddress a:hover,
.boxContactAddress a:focus {
  text-decoration: none;
}

/* ------ ランダムバナー ------ */

.home .bncenter {
  padding: 15px;
  text-align: center;
}

/* ------ 検索の使い方 ----- */
.useSearch{
  text-align: right;
  margin-top: 20px;
}