@charset "UTF-8";
body {
  color: #fff;
  background-color: #000000; }

/*
---------------------------------------------------------------------------------------------------------------------
ヘッダー　メインビジュアル
---------------------------------------------------------------------------------------------------------------------
*/
#profile-header {
  position: relative;
  margin-top: 40px;
  overflow: hidden; }
  #profile-header .main-photo {
    width: 50%;
    margin: 0 0 0 auto;
    position: relative;
    right: -20px; }
    @media (min-width: 1024px) {
      #profile-header .main-photo {
        width: 40%;
        margin: auto;
        right: 0; } }
  #profile-header .back {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    z-index: -1; }
    @media (min-width: 1024px) {
      #profile-header .back ul li:first-child {
        display: none; } }
    #profile-header .back ul li:last-child {
      display: none; }
      @media (min-width: 1024px) {
        #profile-header .back ul li:last-child {
          display: block; } }
    #profile-header .back .YokoScroll {
      display: flex;
      align-items: center;
      overflow: hidden;
      position: absolute; }
      #profile-header .back .YokoScroll.ue {
        top: 25%; }
        @media (min-width: 768px) {
          #profile-header .back .YokoScroll.ue {
            top: 30%; } }
        #profile-header .back .YokoScroll.ue .slideshow figure img {
          width: auto;
          height: 40px;
          margin-right: 10px; }
          @media (min-width: 768px) {
            #profile-header .back .YokoScroll.ue .slideshow figure img {
              height: 80px; } }
          @media (min-width: 1200px) {
            #profile-header .back .YokoScroll.ue .slideshow figure img {
              height: 100px; } }
      #profile-header .back .YokoScroll.shita {
        bottom: 20%; }
        @media (min-width: 768px) {
          #profile-header .back .YokoScroll.shita {
            bottom: 22%; } }
        #profile-header .back .YokoScroll.shita #repeat-txt .loop {
          display: flex;
          align-items: center;
          color: #fff;
          width: 100%;
          white-space: nowrap;
          z-index: 1; }
          #profile-header .back .YokoScroll.shita #repeat-txt .loop ul.loop-area {
            display: flex;
            animation: loop-slide 400s infinite linear 1s both;
            list-style: none;
            margin: 0;
            padding: 0;
            font-size: 1.125em;
            font-weight: 900; }
            @media (min-width: 768px) {
              #profile-header .back .YokoScroll.shita #repeat-txt .loop ul.loop-area {
                font-size: 2.0em; } }
            @media (min-width: 1200px) {
              #profile-header .back .YokoScroll.shita #repeat-txt .loop ul.loop-area {
                font-size: 2.2em; } }
            #profile-header .back .YokoScroll.shita #repeat-txt .loop ul.loop-area li {
              display: inline-block;
              padding-right: 20px;
              line-height: 1.0em;
              opacity: 0.7; }
@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
      #profile-header .back .YokoScroll .slideshow {
        display: flex; }
        #profile-header .back .YokoScroll .slideshow.show1 {
          opacity: 0.1;
          animation: gallery-slide1 300s infinite linear 1s both; }
@keyframes gallery-slide1 {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
  #profile-header #page-title {
    text-align: center;
    position: absolute;
    top: 25%;
    left: 10%;
    display: flex;
    align-items: center; }
    @media (min-width: 768px) {
      #profile-header #page-title {
        top: 30%; } }
    @media (min-width: 1024px) {
      #profile-header #page-title {
        left: 5%; } }
    #profile-header #page-title h2 {
      font-family: "Barlow Condensed", sans-serif;
      font-size: 2.5em;
      font-weight: 700;
      line-height: 0.8em; }
      @media (min-width: 768px) {
        #profile-header #page-title h2 {
          font-size: 4em; } }
      @media (min-width: 1200px) {
        #profile-header #page-title h2 {
          font-size: 6em; } }
    #profile-header #page-title h1 {
      font-size: 0.8em;
      font-weight: 400;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      margin-top: 10px; }
      @media (min-width: 768px) {
        #profile-header #page-title h1 {
          font-size: 1.125em;
          margin-top: 20px; } }
      @media (min-width: 1200px) {
        #profile-header #page-title h1 {
          font-size: 1.25em;
          margin-top: 30px; } }

