﻿@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
  font-size: 1.0rem;
  font-family: -apple-system, sans-serif;
  line-height: 1.4em;
  color: #333; }

h1, h2, h3, h4, h5, h6, ul, li, ol, dl, dt, dd, form, input {
  margin: 0;
  padding: 0;
  font-size: 100%; }

p {
  margin: 0;
  padding: 0; }

li {
  margin: 0;
  padding: 0;
  list-style: none; }

img {
  max-width: 100%;
  height: auto;
  border: 0; }

hr {
  display: none; }

a, a:link {
  color: inherit;
  text-decoration: none; }

a:visited {
  color: inherit;
  text-decoration: none; }

a:hover {
  color: inherit;
  text-decoration: none; }

table {
  font-size: 100%; }

.clearfix:after {
  clear: both;
  content: "";
  display: block; }

.clear {
  clear: both; }

.hide {
  display: none; }

article, aside, dialog, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

em {
  font-weight: bold;
  font-style: normal; }

img.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    img.sp {
      display: inline-block; } }

img.pc {
  display: inline-block; }
  @media screen and (max-width: 768px) {
    img.pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp {
      display: block; } }

.pc {
  display: block; }
  @media screen and (max-width: 768px) {
    .pc {
      display: none; } }

.aligncenter {
  text-align: center !important; }

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

* {
  box-sizing: border-box; }

body {
  min-width: 1024px;
  margin: 0 auto;
  padding-top: 104px;
  -webkit-text-size-adjust: 100%;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 14px;
  line-height: 1.6;
  color: #000; }
  @media screen and (max-width: 768px) {
    body {
      min-width: 100%;
      padding-top: 50px; } }

.inner {
  width: 960px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .inner {
      width: 100%;
      padding-left: 10px;
      padding-right: 10px;
      box-sizing: border-box; } }

.inner-l {
  width: 1024px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .inner-l {
      width: 100%;
      padding-left: 10px;
      padding-right: 10px;
      box-sizing: border-box; } }

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 105px;
  background: #fff;
  border-bottom: 1px solid #d5d5d5;
  z-index: 100000; }
  @media screen and (max-width: 768px) {
    #header {
      height: 50px; } }
  #header .header-box1 {
    position: relative;
    width: 1024px;
    margin: 0 auto;
    height: 50px;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      #header .header-box1 {
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box; } }
    #header .header-box1 #siteId img {
      margin-top: 5px;
      width: auto;
      height: 40px; }
      @media screen and (max-width: 768px) {
        #header .header-box1 #siteId img {
          width: 200px;
          height: auto;
          margin: 0; } }
    @media screen and (max-width: 768px) {
      #header .header-box1 #siteId {
        display: table-cell;
        height: 50px;
        vertical-align: middle; } }
  #header #header-cv {
    position: absolute;
    right: 0;
    top: 0;
    height: 50px; }
    @media screen and (max-width: 768px) {
      #header #header-cv {
        display: none; } }
    #header #header-cv li {
      float: right;
      font-size: 15px; }
      #header #header-cv li a {
        display: table-cell;
        height: 49px;
        letter-spacing: .1em;
        vertical-align: middle;
        transition: .2s; }
        @media all and (-ms-high-contrast: none) {
          #header #header-cv li a {
            padding-top: 5px; } }
      #header #header-cv li.request {
        background: #605123; }
      #header #header-cv li.request a {
        width: 130px;
        background: #605123;
        background: #4d0000;
        background: -moz-linear-gradient(top, #4d0000 0%, #990000 100%);
        background: -webkit-linear-gradient(top, #4d0000 0%, #990000 100%);
        background: linear-gradient(to bottom, #4d0000 0%, #990000 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d0000', endColorstr='#990000',GradientType=0 );
        color: #fff;
        text-align: center; }
      #header #header-cv li.reserve {
        background: #4d0000; }
      #header #header-cv li.reserve a {
        width: 130px;
        background: #605123;
        background: -moz-linear-gradient(top, #605123 0%, #958244 100%);
        background: -webkit-linear-gradient(top, #605123 0%, #958244 100%);
        background: linear-gradient(to bottom, #605123 0%, #958244 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#605123', endColorstr='#958244',GradientType=0 );
        color: #fff;
        text-align: center; }
      #header #header-cv li.textlink {
        margin-right: 20px; }
        #header #header-cv li.textlink a {
          color: #707070;
          font-size: 13px; }
          #header #header-cv li.textlink a span {
            position: relative;
            display: inline-block;
            padding-left: 13px; }
            #header #header-cv li.textlink a span::before {
              position: absolute;
              top: 2px;
              left: 0;
              content: "";
              display: block;
              width: 0;
              height: 0;
              border: 4px solid transparent;
              border-left: 4px solid #707070; }
              @media all and (-ms-high-contrast: none) {
                #header #header-cv li.textlink a span::before {
                  top: 0; } }

@media screen and (max-width: 768px) {
  body.on #header {
    box-shadow: 0 1px 5px #ccc; } }

#global {
  position: absolute;
  top: 49px;
  width: 100%;
  border-top: 1px solid #d5d5d5;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #global {
      display: none; } }
  #global ul {
    display: table;
    table-layout: fixed;
    width: 1024px;
    margin: 0 auto;
    height: 55px;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      #global ul {
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box; } }
  #global li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    border-right: 1px solid #d5d5d5;
    line-height: 1.2;
    height: 55px;
    transition: .2s; }
    #global li span.new {
      position: absolute;
      top: 0;
      left: 0;
      display: inline-block;
      padding: 2px 4px;
      color: #fff;
      font-size: 8px;
      -webkit-transform: scale(0.8);
      -webkit-transform-origin: 0 0;
      text-align: center;
      background: #9e2b21; }
    #global li:first-child {
      border-left: 1px solid #d5d5d5; }
    #global li:hover {
      background: #f7f7f7; }
    #global li:hover::after, #global li.current::after {
      position: absolute;
      left: 0;
      bottom: 0;
      display: inline-block;
      content: "";
      width: 100%;
      height: 3px;
      background: #8D0000; }
    #global li a {
      display: block;
      padding: 2px 15px;
      font-size: 12.5px;
      transition: .2s; }
      #global li a span {
        display: block;
        color: #958244;
        font-size: 12px; }
    #global li.nolink {
      color: #bbb; }
      #global li.nolink:hover {
        background: #fff; }
      #global li.nolink:hover::after, #global li.nolink.current::after {
        display: none; }
      #global li.nolink a {
        cursor: default; }
      #global li.nolink span {
        color: #ddd; }

#nav-btn-tel {
  display: none;
  position: fixed;
  top: 0;
  right: 50px;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  border-left: 1px solid #d5d5d5; }
  @media screen and (max-width: 768px) {
    #nav-btn-tel {
      display: block; } }
  #nav-btn-tel a {
    display: block;
    width: 50px;
    height: 50px;
    line-height: 0; }

