@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
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; }

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

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased; }

html {
  -webkit-text-size-adjust: none;
  font-size: 14px;
  color: #303030;
  text-rendering: optimizeLegibility; }

a {
  transition: 0.3s opacity ease-in-out; }

a:hover {
  opacity: 0.7; }

body {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height: 2;
  font-family: "Noto Sans Japanese", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  -webkit-backface-visibility: hidden;
  background-color: #ffffff; }

p {
  font-size: 1.4em; }

.container {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden; }
  .container:after {
    content: " ";
    display: block;
    clear: both; }

header {
  text-align: center; }
  header h1 h2 {
    color: #ccc;
    line-height: 100%; }

a {
  text-decoration: none;
  color: #555; }

.container {
  overflow: hidden; }

#portfolio .work {
  font-weight: bold;
  font-size: 12px;
  text-align: center;
  overflow: hidden; }
  #portfolio .work h2 {
    font-size: 11px;
    letter-spacing: 0.5px;
    margin-top: 10px; }
  #portfolio .work img {
    width: 100%;
    height: auto; }

footer {
  overflow: hidden;
  background: #eee; }
  footer .infomation h2 {
    font-weight: bold; }
  footer #copyright {
    width: 100%;
    float: left;
    font-size: 10px;
    text-align: center;
    color: #777; }
    footer #copyright:nth-child(1n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: none; }

.slide-in {
  overflow: hidden;
  position: relative;
  line-height: 0;
  transform: translate3d(-100%, 0, 0);
  z-index: 1; }
  .slide-in:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    background-color: #F4F1ED;
    transform: scale(1);
    transform-origin: right; }

.animated {
  overflow: hidden; }
  .animated .slide-in {
    line-height: 0;
    overflow: hidden;
    position: relative;
    transition-duration: .4s;
    transform: translate3d(0, 0, 0);
    transition-delay: .1s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
    .animated .slide-in:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-color: #F4F1ED;
      transform: scale(0, 1);
      transform-origin: right;
      transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
      transition-duration: 1s;
      transition-delay: .4s; }
    .animated .slide-in a img {
      transform: scale(1, 1);
      transition-duration: 5s;
      transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
      width: 100%;
      height: auto; }
      .animated .slide-in a img:hover {
        transform: scale(1.1); }

/* Smartphone
-------------------------------------------------- */
@media only screen and (max-width: 768px) {
  header {
    margin: 50px 0; }
    header h1 {
      margin-bottom: 5px; }
      header h1 img {
        width: 70%; }
      header h1 h2 {
        font-size: 11px; }

  #portfolio .work {
    margin-bottom: 30px; }

  footer {
    padding: 30px; }
    footer .infomation {
      margin-bottom: 30px; }
      footer .infomation h2 {
        font-size: 14px;
        margin-bottom: 10px; }
      footer .infomation p {
        margin: 3px 0;
        font-size: 12px; }

  .slide-in {
    overflow: hidden;
    position: relative;
    line-height: 0;
    transform: translate3d(-100%, 0, 0);
    z-index: 1; }
    .slide-in:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-color: #F4F1ED;
      transform: scale(1);
      transform-origin: right; }

  .animated {
    overflow: hidden; }
    .animated .slide-in {
      line-height: 0;
      overflow: hidden;
      position: relative;
      transition-duration: .4s;
      transform: translate3d(0, 0, 0);
      transition-delay: .1s;
      transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
      .animated .slide-in:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        background-color: #F4F1ED;
        transform: scale(0, 1);
        transform-origin: right;
        transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        transition-duration: 1s;
        transition-delay: .4s; }
      .animated .slide-in a img {
        transform: scale(1, 1);
        transition-duration: 5s;
        transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        width: 100%;
        height: auto; }
        .animated .slide-in a img:hover {
          transform: scale(1.1); } }