/*
---------------------------------------------------------------------------------------------------------------------
ブログ　
---------------------------------------------------------------------------------------------------------------------
*/
#blog {
  position: relative;
  max-width: 1600px;
  width: calc(100% - 30px);
  margin: 0 auto 12px; }
  @media (min-width: 1024px) {
    #blog {
      display: flex; } }
  #blog .photo {
    width: 75%; }
    #blog .photo a:hover .imgWrap > img {
      transform: scale(1.04); }
    #blog .photo a .imgWrap {
      position: relative;
      border-radius: 10px;
      overflow: hidden;
      display: block;
      z-index: 1; }
      #blog .photo a .imgWrap img {
        transition-duration: 0.8s;
        transform: scale(1);
        border-radius: 10px; }
        @media (min-width: 1024px) {
          #blog .photo a .imgWrap img {
            border-radius: 20px; } }
  #blog .txt-area {
    position: absolute;
    top: 0;
    right: 0;
    text-align: center;
    z-index: 10; }
    @media (min-width: 768px) {
      #blog .txt-area {
        width: 30%; } }
    #blog .txt-area .title {
      width: 40%;
      margin-left: 60%; }
      @media (min-width: 768px) {
        #blog .txt-area .title {
          width: 100%;
          margin: 0; } }
    #blog .txt-area .pc-txt {
      display: none; }
      @media (min-width: 768px) {
        #blog .txt-area .pc-txt {
          display: inline-block; } }
      #blog .txt-area .pc-txt a {
        width: 100%;
        text-align: center;
        display: flex;
        justify-content: center; }
        #blog .txt-area .pc-txt a:hover ul > li > svg {
          transform: scale(1.1); }
          #blog .txt-area .pc-txt a:hover ul > li > svg #en {
            fill: #00F5FF;
            stroke: none; }
          #blog .txt-area .pc-txt a:hover ul > li > svg #ya {
            fill: #000; }
        #blog .txt-area .pc-txt a ul {
          margin-top: 20px; }
          @media (min-width: 1024px) {
            #blog .txt-area .pc-txt a ul {
              margin-top: 40px; } }
          #blog .txt-area .pc-txt a ul li:first-child {
            width: 70px; }
            @media (min-width: 1024px) {
              #blog .txt-area .pc-txt a ul li:first-child {
                width: 100px; } }
          #blog .txt-area .pc-txt a ul li svg {
            width: 30px;
            margin: 10px auto 0;
            transition: .5s; }
            #blog .txt-area .pc-txt a ul li svg #en {
              fill: none;
              stroke: #fff; }
            #blog .txt-area .pc-txt a ul li svg #ya {
              fill: #fff; }
  #blog .common-btn {
    margin-top: 10px;
    display: flex;
    justify-content: end; }
    @media (min-width: 768px) {
      #blog .common-btn {
        display: none; } }

.profile-title {
  margin-bottom: 40px; }
  .profile-title.noir {
    color: #000; }
  .profile-title h2 {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 2.0em;
    font-weight: 700;
    line-height: 0.8em; }
    @media (min-width: 768px) {
      .profile-title h2 {
        font-size: 3.0em; } }
    @media (min-width: 1200px) {
      .profile-title h2 {
        font-size: 4.0em; } }
  .profile-title h4 {
    font-size: 0.8em;
    margin-top: 10px; }
    @media (min-width: 1024px) {
      .profile-title h4 {
        font-size: 0.9em; } }

/*
---------------------------------------------------------------------------------------------------------------------
山本純平について　メッセージ
---------------------------------------------------------------------------------------------------------------------
*/
#profile-about {
  margin: 60px auto 12px; }
  @media (min-width: 1024px) {
    #profile-about {
      margin: 200px auto 12px; } }

#profile-message {
  margin: 0 auto 12px; }

