/** common style */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: local('Material Icons'),
    local('MaterialIcons-Regular'),
}
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}
html {
  font-family: 'Roboto Condensed', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
  font-size: 14px;
  background: rgb(254, 254, 252);
  color: rgb(15, 15, 15);
}
a {
  color: rgb(15, 15, 15);
}
a i.material-icons {
  font-size: 90%
}
header {
  position: fixed;
  z-index: 3;
  left: 0;
  right: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
header.outer-title {
  background: #fefefecc;
  box-shadow: 0 1px 4px 2px #ccc;
}
footer {
  margin: 50px 0 0;
  padding: 30px 20px 15px;
  background: rgb(60, 60, 60);
  color: rgb(254, 254, 254);
}
footer .share {
  text-align: right;
}
footer .share > * {
  vertical-align: top;
}
footer .share > *:not(:first-child) {
  margin-left: 10px;
}
footer .footer-link {
  margin-top: 1em;
  text-align: center;
  line-height: 1.5rem;
}
footer .footer-link li {
  display: inline-block;
}
footer .footer-link li:not(:first-child) {
  margin-left: 10px;
}
footer .footer-link li:not(:first-child):before {
  content: '|';
  margin-right: 10px;
}
footer .footer-link li a {
  color: rgb(254, 254, 254);
  text-decoration: none;
}
footer .footer-link li i {
  font-size: 14px;
  vertical-align: bottom;
  margin-left: 3px;
}
footer .footer-link li a:hover {
  color: rgba(254, 254, 254, 0.8);
}
footer .copyright {
  margin-top: 1em;
  text-align: center;
}
section {
  padding: 60px 0;
}
section section {
  padding: 25px 0;
}
section section section {
  padding: 15px 0;
}
h1 {
  text-align: center;
  font-size: 32px;
}
.detail-page h1 {
  text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.8);
}
h2 {
  margin-top: 25px;
  text-align: center;
  font-size: 24px;
}
h3 {
  margin-top: 20px;
  font-size: 18px;
}
h4 {
  margin-top: 20px;
  font-size: 16px;
}
p {
  margin-top: 10px;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
}
p.lead {
  margin-top: 25px;
}
br.sp-break {
  display: none;
}
@media screen and (max-width: 420px) {
  br.pc-break {
    display: none;
  }
  br.sp-break {
    display: block;
  }
}
.table-style {
  display: table;
  border-spacing: 2px;
}
.table-style:not(.inner) {
  width: 100%;
}
.table-style > * {
  display: table-row;
}
.table-style > *.separator {
  height: 3px;
}
.table-style > * > * {
  display: table-cell;
  vertical-align: middle;
}
.table-style:not(.inner) > * > * {
  padding: 10px 15px;
  background: rgba(254,254,254,0.35);
}
.table-style:not(.inner) > * > *.label {
  background: rgba(80,80,80,0.35);
}
.table-style:not(.inner) > * > *.label.secondary {
  background: rgba(160,160,160,0.35);
}
.table-style.inner > *:not(:first-child) > * {
  padding-top: 5px;
}
.table-style.inner > * > *:not(:first-child) {
  padding-left: 15px;
}
.table-style > * p {
  margin-top: 5px;
  line-height: 1.5rem;
  letter-spacing: 0.05rem;
}
.table-style > * p:first-of-type {
  margin-top: 0;
}
.list-style {
  list-style: disc;
  padding-left: 20px;
}
.list-style.inner {
  list-style: disc;
  margin: 15px 0;
}
.list-style > * {
  line-height: 1.5rem;
  letter-spacing: 0.05rem;
}
.list-style > *:not(:first-child) {
  margin-top: 5px;
}
@media screen and (max-width: 650px) {
  .table-style:not(.inner) > * > * {
    padding: 10px;
    display: block;
  }
}
.wrapper {
  margin: 0 auto 0;
  width: 77.5%;
  max-width: 1000px;
}
@media screen and (max-width: 420px) {
  .wrapper {
    width: auto;
  }
}
.background-wrapper {
  padding: 2.5%;
}
.text-wrapper {
  padding: 40px 5%;
  background: rgba(254, 254, 254, 0.7);
}
.clear {
  clear: both;
}
.to-top {
  display: none;
  background: rgba(254, 254, 254, 0.8);
  border-radius: 5px;
  margin: 15px;
  width: 20px;
  padding: 7px 10px 5px 8px;
  position: fixed;
  z-index: 1;
  bottom: 0;
  right: 0;
  box-sizing: content-box;
  -webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
  transition: all .6s cubic-bezier(.19,1,.22,1);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  border: 0;
  outline: 0;
  right: 0;
}
.to-top a {
  color: rgba(51, 51, 51, 0.8);
}
.to-top.relative {
  position: relative;
  float: right;
  background: none;
}
.button-area {
  margin-top: 20px;
  text-align: center;
}
.button-area > *:not(:first-child) {
  margin-left: 25px;
}
.button-area button {
  background: rgb(0, 25, 75);
  padding: 10px 30px;
  color: rgb(254,254,254);
  font-size: 14px;
  cursor: pointer;
  border: none;
}
.button-area button:hover {
  background: rgb(0, 75, 125);
}
.button-area button.contact {
  background: rgb(25, 75, 0);
}
.button-area button.contact:hover {
  background: rgb(75, 125, 0);
}
.annotation {
  margin-top: 5px;
  line-height: 1em;
  letter-spacing: 0.05rem;
}
.annotation:first-of-type {
  margin-top: 10px;
}
.annotation-list {
  margin-top: 16px;
}
.annotation-list > * {
  line-height: 1em;
  letter-spacing: 0.05rem;
  display: flex;
  text-align: left;
}
.annotation-list > *:not(:first-child) {
  margin-top: 8px;
}
.annotation-list > *::before {
  content: "*";
  padding: 0 8px 0 0;
}
.fade-up {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
}
/** extend drawer css */
.grobal-navi {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  margin-left: auto;
  text-align: right;
}
.drawer-navbar .drawer-navbar-header {
  border-bottom: none;
  background-color: transparent;
}
.drawer-navbar .drawer-brand {
  position: fixed;
  left: 0;
  text-align: left;
  line-height: 1.05em;
  margin: 0 20px;
  color: rgb(30, 30, 30);
  text-shadow: 1px 1px 2px rgb(254, 254, 254);
  padding: 0;
}
.drawer-navbar .drawer-brand .sub-brand {
  font-size: 12px;
}
.drawer-navbar .drawer-brand .brand {
  font-size: 28px;
  letter-spacing: 0.25em;
}
.drawer-navbar .drawer-nav {
  background-color: transparent;
}
.drawer-container {
  margin-right: 20px;
}
@media (min-width: 64em) {
.drawer-container {
    max-width: 72rem;
}
}
.drawer-hamburger {
  background: rgba(254, 254, 254, 0.8);
  border-radius: 999px;
  margin: 10px;
  width: 20px;
  padding: 19px 10px;
}
.drawer-open .drawer-hamburger {
  background: transparent;
}
.drawer-open .drawer-hamburger-icon:after,
.drawer-open .drawer-hamburger-icon:before {
  background: rgb(254, 254, 254);
}
.drawer-hamburger-icon {
  margin-top: 0px;
}
.drawer-hamburger-icon:after {
  top: 8px;
}
.drawer-hamburger-icon:before {
  top: -8px;
}
.drawer-menu-item {
  font-size: 18px;
  color: rgba(51, 51, 51, 0.8);
  padding: 4px 10px 2px;
  text-shadow: 1px 1px 2px rgba(254, 254, 254, 0.9);
}
.drawer-menu-item:hover {
  text-decoration: none;
}
.drawer-menu-item i {
  font-size: 18px;
  vertical-align: middle;
  margin-left: 3px;
}
@media (min-width: 1023px) {
  .drawer-navbar {
    border-bottom: none;
    background-color: rgba(255, 255, 255, 0);
  }
}
@media (max-width: 1023px) {
  .drawer-navbar .drawer-nav {
    background-color: rgba(0, 0, 0, 0.75);
  }
  .drawer-navbar .drawer-brand {
    margin: 0 10px;
    padding: 0;
  }
  .drawer-menu-item {
    font-size: 20px;
    color: rgb(254, 254, 254);
    text-shadow: none;
    padding: 8px 20px;
  }
  .drawer-menu-item i {
    font-size: 16px;
  }
}
@media (min-width: 1100px) {
  .drawer-menu-item {
    font-size: 20px;
  }
}
@media (min-width: 1200px) {
  .drawer-menu-item {
    font-size: 22px;
  }
}
.drawer-menu-item.secondary {
  display: none;
  font-size: 16px;
}
.drawer-menu-item.secondary:before {
  content: '-';
  margin: 0 5px;
}
@media screen and (max-width: 1023px) {
  .drawer-menu-item.secondary {
    display: block;
  }
  .grobal-navi .sp-menu {
    display: inline-block;
  }
  .grobal-navi {
    width: 100%;
  }
  .grobal-navi ul {
    display: none;
    margin-top: 0;
  }
  .grobal-navi ul > li {
    display: block;
    margin: 10px;
  }
}
/** END extend drawer css */
.google-map {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
