@charset "utf-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
  border-collapse: separate;
}
button {
  -webkit-appearance: button;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  box-sizing: border-box;
}
input, textarea, select {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
input:focus,
textarea:focus {
  outline: none;
}
/* Firefox */
input::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
}
a {
  text-decoration: none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a,
a:focus {
  outline: none;
}
img {
  border: none;
  vertical-align: bottom;
}

/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}


body {
	-webkit-text-size-adjust: 100%;
	font-family: '小塚ゴシック Pro L','Kozuka Gothic Pro Light', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  position: relative;
  height: 100%;
  color: #333333;
}

/* IE */
body.ie {
  font-family: Verdana, Meiryo, sans-serif;
}

.no-pc {
  display: none;
}
.no-sp {
  display: block;
}


/* module */
.block_head {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.bg_color-01 {
  background-color: #f9f9f2;
}


.f_left { float: left; }
.f_right { float: right; }
.txt_l { text-align:left!important; }
.txt_c { text-align:center!important; }
.txt_r { text-align:right!important; }



header {
  background-color: #FFFFFF;
}
header .header_logo a {
  display: block;
  background: url(../img/gnav_logo.png) no-repeat left top;
  background-size: contain;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
#menuList li a {
  position: relative;
}
#menuList .gnav_main li:first-of-type a span.main_title {
  background-image: url(../img/parts/icn_gnav-01.png);
  background-repeat: no-repeat;
}
#menuList .gnav_main li:nth-of-type(2) a span.main_title {
  background-image: url(../img/parts/icn_gnav-02.png);
  background-repeat: no-repeat;
}
#menuList .gnav_main li:nth-of-type(3) a span.main_title {
  background-image: url(../img/parts/icn_gnav-03.png);
  background-repeat: no-repeat;
}
#menuList .gnav_main li:nth-of-type(4) a span.main_title {
  background-image: url(../img/parts/icn_gnav-04.png);
  background-repeat: no-repeat;
}
footer,
footer a {
  color: #FFFFFF;
}
.footer_contents {
  width: 100%;
  background-color: #5c6063;
}
#pagetop {
  position: fixed;
  display: none;
  z-index: 50;
}
#pagetop a {
  display: block;
}
.footerContents_inner {
  box-sizing: border-box;
}
.footerBtn_box li {
  text-align: center;
  border-radius: 25px;
  background-color: #FFFFFF;
}
.footerBtn_box li a {
  color: #5c6063;
  font-weight: bold;
  display: block;
  position: relative;
}
.footerBtn_box li a:after {
  content: "";
  display: block;
  background-image: url(../img/parts/icn_arrow_right-ro.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  /*right: 5%;*/
}
.c_right_box {
  width: 100%;
  background-color: #333333;
}



@media print, screen and (min-width: 1121px) {
  .gnav_main li a:not(.active):after {
    content: "";
    display: block;
    background: url(../img/parts/pc_gnav_hover.png) no-repeat center top;
    background-size: 155px 10px;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -18px;
    left: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }
  .gnav_main li a:not(.active):hover:after {
    visibility: visible;
    opacity: 1;
  }
  .footerBtn_box li a:hover {
    color: #f0831e;
  }
  .footerBtn_box li a:hover:after {
    background-position: left -24px;
  }
}




@media print, screen and (min-width: 751px) {
  /* module */
  .block_inner {
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  
  header .header_logo {
    float: left;
    margin-right: 64px;
  }
  header .header_logo a {
    width: 210px;
    height: 69px;
  }
  #menuList {
    float: left;
    margin-top: 19px;
  }
  #menuList .gnav_main li a {
    position: relative;
  }
  #menuList .gnav_main li a.active:after {
    content: "";
    display: block;
    background: url(../img/parts/pc_gnav_hover.png) no-repeat center top;
    background-size: 155px 10px;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -18px;
    left: 0;
  }
  #menuList .gnav_main li {
    float: left;
  }
  #menuList .gnav_main li a {
    display: block;
    margin: auto;
    height: 50px;
  }
  #menuList .gnav_main li a span.main_title {
    display: block;
    font-size: 18px;
    line-height: 27px;
    font-weight: bold;
    color: #303030;
    text-align: center;
  }
  #menuList .gnav_main li.separator a {
    border-right: 2px #f5f5f5 solid;
  }
  #menuList .gnav_main li:first-of-type {
    width: 208px;
  }
  #menuList .gnav_main li:first-of-type a span.main_title {
    background-position: left center;
    background-size: 27px 27px;
    padding-left: 20px;
  }
  #menuList .gnav_main li:nth-of-type(2) {
    width: 211px;
  }
  #menuList .gnav_main li:nth-of-type(2) a span.main_title {
    background-position: 24px center;
    background-size: 27px 27px;
    padding-left: 9px;
  }
  #menuList .gnav_main li:nth-of-type(3) {
    width: 210px;
  }
  #menuList .gnav_main li:nth-of-type(3) a span.main_title {
    background-position: 41px center;
    background-size: 27px 27px;
  }
  #menuList .gnav_main li:nth-of-type(4) {
    width: 211px;
  }
  #menuList .gnav_main li:nth-of-type(4) a span.main_title {
    background-position: 40px center;
    background-size: 27px 27px;
  }
  #menuList .gnav_main li a span.sub_title {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #666666;
    text-align: center;
    margin-top: 7px;
  }
  #pagetop {
    right: 40px;
    bottom: 19px;
  }
  .footerContents_inner {
    width: 970px;
    height: 260px;
    margin: auto;
    font-size: 15px;
    padding-top: 32px;
  }
  .footer_logo {
    float: left;
    margin-right: 26px;
  }
  .footer_address {
    float: left;
    padding-top: 17px;
  }
  .footerTel_box {
    margin-top: 12px;
  }
  .footerTel_box p {
    float: left;
  }
  .footerTel_box p:first-of-type {
    margin-right: 15px;
  }
  .footerBtn_box {
    float: right;
    padding-top: 17px;
  }
  .footerBtn_box li {
    float: left;
    width: 180px;
    height: 40px;
    background-size: 180px 40px;
  }
  .footerBtn_box li a {
    line-height: 40px;
  }
  .footerBtn_box li a:after {
    width: 24px;
    height: 24px;
    right: 5%;
  }
  .footerBtn_box li:first-of-type {
    margin-right: 14px;
  }
  .footerFacility_box {
    width: 770px;
    margin: 37px auto 20px auto;
  }
  .footerFacility_head {
    float: left;
    color: #5c6063;
    font-weight: bold;
    background-color: #FFFFFF;
    box-sizing: border-box;
    padding: 5px 7px;
  }
  .footerFacility_box ul {
    float: left;
    margin-top: 5px;
    /*margin-left: 30px;*/
      width: 90%;
  }
  .footerFacility_box li {
    float: left;
  }
  .footerFacility_box .footerFacility_prefectures {
    /*margin-right: 20px;*/
      line-height: 1.5;
      width: 12%;
  }
  .footerFacility_box .footerFacility_name {
    position: relative;
    padding-left: 19px;
    line-height: 1.5;
    margin-right: 40px;
  }
  .footerFacility_box .footerFacility_name:before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background-color: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 4px;
    left: 0;
  }
  /*.footerFacility_box ul li:nth-of-type(2) {
    margin-right: 40px;
  }
  .footerFacility_box ul li:nth-of-type(4) {
    margin-left: 48px;
  }
    .footerFacility_box ul li:nth-of-type(7) {
    margin-right: 10px;
  }
    .footerFacility_box ul li:nth-of-type(8) {
    margin-right: 60px;
  }*/
  .footerLink_box {
    text-align: center;
  }
  .footerLink_box li {
    display: inline-block;
    padding-left: 23px;
    padding-right: 23px;
  }
  .footerLink_box li ~ li {
    border-left: 1px #ffffff solid;
  }
  .c_right_box p {
    font-size: 12px;
    line-height: 40px;
  }
  
  /* lower-page */
  #wrapper.lower-page header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  #wrapper.lower-page header .block_inner {
    padding-top: 25px;
    padding-bottom: 31px;
  }
  #wrapper.lower-page #content {
    padding-top: 126px;
  }
}



