@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
プロジェクトストーリー
---------------------------------------------------------------------------------------------------------------------
*/
#story-header {
  max-width: 1200px;
  margin: auto;
  width: 90%; }
  #story-header h1 {
    font-size: 1.5em;
    line-height: 1.6em;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
    text-align: justify; }
    @media (min-width: 768px) {
      #story-header h1 {
        font-size: 2.0em; } }
    @media (min-width: 1200px) {
      #story-header h1 {
        font-size: 3.0em; } }
  #story-header .data {
    margin-top: 20px; }
    @media (min-width: 768px) {
      #story-header .data {
        display: flex; } }
    @media (min-width: 1200px) {
      #story-header .data {
        margin-top: 40px; } }
    #story-header .data ul {
      display: flex;
      align-items: center;
      margin-bottom: 15px; }
      @media (min-width: 768px) {
        #story-header .data ul {
          border-right: 1px solid #C6C6C6;
          height: 30px;
          padding-right: 20px;
          margin: 0 20px 0 0; } }
      #story-header .data ul:last-child {
        margin-right: 0;
        padding-right: 0;
        border-right: none; }
      #story-header .data ul li {
        font-size: 0.80em;
        line-height: 1.0em; }
        @media (min-width: 1200px) {
          #story-header .data ul li {
            font-size: 1.0em; } }
        #story-header .data ul li:first-child {
          font-family: "Barlow Condensed", sans-serif;
          font-size: 1.0em;
          font-weight: 500;
          margin-right: 10px;
          border-bottom: 1px solid #000; }
          @media (min-width: 1200px) {
            #story-header .data ul li:first-child {
              font-size: 1.125em; } }
        #story-header .data ul li .tag span {
          margin-right: 3px; }
          #story-header .data ul li .tag span:last-child {
            margin-right: 0; }

.story-head {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 20px auto 0; }
  @media (min-width: 768px) {
    .story-head {
      width: 94%; } }
  @media (min-width: 1024px) {
    .story-head {
      margin: 60px auto 0; } }
  .story-head .movie-play {
    position: relative; }
    .story-head .movie-play a .thumbnail video {
      border-radius: 15px; }
      @media (min-width: 1024px) {
        .story-head .movie-play a .thumbnail video {
          border-radius: 30px; } }
  .story-head .thumbnail img {
    border-radius: 15px; }
    @media (min-width: 1024px) {
      .story-head .thumbnail img {
        border-radius: 30px; } }

