@charset "UTF-8";
/* CSS Document */
/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  width: 100%;
  height: 100%; }

*, ::before, ::after {
  box-sizing: inherit; }

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  background-repeat: no-repeat;
  padding: 0;
  margin: 0; }

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

small {
  font-size: 80%; }

[hidden], template {
  display: none; }

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none; }

a {
  color: white;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none; }

a:active, a:hover {
  outline-width: 0; }

b, strong {
  font-weight: bolder; }

input {
  border-radius: 0; }

button, [type="button"], [type="reset"], [type="submit"] [role="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: bold; }

button {
  overflow: visible; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -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; }

::-moz-selection {
  background-color: #b3d4fc;
  color: black;
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  color: black;
  text-shadow: none; }

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background: #0f1d38;
  color: white;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  font-family: 'Shippori Mincho',"游明朝体", "Yu Mincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.07em;
  width: 100%;
  height: 100%; }

img {
  vertical-align: middle; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: 1em; }

p {
  margin: 0; }

ol, ul {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

dl, dd {
  margin: 0; }

small {
  font-size: 100%; }

em {
  font-style: normal; }

::-moz-selection {
  background: #faef3a; }

::selection {
  background: #faef3a; }

/*
style
*/
img {
  width: 100%; }

.element {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s; }

.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0); }

.pc {
  display: none; }

.header {
  width: 100%;
  height: 80px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10; }
  .header .header__ttl {
    display: block;
    width: 80px;
    height: 80px;
    background: url(../images/logo_white.png) no-repeat;
    background-size: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 20px;
    left: 16px; }

.fixed {
  display: none; }

.nav {
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  z-index: 10;
  font-family: 'EB Garamond', serif; }
  .nav .nav__btn {
    display: block;
    padding: 12px 25px 12px 0;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 101;
    line-height: 80px; }
    .nav .nav__btn .nav__btnToggle,
    .nav .nav__btn .nav__btnToggle::before,
    .nav .nav__btn .nav__btnToggle::after {
      content: "";
      position: absolute;
      display: block;
      width: 24px;
      height: 2px;
      border-color: white;
      background: white;
      cursor: pointer;
      -webkit-transition: all 300ms ease-in-out;
      transition: all 300ms ease-in-out; }
    .nav .nav__btn .nav__btnToggle::before {
      top: -10px; }
    .nav .nav__btn .nav__btnToggle::after {
      top: 10px; }
  .nav .nav__btn.active .nav__btnToggle {
    background-color: transparent; }
  .nav .nav__btn.active .nav__btnToggle::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
    left: 0;
    border-color: white;
    background: white; }
  .nav .nav__btn.active .nav__btnToggle::after {
    top: 10px;
    left: 0;
    -webkit-transform: translatey(-10px) rotate(-45deg);
    -ms-transform: translatey(-10px) rotate(-45deg);
    transform: translatey(-10px) rotate(-45deg);
    border-color: white;
    background: white; }
  .nav .nav__wrap {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    text-align: center;
    background: url(../images/bg.jpg);
    transform: none; }
  .nav .nav__link {
    color: white;
    line-height: 40px; }
  .nav .nav__wrap.enter {
    display: block;
    background: url(../images/bg.jpg);
    opacity: 1;
    animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal; }
  .nav .nav__wrap.leave {
    opacity: 0;
    animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 reverse;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 reverse; }
  .nav .nav__list {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .nav .nav__item {
    display: block;
    margin: 10px 0; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.element {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s; }

.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0); }

main {
  overflow: hidden; }

.bg {
  width: 100%;
  height: 100vh;
  background: url(../images/bg.jpg) center;
  background-size: cover;
  position: fixed;
  z-index: -1; }

