@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@800&family=Quicksand&display=swap");
.br-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .br-sp {
      display: inline; } }

@media screen and (max-width: 768px) {
  .br-pc {
    display: none; } }

.br-tab {
  display: none; }
  @media screen and (max-width: 768px) {
    .br-tab {
      display: inline; } }

.none-sp {
  display: none; }
  @media screen and (min-width: 421px) {
    .none-sp {
      display: inline; } }

* {
  box-sizing: border-box; }

html {
  font-size: 16px; }

body {
  color: #333;
  font-size: 1rem;
  font-family: Hiragino Kaku Gothic ProN, Helvetica Neue, Helvetica, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', "メイリオ", Meiryo, sans-serif;
  line-height: 2;
  overflow-x: hidden; }

@media screen and (max-width: 768px) {
  .iframe-wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%; }
  .iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; } }

.wrapper {
  overflow: hidden; }

a {
  color: #4936D9; }

.p-home,
.p-mypage,
.p-post {
  background-color: #f0f0f0; }

.-current a:hover {
  opacity: 1; }

/* 1.0 - Setting
========================================================== */
/* 1.1 - Reset
  ======================================================== */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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;
  vertical-align: baseline;
  line-height: 2;
  color: #333; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

a {
  text-decoration: none; }
  a:hover {
    opacity: .7; }

img {
  vertical-align: middle;
  max-width: 100%; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100; }

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200; }

html {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif; }

@media all and (-ms-high-contrast: none) {
  html {
    font-family: Verdana, Meiryo, sans-serif; } }

@media all and (-ms-high-contrast: active) {
  html {
    font-family: Verdana, Meiryo, sans-serif; } }

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

input, textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent; }

button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent; }

input[type="radio"] {
  display: none; }

/* 3.0 - Layout
========================================================== */
.o-footer {
  font-size: 12px;
  padding: 36px 16px;
  text-align: center; }

.a-headerSiteTitle {
  text-align: center; }

.m-headerNavigation {
  margin-top: 45px; }
  @media screen and (max-width: 768px) {
    .m-headerNavigation {
      margin-top: 20px; } }

.m-headerNavigationList {
  display: flex;
  justify-content: center; }

.a-headerNavigationItem {
  margin-right: 30px; }
  @media screen and (max-width: 768px) {
    .a-headerNavigationItem {
      margin-right: 16px; } }
  .a-headerNavigationItem:last-child {
    margin-right: 0; }
  .a-headerNavigationItem a {
    font-family: 'Quicksand', sans-serif;
    font-size: 22px; }
    @media screen and (max-width: 768px) {
      .a-headerNavigationItem a {
        font-size: 10px; } }

.t-header {
  padding: 60px 0 0; }
  @media screen and (max-width: 768px) {
    .t-header {
      padding-top: 40px; } }

@media screen and (max-width: 768px) {
  .t-contents {
    overflow: hidden; } }

.p-profileKeyvisual {
  position: relative;
  margin: 26px auto 0;
  max-width: 1210px; }

.a-profileKeyvisualHeading {
  background: rgba(0, 0, 0, 0.7);
  bottom: 20px;
  color: #fff;
  font-family: 'Barlow', sans-serif;
  font-size: 60px;
  line-height: 1.2;
  padding: 0 16px;
  left: 20px;
  position: absolute;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .a-profileKeyvisualHeading {
      left: 50%;
      transform: translateX(-50%);
      font-size: 9vw; } }
  .a-profileKeyvisualHeading strong {
    font-size: 80px;
    line-height: 1.2;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .a-profileKeyvisualHeading strong {
        font-size: 12vw; } }

.p-contents {
  margin: 0 auto;
  position: relative;
  z-index: 0; }
  .p-contents.p-profileMain:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: skewY(-9deg);
    transform-origin: top right;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #f4f4f4; }

.p-contentsInner {
  margin: 142px auto 0;
  max-width: 1210px;
  padding: 0 55px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .p-contentsInner {
      margin-top: 50px;
      padding: 0 16px; } }
  @media screen and (max-width: 768px) {
    .p-contentsInner.-profileSecond {
      padding-bottom: 70px; } }
  .p-contentsInner.-works {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    margin-top: 127px; }
    @media screen and (max-width: 768px) {
      .p-contentsInner.-works {
        margin-top: 0; } }