#nav-btn-sp {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  border-left: 1px solid #d5d5d5; }
  @media screen and (max-width: 768px) {
    #nav-btn-sp {
      display: block; } }
  #nav-btn-sp a {
    display: block;
    width: 50px;
    height: 50px; }
    #nav-btn-sp a span {
      position: absolute;
      left: 10px;
      display: inline-block;
      transition: all .4s;
      box-sizing: border-box;
      width: 30px;
      height: 3px;
      background: #958244; }
      #nav-btn-sp a span:nth-of-type(1) {
        top: 13px; }
      #nav-btn-sp a span:nth-of-type(2) {
        top: 23px; }
      #nav-btn-sp a span:nth-of-type(3) {
        top: 33px; }

#global-sp {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  transition: .2s;
  overflow-y: auto; }
  #global-sp.on {
    display: block;
    right: 0; }
  #global-sp ul {
    margin-top: 50px; }
  #global-sp li {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    text-align: center; }
    #global-sp li.nolink {
      display: none; }
    @media screen and (max-width: 768px) {
      #global-sp li.gohome {
        display: none; } }
    #global-sp li a {
      display: block;
      padding: 10px 0; }
      #global-sp li a br {
        display: none; }
    #global-sp li span {
      display: none; }
    #global-sp li.textlink span {
      display: block; }
    #global-sp li.request, #global-sp li.reserve {
      border-top: 0; }
    #global-sp li.request a {
      background: #4d0000;
      background: -moz-linear-gradient(top, #4d0000 0%, #990000 100%);
      background: -webkit-linear-gradient(top, #4d0000 0%, #990000 100%);
      background: linear-gradient(to bottom, #4d0000 0%, #990000 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d0000', endColorstr='#990000',GradientType=0 );
      color: #fff;
      text-align: center; }
    #global-sp li.reserve a {
      background: #605123;
      background: -moz-linear-gradient(top, #605123 0%, #958244 100%);
      background: -webkit-linear-gradient(top, #605123 0%, #958244 100%);
      background: linear-gradient(to bottom, #605123 0%, #958244 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#605123', endColorstr='#958244',GradientType=0 );
      color: #fff;
      text-align: center; }
  #global-sp .close {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 40px;
    height: 40px; }
    #global-sp .close a {
      display: block;
      width: 40px;
      height: 40px; }
      #global-sp .close a span {
        position: absolute;
        top: 18px;
        display: block;
        width: 40px;
        height: 2px;
        background: rgba(255, 255, 255, 0.9); }
        #global-sp .close a span:nth-of-type(1) {
          left: 0;
          transform: rotate(45deg); }
        #global-sp .close a span:nth-of-type(2) {
          right: 0;
          transform: rotate(-45deg); }
  #global-sp #global-sp-contact {
    padding: 20px 0;
    text-align: center;
    font-weight: normal; }
    #global-sp #global-sp-contact h2 {
      font-size: 26px;
      font-size: 3.3854166667vw; }
    #global-sp #global-sp-contact .contact-sub {
      font-size: 30px;
      font-size: 3.90625vw; }
    #global-sp #global-sp-contact .contact-tel {
      font-size: 60px;
      font-size: 7.8125vw;
      font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif"; }
    #global-sp #global-sp-contact .freedial {
      margin-right: 10px;
      width: 40px; }
    #global-sp #global-sp-contact .contact-time {
      font-size: 24px;
      font-size: 3.125vw; }

html.on {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden; }

#kv {
  background: #000;
  line-height: 0; }
  #kv .kv-slide {
    max-width: 1440px;
    margin: 0 auto; }
    #kv .kv-slide img {
      width: 100%; }

#top-focus {
  margin-bottom: 20px;
  padding: 25px 0 20px 0;
  background: #908b7b;
  background: -moz-linear-gradient(top, #908b7b 0%, #c9c3b1 100%);
  background: -webkit-linear-gradient(top, #908b7b 0%, #c9c3b1 100%);
  background: linear-gradient(to bottom, #908b7b 0%, #c9c3b1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#908b7b', endColorstr='#c9c3b1',GradientType=0 );
  text-align: center; }
  @media screen and (max-width: 768px) {
    #top-focus {
      padding: 15px 5px 5px 5px; } }
  #top-focus p {
    margin-bottom: 15px; }
  #top-focus .large {
    font-size: 30px;
    line-height: line-get-height(28px, 40px);
    letter-spacing: .12em;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.7); }
    @media screen and (max-width: 768px) {
      #top-focus .large {
        font-size: 38px;
        font-size: 4.9479166667vw;
        letter-spacing: .1em; } }
  #top-focus .medium {
    font-size: 24px;
    line-height: line-get-height(18px, 26px);
    letter-spacing: .1em;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.7); }
    @media screen and (max-width: 768px) {
      #top-focus .medium {
        font-size: 32px;
        font-size: 4.1666666667vw; } }
  #top-focus .small {
    font-size: 18px;
    line-height: line-get-height(18px, 26px);
    letter-spacing: .1em;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.7); }
    @media screen and (max-width: 768px) {
      #top-focus .small {
        font-size: 26px;
        font-size: 3.3854166667vw; } }

.red {
  color: #730000; }

.bold {
  font-weight: bold !important; }

#top-bnr-area {
  padding: 0 0 5px 0;
  text-align: center; }
  #top-bnr-area ul {
    margin-bottom: 10px; }
    #top-bnr-area ul:after {
      display: block;
      clear: both;
      content: ""; }
  #top-bnr-area li {
    width: 49%;
    float: left; }
    #top-bnr-area li:nth-child(2) {
      float: right; }
  #top-bnr-area p {
    margin-bottom: 10px; }

#topics {
  margin-bottom: 30px; }
  #topics:after {
    display: block;
    clear: both;
    content: ""; }
  #topics .topics-info {
    float: left;
    width: 605px; }
    #topics .topics-info .topics-tit {
      margin-bottom: 15px;
      font-size: 15px;
      border-bottom: 1px solid #707070; }
    #topics .topics-info ul {
      padding-left: 2px; }
    #topics .topics-info li {
      display: table;
      margin-bottom: 10px; }
      #topics .topics-info li span {
        display: table-cell;
        vertical-align: top; }
        #topics .topics-info li span.date {
          padding-right: 10px; }
      #topics .topics-info li a {
        text-decoration: underline; }
  #topics .topics-bnr {
    float: right;
    width: 340px; }

#pagetop {
  background: #d5d5d5;
  text-align: right; }
  #pagetop a {
    display: block;
    padding: 5px 0;
    font-size: 13px; }

