﻿@charset "UTF-8";
/********************************************/
/* header 01 */
/********************************************/
header#header01 { overflow: hidden; }

header#header01 .h_lead { padding: 5px 0 5px; line-height: 1.5; }

header#header01 .h_lead h1 { font-size: 10px; font-weight: normal; float: left; padding: 3px 0; }

header#header01 .h_lead .h_nav { float: right; }

header#header01 .h_lead .h_nav a { font-size: 10px; }

header#header01 .h_lead .h_nav a:before { font-family: FontAwesome; content: "\f105"; padding-right: 8px; font-size: 18px; text-decoration: none; position: relative; display: inline-block; font-size: 12px; padding-right: 5px; }

header#header01 .h_lead .h_nav:last-child a { display: inline-block; margin: 0; padding: 3px 8px; font-weight: bold; }

header#header01 .h_lead .h_nav:last-child a:before { display: none; }

header#header01 .h_lead .h_nav:last-child a:hover { background-color: #EE2B39; color: #ffffff; text-decoration: none; }

header#header01 .h_lead .h_nav:last-child .on { background-color: #EE2B39; color: #ffffff; }

header#header01 .h_lead .h_nav + .h_nav { margin-right: 25px; }

header#header01 .header_in { display: table; width: 100%; }

header#header01 .header_in .h_logo { display: table-cell; vertical-align: middle; }

header#header01 .header_in .h_logo a { display: block; float: left; }

header#header01 .header_in .h_logo a img { max-width: 200px; width: auto; height: auto; }

header#header01 .header_in .h_search { display: table-cell; vertical-align: middle; }

header#header01 .header_in .h_search input { border: medium none; border-radius: 0; display: block; height: 34px; padding: 0 2%; }

header#header01 .header_in .h_search .search_txt { float: right; width: 180px; border: 1px solid #eee; }

header#header01 .header_in .h_search .submit_btn { background: #EE2B39 url("../image/common/icon_search.png") no-repeat scroll center center/16px auto; border: medium none; cursor: pointer; float: right; padding: 0; text-indent: -9999px; width: 36px; }

header#header01 .header_in .h_contact { display: table-cell; vertical-align: middle; font-size: 0; width: 450px; }

header#header01 .header_in .h_contact .h_tel, header#header01 .header_in .h_contact .h_mail { display: inline-block; vertical-align: middle; text-align: center; line-height: 1; }

header#header01 .header_in .h_contact .h_tel { width: calc(100% - 200px - 10px); margin-left: 10px; }

header#header01 .header_in .h_contact .h_tel .time { font-size: 12px; margin-bottom: 0; color: #777777; }

header#header01 .header_in .h_contact .h_tel .caut { font-size: 11px; padding-left: 3px; }

header#header01 .header_in .h_contact .h_tel .num { font-size: 26px; margin-bottom: 5px; }

header#header01 .header_in .h_contact .h_tel .num:before { font-family: FontAwesome; content: "\f095"; display: inline-block; padding-right: 5px; vertical-align: middle; font-size: 22px; }

header#header01 .header_in .h_contact .h_mail { width: 200px; }

header#header01 .header_in .h_contact .h_mail a { display: block; background-color: #045574; color: #ffffff; font-size: 16px; padding: 13px 5px; margin-left: auto; }

header#header01 .header_in .h_contact .h_mail a:hover { background-color: #378AA9; text-decoration: none; }

header#header01 .header_in .h_contact .h_mail a:before { font-family: FontAwesome; content: "\f0e0"; display: inline-block; padding-right: 8px; vertical-align: top; }

