/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}img{border-style:none}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}
@charset "UTF-8";
html {
  overflow-x: hidden;
  overflow-y: scroll;
  line-height: 1.6;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Helvetica, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 62.5%;
  letter-spacing: 0.0625em; }

body {
  overflow-x: hidden;
  font-size: 1rem;
  font-weight: normal;
  color: #000; }

header, footer, main, nav,
section, article, aside,
h1, h2, h3, h4,
figure, figcaption, table,
p, ul, li, dl, dd, dt, th, td, button,
a, input, textarea, select,
hr {
  box-sizing: border-box; }

h1, h2, h3, h4 {
  line-height: 1;
  font-size: 1rem;
  font-weight: normal; }

h3, h4 {
  line-height: 1.2; }

p, li, dd, dt, th, td, button, figcaption,
a, input, textarea, select {
  font-size: 1.6rem; }

li {
  list-style: none; }

a {
  display: block;
  text-decoration: none;
  color: #000;
  transition: 0.5s; }

img {
  display: block;
  width: 100%;
  height: auto; }

button {
  outline: none;
  display: block;
  border-radius: 0;
  cursor: pointer; }

input {
  outline: 0;
  display: block; }

textarea {
  outline: 0;
  display: block; }

select {
  outline: 0;
  border-radius: 0; }

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

svg {
  display: block; }
  svg:not(:root) {
    overflow: visible; }

.disNone {
  display: none !important; }

.disBlock {
  display: block !important; }

.spDisBlock {
  display: block !important; }
  @media screen and (min-width: 960px) {
    .spDisBlock {
      display: none !important; } }

.pcDisBlock {
  display: none !important; }
  @media screen and (min-width: 960px) {
    .pcDisBlock {
      display: block !important; } }

.spDisFlex {
  display: flex !important; }
  @media screen and (min-width: 960px) {
    .spDisFlex {
      display: none !important; } }

.pcDisFlex {
  display: none !important; }
  @media screen and (min-width: 960px) {
    .pcDisFlex {
      display: flex !important; } }

.textAL {
  text-align: left !important; }

.textAC {
  text-align: center !important; }

.textAR {
  text-align: right !important; }

.fontWB {
  font-weight: bold !important; }

html {
  font-family: 'Muli', YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Helvetica, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

body {
  position: relative;
  padding-bottom: 150px; }
  body::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent linear-gradient(90deg, #FFFFFF 0%, #DADADA 12%, #AAAAAA 30%, #C3C3C3 42%, #B0B0B0 54%, #EAEAEA 69%, #FAFAFA 80%, #FFFFFF 100%) 0 0 no-repeat padding-box;
    opacity: 0.2; }

.inner {
  padding: 0 10%; }

.main {
  margin-top: 130px; }
  .main .sec .heading {
    display: table;
    padding-bottom: 10px;
    font-size: 1.6rem;
    border-bottom: 4px solid #707070; }
  .main .back {
    margin-top: 100px; }
    .main .back a {
      font-size: 1.2rem; }

.information_list {
  margin-top: 60px; }

.information_item {
  margin-top: 100px; }
  .information_item:first-child {
    margin-top: 0; }
  .information_item_date {
    font-size: 1.2rem;
    color: #707070; }
  .information_item_title {
    margin-top: 15px;
    font-size: 1.8rem; }
  .information_item_text {
    margin-top: 30px; }
    .information_item_text p {
      font-size: 1.4rem; }

.about_profile {
  position: relative;
  margin-top: 60px; }
  .about_profile_heading {
    font-size: 1.2rem; }
  .about_profile_name {
    margin-top: 15px;
    font-size: 1.8rem; }
  .about_profile_romaji {
    margin-top: 5px;
    font-size: 1.2rem;
    color: #707070; }
  .about_profile_position {
    margin-top: 15px;
    font-size: 1.2rem; }
  .about_profile_text {
    margin-top: 30px;
    font-size: 1.4rem; }
  .about_profile_twitter {
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: auto; }
    .about_profile_twitter a svg path {
      fill: #818181; }

.contact_offer {
  margin-top: 60px; }
  .contact_offer_text {
    font-size: 1.4rem; }
  .contact_offer_mail {
    margin-top: 20px; }
    .contact_offer_mail a {
      font-size: 1.8rem; }

.contact_map {
  margin-top: 45px; }
  .contact_map figcaption {
    line-height: 1.8;
    margin-top: 25px;
    font-size: 1.4rem; }

.top .works_list,
.category .works_list {
  margin-top: 60px; }

.top .works_item_title,
.category .works_item_title {
  line-height: 1.6;
  margin-top: 15px;
  font-size: 1.4rem; }
  .top .works_item_titleSwiper,
  .category .works_item_titleSwiper {
    margin-top: 50px; }

.top .works .swiper-container,
.category .works .swiper-container {
  overflow: visible; }
  .top .works .swiper-container .swiper-button-prev,
  .top .works .swiper-container .swiper-button-next,
  .category .works .swiper-container .swiper-button-prev,
  .category .works .swiper-container .swiper-button-next {
    outline: none;
    display: none; }
  .top .works .swiper-container .swiper-pagination,
  .category .works .swiper-container .swiper-pagination {
    bottom: auto;
    margin-top: 20px; }
  .top .works .swiper-container .swiper-pagination-bullet,
  .category .works .swiper-container .swiper-pagination-bullet {
    outline: none;
    background: white;
    border: 1px solid #707070; }
  .top .works .swiper-container .swiper-pagination-bullet-active,
  .category .works .swiper-container .swiper-pagination-bullet-active {
    background: #818181;
    border: 1px solid #707070; }

.top .works .down,
.top .works .up,
.category .works .down,
.category .works .up {
  display: none; }

.top .side,
.category .side {
  display: none; }

.loading {
  position: fixed;
  z-index: 998;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  background: white; }
  .loading::before {
    content: '';
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    background: transparent linear-gradient(90deg, #FFFFFF 0%, #DADADA 12%, #AAAAAA 30%, #C3C3C3 42%, #B0B0B0 54%, #EAEAEA 69%, #FAFAFA 80%, #FFFFFF 100%) 0 0 no-repeat padding-box;
    opacity: 0.2;
    width: 100%;
    height: 100%; }
  .loading_logo {
    width: 70%;
    height: auto;
    padding-left: 10%; }
    .loading_logo svg path {
      fill: #3E3A39; }
    .loading_logo.hidden {
      visibility: hidden; }

.cursor {
  visibility: hidden;
  display: none;
  opacity: 0; }

@media screen and (min-width: 960px) {
  *::selection {
    color: white;
    background: #3E3A39; }
  html {
    overflow: hidden; }
  body {
    overflow: hidden;
    padding-bottom: 0; }
  button {
    transition: 0.3s; }
  a,
  button {
    cursor: pointer !important; }
    a:hover,
    button:hover {
      opacity: .2; }
  .wrapper {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 0 0 0 5%; }
  .inner {
    padding: 0; }
  .main {
    width: 100%; }
    .main .sec .heading {
      width: auto; }
    .main .sec .right {
      margin-left: 50px; }
  .information .inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 5%; }
  .information_list {
    margin-top: 0;
    width: 630px; }
  .about .inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 5%; }
  .about_profile {
    width: 500px;
    margin-top: 0; }
    .about_profile_text {
      margin-top: 5px; }
  .contact .inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 5%;
    max-width: 600px; }
  .contact_offer {
    margin-top: 0;
    width: 415px; }
  .top,
  .category {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-top: 0; }
    .top .works,
    .category .works {
      position: relative;
      width: 100%;
      padding-left: 5%; }
      .top .works .heading,
      .category .works .heading {
        position: fixed;
        top: 130px; }
      .top .works .right,
      .category .works .right {
        overflow-y: scroll;
        width: 100%;
        height: calc(100vh - 130px);
        margin-left: 0;
        margin-top: 130px; }
        .top .works .right::-webkit-scrollbar,
        .category .works .right::-webkit-scrollbar {
          width: 6px; }
          .top .works .right::-webkit-scrollbar-track,
          .category .works .right::-webkit-scrollbar-track {
            background: rgba(112, 112, 112, 0.5); }
          .top .works .right::-webkit-scrollbar-thumb,
          .category .works .right::-webkit-scrollbar-thumb {
            background: #707070; }
      .top .works .work,
      .category .works .work {
        margin: 150px auto;
        max-width: calc(450px + 80px);
        width: 70%;
        padding: 0 40px; }
        .top .works .work:first-child,
        .category .works .work:first-child {
          margin-top: 0; }
      .top .works_list,
      .category .works_list {
        margin-top: 0; }
      .top .works_item,
      .category .works_item {
        max-width: 450px;
        width: 100%; }
      .top .works .down,
      .top .works .up,
      .category .works .down,
      .category .works .up {
        writing-mode: vertical-rl;
        position: absolute;
        z-index: 1;
        bottom: 10%;
        right: 2.5%;
        display: block;
        font-size: 1rem;
        color: #707070; }
      .top .works .up a,
      .category .works .up a {
        font-size: 1rem;
        color: #707070; }
      .top .works .swiper-container,
      .category .works .swiper-container {
        overflow: hidden; }
        .top .works .swiper-container .swiper-button-prev,
        .top .works .swiper-container .swiper-button-next,
        .category .works .swiper-container .swiper-button-prev,
        .category .works .swiper-container .swiper-button-next {
          cursor: none;
          top: 0;
          display: block;
          width: calc(450px / 2);
          height: 100%;
          opacity: 0; }
        .top .works .swiper-container .swiper-button-prev,
        .category .works .swiper-container .swiper-button-prev {
          left: 0; }
        .top .works .swiper-container .swiper-button-next,
        .category .works .swiper-container .swiper-button-next {
          right: 0; }
    .top .side,
    .category .side {
      overflow-y: scroll;
      position: relative;
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      justify-content: center;
      width: 30%;
      height: calc(100vh - 130px);
      margin-top: 130px;
      margin-right: 10px; }
      .top .side::-webkit-scrollbar,
      .category .side::-webkit-scrollbar {
        width: 6px; }
        .top .side::-webkit-scrollbar-track,
        .category .side::-webkit-scrollbar-track {
          background: rgba(112, 112, 112, 0.5); }
        .top .side::-webkit-scrollbar-thumb,
        .category .side::-webkit-scrollbar-thumb {
          background: #707070; }
      .top .side_item,
      .category .side_item {
        width: 100px;
        height: auto;
        margin-top: 30px; }
        .top .side_item:first-child,
        .category .side_item:first-child {
          margin-top: 0; }
        .top .side_item:last-child,
        .category .side_item:last-child {
          padding-bottom: 100px; }
  .loading {
    justify-content: center; }
    .loading_logo {
      width: 235px;
      padding-left: 0; }
  .cursor {
    pointer-events: none;
    visibility: visible;
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    display: block;
    width: 30px;
    height: 30px;
    background: transparent;
    border: 1px solid #818181;
    border-radius: 50%;
    opacity: 0; }
    .cursor.prev {
      width: 48px;
      height: 48px;
      background-image: url(../../assets/images/cursor_prev.svg); }
    .cursor.next {
      width: 48px;
      height: 48px;
      background-image: url(../../assets/images/cursor_next.svg); } }

.header {
  position: fixed;
  z-index: 997;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  background: rgba(255, 255, 255, 0.9); }
  .header .inner {
    width: 100%; }
  .header_top {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
  .header_logo a {
    width: 130px;
    height: auto; }
    .header_logo a svg path {
      fill: #3E3A39; }
  .header_btn {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    width: 25px;
    height: 23px;
    position: relative; }
    .header_btn span {
      position: absolute;
      left: 0;
      display: block;
      width: 25px;
      height: 3px;
      margin: 0 auto;
      background: #707070;
      transition: 0.3s; }
      .header_btn span:nth-child(1) {
        top: 0; }
      .header_btn span:nth-child(2) {
        top: 10px; }
      .header_btn span:nth-child(3) {
        top: 20px; }
    .header_btn.on span:nth-child(1) {
      top: 9px;
      width: 22px;
      transform: rotate(315deg); }
    .header_btn.on span:nth-child(2) {
      width: 0;
      left: 50%; }
    .header_btn.on span:nth-child(3) {
      top: 9px;
      width: 22px;
      transform: rotate(-315deg); }
  .header_information {
    display: none; }
  .header_toggle {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background: white; }
  .header_menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 60px 0 0 10%; }
    .header_menu_item {
      margin-top: 45px; }
      .header_menu_item a,
      .header_menu_item button {
        font-size: 2rem;
        font-weight: bold; }
      .header_menu_item button {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center; }
        .header_menu_item button span {
          display: block;
          line-height: 1;
          margin-left: 80px;
          font-size: 2.6rem;
          font-weight: normal; }
      .header_menu_item:first-child {
        margin-top: 60px; }
    .header_menu_subList {
      display: none;
      margin-left: 70px; }
    .header_menu_subItem {
      margin-top: 30px; }
      .header_menu_subItem a {
        font-size: 1.6rem; }
    .header_menu_copyright {
      padding-bottom: 30px; }
      .header_menu_copyright small {
        font-size: 1rem;
        color: #707070; }

@media screen and (min-width: 960px) {
  .header {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 333px;
    height: 100vh;
    background: none; }
    .header .inner {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      flex-direction: column;
      justify-content: space-between;
      align-items: flex-start;
      width: 100%;
      height: 100%;
      padding: 130px 0 30px 0; }
    .header_top {
      display: block; }
    .header_logo a {
      width: 160px;
      height: auto; }
    .header_btn {
      display: none; }
    .header_information {
      display: block;
      margin-top: 30px; }
      .header_information_heading {
        font-size: 1.2rem;
        color: #707070; }
      .header_information_item {
        margin-top: 15px; }
        .header_information_item_top {
          display: flex;
          flex-wrap: nowrap;
          justify-content: flex-start; }
        .header_information_item_date, .header_information_item_title {
          font-size: 1.2rem; }
        .header_information_item_title {
          margin-left: 20px; }
    .header_toggle {
      position: static;
      z-index: 0;
      display: block !important;
      width: auto;
      height: auto;
      background: none; }
    .header_menu {
      padding: 0; }
      .header_menu_item {
        margin-top: 30px; }
        .header_menu_item:first-child {
          margin-top: 0; }
        .header_menu_item a,
        .header_menu_item button {
          display: table;
          font-size: 1.6rem;
          font-weight: normal; }
        .header_menu_item button {
          display: flex; }
          .header_menu_item button span {
            margin-left: 40px;
            font-family: YuGothic, "游ゴシック", sans-serif;
            font-size: 2rem;
            font-weight: normal; }
        .header_menu_item:nth-child(3) {
          position: relative; }
      .header_menu_subList {
        position: absolute;
        top: 5px;
        left: 60px;
        display: none;
        margin-left: 70px; }
      .header_menu_subItem:first-child {
        margin-top: 0; }
      .header_menu_subItem a {
        font-size: 1.2rem; }
      .header_menu_copyright {
        line-height: 1;
        margin-top: 90px;
        padding: 0; } }

@media all and (-ms-high-contrast: none) {
  .header .inner {
    padding-top: 70px; } }

