@charset "UTF-8";
/** unmounting in html5 */
/**************************************/
address, article, aside, figure, footer,
header, hgroup, menu, nav, section {
  display: block; }

[hidden], command, datalist,
menu[type=context], rp, source {
  display: none; }

/** document */
/**************************************/
body {
  font-size: 13px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, sans-serif;
  line-height: 1.4em;
  text-align: left;
  background: #ffffff;
  color: #000;
  padding: 0;
  margin: 0;
  -webkit-text-size-adjust: none;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/** h1 h2 h3 h4 h5 */
/**************************************/
h1, h2, h3, h4, h5 {
  font-weight: bold;
  margin: 0;
  padding: 0; }

/** ul ol dl */
/**************************************/
ul, ol, dl {
  list-style: none;
  margin: 0;
  padding: 0; }

dd {
  margin: 0 0 0 15px; }

/** p */
/**************************************/
p {
  line-height: 1.8;
  margin: 0;
  padding: 0; }

/** tables */
/**************************************/
table {
  font-size: inherit;
  border-collapse: collapse;
  border-spacing: 0; }

table caption {
  text-align: left; }

table tr th {
  text-align: left;
  margin: 0;
  padding: 0; }

table tr td {
  margin: 0;
  padding: 0; }

/** form */
/**************************************/
form {
  margin: 0;
  padding: 0; }

input, select, textarea {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  margin: 0;
  padding: 0; }

label {
  cursor: pointer; }

/** anchors */
/**************************************/
a {
  color: #000;
  text-decoration: none;
  outline: none; }

a:hover {
  text-decoration: underline; }

a:visited {
  color: #000; }

/** images */
/**************************************/
img {
  border: none;
  vertical-align: bottom; }

/** text */
/**************************************/
em,
i {
  font-style: normal; }

/** pre */
/**************************************/
pre {
  border: 1px solid #bfbfbf;
  padding: 5px; }

/** iframe */
/**************************************/
iframe {
  border: none;
  background: none;
  margin: 0;
  padding: 0; }

/** figure */
/**************************************/
figure {
  margin: 0;
  padding: 0; }

.project {
  zoom: 1; }
  .project:after {
    display: block;
    content: "";
    clear: both; }

/*
	----------------------------------------

	 utility

	----------------------------------------


/** sp
/**************************************/
/** head
/**************************************/
.head {
  position: relative;
  margin: 0 0 20px;
  font-weight: normal; }
  .head.img {
    margin: 0 0 40px; }
  .head.line {
    padding: 0 0 25px;
    background: url("/shared/img/common/line_head.png") no-repeat left bottom; }
  .head .btn {
    position: absolute;
    top: 0;
    right: 0; }
    .head .btn a {
      color: #666;
      padding: 0 0 0 20px; }
    .head .btn.next a {
      background: url("/shared/img/common/arrow_right_gray.png") no-repeat left 2px;
      background-size: 7px auto; }
    .head .btn.prev a {
      background: url("/shared/img/common/arrow_left_gray.png") no-repeat left 2px;
      background-size: 7px auto; }
  .head .en {
    color: #777; }

/** block
/**************************************/
.block {
  margin: 0 0 40px; }

/** table
/**************************************/
.table {
  margin: 0 0 40px; }
  .table table th, .table table td {
    padding: 12px 0;
    border-bottom: 1px dotted #333;
    line-height: 1.7; }
  .table table th {
    width: 20%; }
  .table table dl dt {
    clear: both;
    width: 180px;
    float: left; }
  .table table dl dd {
    float: left; }

/** parenthesis
/**************************************/
.parenthesis {
  display: inline-block;
  text-indent: -0.5em;
  margin-right: -0.2em; }

/** font */
/**************************************/
.min {
  font-size: 20px;
  font-family: "heisei-mincho-std", "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "メイリオ", "ＭＳ Ｐ明朝", "MS PMincho", Meiryo, sans-serif;
  margin-right: 10px; }

.en {
  font-size: 12px;
  font-family: "Neuton", serif;
  font-weight: 300; }

.font14 {
  font-size: 14px; }

/** hover */
/**************************************/
.hover a:hover {
  opacity: 0.7;
  -ms-filter: "alpha(opacity=70)";
  filter: alpha(opacity=70); }

/** width */
/**************************************/
.w_max_100 {
  max-width: 100% !important; }

.w_max_90 {
  max-width: 90%  !important; }

.w_auto {
  width: auto !important; }

.wp_100 {
  width: 100% !important; }

.wp_98 {
  width: 98% !important; }

.wp_92 {
  width: 92% !important; }

.wp_90 {
  width: 90% !important; }

.wp_80 {
  width: 80% !important; }

.wp_70 {
  width: 70% !important; }

.wp_65 {
  width: 65% !important; }

.wp_60 {
  width: 60% !important; }

.wp_50 {
  width: 50% !important; }

.wp_40 {
  width: 40% !important; }

.wp_30 {
  width: 30% !important; }

.wp_20 {
  width: 20% !important; }

.wp_15 {
  width: 15% !important; }

.wp_10 {
  width: 10% !important; }

.wp_8 {
  width: 8% !important; }

.wp_5 {
  width: 5% !important; }

.wp_4 {
  width: 4% !important; }

.wp_3 {
  width: 3% !important; }

.wp_2 {
  width: 2% !important; }

.wp_1 {
  width: 1% !important; }

.w_740 {
  width: 740px !important; }

.w_750 {
  width: 750px !important; }

.w_670 {
  width: 670px !important; }

.w_600 {
  width: 600px !important; }

.w_590 {
  width: 590px !important; }

.w_580 {
  width: 580px !important; }

.w_570 {
  width: 570px !important; }

.w_560 {
  width: 560px !important; }

.w_550 {
  width: 550px !important; }

.w_540 {
  width: 540px !important; }

.w_530 {
  width: 530px !important; }

.w_520 {
  width: 520px !important; }

.w_510 {
  width: 510px !important; }

.w_500 {
  width: 500px !important; }

.w_490 {
  width: 490px !important; }

.w_480 {
  width: 480px !important; }

.w_470 {
  width: 470px !important; }

.w_460 {
  width: 460px !important; }

.w_450 {
  width: 450px !important; }

.w_440 {
  width: 440px !important; }

.w_430 {
  width: 430px !important; }

.w_420 {
  width: 420px !important; }

.w_410 {
  width: 410px !important; }

.w_400 {
  width: 400px !important; }

.w_390 {
  width: 390px !important; }

.w_380 {
  width: 380px !important; }

.w_370 {
  width: 370px !important; }

.w_360 {
  width: 360px !important; }

.w_350 {
  width: 350px !important; }

.w_340 {
  width: 340px !important; }

.w_330 {
  width: 330px !important; }

.w_320 {
  width: 320px !important; }

.w_310 {
  width: 310px !important; }

.w_300 {
  width: 300px !important; }

.w_290 {
  width: 290px !important; }

.w_280 {
  width: 280px !important; }

.w_270 {
  width: 270px !important; }

.w_260 {
  width: 260px !important; }

.w_250 {
  width: 250px !important; }

.w_240 {
  width: 240px !important; }

.w_230 {
  width: 230px !important; }

.w_220 {
  width: 220px !important; }

.w_210 {
  width: 210px !important; }

.w_200 {
  width: 200px !important; }

.w_190 {
  width: 190px !important; }

.w_180 {
  width: 180px !important; }

.w_170 {
  width: 170px !important; }

.w_160 {
  width: 160px !important; }

.w_150 {
  width: 150px !important; }

.w_140 {
  width: 140px !important; }

.w_130 {
  width: 130px !important; }

.w_120 {
  width: 120px !important; }

.w_110 {
  width: 110px !important; }

.w_100 {
  width: 100px !important; }

/** margin */
/**************************************/
.ma0 {
  margin: 0px !important; }

.ma5 {
  margin: 5px !important; }

.ma10 {
  margin: 10px !important; }

.ma15 {
  margin: 15px !important; }

.ma20 {
  margin: 20px !important; }

.mt0 {
  margin-top: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr0 {
  margin-right: 0px !important; }

.mr5 {
  margin-right: 5px !important; }

.mr10 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr20 {
  margin-right: 20px !important; }

.mr25 {
  margin-right: 25px !important; }

.mr30 {
  margin-right: 30px !important; }

.mr35 {
  margin-right: 35px !important; }

.mr40 {
  margin-right: 40px !important; }

.mr45 {
  margin-right: 45px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml0 {
  margin-left: 0px !important; }

.ml5 {
  margin-left: 5px !important; }

.ml10 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

.ml25 {
  margin-left: 25px !important; }

.ml30 {
  margin-left: 30px !important; }

.ml35 {
  margin-left: 35px !important; }

.ml40 {
  margin-left: 40px !important; }

.ml45 {
  margin-left: 45px !important; }

.ml50 {
  margin-left: 50px !important; }

.ml120 {
  margin-left: 120px !important; }

.ma_auto {
  margin-left: auto;
  margin-right: auto; }

/** padding */
/**************************************/
.pa0 {
  padding: 0px !important; }

.pa3 {
  padding: 3px !important; }

.pa5 {
  padding: 5px !important; }

.pa10 {
  padding: 10px !important; }

.pa15 {
  padding: 15px !important; }

.pa20 {
  padding: 20px !important; }

.pt0 {
  padding-top: 0px !important; }

.pt5 {
  padding-top: 5px !important; }

.pt10 {
  padding-top: 10px !important; }

.pt15 {
  padding-top: 15px !important; }

.pt20 {
  padding-top: 20px !important; }

.pt25 {
  padding-top: 25px !important; }

.pt30 {
  padding-top: 30px !important; }

.pt35 {
  padding-top: 35px !important; }

.pt40 {
  padding-top: 40px !important; }

.pt45 {
  padding-top: 45px !important; }

.pt50 {
  padding-top: 50px !important; }

.pr0 {
  padding-right: 0px !important; }

.pr5 {
  padding-right: 5px !important; }

.pr10 {
  padding-right: 10px !important; }

.pr15 {
  padding-right: 15px !important; }

.pr20 {
  padding-right: 20px !important; }

.pr25 {
  padding-right: 25px !important; }

.pr30 {
  padding-right: 30px !important; }

.pr35 {
  padding-right: 35px !important; }

.pr40 {
  padding-right: 40px !important; }

.pr45 {
  padding-right: 45px !important; }

.pr50 {
  padding-right: 50px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl0 {
  padding-left: 0px !important; }

.pl5 {
  padding-left: 5px !important; }

.pl10 {
  padding-left: 10px !important; }

.pl15 {
  padding-left: 15px !important; }

.pl20 {
  padding-left: 20px !important; }

.pl25 {
  padding-left: 25px !important; }

.pl30 {
  padding-left: 30px !important; }

.pl35 {
  padding-left: 35px !important; }

.pl40 {
  padding-left: 40px !important; }

.pl45 {
  padding-left: 45px !important; }

.pl50 {
  padding-left: 50px !important; }

/** text-align */
/**************************************/
.txt_center {
  text-align: center; }

.txt_left {
  text-align: left; }

.txt_right {
  text-align: right; }

/** float */
/**************************************/
.f_left {
  float: left !important; }

.f_right {
  float: right !important; }

/** clear */
/**************************************/
.clear {
  clear: both !important; }

.fix {
  display: inline-block; }

.fix:after {
  content: "";
  height: 0;
  clear: both;
  visibility: hidden;
  display: block; }

/*\*/
* html .fix {
  height: 1%; }

.fix {
  display: block; }

/*
	-------------------- Page Layouts --------------------

	Page Layouts.

	-------------------- Page Layouts --------------------
*/
/** BASIC */
/**************************************/
::selection {
  background: #000;
  color: #fff; }

::-moz-selection {
  background: #000;
  color: #fff; }

html, body {
  height: 100%; }

html {
  overflow-y: scroll; }

a:visited,
a {
  color: #272e64; }

/** header */
/**************************************/
header {
  width: 100%;
  font-size: 13px;
  font-family: 'Yantramanav', sans-serif;
  font-weight: 700;
  position: fixed;
  z-index: 1000;
  height: 60px; }
  header a {
    color: #000; }
  header h1 {
    position: absolute;
    top: 22px;
    left: 30px;
    font-weight: 900;
    font-size: 20px; }
    header h1 span {
      position: relative;
      top: -2px;
      padding: 0 0 0 15px;
      font-size: 12px;
      font-weight: normal; }
    @media only screen and (max-width: 640px) {
      header h1 {
        top: 14px;
        font-size: 18px;
        left: 20px; } }
    header h1 a,
    header h1 a:visited {
      color: #000; }
  header nav {
    position: absolute;
    top: 22px;
    right: 30px;
    overflow: hidden; }
    @media only screen and (max-width: 640px) {
      header nav {
        display: none; } }
    header nav li {
      font-size: 14px;
      float: left;
      margin: 0 0 0 30px; }
      header nav li.through {
        text-decoration: line-through; }
      header nav li a,
      header nav li a:visited {
        display: block;
        color: #000;
        padding-bottom: 14px; }
        header nav li a:hover, header nav li a.current,
        header nav li a:visited:hover,
        header nav li a:visited.current {
          border-bottom: 2px solid #000; }

/** footer */
/**************************************/
footer {
  width: 100%;
  font-size: 13px;
  font-family: 'Yantramanav', sans-serif;
  font-weight: 700;
  position: fixed;
  bottom: 0px;
  z-index: 1000; }
  footer p {
    position: absolute;
    bottom: 30px;
    left: 30px; }
    footer p a {
      color: #000; }
  footer small {
    position: absolute;
    bottom: 20px;
    right: 30px; }

/** #containers */
/**************************************/
#containers {
  width: 1200px;
  min-width: 1130px;
  max-width: 1400px;
  width: 100%;
  margin: auto;
  padding: 140px 80px 60px; }

/** #about */
/**************************************/
#about {
  padding: 40px 0 150px; }
  #about h2 {
    font-family: 'Yantramanav', sans-serif;
    font-size: 14px;
    margin: 0 0 30px;
    position: relative; }
    #about h2:after {
      content: '';
      width: 15px;
      height: 1px;
      background: #000;
      position: absolute;
      top: -50px;
      left: 0; }
  #about h3 {
    margin: 0 0 10px; }
  #about p {
    margin: 0 0 10px; }
  #about .icon {
    width: 80px;
    float: left;
    margin: 0 40px 0 0; }
    #about .icon img {
      width: 100%; }
  #about .profile {
    float: left; }
  #about a {
    text-decoration: underline; }

/** #projects */
/**************************************/
#projects {
  overflow: hidden;
  position: relative;
  width: 100%; }
  @media only screen and (max-width: 640px) {
    #projects {
      width: 100%;
      margin: 0;
      padding: 50px 20px 20px; } }

.project {
  margin: 0 0 120px;
  padding: 0 0 120px;
  height: 480px;
  position: relative; }
  .project:after {
    content: '';
    width: 15px;
    height: 1px;
    background: #000;
    position: absolute;
    left: 0px;
    top: 0px; }
  @media only screen and (max-width: 640px) {
    .project {
      margin: 0 0 40px;
      padding: 30px 0 40px;
      height: auto; } }
  .project .meta {
    width: 440px;
    width: 41.6666666667%;
    float: left;
    position: relative; }
    @media only screen and (max-width: 640px) {
      .project .meta {
        width: 100%;
        margin: 0 0 20px;
        float: none;
        height: auto; } }
    .project .meta .title {
      padding: 0 0 20px;
      margin: 90px 0 20px;
      position: relative; }
      .project .meta .title:after {
        content: '';
        height: 2px;
        background: #000;
        position: absolute;
        bottom: 0; }
      @media only screen and (max-width: 640px) {
        .project .meta .title {
          margin: 10px 0; } }
      .project .meta .title h2 {
        font-size: 36px;
        margin: 0 0 50px;
        line-height: 1.2; }
        @media only screen and (max-width: 640px) {
          .project .meta .title h2 {
            margin: 0 0  10px; } }
        .project .meta .title h2.s {
          font-size: 30px; }
        .project .meta .title h2 a {
          color: #000; }
        @media only screen and (max-width: 640px) {
          .project .meta .title h2 {
            font-size: 26px; } }
      .project .meta .title li {
        font-size: 11px;
        font-family: 'Yantramanav', sans-serif;
        font-weight: 400; }
        .project .meta .title li span {
          display: inline-block;
          width: 45px;
          color: #a1a1a1; }
        @media only screen and (max-width: 640px) {
          .project .meta .title li {
            font-size: 12px; } }
        .project .meta .title li a {
          color: #000; }
          .project .meta .title li a.through {
            text-decoration: line-through; }
      .project .meta .title .copy {
        margin: 0 0 20px;
        font-size: 12px; }
    .project .meta .link {
      width: 100%; }
      .project .meta .link a {
        -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        display: block;
        color: #000;
        border-bottom: 1px solid #000;
        padding: 15px 0;
        font-size: 15px;
        font-family: 'Yantramanav', sans-serif;
        font-weight: 700;
        position: relative; }
        @media only screen and (max-width: 640px) {
          .project .meta .link a {
            background: #000;
            color: #fff;
            text-align: center; } }
        .project .meta .link a span {
          -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
          -moz-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
          padding-left: 0;
          position: relative;
          z-index: 1000; }
        .project .meta .link a:before {
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          content: '';
          width: 0%;
          height: 60px;
          background: #000;
          position: absolute;
          bottom: 0; }
        .project .meta .link a:hover {
          text-decoration: none; }
          .project .meta .link a:hover span {
            padding-left: 20px; }
  .project .cap {
    width: 590px;
    width: 50%;
    height: auto;
    float: right;
    position: relative;
    overflow: hidden; }
    .project .cap:before {
      content: '';
      display: block;
      width: 100%;
      padding-top: 71.7346938776%; }
    @media only screen and (max-width: 640px) {
      .project .cap {
        width: 100%;
        height: auto;
        margin: 0 0 20px;
        padding: 20px;
        float: none; }
        .project .cap:before {
          content: '';
          display: block;
          width: 100%;
          padding-top: 71.7346938776%; } }
    .project .cap:hover .link {
      opacity: 1; }
      .project .cap:hover .link span {
        opacity: 1;
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px); }
    .project .cap .link {
      -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: rgba(0, 0, 0, 0.85);
      width: 100%;
      height: 480px;
      text-align: center;
      opacity: 0;
      z-index: 1000; }
      .project .cap .link span {
        display: block;
        opacity: 0;
        -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        -moz-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        -webkit-transform: translateY(20px);
        -moz-transform: translateY(20px);
        -ms-transform: translateY(20px);
        -o-transform: translateY(20px);
        transform: translateY(20px); }
      .project .cap .link a,
      .project .cap .link a:visited {
        width: 100%;
        height: 100%;
        line-height: 480px;
        display: block;
        color: #fff;
        font-size: 14px;
        font-family: 'Yantramanav', sans-serif;
        font-weight: 400; }
        .project .cap .link a:hover,
        .project .cap .link a:visited:hover {
          text-decoration: none; }
    .project .cap img {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
