@charset "UTF-8";
/* Scss Document */
table {
  table-layout: fixed; }
  table th {
    text-align: right;
    font-weight: normal; }

.breadcrumb {
  max-width: 1100px;
  margin: 64px auto 0;
  font-size: 12px;
  font-size: 1.2rem;
  opacity: 0.8;
  padding: 0 16px; }
  .breadcrumb a {
    color: #000;
    text-decoration: underline; }
  @media (max-width: 750px) {
    .breadcrumb {
      margin-top: 96px;
      font-size: 10px;
      font-size: 1.0rem; } }

#contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 80px; }

#contents h2 {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: normal;
  text-align: center;
  padding-bottom: 32px;
  letter-spacing: 0.1em; }
  @media (max-width: 800px) {
    #contents h2 {
      font-size: 24px;
      font-size: 2.4rem;
      padding-bottom: 24px; } }

#contents .inner {
  padding: 0 16px;
  margin-bottom: 48px; }
  @media (max-width: 800px) {
    #contents .inner {
      box-sizing: border-box;
      padding: 0 8px; } }

#contents p {
  margin-bottom: 24px; }

#contents .two-column {
  overflow: hidden; }

#contents .box {
  width: 49%;
  margin-left: 1%;
  display: inline-block;
  vertical-align: top; }
  #contents .box:nth-child(2n+1) {
    margin-left: 0; }
  #contents .box table {
    margin: 0 auto; }
  @media (max-width: 800px) {
    #contents .box {
      margin-left: 0; } }
  @media (max-width: 750px) {
    #contents .box {
      width: 100% !important;
      display: block !important; } }

#contents .bk-white {
  padding: 8px 16px;
  background-color: rgba(255, 255, 255, 0.2); }

#contents .text-green {
  color: #366270; }

#contents .text-gray {
  color: #333;
  opacity: 0.4; }

#contents .level table tr th {
  vertical-align: middle;
  padding: 8px 0; }
  #contents .level table tr th span {
    color: #333333;
    font-size: 32px;
    font-size: 3.2rem; }
#contents .level table tr th:nth-child(2) {
  text-align: center !important;
  width: 56px; }
#contents .level table tr td {
  vertical-align: middle; }

#contents .sns {
  padding: 0 16px 16px;
  text-align: right; }
  #contents .sns li {
    display: inline-block; }
    #contents .sns li a {
      color: #000; }

#contents .switch-area .tabs {
  margin: 0 auto;
  text-align: center; }

#contents .switch-area .tabs li {
  width: 160px;
  position: relative;
  display: inline-block;
  cursor: pointer;
  margin-bottom: 56px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.3); }
  @media (max-width: 750px) {
    #contents .switch-area .tabs li {
      width: 32%;
      max-width: 160px; } }

#contents .switch-area .tabs li a {
  display: block;
  color: #000;
  width: 100%;
  height: 100%;
  padding: 8px 0;
  margin-bottom: 4px; }
  #contents .switch-area .tabs li a:hover {
    text-decoration: none; }

#contents .switch-area .tabs li h3 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: 0.04em;
  color: rgba(0, 0, 0, 0.8); }
  @media (max-width: 750px) {
    #contents .switch-area .tabs li h3 {
      font-size: 14px;
      font-size: 1.4rem; } }

#contents .switch-area .tabs li.select {
  border-bottom: 2px solid #ffffff; }

#contents .switch-area .tabs li.select a {
  border-bottom: #fff solid 1px;
  padding-bottom: 7px; }

#contents .switch-area .tabs li.select::after {
  content: "";
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top: 8.66px solid #fff;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -15px; }

#contents .switch-contents.hide {
  display: none; }

#contents #workslist {
  position: relative;
  letter-spacing: 0.04em;
  padding: 0 16px;
  display: flex;
  flex-wrap: wrap;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -ms-flex-wrap: wrap; }
  @media (max-width: 750px) {
    #contents #workslist {
      padding: 0 8px; } }