#profile-about, #profile-message {
  max-width: 1600px;
  width: calc(100% - 30px);
  border: 2px solid #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 40px 0; }
  @media (min-width: 1024px) {
    #profile-about, #profile-message {
      border-radius: 20px;
      padding: 100px 0; } }
  #profile-about.noir, #profile-message.noir {
    background-color: #000;
    color: #fff; }
  #profile-about.blanc, #profile-message.blanc {
    background-color: #fff;
    color: #000; }
  #profile-about .about-message-in, #profile-message .about-message-in {
    max-width: 1000px;
    margin: auto;
    width: 90%; }
    @media (min-width: 768px) {
      #profile-about .about-message-in, #profile-message .about-message-in {
        display: flex; } }
    @media (min-width: 768px) {
      #profile-about .about-message-in .profile-title, #profile-message .about-message-in .profile-title {
        width: 30%; } }
    @media (min-width: 1024px) {
      #profile-about .about-message-in .profile-title, #profile-message .about-message-in .profile-title {
        width: 35%; } }
    #profile-about .about-message-in .profile-title.right, #profile-message .about-message-in .profile-title.right {
      display: flex; }
      @media (min-width: 768px) {
        #profile-about .about-message-in .profile-title.right, #profile-message .about-message-in .profile-title.right {
          justify-content: flex-end; } }
    @media (min-width: 768px) {
      #profile-about .about-message-in .txt, #profile-message .about-message-in .txt {
        width: 70%; } }
    @media (min-width: 1024px) {
      #profile-about .about-message-in .txt, #profile-message .about-message-in .txt {
        width: 65%; } }
    #profile-about .about-message-in .txt h3, #profile-message .about-message-in .txt h3 {
      font-size: 1.25em;
      font-weight: 700;
      margin-bottom: 10px; }
      @media (min-width: 1024px) {
        #profile-about .about-message-in .txt h3, #profile-message .about-message-in .txt h3 {
          font-size: 1.5em;
          margin-bottom: 20px; } }
    #profile-about .about-message-in .txt h4, #profile-message .about-message-in .txt h4 {
      font-size: 1.125em;
      line-height: 1.4em;
      margin-bottom: 30px; }
      @media (min-width: 1024px) {
        #profile-about .about-message-in .txt h4, #profile-message .about-message-in .txt h4 {
          font-size: 1.25em;
          margin-bottom: 60px; } }
    #profile-about .about-message-in .txt p, #profile-message .about-message-in .txt p {
      font-size: 0.9em;
      line-height: 1.8em;
      text-align: justify; }
      @media (min-width: 1024px) {
        #profile-about .about-message-in .txt p, #profile-message .about-message-in .txt p {
          font-size: 1.125em; } }
    #profile-about .about-message-in .txt .kaosu, #profile-message .about-message-in .txt .kaosu {
      max-width: 200px;
      width: 90%;
      margin: 10px 0; }
      @media (min-width: 1024px) {
        #profile-about .about-message-in .txt .kaosu, #profile-message .about-message-in .txt .kaosu {
          max-width: 400px;
          margin: 20px 0 10px; } }

/*
---------------------------------------------------------------------------------------------------------------------
山本純平の主な経歴
---------------------------------------------------------------------------------------------------------------------
*/
#career {
  max-width: 1600px;
  width: calc(100% - 30px);
  margin: auto; }
  #career .career-sp {
    position: relative; }
    @media (min-width: 768px) {
      #career .career-sp {
        display: none; } }
    #career .career-sp img {
      border-radius: 10px; }
    #career .career-sp .profile-title {
      position: absolute;
      top: 10px;
      right: 10px; }
  @media (min-width: 768px) {
    #career .career-in {
      display: flex; } }
  #career .career-in .career-pc {
    display: none; }
    @media (min-width: 768px) {
      #career .career-in .career-pc {
        background-image: url("../../img/profile/career-pc.webp");
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        position: relative;
        display: block;
        width: 30%;
        height: 600px;
        border-radius: 10px; } }
    @media (min-width: 1024px) {
      #career .career-in .career-pc {
        height: 700px;
        border-radius: 20px; } }
    #career .career-in .career-pc .title {
      position: absolute;
      top: 10%;
      right: 15%;
      width: 75px; }
  #career .career-in .history {
    background-color: #fff;
    border-radius: 10px;
    height: 500px;
    overflow-y: scroll;
    margin-top: 10px; }
    @media (min-width: 768px) {
      #career .career-in .history {
        width: 70%;
        margin: 0 0 0 12px;
        height: 600px; } }
    @media (min-width: 1024px) {
      #career .career-in .history {
        height: 700px;
        border-radius: 20px; } }
    #career .career-in .history ul.history-in {
      color: #000;
      max-width: 680px;
      margin: 40px auto 0;
      width: 85%; }
      @media (min-width: 1024px) {
        #career .career-in .history ul.history-in {
          margin: 100px auto 0; } }
      #career .career-in .history ul.history-in li {
        display: flex;
        margin-bottom: 20px; }
        @media (min-width: 1024px) {
          #career .career-in .history ul.history-in li {
            margin-bottom: 40px; } }
        #career .career-in .history ul.history-in li:last-child {
          margin-bottom: 0; }
        #career .career-in .history ul.history-in li h3 {
          position: relative;
          font-family: "Barlow Condensed", sans-serif;
          font-size: 2.0em;
          line-height: 0.8em;
          margin-right: 10px;
          display: flex; }
          @media (min-width: 1024px) {
            #career .career-in .history ul.history-in li h3 {
              font-size: 3.6em;
              margin-right: 40px; } }
          #career .career-in .history ul.history-in li h3::after {
            background-color: #000;
            border-radius: 5px;
            content: "";
            flex-grow: 1;
            width: 2px;
            height: 80%;
            position: absolute;
            top: 40px;
            left: 0;
            right: 0;
            margin: auto; }
            @media (min-width: 1024px) {
              #career .career-in .history ul.history-in li h3::after {
                top: 55px; } }
        #career .career-in .history ul.history-in li ul.txt li {
          display: flex;
          margin-bottom: 20px; }
          #career .career-in .history ul.history-in li ul.txt li h4 {
            font-family: "Barlow Condensed", sans-serif;
            font-size: 1.125em;
            line-height: 1.0em;
            margin-right: 10px; }
            @media (min-width: 1024px) {
              #career .career-in .history ul.history-in li ul.txt li h4 {
                font-size: 1.6em;
                margin-right: 20px; } }
          #career .career-in .history ul.history-in li ul.txt li p {
            font-size: 0.9em;
            line-height: 1.5em; }
            @media (min-width: 1024px) {
              #career .career-in .history ul.history-in li ul.txt li p {
                font-size: 1.125em; } }