.story-content {
  max-width: 960px;
  margin: auto;
  width: 90%;
  background-color: #fff;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 40px 0; }
  @media (min-width: 1024px) {
    .story-content {
      padding: 120px 0; } }
  .story-content .story-content-in {
    max-width: 700px;
    width: 90%;
    margin: auto; }
    .story-content .story-content-in .prologue h2 {
      font-family: "Barlow Condensed", sans-serif;
      font-size: 2em;
      font-weight: 700;
      text-align: center;
      line-height: 0.8em;
      color: #BAB9B9; }
      @media (min-width: 768px) {
        .story-content .story-content-in .prologue h2 {
          font-size: 2.5em; } }
      @media (min-width: 1200px) {
        .story-content .story-content-in .prologue h2 {
          font-size: 3.3em; } }
    .story-content .story-content-in .prologue p {
      font-size: 0.9em;
      line-height: 1.8em;
      text-align: justify;
      margin-top: 20px; }
      @media (min-width: 1024px) {
        .story-content .story-content-in .prologue p {
          font-size: 1.125em;
          margin-top: 50px; } }
    .story-content .story-content-in .profile {
      border-top: 1px solid #C6C6C6;
      border-bottom: 1px solid #C6C6C6;
      margin-top: 40px;
      padding: 0 0; }
      @media (min-width: 1200px) {
        .story-content .story-content-in .profile {
          margin-top: 100px;
          padding: 0 40px; } }
      .story-content .story-content-in .profile ul {
        padding: 30px 0; }
        @media (min-width: 768px) {
          .story-content .story-content-in .profile ul {
            padding: 60px 0; } }
        .story-content .story-content-in .profile ul li {
          display: flex;
          margin-bottom: 30px; }
          @media (min-width: 768px) {
            .story-content .story-content-in .profile ul li {
              margin-bottom: 60; } }
          .story-content .story-content-in .profile ul li:last-child {
            margin-bottom: 0; }
          .story-content .story-content-in .profile ul li .icon {
            width: 80px; }
            @media (min-width: 768px) {
              .story-content .story-content-in .profile ul li .icon {
                width: 160px; } }
            .story-content .story-content-in .profile ul li .icon img {
              border-radius: 10px; }
          .story-content .story-content-in .profile ul li .txt {
            width: calc(100% - 80px);
            margin-left: 10px;
            display: flex;
            align-items: center; }
            @media (min-width: 768px) {
              .story-content .story-content-in .profile ul li .txt {
                width: calc(100% - 160px);
                margin-left: 30px; } }
            .story-content .story-content-in .profile ul li .txt .txt-in h4 {
              font-size: 1.125em;
              font-weight: 700; }
              @media (min-width: 1200px) {
                .story-content .story-content-in .profile ul li .txt .txt-in h4 {
                  font-size: 1.25em; } }
            .story-content .story-content-in .profile ul li .txt .txt-in h5 {
              font-size: 0.9em;
              font-weight: 500;
              margin-top: 5px; }
              @media (min-width: 1200px) {
                .story-content .story-content-in .profile ul li .txt .txt-in h5 {
                  font-size: 1.0em; } }
            .story-content .story-content-in .profile ul li .txt .txt-in p {
              font-size: 0.8em;
              line-height: 1.6em;
              text-align: justify;
              margin-top: 5px; }
              @media (min-width: 1200px) {
                .story-content .story-content-in .profile ul li .txt .txt-in p {
                  font-size: 0.9em;
                  margin-top: 10px; } }
    .story-content .story-content-in .talk-area {
      margin-top: 50px; }
      .story-content .story-content-in .talk-area .talk-box {
        padding-top: 40px; }
        @media (min-width: 768px) {
          .story-content .story-content-in .talk-area .talk-box {
            padding-top: 100px; } }
        .story-content .story-content-in .talk-area .talk-box h2 {
          font-size: 1.4em;
          text-align: center;
          line-height: 1.4em;
          margin-bottom: 20px; }
          @media (min-width: 768px) {
            .story-content .story-content-in .talk-area .talk-box h2 {
              font-size: 1.75em; } }
          @media (min-width: 1200px) {
            .story-content .story-content-in .talk-area .talk-box h2 {
              font-size: 2em;
              margin-bottom: 80px; } }
        .story-content .story-content-in .talk-area .talk-box ul li {
          display: flex;
          margin-bottom: 20px; }
          @media (min-width: 1200px) {
            .story-content .story-content-in .talk-area .talk-box ul li {
              margin-bottom: 40px; } }
          .story-content .story-content-in .talk-area .talk-box ul li:last-child {
            margin-bottom: 0; }
          .story-content .story-content-in .talk-area .talk-box ul li .icon {
            width: 60px;
            display: flex; }
            @media (min-width: 768px) {
              .story-content .story-content-in .talk-area .talk-box ul li .icon {
                width: 100px; } }
            .story-content .story-content-in .talk-area .talk-box ul li .icon .icon-in {
              text-align: center; }
              .story-content .story-content-in .talk-area .talk-box ul li .icon .icon-in img {
                width: 50px;
                border-radius: 50%; }
                @media (min-width: 768px) {
                  .story-content .story-content-in .talk-area .talk-box ul li .icon .icon-in img {
                    width: 80px; } }
              .story-content .story-content-in .talk-area .talk-box ul li .icon .icon-in h4 {
                font-size: 0.9em;
                margin-top: 5px; }
                @media (min-width: 1200px) {
                  .story-content .story-content-in .talk-area .talk-box ul li .icon .icon-in h4 {
                    font-size: 1.0em; } }
          .story-content .story-content-in .talk-area .talk-box ul li .txt {
            width: calc(100% - 60px);
            border-left: 1px solid #C6C6C6;
            padding-left: 10px; }
            @media (min-width: 768px) {
              .story-content .story-content-in .talk-area .talk-box ul li .txt {
                width: calc(100% - 100px);
                padding-left: 20px; } }
            .story-content .story-content-in .talk-area .talk-box ul li .txt.first {
              display: flex;
              align-items: center; }
            .story-content .story-content-in .talk-area .talk-box ul li .txt .marker {
              background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, #D8FF00 10%, #D8FF00 95%, rgba(0, 0, 0, 0) 95%, rgba(0, 0, 0, 0) 100%); }
            .story-content .story-content-in .talk-area .talk-box ul li .txt p {
              font-size: 0.9em;
              line-height: 2em;
              text-align: justify; }
              @media (min-width: 1200px) {
                .story-content .story-content-in .talk-area .talk-box ul li .txt p {
                  font-size: 1.125em; } }
            .story-content .story-content-in .talk-area .talk-box ul li .txt ul {
              margin-top: 10px; }
              .story-content .story-content-in .talk-area .talk-box ul li .txt ul li {
                margin: 0 0 5px; }
                .story-content .story-content-in .talk-area .talk-box ul li .txt ul li:last-child {
                  margin: 0; }
        .story-content .story-content-in .talk-area .talk-box .photo img {
          border-radius: 15px; }
          @media (min-width: 1024px) {
            .story-content .story-content-in .talk-area .talk-box .photo img {
              border-radius: 30px; } }
        .story-content .story-content-in .talk-area .talk-box .photo p {
          font-size: 0.9em;
          margin-top: 5px; }
          @media (min-width: 1200px) {
            .story-content .story-content-in .talk-area .talk-box .photo p {
              font-size: 1.125em; } }
    .story-content .story-content-in .video {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      /* 対応ブラウザならこれでOK */ }
      .story-content .story-content-in .video iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0; }

.story-pager {
  max-width: 960px;
  margin: auto;
  width: 90%; }

.mokuji {
  margin-top: 60px; }
  @media (min-width: 1200px) {
    .mokuji {
      margin-top: 120px; } }
  .mokuji ul {
    background-color: #F4F2F2;
    border-radius: 10px;
    padding: 30px 20px 30px; }
    @media (min-width: 1024px) {
      .mokuji ul {
        border-radius: 20px;
        padding: 60px 60px 60px; } }
    .mokuji ul li {
      position: relative;
      border-bottom: 1px solid #C6C6C6; }
      .mokuji ul li:first-child {
        padding-bottom: 15px; }
      .mokuji ul li a {
        color: #747474; }
        .mokuji ul li a h6 {
          font-size: 0.8em;
          font-weight: normal;
          line-height: 1.3em;
          width: 100%;
          padding: 15px 30px 15px 0; }
          @media (min-width: 768px) {
            .mokuji ul li a h6 {
              padding: 20px 30px 20px 0; } }
          @media (min-width: 1024px) {
            .mokuji ul li a h6 {
              font-size: 1.0em; } }
        .mokuji ul li a::after {
          position: absolute;
          top: 50%;
          right: 10px;
          content: '';
          margin-top: -5px;
          width: 8px;
          height: 8px;
          border: 0px;
          border-top: solid 1px #8B8B8B;
          border-right: solid 1px #8B8B8B;
          -ms-transform: rotate(135deg);
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
          transition: .5s; }
        .mokuji ul li a:hover::after {
          top: 54%; }

/*
---------------------------------------------------------------------------------------------------------------------
ワークス　ブログ
---------------------------------------------------------------------------------------------------------------------
*/
#works-blog-single {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 120px; }
  @media (min-width: 1024px) {
    #works-blog-single {
      width: 94%;
      display: flex; } }
  @media (min-width: 1024px) {
    #works-blog-single .side-menu {
      width: 280px; } }
  #works-blog-single .side-menu .side-menu-in {
    position: sticky;
    top: 100px; }
    #works-blog-single .side-menu .side-menu-in .new-post {
      margin-bottom: 40px; }
      #works-blog-single .side-menu .side-menu-in .new-post h3 {
        font-size: 0.9em;
        font-weight: 700; }
        @media (min-width: 1200px) {
          #works-blog-single .side-menu .side-menu-in .new-post h3 {
            font-size: 1.125em; } }
      #works-blog-single .side-menu .side-menu-in .new-post ul {
        margin-top: 10px;
        border-top: 1px solid #747474; }
        #works-blog-single .side-menu .side-menu-in .new-post ul li {
          border-bottom: 1px solid #747474; }
          #works-blog-single .side-menu .side-menu-in .new-post ul li a {
            display: flex;
            padding: 20px 0; }
            #works-blog-single .side-menu .side-menu-in .new-post ul li a .icatch {
              width: 120px; }
              #works-blog-single .side-menu .side-menu-in .new-post ul li a .icatch img {
                border-radius: 5px; }
            #works-blog-single .side-menu .side-menu-in .new-post ul li a p {
              font-size: 0.8em;
              font-feature-settings: "palt";
              letter-spacing: 0.04em;
              line-height: 1.3em;
              width: calc(100% - 120px);
              padding-left: 15px;
              margin-top: -4px; }
              @media (min-width: 1024px) {
                #works-blog-single .side-menu .side-menu-in .new-post ul li a p {
                  font-size: 0.9em; } }
        #works-blog-single .side-menu .side-menu-in .new-post ul li.blog {
          border-bottom: 1px solid #747474; }
          #works-blog-single .side-menu .side-menu-in .new-post ul li.blog a {
            display: flex;
            padding: 20px 0; }
            #works-blog-single .side-menu .side-menu-in .new-post ul li.blog a .icatch {
              width: 80px; }
              #works-blog-single .side-menu .side-menu-in .new-post ul li.blog a .icatch img {
                border-radius: 5px; }
            #works-blog-single .side-menu .side-menu-in .new-post ul li.blog a p {
              font-size: 0.8em;
              font-feature-settings: "palt";
              letter-spacing: 0.04em;
              line-height: 1.3em;
              width: calc(100% - 80px);
              padding-left: 15px;
              margin-top: -4px; }
              @media (min-width: 1024px) {
                #works-blog-single .side-menu .side-menu-in .new-post ul li.blog a p {
                  font-size: 0.9em; } }
    #works-blog-single .side-menu .side-menu-in .select-btn {
      font-size: 0.8em;
      overflow: hidden;
      width: 100%;
      padding: 0 10px;
      position: relative;
      border: 1px solid #747474;
      border-radius: 50px;
      margin-right: 10px; }
      #works-blog-single .side-menu .side-menu-in .select-btn:last-child {
        margin-right: 0; }
      #works-blog-single .side-menu .side-menu-in .select-btn select {
        padding: 15px;
        color: #000;
        width: 100%;
        padding-right: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none; }
        #works-blog-single .side-menu .side-menu-in .select-btn select::-ms-expand {
          display: none; }
      #works-blog-single .side-menu .side-menu-in .select-btn::before {
        position: absolute;
        top: 17px;
        right: 20px;
        width: 8px;
        height: 8px;
        content: '';
        border-bottom: solid 1px #747474;
        border-right: solid 1px #747474;
        transform: rotate(45deg);
        pointer-events: none; }

