@charset "UTF-8";
*, :after, :before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0
}

html {
  min-height: 100%;
  background-image: url(road.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

main {
  display: block
}

address, blockquote, dl, figure, form, iframe, p, pre, table {
  margin: 0
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0
}

ol, ul {
  margin: 0;
  padding: 0;
  list-style: none
}

dt {
  font-weight: 700
}

dd {
  margin-left: 0
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit
}

pre {
  font-family: monospace, monospace;
  font-size: inherit
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit
}

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: inherit
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

embed, iframe, img, object {
  vertical-align: bottom
}

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

[type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

[type=button][disabled], [type=reset][disabled], [type=submit][disabled], button[disabled] {
  cursor: default
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText
}

select::-ms-expand {
  display: none
}

fieldset, option {
  padding: 0
}

fieldset {
  margin: 0;
  min-width: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

label[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

[contenteditable] {
  outline: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

caption {
  text-align: left
}

td, th {
  vertical-align: top;
  padding: 0
}

th {
  text-align: left;
  font-weight: 700
}

[hidden], template {
  display: none
}

html {
  font-family: Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif
}

_:lang(x)::-ms-backdrop, html {
  font-family: メイリオ, Meiryo, sans-serif
}

html {
  font-size: 62.5%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, .1)
}

body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429;
  margin: 0;
  padding: 0;
  background: #fff
}

a, body {
  color: #505564
}

a img {
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out
}

a, button, input, select, textarea {
  outline: none
}

img {
  max-width: 100%
}

ol {
  list-style: decimal;
  padding-left: 1.5em
}

[class*=" ic-"]:before, [class^=ic-]:before {
  font-family: icomoon!important;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  vertical-align: bottom;
  text-transform: none;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.ic-blank:before {
  content: ""
}

.ic-arrow:before {
  content: ""
}

.ic-arrow_thin:before {
  content: ""
}

.ic-close:before {
  content: ""
}

.ic-scroll:before {
  content: ""
}

.u-align-right {
  text-align: right
}

.u-kerning {
  letter-spacing: -5px
}

.u-full-img {
  width: 100%;
  height: auto
}

@-webkit-keyframes scroll_down {
  0 {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  25% {
    -webkit-transform: translateY(15px);
    transform: translateY(15px)
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes scroll_down {
  0 {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  25% {
    -webkit-transform: translateY(15px);
    transform: translateY(15px)
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

html {
  position: relative;
  height: 100%
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100%
}

body:before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(49, 68, 90, .8);
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out;
  opacity: 0;
  z-index: -1;
  visibility: hidden;
  pointer-events: none
}

.footer, .header {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto
}

.content {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto
}

.content__inner {
  margin: 0 auto;
  word-break: break-all
}

.header {
  background: #fff;
  width: 100%;
  height: 70px;
  z-index: 10;
  position: fixed;
  -webkit-transition: -webkit-transform .5s ease-out;
  transition: -webkit-transform .5s ease-out;
  transition: transform .5s ease-out;
  transition: transform .5s ease-out, -webkit-transform .5s ease-out;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%)
}

.-header-show .header {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}

.header .menu {
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  z-index: 2
}

.header .menu_state {
  display: none
}

.header .menu_state:checked~.menu .menu__line {
  background: #fff
}

.header .menu_state:checked~.menu .menu__line:first-child {
  -webkit-transform: translateY(9px) rotate(45deg);
  transform: translateY(9px) rotate(45deg)
}

.header .menu_state:checked~.menu .menu__line:nth-child(2) {
  opacity: 0;
  -webkit-transform: translateX(-5px);
  transform: translateX(-5px)
}

.header .menu_state:checked~.menu .menu__line:nth-child(3) {
  -webkit-transform: translateY(-9px) rotate(-45deg);
  transform: translateY(-9px) rotate(-45deg)
}

.header .menu_state:checked~.navigation {
  height: auto;
  pointer-events: all;
  visibility: visible
}

.header .menu_state:checked~.navigation .navigation__bg {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}

.header .menu_state:checked~.navigation .global-navigation__item {
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0)
}

.header .menu_state:checked~.navigation .global-navigation__item:first-child {
  -webkit-transition-delay: .2s;
  transition-delay: .2s
}

.header .menu_state:checked~.navigation .global-navigation__item:nth-child(2) {
  -webkit-transition-delay: .3s;
  transition-delay: .3s
}

.header .menu_state:checked~.navigation .global-navigation__item:nth-child(3) {
  -webkit-transition-delay: .4s;
  transition-delay: .4s
}

.header .menu_state:checked~.navigation .global-navigation__item:nth-child(4) {
  -webkit-transition-delay: .5s;
  transition-delay: .5s
}

.header .menu_state:checked~.navigation .global-navigation__item:nth-child(5) {
  -webkit-transition-delay: .6s;
  transition-delay: .6s
}

.header .menu_state:checked~.navigation .app-dl {
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out;
  opacity: 1;
  -webkit-transition-delay: .8s;
  transition-delay: .8s;
  -webkit-transform: translateY(0);
  transform: translateY(0)
}

.header .menu__line {
  width: 21px;
  height: 3px;
  background: #707070;
  margin-bottom: 6px;
  -webkit-transition: .3s ease-out;
  transition: .3s ease-out
}

.header .menu__line:last-child {
  margin-bottom: 0
}

.header .app-dl {
  width: calc(100% - 40px);
  margin: 0 auto 20px;
  background: #fff;
  border-radius: 10px;
  opacity: 0;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.header .app-dl__inner {
  padding: 17px 8vw 20px
}

.header .app-dl__text {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #31445a;
  letter-spacing: -1px;
  text-align: center
}

.header .app-dl__btns {
  width: 42.13333vw;
  margin: 12px auto 0
}

.footer {
  background: #deeef0;
  position: relative
}

.footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 20px 20px
}

.footer__copyright {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.33333;
  color: #595959;
/*  margin-top: 65px */
}

.ps {
  overflow: hidden!important;
  overflow-anchor: none;
  -ms-overflow-style: none;
  touch-action: auto;
  -ms-touch-action: auto
}

.ps__rail-x {
  height: 15px;
  bottom: 0
}

.ps__rail-x, .ps__rail-y {
  display: none;
  opacity: 0;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  position: absolute
}

.ps__rail-y {
  width: 15px;
  right: 0
}

.ps--active-x>.ps__rail-x, .ps--active-y>.ps__rail-y {
  display: block;
  background-color: transparent
}

.ps--focus>.ps__rail-x, .ps--focus>.ps__rail-y, .ps--scrolling-x>.ps__rail-x, .ps--scrolling-y>.ps__rail-y, .ps:hover>.ps__rail-x, .ps:hover>.ps__rail-y {
  opacity: .6
}

.ps .ps__rail-x.ps--clicking, .ps .ps__rail-x:focus, .ps .ps__rail-x:hover, .ps .ps__rail-y.ps--clicking, .ps .ps__rail-y:focus, .ps .ps__rail-y:hover {
  background-color: #eee;
  opacity: .9
}

.ps__thumb-x {
  transition: background-color .2s linear, height .2s ease-in-out;
  -webkit-transition: background-color .2s linear, height .2s ease-in-out;
  height: 6px;
  bottom: 2px
}

.ps__thumb-x, .ps__thumb-y {
  background-color: #aaa;
  border-radius: 6px;
  position: absolute
}

.ps__thumb-y {
  transition: background-color .2s linear, width .2s ease-in-out;
  -webkit-transition: background-color .2s linear, width .2s ease-in-out;
  width: 6px;
  right: 2px
}

.ps__rail-x.ps--clicking .ps__thumb-x, .ps__rail-x:focus>.ps__thumb-x, .ps__rail-x:hover>.ps__thumb-x {
  background-color: #999;
  height: 11px
}

.ps__rail-y.ps--clicking .ps__thumb-y, .ps__rail-y:focus>.ps__thumb-y, .ps__rail-y:hover>.ps__thumb-y {
  background-color: #999;
  width: 11px
}

@supports (-ms-overflow-style:none) {
  .ps {
    overflow: auto!important
  }
}

.loading {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 9999;
  background: #deeef0;
  opacity: 0;
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out;
  pointer-events: none
}

.loading__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100vh
}

.loading__content {
  position: relative;
  top: 0;
  -webkit-transition: top .6s ease-out;
  transition: top .6s ease-out
}

.loading__logo {
  width: 57.6vw;
  margin: 0 auto 50px
}

.loading__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

body.-loaded .loading__text {
  opacity: 0;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out
}

.heading.-sub {
  background: #effaef;
  color: #1b8190;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 60px;
  font-size: 22px;
  font-size: 2.2rem;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2)
}

.heading.-footer {
  color: #31445a;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-bottom: 15px
}

.app-dl {
  margin-top: 10px
}

.app-dl__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.app-dl__btn {
  width: 42.13333vw;
  margin: 0 auto
}

.detail__head {
  border-bottom: 2px solid #31445a;
  padding-bottom: 10px;
  margin-bottom: 25px
}

.detail__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.detail__meta .detail__date {
  color: #919ba5
}

.detail__title {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  margin-top: 10px
}

.detail__body {
  margin-bottom: 40px
}

.detail__body p {
  margin-top: 10px;
  font-size: 16px;
  font-size: 1.6rem
}

.detail__body img {
  height: auto
}

.border-box__item {
  width: 100%;
  padding: 30px 20px;
  border-bottom: 1px solid #e4e4e4
}

.border-box__heading {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700
}

.border-box__img {
  margin: 0 auto 20px;
  position: relative
}

.border-box__text a {
  color: #1b8190;
  font-weight: 700
}

.page-home .section__body {
  z-index: 1;
  position: relative;
  padding-top: 100px;
}

.page-home .section-first {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #FFF;
  font-weight: 700;
  text-align: center
}

.page-home .section-first__logo {
  width: 57.6vw;
  margin: 0 auto
}

.page-home .section-first .btn-wrap, .page-home .section-first__app, .page-home .section-first__copy {
  margin-top: 30px
}

.page-home .section-first__app .app-dl__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 12px
}

.page-home .section-first__app .app-dl__btn {
  width: 42.13333vw;
  margin: 0 auto
}

.page-home {
  height: 100%;
  background: none
}

@media (min-width:768px) {
  a:hover {
    text-decoration: underline
  }
  a:hover img {
    opacity: .8
  }
  .u-sp {
    display: none
  }
  .page-second .content {
    padding-top: 84px
  }
  .header {
    height: 84px;
    -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
    box-shadow: 0 3px 5px rgba(0, 0, 0, .2)
  }
  .header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%
  }
  .header__logo {
    width: 110px;
    height: auto;
    margin: 0 70px 0 0;
    padding: 0
  }
  .header .app-dl, .header .menu {
    display: none
  }
  .footer__inner {
    padding: 40px 20px
  }
  .footer__copyright {
    text-align: center
  }
  .loading__logo {
    width: 230px
  }
  .heading.-footer {
    font-size: 16px;
    font-size: 1.6rem
  }
  .detail__title {
    font-size: 28px;
    font-size: 2.8rem
  }
  .detail__body {
    margin-bottom: 50px
  }
  .border-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .border-box__item {
    margin-bottom: 20px;
    border: 1px solid #e4e4e4;
    border-radius: 10px;
    padding: 30px 30px 20px
  }
  .page-home .section-first {
    min-height: 650px
  }
  .page-home .section-first__logo {
/*    width: 380px */
    width: 70%
  }
  .page-home .section-first__copy {
    margin-top: 25px;
    font-size: 18px;
    font-size: 1.8rem
  }
  .page-home .section-first .btn-wrap, .page-home .section-first__app {
    margin-top: 35px
  }
  .page-home .section-first__app .app-dl__btn {
    width: 144px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 5px
  }
  .page-home .section-play .section__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 0;
    position: relative;
    left: 46px
  }
}

@media (max-width:767px) {
  .u-android, .u-ios {
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out
  }
  .-loaded .u-android, .-loaded .u-ios {
    opacity: 1
  }
  .android .u-ios, .ios .u-android {
    display: none!important
  }
  body.-fixed, body.-lnavi_open {
    overflow: hidden;
    width: 100%
  }
  body.-lnavi_open:before {
    z-index: 1;
    visibility: visible;
    opacity: 1
  }
  .header__logo img {
    width: 88px;
    height: auto
  }
  .border-box__item:first-child {
    padding-top: 10px
  }
  .border-box__item:last-child {
    border-bottom: 0;
    padding-bottom: 0
  }
  .page-home .section-play {
    height: auto!important
  }
}

@media (min-width:768px) and (min-width:768px) and (max-width:820px) {
  .header__logo {
    margin-right: 3.90625vw
  }
}

@media (-ms-high-contrast:none), screen and (-ms-high-contrast:active) {
  .ps {
    overflow: auto!important
  }
}

@media (min-width:768px) and (min-width:768px) and (max-width:1040px) {
  .border-box__item {
    margin-bottom: 1.5625vw
  }
}