/*
---------------------------------------------------------------------------------------------------------------------
要件推理
---------------------------------------------------------------------------------------------------------------------
*/
#reasoning {
  max-width: 1400px;
  margin: 60px auto 0;
  width: 90%; }
  @media (min-width: 768px) {
    #reasoning {
      display: flex;
      margin: 100px auto 0; } }
  @media (min-width: 1200px) {
    #reasoning {
      margin: 200px auto 0; } }
  #reasoning .txt-area {
    display: flex; }
    @media (min-width: 768px) {
      #reasoning .txt-area {
        width: 70%; } }
    @media (min-width: 1200px) {
      #reasoning .txt-area {
        width: 60%; } }
    #reasoning .txt-area .txt-requirement {
      width: 20%; }
      #reasoning .txt-area .txt-requirement .txt-requirement-in {
        position: sticky;
        top: 60px; }
    #reasoning .txt-area .honbun {
      width: 80%;
      padding: 0 0 0 5%; }
      @media (min-width: 768px) {
        #reasoning .txt-area .honbun {
          padding: 0 5%; } }
      @media (min-width: 1200px) {
        #reasoning .txt-area .honbun {
          padding: 0 10%; } }
      #reasoning .txt-area .honbun h3 {
        font-size: 1.125em;
        font-weight: bold;
        line-height: 1.6em;
        margin: 0 0 20px 0; }
        @media (min-width: 1024px) {
          #reasoning .txt-area .honbun h3 {
            font-size: 1.25em; } }
        @media (min-width: 1200px) {
          #reasoning .txt-area .honbun h3 {
            font-size: 1.5em;
            margin: 0 0 40px 0; } }
      #reasoning .txt-area .honbun p {
        font-size: 0.9em;
        line-height: 1.8em;
        text-align: justify; }
        @media (min-width: 768px) {
          #reasoning .txt-area .honbun p {
            font-size: 0.95em; } }
        @media (min-width: 1200px) {
          #reasoning .txt-area .honbun p {
            font-size: 1.0em; } }
  #reasoning .graph {
    margin-top: 20px; }
    @media (min-width: 768px) {
      #reasoning .graph {
        width: 30%; } }
    @media (min-width: 1200px) {
      #reasoning .graph {
        width: 40%; } }