#footer-btn {
  padding: 20px 0;
  background: #f4f4f4;
  border-top: 1px solid #d5d5d5;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #footer-btn {
      display: none; } }
  #footer-btn li {
    display: inline-block;
    margin: 0 5px;
    font-size: 16px;
    letter-spacing: .1em; }
    #footer-btn li a {
      display: block;
      width: 340px;
      padding: 13px 0; }
      @media all and (-ms-high-contrast: none) {
        #footer-btn li a {
          padding: 16px 0 10px 0; } }
    #footer-btn li.request a {
      background: #4d0000;
      background: -moz-linear-gradient(top, #4d0000 0%, #990000 100%);
      background: -webkit-linear-gradient(top, #4d0000 0%, #990000 100%);
      background: linear-gradient(to bottom, #4d0000 0%, #990000 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d0000', endColorstr='#990000',GradientType=0 );
      color: #fff;
      text-align: center; }
    #footer-btn li.reserve a {
      background: #605123;
      background: -moz-linear-gradient(top, #605123 0%, #958244 100%);
      background: -webkit-linear-gradient(top, #605123 0%, #958244 100%);
      background: linear-gradient(to bottom, #605123 0%, #958244 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#605123', endColorstr='#958244',GradientType=0 );
      color: #fff;
      text-align: center; }

#logo-area {
  padding: 10px;
  text-align: center;
  border-top: 1px solid #d5d5d5;
  font-size: 12px; }
  #logo-area li {
    display: inline-block;
    margin: 0 20px; }
    @media screen and (max-width: 768px) {
      #logo-area li {
        display: block;
        margin: 0 auto;
        text-align: center; } }
    #logo-area li span {
      display: block;
      text-align: left; }
      @media screen and (max-width: 768px) {
        #logo-area li span {
          text-align: center; } }

.footer-bnr {
  padding: 15px 10px;
  text-align: center;
  border-top: 1px solid #d5d5d5;
  line-height: 0; }
  @media screen and (max-width: 768px) {
    .footer-bnr {
      border-bottom: 1px solid #d5d5d5; } }
  .footer-bnr a {
    margin: 10px 0; }

#contact {
  padding: 20px 10px;
  text-align: center; }
  #contact h2 {
    margin-bottom: 10px;
    font-size: 15px; }
    @media screen and (max-width: 768px) {
      #contact h2 {
        font-size: 30px;
        font-size: 3.90625vw; } }
  #contact .contact-sub {
    font-size: 22px; }
    @media screen and (max-width: 768px) {
      #contact .contact-sub {
        font-size: 32px;
        font-size: 4.1666666667vw; } }
  #contact .contact-tel {
    font-size: 44px;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif"; }
    #contact .contact-tel .freedial {
      margin-right: 10px; }
      @media screen and (max-width: 768px) {
        #contact .contact-tel .freedial {
          width: 40px; } }
    @media screen and (max-width: 768px) {
      #contact .contact-tel {
        font-size: 70px;
        font-size: 9.1145833333vw; } }
  #contact .contact-time {
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      #contact .contact-time {
        font-size: 28px;
        font-size: 3.6458333333vw; } }
  #contact .notes {
    background: #f4f4f4;
    margin-top: 10px;
    padding: 2px 5px;
    font-size: 10px;
    letter-spacing: 0.05em; }

#contents p.notes {
  font-size: 10px;
  line-height: 1.3; }

#contents p.yokoku {
  font-size: 12px;
  line-height: 1.3; }

#float-nav {
  display: none; }
  @media screen and (max-width: 768px) {
    #float-nav {
      display: table;
      table-layout: fixed;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 99999; }
      #float-nav img {
        width: 100%; }
      #float-nav li {
        display: table-cell;
        width: auto;
        line-height: 0;
        background: url("../img/ft_sp_freedial_bk01.png") 0 0;
        background-size: cover; }
        #float-nav li.request {
          background: url("../img/ft_sp_freedial_bk02.png") 0 0;
          background-size: cover; }
        #float-nav li.reserve {
          background: url("../img/ft_sp_freedial_bk03.png") 0 0;
          background-size: cover; } }

#footer {
  background: #f4f4f4;
  padding: 7px 0 5px 0; }
  @media screen and (max-width: 768px) {
    #footer {
      display: none; } }
  #footer .link li {
    position: relative;
    display: inline-block;
    margin-right: 16px;
    font-size: 11px;
    vertical-align: top; }
    #footer .link li a {
      display: block; }
    #footer .link li::after {
      position: absolute;
      right: -8px;
      top: 4px;
      display: block;
      content: "";
      width: 1px;
      height: 10px;
      background: #999; }
  #footer .link span {
    display: none; }
  #footer .link br {
    display: none; }
  #footer .link .nolink {
    display: none; }

#l-footer {
  width: 1024px;
  margin: 0 auto;
  font-size: 14px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }
  @media screen and (max-width: 768px) {
    #l-footer {
      width: 100%; } }

#l-footer .m-box-fixed {
  width: 1024px; }
  @media screen and (max-width: 768px) {
    #l-footer .m-box-fixed {
      width: 100%; } }

/* 流用 */
#l-footer {
  position: relative; }

#l-footer .footer-cnav {
  background: #828C97; }

#l-footer .footer-cnav .m-box-fixed ul {
  position: relative;
  overflow: hidden; }

@media screen and (max-width: 768px) {
  #l-footer {
    padding-bottom: 60px; }

  #l-footer .footer-cnav .m-box-fixed ul {
    padding: 0 15px; }

  #l-footer .m-box-fixed {
    width: 100%;
    box-sizing: border-box; } }
#l-footer .footer-cnav .m-box-fixed ul li {
  position: relative;
  float: left;
  width: 50%;
  text-align: center;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul li {
    width: 100%;
    display: block;
    text-align: left;
    margin: 0 auto;
    float: inherit;
    clear: both; } }
#l-footer .footer-cnav .m-box-fixed ul li:after {
  content: '';
  position: absolute;
  left: 1px;
  top: 0;
  height: 54px;
  bottom: 0;
  margin: 5px 0;
  width: 1px;
  background: #6E7780; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul li:after {
    display: none; } }
#l-footer .footer-cnav .m-box-fixed ul li:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 54px;
  bottom: 0;
  margin: 5px 0;
  width: 1px;
  background: #a8afb6; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul li:before {
    top: auto;
    left: 0px;
    height: 1px;
    width: 100%;
    margin: 0; } }
#l-footer .footer-cnav .m-box-fixed ul li a {
  display: block;
  padding: 5px 0;
  line-height: 54px;
  color: #fff;
  font-size: 16px;
  font-weight: bold; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul li a {
    padding: 15px 10px; } }
#l-footer .footer-cnav .m-box-fixed ul li a span.cnav-office {
  display: inline-block;
  padding-left: 60px;
  background: url("/images/i_office.png") no-repeat left center;
  line-height: 40px; }

#l-footer .footer-cnav .m-box-fixed ul li a span.cnav-contact {
  display: inline-block;
  padding-left: 60px;
  background: url("/images/i_contact2.png") no-repeat left center;
  line-height: 40px; }

#l-footer .footer-cnav .m-box-fixed ul li a:hover {
  text-decoration: none;
  background: #68727e;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul li.lastChild:after {
    display: none; } }
@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul li.lastChild:before {
    display: none; } }
#l-footer .footer-cnav .m-box-fixed ul:after {
  content: '';
  position: absolute;
  right: 1px;
  top: 0;
  width: 1px;
  height: 54px;
  margin: 5px 0;
  background: #6E7780;
  z-index: 10; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul:after {
    display: none; } }
#l-footer .footer-cnav .m-box-fixed ul:before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 54px;
  margin: 5px 0;
  background: #a8afb6;
  z-index: 10; }

