@font-face {
  font-family: "film";
  src: url("fonts/film.eot?yu7mzn");
  src:
    url("/assets/vb/fonts/film.eot?yu7mzn#iefix") format("embedded-opentype"),
    url("/assets/vb/fonts/film.ttf?yu7mzn") format("truetype"),
    url("/assets/vb/fonts/film.woff?yu7mzn") format("woff"),
    url("/assets/vb/fonts/film.svg?yu7mzn#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "film" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-x:before {
  content: "\e92e";
}
.icon-train-prime:before {
  content: "\e900";
}
.icon-cycling:before {
  content: "\e901";
}
.icon-mobility:before {
  content: "\e902";
}
.icon-michi-no-eki:before {
  content: "\e903";
}
.icon-myougi:before {
  content: "\e904";
}
.icon-speciality:before {
  content: "\e905";
}
.icon-localfood:before {
  content: "\e906";
}
.icon-accommo:before {
  content: "\e907";
}
.icon-cuisine:before {
  content: "\e908";
}
.icon-sightseeing:before {
  content: "\e909";
}
.icon-car:before {
  content: "\e90a";
}
.icon-chikuma-bus:before {
  content: "\e90b";
}
.icon-joushin-line:before {
  content: "\e90c";
}
.icon-s-left:before {
  content: "\e90d";
}
.icon-s-up:before {
  content: "\e90e";
}
.icon-s-down:before {
  content: "\e90f";
}
.icon-lingal:before {
  content: "\e910";
}
.icon-event:before {
  content: "\e911";
}
.icon-highway:before {
  content: "\e912";
}
.icon-highwaybus:before {
  content: "\e915";
}
.icon-close:before {
  content: "\e916";
}
.icon-nav-menu:before {
  content: "\e917";
}
.icon-train:before {
  content: "\e918";
}
.icon-instagram:before {
  content: "\e919";
}
.icon-youtube:before {
  content: "\e91a";
}
.icon-facebook:before {
  content: "\e91b";
}
.icon-twitter:before {
  content: "\e91c";
}
.icon-s-right:before {
  content: "\e91d";
}
.icon-sq-up:before {
  content: "\e91e";
}
.icon-sq-down:before {
  content: "\e91f";
}
.icon-sq-left:before {
  content: "\e920";
}
.icon-sq-right:before {
  content: "\e921";
}
.icon-c-left:before {
  content: "\e922";
}
.icon-c-up:before {
  content: "\e923";
}
.icon-c-down:before {
  content: "\e924";
}
.icon-c-right:before {
  content: "\e925";
}
.icon-s-check:before {
  content: "\e926";
}
.icon-download:before {
  content: "\e927";
}
.icon-pin:before {
  content: "\e928";
}
.icon-clip:before {
  content: "\e929";
}
.icon-handy:before {
  content: "\e92a";
}
.icon-ar-down:before {
  content: "\e92b";
}
.icon-prime:before {
  content: "\e92c";
}
.icon-negi:before {
  content: "\e92d";
}
.icon-key:before {
  content: "\f084";
}
.icon-binoculars:before {
  content: "\f1e5";
}
.icon-mail:before {
  content: "\f0e0";
}
.icon-fax:before {
  content: "\f1ac";
}
.icon-film:before {
  content: "\e913";
}
.icon-video-camera:before {
  content: "\e914";
}
.icon-phone:before {
  content: "\e942";
}
.icon-location:before {
  content: "\e947";
}
.icon-location2:before {
  content: "\e948";
}
.icon-leaf:before {
  content: "\e9a4";
}
.icon-power-cord:before {
  content: "\e9b7";
}

:root {
  /* フォント */
  --font-base:
    "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, -apple-system,
    sans-serif;

  /* 色 */
  --color-bg: #ffffff;
  --color-text: #2f3138;
  --color-heading: #0e1b4d;
  --color-contrast: #ffffff;

  /* ブランド */
  --color-primary: #0c5c78;
  --color-primary-light: #92afba;
  --color-accent: #f85321;

  /* UI */
  --color-surface: #ffffff;
}

.hero {
  --hero-overlay-color: #001e20;
  --hero-color-heading: #ffffff;
  --hero-color-accent: #f85321;
  --surface-color: #001553;
}

/*--------------------------------------------------------------
# General Styling & Shared Classes
--------------------------------------------------------------*/
body {
  font-family: var(--font-base);
  color: var(--color-text);
  background: var(--color-bg);
}
html,
body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.feature {
  flex: 1;
}

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, var(--color-accent), transparent 25%);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
}
