@charset 'UTF-8';
/**
 * File Name : common.css
 * Version : 1.0
 * Description : 全ページ共通CSSファイル
 * Since : 2017-04-05
 * Modified : 2017-04-05
 *
 * ---- Table of Contents ----
 *
 * 1.0 - Base Rule
 *   1.1 - Reset
 *   1.2 - Elements
 * 2.0 - Layout
 *    2.1 - Centering
 *    2.2 - Header
 *    2.3 - Global Navi
 *    2.4 - Main
 *    2.5 - Footer
 * 3.0 - Module
 *    3.1 - Logo
 *    3.2 - Define List
 *    3.3 - Define Table
 *    3.4 - Inline List
 *    3.5 - Tab List
 *    3.6 - Paging Navi
 *    3.7 - Message
 *    3.8 - Commnet
 *    3.9 - Label
 *    3.10 - Button
 *    3.11 - Text Field
 *    3.12 - table
 *    3.13 - utility
 */


/*
 1.0 - Base
-----------------------------------------------------*/

/**
  1.1 - Reset
*/
/** {
  margin: 0;
  padding: 0;
}*/


/**
  1.2 - Elements
*/
html {
  height: 100%;
  font: 400 100%/1.5 -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
}

body {
  margin: 0;
  height: 100%;
  background-color: #eceff1;
  color: #37474f;
}

article,
section,
aside,
nav,
header,
main,
footer {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: .5em 0;
}
h1 {
  font-size: 3em;
}
h2 {
  letter-spacing: -.02em;
  font-size: 2.4em;
}
h3 {
  font-size: 2em;
}
h4 {
  font-size: 1.6em;
}
h5 {
  font-size: 1.2em;
}
p {
  margin: .5em 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
ul,
ol {
  margin: .5em 0 .5em 1.5em;
}

dl {
  margin: .5em;
}


hr {
  border: none;
  border-bottom: 1px solid #ddd;
}
abbr {
  border-bottom: 1px dotted #666;
  cursor: help;
}

/*
 2.0 - Layout
-----------------------------------------------------*/
/**
  2.1 - Centering
*/
.l-wrapper {
  margin: 0 auto;
  max-width: 960px;
  width: 95%;
}

/**
  2.2 - Header
*/
.l-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 3;
  overflow: hidden;
  width: 100%;
  border-bottom: 4px solid #4f5b93;
  background-color: #8892bf;
  box-shadow: 0 1px 8px rgba(0, 0, 0, .3);
}
.l-header-title {
  float: left;
}
.l-header-nav {
  float: right;
}
.l-header-logo {
  margin: 0;
  font-size: 1em;
}

/**
  2.3 - Global Nav
*/
.l-global-navi {
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.l-global-navi ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.l-global-navi li {
  float: left;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-global-navi li a {
  display: block;
  padding: 1.15em .3em;
  color: #f5f5f5;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
  font-size: .8em;
}
.l-global-navi li a:hover {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .l-global-navi li a {
    padding: 1em .5em;
    font-size: .9em;
  }
}

/**
  2.4 - Main
*/
.l-main {
  padding-top: 3em;
}

.l-section {
  padding: 2em;
  min-height: 58vh;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, .3);
}

.l-section-full {
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, .3);
}
.l-section-inner {
  padding: 1em;
  background-color: #fafafa;
}


/**
  2.5 - Footer
*/
.l-footer {
  clear: both;
  padding: .5em 0;
  background-color: #f5f5f5;
  color: #90a4ae;
}


/*
 3.0 - Module
-----------------------------------------------------*/

/**
  3.1 - Logo
*/
.logo-primary {
  display: inline-block;
  padding: .53em 0;
  color: #263238;
  text-decoration: none;
  text-transform: lowercase;
  letter-spacing: -.03em;
  font-style: italic;
  font-size: 1.2em;
}
.logo-primary:before {
  display: inline-block;
  padding: .3em;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background-color: #263238;
  color: #fff;
  content: 'P';
  vertical-align: 4px;
  text-align: center;
  font-style: italic;
  font-size: .6em;
  line-height: 1;
}
.logo-caption {
  margin-left: .5em;
  color: #fff;
  letter-spacing: .03em;
  font-weight: 400;
  font-style: normal;
  font-size: .5em;
}

@media screen and (min-width: 768px) {
  .logo-primary {
    padding: .3em 0;
    font-size: 1.5em;
  }
}