@media screen and (max-width: 768px) {
  #l-footer .footer-cnav .m-box-fixed ul:before {
    display: none; } }
@media screen and (max-width: 768px) {
  #l-footer .footer-sitemap {
    display: none; } }
#l-footer .footer-sitemap .m-box-fixed {
  *zoom: 1;
  padding: 30px 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

#l-footer .footer-sitemap .m-box-fixed:after {
  content: " ";
  display: table;
  clear: both; }

#l-footer .footer-sitemap .m-box-fixed .sitemap-home {
  margin-left: 20px;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: bold; }

#l-footer .footer-sitemap .sitemap-grid {
  *zoom: 1;
  border-right: 1px solid #ccc; }

#l-footer .footer-sitemap .sitemap-grid:after {
  content: " ";
  display: table;
  clear: both; }

#l-footer .footer-sitemap .sitemap-grid .grid-col {
  height: 305px;
  float: left;
  padding: 15px 20px;
  border-left: 1px solid #ccc;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

#l-footer .footer-sitemap .sitemap-grid .grid-col.col-1 {
  width: 210px; }

#l-footer .footer-sitemap .sitemap-grid .grid-col.col-2 {
  width: 375px; }

#l-footer .footer-sitemap .sitemap-grid .grid-col.col-3 {
  width: 200px;
  border-left: 0; }

#l-footer .footer-sitemap .sitemap-grid .grid-col.col-3 ul {
  margin-top: 30px; }

#l-footer .footer-sitemap .sitemap-grid .grid-col.col-4 {
  width: 185px; }

#l-footer .footer-sitemap .sitemap-grid .sitemap-link1 {
  display: inline-block;
  margin-bottom: 15px;
  color: inherit;
  font-size: 15px;
  font-weight: bold; }

#l-footer .footer-sitemap .sitemap-grid .sitemap-link2 {
  display: inline-block;
  margin-bottom: 15px;
  color: inherit; }

#l-footer .footer-sitemap .sitemap-grid .sitemap-link3 {
  margin-top: -5px; }

#l-footer .footer-sitemap .sitemap-grid .sitemap-link3 li {
  line-height: 1.7; }

#l-footer .footer-sitemap .sitemap-grid .sitemap-link3 li a {
  padding-left: 15px;
  background: url("/images/i_ar_gray2.png") no-repeat left center;
  color: #666;
  font-size: 11px; }

#l-footer .footer-sitemap .sitemap-grid .sitemap-link4 {
  display: inline-block;
  margin-bottom: 10px;
  color: inherit; }

#l-footer .footer-other {
  padding: 20px 0;
  border-top: 0; }

#l-footer .footer-other .m-box-fixed {
  position: relative; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other {
    padding-bottom: 0; }

  #l-footer .footer-other .other-copy {
    margin-top: 20px;
    text-align: center; } }
#l-footer .footer-other .other-copy dt {
  display: inline-block;
  margin-right: 20px;
  vertical-align: middle; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-copy dt {
    display: block;
    margin-right: 0px;
    margin-bottom: 10px; } }
#l-footer .footer-other .other-copy dd {
  display: inline-block;
  color: #999;
  font-size: 11px;
  vertical-align: middle; }
  @media screen and (max-width: 768px) {
    #l-footer .footer-other .other-copy dd {
      font-size: 10px; } }

#l-footer .footer-other .other-nav {
  position: absolute;
  right: 0;
  top: -8px; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-nav {
    position: relative;
    right: auto;
    top: auto; } }
#l-footer .footer-other .other-nav li {
  display: inline-block;
  padding: 0 15px;
  border-right: 1px solid #ccc;
  font-size: 11px;
  vertical-align: middle; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-nav li {
    display: block;
    margin-bottom: 10px;
    text-align: center;
    border: none;
    font-size: 100%; } }
#l-footer .footer-other .other-nav li.firstChild {
  border-left: 1px solid #ccc; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-nav li.firstChild {
    border-left: none; } }
#l-footer .footer-other .other-nav li.lastChild {
  border-right: 0; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-nav li.lastChild {
    margin-bottom: 0px; } }
#l-footer .footer-other .other-nav li a {
  color: #666; }

#l-footer .footer-other .other-nav li a img {
  vertical-align: bottom; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-nav li.nav-miekotsu {
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px; } }
#l-footer .footer-other .other-nav li.nav-miekotsu img {
  width: 71px;
  height: auto; }

@media screen and (max-width: 768px) {
  #l-footer .footer-other .other-nav li.nav-miekotsu img {
    width: 122px;
    height: auto; } }
#l-footer .pageTop {
  position: absolute;
  bottom: 0;
  right: 15px;
  background: #828c97;
  border-radius: 5px 5px 0 0;
  z-index: 100; }

#l-footer .pageTop a {
  display: block;
  padding: 15px 20px; }

#l-footer .footer-spMenu {
  display: none;
  padding: 15px; }

#l-footer .footer-spMenu p {
  position: relative;
  height: 50px;
  padding-left: 20px;
  margin-top: 0;
  line-height: 50px;
  color: #fff;
  background: #828c97;
  border-radius: 5px;
  cursor: pointer;
  vertical-align: middle; }

#l-footer .footer-spMenu p:hover {
  text-decoration: none;
  background: #68727e;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

@media screen and (max-width: 768px) {
  #l-footer .footer-spMenu {
    display: block; } }
#page-title {
  margin-bottom: 40px;
  padding: 30px 0;
  background: #908b7b;
  background: -moz-linear-gradient(top, #908b7b 0%, #c9c3b1 100%);
  background: -webkit-linear-gradient(top, #908b7b 0%, #c9c3b1 100%);
  background: linear-gradient(to bottom, #908b7b 0%, #c9c3b1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#908b7b', endColorstr='#c9c3b1',GradientType=0 );
  text-align: center;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    #page-title {
      margin-bottom: 30px;
      padding: 15px 0; } }
  #page-title.nomb {
    margin-bottom: 0; }
  #page-title .box {
    display: inline-block;
    width: 500px;
    padding: 18px 0;
    background: rgba(255, 255, 255, 0.5); }
    @media screen and (max-width: 768px) {
      #page-title .box {
        width: 80%;
        padding: 10px 0; } }
  #page-title h1 {
    font-size: 34px;
    font-weight: 500;
    letter-spacing: .1em;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.7); }
    @media screen and (max-width: 768px) {
      #page-title h1 {
        font-size: 44px;
        font-size: 5.7291666667vw; } }
    #page-title h1 span {
      display: block;
      margin-bottom: 10px;
      font-size: 20px;
      letter-spacing: 1px; }
      @media screen and (max-width: 768px) {
        #page-title h1 span {
          font-size: 30px;
          font-size: 3.90625vw; } }

