@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	box-sizing: border-box;
}

body {
    line-height:1;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    color: #0645ad;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

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

hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

body {
    color: #333333;
    font-size: 14px;
    line-height: 1.6;
	letter-spacing: 1px;
    font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* Typography */
:root {
    --font-family-ja: "Zen Kaku Gothic New", sans-serif;
    --font-family-en: "Anonymous Pro", "Zen Kaku Gothic New", monospace;
    --font-family-enAlt: "Montserrat", "Zen Kaku Gothic New", serif;
}

html {
    font-size: 10px;
    caret-color: transparent;
}

.ja {
    font-family: var(--font-family-js);
	font-weight: 400;
	font-style: normal;
    line-height: 2.3rem;
    letter-spacing: 0px;
}

.ja--small {
    font-family: var(--font-family-js);
	font-weight: 400;
	font-style: normal;
    line-height: 2.3rem;
    letter-spacing: 0px;
    font-size: 1.25rem;
}

.en {
    font-family: var(--font-family-en);
    font-weight: 400;
    font-style: normal;
    line-height: 2.0rem;
    letter-spacing: 0px;
  }

  .en--p {
    font-family: var(--font-family-enAlt);
    font-weight: 400;
    font-style: normal;
    line-height: 2.0rem;
    letter-spacing: 0px;
  }
  

  h1 {
    font-family: "TimesNewRoman","Times New Roman","Times,Baskerville","Georgia",serif; 
    font-weight: 400;
    font-size: 1.75rem;
    margin-bottom: 24px;
    letter-spacing: 0px;
  }

  h2 {
    font-family: "TimesNewRoman","Times New Roman","Times,Baskerville","Georgia",serif; 
    font-weight: 400;
    font-size: 1.75rem;
    margin-bottom: 24px;
    letter-spacing: 0px;
  }

  p {
    font-size: 1.25rem;
    line-break: auto;
  }

  .large {
    font-size: 1.3rem;
    line-height: 2.5rem;
  }

/* Layout */
.layout__header {
    display: block;
    position: fixed;
    left: 0;
    width: 240px;
    height: 100%;
    border-right: 1px solid #000;
    padding: 180px 30px 60px 30px;
    transition: transform 0.3s ease;
}

.layout__content {
    display: block;
    width: calc(100vw - 240px);
    margin-left: 240px;
    padding: 130px 54px;
    transition: margin-left 0.3s ease, width 0.3s ease;
}

@media (max-width: 960px) {
    .layout__header {
        transform: translateX(-240px);
    }

    .layout__content {
        width: 100%;
        margin-left: 0;
        padding: 60px 40px 0 40px;
    }
}

/* Assets */
.button {
    width: 90%;
    max-width: 90px;
    box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.4);
    transition: box-shadow 0.3s ease;
}

.button:hover {
    box-shadow: 4px 5px 6px rgba(0, 0, 0, 0.5);
}

/* Header */
header {
    font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    font-weight: 500;
    font-size: 1.7rem;
    padding: 180px 30px 60px 30px;
    
}

.nav {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.nav__logo {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 50px;
    margin-bottom: 88px;
}

.nav ul {
    list-style: none;
    margin-bottom: 32px;
}

.nav li {
    margin-bottom: 8px;
}

header a {
    color: #0645ad;
    text-decoration: none;
}

header a:hover {
    text-decoration: underline;
}

.nav__lang {
    margin-top: auto;
    margin-bottom: 60px;
    font-weight: 400;
}
@keyframes slideInFromTop {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.sp__header {
    display: none;
}

@media (max-width: 960px) {
    .sp__header {
        position: relative;
        display: block;
        margin: 50px 40px 0px 40px;
        height: 60px;
    }

    .nav__logo--sp {
        position: absolute;
        left: 0;
        top: 0;
        width: 30px;
    }

    .nav__lang--sp {
        position: absolute;
        font-size: 1.25rem;
        right: 0;
        top: 0;
    }
}

/* Footer */
.sp__footer {
    display: none;
}

@media (max-width: 960px) {
    .sp__footer {
        display: block;
        margin: 0 40px;
        padding: 54px 0;
        border-top: 1px solid #000;
    }

    .nav--sp {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
        font-weight: 500;
        font-size: 1.5rem;
    }

    .nav--sp ul {
        list-style: none;
        margin-bottom: 32px;
    }
}

/* Enter */
.enter__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
}

.enter__button {
    margin-top: 100px;
    margin-bottom: 72px;
}

.enter__logo {
    width: 42px;
    transition: all 0.3s ease;
}

.enter__img {
    max-width: 690px;
    transition: all 0.3s ease;
}

@media (max-width: 960px) {
    .enter__logo {
        width: 39px;
        transition: all 0.3s ease;
    }

    .enter__img {
        max-width: 300px;
        transition: all 0.3s ease;
    }
}

/* Top */
.top__content {
    max-width: 750px;
    display: inline-block;
}

.top__logo {
    width: 84px;
    margin-bottom: 24px;
}

.top__img {
    margin: 10px 0;
    width: 70%;
    float: right;
}

@media (max-width: 960px) {
    .top__logo {
        width: 66px;
        margin-bottom: 22px;
    }
}

/* About */
.about__content {
    max-width: 750px;
}

.about__profile {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.about__profile__text {
    width:520px;
}

.about__profile__img {
    width: 156px;
}

.about__graffiti {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 400px
}

.about__graffiti1 {
    width: 220px;
}

.about__graffiti2 {
    width: 170px;
}

@media (max-width: 960px) {

    .about__profile {
        flex-direction: column;
    }

    .about__profile:last-child {
        margin-bottom: 160px;
    }

    .about__profile__text {
        width: 100%;
    }
    
    .about__profile__img {
        order: -1;
        width: 50%;
        margin: 0 auto 24px auto;
    }

    .about__graffiti1 {
        width: 170px;
    }

    .about__graffiti2 {
        width: 90px;
    }
}

/* Works */
.works__inner {
    display: flex;
    position: relative;
    justify-content: center;
    flex-direction: column;
    max-width: 967px;
}

.works__title {
    margin-top: 50px;
    margin-bottom: 80px;
}

.works__thumbnail {
    max-width: 750px;
    margin: 0 auto 80px auto;
    display: block;
}

.works__content {
    max-width: 750px;
    margin: 0 auto;
}

.works__content p {
    margin-bottom: 80px;
}

.works__content img {
    display: block;
    margin: 0 auto 80px auto;
    width: 100%;
}

.works__content img.tall {
    width: 80%;
    margin: 0 auto 80px auto;
    transition: all 0.3s ease;
}

.works__file {
    text-align: center;
    padding: 0 0 80px 0;
}

.works__file__button {
    text-align: center;
    width: 90%;
    max-width: 180px;
}

.works__credit {
    width: calc(100% + 54px);
    border-top: 1px solid #000;
    padding-top: 80px;
    margin-left: -54px;
    padding-left: 54px;
}

.works__credit--jp strong {
    font-family: var(--font-family-en);
}

.works__credit--jp p {
    line-height: 2rem;
}

.works__grafitti {
    width: 100px;
    position: absolute;
    right: 80px;
    bottom: 0;
    transition: transform 0.1s ease;
}

.works__grafitti:hover {
    transform: rotate(5deg);
    transition: transform 0.1s ease;
}

@media (max-width: 960px) {
    .works__content img {
        margin: 0 auto 60px auto;
    }
    
    .works__content img.tall {
        width: 60%;
        margin: 0 auto 60px auto;
        transition: all 0.3s ease;
    }

    .works__file {
        margin-bottom: 0px;
        padding: 0 0 60px 0;
    }

    .works__credit {
        width: 100%;
        border-top: 1px solid #000;
        padding-top: 40px;
        padding-bottom: 40px;
        margin-left: 0;
        padding-left: 0;
    }

    .works__grafitti {
        width: 90px;
        right: 0px;
        bottom: -250px;
    }
}

/* News */
.news__inner {
    display: flex;
    position: relative;
    justify-content: center;
    flex-direction: column;
    max-width: 967px;
}

.news__title {
    margin-top: 50px;
    margin-bottom: 80px;
}

.news__thumbnail {
    max-width: 750px;
    margin: 0 auto 80px auto;
    display: block;
}

.news__content {
    max-width: 750px;
    margin: 0 auto;
}

.news__content p {
    margin-bottom: 40px;
}

.news__content img {
    display: block;
    margin: 0 auto 40px auto;
    width: 100%;
}

.news__content img.tall {
    width: 80%;
    margin: 0 auto 80px auto;
    transition: all 0.3s ease;
}

.news__file {
    text-align: center;
    padding: 0 0 80px 0;
}

.news__file__button {
    text-align: center;
    width: 90%;
    max-width: 180px;
}

.news__credit {
    width: calc(100% + 54px);
    border-top: 1px solid #000;
    padding-top: 80px;
    margin-left: -54px;
    padding-left: 54px;
}

.news__credit--jp strong {
    font-family: var(--font-family-en);
}

.news__credit--jp p {
    line-height: 2rem;
}

.news__grafitti {
    width: 100px;
    position: absolute;
    right: 80px;
    bottom: 0;
    transition: transform 0.1s ease;
}

.news__grafitti:hover {
    transform: rotate(5deg);
    transition: transform 0.1s ease;
}

@media (max-width: 960px) {
    .news__content img {
        margin: 0 auto 60px auto;
    }
    
    .news__content img.tall {
        width: 60%;
        margin: 0 auto 60px auto;
        transition: all 0.3s ease;
    }

    .news__file {
        margin-bottom: 0px;
        padding: 0 0 60px 0;
    }

    .news__credit {
        width: 100%;
        border-top: 1px solid #000;
        padding-top: 40px;
        padding-bottom: 40px;
        margin-left: 0;
        padding-left: 0;
    }

    .news__grafitti {
        width: 90px;
        right: 0px;
        bottom: -250px;
    }
}

/* News Archive */
.news__archive__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 0 2.5vw;
    max-width: 967px;
}

.news__archive__inner a:visited {
	color: #681DA8;
}

.news__project {
    display: flex;
    flex-direction: row;
    border-top: 1px solid #000;
    padding: 16px 0;
  }

.news__project.last-project {
    border-bottom: 1px solid #000;
}
.news__column {
    flex: 1;
    padding: 0 8px;
}

.news__column.date {
    flex: 0 0 10%;
}

.news__column.project {
    flex: 0 0 90%;
}

.news__graffiti {
    text-align: center;
    margin: 120px 0;
}

.news__graffiti img {
    width: 100px;
}

@media (max-width: 960px) {
    .news__archive__inner {
        margin: 0;
    }

    .news__project {
        flex-direction: column;
        border-top: 1px solid #000;
      }

    .news__column {
        padding: 4px 0;
    }

    .news__graffiti {
        text-align: center;
        margin: 80px 0;
    }
}

/* Works Archive */
.works__archive__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 0 2.5vw;
    max-width: 967px;
}

.works__archive__inner a:visited {
	color: #681DA8;
}

.works__project {
    display: flex;
    flex-direction: row;
    border-top: 1px solid #000;
    padding: 16px 0;
  }

.works__project.last-project {
    border-bottom: 1px solid #000;
}
.works__column {
    flex: 1;
    padding: 0 8px;
}

.works__column.date {
    flex: 0 0 10%;
}

.works__column.project {
    flex: 0 0 30%;
}

.works__column.category {
    flex: 0 0 20%;
}

.works__column.category a {
    color: #000;
}

.works__column.location {
    flex: 0 0 20%;
}

.works__column.client {
    flex: 0 0 20%;
}

.works__graffiti {
    text-align: center;
    margin: 120px 0;
}

.works__graffiti img {
    width: 100px;
}

@media (max-width: 960px) {
    .works__archive__inner {
        margin: 0;
    }

    .works__project {
        flex-direction: column;
        border-top: 1px solid #000;
      }

    .works__column {
        padding: 4px 0;
    }

    .works__graffiti {
        text-align: center;
        margin: 80px 0;
    }
}

/**/
img {
    width: 100%;
    height: auto;
}


.ant {
    position: absolute;
    bottom: 0;
    right: 10%;
    width: 20px;
    transition: right 1s ease;
}