@charset "UTF-8";
/* This css is compiled from scss */
/*! This is based on normalize.css v3.0.2 | MIT License | git.io/normalize */
/* [contents]
/*----------------------------------*/
/* introduction
/*----------------------------------*/
/* normalize
/*----------------------------------*/
/* 便宜上の設定
/*----------------------------------*/
/**/
/* introduction
/*----------------------------------*/
/**
 * base.cssとして使用する場合は３章の「便宜上の設定」を一度確認すべきでしょう。
 * ノーマライズが目的であれば２章の「normalize」だけでを使用してください。
 * Please search with "wws"
 * to find css added by Wild Web Service.
 */
/* normalize
/*----------------------------------*/
/**
 * 1. フォントの設定をする。
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 *    text-size-adjustは「none」を使わずに「100%」を使う。
 */
html {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "KozGoStd-Light", "KozGoStd-Regular", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  /* wws */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * 1. 一部のブラウザに対するバグ対策
 * 2. Remove default margin.
 */
body {
  max-width: 100%;
  /* wws */
  margin: 0; }

/**
 * 文字サイズの設定が効かなくなる、またはおかしくなるバグの対策
 * 文字が含まれるボックスにmax-hight:100%を適用することで回避できる
 */
/* HTML5 display definitions
   ========================================================================== */
/**
 * 1. Correct `block` display not defined for any HTML5 element in IE 8/9.
 *    Correct `block` display not defined for `details` or `summary` in IE 10/11
 *    and Firefox.
 *    Correct `block` display not defined for `main` in IE 11.
 * 2. 文字サイズの設定が効かなくなる、またはおかしくなるバグの対策
 *    文字が含まれるボックスにmax-hight:100%を適用することで回避できる。
 */
div,
p,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
  /* 1 */
  /* max-height: 100%; /* 2 */
  /* wws */ }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  max-width: 100% !important;
  /* wws */
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*
 * Copyright (c) 2013-2014 ZURB, inc.
* MIT License
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* 便宜上の設定
/*----------------------------------*/
* {
  box-sizing: border-box; }

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0; }

body {
  min-width: 100%; }

table {
  table-layout: fixed;
  width: 100%; }

p {
  margin: 0;
  padding: 0; }

#wrapper {
  max-width: 100%;
  overflow: hidden; }

/**
 * spとpcでフォントサイズを２段階で変更
 */
/**
/* [contents]
/*----------------------------------*/
/* table
/*----------------------------------*/
/* button
/*----------------------------------*/
/* adminToolbar
/*----------------------------------*/
/* simpleModal
/*----------------------------------*/
/* tab field
/*----------------------------------*/
/* animation
/*----------------------------------*/
/* 
/*----------------------------------*/
/* table
/*----------------------------------*/
/* stripe
/*----------------------------------*/
/* simple1
/*----------------------------------*/
/* button
/*----------------------------------*/
/* シンプルな白ボタン */
button.white {
  display: inline-block;
  padding: 1% 4%;
  border: solid 1px #aaa;
  border-radius: 5px;
  box-shadow: 2px 2px 0 0 #ccc;
  background: #F7F7F7;
  color: #4D73AA; }

button.white:hover {
  background: #4D73AA;
  color: #f7f7f7; }

/* ホバーで縦に背景色を変更 */
button.spreadLengthwise {
  display: inline-block;
  position: relative;
  z-index: 2;
  background-color: #f39c12;
  border: 2px solid #f39c12;
  color: #fff;
  line-height: 50px;
  -webkit-transition: all .3s;
  transition: all .3s; }

button.spreadLengthwise:hover {
  background-color: #fff;
  border-color: #f39c12;
  color: #f39c12; }

button.spreadLengthwise::before,
button.spreadLengthwise::after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  left: 0;
  z-index: -1;
  background-color: #f39c12;
  -webkit-transition: all .3s;
  transition: all .3s; }

button.spreadLengthwise::before {
  top: 0; }

button.spreadLengthwise::after {
  bottom: 0; }

button.spreadLengthwise:hover::before,
button.spreadLengthwise:hover::after {
  height: 0;
  background-color: #f39c12; }

/* adminToolbar
/*----------------------------------*/
	/**
     * コントロールパネルなどで使用するツールバーの仕様をまとめています。
     * 
     * JSのライブラリ中にある「adminToolbar」と連動しています。
     * elemntテンプレート中の「General」にある「adminToolbar」と連動しています。
     */
nav#admin-toolbar {
  width: 100vw;
  height: auto;
  position: relative;
  z-index: 100;
  background: #00a0e9;
  color: #fff; }
  nav#admin-toolbar.sticky {
    position: fixed;
    top: 0;
    left: 0; }
  nav#admin-toolbar > .inner {
    display: flex;
    justify-content: space-between;
    padding: 0 2%; }
  nav#admin-toolbar ul.primary {
    display: flex;
    margin: 0;
    padding: 0;
    width: 70%;
    cursor: pointer; }
    nav#admin-toolbar ul.primary > li {
      position: relative;
      white-space: nowrap; }
      nav#admin-toolbar ul.primary > li > a {
        display: block;
        text-decoration: none;
        white-space: nowrap;
        font-size: 110%;
        color: #fff; }
        nav#admin-toolbar ul.primary > li > a:hover {
          color: #f1e725; }
      nav#admin-toolbar ul.primary > li .pad {
        padding: 0.8vw; }
  nav#admin-toolbar ul.secondary {
    display: none;
    width: 20vw;
    position: absolute;
    z-index: 200;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    border: solid 2px #ccc;
    background: #fff; }
    nav#admin-toolbar ul.secondary > li {
      width: auto; }
      nav#admin-toolbar ul.secondary > li > a {
        display: block;
        width: auto;
        padding: 3% 10%;
        color: #00a0e9;
        text-decoration: none; }
        nav#admin-toolbar ul.secondary > li > a:hover {
          font-weight: bold;
          color: #e89315;
          background: #f3f3f3; }