#contents {
  width: 960px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    #contents {
      width: 100%;
      padding-left: 10px;
      padding-right: 10px;
      box-sizing: border-box; } }
  #contents p {
    margin-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      #contents p {
        font-size: 28px;
        font-size: 3.6458333333vw;
        line-height: 1.5; } }
  #contents p.lead {
    margin-bottom: 40px;
    font-size: 20px;
    text-align: left;
    line-height: 1.8;
    letter-spacing: .1em;
    text-align: center; }
    #contents p.lead::after {
      content: "";
      display: block;
      width: 150px;
      height: 1px;
      margin: 0 auto;
      margin-top: 20px;
      background: #333; }
    @media screen and (max-width: 768px) {
      #contents p.lead {
        margin-bottom: 30px;
        font-size: 30px;
        font-size: 3.90625vw;
        line-height: 1.6; }
        #contents p.lead::after {
          margin-top: 15px;
          width: 100px; } }
  #contents .sec {
    padding-bottom: 30px; }
    #contents .sec:after {
      display: block;
      clear: both;
      content: ""; }
    @media screen and (max-width: 768px) {
      #contents .sec {
        padding-bottom: 20px; } }
  #contents .hd2 {
    clear: both;
    margin-bottom: 20px;
    padding-top: 10px;
    border-top: 4px solid #7F6A2B;
    color: #7F6A2B;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .1em; }
    @media screen and (max-width: 768px) {
      #contents .hd2 {
        margin-bottom: 15px;
        border-width: 3px;
        font-size: 38px;
        font-size: 4.9479166667vw;
        line-height: 1.6;
        letter-spacing: .05em; } }
    #contents .hd2.black {
      color: #000;
      border-color: #000; }
    #contents .hd2.red {
      color: #730000;
      border-color: #730000; }
  #contents .hd3, #contents .hd4, #contents .hd5, #contents .hd6 {
    margin-bottom: 10px;
    color: #7F6A2B;
    font-weight: 500;
    font-size: 22px;
    border-bottom: 1px solid #ccc; }
    @media screen and (max-width: 768px) {
      #contents .hd3, #contents .hd4, #contents .hd5, #contents .hd6 {
        font-size: 35px;
        font-size: 4.5572916667vw;
        line-height: 1.5; } }
    #contents .hd3.black, #contents .black.hd4, #contents .black.hd5, #contents .black.hd6 {
      color: #000; }
    #contents .hd3.red, #contents .red.hd4, #contents .red.hd5, #contents .red.hd6 {
      color: #730000; }
  #contents .hd4 {
    font-size: 18px;
    border-bottom: 0;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      #contents .hd4 {
        font-size: 32px;
        font-size: 4.1666666667vw; } }
  #contents .hd5 {
    font-size: 15px;
    margin-bottom: 4px;
    border-bottom: 0;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      #contents .hd5 {
        font-size: 30px;
        font-size: 3.90625vw; } }
  #contents .hd6 {
    font-size: 16px;
    margin-bottom: 4px;
    border-bottom: 0;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      #contents .hd6 {
        font-size: 30px;
        font-size: 3.90625vw; } }
  #contents img.fleft {
    float: left;
    margin: 0 20px 20px 0; }
    @media screen and (max-width: 768px) {
      #contents img.fleft {
        float: none;
        display: block;
        margin: 0 auto 10px auto; } }
  #contents img.fright {
    float: right;
    margin: 0 0 20px 20px; }
    @media screen and (max-width: 768px) {
      #contents img.fright {
        float: none;
        display: block;
        margin: 0 auto 10px auto; } }

.bg-pattern1 {
  padding: 10px 0;
  background: url("../img/bg_pattern01.jpg") repeat 0 0; }