#contents #workslist li {
  width: 24%;
  height: auto;
  position: relative;
  z-index: 0;
  transition: all 0.3s ease-in-out;
  margin: 0 0.5% 40px;
  background: #C7E3DA;
  border-radius: 4px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  overflow: hidden; }
  @media (max-width: 1300px) {
    #contents #workslist li {
      width: 32.3%; } }
  @media (min-width: 750px) and (max-width: 800px) {
    #contents #workslist li {
      width: 49%; } }
  @media (max-width: 750px) {
    #contents #workslist li {
      width: 100%; } }

#contents #workslist li:hover,
#contents #workslist li.active {
  margin-top: -8px;
  margin-bottom: 48px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.6); }
  #contents #workslist li:hover img,
  #contents #workslist li.active img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2); }
  @media (max-width: 750px) {
    #contents #workslist li:hover,
    #contents #workslist li.active {
      margin-top: 0;
      margin-bottom: 40px;
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.2); }
      #contents #workslist li:hover img,
      #contents #workslist li.active img {
        webkit-transform: none;
        -moz-transform: none;
        -o-transform: none;
        -ms-transform: none;
        transform: none; } }

@media (min-width: 801px) {
  #contents #workslist li:hover {
    animation: swing 0.9s ease-in-out infinite alternate; } }

@keyframes swing {
  50% {
    transform: rotate(-2deg); }
  100% {
    transform: rotate(2deg); } }
#contents #workslist li.inactive {
  visibility: hidden;
  opacity: 0; }

#contents #workslist li.new a:after {
  content: "New";
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  background: #ee0586;
  color: #fff;
  position: absolute;
  top: 8px;
  left: 8px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center; }

#contents #workslist li a {
  display: none;
  width: 100%;
  height: 100%;
  text-decoration: none;
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none; }
  #contents #workslist li a .img {
    width: 100%;
    overflow: hidden;
    margin: 0;
    position: relative; }
    #contents #workslist li a .img img {
      width: 100%;
      height: auto;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
    #contents #workslist li a .img span {
      position: absolute;
      bottom: 8px;
      right: 8px;
      background: rgba(0, 0, 0, 0.4);
      font-size: 9px;
      font-size: 0.8rem;
      padding: 2px 8px;
      border-radius: 20px;
      opacity: 0.9; }
  #contents #workslist li a .ttl {
    width: 100%;
    box-sizing: border-box;
    padding: 16px 16px 18px;
    color: #000;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: right;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    opacity: 0.8; }
  #contents #workslist li a:first-child {
    display: block; }

#contents #workslist li .text {
  background: #fff;
  padding: 32px 16px 24px;
  border-radius: 4px 4px 0 0; }
  #contents #workslist li .text h3 {
    font-weight: normal;
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 8px; }
  #contents #workslist li .text p {
    margin-bottom: 8px; }
  #contents #workslist li .text a {
    color: #26ac83;
    text-decoration: underline; }
    #contents #workslist li .text a:hover {
      text-decoration: none; }
  #contents #workslist li .text ul {
    list-style: disc;
    margin-left: 16px;
    margin-bottom: 8px; }
    #contents #workslist li .text ul li {
      margin-bottom: 4px; }

#contents #workslist li .date {
  font-size: 12px;
  font-size: 1.2rem;
  text-align: right;
  padding: 4px 16px;
  margin: 0;
  color: #000;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 0.6;
  border-bottom: rgba(255, 255, 255, 0.4) solid 1px; }
  #contents #workslist li .date span:first-child {
    float: left;
    opacity: 0.6; }