/* simpleModal
/*----------------------------------*/
/**
 * 基本的なモーダルの機能をまとめています。
 * モーダルとして機能する要素に「modal」クラスを設定し
 * 直下に「inner」クラスを設定した要素を設置してください。
 * 
 * JSのライブラリ中にある「simpleModal」と連動しています。
 */
.noscroll {
  position: fixed; }

.modal {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.5); }

.modal .inner {
  width: 80%;
  height: 96%;
  margin: 0 auto;
  padding: 5%;
  position: relative;
  top: 50%;
  border: solid 2px var(--c_sub);
  transform: translateY(-50%);
  overflow-y: scroll;
  background: #fff; }

/* tab field
/*----------------------------------*/
.tabSelector {
  display: flex;
  position: relative;
  margin: 0;
  padding: 0 11px;
  overflow: hidden; }

.tabSelector::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 5;
  border-bottom: solid 3px #aaa; }

.tabSelector > li {
  flex-grow: 1;
  position: relative;
  z-index: 1;
  padding: 1% 0;
  transform: translateY(3%);
  -ms-transform: translateY(3%);
  -moz-transform: translateY(3%);
  -webkit-transform: translateY(3%);
  border: solid 1px #aaa;
  border-bottom: none;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  text-align: center;
  background: linear-gradient(top, #ECECEC 50%, #D1D1D1 95%);
  background: -ms-linear-gradient(top, #ECECEC 50%, #D1D1D1 95%);
  background: -moz-linear-gradient(top, #ECECEC 50%, #D1D1D1 95%);
  background: -webkit-linear-gradient(top, #ECECEC 50%, #D1D1D1 95%);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.4), inset 0 1px 0 #FFF;
  text-shadow: 0 1px #FFF; }

.tabSelector > li:nth-of-type(n+2) {
  margin-left: -11px; }

.tabSelector > li::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 0;
  left: -11px;
  border: solid 1px #aaa;
  border-width: 0 1px 1px 0;
  border-bottom-right-radius: 10px;
  box-shadow: 5px 6px 0px 4px #D1D1D1; }

.tabSelector > li::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 0;
  right: -11px;
  border: solid 1px #aaa;
  border-width: 0 0 1px 1px;
  border-bottom-left-radius: 10px;
  box-shadow: -5px 6px 0px 4px #D1D1D1; }

.tabSelector > li.current {
  background: #fff;
  z-index: 10; }

.tabSelector > li.current::before {
  box-shadow: 5px 6px 0px 4px #fff; }

.tabSelector > li.current::after {
  box-shadow: -5px 6px 0px 4px #fff; }

/* animation
/*----------------------------------*/
.anime_spin {
  animation: spin 3s linear 0s infinite;
  -webkit-animation: spin 3s linear 0s infinite; }

@keyframes spin {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(720deg); } }
@-webkit-keyframes spin {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(720deg); } }
.anime_yuragi {
  animation: yuragi 8s linear 0s infinite normal;
  -webkit-animation: yuragi 8s linear 0s infinite normal; }

@-webkit-keyframes yuragi {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }
@keyframes yuragi {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }
.anime_yuragi_slow {
  animation: yuragi_slow 15s linear 0s infinite normal;
  -webkit-animation: yuragi_slow 15s linear 0s infinite normal; }

@-webkit-keyframes yuragi_slow {
  0% {
    transform: scale(1); }
  45% {
    transform: scale(1.1); }
  50% {
    transform: scale(1.1); }
  95% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
@keyframes yuragi_slow {
  0% {
    transform: scale(1); }
  45% {
    transform: scale(1.1); }
  50% {
    transform: scale(1.1); }
  95% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
/* [contents] font.scss
/*----------------------------------*/
/* 
/*----------------------------------*/
/* 
/*----------------------------------*/
/* 
/*----------------------------------*/
/* 
/*----------------------------------*/
/**/
/* icomoon
/*----------------------------------*/
@font-face {
  font-family: 'icomoon';
  src: url("../font/icomoon/font/icomoon.eot?7gtcca");
  src: url("../font/icomoon/fonts/icomoon.eot?7gtcca#iefix") format("embedded-opentype"), url("../font/icomoon/fonts/icomoon.ttf?7gtcca") format("truetype"), url("../font/icomoon/fonts/icomoon.woff?7gtcca") format("woff"), url("../font/icomoon/fonts/icomoon.svg?7gtcca#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }
/* 

    medium
    @font-face {
        font-family: 'myfont';
        src: url('fonts/myfont-medium.woff') format('woff'),
                 url('fonts/myfont-medium.ttf') format('truetype');
        font-weight: 500;
        font-style: normal;
    }
    light
    @font-face {
        font-family: 'myfont';
        src: url('fonts/myfont-light.woff') format('woff'),
                 url('fonts/myfont-light.ttf') format('truetype');
        font-weight: 300;
        font-style: normal;
    }
    bold-italic
    @font-face {
        font-family: 'myfont';
        src: url('fonts/myfont-bold-italic.woff') format('woff'),
                 url('fonts/myfont-bold-italic.ttf') format('truetype');
        font-weight: 700;
        font-style: italic;
    }
    
/**/
/* common
/*----------------------------------*/
/* loading
/*----------------------------------*/
/* dialog alert
/*----------------------------------*/
/* form
/*----------------------------------*/
/*
/*----------------------------------*/
/*
/*----------------------------------*/
/* common
/*----------------------------------*/
:root {
  font-size: 14px;
  color: #4d4d4d; }

#main {
  max-width: 840px;
  margin: auto;
  margin-top: 52px; }

.btn-primary {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  text-decoration: none;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  max-width: 100%;
  width: 80vw;
  background: #00a0e9;
  color: #fff;
  padding: .65em 1em;
  border-radius: 10px; }
  .btn-primary input {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }

.btn-secondary {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  text-decoration: none;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  max-width: 100%;
  width: 80vw;
  background: #fff;
  color: #00a0e9;
  border: solid 2px #00a0e9;
  padding: .65em 1em;
  border-radius: 10px; }
  .btn-secondary input {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }

a {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  text-decoration: none;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #00a0e9;
  font-weight: bold; }
  a input {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }

/* header
/*----------------------------------*/
#header {
  width: 100%;
  height: 52px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  border-bottom: solid 1px #00a0e9;
  background: #fff; }
  #header > .inner {
    height: 100%;
    padding: 10px 0; }
  #header .logo {
    max-width: 180px;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    margin: auto; }
    #header .logo img {
      display: block; }
  #header .user-icon {
    width: 2.8em;
    height: 2.8em;
    position: absolute;
    top: 50%;
    right: 1vw;
    transform: translateY(-50%); }
    #header .user-icon .circle {
      width: 100%;
      height: 100%;
      border-radius: 999px;
      overflow: hidden;
      border: solid 2px #aaa;
      background-size: cover;
      background-position: center; }
      #header .user-icon .circle img {
        display: block;
        height: 110%;
        max-width: none;
        width: auto;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
    #header .user-icon .user-menu {
      position: absolute;
      top: 100%;
      right: 0;
      min-width: 10em;
      border: solid 1px #aaa;
      background: #fff; }
      #header .user-icon .user-menu .menu-list li {
        padding: .8em 1em;
        cursor: pointer;
        white-space: nowrap; }
        #header .user-icon .user-menu .menu-list li:nth-child(n+2) {
          border-top: solid 1px #aaa; }
        #header .user-icon .user-menu .menu-list li:hover {
          background: #ececec; }
  #header .back-button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 4em;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0; }
    #header .back-button input {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    #header .back-button .label {
      display: none; }
    #header .back-button::before {
      content: "\ea44";
      font-size: 2em;
      font-family: icomoon;
      color: #aaa; }
  #header .signin-button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: absolute;
    top: 50%;
    right: 1vw;
    transform: translateY(-50%);
    padding: .6em .5em;
    border: solid 1px #ccc;
    border-radius: 5px;
    color: #4d4d4d;
    font-size: .7rem; }
    #header .signin-button input {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }

/* loading
/*----------------------------------*/
#loading-screen {
  height: 100vh;
  height: -webkit-fill-available;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.85); }
  #loading-screen > .inner {
    width: 100%;
    height: 100%; }
  #loading-screen .loading-icon {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
    #loading-screen .loading-icon .icon {
      width: 40px;
      margin: auto;
      animation: rotate 1s linear 0s infinite normal; }
      #loading-screen .loading-icon .icon > img {
        display: block; }
    #loading-screen .loading-icon .text {
      margin: 1em auto 0;
      width: 80px; }
      #loading-screen .loading-icon .text > img {
        display: block; }