.bg-pattern2 {
  padding: 10px 0;
  background: url("../img/bg_pattern02.jpg") repeat 0 0;
  color: #fff; }

.obi {
  padding: 5px 10px;
  background: #000;
  line-height: 0;
  text-align: center; }
  .obi.red {
    background-color: #730000; }

.col2:after,
.col3:after,
.col4:after,
.col5:after {
  display: block;
  clear: both;
  content: ""; }
.col2 .pict,
.col3 .pict,
.col4 .pict,
.col5 .pict {
  margin-bottom: 7px; }
.col2 .pict img,
.col3 .pict img,
.col4 .pict img,
.col5 .pict img {
  width: 100%;
  height: auto; }

.col2 > li,
.col2 > div {
  float: left;
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .col2 > li,
    .col2 > div {
      float: none;
      width: 100%;
      margin-right: 0; } }
  .col2 > li:nth-of-type(2n),
  .col2 > div:nth-of-type(2n) {
    margin-right: 0; }
  .col2 > li:nth-of-type(2n+1),
  .col2 > div:nth-of-type(2n+1) {
    clear: both; }

.col3 > li,
.col3 > div {
  float: left;
  width: 32%;
  margin-right: 2%;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .col3 > li,
    .col3 > div {
      float: none;
      width: 100%;
      margin-right: 0; } }
  .col3 > li:nth-of-type(3n),
  .col3 > div:nth-of-type(3n) {
    margin-right: 0; }
  .col3 > li:nth-of-type(3n+1),
  .col3 > div:nth-of-type(3n+1) {
    clear: both; }

.col4 > li,
.col4 > div {
  float: left;
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .col4 > li,
    .col4 > div {
      float: none;
      width: 100%;
      margin-right: 0; } }
  .col4 > li:nth-of-type(4n),
  .col4 > div:nth-of-type(4n) {
    margin-right: 0; }
  .col4 > li:nth-of-type(4n+1),
  .col4 > div:nth-of-type(4n+1) {
    clear: both; }

.col5 > li,
.col5 > div {
  float: left;
  width: 18%;
  margin-right: 2.5%;
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .col5 > li,
    .col5 > div {
      float: none;
      width: 100%;
      margin-right: 0; } }
  .col5 > li:nth-of-type(5n),
  .col5 > div:nth-of-type(5n) {
    margin-right: 0; }
  .col5 > li:nth-of-type(5n+1),
  .col5 > div:nth-of-type(5n+1) {
    clear: both; }

.top-nav-title {
  margin-bottom: 20px;
  padding-top: 20px;
  font-size: 28px;
  font-weight: 500;
  text-align: center;
  color: #958244;
  letter-spacing: .05em; }
  @media screen and (max-width: 768px) {
    .top-nav-title {
      margin-bottom: 15px;
      font-size: 40px;
      font-size: 5.2083333333vw; } }

#top-nav-btn {
  margin-bottom: 30px;
  color: #fff;
  text-align: center; }
  #top-nav-btn ul:after {
    display: block;
    clear: both;
    content: ""; }
  #top-nav-btn li {
    float: left;
    width: 50%;
    background: url("../img/top/panel_bg01.jpg") no-repeat center center;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      #top-nav-btn li {
        float: none;
        width: 100%; } }
    #top-nav-btn li.small {
      width: calc(100% / 3); }
      @media screen and (max-width: 768px) {
        #top-nav-btn li.small {
          width: 100%; } }
    #top-nav-btn li a {
      position: relative;
      display: block;
      height: 350px; }
      @media screen and (max-width: 768px) {
        #top-nav-btn li a {
          height: 220px; } }
    #top-nav-btn li .cover {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 350px;
      padding: 15px;
      box-sizing: border-box;
      background: rgba(0, 0, 0, 0.6);
      transition: .3s; }
      @media screen and (max-width: 768px) {
        #top-nav-btn li .cover {
          padding: 7px;
          height: 220px; } }
      #top-nav-btn li .cover .line {
        border: 1px solid rgba(255, 255, 255, 0.8);
        height: 320px; }
        @media screen and (max-width: 768px) {
          #top-nav-btn li .cover .line {
            height: 204px; } }
    #top-nav-btn li .body {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      transform: translateY(-50%) translateX(-50%); }
      #top-nav-btn li .body h2 {
        margin-bottom: 20px;
        font-size: 26px;
        font-weight: 500;
        letter-spacing: .05em; }
        @media screen and (max-width: 768px) {
          #top-nav-btn li .body h2 {
            font-size: 42px;
            font-size: 5.46875vw;
            margin-bottom: 10px;
            line-height: 1.5; } }
        #top-nav-btn li .body h2 span {
          display: block;
          font-size: 12px; }
          @media screen and (max-width: 768px) {
            #top-nav-btn li .body h2 span {
              font-size: 18px;
              font-size: 2.34375vw; } }
      #top-nav-btn li .body p {
        margin-bottom: 15px;
        font-size: 13px;
        letter-spacing: .08em; }
        @media screen and (max-width: 768px) {
          #top-nav-btn li .body p {
            font-size: 22px;
            font-size: 2.8645833333vw; } }
      #top-nav-btn li .body .more {
        display: inline-block;
        padding: 5px 20px;
        font-size: 12px;
        border: 1px solid #fff;
        transition: .2s; }
        @media screen and (max-width: 768px) {
          #top-nav-btn li .body .more {
            transition: none;
            padding: 3px 15px;
            font-size: 18px;
            font-size: 2.34375vw; } }
        @media all and (-ms-high-contrast: none) {
          #top-nav-btn li .body .more {
            padding: 7px 20px 3px 20px; } }
  #top-nav-btn a:hover .cover {
    background: rgba(0, 0, 0, 0.3); }
    @media screen and (max-width: 768px) {
      #top-nav-btn a:hover .cover {
        background: rgba(0, 0, 0, 0.6); } }
  #top-nav-btn a:hover .body {
    text-shadow: 1px 1px 0 #000; }
  #top-nav-btn a:hover .more {
    background: #730000;
    border: 1px solid #730000;
    color: #fff; }
    @media screen and (max-width: 768px) {
      #top-nav-btn a:hover .more {
        background: transparent;
        border-color: #fff; } }

#top-nav-block {
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    #top-nav-block .inner-l {
      padding: 0 5px; } }
  #top-nav-block ul:after {
    display: block;
    clear: both;
    content: ""; }
  #top-nav-block li a {
    display: block;
    margin-bottom: 30px; }
    #top-nav-block li a:after {
      display: block;
      clear: both;
      content: ""; }
    @media screen and (max-width: 768px) {
      #top-nav-block li a {
        margin-bottom: 50px; } }
  #top-nav-block li .pict {
    position: relative;
    float: left;
    margin-top: 20px;
    width: 50%;
    line-height: 0; }
    @media screen and (max-width: 768px) {
      #top-nav-block li .pict {
        float: none;
        width: 100%;
        padding: 0 10px 0 5px;
        box-sizing: border-box; } }
    #top-nav-block li .pict::before {
      display: block;
      content: "";
      position: absolute;
      top: -13px;
      left: 13px;
      width: 100%;
      height: 100%;
      border: 1px solid #ccc;
      transition: .2s; }
      @media screen and (max-width: 768px) {
        #top-nav-block li .pict::before {
          width: calc(100% - 14px);
          top: -10px;
          left: 10px; } }
  #top-nav-block li .body {
    float: right;
    width: 50%;
    margin-top: 20px;
    padding-left: 60px;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      #top-nav-block li .body {
        float: none;
        width: 100%;
        margin-top: 15px;
        padding: 0;
        text-align: center; } }
    #top-nav-block li .body h2 {
      margin-bottom: 15px;
      font-size: 30px;
      color: #958244;
      font-weight: 500;
      letter-spacing: .05em;
      line-height: 1.3; }
      @media screen and (max-width: 768px) {
        #top-nav-block li .body h2 {
          font-size: 46px;
          font-size: 5.9895833333vw; } }
      #top-nav-block li .body h2 span {
        display: block;
        font-size: 15px; }
        @media screen and (max-width: 768px) {
          #top-nav-block li .body h2 span {
            font-size: 22px;
            font-size: 2.8645833333vw; } }
    #top-nav-block li .body p {
      margin-bottom: 15px;
      font-size: 16px;
      letter-spacing: .08em; }
      @media screen and (max-width: 768px) {
        #top-nav-block li .body p {
          font-size: 28px;
          font-size: 3.6458333333vw; } }
    #top-nav-block li .body .more {
      display: inline-block;
      padding: 5px 40px;
      font-size: 12px;
      border: 1px solid #707070;
      color: #707070;
      transition: .2s; }
      @media all and (-ms-high-contrast: none) {
        #top-nav-block li .body .more {
          padding: 7px 40px 3px 40px; } }
      @media screen and (max-width: 768px) {
        #top-nav-block li .body .more {
          padding: 5px 20px;
          font-size: 18px;
          font-size: 2.34375vw;
          transition: none;
          background: #707070;
          color: #fff; } }
  #top-nav-block li a:hover .more {
    background: #707070;
    color: #fff; }
    @media screen and (max-width: 768px) {
      #top-nav-block li a:hover .more {
        background: #707070;
        color: #fff; } }
  #top-nav-block li a:hover .pict::before {
    border-color: #958244; }
  #top-nav-block li:nth-child(even) .pict {
    float: right; }
    @media screen and (max-width: 768px) {
      #top-nav-block li:nth-child(even) .pict {
        float: none; } }
  #top-nav-block li:nth-child(even) .body {
    float: left;
    padding: 0 60px 0 0;
    text-align: right; }
    @media screen and (max-width: 768px) {
      #top-nav-block li:nth-child(even) .body {
        float: none;
        padding: 0;
        text-align: center; } }

.image {
  position: relative;
  line-height: 0; }
  .image .black-cover {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); }

#summary {
  text-align: center; }
  #summary .title {
    padding: 20px 0 30px 0;
    font-weight: 500;
    font-size: 32px;
    letter-spacing: .15em; }
    @media screen and (max-width: 768px) {
      #summary .title {
        padding: 10px 0 15px 0;
        font-size: 38px;
        font-size: 4.9479166667vw; } }
  #summary p {
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      #summary p {
        margin-bottom: 10px; } }
  #summary .lead {
    margin-bottom: 20px;
    font-size: 16px;
    text-align: left;
    line-height: 1.8; }
    @media screen and (max-width: 768px) {
      #summary .lead {
        font-size: 28px;
        font-size: 3.6458333333vw;
        line-height: 1.6; } }

.guide-map {
  text-align: center;
  line-height: 0; }
  .guide-map img {
    padding: 3px;
    border: 1px solid #ccc;
    box-sizing: border-box; }