@media only screen and (max-width: 979px) { header#header01 { padding: 0 0 10px; }
  header#header01 .h_lead .inner { width: 100%; }
  header#header01 .header_in { width: calc(100% - 50px - 2.5%); }
  header#header01 .header_in .h_logo a img { width: 180px; }
  header#header01 .header_in .h_search { display: none; }
  header#header01 .header_in .h_contact .h_tel { margin-left: 0; width: calc(100% - 200px); }
  header#header01 .header_in .h_contact .h_tel .num { font-size: 24px; } }

@media only screen and (max-width: 690px) { header#header01 { padding: 10px 0; }
  header#header01 .h_lead { display: none; }
  header#header01 .header_in .h_contact { display: none; }
  header#header01 .header_in .h_logo { display: block; min-width: 160px; width: 50%; }
  header#header01 .header_in .h_logo img { display: block; width: 100%; max-width: 210px; } }

.sitemiraiz_async_auth.sidebox_ {
    display: flex;
    margin-right: 20px;
    gap: 10px;
}
.important_note {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/********************************************/
/* global navigation globalnav */
/********************************************/
#globalnav01 { margin: 10px auto; }

#globalnav01 #gnav_btn01 { display: none; }

#globalnav01 #globalnav_in ul { display: table; table-layout: fixed; width: 100%; }

#globalnav01 #globalnav_in ul li { display: table-cell; position: relative; padding: 0 8px; }

#globalnav01 #globalnav_in ul li:before, #globalnav01 #globalnav_in ul li:last-child:after { content: ""; width: 1px; height: 16px; background-color: #e5e5e5; position: absolute; top: calc(50% - 8px); }

#globalnav01 #globalnav_in ul li:before { left: 0; }

#globalnav01 #globalnav_in ul li:last-child:after { right: 0; }

#globalnav01 #globalnav_in ul li a { display: block; font-size: 15px; text-align: center; padding: 8px 0; }

#globalnav01 #globalnav_in ul li a:hover { color: #045473; text-decoration: none; }

#globalnav01 #globalnav_in ul li.current a { color: #045473; }

@media only screen and (max-width: 979px) { #globalnav01 { margin: 0; display: block; position: relative; top: 0; width: 100%; }
  #globalnav01 #gnav_btn01 { display: block; width: 40px; height: 40px; background: url(../image/common/gnav_btn.png) no-repeat 0 0; background-size: 40px 40px; display: block; position: absolute; top: -57px; right: 2.5%; }
  #globalnav01 #globalnav_in { width: 100%; height: auto; overflow: hidden; background-color: #ffffff; position: absolute; left: 0; z-index: 100; }
  #globalnav01 #globalnav_in ul { display: none; background-color: #F7FAFB; margin: 0; }
  #globalnav01 #globalnav_in ul li { display: block; border-top: 1px solid #eeeeee; width: 100%; padding: 0; }
  #globalnav01 #globalnav_in ul li:before { display: none; }
  #globalnav01 #globalnav_in ul li:last-child { border-bottom: 1px solid #eeeeee; }
  #globalnav01 #globalnav_in ul li:last-child:after { display: none; }
  #globalnav01 #globalnav_in ul li a { padding: 12px 5%; position: relative; }
  #globalnav01 #globalnav_in ul li a:after { position: absolute; top: 50%; right: 5%; display: block; content: ''; width: 8px; height: 8px; margin-top: -4px; border-top: 1px solid #333333; border-right: 1px solid #333333; -webkit-transform: rotate(45deg); transform: rotate(45deg); } }

@media only screen and (max-width: 690px) { #globalnav01 { width: 100%; }
  #globalnav01 #gnav_btn01 { top: -56px; }
  #globalnav01 #globalnav_in ul li a { text-align: left; padding: 12px 5%; font-size: 14px; } }

/********************************************/
/* header 01 */
/********************************************/
header#header02 { overflow: hidden; }

header#header02 .h_lead { padding: 5px 0; background-color: #EE2B39; }

header#header02 .h_lead:after { content: ""; display: table; clear: both; }

header#header02 .h_lead h1 { font-size: 10px; font-weight: normal; float: left; color: #ffffff; padding: 3px 0; }

header#header02 .h_lead .h_nav { float: right; }

header#header02 .h_lead .h_nav a { font-size: 10px; color: #ffffff; }

header#header02 .h_lead .h_nav a:before { font-family: FontAwesome; content: "\f105"; padding-right: 8px; font-size: 18px; text-decoration: none; position: relative; display: inline-block; font-size: 12px; padding-right: 5px; }

header#header02 .h_lead .h_nav:last-child a { display: inline-block; margin: 0; padding: 3px 8px; font-weight: bold; }

header#header02 .h_lead .h_nav:last-child a:before { display: none; }

header#header02 .h_lead .h_nav:last-child a:hover { background-color: #ffffff; color: #EE2B39; text-decoration: none; }

header#header02 .h_lead .h_nav:last-child .on { background-color: #ffffff; color: #EE2B39; }

header#header02 .h_lead .h_nav + .h_nav { margin-right: 25px; }

header#header02 .header_in { display: table; width: 100%; padding: 15px 0; }

header#header02 .header_in .h_search { display: table-cell; vertical-align: middle; width: 30%; }

header#header02 .header_in .h_search input { border: medium none; border-radius: 0; display: block; height: 34px; padding: 0 2%; }

header#header02 .header_in .h_search .search_txt { float: left; width: 180px; border: 1px solid #eee; }

header#header02 .header_in .h_search .submit_btn { background: #EE2B39 url("../image/common/icon_search.png") no-repeat scroll center center/16px auto; border: medium none; cursor: pointer; float: left; padding: 0; text-indent: -9999px; width: 36px; }

header#header02 .header_in .h_logo { display: table-cell; vertical-align: middle; width: 30%; }

header#header02 .header_in .h_logo a { display: block; }

header#header02 .header_in .h_logo a img { max-width: 220px; width: auto; height: auto; }

header#header02 .header_in .h_contact { display: table-cell; vertical-align: middle; font-size: 0; text-align: right; width: 30%; }

header#header02 .header_in .h_contact .h_document, header#header02 .header_in .h_contact .h_mail { display: inline-block; vertical-align: middle; text-align: center; line-height: 1; margin-left: 1px; width: 145px; }

header#header02 .header_in .h_contact .h_document a, header#header02 .header_in .h_contact .h_mail a { display: block; background-color: #045574; color: #ffffff; font-size: 14px; padding: 13px 5px; margin-left: auto; }

header#header02 .header_in .h_contact .h_document a:hover, header#header02 .header_in .h_contact .h_mail a:hover { background-color: #378AA9; text-decoration: none; }

header#header02 .header_in .h_contact .h_document a:before, header#header02 .header_in .h_contact .h_mail a:before { font-family: FontAwesome; content: "\f0e0"; display: inline-block; padding-right: 8px; vertical-align: top; }

header#header02 .header_in .h_contact .h_document a { background-color: #378AA9; }

header#header02 .header_in .h_contact .h_document a:hover { background-color: #045574; }

header#header02 .header_in .h_contact .h_document a:before { font-family: FontAwesome; content: "\f15c"; display: inline-block; padding-right: 10px; }

@media only screen and (max-width: 979px) { header#header02 { padding: 0 0 15px; }
  header#header02 .header_in { width: calc(100% - 50px - 4% - 2%); margin-left: 2%; padding-bottom: 0; }
  header#header02 .header_in .h_search { display: none; }
  header#header02 .header_in .h_logo a { display: block; margin-right: auto; width: 200px; }
  header#header02 .header_in .h_logo a img { width: 100%; }
  header#header02 .header_in .h_contact { width: auto; } }

@media only screen and (max-width: 690px) { header#header02 { padding: 10px 0; }
  header#header02 .h_lead { display: none; }
  header#header02 .header_in { padding: 0; }
  header#header02 .header_in .h_contact { display: none; }
  header#header02 .header_in .h_logo { display: block; min-width: 160px; width: 50%; }
  header#header02 .header_in .h_logo img { display: block; width: 100%; max-width: 210px; } }

/********************************************/
/* global navigation globalnav */
/********************************************/
#globalnav02 #gnav_btn02 { display: none; }

#globalnav02 #globalnav_in ul { display: table; table-layout: fixed; width: 100%; }

#globalnav02 #globalnav_in ul li { display: table-cell; }

#globalnav02 #globalnav_in ul li a { display: block; font-size: 15px; text-align: center; padding: 8px 0; }

#globalnav02 #globalnav_in ul li a:hover { background-color: #374252; color: #ffffff; text-decoration: none; }

#globalnav02 #globalnav_in ul li.current a { background-color: #374252; color: #ffffff; }

@media only screen and (max-width: 979px) { #globalnav02 { margin: 0; display: block; position: relative; top: 0; width: 100%; }
  #globalnav02 #gnav_btn02 { display: block; width: 40px; height: 40px; background: url(../image/common/gnav_btn.png) no-repeat 0 0; background-size: 40px 40px; display: block; position: absolute; top: -64px; right: 2.5%; }
  #globalnav02 #globalnav_in { width: 100%; height: auto; overflow: hidden; background-color: #ffffff; position: absolute; left: 0; z-index: 100; }
  #globalnav02 #globalnav_in ul { display: none; background-color: #F7FAFB; margin: 0; }
  #globalnav02 #globalnav_in ul li { display: block; border-top: 1px solid #eeeeee; width: 100%; padding: 0; }
  #globalnav02 #globalnav_in ul li:before { display: none; }
  #globalnav02 #globalnav_in ul li:last-child { border-bottom: 1px solid #eeeeee; }
  #globalnav02 #globalnav_in ul li:last-child:after { display: none; }
  #globalnav02 #globalnav_in ul li a { padding: 12px 5%; position: relative; }
  #globalnav02 #globalnav_in ul li a:after { position: absolute; top: 50%; right: 5%; display: block; content: ''; width: 8px; height: 8px; margin-top: -4px; border-top: 1px solid #333333; border-right: 1px solid #333333; -webkit-transform: rotate(45deg); transform: rotate(45deg); } }

@media only screen and (max-width: 690px) { #globalnav02 { width: 100%; }
  #globalnav02 #gnav_btn02 { top: -56px; }
  #globalnav02 #globalnav_in ul li a { text-align: left; padding: 12px 5%; font-size: 14px; } }

/********************************************/
/* header 01 */
/********************************************/
header#header03 .h_lead { padding: 5px 0; background-color: #EE2B39; }

header#header03 .h_lead:after { content: ""; display: table; clear: both; }

header#header03 .h_lead h1 { font-size: 10px; font-weight: normal; float: left; color: #ffffff; padding: 3px 0; }

header#header03 .h_lead .h_nav { float: right; }

header#header03 .h_lead .h_nav a { font-size: 10px; color: #ffffff; }

header#header03 .h_lead .h_nav a:before { font-family: FontAwesome; content: "\f105"; padding-right: 8px; font-size: 18px; text-decoration: none; position: relative; display: inline-block; font-size: 12px; padding-right: 5px; }

header#header03 .h_lead .h_nav:last-child a { display: inline-block; margin: 0; padding: 3px 8px; font-weight: bold; }

header#header03 .h_lead .h_nav:last-child a:before { display: none; }

header#header03 .h_lead .h_nav:last-child a:hover { background-color: #ffffff; color: #EE2B39; text-decoration: none; }

header#header03 .h_lead .h_nav:last-child .on { background-color: #ffffff; color: #EE2B39; }

header#header03 .h_lead .h_nav + .h_nav { margin-right: 25px; }

header#header03 .header_in { padding: 15px 0; display: table; }

header#header03 .header_in .h_logo { display: table-cell; vertical-align: middle; width: 210px; }

header#header03 .header_in .h_logo a { display: block; }

header#header03 .header_in .h_logo a img { max-width: 100%; width: auto; height: auto; }

header#header03 .header_in .h_gnav { display: table-cell; vertical-align: middle; padding-right: 25px; }

header#header03 .header_in .h_contact { display: table-cell; vertical-align: middle; font-size: 0; text-align: right; width: 292px; }

header#header03 .header_in .h_contact .h_document, header#header03 .header_in .h_contact .h_mail { display: inline-block; vertical-align: middle; text-align: center; line-height: 1; margin-left: 1px; width: 145px; }

header#header03 .header_in .h_contact .h_document a, header#header03 .header_in .h_contact .h_mail a { display: block; background-color: #045574; color: #ffffff; font-size: 14px; padding: 13px 5px; margin-left: auto; }

header#header03 .header_in .h_contact .h_document a:hover, header#header03 .header_in .h_contact .h_mail a:hover { background-color: #378AA9; text-decoration: none; }

header#header03 .header_in .h_contact .h_document a:before, header#header03 .header_in .h_contact .h_mail a:before { font-family: FontAwesome; content: "\f0e0"; display: inline-block; padding-right: 8px; vertical-align: top; }

header#header03 .header_in .h_contact .h_document a { background-color: #378AA9; }

header#header03 .header_in .h_contact .h_document a:hover { background-color: #045574; }

header#header03 .header_in .h_contact .h_document a:before { font-family: FontAwesome; content: "\f15c"; display: inline-block; padding-right: 10px; }

@media only screen and (max-width: 1119px) { header#header03 .header_in .h_contact .h_document a, header#header03 .header_in .h_contact .h_mail a { padding: 16px; } }

@media only screen and (max-width: 979px) { header#header03 { padding: 0; }
  header#header03 .header_in { width: 100%; margin-left: 0; padding: 10px 0; position: relative; }
  header#header03 .header_in .h_gnav { position: absolute; right: 0; top: 10px; width: 100%; padding-right: 0; }
  header#header03 .header_in .h_logo { padding-left: 2%; }
  header#header03 .header_in .h_logo a { display: block; margin-right: auto; }
  header#header03 .header_in .h_logo a img { width: 100%; }
  header#header03 .header_in .h_contact { width: 70%; padding-right: calc(40px + 4%); }
  header#header03 .header_in .h_contact .h_document, header#header03 .header_in .h_contact .h_mail { width: auto; } }

@media only screen and (max-width: 690px) { header#header03 { padding: 10px 0; }
  header#header03 .h_lead { display: none; }
  header#header03 .header_in { padding: 0; }
  header#header03 .header_in .h_contact { display: none; }
  header#header03 .header_in .h_logo { display: block; } }

/********************************************/
/* global navigation globalnav */
/********************************************/
#globalnav03 #gnav_btn03 { display: none; }

#globalnav03 #globalnav_in { text-align: right; }

#globalnav03 #globalnav_in ul { font-size: 0; }

#globalnav03 #globalnav_in ul li { display: inline-block; }

#globalnav03 #globalnav_in ul li a { display: block; font-size: 15px; text-align: center; padding: 8px; }

#globalnav03 #globalnav_in ul li a:hover { color: #045473; text-decoration: none; }

#globalnav03 #globalnav_in ul li.current a { color: #045473; }

@media only screen and (max-width: 1119px) { #globalnav03 #globalnav_in ul li a { font-size: 14px; padding: 8px 10px; } }

@media only screen and (max-width: 979px) { #globalnav03 { margin: 0; display: block; position: relative; top: 0; width: 100%; }
  #globalnav03 #gnav_btn03 { display: block; width: 40px; height: 40px; background: url(../image/common/gnav_btn.png) no-repeat 0 0; background-size: 40px 40px; display: block; position: absolute; top: 10px; right: 2%; }
  #globalnav03 #globalnav_in { width: 100%; height: auto; overflow: hidden; background-color: #ffffff; position: absolute; left: 0; top: 66px; z-index: 100; }
  #globalnav03 #globalnav_in ul { display: none; background-color: #F7FAFB; margin: 0; }
  #globalnav03 #globalnav_in ul li { display: block; border-top: 1px solid #eeeeee; width: 100%; padding: 0; }
  #globalnav03 #globalnav_in ul li:before { display: none; }
  #globalnav03 #globalnav_in ul li:last-child { border-bottom: 1px solid #eeeeee; }
  #globalnav03 #globalnav_in ul li:last-child:after { display: none; }
  #globalnav03 #globalnav_in ul li a { padding: 12px 5%; position: relative; }
  #globalnav03 #globalnav_in ul li a:after { position: absolute; top: 50%; right: 5%; display: block; content: ''; width: 8px; height: 8px; margin-top: -4px; border-top: 1px solid #333333; border-right: 1px solid #333333; -webkit-transform: rotate(45deg); transform: rotate(45deg); } }

@media only screen and (max-width: 690px) { #globalnav03 { width: 100%; }
  #globalnav03 #gnav_btn03 { top: 5px; }
  #globalnav03 #globalnav_in { top: 59px; }
  #globalnav03 #globalnav_in ul li a { text-align: left; padding: 12px 5%; font-size: 14px; } }

/********************************************/
/* header 01 */
/********************************************/
header#header04 .h_lead { padding: 5px 0 0; }

header#header04 .h_lead:after { content: ""; display: table; clear: both; }

header#header04 .h_lead h1 { font-size: 10px; font-weight: normal; float: left; color: #ffffff; padding: 3px 0; }

header#header04 .h_lead .h_lead_tel { float: right; font-size: 11px; font-weight: bold; }

header#header04 .header_in { padding: 0 0 10px; display: table; width: 100%; table-layout: fixed;}

header#header04 .header_in .h_logo { display: table-cell; vertical-align: middle; width: 340px; }

header#header04 .header_in .h_logo a { display: block; }

header#header04 .header_in .h_logo a img { max-width: 100%; width: auto; height: auto; }

header#header04 .header_in .h_search { display: table-cell; vertical-align: middle; padding-right: 15px; }

header#header04 .header_in .h_search input { border: medium none; border-radius: 0; display: block; height: 34px; padding: 0 2%; }

header#header04 .header_in .h_search .search_txt { float: right; width: 180px; border: 1px solid #eee; }

header#header04 .header_in .h_search .submit_btn { background: #D6D7D8 url("../image/common/icon_search.png") no-repeat scroll center center/16px auto; border: medium none; cursor: pointer; float: right; padding: 0; text-indent: -9999px; width: 36px; }

header#header04 .header_in .h_contact { display: table-cell; vertical-align: middle; font-size: 0; text-align: right; width: 292px; }

header#header04 .header_in .h_contact .h_document, header#header04 .header_in .h_contact .h_mail { display: inline-block; vertical-align: middle; text-align: center; line-height: 1; margin-left: 1px; width: 145px; }

header#header04 .header_in .h_contact .h_document a, header#header04 .header_in .h_contact .h_mail a { display: block; background-color: #045574; color: #ffffff; font-size: 14px; padding: 13px 5px; margin-left: auto; }

header#header04 .header_in .h_contact .h_document a:hover, header#header04 .header_in .h_contact .h_mail a:hover { background-color: #378AA9; text-decoration: none; }

header#header04 .header_in .h_contact .h_document a:before, header#header04 .header_in .h_contact .h_mail a:before { font-family: FontAwesome; content: "\f0e0"; display: inline-block; padding-right: 8px; vertical-align: top; }

header#header04 .header_in .h_contact .h_document a { background-color: #378AA9; }

header#header04 .header_in .h_contact .h_document a:hover { background-color: #045574; }

header#header04 .header_in .h_contact .h_document a:before { /*@include document;*/ display: none; }

@media only screen and (max-width: 979px) { header#header04 .header_in .h_logo { width: 200px; }
  header#header04 .header_in .h_search { display: none; } }

@media only screen and (max-width: 690px) { header#header04 { padding: 10px 0 0; }
  header#header04 .h_lead { display: none; }
  header#header04 .header_in .h_logo a { width: 230px; }
  header#header04 .header_in .h_search, header#header04 .header_in .h_contact { display: none; } }

/********************************************/
/* global navigation globalnav */
/********************************************/
#globalnav04 { border-top: 1px solid #DDD; margin: 5px auto 0; }

#globalnav04 #gnav_btn04 { display: none; }

#globalnav04 #globalnav_in ul { display: table; table-layout: fixed; width: 100%; }

#globalnav04 #globalnav_in ul li { display: table-cell; position: relative; border-left: 1px solid #DDD; padding: 0; }

#globalnav04 #globalnav_in ul li:last-child { border-right: 1px solid #DDD; }

#globalnav04 #globalnav_in ul li:before { left: 0; }

#globalnav04 #globalnav_in ul li:last-child:after { right: 0; }

#globalnav04 #globalnav_in ul li a { display: block; font-size: 15px; font-weight: bold; text-align: center; padding: 8px 0; border-bottom: 3px solid #ffffff; }

#globalnav04 #globalnav_in ul li a:hover { text-decoration: none; border-bottom: 3px solid #EE2B39; }

#globalnav04 #globalnav_in ul li.current a { color: #045473; }

/****************************************************************/
/* imoprtant note */
/****************************************************************/
.important_note::after {
	display: block;
	content: "";
	clear: both;
}
.important_note a {
  float: right;
	display: table;
	height: 100%;
	color: #f00;
	font-size: 11px;
}
.sitemiraiz_async_auth_login a,
.sitemiraiz_async_auth_not_login a {
    color: #fff;
    font-size: 11px;
    background-color: #378AA9;
    padding: 3px;
    width: 108px;
    text-align: center;
}
.sitemiraiz_async_auth_login a:hover,
.sitemiraiz_async_auth_not_login a:hover {
    text-decoration: none;
    background-color: #045574;
}

.note_img {
	display: table-cell;
	vertical-align: middle;
  padding-right: 5px;
}
.note_txt {
	display: table-cell;
	vertical-align: middle;
}
@media only screen and (max-width: 979px) { #globalnav04 { margin: 0 auto; }
  #globalnav04 #globalnav_in ul { table-layout: auto; font-size: 0; }
  #globalnav04 #globalnav_in ul li { display: inline-block; width: 33.333333%; }
  #globalnav04 #globalnav_in ul li:nth-child(-n+3) { border-bottom: 1px solid #DDD; } }

@media only screen and (max-width: 690px) { #globalnav04 { margin: 0 auto; display: block; position: relative; top: 0; width: 100%; }
  #globalnav04 #gnav_btn04 { display: block; width: 32px; height: 32px; background: url(../image/common/gnav_btn.png) no-repeat 0 0; background-size: 32px 32px; display: block; position: absolute; top: -57px; right: 2.5%; }
  #globalnav04 #globalnav_in { width: 100%; height: auto; overflow: hidden; background-color: #ffffff; position: absolute; left: 0; z-index: 1000; }
  #globalnav04 #globalnav_in ul { display: none; background-color: #F7FAFB; margin: 0; }
  #globalnav04 #globalnav_in ul li { display: block; border-top: 1px solid #eeeeee; width: 100%; padding: 0; }
  #globalnav04 #globalnav_in ul li:before { display: none; }
  #globalnav04 #globalnav_in ul li:last-child { border-bottom: 1px solid #eeeeee; }
  #globalnav04 #globalnav_in ul li:last-child:after { display: none; }
  #globalnav04 #globalnav_in ul li:nth-child(-n+3) { border-bottom: 0; }
  #globalnav04 #globalnav_in ul li a { padding: 12px 5%; position: relative; border-bottom: none; }
  #globalnav04 #globalnav_in ul li a:after { position: absolute; top: 50%; right: 5%; display: block; content: ''; width: 8px; height: 8px; margin-top: -4px; border-top: 1px solid #333333; border-right: 1px solid #333333; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
  #globalnav04 #globalnav_in ul li a:hover { border-bottom: none; } }

@media only screen and (max-width: 690px) { #globalnav04 { width: 100%; }
  #globalnav04 #gnav_btn04 { top: -46px; }
  #globalnav04 #globalnav_in ul li a { text-align: left; padding: 12px 5%; font-size: 14px; } }

/********************************************/
/* footer 01 */
/********************************************/
footer#footer01 { background-color: #374252; padding: 40px 0 20px; }

footer#footer01 .footer_in #footnav { font-size: 0; }

footer#footer01 .footer_in #footnav .f_top_nav { display: inline-block; vertical-align: top; padding: 0 5% 0 0; width: 25%; }

footer#footer01 .footer_in #footnav .f_top_nav li { margin-bottom: 20px; list-style: none; }

footer#footer01 .footer_in #footnav .f_top_nav li a { color: #ffffff; font-size: 16px; display: inline-block; }

footer#footer01 .footer_in #footnav .f_top_nav li ul { margin-top: 8px; padding-left: 10px; }

footer#footer01 .footer_in #footnav .f_top_nav li ul li { margin-bottom: 5px; }

footer#footer01 .footer_in #footnav .f_top_nav li ul li a { font-size: 13px; }

footer#footer01 .footer_in #footnav .f_top_nav li ul li a:before { font-family: FontAwesome; content: "\f054"; padding-right: 8px; vertical-align: middle; display: inline-block; color: #ffffff; font-size: 10px; }

footer#footer01 .footer_in #footnav .tworow { max-width: 460px; }

footer#footer01 .footer_in #footnav .tworow ul { font-size: 0; }

footer#footer01 .footer_in #footnav .tworow ul li { display: inline-block; width: 50%; }

footer#footer01 .footer_in #footnav .tworow ul li:not(:nth-child(2n)) { padding-right: 3%; }

footer#footer01 .footer_in #footnav .tworow ul li a:hover { text-decoration: underline; color: #ffffff; }

footer#footer01 .footer_in .f_logo { padding-top: 30px; text-align: right; line-height: 1; }

footer#footer01 .footer_in .f_logo a { display: inline-block; width: 140px; }

footer#footer01 .footer_in .f_logo a img { width: 100%; height: auto; }

/* footer top ***************/
.l-footer { padding: 0; }

.t-default ul.f_top_nav { display: inline-block; vertical-align: top; padding: 0 5% 0 0; max-width: calc(100% / 4); }

.t-default ul.f_top_nav.tworow { max-width: 460px; }

/* footer bottom ***************/
#f_bottom_wrap01 { background-color: #323C49; padding: 14px 0; }

#f_bottom_wrap01 .f_bottom { line-height: 1; }

#f_bottom_wrap01 .f_bottom .f_bottom_nav { float: left; font-size: 0; }

#f_bottom_wrap01 .f_bottom .f_bottom_nav a { display: inline-block; margin-right: 20px; padding-right: 20px; border-right: 1px solid #ffffff; color: #ffffff; font-size: 12px; }

#f_bottom_wrap01 .f_bottom .f_bottom_nav a:last-child { border-right: none; padding-right: 0; margin-right: 0; }

#f_bottom_wrap01 .f_bottom .f_bottom_nav a:hover { text-decoration: underline; }

#f_bottom_wrap01 .copyright { float: right; display: block; color: #ffffff; font-size: 12px; }

@media only screen and (max-width: 979px) { footer#footer01 .footer_in #footnav .f_top_nav { padding: 10px 5% 10px 0; max-width: calc(100% / 2); width: calc(50% - 5px); }
  .t-default ul.f_top_nav, .t-default ul.f_top_nav.tworow { padding: 0 4% 0 0; } }

@media only screen and (max-width: 690px) { .t-default ul.f_top_nav, .t-default ul.f_top_nav.tworow { padding: 0 0 0 0; max-width: 100%; width: 100%; }
  footer#footer01 { width: 100%; padding: 0; }
  footer#footer01 .footer_in { width: 100%; }
  footer#footer01 .footer_in #footnav { width: 100%; }
  footer#footer01 .footer_in #footnav .f_top_nav, footer#footer01 .footer_in #footnav .f_top_nav.tworow { padding: 0 0 0 0; margin: 0; max-width: 100%; width: 100%; }
  footer#footer01 .footer_in #footnav .f_top_nav li, footer#footer01 .footer_in #footnav .f_top_nav.tworow li { margin-bottom: 0; }
  footer#footer01 .footer_in #footnav .f_top_nav li a, footer#footer01 .footer_in #footnav .f_top_nav.tworow li a { display: block; border-top: 1px solid #555; border-bottom: 1px solid #323C49; padding: 10px 3%; font-size: 14px; position: relative; }
  footer#footer01 .footer_in #footnav .f_top_nav li a:after, footer#footer01 .footer_in #footnav .f_top_nav.tworow li a:after { font-family: FontAwesome; content: "\f054"; padding-right: 8px; vertical-align: middle; display: inline-block; color: #ffffff; font-size: 12px; position: absolute; right: 3%; top: calc(50% - 8px); }
  footer#footer01 .footer_in #footnav .f_top_nav ul, footer#footer01 .footer_in #footnav .f_top_nav.tworow ul { display: none; }
  footer#footer01 .footer_in .f_logo { padding: 20px 0 0; text-align: center; background-color: #EE2B39; margin-top: 0; }
  footer#footer01 .footer_in .f_logo a { width: 50%; max-width: 240px; }
  #f_bottom_wrap01 { padding: 20px 10px 10px; }
  #f_bottom_wrap01 .f_bottom .f_bottom_nav { float: none; text-align: center; margin-bottom: 15px; }
  #f_bottom_wrap01 .copyright { float: none; text-align: center; font-size: 11px; } }

/********************************************/
/* footer 02 */
/********************************************/
footer#footer02 { background-color: #374252; padding: 40px 0 20px; }

footer#footer02 .footer_in #footnav { font-size: 0; }

footer#footer02 .footer_in #footnav .f_top_nav { display: inline-block; vertical-align: top; padding: 0 5% 0 0; max-width: calc(100% / 4); margin: 10px 0 0 5px; }

footer#footer02 .footer_in #footnav .f_top_nav li { margin-bottom: 20px; list-style: none; }

footer#footer02 .footer_in #footnav .f_top_nav li a { color: #ffffff; font-size: 16px; display: inline-block; }

footer#footer02 .footer_in #footnav .f_top_nav li ul { margin-top: 8px; padding-left: 10px; }

footer#footer02 .footer_in #footnav .f_top_nav li ul li { margin-bottom: 5px; }

footer#footer02 .footer_in #footnav .f_top_nav li ul li a { font-size: 13px; }

footer#footer02 .footer_in #footnav .f_top_nav li ul li a:before { font-family: FontAwesome; content: "\f054"; padding-right: 8px; vertical-align: middle; display: inline-block; color: #ffffff; font-size: 10px; }

footer#footer02 .footer_in #footnav .tworow { max-width: 460px; }

footer#footer02 .footer_in #footnav .tworow ul { font-size: 0; }

footer#footer02 .footer_in #footnav .tworow ul li { display: inline-block; width: 50%; }

footer#footer02 .footer_in #footnav .tworow ul li:not(:nth-child(2n)) { padding-right: 3%; }

footer#footer02 .footer_in #footnav .tworow ul li a:hover { text-decoration: underline; color: #ffffff; }

/* footer top ***************/
.l-footer { padding: 0; }

.t-default ul.f_top_nav { display: inline-block; vertical-align: top; padding: 0 5% 0 0; max-width: calc(100% / 4); }

.t-default ul.f_top_nav.tworow { max-width: 460px; }

/* footer bottom ***************/
#f_bottom_wrap02 { background-color: #EE2B39; padding: 24px 0; }

#f_bottom_wrap02 .f_logo { text-align: center; line-height: 1; }

#f_bottom_wrap02 .f_logo a { display: inline-block; width: 180px; }

#f_bottom_wrap02 .f_logo a img { width: 100%; height: auto; }

#f_bottom_wrap02 .f_bottom { line-height: 1; }

#f_bottom_wrap02 .f_bottom .f_bottom_nav { text-align: center; font-size: 0; margin: 24px auto 16px; }

#f_bottom_wrap02 .f_bottom .f_bottom_nav a { display: inline-block; margin-right: 20px; padding-right: 20px; border-right: 1px solid #ffffff; color: #ffffff; font-size: 12px; }

#f_bottom_wrap02 .f_bottom .f_bottom_nav a:last-child { border-right: none; padding-right: 0; margin-right: 0; }

#f_bottom_wrap02 .f_bottom .f_bottom_nav a:hover { text-decoration: underline; }

#f_bottom_wrap02 .copyright { text-align: center; display: block; color: #ffffff; font-size: 12px; }

@media only screen and (max-width: 979px) { footer#footer02 .footer_in #footnav .f_top_nav { padding: 10px 5% 10px 0; max-width: calc(100% / 2); width: calc(50% - 5px); margin-top: 0; }
  footer#footer02 .footer_in #footnav .f_top_nav li { margin-bottom: 0; }
  .t-default ul.f_top_nav, .t-default ul.f_top_nav.tworow { padding: 0 4% 0 0; } }

@media only screen and (max-width: 690px) { .t-default ul.f_top_nav, .t-default ul.f_top_nav.tworow { padding: 0 0 0 0; max-width: 100%; width: 100%; }
  footer#footer02 { width: 100%; padding: 0; }
  footer#footer02 .footer_in { width: 100%; }
  footer#footer02 .footer_in #footnav { width: 100%; }
  footer#footer02 .footer_in #footnav .f_top_nav, footer#footer02 .footer_in #footnav .f_top_nav.tworow { padding: 0 0 0 0; margin: 0; max-width: 100%; width: 100%; }
  footer#footer02 .footer_in #footnav .f_top_nav li, footer#footer02 .footer_in #footnav .f_top_nav.tworow li { margin-bottom: 0; }
  footer#footer02 .footer_in #footnav .f_top_nav li a, footer#footer02 .footer_in #footnav .f_top_nav.tworow li a { display: block; border-top: 1px solid #444444; border-bottom: 1px solid #111111; padding: 10px 3%; font-size: 14px; position: relative; }
  footer#footer02 .footer_in #footnav .f_top_nav li a:after, footer#footer02 .footer_in #footnav .f_top_nav.tworow li a:after { font-family: FontAwesome; content: "\f054"; padding-right: 8px; vertical-align: middle; display: inline-block; color: #ffffff; font-size: 12px; position: absolute; right: 3%; top: calc(50% - 8px); }
  footer#footer02 .footer_in #footnav .f_top_nav ul, footer#footer02 .footer_in #footnav .f_top_nav.tworow ul { display: none; }
  footer#footer02 .footer_in .f_logo { padding: 20px 0; text-align: center; background-color: #eeeeee; margin-top: 0; }
  footer#footer02 .footer_in .f_logo a { width: 50%; max-width: 240px; }
  #f_bottom_wrap02 { padding-bottom: 15px; }
  #f_bottom_wrap02 .f_bottom .f_bottom_nav { margin-top: 16px; }
  #f_bottom_wrap02 .f_bottom .f_bottom_nav a { display: inline-block; margin: 8px 0 8px 15px; padding-right: 15px; } }

/********************************************/
/* footer 03 */
/********************************************/
footer#footer03 { background-color: #31738C; padding: 40px 0; }

footer#footer03 .footer_in:after { content: ""; display: table; clear: both; }

footer#footer03 .footer_in .f_pro { float: left; width: 30%; font-size: 80%; color: #ffffff; }

footer#footer03 .footer_in .f_pro .f_logo { line-height: 1; margin-bottom: 20px; }

footer#footer03 .footer_in .f_pro .f_logo a { display: inline-block; width: 220px; }

footer#footer03 .footer_in .f_pro .f_logo a img { width: 100%; height: auto; }

footer#footer03 .footer_in #footnav { float: right; width: 65%; font-size: 0; }

footer#footer03 .footer_in #footnav .f_top_nav { display: inline-block; vertical-align: top; padding: 0 5% 0 0; max-width: calc(100% / 3); margin: 0 0 0 5px; }

footer#footer03 .footer_in #footnav .f_top_nav li { margin-bottom: 20px; list-style: none; }

footer#footer03 .footer_in #footnav .f_top_nav li a { color: #ffffff; font-size: 16px; display: inline-block; }

footer#footer03 .footer_in #footnav .f_top_nav li ul { margin-top: 8px; padding-left: 10px; }

footer#footer03 .footer_in #footnav .f_top_nav li ul li { margin-bottom: 5px; }

footer#footer03 .footer_in #footnav .f_top_nav li ul li a { font-size: 13px; }

footer#footer03 .footer_in #footnav .f_top_nav li ul li a:before { font-family: FontAwesome; content: "\f054"; padding-right: 8px; vertical-align: middle; display: inline-block; color: #ffffff; font-size: 10px; }

footer#footer03 .footer_in #footnav .tworow { max-width: 460px; }

footer#footer03 .footer_in #footnav .tworow ul { font-size: 0; }

footer#footer03 .footer_in #footnav .tworow ul li { display: inline-block; width: 50%; }

footer#footer03 .footer_in #footnav .tworow ul li:not(:nth-child(2n)) { padding-right: 3%; }

footer#footer03 .footer_in #footnav .tworow ul li a:hover { text-decoration: underline; color: #ffffff; }

/* footer top ***************/
.l-footer { padding: 0; }

.t-default ul.f_top_nav { display: inline-block; vertical-align: top; padding: 0 5% 0 0; max-width: calc(100% / 4); }

.t-default ul.f_top_nav.tworow { max-width: 460px; }

/* footer bottom ***************/
#f_bottom_wrap03 { background-color: #EE2B39; padding: 14px 0; }

#f_bottom_wrap03 .f_bottom { line-height: 1; }

#f_bottom_wrap03 .f_bottom .f_bottom_nav { float: left; font-size: 0; }

#f_bottom_wrap03 .f_bottom .f_bottom_nav a { display: inline-block; margin-right: 20px; padding-right: 20px; border-right: 1px solid #ffffff; color: #ffffff; font-size: 12px; }

#f_bottom_wrap03 .f_bottom .f_bottom_nav a:last-child { border-right: none; padding-right: 0; margin-right: 0; }

#f_bottom_wrap03 .f_bottom .f_bottom_nav a:hover { text-decoration: underline; }

#f_bottom_wrap03 .copyright { float: right; display: block; color: #ffffff; font-size: 12px; }

@media only screen and (max-width: 979px) { footer#footer03 .footer_in .f_pro { width: 25%; }
  footer#footer03 .footer_in .f_pro .f_logo a { width: 180px; }
  footer#footer03 .footer_in #footnav { width: 70%; font-size: 0; /*.f_top_nav{ li{ margin-bottom: 0; } }*/ }
  .t-default ul.f_top_nav, .t-default ul.f_top_nav.tworow { padding: 0 4% 0 0; } }

@media only screen and (max-width: 690px) { .t-default ul.f_top_nav, .t-default ul.f_top_nav.tworow { padding: 0; max-width: 100%; width: 100%; }
  footer#footer03 { width: 100%; padding: 35px 0 0; }
  footer#footer03 .footer_in { width: 100%; }
  footer#footer03 .footer_in .f_pro { float: none; width: 100%; text-align: center; padding-bottom: 30px; }
  footer#footer03 .footer_in .f_pro .f_logo { padding: 0; margin: 0 0 10px; }
  footer#footer03 .footer_in .f_pro .f_logo a { width: 50%; max-width: 240px; }
  footer#footer03 .footer_in #footnav { float: none; width: 100%; border-top: 1px solid #111111; }
  footer#footer03 .footer_in #footnav .f_top_nav, footer#footer03 .footer_in #footnav .f_top_nav.tworow { padding: 0 0 0 0; margin: 0; max-width: 100%; width: 100%; }
  footer#footer03 .footer_in #footnav .f_top_nav li, footer#footer03 .footer_in #footnav .f_top_nav.tworow li { margin-bottom: 0; }
  footer#footer03 .footer_in #footnav .f_top_nav li a, footer#footer03 .footer_in #footnav .f_top_nav.tworow li a { display: block; border-top: 1px solid #444444; border-bottom: 1px solid #111111; padding: 10px 3%; font-size: 14px; position: relative; }
  footer#footer03 .footer_in #footnav .f_top_nav li a:after, footer#footer03 .footer_in #footnav .f_top_nav.tworow li a:after { font-family: FontAwesome; content: "\f054"; padding-right: 8px; vertical-align: middle; display: inline-block; color: #ffffff; font-size: 12px; position: absolute; right: 3%; top: calc(50% - 8px); }
  footer#footer03 .footer_in #footnav .f_top_nav ul, footer#footer03 .footer_in #footnav .f_top_nav.tworow ul { display: none; }
  #f_bottom_wrap03 { padding: 10px 10px 15px; }
  #f_bottom_wrap03 .f_bottom .f_bottom_nav { float: none; text-align: center; margin-bottom: 15px; }
  #f_bottom_wrap03 .f_bottom .f_bottom_nav a { margin: 10px 15px 10px 0; }
  #f_bottom_wrap03 .copyright { float: none; text-align: center; font-size: 11px; } }

/****************************************************************/
/* html source reference */
/****************************************************************/
.prebox pre { margin: 0; padding: 0; }

.prebox .qa_click_a { padding: 0 2%; }

.partsnav { text-align: center; font-size: 0; background-color: #F9F8F4; }

.partsnav.ppage { background-color: #ffffff; }

.partsnav .subnavi { padding: 3% 0; max-width: 1024px; margin: auto; }

.partsnav .subnavi_title { margin-bottom: 20px; }

.partsnav .subnavi_title a { display: block; color: #1C293F; font-size: 30px; font-weight: bold; line-height: 1; text-decoration: none; }

.partsnav li { display: inline-block; margin: 10px; }

.partsnav li a { display: block; padding: 15px 30px; text-align: center; text-decoration: none; line-height: 1; border: 1px solid #1C293F; color: #1C293F; font-size: 16px; position: relative; z-index: 2; }

.partsnav li a::before { content: ""; width: 100%; height: 0; background-color: #1C293F; position: absolute; left: 0; bottom: 0; transition: all 0.2s ease 0s; z-index: -1; }

.partsnav li a:hover::before { height: 100%; }

.partsnav li a:hover { text-decoration: none; color: #ffffff; }

/****************************************************************/
/* pagetop */
/****************************************************************/
#topcontrol { z-index: 150; margin-bottom: 0; }

a.pagetop { width: 72px; height: 72px; background: url(../image/common/pagetop.gif) no-repeat 0 0; background-size: 72px 72px; display: block; z-index: 50; }

@media only screen and (max-width: 979px) { #topcontrol { margin-bottom: 220px; } }

@media only screen and (max-width: 979px) { #topcontrol { margin-bottom: 130px; }
  a.pagetop { width: 40px; height: 40px; background-size: 40px 40px; } }

/****************************************************************/
/* title */
/****************************************************************/
h2, h3, h4, h5, h6 { font-weight: normal; }

/* h3 ***************************/
.title03 { font-size: 28px; margin-bottom: 24px; line-height: 1.4; }

@media only screen and (max-width: 690px) { .title03 { font-size: 22px; } }

.title03_bl { font-size: 28px; margin-bottom: 24px; line-height: 1.4; padding-left: 13px; border-left: 5px solid #045574; }

@media only screen and (max-width: 690px) { .title03_bl { font-size: 22px; } }

.title03_blb { font-size: 28px; margin-bottom: 24px; line-height: 1.4; padding-left: 13px; padding-bottom: 8px; border-left: 5px solid #045574; border-bottom: 1px solid #045574; }

@media only screen and (max-width: 690px) { .title03_blb { font-size: 22px; } }

.title03_blb2 { font-size: 28px; margin-bottom: 24px; line-height: 1.4; padding: 12px 0 12px 15px; border-bottom: 1px solid #045574; position: relative; }

@media only screen and (max-width: 690px) { .title03_blb2 { font-size: 22px; } }

.title03_blb2:after { content: ""; background-color: #045574; position: absolute; top: 13px; left: 0; width: 5px; height: calc(100% - 26px); }

.title03_bbl { font-size: 28px; margin-bottom: 24px; line-height: 1.4; padding-bottom: 8px; border-bottom: 1px solid #045574; }

@media only screen and (max-width: 690px) { .title03_bbl { font-size: 22px; } }

.title03_bbs { font-size: 28px; margin-bottom: 24px; line-height: 1.4; position: relative; padding-bottom: 8px; }

@media only screen and (max-width: 690px) { .title03_bbs { font-size: 22px; } }

.title03_bbs:after { content: ""; background-color: #045574; position: absolute; bottom: -2px; left: 0; width: 80px; height: 3px; }

.title03_bb2 { font-size: 28px; margin-bottom: 24px; line-height: 1.4; padding-bottom: 10px; border-bottom: 1px solid #045574; position: relative; }

@media only screen and (max-width: 690px) { .title03_bb2 { font-size: 22px; } }

.title03_bb2:after { content: ""; background-color: #045574; position: absolute; bottom: -2px; left: 0; width: 80px; height: 3px; }

.title03_bold { font-size: 28px; margin-bottom: 24px; line-height: 1.4; font-weight: bold; }

@media only screen and (max-width: 690px) { .title03_bold { font-size: 22px; } }

.title03_bg { font-size: 28px; margin-bottom: 24px; line-height: 1.4; background-color: #045574; color: #ffffff; padding: 8px 16px; }

@media only screen and (max-width: 690px) { .title03_bg { font-size: 22px; } }

.title03_bgbb { font-size: 28px; margin-bottom: 24px; line-height: 1.4; line-height: 1.4; background-color: #045574; border-bottom: 4px solid #BD0400; color: #ffffff; padding: 8px 16px; }

@media only screen and (max-width: 690px) { .title03_bgbb { font-size: 22px; } }

.title03_tc_bbs { font-size: 28px; margin-bottom: 24px; line-height: 1.4; text-align: center; position: relative; padding-bottom: 20px; }

@media only screen and (max-width: 690px) { .title03_tc_bbs { font-size: 22px; } }

.title03_tc_bbs:after { content: ""; background-color: #045574; position: absolute; bottom: 0; left: calc(50% - 40px); width: 80px; height: 4px; }

.title03_tc_verticalbm { text-align: center; margin-bottom: 20px; position: relative; }

.title03_tc_verticalbm:after { display: inline-block; content: ""; background-color: #045574; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; z-index: 1; }

.title03_tc_verticalbm .ttv { font-size: 28px; margin-bottom: 24px; line-height: 1.4; margin-bottom: 0; background-color: #ffffff; position: relative; z-index: 2; display: inline-block; padding: 0 2%; max-width: 90%; }

@media only screen and (max-width: 690px) { .title03_tc_verticalbm .ttv { font-size: 22px; } }

/* h4 ***************************/
.title04 { font-size: 22px; margin-bottom: 10px; line-height: 1.4; }

@media only screen and (max-width: 690px) { .title04 { font-size: 18px; } }

.title04_bl { font-size: 22px; margin-bottom: 10px; line-height: 1.4; padding-left: 8px; border-left: 5px solid #045574; }

@media only screen and (max-width: 690px) { .title04_bl { font-size: 18px; } }

.title04_bbl { font-size: 22px; margin-bottom: 10px; line-height: 1.4; padding-bottom: 8px; border-bottom: 1px solid #045574; }

@media only screen and (max-width: 690px) { .title04_bbl { font-size: 18px; } }

.title04_bbs { font-size: 22px; margin-bottom: 10px; line-height: 1.4; position: relative; padding-bottom: 5px; }

@media only screen and (max-width: 690px) { .title04_bbs { font-size: 18px; } }

.title04_bbs:after { content: ""; background-color: #045574; position: absolute; bottom: -2px; left: 0; width: 40px; height: 3px; }

.title04_bb2 { font-size: 22px; margin-bottom: 10px; line-height: 1.4; padding-bottom: 8px; border-bottom: 1px solid #045574; position: relative; }

@media only screen and (max-width: 690px) { .title04_bb2 { font-size: 18px; } }

.title04_bb2:after { content: ""; background-color: #045574; position: absolute; bottom: -2px; left: 0; width: 40px; height: 3px; }

.title04_bold { font-size: 22px; margin-bottom: 10px; line-height: 1.4; font-weight: bold; }

@media only screen and (max-width: 690px) { .title04_bold { font-size: 18px; } }

.title04_bg { font-size: 22px; margin-bottom: 10px; line-height: 1.4; background-color: #045574; color: #ffffff; padding: 6px 10px; }

@media only screen and (max-width: 690px) { .title04_bg { font-size: 18px; } }

.title04_square { font-size: 22px; margin-bottom: 10px; line-height: 1.4; padding-left: 20px; position: relative; }

@media only screen and (max-width: 690px) { .title04_square { font-size: 18px; } }

.title04_square:after { content: ""; background-color: #045574; position: absolute; bottom: calc(50% -  5px); left: 0; width: 10px; height: 10px; }

/* h5 ***************************/
.title05 { font-size: 19px; margin-bottom: 10px; line-height: 1.4; }

@media only screen and (max-width: 690px) { .title05 { font-size: 16px; margin-bottom: 8px; } }

.title05.m0 { margin-bottom: 0; }

.title05_bl { font-size: 19px; margin-bottom: 10px; line-height: 1.4; padding-left: 8px; border-left: 5px solid #045574; }

@media only screen and (max-width: 690px) { .title05_bl { font-size: 16px; margin-bottom: 8px; } }

.title05_bbl { font-size: 19px; margin-bottom: 10px; line-height: 1.4; padding-bottom: 8px; border-bottom: 1px solid #045574; }

@media only screen and (max-width: 690px) { .title05_bbl { font-size: 16px; margin-bottom: 8px; } }

.title05_bbs { font-size: 19px; margin-bottom: 10px; line-height: 1.4; position: relative; padding-bottom: 5px; }

@media only screen and (max-width: 690px) { .title05_bbs { font-size: 16px; margin-bottom: 8px; } }

.title05_bbs:after { content: ""; background-color: #045574; position: absolute; bottom: -2px; left: 0; width: 40px; height: 3px; }

.title05_bb2 { font-size: 19px; margin-bottom: 10px; line-height: 1.4; padding-bottom: 8px; border-bottom: 1px solid #045574; position: relative; }

@media only screen and (max-width: 690px) { .title05_bb2 { font-size: 16px; margin-bottom: 8px; } }

.title05_bb2:after { content: ""; background-color: #045574; position: absolute; bottom: -2px; left: 0; width: 40px; height: 3px; }

.title05_bold { font-size: 19px; margin-bottom: 10px; line-height: 1.4; font-weight: bold; }

.title05_bg { font-size: 19px; margin-bottom: 10px; line-height: 1.4; background-color: #045574; color: #ffffff; padding: 6px 10px; }

@media only screen and (max-width: 690px) { .title05_bg { font-size: 16px; margin-bottom: 8px; } }

.title05_square { font-size: 19px; margin-bottom: 10px; line-height: 1.4; padding-left: 15px; position: relative; }

@media only screen and (max-width: 690px) { .title05_square { font-size: 16px; margin-bottom: 8px; } }

.title05_square:after { content: ""; background-color: #045574; position: absolute; bottom: calc(50% -  4px); left: 0; width: 8px; height: 8px; }

/* h6 ***************************/
.title06 { font-size: 16px; margin-bottom: 10px; line-height: 1.4; }

@media only screen and (max-width: 690px) { .title06 { font-size: 14px; } }

.title06.m0 { margin-bottom: 0; }

/*-----------------------------------------------------------------*/
/* rss お知らせ */
/*-----------------------------------------------------------------*/
.rss_box dl { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid #eeeeee; }

.rss_box dl:after { content: ""; display: table; clear: both; }

.rss_date { float: left; width: 12%; font-size: .9em; }

.rss_title { float: right; width: 88%; padding-left: 20px; }

.rss_title a { color: #045473; }

.rss_title a:hover { text-decoration: underline; }

.rss_contents { clear: both; padding: 5px 0 0 calc(12% + 20px); font-size: .9em; }

.rss_new { display: inline-block; background-color: #045473; color: #ffffff; padding: 1px 12px; font-size: 10px; margin-right: 10px; }

@media only screen and (max-width: 979px) { .rss_date { width: 14%; }
  .rss_title { width: 86%; }
  .rss_contents { padding-left: calc(14% + 15px); } }

@media only screen and (max-width: 690px) { .rss_date, .rss_title { width: 100%; float: none; }
  .rss_date { font-size: .85em; }
  .rss_title { padding: 3px 0; }
  .rss_contents { padding: 5px 0 0 0; } }

/* 2個目以降非表示 スライドで表示 ----------*/
.rss_tggle { position: relative; }

.rss_tggle .rss_contents { display: none; }

#close { display: none; }

#rss_open { width: 40px; height: 40px; position: absolute; right: 0; top: 0; cursor: pointer; }

#rss_open::before { font-family: FontAwesome; content: "\f078"; display: inline-block; font-size: 20px; line-height: 40px; color: #ffffff; background-color: #045574; width: 40px; height: 40px; text-align: center; }

#rss_open.active::before { content: "\f00d"; }

.rss_tggle .rss_box { width: calc(100% - 40px - 20px); margin-right: 20px; }

/*-----------------------------------------------------------------*/
/* H2 ページタイトル */
/*-----------------------------------------------------------------*/
#pagetitle01 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #31738C; }

@media only screen and (max-width: 690px) { #pagetitle01 { padding: 24px 0; } }

#pagetitle01 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #ffffff; }

@media only screen and (max-width: 690px) { #pagetitle01 h2 { font-size: 30px; } }

#pagetitle02 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #F7FAFB; }

@media only screen and (max-width: 690px) { #pagetitle02 { padding: 24px 0; } }

#pagetitle02 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #333333; position: relative; }

@media only screen and (max-width: 690px) { #pagetitle02 h2 { font-size: 30px; } }

#pagetitle02 h2:after { content: ""; width: 70px; height: 4px; position: absolute; bottom: -40px; left: 0; background-color: #374252; }

@media only screen and (max-width: 690px) { #pagetitle02 h2:after { bottom: -24px; } }

#pagetitle03 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #F7FAFB; }

@media only screen and (max-width: 690px) { #pagetitle03 { padding: 24px 0; } }

#pagetitle03 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #333333; padding-left: 15px; border-left-width: 5px; border-left-style: solid; border-left-color: #045574; }

@media only screen and (max-width: 690px) { #pagetitle03 h2 { font-size: 30px; } }

#pagetitle04 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background: url(../image/title02_bg.jpg) no-repeat center/cover; }

@media only screen and (max-width: 690px) { #pagetitle04 { padding: 24px 0; } }

#pagetitle04 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #ffffff; }

@media only screen and (max-width: 690px) { #pagetitle04 h2 { font-size: 30px; } }

#pagetitle05 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #31738C; text-align: center; }

@media only screen and (max-width: 690px) { #pagetitle05 { padding: 24px 0; } }

#pagetitle05 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #ffffff; }

@media only screen and (max-width: 690px) { #pagetitle05 h2 { font-size: 30px; } }

#pagetitle06 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #F7FAFB; text-align: center; }

@media only screen and (max-width: 690px) { #pagetitle06 { padding: 24px 0; } }

#pagetitle06 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #333333; position: relative; }

@media only screen and (max-width: 690px) { #pagetitle06 h2 { font-size: 30px; } }

#pagetitle06 h2:after { content: ""; width: 80px; height: 4px; position: absolute; bottom: -40px; left: calc(50% - 40px); background-color: #DF0000; }

@media only screen and (max-width: 690px) { #pagetitle06 h2:after { bottom: -24px; } }

#pagetitle07 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #F7FAFB; text-align: center; padding-bottom: 50px; }

@media only screen and (max-width: 690px) { #pagetitle07 { padding: 24px 0; } }

#pagetitle07 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #333333; position: relative; }

@media only screen and (max-width: 690px) { #pagetitle07 h2 { font-size: 30px; } }

#pagetitle07 h2:after { content: ""; width: 40px; height: 4px; position: absolute; bottom: -20px; left: calc(50% - 20px); background-color: #DF0000; }

@media only screen and (max-width: 690px) { #pagetitle07 h2:after { bottom: -24px; } }

#pagetitle08 { padding: 40px 0; width: 100%; margin: 0; display: table; background-color: #31738C; background-color: #F7FAFB; text-align: center; }

@media only screen and (max-width: 690px) { #pagetitle08 { padding: 24px 0; } }

#pagetitle08 h2 { font-size: 32px; line-height: 1.3; color: #ffffff; color: #333333; position: relative; }

@media only screen and (max-width: 690px) { #pagetitle08 h2 { font-size: 30px; } }

.title02, p.title02 { font-size: 28px; line-height: 1.3; margin-bottom: 20px; }

.title02.m10, p.title02.m10 { margin-bottom: 10px; }

@media only screen and (max-width: 690px) { .title02, p.title02 { font-size: 26px; line-height: 1.4; margin-bottom: 15px; } }

/*-----------------------------------------------------------------*/
/* ぱんくず locator */
/*-----------------------------------------------------------------*/
#locator01 { background-color: #f5f5f5; font-size: 10px; line-height: 1.6; margin-bottom: 40px; padding: 3px 0; text-align: right; color: #333333; }

#locator01 a { color: #333333; }

#locator02 { font-size: 10px; line-height: 1.6; margin-bottom: 40px; padding: 5px 0; text-align: right; }

@media only screen and (max-width: 979px) { #locator01, #locator02 { margin-bottom: 40px; } }

/*-----------------------------------------------------------------*/
/* キャッチ・強調　テキスト */
/*-----------------------------------------------------------------*/
.catch { font-size: 30px; line-height: 1.6; }

@media only screen and (max-width: 691px) { .catch { font-size: 26px; } }

.mincho { font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3",serif; }

.catch_bb { font-size: 32px; line-height: 1.4; text-align: center; position: relative; padding-bottom: 20px; margin-bottom: 40px; }

.catch_bb:after { content: ""; background-color: #EE2B39; position: absolute; bottom: 0; left: calc(50% - 20px); width: 40px; height: 6px; }

@media only screen and (max-width: 691px) { .catch_bb { font-size: 24px; padding-bottom: 15px; margin-bottom: 20px; } }

/*-----------------------------------------------------------------*/
/* バナー */
/*-----------------------------------------------------------------*/
.banner_sbs3 { font-size: 0; }

.banner_sbs3 li { display: inline-block; width: 32%; }

.banner_sbs3 li:not(:last-child) { margin-right: 2%; }

.banner_sbs3 li img { max-width: 100%; width: auto; height: auto; display: block; margin-right: auto; margin-left: auto; }

@media only screen and (max-width: 691px) { .banner_sbs3 li { width: 100%; margin: 8px 0; }
  .banner_sbs3 li:not(:last-child) { margin-right: 0; } }

.banner_sbs2 { font-size: 0; }

.banner_sbs2 li { display: inline-block; width: 47.5%; }

.banner_sbs2 li:not(:last-child) { margin-right: 5%; }

.banner_sbs2 li img { max-width: 100%; width: auto; height: auto; display: block; margin-right: auto; margin-left: auto; }

@media only screen and (max-width: 691px) { .banner_sbs2 li { width: 100%; margin: 8px 0; }
  .banner_sbs2 li:not(:last-child) { margin-right: 0; } }

/*-----------------------------------------------------------------*/
/* google map */
/*-----------------------------------------------------------------*/
#map_canvas { height: 400px; width: 100%; position: relative; }

/*#map_canvas::after{
	content: "";
	position: absolute;
	background-color: rgba(0,0,0,.15);
	width: 100%;
	height: 100%;
}*/
@media only screen and (max-width: 979px) { #map_canvas { height: 300px; } }

@media only screen and (max-width: 690px) { #map_canvas { height: 200px; } }


/*-----------------------------------------------------------------*/
/* add gnav */
/*-----------------------------------------------------------------*/
.sp {
  display: none !important;
}
@media only screen and (max-width: 690px) { 
.sp {
  display: block !important;
}
.g_important_note a { color: #f00; }
 }