@charset "utf-8";
/* dlight */
.dm {}

/* SMARTPHONE
================================================== */
@media (width <= 768px) {
  
  .page-invest > .pin-spacer {
    display: contents !important;
  }

  .page-invest .page--hero {
    position: relative !important;
    height: auto !important;
    margin-bottom: 60px !important;
  }
  .page-invest .scroll-spacer {
    display: none;
  }
  .page--hero-txt {
  }
  .page--hero-block {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1	/	1.267;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px;
  }
  .page--hero picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .page--hero-txt span.kk-up {
    margin-top: -0.5em;
  }
  .page--hero-txt span.kk-dw {
    margin-bottom: -0.5em;
  }
  .page--hero-txt1 {
    position: relative;
    writing-mode: vertical-rl;
    text-orientation: upright;
    z-index: 5;
  }
  .page--hero-txt1 p {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.2em;
  }
  .page--hero-txt2 {
    position: relative;
    width: 81.3%;
    margin: auto;
    z-index: 5;
  }
  .page--hero-txt2 p {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  
  
  .page--main {
    padding: 0;
  }
  
  .page--header {
    width: 100%;
    height: auto;
    aspect-ratio: 1	/	1.267;
    margin-bottom: 80px;
  }
  
  .cc--txt-wrap {
    position: relative;
    margin: auto;
    z-index: 5;
  }
  .cc--title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1	/	1.191;
    background-image: url(/assets/img/invest/pc_header_bg_sp.jpg);
    background-size: cover;
    margin-bottom: 60px;
  }
  .cc--title-inner {
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: left;
  }
  .cc--title .sec--tt-ja {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-left: 30px;
    margin-bottom: 0;
    color: inherit;
  }
  .cc--title .sec--catch {
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0.2em;
  }
  .cc--title .sec--catch .kk-up {
    margin-top: -0.5em;
  }
  .cc--txt {
    width: 78%;
    margin: auto;
    text-align: left;
  }
  .cc--txt .sec--read {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    line-height: 2.2;
  }
  
  .pc--main {
    position: relative;
    padding: 0 0 100px;
    background-color: #FFF;
    z-index: 10;
  }
  .pc--main-inner {
    margin: auto;
  }
  
  .pc--header {
    text-align: center;
    margin-bottom: 50px;
  }
  .pc--header h2 {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-left: 0.2em;
  }

  /* プロセス */
  .pc--section {
    position: relative;
  }

  /* 各アイテム */
  .pc--item {
    position: relative;
    margin-bottom: 60px;
  }
  .pc--item:last-child {
    margin-bottom: 0;
  }

  /* 画像 */
  .pc--ph {
    width: 86.1%;
    margin: auto;
  }

  /* テキスト */
  .pc--txt {
    width: 81.3%;
    margin: 0 auto 60px;
  }
  .pc--tt {
    
  }
  .pc--body {
    padding-left: 3em
  }

  /* タイトル群 */
  .pc--tt {
    display: flex;
    flex-direction: column;
  }
  .pc--tt-ja {
    font-size: 1.1rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 30px;
    order: 2;
  }
  .pc--tt-en {
    font-family: var(--font-en-ci);
    font-size: 1.75rem;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
    order: 1;
  }

  /* 本文 */
  .pc--body p {
    font-size: 1.25rem;
    line-height: 2.2;
    letter-spacing: 0.05em;
    margin-bottom: 1.5em;
  }
  .pc--body p:last-of-type {
    margin-bottom: 0;
  }
  .pc--artist .pc--body p:last-of-type {
    margin-bottom: 30px;
  }
  .pc--body ul {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
  }
  .pc--body ul li {
    /*! flex: 1; */
    width: 9em;
  }
  .pc--body ul a {
    width: auto;
    height: 26px;
    white-space: nowrap;
    letter-spacing: 0;
  }
  .pc--body ul a:after {
    margin-left: 0;
  }

}


/* DESKTOP
================================================== */
@media (768px < width), print {
  
  .page--hero {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page--hero-txt {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
  }
  .page--hero-block {
    display: contents;
  }
  .page--hero picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .page--hero-txt span.kk-up {
    margin-top: -0.5em;
  }
  .page--hero-txt span.kk-dw {
    margin-bottom: -0.5em;
  }
  .page--hero-txt1,
  .page--hero-txt2 {
    position: relative;
    writing-mode: vertical-rl;
    text-orientation: upright;
    z-index: 5;
  }
  .page--hero-txt1 {
    margin-left: 160px;
  }
  .page--hero-txt2 {
    padding-top: 40px;
  }
  .page--hero-txt1 p {
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: 0.2em;
  }
  .page--hero-txt2 p {
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 2;
  }
  
  .page--main {
    padding: 200px 0 0;
  }
  
  .cc--txt-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 200px;
    width: max-content;
    margin: auto;
    z-index: 5;
  }
  .cc--title {
    position: relative;
    text-align: left;
  }
  .cc--title .sec--tt-ja {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .cc--title .sec--tt-ja span {
    padding: 0 0.8em;
  }
  .cc--title .sec--catch {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
  .cc--title .sec--catch .kk-up {
    margin-left: -0.5em;
  }
  .cc--txt {
    text-align: left;
  }
  .cc--txt .sec--read {
    line-height: 2.2;
  }
  
  .pc--main {
    position: relative;
    padding: 0 0 100px;
    background-color: #FFF;
    z-index: 10;
  }
  .pc--main-inner {
    width: 800px;
    margin: auto;
  }
  
  .pc--header {
    text-align: center;
    margin-bottom: 40px;
  }
  .pc--header h2 {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-left: 0.2em;
  }

  /* プロセス */
  .pc--section {
    position: relative;
    padding-top: 60px;
  }
  .pc--section::after {
    display: block;
    content: '';
    width: 1px;
    height: 100%;
    background-color: #DBDBDB;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1;
  }

  /* 各アイテム */
  .pc--item {
    position: relative;
    margin-bottom: 100px;
  }
  .pc--item:last-child {
    margin-bottom: 0;
  }

  /* 画像 */
  .pc--ph {
    width: 496px;
    margin: auto;
  }

  /* テキスト */
  .pc--txt {
    display: flex;
    align-items: center;
    margin-bottom: 100px;
  }
  .pc--tt,
  .pc--body {
    width: 400px;
    padding-left: 30px;
  }

  /* タイトル群 */
  .pc--tt {
    display: flex;
    flex-direction: column;
    padding-left: 150px;
  }
  .pc--tt-ja {
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 50px;
    order: 2;
  }
  .pc--tt-en {
    font-family: var(--font-en-ci);
    font-size: 2.3rem;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
    order: 1;
  }

  /* 本文 */
  .pc--body p {
    font-size: 1.4rem;
    line-height: 2.2;
    letter-spacing: 0.05em;
    margin-bottom: 1.5em;
  }
  .pc--body p:last-of-type {
    margin-bottom: 0;
  }
  .pc--artist .pc--body p:last-of-type {
    margin-bottom: 80px;
  }
  .pc--body ul {
    display: flex;
    gap: 42px;
  }

}