#contents.single {
  max-width: 1100px;
  margin-top: 40px; }
  @media (max-width: 800px) {
    #contents.single {
      width: 100%; } }
  #contents.single h2 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: left; }
    #contents.single h2 span {
      display: block;
      font-size: 16px;
      font-size: 1.6rem; }
  #contents.single a {
    text-decoration: underline;
    color: #000; }
    #contents.single a:hover {
      text-decoration: none; }
  #contents.single .img-box {
    border-radius: 8px;
    padding: 32px 0 0;
    margin: 0 16px; }
    @media (max-width: 800px) {
      #contents.single .img-box {
        border-radius: 0;
        padding: 16px 0 0;
        margin: 0; } }
    #contents.single .img-box img {
      display: block;
      margin: 0 auto;
      width: 100%; }
    #contents.single .img-box.portrait img {
      max-width: 600px; }
  #contents.single .des-box {
    padding: 16px 0 0;
    background: #C7E3DA;
    border-radius: 0 0 8px 8px; }
    @media (max-width: 800px) {
      #contents.single .des-box {
        padding: 8px 0;
        border-radius: 0; } }
    #contents.single .des-box h2 {
      font-size: 14px;
      text-align: left;
      padding: 0 16px 10px;
      margin-bottom: 0;
      border-bottom: rgba(255, 255, 255, 0.4) solid 1px; }
      @media (max-width: 800px) {
        #contents.single .des-box h2 {
          padding: 0 8px 6px; } }
      #contents.single .des-box h2 ~ div {
        display: table;
        width: 100%; }
        @media (max-width: 800px) {
          #contents.single .des-box h2 ~ div {
            display: block; } }
        #contents.single .des-box h2 ~ div > div {
          display: table-cell;
          padding: 16px; }
          @media (max-width: 800px) {
            #contents.single .des-box h2 ~ div > div {
              display: block;
              padding: 8px;
              margin: 0; } }
          #contents.single .des-box h2 ~ div > div:first-child {
            width: 160px;
            border-right: rgba(255, 255, 255, 0.4) solid 1px; }
            @media (max-width: 800px) {
              #contents.single .des-box h2 ~ div > div:first-child {
                width: 100%;
                box-sizing: border-box;
                border: none;
                border-bottom: rgba(255, 255, 255, 0.4) solid 1px; } }
  #contents.single .date {
    font-size: 12px;
    font-size: 1.2rem;
    opacity: 0.6; }
  #contents.single .sns {
    padding: 0;
    margin: 0; }
    #contents.single .sns li a {
      text-decoration: none !important; }

.quotation {
  padding: 16px 48px;
  margin-bottom: 24px;
  background-color: rgba(255, 255, 255, 0.2);
  position: relative;
  box-sizing: border-box; }
  .quotation::before, .quotation::after {
    position: absolute;
    line-height: 1;
    width: 30px;
    height: 37px; }
  .quotation::before {
    top: 8px;
    left: 8px;
    content: "";
    background: url("../img/quote-l.svg") no-repeat center; }
  .quotation::after {
    bottom: 8px;
    right: 8px;
    content: "";
    background: url("../img/quote-r.svg") no-repeat center; }
  .quotation p:last-child {
    margin-bottom: 0 !important; }
  @media (max-width: 750px) {
    .quotation {
      padding: 48px 8px; } }

#btn {
  display: flex;
  justify-content: space-between; }
  #btn a {
    width: 18px;
    height: 34px;
    transition: background .3s;
    margin: 16px; }
    #btn a.left {
      background: url(img/btn-left.png) no-repeat;
      background-size: 100%; }
      #btn a.left:hover {
        background: url(img/btn-left-on.png) no-repeat;
        background-size: 100%;
        transition: background .3s; }
    #btn a.right {
      background: url(img/btn-right.png) no-repeat;
      background-size: 100%; }
      #btn a.right:hover {
        background: url(img/btn-right-on.png) no-repeat;
        background-size: 100%;
        transition: background .3s; }
    @media (max-width: 800px) {
      #btn a {
        width: 9px;
        height: 17px;
        margin: 8px; } }

#works {
  position: relative;
  width: 100%;
  background: url("img/pattern.jpg");
  box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.1);
  z-index: 1; }

#works #contents {
  padding-top: 120px;
  max-width: 1688px; }
  @media (max-width: 750px) {
    #works #contents {
      padding-top: 72px; } }