@keyframes rotate {
  0% {
    transform: scale(1) rotate(0deg); }
  50% {
    transform: scale(1.2) rotate(180deg); }
  100% {
    transform: scale(1) rotate(360deg); } }
/* dialog alert
/*----------------------------------*/
#dialog, #alert {
  height: 100vh;
  height: -webkit-fill-available;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  padding: 1em;
  background: rgba(0, 0, 0, 0.4); }
  #dialog > .inner, #alert > .inner {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 420px;
    padding: 1em;
    background: #fff;
    border: solid 2px #00a0e9; }
  #dialog .body, #alert .body {
    border-bottom: solid 1px #ccc;
    padding: 1.5em 0; }
  #dialog .footer, #alert .footer {
    text-align: center;
    padding: 1em 0; }
    #dialog .footer button, #alert .footer button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      border-radius: 10px;
      padding: .3em 2em;
      font-size: 110%; }
      #dialog .footer button input, #alert .footer button input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }

#dialog button.close {
  background: #aaa;
  color: #fff; }
#dialog button.aplly {
  margin-left: .6em;
  background: #00a0e9;
  color: #fff; }

#alert button.close {
  margin-left: .6em;
  background: #00a0e9;
  color: #fff; }

/* form
/*----------------------------------*/
form.general {
  padding: 2%; }
  form.general .form-row {
    margin: 2% 0;
    padding: 2%; }
    form.general .form-row .error {
      color: red; }
    form.general .form-row > label {
      font-weight: bold; }
    form.general .form-row .checkbox {
      text-align: center; }
      form.general .form-row .checkbox input[type=checkbox] {
        width: 2em;
        height: 2em;
        border: solid 2px #ccc;
        vertical-align: middle; }
      form.general .form-row .checkbox > label {
        display: inline-block;
        margin-left: .8em;
        vertical-align: middle; }
    form.general .form-row input[type=text], form.general .form-row input[type=password] {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      height: 40px;
      padding: .4em;
      background: #ececec;
      border-bottom: solid 1px #00a0e9; }
      form.general .form-row input[type=text] input, form.general .form-row input[type=password] input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
    form.general .form-row textarea {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      height: 10em;
      padding: .4em;
      background: #ececec; }
      form.general .form-row textarea input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
    form.general .form-row button {
      display: block;
      margin: 2% auto; }
  form.general .fishing-place .before-located {
    padding: 15% 0;
    background: #ccc;
    text-align: center; }
  form.general .fishing-place #preview-map {
    height: 200px;
    width: 100%; }

/* [contents]
/*----------------------------------*/
/* common
/*----------------------------------*/
/* header
/*----------------------------------*/
/* index
/*----------------------------------*/
/* map view
/*----------------------------------*/
/* contribution create
/*----------------------------------*/
/* contribution view
/*----------------------------------*/
/* user-sign-in
/*----------------------------------*/
/* user-sign-up
/*----------------------------------*/
/* user-edit
/*----------------------------------*/
/*
/*----------------------------------*/
/*
/*----------------------------------*/
/*
/*----------------------------------*/
/**/
/* footer
/*----------------------------------*/
#footer {
  background: #00a0e9;
  color: #fff;
  text-align: center; }
  #footer > .inner {
    padding: .2em 0; }

