@charset "UTF-8";
html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

html, body {
  background-color: #eee;
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }

body {
  margin: 0;
  padding: 0; }

.android .form_unit .forAndroid {
  display: inline-block; }
.android .form_unit .forIos,
.android .form_unit .forDesktop {
  display: none; }
.android .form_unit p {
  display: none; }

.ios .form_unit .forAndroid,
.ios .form_unit .forDesktop {
  display: none; }
.ios .form_unit .forIos {
  display: inline-block; }
.ios .form_unit p {
  display: none; }

.desktop .form_unit .forAndroid, .desktop .form_unit .forIos, .blackberry .form_unit .forAndroid, .blackberry .form_unit .forIos, .windows .form_unit .forAndroid, .windows .form_unit .forIos {
  display: none; }

img {
  width: 100%; }

.line img {
  width: 36px; }

#wrapper {
  max-width: 40em;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff; }
  #wrapper::after {
    clear: both;
    content: "";
    display: table; }

header {
  border-bottom: 2px solid #333;
  position: relative;
  text-align: center;
  padding-bottom: .8em; }
  header .logo {
    padding-top: 15px;
    padding-left: 0;
    padding-bottom: 15px; }
    header .logo a img {
      width: 20.78%; }
  header .sns {
    list-style-type: none;
    margin: 0;
    padding: 0;
    line-height: 0 !important; }
    header .sns li {
      display: inline-block;
      vertical-align: middle;
      padding: 0;
      margin-right: 3px; }
      header .sns li.tw iframe {
        width: 80px !important; }
  @media screen and (min-width: 50em) {
    header {
      text-align: left; }
      header .logo {
        padding-left: 15px; }
      header .sns {
        position: absolute;
        top: 12px;
        right: 10px; } }