#works #contents h4 {
  margin: 0 24px 0;
  font-weight: normal;
  font-size: 28px;
  font-size: 2.8rem; }

#works #contents h4 span {
  font-size: 14px;
  font-size: 1.4rem; }

#works #contents h4 img {
  width: 200px;
  height: auto;
  margin-bottom: 16px; }

#works #contents h4 img {
  width: 200px;
  height: auto;
  margin-bottom: 16px; }

#works #contents h4 ~ p {
  padding: 0 16px; }

/* mangaviewer css */
.viewer {
  position: relative; }
  @media (max-width: 750px) {
    .viewer {
      display: none; } }
  .viewer ~ .sp img {
    width: 100%;
    height: auto;
    margin-bottom: 16px; }

.viewer img {
  width: 50% !important;
  margin: 0 !important;
  cursor: pointer; }
  .viewer img.left_page {
    float: left; }
  .viewer img.right_page {
    float: right; }

.viewer #page-link {
  background: #000;
  clear: both;
  text-align: center;
  padding: 20px 0; }
  .viewer #page-link .btn {
    border: none;
    color: #000;
    cursor: pointer;
    background-color: #fff; }
    .viewer #page-link .btn.active {
      background-color: #999999; }
    .viewer #page-link .btn#btn-next, .viewer #page-link .btn#btn-prev {
      width: 36px;
      height: 36px;
      border-radius: 100%;
      margin: 0 5px 10px;
      transition: background-color .2s;
      position: relative; }
      .viewer #page-link .btn#btn-next:hover, .viewer #page-link .btn#btn-prev:hover {
        background-color: #c29430;
        transition: background-color .2s; }
      .viewer #page-link .btn#btn-next::after, .viewer #page-link .btn#btn-prev::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border: transparent solid 6px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto; }
    .viewer #page-link .btn#btn-next::after {
      border-right: #000 solid 6px;
      right: 8px; }
    .viewer #page-link .btn#btn-prev::after {
      border-left: #000 solid 6px;
      left: 8px; }

.viewer #page-list {
  background: #fff;
  display: inline-block;
  padding: 0 10px;
  border-radius: 20px; }
  .viewer #page-list .btn {
    margin: 0;
    width: 32px;
    transition: background-color .2s; }
    .viewer #page-list .btn:hover {
      background-color: #c29430;
      transition: background-color .2s; }
    .viewer #page-list .btn.active:hover {
      background-color: #999999; }

