@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(https://example.com/MaterialIcons-Regular.eot);
  /* For IE6-8 */
  src: local('Material Icons'),
    local('MaterialIcons-Regular'),
    url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'),
    url(https://example.com/MaterialIcons-Regular.woff) format('woff'),
    url(https://example.com/MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  display: inline-flex;
  vertical-align: middle;

  /* 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';
}

/* Rules for sizing the icon. */

.material-icons.md-36 {
  font-size: 36px;
}

.table > :not(caption) > * > * {
  vertical-align: middle;
}

/* フローティングメニュー */

.floating-nav {
  position: fixed;
  width: 50px;
  right: 0;
  top: 20%;
  cursor: pointer;
}

.floating-nav a {
  color: white;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-decoration: none;
}

#top-button {
    display: none;
}

.custom-background {
  background-color: rgb(105, 185, 208); /* OK-ONEカラー */
}

.custom-text {
  color: rgb(105, 185, 208); /* OK-ONEカラー */
}

.map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* メインビジュアル最大幅固定 */
.main-visual {
  max-width: 100%;
  width: auto;
/*  height: auto;*/
}

.main-visual-wrapper {
  display: flex;
  justify-content: center;
}

.logo-wrapper {
  max-width: 500px;
  margin: 0 auto;
}

.logo-fixed {
  max-width: 500px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* bullet */
.bullet-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bullet-item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.5em;
  margin-bottom: 0.5em;
}

.bullet-dot {
  color: rgb(105, 185, 208); /* OK-ONEカラー */
}

.bullet-text {
  word-break: break-word;
  line-height: 1.4;
}

.btn.custom-background:hover {
  background-color: rgb(85, 160, 180);
  color: #fff;
}

/* Font size utilities */
.fs-40 { font-size: 40px; }
.fs-32 { font-size: 32px; } /* h1 */
.fs-28 { font-size: 28px; }
.fs-24 { font-size: 24px; } /* h2 */
.fs-20 { font-size: 20px; }
.fs-18 { font-size: 18px; } /* h3（近似） */
.fs-16 { font-size: 16px; } /* h4 */
.fs-14 { font-size: 14px; } /* h5（近似） */
.fs-12 { font-size: 12px; } /* h6（近似） */

/* Font weight utilities */
.fw-300 { font-weight: 300; } /* Light */
.fw-400 { font-weight: 400; } /* Normal */
.fw-500 { font-weight: 500; } /* Medium */
.fw-600 { font-weight: 600; } /* Semi-bold */
.fw-700 { font-weight: 700; } /* Bold（見出しタグの初期値） */

/* ページジャンプ位置調整 */
.scroll-offset {
  scroll-margin-top: 80px; 
}
.logo-fixed {
  max-width: 500px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  aspect-ratio: 708.66162 / 120.74805;
  object-fit: contain;
}