.a-profileHeading {
  font-family: 'Barlow', sans-serif;
  font-size: 80px; }
  @media screen and (max-width: 768px) {
    .a-profileHeading {
      font-size: 13vw; } }
  .a-profileHeading.-profile {
    position: absolute;
    right: 55px;
    top: 0; }
    @media screen and (max-width: 768px) {
      .a-profileHeading.-profile {
        position: static;
        text-align: center; } }
  .a-profileHeading.-biography {
    margin-top: calc(-50px + 1.7vw); }
    @media screen and (max-width: 768px) {
      .a-profileHeading.-biography {
        margin-top: -60px;
        position: static;
        text-align: center; } }
  .a-profileHeading.-works {
    position: absolute;
    right: 55px;
    top: 188px;
    z-index: 1;
    color: #fff;
    transform: skewY(15deg); }
    @media screen and (max-width: 768px) {
      .a-profileHeading.-works {
        top: 45px;
        right: 32px;
        transform: skewY(-15deg); } }

.a-profileImageWrap {
  display: block;
  position: relative;
  width: 560px;
  z-index: 0; }
  .a-profileImageWrap img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 768px) {
    .a-profileImageWrap {
      width: calc(100% - 16px);
      margin-top: 60px; } }
  .a-profileImageWrap:after {
    background: #b5b5b5;
    content: "";
    display: block;
    width: 412px;
    height: 412px;
    top: -20px;
    left: -20px;
    position: absolute;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .a-profileImageWrap:after {
        width: 80vw;
        height: 80vw;
        top: -16px;
        left: -16px; } }
  @media screen and (max-width: 768px) {
    .a-profileImageWrap.-profile {
      margin-left: 16px; } }
  .a-profileImageWrap.-biography {
    width: 508px;
    height: 508px;
    margin-top: -8px; }
    @media screen and (max-width: 768px) {
      .a-profileImageWrap.-biography {
        margin: 75px 16px 0 0;
        width: calc(100% - 16px);
        height: auto; } }
    .a-profileImageWrap.-biography:after {
      left: auto;
      right: -20px; }
      @media screen and (max-width: 768px) {
        .a-profileImageWrap.-biography:after {
          right: -16px;
          top: -16px; } }
    .a-profileImageWrap.-biographySecond {
      margin-top: 120px; }
      @media screen and (max-width: 768px) {
        .a-profileImageWrap.-biographySecond {
          margin: 30px 0 0 16px;
          width: calc(100% - 16px); } }
      .a-profileImageWrap.-biographySecond:after {
        right: auto;
        left: -20px; }
  @media screen and (max-width: 768px) {
    .a-profileImageWrap img {
      height: calc(100vw - 48px); } }

.m-profileFirstSection {
  transform: translateY(-42px); }

.a-profileBody {
  background: rgba(255, 255, 255, 0.9);
  padding: 42px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .a-profileBody {
      margin-top: 40px;
      padding: 24px 32px; } }
  .a-profileBody p {
    margin-top: 16px; }
  .a-profileBody:before, .a-profileBody:after {
    content: "";
    display: block;
    position: absolute; }
  .a-profileBody:before {
    background: url(../images/bg-bodyStartRight.svg) 0 0 no-repeat;
    height: 75px;
    width: 75px;
    top: 0;
    right: 0; }
  .a-profileBody:after {
    background: url(../images/bg-bodyEndLeft.svg) 0 0 no-repeat;
    height: 75px;
    width: 75px;
    bottom: 0;
    left: 0; }
  .a-profileBody.-profile {
    margin: -250px 0 0 450px;
    width: 650px; }
    @media screen and (max-width: 768px) {
      .a-profileBody.-profile {
        margin: 30px 0 0;
        width: 100%; } }
  .a-profileBody.-profileSecond {
    margin: -280px 0 0 0;
    width: 580px; }
    @media screen and (max-width: 768px) {
      .a-profileBody.-profileSecond {
        margin-top: -13vw;
        width: 100%; } }
    .a-profileBody.-profileSecond:before {
      background: url(../images/bg-bodyStartleft.svg) 0 0 no-repeat;
      top: 0;
      right: auto;
      left: 0; }
    .a-profileBody.-profileSecond:after {
      background: url(../images/bg-bodyEndRight.svg) 0 0 no-repeat;
      bottom: 0;
      left: auto;
      right: 0; }
  .a-profileBody.-works {
    position: relative; }
    .a-profileBody.-works.-commercial, .a-profileBody.-works.-adviser {
      width: 510px; }
      @media screen and (max-width: 768px) {
        .a-profileBody.-works.-commercial, .a-profileBody.-works.-adviser {
          width: 100%; } }
    .a-profileBody.-works.-adviser {
      margin: 70px 80px 0 0; }
      @media screen and (max-width: 768px) {
        .a-profileBody.-works.-adviser {
          margin: 0; } }
    .a-profileBody.-works.-commercial {
      margin-top: -20px; }
      @media screen and (max-width: 768px) {
        .a-profileBody.-works.-commercial {
          margin-top: 60px; } }
    .a-profileBody.-works.-books {
      margin: 86px auto 0; }
      @media screen and (max-width: 768px) {
        .a-profileBody.-works.-books {
          margin-top: 60px;
          width: 100%; } }

