@charset "UTF-8";
/*
 * A partial implementation of the Ruby list functions from Compass:
 * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb
 */
/*
 * A partial implementation of the Ruby constants functions from Compass:
 * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb
 */
/*
 * A partial implementation of the Ruby display functions from Compass:
 * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb
 */
/* reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/**ループ**/
@-webkit-keyframes loopLeft {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -2380px 0px; } }
@-moz-keyframes loopLeft {
  0% {
    background-position: 0px 0px; }
  100% {
    background-position: -2380px 0px; } }
/**スピン**/
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }
@-moz-keyframes rotate {
  0% {
    -moz-transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(360deg); } }
@-ms-keyframes rotate {
  0% {
    -ms-transform: rotate(0deg); }
  100% {
    -ms-transform: rotate(360deg); } }
@-o-keyframes rotate {
  0% {
    -o-transform: rotate(0deg); }
  100% {
    -o-transform: rotate(360deg); } }
@keyframes rotate {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
* {
  max-height: 999999px;
  line-height: 1.8; }
  *:focus {
    outline: none; }

a {
  outline: none;
  text-decoration: none;
  color: #16a085; }
  a img {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    a img:hover {
      filter: alpha(opacity=70);
      -moz-opacity: 0.7;
      opacity: 0.7;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
  a:hover {
    color: #2c3e50; }
  a:focus {
    outline: none; }

img {
  display: block; }

svg {
  display: inline-block !important;
  position: relative;
  font-size: 0.8em !important;
  top: -1px; }

strong {
  font-weight: bold; }

em {
  font-weight: bold;
  color: #E47479; }

body {
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  overflow-x: hidden;
  line-height: 1.5;
  font-size: 14px !important;
  color: #2c3e50; }
  @media screen and (min-width: 1201px) {
    body {
      font-family: "Sawarabi Gothic"; } }
  @media screen and (max-width: 1200px) {
    body {
      font-family: "メイリオ", Meiryo, sans-serif; } }

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea {
  width: 30%;
  margin: 0;
  padding: 8px 15px 9px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0 1px 3px #eee inset;
  box-sizing: border-box;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="password"]:focus,
  input[type="tel"]:focus,
  textarea:focus {
    border: 1px solid #16a085;
    box-shadow: 0 1px 3px #ddd inset;
    box-shadow: 0 0 5px #1abc9c;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }

input[type="button"],
input[type="submit"],
input[type="reset"],
button,
.btn {
  padding: 0.5em 1em;
  border: 0;
  border-radius: 5px;
  background: #1abc9c;
  cursor: pointer;
  color: #fff; }
  input[type="button"]:hover,
  input[type="submit"]:hover,
  input[type="reset"]:hover,
  button:hover,
  .btn:hover {
    background: #16a085; }

.btn_ajax {
  color: #2980b9;
  cursor: pointer; }
  .btn_ajax svg {
    color: #2980b9; }

select {
  margin: 0 5px 0 0;
  padding: 5px 15px;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-shadow: 0 1px 3px #eee inset;
  box-sizing: border-box;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  select option {
    font-family: "Sawarabi Gothic"; }
  select:focus {
    border: 1px solid #16a085;
    box-shadow: 0 1px 3px #ddd inset;
    box-shadow: 0 0 5px #1abc9c;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }

textarea {
  font-family: "Sawarabi Gothic"; }

.form-group {
  margin: 0 0 1em; }

.form-inblock {
  margin-right: 1em;
  display: inline-block; }

table {
  width: 100%;
  margin: 0.5em auto 1em;
  border: 1px solid #ddd; }
  table tr th {
    padding: 0 0.5em;
    border: 1px solid #ddd;
    background: #eee;
    font-weight: bold;
    text-align: left; }
  table tr td {
    padding: 0 0.5em;
    border: 1px solid #ddd;
    background: #fff;
    text-align: left; }
    table tr td span {
      font-size: 0.8em; }
      table tr td span.taiun {
        margin: 0 0.2em;
        font-weight: bold; }
        table tr td span.taiun.tenchusatsu {
          color: #e74c3c; }
        table tr td span.taiun.ijou {
          color: #e67e22; }
        table tr td span.taiun.tenkoku {
          color: #8e44ad; }
        table tr td span.taiun.daihankai {
          color: #2ecc71; }
        table tr td span.taiun.ricchin {
          color: #2ecc71; }
        table tr td span.taiun.nacchin {
          color: #2980b9; }
  table.wide {
    width: 100%; }

h1 {
  margin: 0 0 1em;
  text-align: center;
  font-size: 1.8em;
  font-weight: bold; }

h2 {
  font-size: 1.6em;
  font-weight: bold; }

h3 {
  font-size: 1.4em;
  font-weight: 500; }

header {
  width: 100%;
  margin: 0 0 1em;
  background: #2c3e50; }
  header ul {
    display: flex;
    align-items: center;
    justify-content: center; }
    header ul li {
      width: 50%; }
      header ul li a {
        padding: 0.5em 0;
        display: block;
        text-align: center;
        color: #fff; }
      header ul li.now a {
        background: #2c3e50;
        color: #fff; }
      header ul li:first-child {
        border-right: 1px solid #fff; }

.wrapper {
  margin: 0 auto;
  position: relative; }
  @media screen and (min-width: 1201px) {
    .wrapper {
      width: 1200px; } }
  @media screen and (max-width: 1200px) {
    .wrapper {
      width: 95%; } }
  .wrapper .group-section {
    overflow: hidden; }
    @media screen and (min-width: 1201px) {
      .wrapper .group-section section {
        margin: 0 1em 0 0;
        float: left; } }
  .wrapper .ft-single {
    margin: 1em 0;
    border: 1px solid #ccc;
    background: #fafafa; }
    @media screen and (min-width: 1201px) {
      .wrapper .ft-single {
        padding: 2em; } }
    @media screen and (max-width: 1200px) {
      .wrapper .ft-single {
        padding: 2em; } }

.category h3 {
  margin-right: 0.5em;
  display: inline-block; }

footer {
  width: 100%;
  margin: 3em auto 0;
  padding: 2em 0;
  position: relative;
  background: #2c3e50;
  font-size: 0.8em;
  text-align: center;
  color: #fff; }
  footer p {
    margin: 0.5em 0; }

@media screen and (min-width: 1201px) {
  .test {
    text-align: center; } }
@media screen and (max-width: 1200px) {
  .test {
    text-align: left; } }