#case {
  max-width: 1600px;
  margin: 40px auto 0; }
  @media (min-width: 768px) {
    #case {
      display: flex;
      width: 95%;
      margin: 80px auto 0; } }
  #case .title {
    width: 200px; }
    @media (min-width: 768px) {
      #case .title {
        width: 160px; } }
    @media (min-width: 1024px) {
      #case .title {
        width: 300px; } }
  #case .reasoning-card {
    padding: 0 5%;
    position: relative;
    overflow: hidden;
    width: 100%; }
    @media (min-width: 768px) {
      #case .reasoning-card {
        padding: 0 0 0 2%;
        width: calc(100% - 160px); } }
    @media (min-width: 1024px) {
      #case .reasoning-card {
        padding: 0 0 0 5%;
        width: calc(100% - 300px); } }
    #case .reasoning-card .swiper-slide {
      width: 300px;
      margin: 0 30px 0 0; }
      @media (min-width: 768px) {
        #case .reasoning-card .swiper-slide {
          width: 450px;
          margin: 0 20px 0 0; } }
      @media (min-width: 1250px) {
        #case .reasoning-card .swiper-slide {
          width: 540px;
          margin: 0 30px 0 0; } }
      #case .reasoning-card .swiper-slide:last-child {
        margin-right: 3%; }
  #case .swiper-button-prev, #case .swiper-button-next {
    top: unset;
    bottom: 0;
    right: 5%; }
    @media (min-width: 768px) {
      #case .swiper-button-prev, #case .swiper-button-next {
        right: 0; } }
  #case .swiper-button-prev {
    right: calc(5% + 38px);
    left: inherit; }
    @media (min-width: 768px) {
      #case .swiper-button-prev {
        right: 38px; } }
    @media (min-width: 1024px) {
      #case .swiper-button-prev {
        right: 50px; } }
  @media (min-width: 768px) {
    #case .work-box {
      display: flex; } }
  #case .work-box .iCatch {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    display: block;
    z-index: 1; }
    @media (min-width: 768px) {
      #case .work-box .iCatch {
        width: 50%; } }
    #case .work-box .iCatch a img {
      width: 100%;
      height: auto;
      display: block;
      transition-duration: 0.8s;
      transform: scale(1); }
      #case .work-box .iCatch a img:hover {
        transform: scale(1.04); }
  #case .work-box .txt {
    margin-top: 10px; }
    @media (min-width: 768px) {
      #case .work-box .txt {
        width: 50%;
        padding-left: 3%;
        display: flex;
        align-items: center;
        margin-top: 0; } }
    #case .work-box .txt .txt-in {
      color: #fff; }
      #case .work-box .txt .txt-in h5 {
        font-size: 0.8em;
        margin: 0 0 5px 0; }
        @media (min-width: 768px) {
          #case .work-box .txt .txt-in h5 {
            font-size: 0.9em; } }
        @media (min-width: 1200px) {
          #case .work-box .txt .txt-in h5 {
            font-size: 1.0em; } }
      #case .work-box .txt .txt-in h3 {
        font-size: 0.9em;
        font-feature-settings: "palt";
        letter-spacing: 0.04em;
        line-height: 1.6em;
        margin: 0 0 10px 0; }
        @media (min-width: 1024px) {
          #case .work-box .txt .txt-in h3 {
            font-size: 1.0em; } }
        @media (min-width: 1200px) {
          #case .work-box .txt .txt-in h3 {
            font-size: 1.125em; } }
      #case .work-box .txt .txt-in ul li {
        margin-right: 5px; }
        #case .work-box .txt .txt-in ul li:last-child {
          margin-right: 0; }
        #case .work-box .txt .txt-in ul li a {
          font-size: 0.8em;
          color: #fff; }
          @media (min-width: 768px) {
            #case .work-box .txt .txt-in ul li a {
              font-size: 0.9em; } }
          @media (min-width: 1200px) {
            #case .work-box .txt .txt-in ul li a {
              font-size: 1.0em; } }