.viewer div.sheet {
  overflow: hidden;
  background: #adccc2; }

.first-left .sp img:first-child {
  display: none !important; }

.clickimg {
  cursor: pointer;
  background: #adccc2;
  text-align: center;
  padding: 16px 8px;
  border-radius: 8px 8px 0 0; }
  .clickimg img {
    width: 50%; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

.avatar {
  float: left;
  margin-left: -3.5em;
  width: 54px;
  height: 54px;
  border-radius: 100%;
  background-color: #eee; }

.content {
  margin-left: .9em; }

.content > span {
  display: inline-block;
  margin-bottom: .2em;
  font-weight: bold; }

.content > p {
  text-align: justify;
  text-justify: inter-ideograph;
  line-height: 1.4;
  font-size: .95em; }

.overlay {
  display: none;
  position: fixed;
  top: -10px;
  left: 0;
  right: 0;
  bottom: -10px;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 3; }

.container {
  display: table;
  padding: 10px 0;
  width: 100%;
  height: 100%; }

.inner {
  display: table-cell;
  /*padding: 2.7em 2em;*/
  vertical-align: middle; }

.modal {
  position: relative;
  margin: 0 auto;
  /*padding: 1.9em 2em;*/
  /*max-width: 550px;*/
  width: 100%;
  max-width: 1280px;
  text-align: justify;
  text-justify: inter-ideograph;
  /*border-radius: 7px;*/
  /*background-color: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .2);*/ }

.modal::after {
  display: table;
  content: '';
  clear: both; }

.modal > p {
  text-indent: 1em;
  line-height: 1.7; }

.button {
  /*float: right;*/
  /*margin-top: .8em;*/
  padding: .5em 1.4em;
  color: #fff;
  font-size: .95em;
  border: 0;
  border-radius: 4px;
  outline: 0;
  background-color: #e57373;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.button:hover {
  background-color: #dd7979; }

#mainnav {
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 2;
  letter-spacing: 0.1em;
  color: #fff;
  /*box-shadow: 0px 2px 4px rgba(0,0,0,0.6);*/
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  @media (max-width: 800px) {
    #mainnav {
      height: auto;
      background: rgba(0, 0, 0, 0.6); } }
  #mainnav .inner {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    display: flex;
    box-sizing: border-box; }
    #mainnav .inner.top {
      justify-content: space-between;
      align-items: center;
      padding: 8px 8px 10px 24px; }
      @media (max-width: 750px) {
        #mainnav .inner.top {
          display: block;
          padding: 0; } }
  #mainnav h1 a {
    display: block;
    width: 128px;
    height: 40px;
    margin: 8px auto; }
    @media (min-width: 750px) and (max-width: 800px) {
      #mainnav h1 a {
        margin: 0; } }
    @media (min-width: 769px) {
      #mainnav h1 a {
        margin: 0 0 8px;
        height: 32px; } }
  #mainnav .right .others {
    display: flex; }
    #mainnav .right .others li {
      margin: 0 8px; }
      @media (max-width: 750px) {
        #mainnav .right .others li {
          margin: 0;
          padding: 0 8px; }
          #mainnav .right .others li:first-child {
            border-left: none; } }
    @media (max-width: 750px) {
      #mainnav .right .others {
        justify-content: center;
        font-size: 11px;
        font-size: 1.1rem;
        border-top: rgba(255, 255, 255, 0.1) solid 1px;
        padding: 4px 0; } }

#footer {
  background-color: #000;
  width: 100%; }
  #footer #nav {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center; }
    #footer #nav ul {
      padding: 16px 0; }
      #footer #nav ul:first-child {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
      #footer #nav ul li {
        display: inline-block;
        margin: 0 8px;
        vertical-align: middle; }
        #footer #nav ul li img {
          width: 24px;
          height: 24px; }
    #footer #nav #logo {
      display: block;
      width: 128px;
      height: 40px;
      margin: 8px auto; }
    #footer #nav .copyright {
      font-size: 10px;
      font-size: 1.0rem;
      text-align: right;
      padding: 8px 0;
      color: #fff;
      text-align: center; }

.twitter-follow-button {
  font-family: Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  background: url(img/TwitterLogo_white.png) no-repeat 7px;
  background-color: none;
  background-size: 12px;
  padding: 2px 10px 2px 25px;
  border: 1px solid #fff;
  border-radius: 2px;
  text-decoration: none !important;
  transition: background-color .2s !important; }
  .twitter-follow-button:hover {
    background-color: #1DA1F2;
    transition: background-color .2s !important; }

header {
  position: relative;
  width: 100%; }

#header-top {
  height: 100vh; }

#top-img {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; }

.logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%; }

.logo::before {
  content: "";
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  border: rgba(255, 255, 255, 0.06) solid 1px;
  width: 320px;
  height: 320px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  border-radius: 50%; }
  @media (max-width: 800px) {
    .logo::before {
      width: 240px;
      height: 240px; } }

.logo img {
  width: 100%;
  max-width: 160px;
  height: auto; }
  @media (max-width: 800px) {
    .logo img {
      max-width: 120px; } }

.logo .logo-nav {
  margin-top: 16px;
  display: flex;
  justify-content: center; }

.logo .logo-nav a {
  display: block;
  color: #735126;
  margin: 0 8px;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em; }
  @media (max-width: 800px) {
    .logo .logo-nav a {
      font-size: 14px;
      font-size: 1.4rem; } }