/* index
/*----------------------------------*/
#mv {
  max-width: 100vw;
  height: 380px;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 661px) {
    #mv {
      height: 580px; } }
  #mv .bg {
    height: 100%;
    position: absolute;
    left: 50%;
    z-index: -15;
    transform: translateX(-50%); }
    #mv .bg .wrapper {
      height: 100%;
      animation: yuragi_slow 15s linear 0s infinite normal;
      -webkit-animation: yuragi_slow 15s linear 0s infinite normal; }
      #mv .bg .wrapper img {
        display: block;
        height: 100%;
        max-width: none !important;
        width: auto; }
  #mv .substance {
    width: 100%;
    position: relative;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%); }
    #mv .substance .title {
      margin: 0;
      color: #fff;
      text-shadow: 0 0 10px #000;
      font-weight: normal;
      text-align: center; }
      #mv .substance .title span {
        display: block;
        font-size: 7vw; }
        @media screen and (min-width: 661px) {
          #mv .substance .title span {
            font-size: 54px; } }
      #mv .substance .title small {
        display: block;
        font-size: 4.8vw; }
        @media screen and (min-width: 661px) {
          #mv .substance .title small {
            font-size: 28px; } }
    #mv .substance .control {
      margin-top: 3vw;
      padding: 0 3vw; }
      #mv .substance .control .search {
        display: flex; }
        #mv .substance .control .search .input {
          flex: 0 0 80%;
          padding-left: .8em;
          border: solid 1px #00a0e9;
          font-size: 1em; }
        #mv .substance .control .search .submit {
          flex: 0 0 20%;
          border: solid 1px #00a0e9;
          border-left: none;
          background: rgba(0, 0, 0, 0.65); }
          #mv .substance .control .search .submit .label {
            display: none; }
          #mv .substance .control .search .submit::before {
            font-family: icomoon;
            content: "\e986";
            font-size: 20px;
            color: #00a0e9; }
        #mv .substance .control .search > * {
          display: block;
          height: 42px; }
      #mv .substance .control .current-location {
        margin-top: 4%;
        text-align: center; }
        #mv .substance .control .current-location button {
          margin: 0;
          padding: 0;
          background: none;
          border: none;
          border-radius: 0;
          outline: none;
          text-decoration: none;
          color: inherit;
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          padding: .4em 1em;
          border: solid 1px #fff;
          border-radius: 20px;
          font-weight: normal;
          font-size: 1em;
          background: rgba(255, 173, 1, 0.75);
          color: #fff; }
          #mv .substance .control .current-location button input {
            margin: 0;
            padding: 0;
            background: none;
            border: none;
            border-radius: 0;
            outline: none;
            text-decoration: none;
            color: inherit;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none; }
          #mv .substance .control .current-location button .icon::before {
            content: "\e9b3";
            display: inline-block;
            margin-right: .3em;
            font-family: icomoon;
            font-style: normal; }
          #mv .substance .control .current-location button > * {
            vertical-align: middle; }

#index #sect-1 {
  text-align: center;
  background: #F9F9FB; }
  #index #sect-1 h2 {
    color: #00a0e9; }
  #index #sect-1 .row {
    padding: 2%; }
    #index #sect-1 .row .image img {
      width: 80px; }
    #index #sect-1 .row .title {
      margin: .4em 0 1.2em; }
    #index #sect-1 .row .desctiption {
      font-size: 85%; }
#index #tmp-message {
  background: #F9F9FB;
  padding: 4%; }
  #index #tmp-message > .inner {
    padding: 1em;
    text-align: center;
    font-size: 85%;
    border: solid 1px #aaa;
    background: #fff;
    color: #00a0e9; }