.mainVisual {
  width: 100%;
  height: 90vh;
  position: relative;
  background: url(../images/visual.jpg) center;
  background-size: cover;
  position: relative; }
  .mainVisual h1, .mainVisual p {
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    height: 0; }
  .mainVisual > * {
    position: absolute; }
  .mainVisual .mainTtl {
    width: 70%;
    padding-top: 51%;
    background: url(../images/logo.png) no-repeat;
    background-size: 100%;
    left: 50%;
    top: 25%;
    transform: translate(-50%, 0); }
  .mainVisual .copy_1 {
    width: 10%;
    padding-top: 110%;
    background: url(../images/copy_01.png) no-repeat;
    background-size: 100%;
    right: 0;
    top: 20px; }
  .mainVisual .copy_2 {
    width: 10%;
    padding-top: 140%;
    background: url(../images/copy_02.png) no-repeat;
    background-size: 100%;
    left: 0;
    top: 20px; }
  .mainVisual .infoWrap {
    width: 70%;
    top: 70%;
    left: 50%;
    transform: translate(-50%, 0); }
    .mainVisual .infoWrap .info_1 {
      width: 100%;
      padding-top: 17%;
      background: url(../images/info_01.png) no-repeat;
      background-size: 100%; }
    .mainVisual .infoWrap .info_2 {
      width: 70%;
      padding-top: 17%;
      margin: 0 0 0 15%;
      background: url(../images/info_02.png) no-repeat;
      background-size: 100%; }
    .mainVisual .infoWrap .info_3 {
      width: 50%;
      padding-top: 7%;
      margin: 0 0 0 25%;
      background: url(../images/info_03.png) no-repeat;
      background-size: 100%; }

section {
  width: 90%;
  margin: 120px auto; }

.heading {
  font-size: 1.4em;
  margin-bottom: 40px;
  font-weight: 600; }

.subHeading {
  font-size: 1.2em;
  font-weight: 600; }

.bold {
  font-weight: 600; }

.center {
  text-align: center; }

.txt + .txt {
  margin-top: 20px; }

.intro {
  letter-spacing: .3em; }
  .intro .txtWrap {
    margin: 60px auto;
    writing-mode: vertical-rl;
    white-space: nowrap; }
  .intro p {
    line-height: 2em;
    margin-right: 20px; }

.detail .heading {
  margin-top: 60px; }

.drawing .drawing__list {
  width: 96%;
  margin: 40px auto;
  column-count: 2; }
.drawing .drawing__item {
  margin-top: 20px;
  break-inside: void; }
  .drawing .drawing__item img {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 2px; }

.highlight .subHeading {
  margin-bottom: 16px; }
.highlight .box:nth-of-type(2) {
  margin-top: 30px; }

.highlight__list,
.event__list {
  border-top: 1px solid rgba(58, 145, 165, 0.6);
  margin-top: 40px; }

.highlight__item,
.event__item {
  padding: 30px 0;
  border-bottom: 1px solid rgba(58, 145, 165, 0.6); }

.message .heading,
.event .heading,
.info .heading,
.qa .heading,
.about .heading {
  text-align: center; }

.message .wrap:nth-of-type(n+2) {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(58, 145, 165, 0.6); }
.message .imgWrap {
  margin-top: 20px; }
.message .name {
  text-align: right;
  margin-top: 20px; }

.event p span {
  display: block;
  margin-top: 10px;
  font-size: .9em;
  line-height: 1.6em; }
.event .event__list {
  margin-bottom: 40px; }
.event .event__item .ttl {
  font-size: 1.2em;
  margin-bottom: 10px; }
  .event .event__item .ttl span {
    display: block;
    margin-top: 10px;
    font-size: 1.5rem;
    font-weight: normal; }
.event .event__item .date {
  margin-top: 20px; }
.event .btn {
  display: block;
  width: 80%;
  margin: 20px auto 0;
  text-align: center;
  line-height: 60px;
  border: 1px solid white;
  transition: .2s; }
.event .btn:hover {
  background-color: rgba(255, 255, 255, 0.1); }

.info .info__list {
  display: flex; }
.info .info__ttl {
  width: 20%; }
.info .info__detail span {
  font-size: .9em;
  margin-left: 4px; }
.info .access {
  margin-top: 40px; }
  .info .access .access__map {
    width: 100%; }
    .info .access .access__map iframe {
      width: 100%;
      height: 30vh; }
  .info .access .access__detail {
    margin-top: 20px; }
    .info .access .access__detail .way {
      margin-top: 20px; }

.qa .qa__list,
.eventInfo .qa__list {
  display: flex;
  flex-direction: column;
  min-width: 200px; }
.qa .qa__item,
.eventInfo .qa__item {
  display: inline-block;
  border-bottom: 1px solid rgba(58, 145, 165, 0.6); }
.qa .qa__head,
.eventInfo .qa__head {
  text-align: left;
  position: relative;
  padding: 20px 30px 20px 20px;
  cursor: pointer;
  width: 100%; }
.qa .qa__head:after,
.eventInfo .qa__head:after {
  content: "";
  border-top: 1px solid white;
  border-left: 1px solid white;
  display: block;
  width: 8px;
  height: 8px;
  transform: rotate(-135deg) translateY(8px);
  position: absolute;
  right: 20px;
  top: 50%;
  transition: transform .4s; }