.news-work-header {
  margin: 0 auto;
  max-width: 1080px;
  width: 100%; }
  .news-work-header .thumbnail img {
    border-radius: 10px; }
    @media (min-width: 1024px) {
      .news-work-header .thumbnail img {
        border-radius: 20px; } }

.title-header {
  margin-bottom: 20px; }
  @media (min-width: 1024px) {
    .title-header {
      margin-bottom: 40px; } }
  .title-header h1 {
    font-size: 1.5em;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    line-height: 1.4em; }
    @media (min-width: 1024px) {
      .title-header h1 {
        font-size: 2.0em; } }
  .title-header .data {
    margin-top: 10px; }
    @media (min-width: 1024px) {
      .title-header .data {
        display: flex;
        margin-top: 15px; } }
    .title-header .data h4 {
      font-size: 0.75em; }
      @media (min-width: 1024px) {
        .title-header .data h4 {
          font-size: 0.9em;
          margin: 0 20px 0 0; } }
    .title-header .data ul {
      margin-top: 6px; }
      @media (min-width: 1024px) {
        .title-header .data ul {
          margin: 0 0 0 10px; } }
      .title-header .data ul li {
        display: inline-block;
        font-size: 0.75em;
        margin-right: 5px; }
        @media (min-width: 1024px) {
          .title-header .data ul li {
            font-size: 0.9em; } }
        .title-header .data ul li:last-child {
          margin-right: 0; }