/*
---------------------------------------------------------------------------------------------------------------------
山本純平が詳しい業界・知識・ノウハウ
---------------------------------------------------------------------------------------------------------------------
*/
#know-how {
  max-width: 1200px;
  margin: auto;
  width: 90%;
  padding-top: 100px; }
  @media (min-width: 1200px) {
    #know-how {
      padding-top: 200px; } }
  @media (min-width: 1024px) {
    #know-how .title-know-how {
      display: flex;
      align-items: flex-end; } }
  #know-how .title-know-how h2 {
    font-size: 1.5em;
    line-height: 1.6em; }
    @media (min-width: 768px) {
      #know-how .title-know-how h2 {
        font-size: 2.0em; } }
    @media (min-width: 1024px) {
      #know-how .title-know-how h2 {
        width: 40%; } }
    @media (min-width: 1200px) {
      #know-how .title-know-how h2 {
        font-size: 3.0em; } }
  #know-how .title-know-how p {
    font-size: 0.9em;
    line-height: 1.8em;
    text-align: justify;
    margin-top: 20px; }
    @media (min-width: 1024px) {
      #know-how .title-know-how p {
        width: 60%;
        padding-left: 5%; } }
    @media (min-width: 1200px) {
      #know-how .title-know-how p {
        font-size: 1.125em; } }
  #know-how .tab-area {
    margin-top: 40px;
    /*tabの形状*/
    /*エリアの表示非表示と形状*/
    /*areaにis-activeというクラスがついた時の形状*/ }
    @media (min-width: 1024px) {
      #know-how .tab-area {
        margin-top: 60px; } }
    @media (min-width: 1200px) {
      #know-how .tab-area {
        margin-top: 100px; } }
    #know-how .tab-area ul.tab {
      display: flex;
      flex-wrap: wrap; }
      #know-how .tab-area ul.tab li {
        margin: 0 3px 3px 0; }
        #know-how .tab-area ul.tab li:nth-child(1), #know-how .tab-area ul.tab li:nth-child(2) {
          width: calc(25% - 3px); }
          @media (min-width: 768px) {
            #know-how .tab-area ul.tab li:nth-child(1), #know-how .tab-area ul.tab li:nth-child(2) {
              width: auto; } }
        #know-how .tab-area ul.tab li:nth-child(3) {
          margin: 0 0 3px 0;
          width: 50%; }
          @media (min-width: 768px) {
            #know-how .tab-area ul.tab li:nth-child(3) {
              width: auto; } }
        #know-how .tab-area ul.tab li a {
          font-family: 'Noto Sans JP', sans-serif;
          font-feature-settings: "palt";
          letter-spacing: 0.04em;
          font-size: 0.8em;
          display: block;
          border: 1px solid #fff;
          padding: 12px 10px;
          border-top-left-radius: 15px;
          border-top-right-radius: 15px;
          transition: .5s;
          color: #fff;
          text-align: center; }
          @media (min-width: 768px) {
            #know-how .tab-area ul.tab li a {
              font-size: 1.0em;
              padding: 12px 30px; } }
          #know-how .tab-area ul.tab li a:hover {
            background-color: #ddd; }
    #know-how .tab-area ul.tab li.active a {
      background-color: #fff;
      color: #000; }
    #know-how .tab-area .area {
      display: none;
      opacity: 0;
      border: 1px solid #fff;
      border-bottom-left-radius: 20px;
      border-bottom-right-radius: 20px;
      padding: 40px 0; }
      @media (min-width: 768px) {
        #know-how .tab-area .area {
          border-top-right-radius: 20px;
          padding: 60px 0; } }
      @media (min-width: 1250px) {
        #know-how .tab-area .area {
          padding: 80px 0; } }
      #know-how .tab-area .area .know-how-box {
        max-width: 600px;
        margin: auto;
        width: 90%; }
        #know-how .tab-area .area .know-how-box p {
          font-size: 0.9em;
          line-height: 1.8em;
          text-align: justify;
          border-bottom: 1px solid #747474;
          padding-bottom: 40px; }
          @media (min-width: 1024px) {
            #know-how .tab-area .area .know-how-box p {
              font-size: 1.125em; } }
        #know-how .tab-area .area .know-how-box h3 {
          font-size: 1.5em;
          font-weight: 700;
          padding-top: 60px; }
          @media (min-width: 1024px) {
            #know-how .tab-area .area .know-how-box h3 {
              font-size: 1.75em;
              padding-top: 60px; } }
        #know-how .tab-area .area .know-how-box ul {
          margin-top: 20px; }
          #know-how .tab-area .area .know-how-box ul li {
            position: relative;
            font-size: 0.8em;
            margin-bottom: 12px;
            padding-left: 15px; }
            @media (min-width: 1024px) {
              #know-how .tab-area .area .know-how-box ul li {
                font-size: 1.0em; } }
            #know-how .tab-area .area .know-how-box ul li:last-child {
              margin-bottom: 0; }
            #know-how .tab-area .area .know-how-box ul li::before {
              content: "";
              position: absolute;
              left: 0;
              top: 2px;
              bottom: 0;
              display: flex;
              margin: auto;
              width: 12px;
              height: 12px;
              background-color: #fff;
              border-radius: 50%;
              transition: .5s; }
    #know-how .tab-area .area.is-active {
      display: block;
      /*表示*/
      animation-name: displayAnime;
      /*ふわっと表示させるためのアニメーション*/
      animation-duration: 2s;
      animation-fill-mode: forwards; }