@-webkit-keyframes yuragi_slow {
  0% {
    transform: scale(1); }
  45% {
    transform: scale(1.2); }
  50% {
    transform: scale(1.2); }
  95% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
@keyframes yuragi_slow {
  0% {
    transform: scale(1); }
  45% {
    transform: scale(1.2); }
  50% {
    transform: scale(1.2); }
  95% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
@keyframes yuragi {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }
@keyframes yuragi_slow_aug {
  0% {
    transform: scale(1); }
  45% {
    transform: scale(1.3); }
  50% {
    transform: scale(1.3); }
  95% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
@keyframes fade_in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes rotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/* map view
/*----------------------------------*/
#map-view #map {
  height: 100vh;
  height: -webkit-fill-available;
  width: 100vw;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: -1; }
  #map-view #map .top-control {
    width: 100%;
    position: absolute;
    top: 52px;
    left: 0;
    z-index: 100; }
    #map-view #map .top-control .search {
      display: flex;
      max-width: 480px;
      width: 96%;
      position: absolute;
      top: 2vw;
      left: 50%;
      z-index: 100;
      transform: translateX(-50%); }
      #map-view #map .top-control .search .input {
        flex: 1 1 85%;
        padding-left: .8em;
        border: solid 1px #00a0e9;
        font-size: 1em; }
      #map-view #map .top-control .search .submit {
        display: none;
        flex: 0 0 15%;
        border: solid 1px #00a0e9;
        border-left: none;
        background: #00a0e9; }
        #map-view #map .top-control .search .submit .label {
          display: none; }
        #map-view #map .top-control .search .submit::before {
          font-family: icomoon;
          content: "\e986";
          font-size: 20px;
          color: #fff; }
      #map-view #map .top-control .search > * {
        display: block;
        height: 42px; }
  #map-view #map .bottom-control {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0; }
    #map-view #map .bottom-control .buttons > button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      position: absolute;
      border-radius: 100px;
      text-align: center;
      font-size: 12px;
      box-shadow: 2px 2px 8px 0px rgba(100, 100, 100, 0.6); }
      #map-view #map .bottom-control .buttons > button input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
      @media screen and (min-width: 661px) {
        #map-view #map .bottom-control .buttons > button {
          font-size: 16px; } }
    #map-view #map .bottom-control .buttons .save-spot {
      width: 16.4vw;
      height: 16.4vw;
      top: 0;
      right: 3vw;
      transform: translateY(-360%);
      background: #fff;
      color: #00a0e9; }
      @media screen and (min-width: 661px) {
        #map-view #map .bottom-control .buttons .save-spot {
          width: 80px;
          height: 80px;
          position: fixed;
          top: auto;
          bottom: 4%;
          transform: translateY(-240%); } }
      #map-view #map .bottom-control .buttons .save-spot span {
        display: block;
        font-size: 70%; }
      #map-view #map .bottom-control .buttons .save-spot::before {
        content: "\e936";
        display: block;
        margin-bottom: .15em;
        font-family: icomoon;
        font-size: 180%; }
    #map-view #map .bottom-control .buttons .current {
      width: 16.4vw;
      height: 16.4vw;
      top: 0;
      right: 3vw;
      transform: translateY(-220%);
      background: #fff;
      color: #00a0e9; }
      @media screen and (min-width: 661px) {
        #map-view #map .bottom-control .buttons .current {
          width: 80px;
          height: 80px;
          position: fixed;
          top: auto;
          bottom: 4%;
          transform: translateY(-120%); } }
      #map-view #map .bottom-control .buttons .current span {
        display: block; }
      #map-view #map .bottom-control .buttons .current::before {
        content: "\e947";
        display: block;
        margin-bottom: .15em;
        font-family: icomoon;
        font-size: 230%; }
    #map-view #map .bottom-control .buttons .contribute {
      width: 15vw;
      height: 15vw;
      top: 0;
      right: 3vw;
      transform: translateY(-100%);
      background: #00a0e9;
      color: #fff; }
      @media screen and (min-width: 661px) {
        #map-view #map .bottom-control .buttons .contribute {
          width: 80px;
          height: 80px;
          position: fixed;
          top: auto;
          bottom: 4%;
          transform: translateY(0%); } }
      #map-view #map .bottom-control .buttons .contribute span {
        display: block;
        font-size: 90%; }
      #map-view #map .bottom-control .buttons .contribute::before {
        content: "\e9cc";
        display: block;
        margin-bottom: .55em;
        font-family: icomoon;
        color: #fff;
        font-size: 125%; }
    #map-view #map .bottom-control .buttons .progress {
      width: 15vw;
      height: 15vw;
      top: 0;
      right: 3vw;
      transform: translateY(-100%);
      background: #00a0e9;
      color: #fff; }
      @media screen and (min-width: 661px) {
        #map-view #map .bottom-control .buttons .progress {
          width: 80px;
          height: 80px;
          position: fixed;
          top: auto;
          bottom: 4%;
          transform: translateY(0%); } }
      #map-view #map .bottom-control .buttons .progress small {
        font-size: 70%; }
      #map-view #map .bottom-control .buttons .progress span {
        display: block;
        font-size: 90%; }
      #map-view #map .bottom-control .buttons .progress::before {
        content: "\e982";
        display: block;
        margin-bottom: .05em;
        font-family: icomoon;
        color: #fff;
        font-size: 125%;
        animation: rotate 2s linear 0s infinite normal; }
    #map-view #map .bottom-control .buttons .area-search {
      width: 14em;
      bottom: calc(100% + .3em);
      left: 0;
      right: 0;
      margin: auto;
      padding: .55em 0;
      background: #00a0e9;
      color: #fff; }
    #map-view #map .bottom-control .contribution-card {
      max-width: 420px;
      margin: auto;
      padding: .65em; }
      #map-view #map .bottom-control .contribution-card > .inner {
        display: flex;
        border: solid 1px #00a0e9;
        border-radius: 10px;
        background: #fff;
        overflow: hidden; }
        #map-view #map .bottom-control .contribution-card > .inner .media {
          flex: 0 0 28%;
          height: 5em;
          position: relative;
          z-index: 1;
          background: #ccc;
          border-top-left-radius: 10px;
          border-bottom-left-radius: 10px;
          overflow: hidden; }
          #map-view #map .bottom-control .contribution-card > .inner .media video {
            max-width: 100%;
            max-height: 100%;
            transform: scale(1.5);
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px; }
          #map-view #map .bottom-control .contribution-card > .inner .media figure {
            height: 100%;
            margin: 0;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat; }
            #map-view #map .bottom-control .contribution-card > .inner .media figure img {
              display: none; }
        #map-view #map .bottom-control .contribution-card > .inner .text {
          flex: 1 1 72%;
          margin-left: .5em; }
        #map-view #map .bottom-control .contribution-card > .inner .default-message {
          padding: .2em .4em; }