#single-L {
  margin: 0 auto;
  max-width: 960px;
  width: 90%; }
  #single-L .post-area .post-contents {
    background-color: #fff;
    border-radius: 10px;
    padding: 40px 0; }
    @media (min-width: 1024px) {
      #single-L .post-area .post-contents {
        border-radius: 20px;
        padding: 80px 0; } }
    #single-L .post-area .post-contents.work {
      padding: 40px 0 60px;
      margin: -20px 0 0; }
      @media (min-width: 1024px) {
        #single-L .post-area .post-contents.work {
          margin: -20px 20px 0;
          padding: 40px 0 100px; } }
    #single-L .post-area .post-contents .post-contents-in {
      max-width: 600px;
      width: 90%;
      margin: auto; }
      #single-L .post-area .post-contents .post-contents-in img {
        border-radius: 5px; }
        @media (min-width: 1024px) {
          #single-L .post-area .post-contents .post-contents-in img {
            border-radius: 15px; } }
      #single-L .post-area .post-contents .post-contents-in .works-blog-content {
        margin-top: 40px; }
        @media (min-width: 1024px) {
          #single-L .post-area .post-contents .post-contents-in .works-blog-content {
            margin-top: 80px; } }
        #single-L .post-area .post-contents .post-contents-in .works-blog-content h2 {
          font-size: 1.4em;
          padding-top: 40px;
          margin-bottom: 20px; }
          @media (min-width: 1024px) {
            #single-L .post-area .post-contents .post-contents-in .works-blog-content h2 {
              font-size: 1.8em;
              padding-top: 80px;
              margin-bottom: 40px; } }
        #single-L .post-area .post-contents .post-contents-in .works-blog-content h3 {
          font-size: 1.25em;
          font-weight: 700;
          margin-bottom: 5px; }
          @media (min-width: 1024px) {
            #single-L .post-area .post-contents .post-contents-in .works-blog-content h3 {
              font-size: 1.5em;
              margin-bottom: 10px; } }
        #single-L .post-area .post-contents .post-contents-in .works-blog-content h4 {
          font-size: 1.125em;
          margin-top: 5px; }
          @media (min-width: 1024px) {
            #single-L .post-area .post-contents .post-contents-in .works-blog-content h4 {
              font-size: 1.25em;
              margin-top: 10px; } }
        #single-L .post-area .post-contents .post-contents-in .works-blog-content p {
          font-size: 0.9em;
          line-height: 1.8em;
          text-align: justify; }
          @media (min-width: 1024px) {
            #single-L .post-area .post-contents .post-contents-in .works-blog-content p {
              font-size: 1.125em; } }
        #single-L .post-area .post-contents .post-contents-in .works-blog-content u {
          background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, #D8FF00 10%, #D8FF00 95%, rgba(0, 0, 0, 0) 95%, rgba(0, 0, 0, 0) 100%);
          text-decoration: none; }
      #single-L .post-area .post-contents .post-contents-in .prompt-box {
        padding: 16px 18px;
        border: 1px solid #e5e5e5;
        border-radius: 10px;
        background: #fafafa;
        overflow-x: auto;
        line-height: 1.7;
        white-space: pre-wrap;
        /* 折り返す */
        word-break: break-word; }
      #single-L .post-area .post-contents .post-contents-in .prompt-box code {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
        font-size: 14px; }