.a-profilePicture {
  display: block; }
  .a-profilePicture.-fiveLakes {
    margin: -280px 0 0 106px;
    width: 238px; }
    @media screen and (max-width: 768px) {
      .a-profilePicture.-fiveLakes {
        margin: 60px auto 0; } }

.a-profileImageSkew {
  box-sizing: content-box;
  height: 505px;
  margin-top: 270px;
  overflow: hidden;
  position: relative;
  transform: skewY(15deg);
  width: 100%; }
  @media screen and (max-width: 768px) {
    .a-profileImageSkew {
      margin-top: 50px;
      height: 50vw; } }
  .a-profileImageSkew:after {
    position: absolute;
    top: -50%;
    right: 0;
    background: url(../images/bg-profile01_re.jpg) 0 0 no-repeat;
    background-size: cover;
    background-attachment: fixed;
    content: "";
    display: block;
    width: 100%;
    height: 200%;
    transform: skewY(-15deg); }
    @media screen and (max-width: 768px) {
      .a-profileImageSkew:after {
        background-image: url(../images/bg-profile01__sp.jpg);
        background-size: 100%;
        background-attachment: inherit; } }
  .a-profileImageSkew.-works {
    transform: skewY(-15deg);
    margin-top: 150px; }
    @media screen and (max-width: 768px) {
      .a-profileImageSkew.-works {
        transform: skewY(15deg) translateY(-100px); } }
    .a-profileImageSkew.-works:after {
      background-image: url(../images/bg-profile02.jpg);
      transform: skewY(15deg); }
      @media screen and (max-width: 768px) {
        .a-profileImageSkew.-works:after {
          background: url(../images/bg-profile02__sp.jpg) center top no-repeat;
          transform: skewY(-15deg);
          background-size: 100%;
          background-attachment: inherit; } }

@media screen and (max-width: 768px) {
  .p-profileBiography {
    padding-bottom: 11vw; } }

.o-biographyContents {
  display: flex;
  margin-top: -50px; }
  .o-biographyContents + .o-biographyContents {
    margin-top: 50px; }
  @media screen and (max-width: 768px) {
    .o-biographyContents.-first {
      flex-flow: column;
      flex-direction: column-reverse; } }
  @media screen and (max-width: 768px) {
    .o-biographyContents.-second {
      flex-flow: column; } }

.m-biographyBody {
  width: 510px; }
  @media screen and (max-width: 768px) {
    .m-biographyBody {
      width: 100%; } }
  .m-biographyBody.-first {
    margin-top: 50px; }
    @media screen and (max-width: 768px) {
      .m-biographyBody.-first {
        margin-top: 20px; } }
  .m-biographyBody + .a-profileImageWrap {
    margin-left: 78px; }
    @media screen and (max-width: 768px) {
      .m-biographyBody + .a-profileImageWrap {
        margin-left: 0; } }

.a-profileImageWrap + .m-biographyBody {
  margin-left: 78px; }
  @media screen and (max-width: 768px) {
    .a-profileImageWrap + .m-biographyBody {
      margin: 20px 0 0 0; } }

.m-biographyList + .m-biographyList {
  margin-top: 30px; }
  @media screen and (max-width: 768px) {
    .m-biographyList + .m-biographyList {
      margin-top: 20px; } }

.a-biographyListHeading {
  align-items: center;
  font-family: 'Barlow', sans-serif;
  display: flex;
  font-size: 40px; }
  .a-biographyListHeading:before {
    background: url(../images/ico-biography.svg) center left no-repeat;
    content: "";
    display: block;
    width: 21px;
    height: 37px;
    margin: 6px 20px 0 0; }

.a-profileSubheading {
  font-family: 'Barlow', sans-serif;
  font-size: 40px; }
  .a-profileSubheading.-works {
    position: absolute;
    top: -40px;
    left: 24px; }

.p-profileWorks {
  background-color: #f4f4f4;
  padding-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .p-profileWorks {
      margin-top: 160px; } }
  .p-profileWorks:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 400px 100vw 0 0;
    border-color: #fff transparent transparent transparent; }
    @media screen and (max-width: 768px) {
      .p-profileWorks:before {
        border: none; } }

.m-profileWorksList {
  display: table;
  margin: 0 auto; }

.a-profileContact {
  margin-top: 100px;
  text-align: center;
  width: 100%; }

.a-profileWorksYear {
  font-size: 13px;
  color: #999; }