.qa .qa__body,
.eventInfo .qa__body {
  position: relative;
  border: transparent;
  padding: 0 20px;
  line-height: 0;
  opacity: 0;
  transition: line-height 0.4s, padding 0.4s, opacity 0.4s; }
  .qa .qa__body a,
  .eventInfo .qa__body a {
    text-decoration: underline; }
.qa .qa__body.is-open,
.eventInfo .qa__body.is-open {
  padding: 20px;
  font-size: .9em;
  line-height: 2em;
  opacity: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.2); }
  .qa .qa__body.is-open p + p,
  .eventInfo .qa__body.is-open p + p {
    margin-top: 20px; }
.qa .qa__head.is-open::after,
.eventInfo .qa__head.is-open::after {
  transform: rotate(45deg) translateY(-4px) translateX(4px); }

.eventInfo .qa__item {
  border-bottom: none; }
.eventInfo .qa__head,
.eventInfo .qa__body,
.eventInfo .qa__body.is-open {
  padding-left: 0;
  padding-right: 0; }
.eventInfo .qa__body.is-open h4 {
  margin-bottom: 10px; }
.eventInfo .qa__body.is-open p + h4 {
  margin-top: 30px; }

.about .imgWrap {
  width: 50%;
  margin: 0 auto; }
.about .txtWrap {
  margin-top: 40px; }
  .about .txtWrap p {
    margin-top: 20px; }
  .about .txtWrap .link {
    display: block;
    text-align: right;
    padding-right: 20px;
    position: relative; }
    .about .txtWrap .link::after {
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      border-top: 1px solid white;
      border-right: 1px solid white;
      transform: translate(0, -50%) rotate(45deg);
      position: absolute;
      top: 50%;
      right: 0; }
.about .member {
  margin-top: 60px; }
  .about .member .subHeading {
    text-align: center; }
  .about .member .member__list .member__item {
    margin-top: 60px; }
    .about .member .member__list .member__item:nth-child(n+2) {
      margin-top: 80px; }
    .about .member .member__list .member__item .member__txtWrap {
      margin-top: 40px; }
    .about .member .member__list .member__item .heading__txt {
      font-size: 1.2em;
      font-weight: 600; }
    .about .member .member__list .member__item .heading__txt span {
      display: block;
      font-size: .8em; }
    .about .member .member__list .member__item .member__message {
      margin-top: 20px; }
    .about .member .member__list .member__item .member__career {
      margin-top: 30px;
      font-size: .8em;
      line-height: 2em; }
  .about .member .member__links {
    display: flex;
    margin-top: 30px; }
    .about .member .member__links .member__link a {
      display: block;
      width: 20px;
      height: 20px;
      background-image: url(../../images/ico_fb_wt.png);
      background-size: 100%;
      margin-right: 20px;
      text-indent: 100%;
      overflow: hidden; }
      .about .member .member__links .member__link a.ig {
        background-image: url(../../images/ico_ig_wt.png); }
      .about .member .member__links .member__link a.nt {
        background-image: url(../../images/ico_nt_wt.png); }
      .about .member .member__links .member__link a.web {
        background-image: url(../../images/ico_web_wt.png); }
  .about .member .projectMember__list {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px; }
  .about .member .projectMember__item {
    width: 50%;
    padding: 0 1%;
    margin-top: 20px;
    font-size: .9em; }
    .about .member .projectMember__item img {
      margin-bottom: 8px; }

.footer {
  text-align: center; }
  .footer .footer__copyright {
    font-size: 1.2rem; }