@keyframes displayAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/*
---------------------------------------------------------------------------------------------------------------------
ワクワクして心が躍った仕事
---------------------------------------------------------------------------------------------------------------------
*/
#excited {
  position: relative;
  background-color: #fff;
  margin-top: 60px; }
  @media (min-width: 1024px) {
    #excited {
      margin-top: 100px; } }
  #excited .mado {
    background-image: url("../../img/profile/mado.svg");
    background-repeat: repeat-x;
    position: absolute;
    width: 100%;
    height: 20px; }
    #excited .mado.ue {
      top: -10px;
      transform: rotate(180deg); }
      @media (min-width: 768px) {
        #excited .mado.ue {
          top: 0; } }
    #excited .mado.shita {
      bottom: -10px; }
      @media (min-width: 768px) {
        #excited .mado.shita {
          bottom: 0; } }
  #excited .excited-in {
    max-width: 1200px;
    margin: auto;
    width: 90%;
    height: 560px; }
    @media (min-width: 768px) {
      #excited .excited-in {
        display: flex; } }
    #excited .excited-in .title {
      color: #000;
      padding: 40px 0 20px; }
      @media (min-width: 768px) {
        #excited .excited-in .title {
          width: 40%;
          display: flex;
          align-items: center;
          padding: 0; } }
      #excited .excited-in .title .title-in img {
        width: 140px; }
        @media (min-width: 768px) {
          #excited .excited-in .title .title-in img {
            width: 200px; } }
      #excited .excited-in .title .title-in h2 {
        font-size: 2.0em;
        line-height: 1.6em; }
        @media (min-width: 768px) {
          #excited .excited-in .title .title-in h2 {
            font-size: 2.5em; } }
        @media (min-width: 1200px) {
          #excited .excited-in .title .title-in h2 {
            font-size: 3.2em; } }
    #excited .excited-in .txt-area {
      overflow-y: scroll;
      color: #000;
      height: 400px; }
      @media (min-width: 768px) {
        #excited .excited-in .txt-area {
          width: 60%;
          height: auto; } }
      #excited .excited-in .txt-area ul {
        padding-top: 20px; }
        @media (min-width: 1024px) {
          #excited .excited-in .txt-area ul {
            padding-top: 100px; } }
        #excited .excited-in .txt-area ul li {
          margin-bottom: 40px; }
          @media (min-width: 1024px) {
            #excited .excited-in .txt-area ul li {
              margin-bottom: 80px; } }
          #excited .excited-in .txt-area ul li:last-child {
            margin-bottom: 40px; }
          #excited .excited-in .txt-area ul li h4 {
            font-size: 1.125em;
            font-weight: 500;
            text-decoration: underline; }
            @media (min-width: 1024px) {
              #excited .excited-in .txt-area ul li h4 {
                font-size: 1.35em; } }
          #excited .excited-in .txt-area ul li h3 {
            font-size: 1.25em;
            font-weight: 700;
            margin-top: 20px; }
            @media (min-width: 1024px) {
              #excited .excited-in .txt-area ul li h3 {
                font-size: 1.75em;
                margin-top: 40px; } }
          #excited .excited-in .txt-area ul li p {
            font-size: 0.9em;
            line-height: 1.8em;
            text-align: justify;
            margin-top: 20px; }
            @media (min-width: 1024px) {
              #excited .excited-in .txt-area ul li p {
                font-size: 1.125em;
                margin-top: 40px; } }