@media screen and (max-width: 750px) {
  body {
    font-size: 14px;
    min-width: 320px;
  }
  .no-pc {
    display: block;
  }
  .no-sp {
    display: none;
  }
  
  img {
    width: 100%;
    height: auto;
  }
  
  /* module */
  .block_inner {
    box-sizing: border-box;
    padding-left: 3%;
    padding-right: 3%;
  }
  
  
  #wrapper {
    position: relative;
  }
  #nav-overLay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: rgba(0,0,0,0.8);
    z-index: 102;
  }
  header {
    width: 100%;
    height: 60px;
    background-color: #ffffff;
    position: fixed; 
    top: 0;
    left: 0;
    z-index: 103;
  }
  header .block_inner {
    width: 100%;
    height: 60px;
    background-color: #ffffff;
    padding-left: 0;
    padding-right: 0;
  }
  header .header_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  header .header_logo a {
    width: 130px;
    height: 43px;
    background-size: 130px 43px;
  }
  .toggle_wrapper {
    float: right;
    width: 26px;
    height: 100%;
    padding-right: 3%;
  }
  .navbar-toggle {
    position: relative;
    float: right;
    width: 26px;
    height: 28px;
    margin-top: 13px;
  }
  .navbar-toggle,
  .navbar-toggle span {
    display: inline-block;
    box-sizing: border-box;
  }
  .navbar-toggle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #f0831e;
    border-radius: 4px;
  }
  .navbar-toggle span:nth-of-type(1) {
    top: 4px;
    -webkit-transition: all 0.6s 0s ease;
    transition: all 0.6s 0s ease;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .navbar-toggle span:nth-of-type(2) {
    top: 12px;
    -webkit-transition: opacity 0.2s 0s ease;
    transition: opacity 0.2s 0s ease;
  }
  .navbar-toggle span:nth-of-type(3) {
    bottom: 4px;
    -webkit-transition: -webkit-transform 0.6s 0s ease;
    transition: -webkit-transform 0.6s 0s ease;
    transition: transform 0.6s 0s ease;
    transition: transform 0.6s 0s ease, -webkit-transform 0.6s 0s ease;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .navbar-toggle.active span:first-of-type {
    -webkit-transform: translateY(10px) rotate(45deg);
    -ms--webkit-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
  }
  .navbar-toggle.active span:nth-of-type(2) {
    opacity: 0;
  }
  .navbar-toggle.active span:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(135deg);
    -ms-transform: translateY(-6px) rotate(135deg);
    transform: translateY(-6px) rotate(135deg);
  }
  #toggle_txt {
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    background: url(../img/sp_toggle_txt.png) no-repeat left top;
    width: 26px;
    height: 6px;
    background-size: 26px 6px;
    float: right;
  }
  #menuList {
    display: none;
    width: 100%;
    height: auto;
    position: absolute;
    top: 60px;
    left: 0;
    /*background-color: #f4f2df;*/
    z-index: 102;
  }
  #menuList li a {
    display: block;
    color: #000000;
    font-size: 14px;
    font-weight: bold;
    line-height: 50px;
    padding-left: 5%;
  }
  #menuList li {
    border-bottom: 2px #ffffff solid;
    background-color: #f4f2df;
  }
  #menuList li a:after {
    content: ">";
    display: block;
    color: #f0831e;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 5%;
  }
  #menuList li a span {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 36px;
  }
  #menuList .gnav_main li:first-of-type a span.main_title {
    background-position: left center;
    background-size: 28px 28px; 
  }
  #menuList .gnav_main li:nth-of-type(2) a span.main_title {
    background-position: left center;
    background-size: 28px 28px;
  }
  #menuList .gnav_main li:nth-of-type(3) a span.main_title {
    background-position: left center;
    background-size: 28px 28px;
  }
  #menuList .gnav_main li:nth-of-type(4) a span.main_title {
    background-position: left center;
    background-size: 28px 28px;
  }
  #menuList .gnav_main li a span.sub_title {
    display: none;
  }
  #menuList .gnav_sub li a span {
    position: relative;
  }
  #menuList .gnav_sub li a span:before {
    content: "";
    display: block;
    background-color: #f0831e;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 6px;
  }
  #menuList .gnav_sub li:last-of-type {
    border-bottom: none;
  }
  .spLink_box li a {
    display: block;
  }
  .spLink_box h4 {
    font-size: 16px;
    line-height: 50px;
    font-weight: bold;
    background-color: #f4f2df;
    box-sizing: border-box;
    padding-left: 8%;
  }
  .spLink_box ul:first-of-type li {
    background-color: #f08c31;
    border-top: 2px #ffffff solid;
  }
  .spLink_box ul:first-of-type li a {
    color: #ffffff;
    line-height: 50px;
    padding-left: 11%;
    position: relative;
  }
  .spLink_box ul:first-of-type li a:after {
    content: ">";
    display: block;
    color: #ffffff;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 5%;
  }
  .spLink_box ul:nth-of-type(2) li {
    background-color: #f4f2df;
    border-top: 2px #ffffff solid;
  }
  .spLink_box ul:nth-of-type(2) li a {
    color: #000000;
    font-weight: bold;
    line-height: 50px;
    padding-left: 8%;
    position: relative;
  }
  .spLink_box ul:nth-of-type(2) li a:after {
    content: ">";
    display: block;
    color: #f0831e;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 5%;
  }
  .spLink_box ul:nth-of-type(2) li:last-of-type {
    border-bottom: 2px #ffffff solid;
  }
  #pagetop {
    width: 50px;
    height: 50px;
    right: 3%;
    bottom: 20px;
  }
  .footerContents_inner {
    padding-top: 26px;
    padding-bottom: 25px;
  }
  .footer_logo {
    width: 55.733%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 22px;
  }
  .footer_address {
    display: table;
    margin: auto;
  }
  .footerTel_box {
    margin-top: 6px;
    margin-bottom: 23px;
  }
  .footerTel_box p {
    float: left;
  }
  .footerTel_box p:first-of-type {
    margin-right: 10px;
  }
  .footerBtn_box li {
    width: 47.8125%;
    min-width: 170px;
    height: 34px;
    margin-left: auto;
    margin-right: auto;
  }
  .footerBtn_box li a {
    font-size: 15px;
    line-height: 34px;
  }
  .footerBtn_box li a:after {
    width: 22px;
    height: 22px;
    right: 4%;
  }
  .footerBtn_box li ~ li {
    margin-top: 24px;
  }
  .c_right_box p {
    font-size: 12px;
    line-height: 34px;
  }
  
  /* lower-page */
  #wrapper.lower-page #content {
    padding-top: 60px;
  }
}


@media screen and (max-width: 750px) and (orientation: landscape) {
  header,
  header .block_inner {
    width: 100%;
  }
  #menuList .gnav_sub {
    overflow: hidden;
  }
  #menuList li {
    float: left;
    width: 50%;
    box-sizing: border-box;
  }
  #menuList .gnav_main li:nth-of-type(odd),
  #menuList .gnav_sub li:nth-of-type(odd) {
    border-right: 2px #ffffff solid;
  }
}