/*/////////////////////////////////////////
    Base Structure
    Common

    Media Queryに影響されないCSS
    Resetも含む
/////////////////////////////////////////*/
body,
html {
  font-family: sans-serif;
  color: #000;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  width: 100vw;
}

ul {
  list-style: none;
}
/*---------------------------------------
    Images
---------------------------------------*/

/*---------------------------------------
    WP Style
---------------------------------------*/
img.alignleft {
  float: left;
  display: block;
  margin-top: 1em;
  margin-right: 1em;
  margin-bottom: 1em;
}
img.alignright {
  float: right;
  display: block;
  margin-top: 1em;
  margin-left: 1em;
  margin-bottom: 1em;
}
img.aligncenter {
  display: block;
  margin: 1em auto;
}
  .single img.aligncenter {
      max-width: 100%;
      margin: 1em auto;
  }
/*---------------------------------------
  clearfix
---------------------------------------*/
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
/*---------------------------------------
  Links
---------------------------------------*/
a {
  color: #000;
  text-decoration: none;
}
  a:hover {
      cursor: pointer;
      opacity: 0.5;
  }
/*---------------------------------------
  Font
---------------------------------------*/
.red { color: #ff0000; }
.small { font-size: 80%; }
/*---------------------------------------
    Heading
---------------------------------------*/
h1 { font-size: 2em; }
  h1 span { font-size: 0.5em; }
h2 { font-size: 1.875em; }
  h2 span { font-size: 0.5em; }
h3 { font-size: 1.5em; }
  h3 span { font-size: 0.8em; }
h4 { font-size: 1.3em; }
h5 { font-size: 1.2em; }
  h5 span { font-size: 0.8em; }
h6 { font-size: 1.1em; }
/*---------------------------------------
  Design Heading
---------------------------------------*/
.ribbon-title {
  display: inline-block;
  position: relative;
  width: 90%;
  line-height: 150%;
  text-align: center;
  margin: 0 5% 1em 5%;
  padding: 1em 2em;
  font-size: 120%;
  background: #3498db;
  color: #fff;
  box-sizing: border-box;
}
  .ribbon-title:before,
  .ribbon-title:after {
      position: absolute;
      content: '';
      width: 0px;
      height: 0px;
      z-index: 1;
  }
  .ribbon-title:before {
      top: 0;
      left: 0;
      border-width: 34px 0px 34px 30px;
      border-color: transparent transparent transparent #fff;
      border-style: solid;
  }
  .ribbon-title:after {
      top: 0;
      right: 0;
      border-width: 34px 30px 34px 0px;
      border-color: transparent #fff transparent transparent;
      border-style: solid;
  }
/*---------------------------------------
  Header
---------------------------------------*/
header {
  position: relative;
  height: auto;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-top: #00a0ff 10px solid;
}
.header-title-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
  .businesshour-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
    .businesshour-area dl {
      margin: 0 0 0 1em;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
    }
      .businesshour-area dl dt,
      .businesshour-area dl dd {
        margin: 0;
        padding: 0;
        font-weight: 700;
      }
        .businesshour-area dl dt {
          color: #0040a4;
        }
/*---------------------------------------
    Sections
---------------------------------------*/
  .main,
  #contact .inner,
  #pickup-area .inner,
  footer .footer_top {
      margin: 0 auto;
  }
  footer {
    padding: 0 65px 0 0;
  }
    nav#fnav {
      width: 100%;
    }
/*---------------------------------------
    Sections // Footer
---------------------------------------*/
footer {
  width: 100%;
}
.footer_top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.foot-nav-area {
  display: flex;
}
  ul.foot-nav-area li {
    font-size: 0.85em;
  }
    ul.foot-nav-area li:last-of-type {
      border-right: none;
    }
    .footer_sns {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
    }
      .footer_sns img {
        width: auto;
        height: 16px;
      }
      .footer_sns a img {
        width: 27px;
        height: auto;
      }

  #copyright {
      background: #000;
      color: #fff;
      font-size: 0.75em;
      text-align: center;
      font-family: Helvetica Neue, Helvetica, sans-serif;
      letter-spacing: 1px;
      padding: 1em 0;
  }
      #copyright,
      #copyright .inner {
        width: 100%;
      }
        #copyright a {
          text-decoration: none;
          color: #fff;
        }
/*---------------------------------------
    Button // PageTo
---------------------------------------*/
#pagetop {
  z-index: 5;
  position: fixed;
  bottom: 21px;
  right: 0;
  width: 56px;
}
  #pagetop a {
    display: block;
  }
  #pagetop span {
    color: transparent;
    display: block;
    width: 56px;
    height: 56px;
    background: url('../images/pagetop.png') left top no-repeat;
    background-size: contain;
  }
/*---------------------------------------
    Button // BackHome
---------------------------------------*/
#back-home {
  position: fixed;
  bottom: 8em;
  right: 0;
  width: 65px;
}
  #back-home a {
      display: block;
  }
  #back-home span {
      color: transparent;
      display: block;
      width: 65px;
      height: 65px;
  }
/*---------------------------------------
    Button // reCapcha
---------------------------------------*/
.grecaptcha-badge {
  z-index: 5;
  bottom: 7em !important;
}