/* contribution create
/*----------------------------------*/
#contribution-create #contribution-form .form-row {
  margin: 2% 0;
  padding: 2%; }
  #contribution-create #contribution-form .form-row .error {
    color: red; }
  #contribution-create #contribution-form .form-row label {
    font-weight: bold; }
  #contribution-create #contribution-form .form-row input[type=text] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 40px;
    padding: .4em;
    background: #ececec;
    border-bottom: solid 1px #00a0e9; }
    #contribution-create #contribution-form .form-row input[type=text] input {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
  #contribution-create #contribution-form .form-row textarea {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 10em;
    padding: .4em;
    background: #ececec; }
    #contribution-create #contribution-form .form-row textarea input {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
  #contribution-create #contribution-form .form-row button {
    display: block;
    margin: 2% auto; }
  #contribution-create #contribution-form .form-row .react-datepicker-wrapper {
    width: 100% !important; }
#contribution-create #contribution-form .fishing-place .before-located {
  padding: 15% 0;
  background: #ccc;
  text-align: center; }
#contribution-create #contribution-form .fishing-place #preview-map {
  height: 200px;
  width: 100%; }
#contribution-create #contribution-form .buttons {
  margin-top: 1em;
  text-align: center; }
#contribution-create #contribution-form .thumbnails .img-list {
  display: flex;
  padding: 1em 0; }
  #contribution-create #contribution-form .thumbnails .img-list li.item {
    position: relative;
    width: 5em;
    height: 5em;
    padding: .1em;
    border: solid 2px #aaa;
    margin-right: .5em;
    overflow: hidden; }
    #contribution-create #contribution-form .thumbnails .img-list li.item img, #contribution-create #contribution-form .thumbnails .img-list li.item video {
      display: block;
      max-width: none !important;
      width: auto;
      height: 100%;
      position: relative;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  #contribution-create #contribution-form .thumbnails .img-list li.add-item {
    width: 5em;
    height: 5em;
    border: solid 2px #aaa; }
    #contribution-create #contribution-form .thumbnails .img-list li.add-item button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      height: 100%;
      width: 100%; }
      #contribution-create #contribution-form .thumbnails .img-list li.add-item button input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
      #contribution-create #contribution-form .thumbnails .img-list li.add-item button::before {
        content: "+";
        display: block;
        font-family: icomoon;
        text-align: center;
        font-size: 2.5em;
        color: #aaa; }
      #contribution-create #contribution-form .thumbnails .img-list li.add-item button .label {
        display: none; }
#contribution-create #contribution-form .tide-info {
  padding: 0 2em; }
  #contribution-create #contribution-form .tide-info table {
    margin: 2em 0; }
    #contribution-create #contribution-form .tide-info table tr {
      border-top: solid 1px #4d4d4d; }
      #contribution-create #contribution-form .tide-info table tr:last-child {
        border-bottom: solid 1px #4d4d4d; }
    #contribution-create #contribution-form .tide-info table th {
      padding: .4em 0; }
    #contribution-create #contribution-form .tide-info table td {
      padding: .4em 0; }

