@media screen and (min-width:640px){
  .flex_ge-640{display:-webkit-box !important;display:-moz-box !important;display:-ms-flexbox !important;display:-webkit-flex !important;display:flex !important}
  .between.flex_ge-640{-webkit-box-pack:space-between;-moz-box-pack:space-between;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between}
  .around.flex_ge-640{-webkit-box-pack:space-around;-moz-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around}
  .start.flex_ge-640{-webkit-box-pack:flex-start;-moz-box-pack:flex-start;-ms-flex-pack:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start}
  .end.flex_ge-640{-webkit-box-pack:flex-end;-moz-box-pack:flex-end;-ms-flex-pack:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end}
  .center.flex_ge-640{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}
  .wrap.flex_ge-640{-webkit-flex-wrap:wrap;flex-wrap:wrap}
  .reverse.flex_ge-640{-webkit-flex-direction:row-reverse;flex-direction:row-reverse}
  .stretch.flex_ge-640,
  .stretch.flex_ge-640 > *{-webkit-align-self:stretch;align-self:stretch}
}
@media screen and (min-width:768px){
  .flex_ge-768{display:-webkit-box !important;display:-moz-box !important;display:-ms-flexbox !important;display:-webkit-flex !important;display:flex !important}
  .between.flex_ge-768{-webkit-box-pack:space-between;-moz-box-pack:space-between;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between}
  .around.flex_ge-768{-webkit-box-pack:space-around;-moz-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around}
  .start.flex_ge-768{-webkit-box-pack:flex-start;-moz-box-pack:flex-start;-ms-flex-pack:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start}
  .end.flex_ge-768{-webkit-box-pack:flex-end;-moz-box-pack:flex-end;-ms-flex-pack:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end}
  .center.flex_ge-768{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}
  .wrap.flex_ge-768{-webkit-flex-wrap:wrap;flex-wrap:wrap}
  .reverse.flex_ge-768{-webkit-flex-direction:row-reverse;flex-direction:row-reverse}
  .stretch.flex_ge-768,
  .stretch.flex_ge-768 > *{-webkit-align-self:stretch;align-self:stretch}
}
@media screen and (max-width:639px){
  .hidden_lt-640{display:none;}
}
@media screen and (min-width:640px){
  .flex_ge-640{display:-webkit-box !important;display:-moz-box !important;display:-ms-flexbox !important;display:-webkit-flex !important;display:flex !important}
  .between.flex_ge-640{-webkit-box-pack:space-between;-moz-box-pack:space-between;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between}
  .around.flex_ge-640{-webkit-box-pack:space-around;-moz-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around}
  .start.flex_ge-640{-webkit-box-pack:flex-start;-moz-box-pack:flex-start;-ms-flex-pack:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start}
  .end.flex_ge-640{-webkit-box-pack:flex-end;-moz-box-pack:flex-end;-ms-flex-pack:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end}
  .center.flex_ge-640{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}
  .wrap.flex_ge-640{-webkit-flex-wrap:wrap;flex-wrap:wrap}
  .reverse.flex_ge-640{-webkit-flex-direction:row-reverse;flex-direction:row-reverse}
  .stretch.flex_ge-640,
  .stretch.flex_ge-640 > *{-webkit-align-self:stretch;align-self:stretch}
}
@media screen and (min-width:769px){
  .flex_gt-768{display:-webkit-box !important;display:-moz-box !important;display:-ms-flexbox !important;display:-webkit-flex !important;display:flex !important}
  .between.flex_gt-768{-webkit-box-pack:space-between;-moz-box-pack:space-between;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between}
  .around.flex_gt-768{-webkit-box-pack:space-around;-moz-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around}
  .start.flex_gt-768{-webkit-box-pack:flex-start;-moz-box-pack:flex-start;-ms-flex-pack:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start}
  .end.flex_gt-768{-webkit-box-pack:flex-end;-moz-box-pack:flex-end;-ms-flex-pack:flex-end;-webkit-justify-content:flex-end;justify-content:flex-end}
  .center.flex_gt-768{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}
  .wrap.flex_gt-768{-webkit-flex-wrap:wrap;flex-wrap:wrap}
  .reverse.flex_gt-768{-webkit-flex-direction:row-reverse;flex-direction:row-reverse}
  .stretch.flex_gt-768,
  .stretch.flex_gt-768 > *{-webkit-align-self:stretch;align-self:stretch}
}

body{font-family:'Noto Sans JP',Verdana,sans-serif;font-weight:300}
.inner{position:relative}
.serif{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",Garamond,"Times New Roman",serif;font-weight:bold}

@media screen and (max-width:479px){
  section > .inner > header{
    margin-bottom:32px;
  }
  h2:not(:only-child){
    margin-bottom:32px;
  }
}
@media screen and (min-width:480px){
  section > .inner > header{
    margin-bottom:56px;
  }
  h2:not(:only-child){
    margin-bottom:56px;
  }
}
h2 img,
h2 svg{
  width:auto;height:24px;
}

body > footer{
  position:relative;
  background-color:#e61f21;
}
footer .inner{
  padding:64px 16px;
}
footer .about p{
  color:#fff;
}
@media screen and (max-width:639px){
  footer .about{
    margin-bottom:24px;
  }
  footer .about p{
    font-size:12px;
  }
}
@media screen and (min-width:640px){
  footer .about{
    width:50%;
    margin-left:auto;margin-right:auto;margin-bottom:40px;
  }
  footer .about p{
    font-size:12px;
  }
}
/*body > footer nav{
  margin-bottom:56px;
}
body > footer nav li{
  margin:0 12px 16px 12px;
}
body > footer nav a{
  color:#fff;font-size:13px;font-style:italic;
}*/
footer .tel{
  margin-bottom:24px;
}
footer .tel a{
  display:inline-block;
  padding:16px 24px;
  color:#fff;font-size:16px;letter-spacing:.2em;
  border:1px solid rgba(255,255,255,.8);
  background-color:rgba(255,255,255,.16);
}
footer .social-nav{
  margin-bottom:72px;
}
footer .social-nav li{
  margin:0 8px;
}
footer .social-nav a{
  width:32px;
  height:32px;
  opacity:.5;
}
.fab{
  position:absolute;
  bottom:-40px;right:16px;
  width:40px;height:40px;
  z-index:50;
  -webkit-transition:bottom .5s ease-out,opacity .5s ease-out;transition:bottom .5s ease-out,opacity .5s ease-out;
}
.fab a{
  display:block;
  width:40px;height:40px;
  opacity:.5;
  color:#fff;font-size:12px;line-height:40px;text-align:center;
  background:#000;
  border-radius:50%;
}
.regal{
  color:#fff;font-size:11px;font-style:italic;
}
.running-by{
  position:absolute;
  right:16px;bottom:0;
  color:#fff;font-size:11px;font-style:italic;line-height:40px;
}
.running-by a{
  color:#fff;text-decoration:underline;
}