#news-single #single-L {
  margin-top: -20px; }
  @media (min-width: 1024px) {
    #news-single #single-L {
      margin-top: -40px; } }

/*
---------------------------------------------------------------------------------------------------------------------
共通ページ送り
---------------------------------------------------------------------------------------------------------------------
*/
#pager-post-navi {
  display: flex;
  position: relative;
  padding-top: 10px; }
  @media (min-width: 1024px) {
    #pager-post-navi {
      padding-top: 40px; } }
  #pager-post-navi a {
    transition: 0.5s; }
    #pager-post-navi a:hover {
      opacity: 0.7; }
  #pager-post-navi a.prev-post {
    width: 46%; }
    @media (min-width: 768px) {
      #pager-post-navi a.prev-post {
        display: flex; } }
  #pager-post-navi a.next-post {
    width: 46%;
    margin-left: 8%;
    position: relative; }
    @media (min-width: 768px) {
      #pager-post-navi a.next-post {
        display: flex; } }
  #pager-post-navi .fa-chevron-left {
    background-image: url("../../img/parts/arrow-slide-bl-L.svg");
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: 0 center;
    height: 24px;
    display: flex;
    align-items: center; }
  #pager-post-navi .fa-chevron-left:before {
    content: ""; }
  #pager-post-navi .fa-chevron-right {
    background-image: url("../../img/parts/arrow-slide-bl.svg");
    background-repeat: no-repeat;
    background-size: 24px;
    background-position: right center;
    height: 24px;
    display: flex;
    align-items: center;
    position: absolute;
    right: 0; }
  #pager-post-navi .fa-chevron-right:before {
    content: ""; }
  #pager-post-navi .next-post-title {
    margin: 25px 0 0 auto; }
    @media (min-width: 768px) {
      #pager-post-navi .next-post-title {
        margin: 0 70px 0 auto; } }
  #pager-post-navi .prev-post-title, #pager-post-navi .next-post-title {
    font-size: 0.8em; }
  #pager-post-navi .fa-chevron-left p {
    margin: 0 10px 0 30px;
    color: #000;
    width: 36px; }
  #pager-post-navi .fa-chevron-right p {
    margin: 0 30px 0px 0;
    color: #000; }