/**
  3.2 - Define List
*/
.define-list {
  margin: 1em 0;
  padding: 1em;
  border-radius: 4px;
  background-color: #f5f5f5;
}
.define-list dt {
  padding: 1em;
  border-radius: 4px 4px 0 0;
  background-color: #fff;
  font-weight: bold;
}
.define-list dd {
  margin: 0 0 1em;
  padding: 1em;
  border-top: 1px solid #ddd;
  border-radius: 0 0 4px 4px;
  background-color: #fff;
  color: #666;
}


@media screen and (min-width: 768px) {
  .define-list {
    margin: 2em 0;
  }
  .define-list dd {
    margin: 0 0 1.5em;
  }
}

/**
  3.3 - Define Table
*/
.define-table {
  margin: 2em 0;
  border: 1px solid #ddd;
}
.define-table dt {
  margin: 1em 0 .5em;
  padding: 0 1.5em;
}
.define-table dd {
  margin: .5em 0 1em;
  padding: 0 1.5em;
  min-height: 1.5em;
}

.define-table-small {
  overflow: hidden;
  margin: 1em 0 0;
  padding: 0;
}
.define-table-small dt {
  float: left;
  margin: 0;
  padding: 0;
  width: 14%;
}
.define-table-small dd {
  float: right;
  margin: 0;
  padding: 0;
  width: 82%;
}

.define-table-news {
  overflow: hidden;
}
.define-table-news dt {
  margin: .75em 0 .25em;
  padding: 0;
}
.define-table-news dd {
  margin:  .25em 0 .75em;
  padding: 0;
}
.define-table-news dd  + dt {
  border-top: 1px solid #ddd;
}
.define-table-news a {
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid transparent;
  transition: all  0.3s ease-in-out;
}
.define-table-news a:hover {
  border-bottom: 1px solid #37474f;
}

@media screen and (min-width: 768px) {
  .define-table {
    border-bottom: 0;
  }
  .define-table dt {
    float: left;
    clear: left;
    margin: 0;
    padding: 1.5em;
    width: 10em;
  }
  .define-table dd {
    margin: 0;
    padding: 1.5em 1.5em 1.5em 13em;
    border-bottom: 1px solid #ddd;
  }

  .define-table-small dt {
    float: left;
    width: 8%;
  }
  .define-table-small dd {
    float: right;
    width: 90%;
  }

  .define-table-news dt {
    float: left;
    clear: left;
    width: 14em;
    margin: 0;
    padding: .75em 0;
  }
  .define-table-news dd {
    border-bottom: 1px solid #ddd;
    margin: 0;
    padding: .75em 0;
  }
  .define-table-news dd  + dt {
    border-top: 0;
  }
}

/**
  3.4 - Inline List
*/
.inline-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.inline-list li {
  display: inline;
  margin: 0;
  padding: 0;
}
.inline-list li + li {
  margin-left: 1em;
}
.inline-list-mini li + li {
  margin-left: .125em;
}
.inline-list-detail {
  background-color: #f5f5f5;
  padding: .25em .5em;
  border-radius: .25em;
  margin: .5em 0 2em;
}

/**
  3.5 - Tab List
*/
.tab-list {
  /*overflow: hidden;*/
  margin: 0;
  padding: 0;
  background-color: #fafafa;
  list-style: none;
  text-align: right;
}
.tab-list li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.tab-list li a {
  position: relative;
  bottom: -1px;
  display: block;
  padding: .5em 1em;
  background-color: #fff;
  color: inherit;
  text-decoration: none;
  font-size: .9em;
}

/**
  3.65 - Paging Navi
*/
.paging-nav {
  min-height: 112px;
}
.paging-nav ul {
  margin: 0;
  padding: 0;
}
.paging-nav li {
  display: inline-block;
  margin: 0;
  font-size: .9em;
}

.paging-nav li + li {
  margin-left: 1em;
}


/**
  3.7 - Message
*/
.message {
  padding: .5em;
  border-radius: 4px;
  background-color: #eceff1;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
}


/**
  3.8 - Comment
*/
.comment-wrap {
  margin: 0;
  padding: 0;
  list-style: none;
}
.comment {
  overflow: hidden;
  margin: 0;
  padding: 1em;
  border-top: 1px solid #ddd;
  background: #fff;
}
.comment-thumbnail {
  float: left;
  width: 14%;
}
.comment-body {
  float: right;
  width: 82%;
}
.comment-content-image {
  overflow: hidden;
  border: 1px solid #eee;
  border-radius: 4px;
}
.comment-author {
  margin: 0;
  font-weight: bold;
}
.comment-time {
  margin-left: .5em;
  color: #999;
  font-weight: normal;
  font-size: .8em;
}
.comment-time a,
.comment-link {
  color: inherit;
  text-decoration: none;
}
.comment-time a:hover,
.comment-link:hover {
  color: #ccc;
  text-decoration: underline;
}
.comment-link {
  color: #999;
  font-size: .8em;
}
.comment-link.is-active {
  color: #8892bf;
  font-weight: bold;
}
.comment-content .comment-link {
  margin-left: .5em;
}