#print-btn {
  margin: 30px 0 50px 0;
  text-align: center; }
  #print-btn li {
    display: inline-block;
    margin: 0 15px; }
    @media screen and (max-width: 768px) {
      #print-btn li {
        width: 40%;
        margin: 0 10px;
        font-size: 12px; } }
    #print-btn li a {
      display: block;
      padding: 8px 60px;
      background: #222;
      color: #fff; }
      @media screen and (max-width: 768px) {
        #print-btn li a {
          padding: 8px 0; } }
      @media all and (-ms-high-contrast: none) {
        #print-btn li a {
          padding: 10px 60px 6px 60px; } }
    #print-btn li img {
      width: 20px;
      margin-right: 7px;
      vertical-align: -5px; }

@media print {
  #print-btn,
  #global,
  #header-cv,
  #pagetop,
  #footer-btn,
  #footer,
  #logo-area,
  #l-footer,
  .footer-bnr,
  .map #page-title {
    display: none; }

  #header {
    position: static;
    height: auto;
    margin-bottom: 30px; }

  body {
    padding-top: 0; }

  .guide-map img {
    width: auto;
    max-height: 1150px; }

  #contact {
    display: none; }

  .map #contact {
    display: block;
    padding-top: 20px;
    border-top: 1px solid #ddd; }

  .sec {
    padding-bottom: 0; }

  body.map {
    padding: 10px 20px;
    padding-top: 30px;
    border: 2px solid #958244; } }
.outline table {
  margin-bottom: 20px;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  font-size: 13px;
  width: 100%; }
  .outline table caption {
    margin-bottom: 5px;
    font-size: 15px;
    font-weight: bold;
    text-align: left; }
  .outline table th, .outline table td {
    padding: 10px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      .outline table th, .outline table td {
        display: block; } }
  .outline table th {
    width: 200px;
    background: #e9e6dd;
    text-align: left;
    font-weight: normal; }
    @media screen and (max-width: 768px) {
      .outline table th {
        width: 100%; } }

#contents .plan-list a {
  display: block; }
#contents .plan-list li {
  margin-bottom: 40px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #contents .plan-list li {
      margin-bottom: 20px; } }
#contents .plan-list p {
  margin-bottom: 0; }
#contents .plan-list .plan-hd {
  display: table;
  width: 100%;
  table-layout: fixed;
  line-height: 1; }
#contents .plan-list .plan-type {
  display: table-cell;
  width: 100px;
  padding: 7px 0 13px 5px;
  font-size: 20px;
  font-weight: normal;
  background: #958244;
  color: #fff;
  vertical-align: middle; }
  @media screen and (max-width: 768px) {
    #contents .plan-list .plan-type {
      width: 80px;
      font-size: 16px; } }
  #contents .plan-list .plan-type span {
    display: block;
    margin-right: 5px;
    font-size: 46px; }
    @media screen and (max-width: 768px) {
      #contents .plan-list .plan-type span {
        font-size: 42px; } }
    @media screen and (max-width: 320px) {
      #contents .plan-list .plan-type span {
        font-size: 38px; } }
#contents .plan-list .plan-spec {
  display: table-cell;
  padding: 10px 20px;
  vertical-align: middle;
  text-align: left;
  background: #f7f7f7; }
  @media screen and (max-width: 768px) {
    #contents .plan-list .plan-spec {
      padding: 10px 10px;
      font-size: 20px; } }
  @media screen and (max-width: 320px) {
    #contents .plan-list .plan-spec {
      padding: 10px; } }
  #contents .plan-list .plan-spec .plan-layout {
    font-size: 26px; }
    @media screen and (max-width: 768px) {
      #contents .plan-list .plan-spec .plan-layout {
        font-size: 22px; } }
    @media screen and (max-width: 320px) {
      #contents .plan-list .plan-spec .plan-layout {
        font-size: 20px; } }
  #contents .plan-list .plan-spec .plan-area {
    margin-top: 8px;
    font-size: 13px; }
    @media screen and (max-width: 768px) {
      #contents .plan-list .plan-spec .plan-area {
        margin-top: 4px;
        font-size: 12px; } }
    @media screen and (max-width: 320px) {
      #contents .plan-list .plan-spec .plan-area {
        font-size: 11px; }
        #contents .plan-list .plan-spec .plan-area span:nth-of-type(1) {
          display: block;
          margin-top: 10px;
          line-height: .8; } }
    #contents .plan-list .plan-spec .plan-area span:nth-of-type(2) {
      font-size: 20px; }
      @media screen and (max-width: 320px) {
        #contents .plan-list .plan-spec .plan-area span:nth-of-type(2) {
          font-size: 18px; } }
    #contents .plan-list .plan-spec .plan-area span:nth-of-type(3) {
      font-size: 16px; }
      @media screen and (max-width: 320px) {
        #contents .plan-list .plan-spec .plan-area span:nth-of-type(3) {
          font-size: 14px; } }
#contents .plan-list .plan-zumen {
  padding-top: 10px;
  border-top: 1px solid #ccc; }
  #contents .plan-list .plan-zumen img {
    max-width: 240px; }
#contents .plan-list .btn {
  margin: 10px;
  padding: 10px 0;
  background: #958244;
  border-radius: 3px;
  color: #fff; }
  @media screen and (max-width: 768px) {
    #contents .plan-list .btn {
      padding: 7px 0;
      font-size: 12px; } }

@media all and (-ms-high-contrast: none) {
  #contents .plan-list .plan-type {
    padding-top: 13px;
    padding-bottom: 7px; } }