/* contribution view
/*----------------------------------*/
#contribution-view {
  padding-bottom: 100px; }
  #contribution-view .pictures .media video {
    max-width: 100%; }
  #contribution-view .pictures .media figure {
    margin: 0; }
  #contribution-view ul.img-list {
    display: flex;
    width: 100vw;
    height: 65vw;
    overflow: scroll hidden; }
    @media screen and (min-width: 661px) {
      #contribution-view ul.img-list {
        width: 100%;
        height: 546px; } }
    #contribution-view ul.img-list li {
      flex: 0 0 100%;
      width: 100%;
      height: 100%;
      position: relative; }
      #contribution-view ul.img-list li img {
        display: block;
        max-width: none;
        height: 125%;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      #contribution-view ul.img-list li video {
        display: block;
        max-width: 100%;
        height: 100%;
        position: relative;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
  #contribution-view .edit {
    margin-top: 4%;
    padding: 0 1em;
    text-align: right; }
    #contribution-view .edit .edit-button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      padding: .3em 1em;
      border: solid 1px #4d4d4d;
      border-radius: 5px;
      color: #4d4d4d; }
      #contribution-view .edit .edit-button input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
  #contribution-view #headline {
    padding: 3%; }
    #contribution-view #headline > .inner::after {
      content: "";
      display: block;
      width: 100%;
      margin-top: 3%;
      border-bottom: solid 1px #555; }
    #contribution-view #headline .title {
      margin: 0;
      margin-top: .5em;
      font-size: 1.32em;
      font-weight: normal; }
    #contribution-view #headline .comment-count {
      margin-top: .4em;
      font-size: 0.7rem; }
  #contribution-view #user-info {
    padding: 3%; }
    #contribution-view #user-info > .inner::after {
      content: "";
      display: block;
      width: 100%;
      margin-top: 3%;
      border-bottom: solid 1px #555; }
    #contribution-view #user-info .title .name {
      display: inline-block;
      font-size: 150%; }
    #contribution-view #user-info .title .suffix {
      display: inline-block;
      margin-left: .5em;
      font-size: 100%; }
    #contribution-view #user-info .desctiption {
      margin-top: .8em;
      font-size: 85%; }
  #contribution-view #content {
    padding: 3%;
    white-space: pre-wrap; }
    #contribution-view #content .body {
      margin-bottom: 10%; }
    #contribution-view #content > .inner::after {
      content: "";
      display: block;
      width: 100%;
      margin-top: 3%;
      border-bottom: solid 1px #555; }
    #contribution-view #content .link {
      padding: 3% 0;
      text-align: center; }
  #contribution-view .tide-info .title {
    margin: 0;
    padding: 3%;
    font-weight: normal; }
  #contribution-view .tide-info table {
    margin: 2em 0; }
    #contribution-view .tide-info table tr {
      border-top: solid 1px #4d4d4d; }
      #contribution-view .tide-info table tr:last-child {
        border-bottom: solid 1px #4d4d4d; }
    #contribution-view .tide-info table th {
      padding: .4em 0; }
    #contribution-view .tide-info table td {
      padding: .4em 0; }
  #contribution-view #tackle-info .title {
    margin: 0;
    padding: 3%;
    font-weight: normal; }
  #contribution-view #tackle-info .pictures .no-image {
    padding: .5em; }
    #contribution-view #tackle-info .pictures .no-image > .inner {
      text-align: center;
      padding: 4em 0;
      background: #aaa;
      color: #fff; }
  #contribution-view #tackle-info .description {
    white-space: pre-wrap;
    margin-top: 3%;
    padding: 3%; }
  #contribution-view #tackle-info .buttons {
    text-align: center; }
  #contribution-view #place-info {
    padding: 3%; }
    #contribution-view #place-info > .inner::after {
      content: "";
      display: block;
      width: 100%;
      margin-top: 3%;
      border-bottom: solid 1px #555; }
    #contribution-view #place-info .title {
      font-weight: normal; }
    #contribution-view #place-info #place-info-map {
      height: 200px;
      width: 100%; }
    #contribution-view #place-info .buttons {
      padding: 5% 0;
      margin-top: 3%;
      text-align: center; }
  #contribution-view #comments {
    padding: 3%;
    padding-bottom: 100px; }
    #contribution-view #comments > .inner::after {
      content: "";
      display: block;
      width: 100%;
      margin-top: 3%;
      border-bottom: solid 1px #555; }
    #contribution-view #comments .title {
      margin: 0;
      font-weight: normal; }
    #contribution-view #comments .comment-list {
      padding: 1em; }
      #contribution-view #comments .comment-list .row:nth-child(n+2) {
        margin-top: 2em; }
      #contribution-view #comments .comment-list .row .head {
        display: flex; }
        #contribution-view #comments .comment-list .row .head .thumb {
          width: 2.8em;
          height: 2.8em;
          border-radius: 999px;
          border: solid 2px #aaa;
          margin-right: 1em;
          background-size: cover;
          background-position: center; }
        #contribution-view #comments .comment-list .row .head .user-name {
          font-size: 110%; }
      #contribution-view #comments .comment-list .row .body {
        margin-top: 1em; }
        #contribution-view #comments .comment-list .row .body .content {
          white-space: pre-wrap; }
  #contribution-view .bottom-control {
    width: 100vw;
    position: fixed;
    bottom: 3vw;
    left: 0; }
    #contribution-view .bottom-control .buttons > button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 16.4vw;
      height: 16.4vw;
      position: absolute;
      border-radius: 100px;
      text-align: center;
      font-size: 12px;
      box-shadow: 2px 2px 8px 0px rgba(100, 100, 100, 0.6); }
      #contribution-view .bottom-control .buttons > button input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
      @media screen and (min-width: 661px) {
        #contribution-view .bottom-control .buttons > button {
          width: 80px;
          height: 80px;
          font-size: 16px; } }
    #contribution-view .bottom-control .buttons .comment {
      top: 0;
      right: 3vw;
      transform: translate(-110%, -100%);
      background: #ffad01;
      color: #fff; }
      #contribution-view .bottom-control .buttons .comment span {
        display: block; }
      #contribution-view .bottom-control .buttons .comment::before {
        content: "\e970";
        display: block;
        margin-bottom: .15em;
        font-family: icomoon;
        color: #fff;
        font-size: 200%; }
    #contribution-view .bottom-control .buttons .contribute {
      top: 0;
      right: 3vw;
      transform: translateY(-100%);
      background: #00a0e9;
      color: #fff; }
      #contribution-view .bottom-control .buttons .contribute span {
        display: block;
        font-size: 90%; }
      #contribution-view .bottom-control .buttons .contribute::before {
        content: "\e9cc";
        display: block;
        margin-bottom: .55em;
        font-family: icomoon;
        color: #fff;
        font-size: 125%; }
  #contribution-view #comment-modal {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6); }
    #contribution-view #comment-modal > .inner {
      width: 100%;
      position: absolute;
      bottom: 0;
      border-top: solid 3px #4d4d4d;
      background: #bbb; }
    #contribution-view #comment-modal .comment-form {
      display: flex;
      align-items: flex-end;
      padding: 1em .2em; }
    #contribution-view #comment-modal .close {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 2.65em;
      height: 2.65em;
      transform: translateY(-15%);
      margin-right: .5em;
      font-size: .8em;
      border-radius: 999px;
      background: #4d4d4d;
      color: #fff;
      overflow: hidden; }
      #contribution-view #comment-modal .close input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
      #contribution-view #comment-modal .close::before {
        content: "\ea0f";
        display: block;
        font-family: icomoon; }
      #contribution-view #comment-modal .close .label {
        display: none; }
    #contribution-view #comment-modal .input {
      display: inline-block;
      flex: 1 1;
      padding: .6em;
      border-radius: 15px;
      border: none;
      outline: none; }
    #contribution-view #comment-modal .submit {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      height: 3em;
      margin-left: .5em;
      padding: 0 1.4em;
      border-radius: 5px;
      color: #fff;
      font-size: 85%;
      background: #00a0e9; }
      #contribution-view #comment-modal .submit input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }

/* user-sign-in
/*----------------------------------*/
#user-sign-in h1 {
  text-align: center; }
#user-sign-in .signin-form {
  max-width: 420px;
  margin: auto; }
  #user-sign-in .signin-form .row {
    padding: .8em 2em; }
    #user-sign-in .signin-form .row input {
      width: 100%;
      height: 2.5em;
      padding: .2em .4em; }
  #user-sign-in .signin-form .buttons {
    padding: 1em 2em;
    text-align: center; }
    #user-sign-in .signin-form .buttons button {
      width: 100%;
      height: 3em;
      background: #00a0e9; }
  #user-sign-in .signin-form .sign-up {
    margin-top: 2%;
    text-align: center;
    font-size: 110%; }