@media screen and (min-width: 768px) {
  .comment-thumbnail {
    float: left;
    width: 8%;
  }
  .comment-body {
    float: right;
    width: 90%;
  }
}
/**
  3.9 - Label
*/
.label {
  display: inline-block;
  margin-left: .5em;
  padding: .05em .3em;
  vertical-align: text-top;
  letter-spacing: .15em;
  font-size: .7em;
}
.label-red {
  background-color: #ef5350;
  color: #fff;
}
.label-number {
  margin-left: 0;
  border-radius: 4px;
  background-color: #eee;
  letter-spacing: -.03em;
  font-weight: 700;
  font-size: .8em;
  font-family: Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, sans-serif;
}

.label-category {
  display: inline-block;
  margin-left: .5em;
  padding: .05em .3em;
  vertical-align: text-top;
  font-size: .7em;
  border-radius: .5em;
  border: 2px solid #37474f;
  background-color: #37474f;
  color: #fff;
}

/**
  3.10 - Button
*/
.button {
  position: relative;
  top: 0;
  display: inline-block;
  margin: 2em .5em 2em 0;
  padding: 0 2em;
  height: 48px;
  outline: none;
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 4px;
  background: none;
  box-shadow: 0 0 0 #b8b8b8;
  vertical-align: middle;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 400;
  font-size: 1em;
  line-height: 48px;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
      -ms-appearance: none;
          appearance: none;
  transition: all .1s ease;
}
.button:hover {
  top: -3px;
  box-shadow: 0 2px 5px 0 rgba(0,0,0,.25);
}
.button:active,
.button.is-active {
  top: 0;
  box-shadow: inset 0 0 4px rgba(0,0,0,.25);
}

.button-primary {
  border-bottom: 1px solid #4f5b93;
  background-color: #8892bf;
  color: #fff;
}
.button-primary:hover {
  border-bottom: 4px solid #4f5b93;
  background-color: #a1aad2;
}
.button-primary:active,
.button-primary.is-active {
  border: 1px solid #4f5b93;
  background-color: #7983b0;
}
.button-primary.is-active {
  /*background-color: #71799e;
  color: #464d6e;*/
  opacity: .3;
  cursor: default;
}

.button-category {
  border: 2px solid #37474f;
  background-color: #fff;
  color: inherit;
  height: auto;
  line-height: 1.5;
  border-radius: 1em;
  padding: .25em .5em;
  font-size: .75em;
  margin: 2em 0;
}
.button-category.is-active,
.button-category:hover {
  background-color: #37474f;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .button-category {
    padding: .5em 1em;
    font-size: .75em;
  }
}
/**
  3.11 - Text Field
*/
.textfield {
  box-sizing: border-box;
  padding: .2em .5em;
  max-width: 100%;
  outline: none;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #37474f;
  font-size: 1em;
  -webkit-appearance: none;
     -moz-appearance: none;
      -ms-appearance: none;
          appearance: none;
  transition: box-shadow .2s ease-in-out;
}
.textfield:focus {
  box-shadow: inset 0 0 3px rgba(0, 0, 0,.2);
}

/**
  3.12 - Table
*/
.table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  width: 100%;
  border-radius: .5em;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
  margin: 2em 0;
  overflow: hidden;
}
.table thead {
  background-color: #eee;
}
.table thead th,
.table thead td {
  font-weight: normal;
  text-align: left;
}
.table th,
.table td{
  padding: .75em;
  border: none;
}
.table tbody tr {
  border-top: 1px solid #ddd;
}
.table tbody tr:hover {
 background-color: #fafafa;
}

/**
  3.13 - Utility
*/
.screen-reader-text {
  position: absolute;
  top: auto;
  left: -10000px;
  overflow: hidden;
  width: 1px;
  height: 1px;
}
.u-text-number {
  letter-spacing: -.03em;
  font-weight: 700;
  font-size: 1.5em;
  font-family: Avenir, 'Helvetica Neue', Helvetica, Arial, Verdana, sans-serif;
}

.u-text-red {
  color: #ef5350;
}

.u-text-main-color {
  color: #8892bf;
}

.u-text-large {
  font-size: 2em;
}

.u-text-xlarge {
  font-size: 2.4em;
}
.u-text-left {
  text-align: left;
}
.u-text-center {
  text-align: center;
}
.u-text-right {
  text-align: right;
}

.u-m-0 {
  margin: 0;
}
.u-mt-large {
  margin-top: 4em;
}
