/* Scss Document */
/*-------------------------------------------------
    common
=================================================*/
body {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #444;
  background: #fff;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  margin: 0;
  padding: 0;
  width: 100%; }

a {
  color: #000;
  text-decoration: none;
  transition: all 0.5s; }

a:hover {
  text-decoration: none;
  opacity: 0.7; }

a:visited {
  color: #000; }

.sp_only {
  display: block !important; }
  @media (min-width: 780px) {
    .sp_only {
      display: none !important; } }

.pc_only {
  display: none !important; }
  @media (min-width: 780px) {
    .pc_only {
      display: block !important; } }

section, nav, header, footer, article, p {
  margin: 0;
  padding: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul li {
    margin: 0;
    padding: 0; }

/*------------------------------------------*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

input, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent; }

button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent; }

input[type="radio"] {
  display: none; }

input[type="radio"]:checked + label {
  background: #ff0000; }

/*------------------------------------------*/
header .inner {
  margin-top: 30px; }
  @media (min-width: 780px) {
    header .inner {
      margin-top: 60px;
      padding: 0 50px;
      box-sizing: border-box;
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  header .inner h1 {
    width: 200px;
    margin: 0 auto;
    padding: 0;
    line-height: 1; }
    @media (min-width: 780px) {
      header .inner h1 {
        width: 300px;
        margin: 0 20px 0 0; } }
    @media screen and (min-width: 780px) and (max-width: 1100px) {
      header .inner h1 {
        width: 250px; } }
  header .inner nav {
    margin-top: 20px; }
    @media (min-width: 780px) {
      header .inner nav {
        margin-top: 0; } }
    header .inner nav ul.menu {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      width: 100%;
      border-bottom: 1px solid #ccc;
      box-sizing: border-box; }
      @media (min-width: 780px) {
        header .inner nav ul.menu {
          border-bottom: none;
          flex-wrap: nowrap; } }
      header .inner nav ul.menu li {
        width: calc(100% / 3);
        border-top: 1px solid #ccc;
        border-right: 1px solid #ccc;
        box-sizing: border-box;
        font-size: 15px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.1em;
        text-align: center; }
        @media (min-width: 780px) {
          header .inner nav ul.menu li {
            border-top: none;
            border-right: none;
            font-size: 18px;
            margin: 0 20px;
            width: auto; } }
        @media screen and (min-width: 780px) and (max-width: 1100px) {
          header .inner nav ul.menu li {
            margin: 0 5px;
            font-size: 15px; } }
        header .inner nav ul.menu li a {
          padding: 10px 0;
          box-sizing: border-box;
          width: 100%;
          text-align: center;
          display: block; }
          @media (min-width: 780px) {
            header .inner nav ul.menu li a {
              width: auto;
              padding: 0; } }
        header .inner nav ul.menu li:nth-child(3n) {
          border-right: none; }
        header .inner nav ul.menu li.search {
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: pointer; }
          header .inner nav ul.menu li.search::before {
            font-family: 'Material Icons';
            content: '\e8b6';
            font-size: 18px; }
            @media (min-width: 780px) {
              header .inner nav ul.menu li.search::before {
                font-size: 20px; } }

@media (min-width: 780px) {
  .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container {
    padding: 50px; } }
.modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container {
  display: flex;
  align-items: center;
  height: 50px; }
  @media (min-width: 780px) {
    .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container {
      height: 60px; } }
  .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container input[type="text"] {
    font-size: 14px;
    background: #eee;
    border: none;
    height: 50px;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    flex: 1; }
    @media (min-width: 780px) {
      .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container input[type="text"] {
        font-size: 18px;
        height: 60px;
        padding: 20px; } }
  .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container input[type="text"]:focus {
    outline: 0; }
  .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container input[type="submit"] {
    cursor: pointer;
    font-family: 'Material Icons';
    font-size: 20px;
    border: none;
    background: #222;
    color: #fff;
    outline: none;
    width: 50px;
    height: 50px; }
    @media (min-width: 780px) {
      .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container .search_container input[type="submit"] {
        font-size: 30px;
        width: 60px;
        height: 60px; } }
.modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container ul.tag {
  display: flex;
  flex-wrap: wrap;
  margin: 18px -2px -2px; }
  @media (min-width: 780px) {
    .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container ul.tag {
      margin: 28px -2px -2px; } }
  .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-content-container ul.tag li a {
    margin: 2px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
    line-height: 1;
    display: inline-block; }
.modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-close:hover::before, .modaal-wrapper .modaal-outer-wrapper .modaal-inner-wrapper .modaal-container .modaal-close:hover::after {
  background: #222; }

/*------------------------------------------*/
#main .inner {
  margin-top: 30px;
  padding: 0 30px;
  box-sizing: border-box; }
  @media (min-width: 780px) {
    #main .inner {
      padding: 0 40px; } }
  #main .inner h2.sub {
    font-size: 14px;
    font-weight: 500;
    margin: 0;
    padding: 0; }
    @media (min-width: 780px) {
      #main .inner h2.sub {
        font-size: 16px;
        margin: 0 0 0 10px; } }
  #main .inner ul.list {
    margin: 0 auto; }
    @media (min-width: 780px) {
      #main .inner ul.list {
        width: 680px; } }
    @media (min-width: 780px) {
      #main .inner ul.list {
        display: flex;
        flex-flow: wrap;
        justify-content: flex-start; } }
    @media (min-width: 1120px) {
      #main .inner ul.list {
        width: 1020px; } }
    @media (min-width: 1460px) {
      #main .inner ul.list {
        width: 1360px; } }
    @media (min-width: 1800px) {
      #main .inner ul.list {
        width: 1700px; } }
    @media (min-width: 1800px) {
      #main .inner ul.list {
        width: 1700px; } }
    @media (min-width: 2140px) {
      #main .inner ul.list {
        width: 2040px; } }
    @media (min-width: 2480px) {
      #main .inner ul.list {
        width: 2380px; } }
    @media (min-width: 2820px) {
      #main .inner ul.list {
        width: 2720px; } }
    #main .inner ul.list li.item {
      margin: 10px auto 0;
      width: 100%;
      max-width: 550px;
      height: 250px;
      overflow-y: scroll;
      overflow-x: hidden;
      border: 1px solid #eee;
      box-sizing: border-box; }
      @media (min-width: 780px) {
        #main .inner ul.list li.item {
          margin: 20px;
          width: 300px;
          height: 300px; } }
      #main .inner ul.list li.item .twitter-tweet {
        margin-top: 0 !important;
        margin-bottom: 0 !important; }
        #main .inner ul.list li.item .twitter-tweet iframe {
          outline: 4px solid #fff;
          outline-offset: -4px;
          border-radius: 12px; }
      #main .inner ul.list li.item.empty {
        height: 0;
        padding-top: 0;
        padding-bottom: 0;
        border: none;
        margin: 0; }
        @media (min-width: 780px) {
          #main .inner ul.list li.item.empty {
            width: 300px;
            margin: 0 20px; } }
        @media screen and (min-width: 780px) and (max-width: 1100px) {
          #main .inner ul.list li.item.empty {
            margin: 0; } }

/*------------------------------------------*/
footer {
  margin-top: 30px;
  background: #272727;
  text-align: center;
  font-size: 10px;
  color: #fff;
  line-height: 1;
  padding: 20px 0;
  box-sizing: border-box;
  line-height: 1;
  letter-spacing: 0.1em; }
  @media (min-width: 780px) {
    footer {
      margin-top: 60px;
      font-size: 12px;
      padding: 40px 0; } }

/*------------------------------------------*/
.loader, .loader:before, .loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out; }

.loader {
  color: #000000;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

.loader:before, .loader:after {
  content: '';
  position: absolute;
  top: 0; }

.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.loader:after {
  left: 3.5em; }

@-webkit-keyframes load7 {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em; }
  40% {
    box-shadow: 0 2.5em 0 0; } }
@keyframes load7 {
  0%, 80%, 100% {
    box-shadow: 0 2.5em 0 -1.3em; }
  40% {
    box-shadow: 0 2.5em 0 0; } }
.page-load-status {
  text-align: center; }

.infinite-scroll-last, .infinite-scroll-error {
  margin-top: 20px; }
  @media (min-width: 780px) {
    .infinite-scroll-last, .infinite-scroll-error {
      margin-top: 40px; } }

/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