/*
---------------------------------------------------------------------------------------------------------------------
自覚している長所　自覚している短所　
---------------------------------------------------------------------------------------------------------------------
*/
#pros-and-cons {
  padding-top: 160px;
  margin-bottom: 60px; }
  @media (min-width: 1024px) {
    #pros-and-cons {
      margin-bottom: 200px; } }
  #pros-and-cons .pros-and-cons-in {
    position: relative;
    max-width: 1000px;
    margin: 0 auto 60px;
    width: 90%; }
    @media (min-width: 1024px) {
      #pros-and-cons .pros-and-cons-in {
        display: flex;
        justify-content: center; } }
    @media (min-width: 1200px) {
      #pros-and-cons .pros-and-cons-in {
        margin: 0 auto 200px; } }
    #pros-and-cons .pros-and-cons-in:last-child {
      margin-bottom: 0; }
    #pros-and-cons .pros-and-cons-in.left .pros-and-cons-title {
      left: 10px; }
      @media (min-width: 1200px) {
        #pros-and-cons .pros-and-cons-in.left .pros-and-cons-title {
          left: 20px; } }
    #pros-and-cons .pros-and-cons-in.left .swiper-button-prev, #pros-and-cons .pros-and-cons-in.left .swiper-button-next {
      left: 0; }
    #pros-and-cons .pros-and-cons-in.left .swiper-button-next {
      left: 40px; }
      @media (min-width: 1200px) {
        #pros-and-cons .pros-and-cons-in.left .swiper-button-next {
          left: 50px; } }
    #pros-and-cons .pros-and-cons-in.right .pros-and-cons-title {
      right: -35px; }
      @media (min-width: 1200px) {
        #pros-and-cons .pros-and-cons-in.right .pros-and-cons-title {
          right: -25px; } }
    #pros-and-cons .pros-and-cons-in.right .swiper-button-prev, #pros-and-cons .pros-and-cons-in.right .swiper-button-next {
      right: 0; }
    #pros-and-cons .pros-and-cons-in.right .swiper-button-prev {
      right: 40px;
      left: inherit; }
      @media (min-width: 1200px) {
        #pros-and-cons .pros-and-cons-in.right .swiper-button-prev {
          right: 50px; } }
    @media (min-width: 1024px) {
      #pros-and-cons .pros-and-cons-in .pros-and-cons-title {
        position: absolute;
        bottom: 60px;
        width: 100px;
        margin-top: auto; } }
    #pros-and-cons .pros-and-cons-in .pros-and-cons-title .sp-title {
      display: flex;
      align-items: center;
      color: #fff;
      margin-bottom: 10px; }
      @media (min-width: 1024px) {
        #pros-and-cons .pros-and-cons-in .pros-and-cons-title .sp-title {
          display: none; } }
      #pros-and-cons .pros-and-cons-in .pros-and-cons-title .sp-title p {
        font-size: 1.125em;
        margin-right: 10px; }
        @media (min-width: 768px) {
          #pros-and-cons .pros-and-cons-in .pros-and-cons-title .sp-title p {
            font-size: 1.25em; } }
      #pros-and-cons .pros-and-cons-in .pros-and-cons-title .sp-title h2 {
        font-size: 2.0em; }
        @media (min-width: 768px) {
          #pros-and-cons .pros-and-cons-in .pros-and-cons-title .sp-title h2 {
            font-size: 3em; } }
    #pros-and-cons .pros-and-cons-in .pros-and-cons-title img {
      width: 60px;
      display: none; }
      @media (min-width: 1024px) {
        #pros-and-cons .pros-and-cons-in .pros-and-cons-title img {
          display: block; } }
  #pros-and-cons .swiper-button-prev, #pros-and-cons .swiper-button-next {
    top: unset;
    bottom: 0; }
  #pros-and-cons .pros-and-cons-card {
    padding: 0 0 50px;
    position: relative;
    overflow: hidden; }
    @media (min-width: 1024px) {
      #pros-and-cons .pros-and-cons-card {
        padding: 0 80px; } }
    @media (min-width: 1200px) {
      #pros-and-cons .pros-and-cons-card {
        padding: 0 100px; } }
    #pros-and-cons .pros-and-cons-card .swiper-slide-prev, #pros-and-cons .pros-and-cons-card .swiper-slide-next {
      opacity: 0; }
  #pros-and-cons .pros-and-cons-box {
    border: 1px solid #fff;
    padding: 30px;
    height: 500px; }
    @media (min-width: 768px) {
      #pros-and-cons .pros-and-cons-box {
        padding: 60px;
        height: 540px; } }
    @media (min-width: 1200px) {
      #pros-and-cons .pros-and-cons-box {
        padding: 80px;
        height: 580px; } }
    #pros-and-cons .pros-and-cons-box .title {
      display: flex;
      align-items: center;
      margin-bottom: 40px; }
      #pros-and-cons .pros-and-cons-box .title h4 {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.9em;
        margin-right: 20px; }
        @media (min-width: 1200px) {
          #pros-and-cons .pros-and-cons-box .title h4 {
            font-size: 1.125em; } }
      #pros-and-cons .pros-and-cons-box .title h3 {
        font-size: 1.5em;
        font-weight: bold; }
        @media (min-width: 1200px) {
          #pros-and-cons .pros-and-cons-box .title h3 {
            font-size: 1.725em; } }
    #pros-and-cons .pros-and-cons-box p {
      font-size: 0.8em;
      line-height: 1.8em;
      text-align: justify; }
      @media (min-width: 768px) {
        #pros-and-cons .pros-and-cons-box p {
          font-size: 1.0em; } }
      @media (min-width: 1200px) {
        #pros-and-cons .pros-and-cons-box p {
          font-size: 1.125em; } }

/*
---------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------
*/
.back-photo {
  max-width: 1600px;
  width: calc(100% - 30px);
  margin: 0 auto; }
  @media (min-width: 1024px) {
    .back-photo {
      margin: 0 auto 100px; } }
  .back-photo img {
    border-radius: 10px; }
    @media (min-width: 1024px) {
      .back-photo img {
        border-radius: 20px; } }

#other-slide {
  padding: 80px 0 20px; }
  @media (min-width: 768px) {
    #other-slide {
      padding: 100px 0 0; } }
  @media (min-width: 1200px) {
    #other-slide {
      padding: 120px 0 0; } }
  #other-slide.pickup {
    padding: 40px 0 20px; }
    @media (min-width: 768px) {
      #other-slide.pickup {
        padding: 100px 0 0; } }
    @media (min-width: 1200px) {
      #other-slide.pickup {
        padding: 120px 0 0; } }

.work-box a:hover .txt > h3 {
  color: #FFECB3; }
.work-box a .txt h5 {
  color: #fff; }
.work-box a .txt h3 {
  color: #fff; }

#contact {
  margin-top: 60px; }
  @media (min-width: 768px) {
    #contact {
      margin-top: 100px; } }

/*
---------------------------------------------------------------------------------------------------------------------
フッター
---------------------------------------------------------------------------------------------------------------------
*/
#footer {
  background-image: url("../../img/top/mv-sp.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 520px;
  bottom: -20px;
  margin-top: 40px; }
  @media (min-width: 768px) {
    #footer {
      background-image: url("../../img/top/mv-pc.webp");
      height: 600px; } }
  @media (min-width: 1024px) {
    #footer {
      height: 768px; } }