#contents .plan-detail {
  width: 760px;
  margin: 0 auto;
  margin-bottom: 20px;
  border: 1px solid #ccc; }
  @media print {
    #contents .plan-detail {
      width: 100%; } }
  @media screen and (max-width: 768px) {
    #contents .plan-detail {
      width: 100%;
      box-sizing: border-box; } }
  #contents .plan-detail .plan-hd {
    display: table;
    width: 100%;
    margin-bottom: 20px;
    table-layout: fixed;
    line-height: 1;
    border-bottom: 1px solid #ddd; }
    @media screen and (max-width: 768px) {
      #contents .plan-detail .plan-hd {
        margin-bottom: 10px; } }
  #contents .plan-detail .plan-type {
    display: table-cell;
    width: 130px;
    padding: 7px 0 13px 5px;
    font-size: 20px;
    font-weight: normal;
    background: #958244;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      #contents .plan-detail .plan-type {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-size: 16px; } }
    #contents .plan-detail .plan-type span {
      display: block;
      margin-right: 5px;
      font-size: 54px; }
      @media screen and (max-width: 768px) {
        #contents .plan-detail .plan-type span {
          font-size: 42px; } }
      @media screen and (max-width: 320px) {
        #contents .plan-detail .plan-type span {
          font-size: 38px; } }
  #contents .plan-detail .plan-spec {
    display: table-cell;
    padding: 15px 20px;
    vertical-align: middle;
    text-align: left;
    background: #f7f7f7; }
    #contents .plan-detail .plan-spec p {
      margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      #contents .plan-detail .plan-spec {
        display: block;
        padding: 10px; } }
    #contents .plan-detail .plan-spec .plan-layout {
      font-size: 30px; }
      @media screen and (max-width: 768px) {
        #contents .plan-detail .plan-spec .plan-layout {
          font-size: 22px; } }
      @media screen and (max-width: 320px) {
        #contents .plan-detail .plan-spec .plan-layout {
          font-size: 20px; } }
    #contents .plan-detail .plan-spec .plan-area {
      margin-top: 8px;
      font-size: 13px;
      line-height: 1.2; }
      #contents .plan-detail .plan-spec .plan-area:nth-of-type(2) {
        padding-bottom: 10px;
        border-bottom: 1px dotted #ccc; }
      @media screen and (max-width: 768px) {
        #contents .plan-detail .plan-spec .plan-area {
          margin-top: 4px;
          font-size: 11px; } }
      @media screen and (max-width: 320px) {
        #contents .plan-detail .plan-spec .plan-area span:nth-of-type(1) {
          line-height: .8; } }
      #contents .plan-detail .plan-spec .plan-area span:nth-of-type(2) {
        font-size: 20px; }
        @media screen and (max-width: 320px) {
          #contents .plan-detail .plan-spec .plan-area span:nth-of-type(2) {
            font-size: 18px; } }
      #contents .plan-detail .plan-spec .plan-area span:nth-of-type(3) {
        font-size: 16px; }
        @media screen and (max-width: 320px) {
          #contents .plan-detail .plan-spec .plan-area span:nth-of-type(3) {
            font-size: 14px; } }
  #contents .plan-detail .plan-lead {
    margin: 20px;
    padding-bottom: 10px;
    font-size: 20px;
    font-weight: normal;
    border-bottom: 2px solid #958244;
    color: #958244; }
    @media screen and (max-width: 768px) {
      #contents .plan-detail .plan-lead {
        margin: 10px;
        font-size: 14px;
        line-height: 1.4; } }
  #contents .plan-detail .plan-zumen {
    padding: 0 10px;
    text-align: center; }
    @media print {
      #contents .plan-detail .plan-zumen {
        margin-bottom: 0; } }
    @media print {
      #contents .plan-detail .plan-zumen img {
        width: auto;
        max-height: 870px; } }
  #contents .plan-detail #print-btn {
    margin-bottom: 0; }

#contents p.back {
  margin-bottom: 40px;
  text-align: center; }
  @media print {
    #contents p.back {
      display: none; } }
  #contents p.back a {
    position: relative;
    display: inline-block;
    padding: 5px 15px 5px 25px;
    background: #666;
    border-radius: 3px;
    font-size: 12px;
    color: #fff; }
    #contents p.back a:before {
      position: absolute;
      top: 50%;
      left: 12px;
      display: block;
      margin-top: -1.5px;
      content: "";
      width: 3px;
      height: 3px;
      border-bottom: 1px solid #fff;
      border-left: 1px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

@media print {
  body.print-datail #page-title {
    display: none; }

  body.print-datail #contact {
    display: block;
    padding-bottom: 0; } }
.img-list img {
  width: 100%;
  height: auto;
  box-sizing: border-box; }
  .img-list img.bd {
    border: 1px solid #ddd; }
.img-list .caption {
  display: block;
  font-size: 11px;
  line-height: 1.2; }

.bold {
  font-weight: bold !important; }

.info-list {
  width: 49%; }
  @media screen and (max-width: 768px) {
    .info-list {
      width: 100%; } }
  .info-list.left {
    float: left; }
    @media screen and (max-width: 768px) {
      .info-list.left {
        float: none; } }
  .info-list.right {
    float: right; }
    @media screen and (max-width: 768px) {
      .info-list.right {
        float: none; } }
  .info-list dl {
    margin-bottom: 15px; }
  .info-list dt {
    padding-left: 2px;
    font-size: 13px;
    font-weight: bold;
    border-bottom: 1px solid #ddd; }
    @media screen and (max-width: 768px) {
      .info-list dt {
        font-size: 12px; } }
  .info-list li {
    display: table;
    width: 100%;
    font-size: 12px; }
    @media screen and (max-width: 768px) {
      .info-list li {
        font-size: 10px; } }
    .info-list li:nth-child(even) {
      background: #efefef; }
    .info-list li .name {
      display: table-cell;
      width: 55%;
      padding-left: 2px;
      vertical-align: top;
      box-sizing: border-box; }
    .info-list li .time {
      display: table-cell;
      width: 45%;
      text-align: right;
      vertical-align: top; }

.nav-local {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
  box-sizing: border-box; }
  .nav-local:after {
    display: block;
    clear: both;
    content: ""; }
  .nav-local li {
    display: table-cell;
    width: 320px;
    border: 1px solid #000;
    border-right: 0;
    box-sizing: border-box;
    font-size: 15px; }
    @media screen and (max-width: 768px) {
      .nav-local li {
        font-size: 11px;
        width: calc(100%/3); } }
    .nav-local li:last-child {
      border-right: 1px solid #000; }
    .nav-local li a {
      display: block;
      padding: 17px 0;
      line-height: 1;
      background: #fff; }
      @media screen and (max-width: 768px) {
        .nav-local li a {
          padding: 14px 0; } }
      @media all and (-ms-high-contrast: none) {
        .nav-local li a {
          padding: 21px 0 13px 0; } }
      .nav-local li a.current {
        position: relative;
        background: #000;
        color: #fff; }
        .nav-local li a.current::after {
          position: absolute;
          bottom: -21px;
          left: 50%;
          content: "";
          display: block;
          width: 0;
          height: 0;
          margin-left: -8px;
          border: 12px solid transparent;
          border-top: 8px solid #000; }
          @media screen and (max-width: 768px) {
            .nav-local li a.current::after {
              bottom: -18px;
              border: 10px solid transparent;
              border-top: 8px solid #000; } }

/* slick -- */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* -- slick.css */
.slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  border: 0;
  text-indent: -9999px;
  background: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 9999;
  width: 50px;
  height: 50px;
  background: transparent;
  font-size: 0;
  cursor: pointer; }
  .slick-arrow.slick-prev {
    left: 15px; }
    .slick-arrow.slick-prev::after {
      position: absolute;
      left: 17px;
      top: 10px;
      content: "";
      display: block;
      width: 30px;
      height: 30px;
      border-top: 2px solid #fff;
      border-left: 2px solid #fff;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  .slick-arrow.slick-next {
    right: 15px; }
    .slick-arrow.slick-next::after {
      position: absolute;
      left: 0;
      top: 10px;
      content: "";
      display: block;
      width: 30px;
      height: 30px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

.slick-dots {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center; }
  .slick-dots li {
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 5px; }
  .slick-dots button {
    position: relative;
    text-indent: -9999px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 4px;
    height: 4px; }
    .slick-dots button::before {
      content: '●';
      font-size: 4px;
      text-indent: 0px;
      position: absolute;
      top: 0;
      left: 0;
      cursor: pointer;
      width: 4px;
      height: 4px;
      color: rgba(255, 255, 255, 0.6); }
  .slick-dots li.slick-active button::before {
    color: #730000; }

/*20260330 mapページ修正*/
.map_box p.map-note{
	color: #fff;
	text-align: center;
}