/* user-sign-up
/*----------------------------------*/
#user-sign-up #sign-up-form {
  padding: 2%; }
  #user-sign-up #sign-up-form .form-row {
    margin: 2% 0;
    padding: 2%; }
    #user-sign-up #sign-up-form .form-row label {
      font-weight: bold; }
    #user-sign-up #sign-up-form .form-row input[type=text] {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      height: 40px;
      padding: .4em;
      background: #ececec;
      border-bottom: solid 1px #00a0e9; }
      #user-sign-up #sign-up-form .form-row input[type=text] input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
    #user-sign-up #sign-up-form .form-row textarea {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 100%;
      height: 10em;
      padding: .4em;
      background: #ececec; }
      #user-sign-up #sign-up-form .form-row textarea input {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        text-decoration: none;
        color: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }
    #user-sign-up #sign-up-form .form-row button {
      display: block;
      margin: 2% auto; }
  #user-sign-up #sign-up-form .fishing-place .before-located {
    padding: 15% 0;
    background: #ccc;
    text-align: center; }
  #user-sign-up #sign-up-form .fishing-place #preview-map {
    height: 200px;
    width: 100%; }

#sign-up-complete {
  padding: 10% 0;
  text-align: center; }
  #sign-up-complete .buttons {
    margin-top: 5%; }

/* user-edit
/*----------------------------------*/
#user-edit .set-images {
  position: relative;
  margin-bottom: calc( 100px / 2); }
  #user-edit .set-images .cover {
    position: relative;
    height: 150px;
    background-color: #aaa;
    background-position: center;
    background-size: cover; }
  #user-edit .set-images .profile {
    width: 100px;
    height: 100px;
    position: absolute;
    top: 100%;
    left: 5%;
    z-index: 11;
    transform: translateY(-50%);
    border: solid 3px #fff;
    border-radius: 999px;
    background-color: #4d4d4d;
    background-size: cover;
    background-position: center; }
  #user-edit .set-images .edit-button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: transparent;
    font-size: 1.5em;
    color: #fff;
    opacity: .8; }
    #user-edit .set-images .edit-button input {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      text-decoration: none;
      color: inherit;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    #user-edit .set-images .edit-button .label {
      display: none; }
    #user-edit .set-images .edit-button::before {
      content: "\e90e";
      font-family: icomoon; }

/* 
/*----------------------------------*/
/*
/*----------------------------------*/
/*
/*----------------------------------*/
/*
/*----------------------------------*/
/*
/*----------------------------------*/
#pickup-list h2.title {
  margin: .83em 0 0;
  padding: 0 .5em;
  text-align: center;
  font-size: 2rem;
  font-weight: normal; }
#pickup-list figure {
  margin: 0; }
#pickup-list .slider {
  position: relative; }
  #pickup-list .slider .slick-slide:not(.slick-center) .slide-item {
    transform: scale(0.9); }
    #pickup-list .slider .slick-slide:not(.slick-center) .slide-item > .inner::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: 5;
      background: rgba(0, 0, 0, 0.4); }
  #pickup-list .slider .slide-item > .inner {
    margin: 3%;
    position: relative;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    background: #fff;
    overflow: hidden; }
  #pickup-list .slider .slide-item .media {
    height: 150px;
    background: #ccc; }
    #pickup-list .slider .slide-item .media video {
      max-width: 100%;
      max-height: 100%;
      position: relative;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-top-left-radius: 10px;
      border-top-right-radius: 10px; }
    #pickup-list .slider .slide-item .media figure {
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      #pickup-list .slider .slide-item .media figure img {
        display: none; }
  #pickup-list .slider .slide-item .info {
    padding: 2%; }
    #pickup-list .slider .slide-item .info .user {
      display: flex; }
      #pickup-list .slider .slide-item .info .user .thumb {
        width: 3.2em;
        height: 3.2em;
        border-radius: 999px;
        border: solid 2px #aaa;
        margin-right: 1em;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
      #pickup-list .slider .slide-item .info .user .text {
        flex-grow: 1; }
    #pickup-list .slider .slide-item .info .title {
      margin-top: .5em;
      font-size: 120%;
      min-height: 3em; }

#normal-list h2.title {
  margin: .83em 0 .5em;
  padding: 0 .5em;
  text-align: center;
  font-size: 2rem;
  font-weight: normal; }
#normal-list figure {
  margin: 0; }
#normal-list .current-item-list .list-item {
  padding: 2%;
  border-top: solid 1px #aaa; }
  #normal-list .current-item-list .list-item:last-child {
    border-bottom: solid 1px #aaa; }
  #normal-list .current-item-list .list-item > .inner {
    display: flex; }
  #normal-list .current-item-list .list-item .media {
    flex: 0 0 32%;
    height: 100px;
    background: #ccc; }
    #normal-list .current-item-list .list-item .media video {
      max-width: 100%;
      max-height: 100%;
      position: relative;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    #normal-list .current-item-list .list-item .media figure {
      height: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      #normal-list .current-item-list .list-item .media figure img {
        display: none; }
  #normal-list .current-item-list .list-item .info {
    flex: 0 0 68%;
    margin-left: 2%; }
    #normal-list .current-item-list .list-item .info .user {
      display: flex; }
      #normal-list .current-item-list .list-item .info .user .thumb {
        width: 3.2em;
        height: 3.2em;
        border-radius: 999px;
        border: solid 2px #aaa;
        margin-right: 1em;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
      #normal-list .current-item-list .list-item .info .user .text {
        flex-grow: 1; }
    #normal-list .current-item-list .list-item .info .title {
      margin-top: .5em; }

/*# sourceMappingURL=style.css.map */