@media screen and (min-width: 769px) {
  body {
    font-size: 1.6rem;
    line-height: 2.2em; }

  .sp {
    display: none; }

  .pc {
    display: block; }

  .header .header__ttl {
    width: 120px;
    height: 120px;
    background-size: 100%;
    top: 30px;
    left: 2%; }

  .nav {
    font-size: 2rem;
    height: 80px; }
    .nav .nav__btn {
      right: 30px; }
      .nav .nav__btn .nav__btnToggle,
      .nav .nav__btn .nav__btnToggle::before,
      .nav .nav__btn .nav__btnToggle::after {
        width: 32px; }

  .mainVisual {
    height: 100vh;
    min-height: 500px;
    background-position: center 55%; }
    .mainVisual .mainTtl {
      width: 32%;
      padding-top: 23%;
      top: 23%; }
    .mainVisual .copy_1 {
      width: 5%;
      padding-top: 46%;
      right: 1%; }
    .mainVisual .copy_2 {
      width: 5%;
      padding-top: 58%;
      left: 1%; }
    .mainVisual .infoWrap {
      width: 56%;
      top: inherit;
      bottom: 4%;
      left: 50%;
      transform: translate(-50%, 0); }
      .mainVisual .infoWrap .infoWrap__inr {
        display: flex;
        flex-wrap: wrap; }
      .mainVisual .infoWrap .info_1 {
        width: 59%;
        padding-top: 10%; }
      .mainVisual .infoWrap .info_2 {
        width: 39%;
        padding-top: 9%;
        margin: 0 0 0 2%; }
      .mainVisual .infoWrap .info_3 {
        width: 30%;
        padding-top: 4%;
        margin: 0 0 0 35%; }

  section {
    max-width: 1300px;
    margin: 160px auto; }

  .heading {
    font-size: 1.9em;
    margin-bottom: 80px; }

  .subHeading {
    font-size: 1.5em; }

  .subTxt {
    font-size: .9em;
    line-height: 1.8em; }

  .intro {
    font-size: 1.2em;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center; }
    .intro .txtWrap {
      margin: 0; }
    .intro .heading {
      margin-left: 40px; }

  .detail {
    display: flex;
    flex-direction: row-reverse; }
    .detail .txtWrap {
      width: 50%;
      margin: 0 5% 0 10%; }

  .drawing .drawing__list {
    width: 90%;
    margin: 100px auto;
    column-count: 3; }
  .drawing .drawing__item {
    margin: 50px 20px; }

  .highlight {
    max-width: 920px; }
    .highlight .highlight__item {
      padding: 40px 0; }
    .highlight .subHeading {
      font-size: 1.2em; }
    .highlight .inr {
      display: flex;
      justify-content: space-between; }
      .highlight .inr .headingWrap {
        width: 46%; }
      .highlight .inr .txtWrap {
        width: 54%;
        margin-top: 0; }
      .highlight .inr .box {
        width: 48%; }
      .highlight .inr .box:nth-of-type(2) {
        margin-top: 0; }
      .highlight .inr p {
        line-height: 1.8em; }

  .message .wrap {
    display: flex;
    align-items: flex-end;
    width: 80%;
    margin: 0 auto; }
  .message .imgWrap {
    width: 35%;
    margin: 0 0 0 5%; }
  .message .txtWrap {
    width: 60%; }
  .message .wrap:nth-child(even) {
    flex-direction: row-reverse; }
    .message .wrap:nth-child(even) .imgWrap {
      margin: 0 5% 0 0; }
  .message .wrap:nth-of-type(n+2) {
    margin-top: 60px;
    padding-top: 60px; }

  .event {
    max-width: 860px; }
    .event .heading + p {
      text-align: center; }
    .event .event__item .ttl span {
      display: inline-block;
      margin-left: 20px;
      font-size: 1.6rem; }
    .event .eventInfo .qa__head:after {
      display: inline-block;
      position: relative;
      margin-left: 40px; }
    .event .btn {
      margin-top: 40px;
      width: 400px;
      font-size: 1.2em; }
    .event .desc {
      text-align: center; }

  .info .info__list {
    max-width: 400px;
    margin: 0 auto;
    font-size: 1.2em; }
  .info .access {
    display: flex;
    margin-top: 80px; }
    .info .access .access__map {
      width: 47%;
      margin-right: 3%; }
      .info .access .access__map iframe {
        height: 400px; }

  .qa {
    max-width: 860px; }

  .about .aboutWrap {
    max-width: 860px;
    margin: 80px auto;
    display: flex; }
  .about .imgWrap {
    width: 25%; }
  .about .txtWrap {
    width: 70%;
    margin: 0 0 0 5%; }
  .about .member {
    margin-top: 120px; }
    .about .member .member__list {
      width: 90%;
      display: flex;
      margin: 0 auto; }
      .about .member .member__list .member__item {
        width: 50%;
        margin: 60px 5% 0 0;
        line-height: 2em; }
        .about .member .member__list .member__item:nth-child(n+2) {
          margin-top: 60px; }
        .about .member .member__list .member__item:last-child {
          margin-right: 0; }
    .about .member .projectMember__list {
      width: 80%;
      margin: 80px auto 0; }
    .about .member .projectMember__item {
      width: calc(100%/5);
      font-size: 1em; }

  .footer .menu {
    margin-top: 40px; }
  .footer .menu__item a {
    width: 2.6rem;
    height: 2.6rem; } }

/*# sourceMappingURL=style.css.map */