.sns_box {
  border: 1px solid #ccc;
  padding: 20px;
  text-align: center;
  margin: 20px 20px 40px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  background-color: #eee; }
  .sns_box p {
    display: block;
    margin: 0 0 .5em;
    font-family: 'Courgette', cursive;
    font-size: 18px;
    color: #ff6e00; }
  .sns_box .sns {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .sns_box .sns li {
      display: inline-block;
      vertical-align: top;
      margin: 5px; }
      .sns_box .sns li.fb iframe {
        width: 70px !important; }

.dialog-sns .sns {
  text-align: center;
  margin: 0;
  padding: 0; }
  .dialog-sns .sns li {
    display: inline-block;
    vertical-align: top;
    margin: 5px;
    line-height: 0; }

.hero {
  position: relative; }
  .hero h1 {
    margin: 0;
    padding: 0;
    line-height: 0; }

.nav {
  position: relative;
  z-index: 100;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 30px;
  margin-top: -30px !important; }
  .nav .gnav {
    text-align: center;
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .nav .gnav::after {
      clear: both;
      content: "";
      display: table; }
    .nav .gnav li {
      float: left;
      display: block;
      margin-right: 2.3576515979%;
      width: 31.7615656014%;
      padding: 0;
      margin-bottom: 8px; }
      .nav .gnav li:last-child {
        margin-right: 0; }

.unit {
  margin-bottom: 1em; }

.register {
  background-color: #ffd7d7; }
  .register form .form_body {
    list-style-type: none;
    padding: 0 20px;
    margin: 0 0 1em;
    text-align: center; }
    .register form .form_body::after {
      clear: both;
      content: "";
      display: table; }
    .register form .form_body li {
      vertical-align: middle; }
      .register form .form_body li button {
        background-color: transparent;
        padding: 0;
        margin: 8px 0 0;
        text-align: center;
        border: none; }
      .register form .form_body li input[type="text"] {
        font-size: 18px;
        margin: 0;
        border: 3px solid #9a9a9a;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
        padding: 0 8px 0;
        height: 72px;
        min-width: 280px; }

/**2016/10/14 add(Maruyama)**/ 
.register img { vertical-align: bottom; }
.register > div#counter { position: relative; margin: 0 auto; } 
.register > div#counter > ul { position: absolute; top: 0; left: 35%; margin:0; padding: 0; list-style: none; width: 28.3%;
display: -moz-box;
display: -webkit-box;
display: box;
   -moz-box-pack: justify;
-webkit-box-pack: justify;
				box-pack: justify;
}    
.register > div#counter > ul > li { margin: 0; padding: 0;  width: 17.7%; }
.register > div#counter > ul > li > img { width: 100%; }
/** end/add(Maruyama)**/ 

    @media screen and (min-width: 640px) {
      .register form .form_body li {
        float: left; }
        .register form .form_body li input[type="text"] {
          width: 310px;
          margin-right: 12px; } }
  .register form .form_unit {
    padding: 0 20px;
    margin: 0 0 1em;
    text-align: center; }
    .register form .form_unit::after {
      clear: both;
      content: "";
      display: table; }
    .register form .form_unit P {
      margin-bottom: .3em; }
    .register form .form_unit input[type="text"] {
      font-size: 18px;
      margin: 15px auto 0;
      border: 3px solid #9a9a9a;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px;
      padding: 0 8px 0;
      height: 72px;
      width: 100%;
      min-width: 280px;
      display: block;
      margin-bottom: .8em; }
    .register form .form_unit button {
      display: inline-block;
      background-color: transparent;
      padding: 0;
      margin: 8px 0 0;
      text-align: center;
      border: none; }
  .register .note {
    padding-bottom: 2em; }
    .register .note a {
      display: block;
      text-align: center; }
  @media screen and (min-width: 50em) {
    .register form .form_body {
      text-align: left; }
      .register form .form_body li button {
        margin-top: 0;
        text-align: left; }
      .register form .form_body li input[type="text"] {
        width: 390px; } }

.note {
  position: relative;
  margin-bottom: 1em; }
  .note .note_message {
    background-color: #fff;
    margin: 20px;
    padding: 20px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px; }
    .note .note_message ul {
      list-style-type: none;
      padding: 0;
      margin: 0; }
      .note .note_message ul li {
        background: url(../images/dot.png) 0 4px no-repeat transparent;
        background-size: 15px;
        padding-left: 18px;
        color: #333;
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 0.5em; }
        @media screen and (min-width: 60em) {
          .note .note_message ul li {
            font-size: 18px;
            background-size: 21px;
            background-position: 0 3px;
            padding-left: 25px; } }
        .note .note_message ul li em {
          font-style: normal;
          font-weight: bold;
          color: #ff3b96; }
    .note .note_message.list_image ul li {
      background: none;
      padding-left: 0; }
  .note .popup {
    display: block;
    padding-bottom: 1em;
    text-align: center; }
    .note .popup img {
      width: 58.75%; }

#lean_overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #000;
  display: none; }

#popup {
  background: none repeat scroll 0 0 #fff;
  display: none;
  padding: 20px;
  max-width: 620px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }
  #popup .close {
    position: absolute;
    font-size: 20px;
    color: #aaa;
    top: 5px;
    right: 10px;
    cursor: pointer; }

.app_info {
  margin: 0 20px 1.5em;
  border: 2px solid #999;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  padding: 12px; }
  .app_info::after {
    clear: both;
    content: "";
    display: table; }
  .app_info figure {
    float: left;
    padding: 0;
    margin: 0;
    margin-bottom: 20px;
    text-align: center;
    display: block; }
    .app_info figure img {
      width: 90px;
      height: 90px; }
  .app_info .info_desc {
    list-style-type: none;
    padding: 0;
    margin: 0;
    margin-left: 110px; }
    .app_info .info_desc li {
      font-size: 14px;
      margin-bottom: .4em; }
      .app_info .info_desc li strong {
        margin-right: .8em; }
  .app_info .store {
    display: table;
    clear: both;
    list-style-type: none;
    padding: 0;
    margin: 0 auto;
    margin-top: 15px;
    text-align: center; }
    .app_info .store li {
      display: table-cell;
      padding: 5px; }
      .app_info .store li img {
        width: 100%; }
  @media screen and (min-width: 50em) {
    .app_info::after {
      clear: both;
      content: "";
      display: table; }
    .app_info figure {
      float: left;
      padding: 0;
      margin: 0;
      margin-right: 20px;
      display: inline;
      text-align: left; }
      .app_info figure img {
        width: 129px;
        height: 129px; }
    .app_info .info_desc {
      margin-left: 145px; }
      .app_info .info_desc li {
        font-size: 16px; }
    .app_info .store li {
      display: inline-block;
      margin: 5px; }
      .app_info .store li img {
        width: 170px; } }



.boat_banner {
  text-align: center;
  margin-bottom: 1.5em; }

footer {
  border-top: 2px solid #333;
  padding: 20px 10px; }
  footer aside {
    margin-bottom: 1em; }
    footer aside .logo {
      text-align: center; }
      footer aside .logo img {
        width: 211px; }
  footer .apps ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center; }
    footer .apps ul::after {
      clear: both;
      content: "";
      display: table; }
    footer .apps ul li {
      float: left;
      text-align: center;
      margin: 0 4px;
      line-height: 1.2em;
      margin-bottom: .5em;
      width: 100px;
      min-height: 155px;
      vertical-align: top; }
      footer .apps ul li a {
        font-size: 13px;
        color: #666; }
        footer .apps ul li a img {
          height: 105px;
          width: 105px; }
  footer address {
    font-size: 13px;
    text-align: center;
    margin-top: 1em;
    font-style: normal;
    color: #999; }
  @media screen and (min-width: 50em) {
    footer {
      padding: 20px; }
      footer aside {
        margin-bottom: 0;
        float: left; }
        footer aside .logo {
          text-align: left; }
      footer .apps {
        margin-left: 231px; }
        footer .apps ul li {
          width: 110px; } }