/* Tablet % SmallPC
-------------------------------------------------- */
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  header {
    margin: 50px 0;
    margin-bottom: 50px; }
    header h1 {
      margin-bottom: 10px; }
      header h1 img {
        width: 350px; }
      header h1 h2 {
        font-size: 12px; }

  .container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0px 30px; }
    .container:after {
      content: " ";
      display: block;
      clear: both; }

  #portfolio {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0px 30px; }
    #portfolio:after {
      content: " ";
      display: block;
      clear: both; }
    #portfolio .work {
      margin-bottom: 30px;
      width: 48.07692%;
      float: left; }
      #portfolio .work:nth-child(2n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      #portfolio .work:nth-child(2n + 2) {
        margin-left: 51.92308%;
        margin-right: -100%;
        clear: none; }

  footer {
    padding: 60px 0; }
    footer .infomation {
      margin-bottom: 20px;
      width: 48.07692%;
      float: left; }
      footer .infomation:nth-child(2n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      footer .infomation:nth-child(2n + 2) {
        margin-left: 51.92308%;
        margin-right: -100%;
        clear: none; }
      footer .infomation h2 {
        font-size: 14px;
        letter-spacing: 0.5px;
        margin-bottom: 20px; }
      footer .infomation p {
        margin: 10px 0;
        font-size: 12px; }

  .slide-in {
    overflow: hidden;
    position: relative;
    line-height: 0;
    transform: translate3d(-100%, 0, 0);
    z-index: 1; }
    .slide-in:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-color: #F4F1ED;
      transform: scale(1);
      transform-origin: right; }

  .animated {
    overflow: hidden; }
    .animated .slide-in {
      line-height: 0;
      overflow: hidden;
      position: relative;
      transition-duration: .4s;
      transform: translate3d(0, 0, 0);
      transition-delay: .1s;
      transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
      .animated .slide-in:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        background-color: #F4F1ED;
        transform: scale(0, 1);
        transform-origin: right;
        transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        transition-duration: 1s;
        transition-delay: .4s; }
      .animated .slide-in a img {
        transform: scale(1, 1);
        transition-duration: 5s;
        transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        width: 100%;
        height: auto; }
        .animated .slide-in a img:hover {
          transform: scale(1.1); } }
/* PC
-------------------------------------------------- */
@media only screen and (min-width: 1201px) {
  header {
    margin: 100px 0;
    margin-bottom: 100px; }
    header h1 {
      margin-bottom: 10px; }
      header h1 img {
        width: 350px; }
      header h1 h2 {
        font-size: 12px; }

  .container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 60px; }
    .container:after {
      content: " ";
      display: block;
      clear: both; }

  #portfolio {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 60px; }
    #portfolio:after {
      content: " ";
      display: block;
      clear: both; }
    #portfolio .work {
      margin-bottom: 30px;
      width: 30.76923%;
      float: left; }
      #portfolio .work:nth-child(3n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      #portfolio .work:nth-child(3n + 2) {
        margin-left: 34.61538%;
        margin-right: -100%;
        clear: none; }
      #portfolio .work:nth-child(3n + 3) {
        margin-left: 69.23077%;
        margin-right: -100%;
        clear: none; }

  footer {
    margin-top: 100px;
    padding: 100px 0; }
    footer .infomation {
      width: 48.07692%;
      float: left; }
      footer .infomation:nth-child(2n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      footer .infomation:nth-child(2n + 2) {
        margin-left: 51.92308%;
        margin-right: -100%;
        clear: none; }
      footer .infomation h2 {
        font-size: 14px;
        letter-spacing: 0.5px;
        margin-bottom: 20px; }
      footer .infomation p {
        margin: 3px 0;
        font-size: 12px; }
    footer #copyright {
      margin-top: 100px; }

  .slide-in {
    overflow: hidden;
    position: relative;
    line-height: 0;
    transform: translate3d(-100%, 0, 0);
    z-index: 1; }
    .slide-in:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      background-color: #F4F1ED;
      transform: scale(1);
      transform-origin: right; }

  .animated {
    overflow: hidden; }
    .animated .slide-in {
      line-height: 0;
      overflow: hidden;
      position: relative;
      transition-duration: .4s;
      transform: translate3d(0, 0, 0);
      transition-delay: .1s;
      transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); }
      .animated .slide-in:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        background-color: #F4F1ED;
        transform: scale(0, 1);
        transform-origin: right;
        transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        transition-duration: 1s;
        transition-delay: .4s; }
      .animated .slide-in a img {
        transform: scale(1, 1);
        transition-duration: 5s;
        transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
        width: 100%;
        height: auto; }
        .animated .slide-in a img:hover {
          transform: scale(1.1); } }
